@instadapp/interop-x 0.0.0-dev.4c169eb → 0.0.0-dev.4f56f32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/.env.example +2 -1
  2. package/bin/interop-x +1 -1
  3. package/dist/package.json +74 -0
  4. package/dist/{abi → src/abi}/erc20.json +0 -0
  5. package/dist/{abi → src/abi}/gnosisSafe.json +0 -0
  6. package/dist/{abi → src/abi}/index.js +2 -4
  7. package/dist/src/abi/interopXContract.json +454 -0
  8. package/dist/src/alias.js +10 -0
  9. package/dist/src/api/index.js +36 -0
  10. package/dist/{config → src/config}/index.js +12 -1
  11. package/dist/{constants → src/constants}/addresses.js +3 -11
  12. package/dist/{constants → src/constants}/index.js +0 -0
  13. package/dist/{constants → src/constants}/tokens.js +31 -1
  14. package/dist/{db → src/db}/index.js +0 -0
  15. package/dist/{db → src/db}/models/index.js +0 -0
  16. package/dist/{db → src/db}/models/transaction.js +27 -9
  17. package/dist/{db → src/db}/sequelize.js +1 -1
  18. package/dist/src/gnosis/actions/index.js +9 -0
  19. package/dist/src/gnosis/actions/withdraw/index.js +55 -0
  20. package/dist/src/gnosis/index.js +20 -0
  21. package/dist/src/index.js +119 -0
  22. package/dist/{logger → src/logger}/index.js +0 -0
  23. package/dist/{net → src/net}/index.js +0 -0
  24. package/dist/{net → src/net}/peer/index.js +8 -3
  25. package/dist/{net → src/net}/pool/index.js +32 -9
  26. package/dist/{net → src/net}/protocol/dial/BaseDialProtocol.js +0 -0
  27. package/dist/{net → src/net}/protocol/dial/SignatureDialProtocol.js +21 -12
  28. package/dist/src/net/protocol/dial/TransactionStatusDialProtocol.js +30 -0
  29. package/dist/{net → src/net}/protocol/index.js +51 -1
  30. package/dist/src/tasks/AutoUpdateTask.js +70 -0
  31. package/dist/{tasks → src/tasks}/BaseTask.js +12 -4
  32. package/dist/src/tasks/InteropXContract/ProcessBridgeRequestEvents.js +152 -0
  33. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +92 -0
  34. package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +78 -0
  35. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +90 -0
  36. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +55 -0
  37. package/dist/src/tasks/index.js +38 -0
  38. package/dist/{typechain → src/typechain}/Erc20.js +0 -0
  39. package/dist/{typechain → src/typechain}/GnosisSafe.js +0 -0
  40. package/dist/{typechain/InteropBridgeToken.js → src/typechain/InteropXContract.js} +0 -0
  41. package/dist/{typechain → src/typechain}/common.js +0 -0
  42. package/dist/{typechain → src/typechain}/factories/Erc20__factory.js +0 -0
  43. package/dist/{typechain → src/typechain}/factories/GnosisSafe__factory.js +0 -0
  44. package/dist/src/typechain/factories/InteropXContract__factory.js +635 -0
  45. package/dist/src/typechain/factories/index.js +12 -0
  46. package/dist/{typechain → src/typechain}/index.js +3 -5
  47. package/dist/{types.js → src/types.js} +0 -0
  48. package/dist/src/utils/index.js +186 -0
  49. package/package.json +23 -28
  50. package/patches/@ethersproject+properties+5.6.0.patch +13 -0
  51. package/src/abi/index.ts +2 -4
  52. package/src/abi/interopXContract.json +454 -0
  53. package/src/alias.ts +6 -0
  54. package/src/api/index.ts +36 -0
  55. package/src/config/index.ts +13 -1
  56. package/src/constants/addresses.ts +3 -11
  57. package/src/constants/tokens.ts +32 -2
  58. package/src/db/models/transaction.ts +78 -25
  59. package/src/db/sequelize.ts +1 -1
  60. package/src/gnosis/actions/index.ts +5 -0
  61. package/src/gnosis/actions/withdraw/index.ts +77 -0
  62. package/src/gnosis/index.ts +19 -0
  63. package/src/index.ts +107 -7
  64. package/src/net/peer/index.ts +9 -7
  65. package/src/net/pool/index.ts +41 -11
  66. package/src/net/protocol/dial/SignatureDialProtocol.ts +23 -13
  67. package/src/net/protocol/dial/TransactionStatusDialProtocol.ts +33 -0
  68. package/src/net/protocol/index.ts +67 -1
  69. package/src/tasks/AutoUpdateTask.ts +82 -0
  70. package/src/tasks/BaseTask.ts +14 -4
  71. package/src/tasks/InteropXContract/ProcessBridgeRequestEvents.ts +216 -0
  72. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +124 -0
  73. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +115 -0
  74. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +121 -0
  75. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +67 -0
  76. package/src/tasks/index.ts +24 -5
  77. package/src/typechain/InteropXContract.ts +680 -0
  78. package/src/typechain/factories/InteropXContract__factory.ts +642 -0
  79. package/src/typechain/factories/index.ts +1 -2
  80. package/src/typechain/index.ts +2 -4
  81. package/src/utils/index.ts +146 -7
  82. package/tsconfig.json +7 -2
  83. package/dist/abi/interopBridgeToken.json +0 -286
  84. package/dist/abi/interopXGateway.json +0 -184
  85. package/dist/index.js +0 -43
  86. package/dist/tasks/InteropXGateway/SyncDepositEvents.js +0 -79
  87. package/dist/tasks/index.js +0 -27
  88. package/dist/typechain/InteropXGateway.js +0 -2
  89. package/dist/typechain/factories/InteropBridgeToken__factory.js +0 -459
  90. package/dist/typechain/factories/InteropXGateway__factory.js +0 -265
  91. package/dist/typechain/factories/index.js +0 -14
  92. package/dist/utils/index.js +0 -101
  93. package/src/abi/interopBridgeToken.json +0 -286
  94. package/src/abi/interopXGateway.json +0 -184
  95. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +0 -114
  96. package/src/typechain/InteropBridgeToken.ts +0 -686
  97. package/src/typechain/InteropXGateway.ts +0 -407
  98. package/src/typechain/factories/InteropBridgeToken__factory.ts +0 -466
  99. package/src/typechain/factories/InteropXGateway__factory.ts +0 -272
package/dist/index.js DELETED
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- require("module-alias/register");
7
- const assert_1 = __importDefault(require("assert"));
8
- const dotenv_1 = __importDefault(require("dotenv"));
9
- const ethers_1 = require("ethers");
10
- dotenv_1.default.config();
11
- const logger_1 = __importDefault(require("@/logger"));
12
- const logger = new logger_1.default('Process');
13
- (0, assert_1.default)(process.env.PRIVATE_KEY, "PRIVATE_KEY is not defined");
14
- try {
15
- new ethers_1.ethers.Wallet(process.env.PRIVATE_KEY);
16
- }
17
- catch (e) {
18
- logger.error('Invalid private key');
19
- process.exit(1);
20
- }
21
- const tasks_1 = require("@/tasks");
22
- const net_1 = require("@/net");
23
- async function main() {
24
- (0, net_1.startPeer)({});
25
- const tasks = new tasks_1.Tasks();
26
- tasks.start();
27
- }
28
- main()
29
- .then(() => {
30
- }).catch(err => {
31
- console.error(err);
32
- });
33
- process.on('SIGINT', () => {
34
- logger.debug('received SIGINT signal. exiting.');
35
- process.exit(0);
36
- });
37
- process.on('SIGTERM', () => {
38
- logger.debug('received SIGTERM signal. exiting.');
39
- process.exit(0);
40
- });
41
- process.on('unhandledRejection', (reason, p) => {
42
- logger.error('unhandled rejection: promise:', p, 'reason:', reason);
43
- });
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseTask_1 = require("../BaseTask");
7
- const logger_1 = __importDefault(require("@/logger"));
8
- const ethers_1 = require("ethers");
9
- const abi_1 = __importDefault(require("@/abi"));
10
- const db_1 = require("@/db");
11
- const utils_1 = require("@/utils");
12
- const constants_1 = require("@/constants");
13
- const config_1 = __importDefault(require("@/config"));
14
- class SyncDepositEvents extends BaseTask_1.BaseTask {
15
- constructor({ chainId }) {
16
- super({
17
- logger: new logger_1.default("InteropXGateway::SyncDepositEvents"),
18
- });
19
- this.chainId = chainId;
20
- }
21
- async pollHandler() {
22
- const currentBlock = await this.provider.getBlockNumber();
23
- const events = await this.contract.queryFilter(this.contract.filters.LogGatewayDeposit(), currentBlock - 2000, currentBlock);
24
- let processedEvents = 0;
25
- for (const event of events) {
26
- try {
27
- if (!event.args) {
28
- continue;
29
- }
30
- const { sourceChainId, targetChainId, user, vnonce, amount, token } = event.args;
31
- const uniqueIdentifier = {
32
- type: 'desposit',
33
- sourceTransactionHash: event.transactionHash,
34
- sourceChainId: sourceChainId.toNumber(),
35
- targetChainId: targetChainId.toNumber(),
36
- };
37
- if (await db_1.Transaction.findOne({ where: uniqueIdentifier })) {
38
- continue;
39
- }
40
- const tx = await event.getTransaction();
41
- await db_1.Transaction.create({
42
- transactionHash: (0, utils_1.generateInteropTransactionHash)(uniqueIdentifier),
43
- type: 'deposit',
44
- from: tx.from,
45
- to: user,
46
- sourceChainId: sourceChainId.toNumber(),
47
- sourceTransactionHash: event.transactionHash,
48
- sourceBlockNumber: event.blockNumber,
49
- sourceStatus: "uninitialised",
50
- targetChainId: targetChainId.toNumber(),
51
- targetStatus: "uninitialised",
52
- submitEvent: {
53
- user,
54
- sourceChainId: sourceChainId.toString(),
55
- targetChainId: targetChainId.toString(),
56
- token: token,
57
- ammout: amount.toString(),
58
- vnonce: vnonce.toString(),
59
- },
60
- status: "pending",
61
- });
62
- this.logger.info(`Execution queued: ${event.transactionHash} ${event.blockNumber}`);
63
- }
64
- catch (error) {
65
- this.logger.error(error);
66
- }
67
- }
68
- if (processedEvents > 0)
69
- this.logger.info(`${processedEvents} events processed`);
70
- }
71
- async start() {
72
- this.logger.info(`Starting execution watcher on interop chain`);
73
- this.contractAddress = constants_1.addresses[this.chainId].interopXGateway;
74
- this.provider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(this.chainId));
75
- this.contract = new ethers_1.ethers.Contract(this.contractAddress, abi_1.default.interopXGateway, new ethers_1.ethers.Wallet(config_1.default.privateKey, this.provider));
76
- await super.start();
77
- }
78
- }
79
- exports.default = SyncDepositEvents;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Tasks = void 0;
7
- const SyncDepositEvents_1 = __importDefault(require("./InteropXGateway/SyncDepositEvents"));
8
- class Tasks {
9
- constructor() {
10
- this.tasks = [
11
- new SyncDepositEvents_1.default({
12
- chainId: 43114
13
- })
14
- ];
15
- }
16
- async start() {
17
- for (const task of this.tasks) {
18
- try {
19
- task.start();
20
- }
21
- catch (error) {
22
- console.error(`Error starting task: ${task.constructor.name}`);
23
- }
24
- }
25
- }
26
- }
27
- exports.Tasks = Tasks;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,459 +0,0 @@
1
- "use strict";
2
- /* Autogenerated file. Do not edit manually. */
3
- /* tslint:disable */
4
- /* eslint-disable */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.InteropBridgeToken__factory = void 0;
7
- const ethers_1 = require("ethers");
8
- const _abi = [
9
- {
10
- inputs: [
11
- {
12
- internalType: "address",
13
- name: "__owner",
14
- type: "address",
15
- },
16
- ],
17
- stateMutability: "nonpayable",
18
- type: "constructor",
19
- },
20
- {
21
- anonymous: false,
22
- inputs: [
23
- {
24
- indexed: true,
25
- internalType: "address",
26
- name: "owner",
27
- type: "address",
28
- },
29
- {
30
- indexed: true,
31
- internalType: "address",
32
- name: "spender",
33
- type: "address",
34
- },
35
- {
36
- indexed: false,
37
- internalType: "uint256",
38
- name: "value",
39
- type: "uint256",
40
- },
41
- ],
42
- name: "Approval",
43
- type: "event",
44
- },
45
- {
46
- anonymous: false,
47
- inputs: [
48
- {
49
- indexed: true,
50
- internalType: "address",
51
- name: "to",
52
- type: "address",
53
- },
54
- {
55
- indexed: false,
56
- internalType: "uint256",
57
- name: "amount",
58
- type: "uint256",
59
- },
60
- {
61
- indexed: true,
62
- internalType: "uint256",
63
- name: "chainId",
64
- type: "uint256",
65
- },
66
- ],
67
- name: "Burn",
68
- type: "event",
69
- },
70
- {
71
- anonymous: false,
72
- inputs: [
73
- {
74
- indexed: true,
75
- internalType: "address",
76
- name: "to",
77
- type: "address",
78
- },
79
- {
80
- indexed: false,
81
- internalType: "uint256",
82
- name: "amount",
83
- type: "uint256",
84
- },
85
- {
86
- indexed: true,
87
- internalType: "uint256",
88
- name: "chainId",
89
- type: "uint256",
90
- },
91
- {
92
- indexed: true,
93
- internalType: "bytes32",
94
- name: "transactionHash",
95
- type: "bytes32",
96
- },
97
- ],
98
- name: "Mint",
99
- type: "event",
100
- },
101
- {
102
- anonymous: false,
103
- inputs: [
104
- {
105
- indexed: true,
106
- internalType: "address",
107
- name: "previousOwner",
108
- type: "address",
109
- },
110
- {
111
- indexed: true,
112
- internalType: "address",
113
- name: "newOwner",
114
- type: "address",
115
- },
116
- ],
117
- name: "OwnershipTransferred",
118
- type: "event",
119
- },
120
- {
121
- anonymous: false,
122
- inputs: [
123
- {
124
- indexed: true,
125
- internalType: "address",
126
- name: "from",
127
- type: "address",
128
- },
129
- {
130
- indexed: true,
131
- internalType: "address",
132
- name: "to",
133
- type: "address",
134
- },
135
- {
136
- indexed: false,
137
- internalType: "uint256",
138
- name: "value",
139
- type: "uint256",
140
- },
141
- ],
142
- name: "Transfer",
143
- type: "event",
144
- },
145
- {
146
- inputs: [
147
- {
148
- internalType: "address",
149
- name: "owner",
150
- type: "address",
151
- },
152
- {
153
- internalType: "address",
154
- name: "spender",
155
- type: "address",
156
- },
157
- ],
158
- name: "allowance",
159
- outputs: [
160
- {
161
- internalType: "uint256",
162
- name: "",
163
- type: "uint256",
164
- },
165
- ],
166
- stateMutability: "view",
167
- type: "function",
168
- },
169
- {
170
- inputs: [
171
- {
172
- internalType: "address",
173
- name: "spender",
174
- type: "address",
175
- },
176
- {
177
- internalType: "uint256",
178
- name: "amount",
179
- type: "uint256",
180
- },
181
- ],
182
- name: "approve",
183
- outputs: [
184
- {
185
- internalType: "bool",
186
- name: "",
187
- type: "bool",
188
- },
189
- ],
190
- stateMutability: "nonpayable",
191
- type: "function",
192
- },
193
- {
194
- inputs: [
195
- {
196
- internalType: "address",
197
- name: "account",
198
- type: "address",
199
- },
200
- ],
201
- name: "balanceOf",
202
- outputs: [
203
- {
204
- internalType: "uint256",
205
- name: "",
206
- type: "uint256",
207
- },
208
- ],
209
- stateMutability: "view",
210
- type: "function",
211
- },
212
- {
213
- inputs: [
214
- {
215
- internalType: "address",
216
- name: "to",
217
- type: "address",
218
- },
219
- {
220
- internalType: "uint256",
221
- name: "amount",
222
- type: "uint256",
223
- },
224
- {
225
- internalType: "uint256",
226
- name: "chainId",
227
- type: "uint256",
228
- },
229
- ],
230
- name: "burn",
231
- outputs: [],
232
- stateMutability: "nonpayable",
233
- type: "function",
234
- },
235
- {
236
- inputs: [],
237
- name: "decimals",
238
- outputs: [
239
- {
240
- internalType: "uint8",
241
- name: "",
242
- type: "uint8",
243
- },
244
- ],
245
- stateMutability: "view",
246
- type: "function",
247
- },
248
- {
249
- inputs: [
250
- {
251
- internalType: "address",
252
- name: "spender",
253
- type: "address",
254
- },
255
- {
256
- internalType: "uint256",
257
- name: "subtractedValue",
258
- type: "uint256",
259
- },
260
- ],
261
- name: "decreaseAllowance",
262
- outputs: [
263
- {
264
- internalType: "bool",
265
- name: "",
266
- type: "bool",
267
- },
268
- ],
269
- stateMutability: "nonpayable",
270
- type: "function",
271
- },
272
- {
273
- inputs: [
274
- {
275
- internalType: "address",
276
- name: "spender",
277
- type: "address",
278
- },
279
- {
280
- internalType: "uint256",
281
- name: "addedValue",
282
- type: "uint256",
283
- },
284
- ],
285
- name: "increaseAllowance",
286
- outputs: [
287
- {
288
- internalType: "bool",
289
- name: "",
290
- type: "bool",
291
- },
292
- ],
293
- stateMutability: "nonpayable",
294
- type: "function",
295
- },
296
- {
297
- inputs: [
298
- {
299
- internalType: "address",
300
- name: "to",
301
- type: "address",
302
- },
303
- {
304
- internalType: "uint256",
305
- name: "amount",
306
- type: "uint256",
307
- },
308
- {
309
- internalType: "uint256",
310
- name: "chainId",
311
- type: "uint256",
312
- },
313
- {
314
- internalType: "bytes32",
315
- name: "transactionHash",
316
- type: "bytes32",
317
- },
318
- ],
319
- name: "mint",
320
- outputs: [],
321
- stateMutability: "nonpayable",
322
- type: "function",
323
- },
324
- {
325
- inputs: [],
326
- name: "name",
327
- outputs: [
328
- {
329
- internalType: "string",
330
- name: "",
331
- type: "string",
332
- },
333
- ],
334
- stateMutability: "view",
335
- type: "function",
336
- },
337
- {
338
- inputs: [],
339
- name: "owner",
340
- outputs: [
341
- {
342
- internalType: "address",
343
- name: "",
344
- type: "address",
345
- },
346
- ],
347
- stateMutability: "view",
348
- type: "function",
349
- },
350
- {
351
- inputs: [],
352
- name: "renounceOwnership",
353
- outputs: [],
354
- stateMutability: "nonpayable",
355
- type: "function",
356
- },
357
- {
358
- inputs: [],
359
- name: "symbol",
360
- outputs: [
361
- {
362
- internalType: "string",
363
- name: "",
364
- type: "string",
365
- },
366
- ],
367
- stateMutability: "view",
368
- type: "function",
369
- },
370
- {
371
- inputs: [],
372
- name: "totalSupply",
373
- outputs: [
374
- {
375
- internalType: "uint256",
376
- name: "",
377
- type: "uint256",
378
- },
379
- ],
380
- stateMutability: "view",
381
- type: "function",
382
- },
383
- {
384
- inputs: [
385
- {
386
- internalType: "address",
387
- name: "to",
388
- type: "address",
389
- },
390
- {
391
- internalType: "uint256",
392
- name: "amount",
393
- type: "uint256",
394
- },
395
- ],
396
- name: "transfer",
397
- outputs: [
398
- {
399
- internalType: "bool",
400
- name: "",
401
- type: "bool",
402
- },
403
- ],
404
- stateMutability: "nonpayable",
405
- type: "function",
406
- },
407
- {
408
- inputs: [
409
- {
410
- internalType: "address",
411
- name: "from",
412
- type: "address",
413
- },
414
- {
415
- internalType: "address",
416
- name: "to",
417
- type: "address",
418
- },
419
- {
420
- internalType: "uint256",
421
- name: "amount",
422
- type: "uint256",
423
- },
424
- ],
425
- name: "transferFrom",
426
- outputs: [
427
- {
428
- internalType: "bool",
429
- name: "",
430
- type: "bool",
431
- },
432
- ],
433
- stateMutability: "nonpayable",
434
- type: "function",
435
- },
436
- {
437
- inputs: [
438
- {
439
- internalType: "address",
440
- name: "newOwner",
441
- type: "address",
442
- },
443
- ],
444
- name: "transferOwnership",
445
- outputs: [],
446
- stateMutability: "nonpayable",
447
- type: "function",
448
- },
449
- ];
450
- class InteropBridgeToken__factory {
451
- static createInterface() {
452
- return new ethers_1.utils.Interface(_abi);
453
- }
454
- static connect(address, signerOrProvider) {
455
- return new ethers_1.Contract(address, _abi, signerOrProvider);
456
- }
457
- }
458
- exports.InteropBridgeToken__factory = InteropBridgeToken__factory;
459
- InteropBridgeToken__factory.abi = _abi;