@instadapp/interop-x 0.0.0-dev.92afe89 → 0.0.0-dev.f78418c

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. package/bin/interop-x +1 -1
  2. package/dist/abi/erc20.json +350 -0
  3. package/dist/abi/gnosisSafe.json +747 -0
  4. package/dist/abi/index.js +15 -0
  5. package/dist/abi/interopBridgeToken.json +286 -0
  6. package/dist/abi/interopXGateway.json +184 -0
  7. package/dist/config/index.js +1 -1
  8. package/dist/constants/addresses.js +18 -3
  9. package/dist/constants/index.js +1 -0
  10. package/dist/constants/tokens.js +107 -0
  11. package/dist/db/models/index.js +1 -1
  12. package/dist/db/models/transaction.js +52 -0
  13. package/dist/index.js +14 -5
  14. package/dist/net/peer/index.js +5 -5
  15. package/dist/net/pool/index.js +2 -2
  16. package/dist/net/protocol/dial/BaseDialProtocol.js +1 -1
  17. package/dist/net/protocol/dial/SignatureDialProtocol.js +11 -13
  18. package/dist/net/protocol/index.js +3 -3
  19. package/dist/tasks/BaseTask.js +2 -2
  20. package/dist/tasks/InteropXGateway/SyncDepositEvents.js +79 -0
  21. package/dist/tasks/index.js +9 -1
  22. package/dist/typechain/Erc20.js +2 -0
  23. package/dist/typechain/GnosisSafe.js +2 -0
  24. package/dist/typechain/InteropBridgeToken.js +2 -0
  25. package/dist/typechain/InteropXGateway.js +2 -0
  26. package/dist/typechain/common.js +2 -0
  27. package/dist/typechain/factories/Erc20__factory.js +367 -0
  28. package/dist/typechain/factories/GnosisSafe__factory.js +1174 -0
  29. package/dist/typechain/factories/InteropBridgeToken__factory.js +459 -0
  30. package/dist/typechain/factories/InteropXGateway__factory.js +265 -0
  31. package/dist/typechain/factories/index.js +14 -0
  32. package/dist/typechain/index.js +35 -0
  33. package/dist/utils/index.js +14 -2
  34. package/package.json +23 -3
  35. package/src/abi/erc20.json +350 -0
  36. package/src/abi/gnosisSafe.json +747 -0
  37. package/src/abi/index.ts +11 -0
  38. package/src/abi/interopBridgeToken.json +286 -0
  39. package/src/abi/interopXGateway.json +184 -0
  40. package/src/config/index.ts +1 -1
  41. package/src/constants/addresses.ts +18 -3
  42. package/src/constants/index.ts +1 -0
  43. package/src/constants/tokens.ts +104 -0
  44. package/src/db/index.ts +1 -1
  45. package/src/db/models/index.ts +1 -1
  46. package/src/db/models/transaction.ts +92 -0
  47. package/src/index.ts +16 -5
  48. package/src/net/peer/index.ts +3 -3
  49. package/src/net/pool/index.ts +2 -2
  50. package/src/net/protocol/dial/BaseDialProtocol.ts +1 -1
  51. package/src/net/protocol/dial/SignatureDialProtocol.ts +13 -16
  52. package/src/net/protocol/index.ts +3 -3
  53. package/src/tasks/BaseTask.ts +2 -3
  54. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +114 -0
  55. package/src/tasks/index.ts +4 -1
  56. package/src/typechain/Erc20.ts +491 -0
  57. package/src/typechain/GnosisSafe.ts +1728 -0
  58. package/src/typechain/InteropBridgeToken.ts +686 -0
  59. package/src/typechain/InteropXGateway.ts +407 -0
  60. package/src/typechain/common.ts +44 -0
  61. package/src/typechain/factories/Erc20__factory.ts +368 -0
  62. package/src/typechain/factories/GnosisSafe__factory.ts +1178 -0
  63. package/src/typechain/factories/InteropBridgeToken__factory.ts +466 -0
  64. package/src/typechain/factories/InteropXGateway__factory.ts +272 -0
  65. package/src/typechain/factories/index.ts +7 -0
  66. package/src/typechain/index.ts +12 -0
  67. package/src/types.ts +2 -2
  68. package/src/utils/index.ts +15 -2
  69. package/tsconfig.json +3 -0
  70. package/dist/db/models/execution.js +0 -38
  71. package/src/db/models/execution.ts +0 -57
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InteropXGateway__factory = exports.InteropBridgeToken__factory = exports.GnosisSafe__factory = exports.Erc20__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ var Erc20__factory_1 = require("./Erc20__factory");
8
+ Object.defineProperty(exports, "Erc20__factory", { enumerable: true, get: function () { return Erc20__factory_1.Erc20__factory; } });
9
+ var GnosisSafe__factory_1 = require("./GnosisSafe__factory");
10
+ Object.defineProperty(exports, "GnosisSafe__factory", { enumerable: true, get: function () { return GnosisSafe__factory_1.GnosisSafe__factory; } });
11
+ var InteropBridgeToken__factory_1 = require("./InteropBridgeToken__factory");
12
+ Object.defineProperty(exports, "InteropBridgeToken__factory", { enumerable: true, get: function () { return InteropBridgeToken__factory_1.InteropBridgeToken__factory; } });
13
+ var InteropXGateway__factory_1 = require("./InteropXGateway__factory");
14
+ Object.defineProperty(exports, "InteropXGateway__factory", { enumerable: true, get: function () { return InteropXGateway__factory_1.InteropXGateway__factory; } });
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.InteropXGateway__factory = exports.InteropBridgeToken__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.factories = void 0;
27
+ exports.factories = __importStar(require("./factories"));
28
+ var Erc20__factory_1 = require("./factories/Erc20__factory");
29
+ Object.defineProperty(exports, "Erc20__factory", { enumerable: true, get: function () { return Erc20__factory_1.Erc20__factory; } });
30
+ var GnosisSafe__factory_1 = require("./factories/GnosisSafe__factory");
31
+ Object.defineProperty(exports, "GnosisSafe__factory", { enumerable: true, get: function () { return GnosisSafe__factory_1.GnosisSafe__factory; } });
32
+ var InteropBridgeToken__factory_1 = require("./factories/InteropBridgeToken__factory");
33
+ Object.defineProperty(exports, "InteropBridgeToken__factory", { enumerable: true, get: function () { return InteropBridgeToken__factory_1.InteropBridgeToken__factory; } });
34
+ var InteropXGateway__factory_1 = require("./factories/InteropXGateway__factory");
35
+ Object.defineProperty(exports, "InteropXGateway__factory", { enumerable: true, get: function () { return InteropXGateway__factory_1.InteropXGateway__factory; } });
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.asyncCallWithTimeout = exports.buildSignatureBytes = exports.getRpcProviderUrl = exports.signGnosisSafeTx = exports.short = exports.http = void 0;
6
+ exports.generateInteropTransactionHash = exports.asyncCallWithTimeout = exports.buildSignatureBytes = exports.getRpcProviderUrl = exports.signGnosisSafeTx = exports.short = exports.http = void 0;
7
7
  /**
8
8
  * @module util
9
9
  */
10
10
  const axios_1 = __importDefault(require("axios"));
11
11
  const axios_retry_1 = __importDefault(require("axios-retry"));
12
- const constants_1 = require("../constants");
12
+ const constants_1 = require("@/constants");
13
+ const ethers_1 = require("ethers");
13
14
  exports.http = axios_1.default.create();
14
15
  (0, axios_retry_1.default)(exports.http, { retries: 3, retryDelay: axios_retry_1.default.exponentialDelay });
15
16
  function short(buffer) {
@@ -58,6 +59,8 @@ const getRpcProviderUrl = (chainId) => {
58
59
  return 'https://rpc.instadapp.io/mainnet';
59
60
  case 137:
60
61
  return 'https://rpc.instadapp.io/polygon';
62
+ case 43114:
63
+ return 'https://rpc.instadapp.io/avalanche';
61
64
  default:
62
65
  throw new Error(`Unknown chainId: ${chainId}`);
63
66
  }
@@ -87,3 +90,12 @@ const asyncCallWithTimeout = async (asyncPromise, timeout) => {
87
90
  });
88
91
  };
89
92
  exports.asyncCallWithTimeout = asyncCallWithTimeout;
93
+ const generateInteropTransactionHash = (data) => {
94
+ return ethers_1.ethers.utils.solidityKeccak256(['string', 'string', 'string', 'string'], [
95
+ String(data.type),
96
+ String(data.sourceTransactionHash),
97
+ String(data.sourceChainId),
98
+ String(data.targetChainId),
99
+ ]);
100
+ };
101
+ exports.generateInteropTransactionHash = generateInteropTransactionHash;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instadapp/interop-x",
3
- "version": "0.0.0-dev.92afe89",
3
+ "version": "0.0.0-dev.f78418c",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -9,8 +9,9 @@
9
9
  },
10
10
  "scripts": {
11
11
  "start": "yarn build && node bin/interop-x",
12
- "build": "export GIT_REF=$(git rev-parse --short HEAD) && rimraf ./dist && tsc -p tsconfig.json && replace-in-file '@GIT_SHORT_HASH@' $GIT_REF ./dist/src/**/*.js",
13
- "dev": "NODE_ENV=development nodemon",
12
+ "build": "yarn generate-abi-types && export GIT_REF=$(git rev-parse --short HEAD) && rimraf ./dist && tsc -p tsconfig.json && replace-in-file '@GIT_SHORT_HASH@' $GIT_REF ./dist/**/*.js",
13
+ "dev": "yarn generate-abi-types && NODE_ENV=development nodemon",
14
+ "generate-abi-types": "typechain --target=ethers-v5 'src/abi/*.json' --out-dir 'src/typechain'",
14
15
  "prepublishOnly": "yarn build"
15
16
  },
16
17
  "nodemonConfig": {
@@ -30,6 +31,7 @@
30
31
  "ethereumjs-util": "^7.1.4",
31
32
  "ethers": "^5.6.4",
32
33
  "ethers-multisend": "^2.1.1",
34
+ "expand-home-dir": "^0.0.3",
33
35
  "libp2p": "^0.36.2",
34
36
  "libp2p-bootstrap": "^0.14.0",
35
37
  "libp2p-kad-dht": "^0.28.6",
@@ -40,13 +42,17 @@
40
42
  "libp2p-tcp": "^0.17.2",
41
43
  "libp2p-websockets": "^0.16.2",
42
44
  "luxon": "^2.3.2",
45
+ "module-alias": "^2.2.2",
43
46
  "sequelize": "^6.19.0",
47
+ "sqlite3": "^5.0.5",
44
48
  "waait": "^1.0.5"
45
49
  },
46
50
  "bin": {
47
51
  "interop-node": "bin/interop-x"
48
52
  },
49
53
  "devDependencies": {
54
+ "@typechain/ethers-v5": "^10.0.0",
55
+ "@types/bn.js": "^5.1.0",
50
56
  "@types/fs-extra": "^9.0.13",
51
57
  "@types/node": "^17.0.17",
52
58
  "nodemon": "^2.0.15",
@@ -54,6 +60,20 @@
54
60
  "rimraf": "^3.0.2",
55
61
  "ts-node": "^10.5.0",
56
62
  "tsconfig-paths": "^3.12.0",
63
+ "typechain": "^8.0.0",
57
64
  "typescript": "^4.5.5"
65
+ },
66
+ "_moduleAliases": {
67
+ "@/": "./dist",
68
+ "@/logger": "./dist/logger",
69
+ "@/tasks": "./dist/tasks",
70
+ "@/utils": "./dist/utils",
71
+ "@/net": "./dist/net",
72
+ "@/db": "./dist/db",
73
+ "@/config": "./dist/config",
74
+ "@/types": "./dist/types",
75
+ "@/abi": "./dist/abi",
76
+ "@/constants": "./dist/constants",
77
+ "@/typechain": "./dist/typechain"
58
78
  }
59
79
  }
@@ -0,0 +1,350 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "uint256",
6
+ "name": "_totalSupply",
7
+ "type": "uint256"
8
+ }
9
+ ],
10
+ "payable": false,
11
+ "stateMutability": "nonpayable",
12
+ "type": "constructor"
13
+ },
14
+ {
15
+ "anonymous": false,
16
+ "inputs": [
17
+ {
18
+ "indexed": true,
19
+ "internalType": "address",
20
+ "name": "owner",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "indexed": true,
25
+ "internalType": "address",
26
+ "name": "spender",
27
+ "type": "address"
28
+ },
29
+ {
30
+ "indexed": false,
31
+ "internalType": "uint256",
32
+ "name": "value",
33
+ "type": "uint256"
34
+ }
35
+ ],
36
+ "name": "Approval",
37
+ "type": "event"
38
+ },
39
+ {
40
+ "anonymous": false,
41
+ "inputs": [
42
+ {
43
+ "indexed": true,
44
+ "internalType": "address",
45
+ "name": "from",
46
+ "type": "address"
47
+ },
48
+ {
49
+ "indexed": true,
50
+ "internalType": "address",
51
+ "name": "to",
52
+ "type": "address"
53
+ },
54
+ {
55
+ "indexed": false,
56
+ "internalType": "uint256",
57
+ "name": "value",
58
+ "type": "uint256"
59
+ }
60
+ ],
61
+ "name": "Transfer",
62
+ "type": "event"
63
+ },
64
+ {
65
+ "constant": true,
66
+ "inputs": [],
67
+ "name": "DOMAIN_SEPARATOR",
68
+ "outputs": [
69
+ {
70
+ "internalType": "bytes32",
71
+ "name": "",
72
+ "type": "bytes32"
73
+ }
74
+ ],
75
+ "payable": false,
76
+ "stateMutability": "view",
77
+ "type": "function"
78
+ },
79
+ {
80
+ "constant": true,
81
+ "inputs": [],
82
+ "name": "PERMIT_TYPEHASH",
83
+ "outputs": [
84
+ {
85
+ "internalType": "bytes32",
86
+ "name": "",
87
+ "type": "bytes32"
88
+ }
89
+ ],
90
+ "payable": false,
91
+ "stateMutability": "view",
92
+ "type": "function"
93
+ },
94
+ {
95
+ "constant": true,
96
+ "inputs": [
97
+ {
98
+ "internalType": "address",
99
+ "name": "",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "internalType": "address",
104
+ "name": "",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "name": "allowance",
109
+ "outputs": [
110
+ {
111
+ "internalType": "uint256",
112
+ "name": "",
113
+ "type": "uint256"
114
+ }
115
+ ],
116
+ "payable": false,
117
+ "stateMutability": "view",
118
+ "type": "function"
119
+ },
120
+ {
121
+ "constant": false,
122
+ "inputs": [
123
+ {
124
+ "internalType": "address",
125
+ "name": "spender",
126
+ "type": "address"
127
+ },
128
+ {
129
+ "internalType": "uint256",
130
+ "name": "value",
131
+ "type": "uint256"
132
+ }
133
+ ],
134
+ "name": "approve",
135
+ "outputs": [
136
+ {
137
+ "internalType": "bool",
138
+ "name": "",
139
+ "type": "bool"
140
+ }
141
+ ],
142
+ "payable": false,
143
+ "stateMutability": "nonpayable",
144
+ "type": "function"
145
+ },
146
+ {
147
+ "constant": true,
148
+ "inputs": [
149
+ {
150
+ "internalType": "address",
151
+ "name": "",
152
+ "type": "address"
153
+ }
154
+ ],
155
+ "name": "balanceOf",
156
+ "outputs": [
157
+ {
158
+ "internalType": "uint256",
159
+ "name": "",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "payable": false,
164
+ "stateMutability": "view",
165
+ "type": "function"
166
+ },
167
+ {
168
+ "constant": true,
169
+ "inputs": [],
170
+ "name": "decimals",
171
+ "outputs": [
172
+ {
173
+ "internalType": "uint8",
174
+ "name": "",
175
+ "type": "uint8"
176
+ }
177
+ ],
178
+ "payable": false,
179
+ "stateMutability": "view",
180
+ "type": "function"
181
+ },
182
+ {
183
+ "constant": true,
184
+ "inputs": [],
185
+ "name": "name",
186
+ "outputs": [
187
+ {
188
+ "internalType": "string",
189
+ "name": "",
190
+ "type": "string"
191
+ }
192
+ ],
193
+ "payable": false,
194
+ "stateMutability": "view",
195
+ "type": "function"
196
+ },
197
+ {
198
+ "constant": true,
199
+ "inputs": [
200
+ {
201
+ "internalType": "address",
202
+ "name": "",
203
+ "type": "address"
204
+ }
205
+ ],
206
+ "name": "nonces",
207
+ "outputs": [
208
+ {
209
+ "internalType": "uint256",
210
+ "name": "",
211
+ "type": "uint256"
212
+ }
213
+ ],
214
+ "payable": false,
215
+ "stateMutability": "view",
216
+ "type": "function"
217
+ },
218
+ {
219
+ "constant": false,
220
+ "inputs": [
221
+ {
222
+ "internalType": "address",
223
+ "name": "owner",
224
+ "type": "address"
225
+ },
226
+ {
227
+ "internalType": "address",
228
+ "name": "spender",
229
+ "type": "address"
230
+ },
231
+ {
232
+ "internalType": "uint256",
233
+ "name": "value",
234
+ "type": "uint256"
235
+ },
236
+ {
237
+ "internalType": "uint256",
238
+ "name": "deadline",
239
+ "type": "uint256"
240
+ },
241
+ {
242
+ "internalType": "uint8",
243
+ "name": "v",
244
+ "type": "uint8"
245
+ },
246
+ {
247
+ "internalType": "bytes32",
248
+ "name": "r",
249
+ "type": "bytes32"
250
+ },
251
+ {
252
+ "internalType": "bytes32",
253
+ "name": "s",
254
+ "type": "bytes32"
255
+ }
256
+ ],
257
+ "name": "permit",
258
+ "outputs": [],
259
+ "payable": false,
260
+ "stateMutability": "nonpayable",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "constant": true,
265
+ "inputs": [],
266
+ "name": "symbol",
267
+ "outputs": [
268
+ {
269
+ "internalType": "string",
270
+ "name": "",
271
+ "type": "string"
272
+ }
273
+ ],
274
+ "payable": false,
275
+ "stateMutability": "view",
276
+ "type": "function"
277
+ },
278
+ {
279
+ "constant": true,
280
+ "inputs": [],
281
+ "name": "totalSupply",
282
+ "outputs": [
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "",
286
+ "type": "uint256"
287
+ }
288
+ ],
289
+ "payable": false,
290
+ "stateMutability": "view",
291
+ "type": "function"
292
+ },
293
+ {
294
+ "constant": false,
295
+ "inputs": [
296
+ {
297
+ "internalType": "address",
298
+ "name": "to",
299
+ "type": "address"
300
+ },
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "value",
304
+ "type": "uint256"
305
+ }
306
+ ],
307
+ "name": "transfer",
308
+ "outputs": [
309
+ {
310
+ "internalType": "bool",
311
+ "name": "",
312
+ "type": "bool"
313
+ }
314
+ ],
315
+ "payable": false,
316
+ "stateMutability": "nonpayable",
317
+ "type": "function"
318
+ },
319
+ {
320
+ "constant": false,
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "from",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "internalType": "address",
329
+ "name": "to",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "internalType": "uint256",
334
+ "name": "value",
335
+ "type": "uint256"
336
+ }
337
+ ],
338
+ "name": "transferFrom",
339
+ "outputs": [
340
+ {
341
+ "internalType": "bool",
342
+ "name": "",
343
+ "type": "bool"
344
+ }
345
+ ],
346
+ "payable": false,
347
+ "stateMutability": "nonpayable",
348
+ "type": "function"
349
+ }
350
+ ]