@instadapp/interop-x 0.0.0-dev.b70f25f → 0.0.0-dev.bfeca30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/dist/package.json +14 -13
  2. package/dist/src/abi/index.js +2 -4
  3. package/dist/src/abi/interopXContract.json +454 -0
  4. package/dist/src/alias.js +10 -0
  5. package/dist/src/api/index.js +3 -0
  6. package/dist/src/config/index.js +10 -1
  7. package/dist/src/constants/addresses.js +3 -3
  8. package/dist/src/constants/index.js +0 -1
  9. package/dist/src/constants/tokens.js +31 -1
  10. package/dist/src/db/models/transaction.js +27 -11
  11. package/dist/src/gnosis/actions/index.js +9 -0
  12. package/dist/src/gnosis/actions/withdraw/index.js +55 -0
  13. package/dist/src/gnosis/index.js +20 -0
  14. package/dist/src/index.js +34 -22
  15. package/dist/src/net/protocol/dial/SignatureDialProtocol.js +9 -10
  16. package/dist/src/net/protocol/dial/{SignatureDialProtocol.1.js → TransactionStatusDialProtocol.js} +2 -0
  17. package/dist/src/net/protocol/index.js +17 -7
  18. package/dist/src/tasks/AutoUpdateTask.js +34 -12
  19. package/dist/src/tasks/BaseTask.js +4 -0
  20. package/dist/src/tasks/{InteropXGateway/ProcessDepositEvents.js → InteropXContract/ProcessBridgeRequestEvents.js} +54 -51
  21. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +92 -0
  22. package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +78 -0
  23. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +90 -0
  24. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +2 -0
  25. package/dist/src/tasks/index.js +16 -19
  26. package/dist/src/typechain/{InteropBridgeToken.js → InteropXContract.js} +0 -0
  27. package/dist/src/typechain/factories/InteropXContract__factory.js +635 -0
  28. package/dist/src/typechain/factories/index.js +3 -5
  29. package/dist/src/typechain/index.js +3 -5
  30. package/dist/src/utils/index.js +37 -89
  31. package/package.json +14 -13
  32. package/src/abi/index.ts +2 -4
  33. package/src/abi/interopXContract.json +454 -0
  34. package/src/alias.ts +6 -0
  35. package/src/api/index.ts +3 -0
  36. package/src/config/index.ts +9 -1
  37. package/src/constants/addresses.ts +3 -3
  38. package/src/constants/index.ts +0 -1
  39. package/src/constants/tokens.ts +32 -2
  40. package/src/db/models/transaction.ts +76 -27
  41. package/src/gnosis/actions/index.ts +5 -0
  42. package/src/gnosis/actions/withdraw/index.ts +77 -0
  43. package/src/gnosis/index.ts +19 -0
  44. package/src/index.ts +47 -26
  45. package/src/net/protocol/dial/SignatureDialProtocol.ts +11 -13
  46. package/src/net/protocol/dial/{SignatureDialProtocol.1.ts → TransactionStatusDialProtocol.ts} +3 -1
  47. package/src/net/protocol/index.ts +17 -7
  48. package/src/tasks/AutoUpdateTask.ts +36 -15
  49. package/src/tasks/BaseTask.ts +5 -0
  50. package/src/tasks/{InteropBridge/ProcessWithdrawEvents.ts → InteropXContract/ProcessBridgeRequestEvents.ts} +79 -94
  51. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +124 -0
  52. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +115 -0
  53. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +121 -0
  54. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +2 -0
  55. package/src/tasks/index.ts +21 -20
  56. package/src/typechain/InteropXContract.ts +680 -0
  57. package/src/typechain/factories/InteropXContract__factory.ts +642 -0
  58. package/src/typechain/factories/index.ts +1 -2
  59. package/src/typechain/index.ts +2 -4
  60. package/src/utils/index.ts +75 -126
  61. package/tsconfig.json +7 -2
  62. package/dist/src/abi/interopBridgeToken.json +0 -286
  63. package/dist/src/abi/interopXGateway.json +0 -184
  64. package/dist/src/constants/itokens.js +0 -13
  65. package/dist/src/tasks/InteropBridge/ProcessWithdrawEvents.js +0 -146
  66. package/dist/src/tasks/InteropBridge/SyncWithdrawEvents.js +0 -69
  67. package/dist/src/tasks/InteropXGateway/SyncDepositEvents.js +0 -74
  68. package/dist/src/typechain/InteropXGateway.js +0 -2
  69. package/dist/src/typechain/factories/InteropBridgeToken__factory.js +0 -459
  70. package/dist/src/typechain/factories/InteropXGateway__factory.js +0 -265
  71. package/src/abi/interopBridgeToken.json +0 -286
  72. package/src/abi/interopXGateway.json +0 -184
  73. package/src/constants/itokens.ts +0 -10
  74. package/src/tasks/InteropBridge/SyncWithdrawEvents.ts +0 -119
  75. package/src/tasks/InteropXGateway/ProcessDepositEvents.ts +0 -243
  76. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +0 -124
  77. package/src/typechain/InteropBridgeToken.ts +0 -686
  78. package/src/typechain/InteropXGateway.ts +0 -407
  79. package/src/typechain/factories/InteropBridgeToken__factory.ts +0 -466
  80. package/src/typechain/factories/InteropXGateway__factory.ts +0 -272
@@ -1,286 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- { "internalType": "address", "name": "__owner", "type": "address" }
5
- ],
6
- "stateMutability": "nonpayable",
7
- "type": "constructor"
8
- },
9
- {
10
- "anonymous": false,
11
- "inputs": [
12
- {
13
- "indexed": true,
14
- "internalType": "address",
15
- "name": "owner",
16
- "type": "address"
17
- },
18
- {
19
- "indexed": true,
20
- "internalType": "address",
21
- "name": "spender",
22
- "type": "address"
23
- },
24
- {
25
- "indexed": false,
26
- "internalType": "uint256",
27
- "name": "value",
28
- "type": "uint256"
29
- }
30
- ],
31
- "name": "Approval",
32
- "type": "event"
33
- },
34
- {
35
- "anonymous": false,
36
- "inputs": [
37
- {
38
- "indexed": true,
39
- "internalType": "address",
40
- "name": "to",
41
- "type": "address"
42
- },
43
- {
44
- "indexed": false,
45
- "internalType": "uint256",
46
- "name": "amount",
47
- "type": "uint256"
48
- },
49
- {
50
- "indexed": true,
51
- "internalType": "uint256",
52
- "name": "chainId",
53
- "type": "uint256"
54
- }
55
- ],
56
- "name": "Burn",
57
- "type": "event"
58
- },
59
- {
60
- "anonymous": false,
61
- "inputs": [
62
- {
63
- "indexed": true,
64
- "internalType": "address",
65
- "name": "to",
66
- "type": "address"
67
- },
68
- {
69
- "indexed": false,
70
- "internalType": "uint256",
71
- "name": "amount",
72
- "type": "uint256"
73
- },
74
- {
75
- "indexed": true,
76
- "internalType": "uint256",
77
- "name": "chainId",
78
- "type": "uint256"
79
- },
80
- {
81
- "indexed": true,
82
- "internalType": "bytes32",
83
- "name": "transactionHash",
84
- "type": "bytes32"
85
- }
86
- ],
87
- "name": "Mint",
88
- "type": "event"
89
- },
90
- {
91
- "anonymous": false,
92
- "inputs": [
93
- {
94
- "indexed": true,
95
- "internalType": "address",
96
- "name": "previousOwner",
97
- "type": "address"
98
- },
99
- {
100
- "indexed": true,
101
- "internalType": "address",
102
- "name": "newOwner",
103
- "type": "address"
104
- }
105
- ],
106
- "name": "OwnershipTransferred",
107
- "type": "event"
108
- },
109
- {
110
- "anonymous": false,
111
- "inputs": [
112
- {
113
- "indexed": true,
114
- "internalType": "address",
115
- "name": "from",
116
- "type": "address"
117
- },
118
- {
119
- "indexed": true,
120
- "internalType": "address",
121
- "name": "to",
122
- "type": "address"
123
- },
124
- {
125
- "indexed": false,
126
- "internalType": "uint256",
127
- "name": "value",
128
- "type": "uint256"
129
- }
130
- ],
131
- "name": "Transfer",
132
- "type": "event"
133
- },
134
- {
135
- "inputs": [
136
- { "internalType": "address", "name": "owner", "type": "address" },
137
- { "internalType": "address", "name": "spender", "type": "address" }
138
- ],
139
- "name": "allowance",
140
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
141
- "stateMutability": "view",
142
- "type": "function"
143
- },
144
- {
145
- "inputs": [
146
- { "internalType": "address", "name": "spender", "type": "address" },
147
- { "internalType": "uint256", "name": "amount", "type": "uint256" }
148
- ],
149
- "name": "approve",
150
- "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
151
- "stateMutability": "nonpayable",
152
- "type": "function"
153
- },
154
- {
155
- "inputs": [
156
- { "internalType": "address", "name": "account", "type": "address" }
157
- ],
158
- "name": "balanceOf",
159
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
160
- "stateMutability": "view",
161
- "type": "function"
162
- },
163
- {
164
- "inputs": [
165
- { "internalType": "address", "name": "to", "type": "address" },
166
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
167
- { "internalType": "uint256", "name": "chainId", "type": "uint256" }
168
- ],
169
- "name": "burn",
170
- "outputs": [],
171
- "stateMutability": "nonpayable",
172
- "type": "function"
173
- },
174
- {
175
- "inputs": [],
176
- "name": "decimals",
177
- "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],
178
- "stateMutability": "view",
179
- "type": "function"
180
- },
181
- {
182
- "inputs": [
183
- { "internalType": "address", "name": "spender", "type": "address" },
184
- {
185
- "internalType": "uint256",
186
- "name": "subtractedValue",
187
- "type": "uint256"
188
- }
189
- ],
190
- "name": "decreaseAllowance",
191
- "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
192
- "stateMutability": "nonpayable",
193
- "type": "function"
194
- },
195
- {
196
- "inputs": [
197
- { "internalType": "address", "name": "spender", "type": "address" },
198
- { "internalType": "uint256", "name": "addedValue", "type": "uint256" }
199
- ],
200
- "name": "increaseAllowance",
201
- "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
202
- "stateMutability": "nonpayable",
203
- "type": "function"
204
- },
205
- {
206
- "inputs": [
207
- { "internalType": "address", "name": "to", "type": "address" },
208
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
209
- { "internalType": "uint256", "name": "chainId", "type": "uint256" },
210
- {
211
- "internalType": "bytes32",
212
- "name": "transactionHash",
213
- "type": "bytes32"
214
- }
215
- ],
216
- "name": "mint",
217
- "outputs": [],
218
- "stateMutability": "nonpayable",
219
- "type": "function"
220
- },
221
- {
222
- "inputs": [],
223
- "name": "name",
224
- "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
225
- "stateMutability": "view",
226
- "type": "function"
227
- },
228
- {
229
- "inputs": [],
230
- "name": "owner",
231
- "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
232
- "stateMutability": "view",
233
- "type": "function"
234
- },
235
- {
236
- "inputs": [],
237
- "name": "renounceOwnership",
238
- "outputs": [],
239
- "stateMutability": "nonpayable",
240
- "type": "function"
241
- },
242
- {
243
- "inputs": [],
244
- "name": "symbol",
245
- "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
246
- "stateMutability": "view",
247
- "type": "function"
248
- },
249
- {
250
- "inputs": [],
251
- "name": "totalSupply",
252
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
253
- "stateMutability": "view",
254
- "type": "function"
255
- },
256
- {
257
- "inputs": [
258
- { "internalType": "address", "name": "to", "type": "address" },
259
- { "internalType": "uint256", "name": "amount", "type": "uint256" }
260
- ],
261
- "name": "transfer",
262
- "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
263
- "stateMutability": "nonpayable",
264
- "type": "function"
265
- },
266
- {
267
- "inputs": [
268
- { "internalType": "address", "name": "from", "type": "address" },
269
- { "internalType": "address", "name": "to", "type": "address" },
270
- { "internalType": "uint256", "name": "amount", "type": "uint256" }
271
- ],
272
- "name": "transferFrom",
273
- "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
274
- "stateMutability": "nonpayable",
275
- "type": "function"
276
- },
277
- {
278
- "inputs": [
279
- { "internalType": "address", "name": "newOwner", "type": "address" }
280
- ],
281
- "name": "transferOwnership",
282
- "outputs": [],
283
- "stateMutability": "nonpayable",
284
- "type": "function"
285
- }
286
- ]
@@ -1,184 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- { "internalType": "address", "name": "__owner", "type": "address" }
5
- ],
6
- "stateMutability": "nonpayable",
7
- "type": "constructor"
8
- },
9
- {
10
- "anonymous": false,
11
- "inputs": [
12
- {
13
- "indexed": false,
14
- "internalType": "address",
15
- "name": "user",
16
- "type": "address"
17
- },
18
- {
19
- "indexed": true,
20
- "internalType": "address",
21
- "name": "token",
22
- "type": "address"
23
- },
24
- {
25
- "indexed": false,
26
- "internalType": "uint256",
27
- "name": "amount",
28
- "type": "uint256"
29
- },
30
- {
31
- "indexed": true,
32
- "internalType": "uint256",
33
- "name": "vnonce",
34
- "type": "uint256"
35
- },
36
- {
37
- "indexed": false,
38
- "internalType": "uint256",
39
- "name": "sourceChainId",
40
- "type": "uint256"
41
- },
42
- {
43
- "indexed": true,
44
- "internalType": "uint256",
45
- "name": "targetChainId",
46
- "type": "uint256"
47
- }
48
- ],
49
- "name": "LogGatewayDeposit",
50
- "type": "event"
51
- },
52
- {
53
- "anonymous": false,
54
- "inputs": [
55
- {
56
- "indexed": false,
57
- "internalType": "address",
58
- "name": "user",
59
- "type": "address"
60
- },
61
- {
62
- "indexed": true,
63
- "internalType": "address",
64
- "name": "token",
65
- "type": "address"
66
- },
67
- {
68
- "indexed": false,
69
- "internalType": "uint256",
70
- "name": "amount",
71
- "type": "uint256"
72
- },
73
- {
74
- "indexed": true,
75
- "internalType": "uint256",
76
- "name": "sourceChainId",
77
- "type": "uint256"
78
- },
79
- {
80
- "indexed": false,
81
- "internalType": "uint256",
82
- "name": "targetChainId",
83
- "type": "uint256"
84
- },
85
- {
86
- "indexed": true,
87
- "internalType": "bytes32",
88
- "name": "transactionHash",
89
- "type": "bytes32"
90
- }
91
- ],
92
- "name": "LogGatewayWithdraw",
93
- "type": "event"
94
- },
95
- {
96
- "anonymous": false,
97
- "inputs": [
98
- {
99
- "indexed": true,
100
- "internalType": "address",
101
- "name": "previousOwner",
102
- "type": "address"
103
- },
104
- {
105
- "indexed": true,
106
- "internalType": "address",
107
- "name": "newOwner",
108
- "type": "address"
109
- }
110
- ],
111
- "name": "OwnershipTransferred",
112
- "type": "event"
113
- },
114
- {
115
- "inputs": [],
116
- "name": "_vnonce",
117
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
118
- "stateMutability": "view",
119
- "type": "function"
120
- },
121
- {
122
- "inputs": [
123
- { "internalType": "address", "name": "token_", "type": "address" },
124
- { "internalType": "uint256", "name": "amount_", "type": "uint256" },
125
- { "internalType": "uint256", "name": "chainId_", "type": "uint256" }
126
- ],
127
- "name": "deposit",
128
- "outputs": [],
129
- "stateMutability": "nonpayable",
130
- "type": "function"
131
- },
132
- {
133
- "inputs": [
134
- { "internalType": "address", "name": "to_", "type": "address" },
135
- { "internalType": "address", "name": "token_", "type": "address" },
136
- { "internalType": "uint256", "name": "amount_", "type": "uint256" },
137
- { "internalType": "uint256", "name": "chainId_", "type": "uint256" }
138
- ],
139
- "name": "depositFor",
140
- "outputs": [],
141
- "stateMutability": "nonpayable",
142
- "type": "function"
143
- },
144
- {
145
- "inputs": [],
146
- "name": "owner",
147
- "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
148
- "stateMutability": "view",
149
- "type": "function"
150
- },
151
- {
152
- "inputs": [],
153
- "name": "renounceOwnership",
154
- "outputs": [],
155
- "stateMutability": "nonpayable",
156
- "type": "function"
157
- },
158
- {
159
- "inputs": [
160
- { "internalType": "uint256", "name": "amount_", "type": "uint256" },
161
- { "internalType": "address", "name": "user_", "type": "address" },
162
- { "internalType": "address", "name": "token_", "type": "address" },
163
- { "internalType": "uint256", "name": "chainId_", "type": "uint256" },
164
- {
165
- "internalType": "bytes32",
166
- "name": "transactionHash_",
167
- "type": "bytes32"
168
- }
169
- ],
170
- "name": "systemWithdraw",
171
- "outputs": [],
172
- "stateMutability": "nonpayable",
173
- "type": "function"
174
- },
175
- {
176
- "inputs": [
177
- { "internalType": "address", "name": "newOwner", "type": "address" }
178
- ],
179
- "name": "transferOwnership",
180
- "outputs": [],
181
- "stateMutability": "nonpayable",
182
- "type": "function"
183
- }
184
- ]
@@ -1,10 +0,0 @@
1
- export const itokens = {
2
- 1: [],
3
- 137: [
4
- {
5
- address: '0xEab02fe1F016eE3e4106c1C6aad35FeEe657268E',
6
- symbol: 'USDC',
7
- }
8
- ],
9
- 43114: []
10
- };
@@ -1,119 +0,0 @@
1
- import { BaseTask } from "../BaseTask";
2
- import Logger from '@/logger';
3
- import { ethers } from "ethers";
4
- import abi from "@/abi";
5
- import { Transaction } from "@/db";
6
- import { generateInteropTransactionHash, getContract, getRpcProviderUrl } from "@/utils";
7
- import { ChainId } from "@/types";
8
- import config from "@/config";
9
- import { InteropBridgeToken } from "@/typechain";
10
-
11
- class SyncWithdrawEvents extends BaseTask {
12
- contractAddress: string;
13
- provider: ethers.providers.JsonRpcProvider;
14
- contract: InteropBridgeToken;
15
- chainId: ChainId;
16
- itokenAddress: string;
17
-
18
- constructor({ chainId, itokenAddress }: { chainId: ChainId, itokenAddress: string }) {
19
- super({
20
- logger: new Logger("InteropBridgeToken::SyncWithdrawEvents"),
21
- })
22
- this.chainId = chainId;
23
- this.itokenAddress = itokenAddress;
24
- }
25
-
26
- async pollHandler() {
27
- const currentBlock = await this.provider.getBlockNumber();
28
-
29
- const events = await this.contract.queryFilter(
30
- this.contract.filters.Burn(),
31
- currentBlock - 2000,
32
- currentBlock,
33
- );
34
-
35
- let processedEvents = 0;
36
-
37
- for (const event of events) {
38
-
39
- try {
40
- if (!event.args) {
41
- continue;
42
- }
43
-
44
- const { to, amount, chainId } = event.args;
45
-
46
- const uniqueIdentifier = {
47
- action: 'withdraw',
48
- submitTransactionHash: event.transactionHash,
49
- sourceChainId:this.chainId,
50
- targetChainId: chainId.toNumber(),
51
- }
52
-
53
- if (await Transaction.findOne({ where: uniqueIdentifier })) {
54
- continue;
55
- }
56
-
57
- const tx = await event.getTransaction()
58
-
59
- await Transaction.create({
60
- ...uniqueIdentifier,
61
- transactionHash: generateInteropTransactionHash(uniqueIdentifier),
62
- from: tx.from,
63
- to,
64
-
65
-
66
- submitTransactionHash: event.transactionHash,
67
- submitBlockNumber: event.blockNumber,
68
-
69
- // submit & source are the same
70
- sourceTransactionHash: event.transactionHash,
71
- sourceBlockNumber: event.blockNumber,
72
- sourceStatus: "success",
73
-
74
- targetStatus: "uninitialised",
75
-
76
- submitEvent: {
77
- to,
78
- amount: amount.toString(),
79
- itoken: this.itokenAddress,
80
- chainId: chainId.toString()
81
- },
82
-
83
- sourceEvent: {
84
- to,
85
- amount: amount.toString(),
86
- itoken: this.itokenAddress,
87
- chainId: chainId.toString(),
88
- },
89
- status: "pending",
90
- })
91
-
92
- this.logger.info(
93
- `Withdraw queued: ${event.transactionHash} ${event.blockNumber}`
94
- );
95
- } catch (error) {
96
- this.logger.error(error);
97
- }
98
- }
99
-
100
- if (processedEvents > 0)
101
- this.logger.info(`${processedEvents} events processed`);
102
- }
103
-
104
- async start(): Promise<void> {
105
- this.provider = new ethers.providers.JsonRpcProvider(
106
- getRpcProviderUrl(this.chainId)
107
- );
108
-
109
- this.contract = getContract<InteropBridgeToken>(
110
- this.itokenAddress,
111
- abi.interopBridgeToken,
112
- new ethers.Wallet(config.privateKey!, this.provider)
113
- );
114
-
115
- await super.start()
116
- }
117
- }
118
-
119
- export default SyncWithdrawEvents;