@instadapp/interop-x 0.0.0-dev.d71f27e → 0.0.0-dev.e33810b
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.
- package/dist/package.json +12 -11
- package/dist/src/abi/interopXContract.json +73 -10
- package/dist/src/constants/addresses.js +2 -2
- package/dist/src/constants/tokens.js +31 -1
- package/dist/src/db/models/transaction.js +1 -3
- package/dist/src/gnosis/actions/withdraw/index.js +22 -8
- package/dist/src/gnosis/index.js +3 -3
- package/dist/src/index.js +1 -1
- package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +4 -4
- package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +3 -2
- package/dist/src/typechain/factories/InteropXContract__factory.js +124 -15
- package/dist/src/utils/index.js +24 -6
- package/package.json +12 -11
- package/src/abi/interopXContract.json +73 -10
- package/src/constants/addresses.ts +2 -2
- package/src/constants/tokens.ts +32 -2
- package/src/db/models/transaction.ts +4 -8
- package/src/gnosis/actions/withdraw/index.ts +28 -7
- package/src/gnosis/index.ts +3 -3
- package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +3 -4
- package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +3 -2
- package/src/typechain/InteropXContract.ts +199 -43
- package/src/typechain/factories/InteropXContract__factory.ts +124 -15
- package/src/utils/index.ts +61 -33
@@ -9,6 +9,12 @@ const _abi = [
|
|
9
9
|
{
|
10
10
|
anonymous: false,
|
11
11
|
inputs: [
|
12
|
+
{
|
13
|
+
indexed: false,
|
14
|
+
internalType: "string",
|
15
|
+
name: "actionId",
|
16
|
+
type: "string",
|
17
|
+
},
|
12
18
|
{
|
13
19
|
indexed: true,
|
14
20
|
internalType: "address",
|
@@ -98,6 +104,12 @@ const _abi = [
|
|
98
104
|
{
|
99
105
|
anonymous: false,
|
100
106
|
inputs: [
|
107
|
+
{
|
108
|
+
indexed: false,
|
109
|
+
internalType: "string",
|
110
|
+
name: "actionId",
|
111
|
+
type: "string",
|
112
|
+
},
|
101
113
|
{
|
102
114
|
indexed: true,
|
103
115
|
internalType: "address",
|
@@ -193,6 +205,12 @@ const _abi = [
|
|
193
205
|
{
|
194
206
|
anonymous: false,
|
195
207
|
inputs: [
|
208
|
+
{
|
209
|
+
indexed: false,
|
210
|
+
internalType: "string",
|
211
|
+
name: "actionId",
|
212
|
+
type: "string",
|
213
|
+
},
|
196
214
|
{
|
197
215
|
indexed: true,
|
198
216
|
internalType: "address",
|
@@ -276,6 +294,12 @@ const _abi = [
|
|
276
294
|
{
|
277
295
|
anonymous: false,
|
278
296
|
inputs: [
|
297
|
+
{
|
298
|
+
indexed: false,
|
299
|
+
internalType: "string",
|
300
|
+
name: "actionId",
|
301
|
+
type: "string",
|
302
|
+
},
|
279
303
|
{
|
280
304
|
indexed: true,
|
281
305
|
internalType: "address",
|
@@ -363,20 +387,12 @@ const _abi = [
|
|
363
387
|
type: "event",
|
364
388
|
},
|
365
389
|
{
|
366
|
-
inputs: [
|
367
|
-
name: "_vnonce",
|
368
|
-
outputs: [
|
390
|
+
inputs: [
|
369
391
|
{
|
370
|
-
internalType: "
|
371
|
-
name: "",
|
372
|
-
type: "
|
392
|
+
internalType: "string",
|
393
|
+
name: "actionId",
|
394
|
+
type: "string",
|
373
395
|
},
|
374
|
-
],
|
375
|
-
stateMutability: "view",
|
376
|
-
type: "function",
|
377
|
-
},
|
378
|
-
{
|
379
|
-
inputs: [
|
380
396
|
{
|
381
397
|
internalType: "address",
|
382
398
|
name: "to_",
|
@@ -399,7 +415,7 @@ const _abi = [
|
|
399
415
|
},
|
400
416
|
{
|
401
417
|
internalType: "uint32",
|
402
|
-
name: "
|
418
|
+
name: "sourceChainId_",
|
403
419
|
type: "uint32",
|
404
420
|
},
|
405
421
|
{
|
@@ -420,6 +436,47 @@ const _abi = [
|
|
420
436
|
},
|
421
437
|
{
|
422
438
|
inputs: [
|
439
|
+
{
|
440
|
+
internalType: "address",
|
441
|
+
name: "user",
|
442
|
+
type: "address",
|
443
|
+
},
|
444
|
+
{
|
445
|
+
internalType: "address[]",
|
446
|
+
name: "tokens",
|
447
|
+
type: "address[]",
|
448
|
+
},
|
449
|
+
],
|
450
|
+
name: "getBridgeAmounts",
|
451
|
+
outputs: [
|
452
|
+
{
|
453
|
+
components: [
|
454
|
+
{
|
455
|
+
internalType: "uint256",
|
456
|
+
name: "deposit",
|
457
|
+
type: "uint256",
|
458
|
+
},
|
459
|
+
{
|
460
|
+
internalType: "uint256",
|
461
|
+
name: "withdraw",
|
462
|
+
type: "uint256",
|
463
|
+
},
|
464
|
+
],
|
465
|
+
internalType: "struct InteropXContractBeta.UserData[]",
|
466
|
+
name: "userData",
|
467
|
+
type: "tuple[]",
|
468
|
+
},
|
469
|
+
],
|
470
|
+
stateMutability: "view",
|
471
|
+
type: "function",
|
472
|
+
},
|
473
|
+
{
|
474
|
+
inputs: [
|
475
|
+
{
|
476
|
+
internalType: "string",
|
477
|
+
name: "actionId",
|
478
|
+
type: "string",
|
479
|
+
},
|
423
480
|
{
|
424
481
|
internalType: "address",
|
425
482
|
name: "sourceToken_",
|
@@ -451,6 +508,24 @@ const _abi = [
|
|
451
508
|
stateMutability: "nonpayable",
|
452
509
|
type: "function",
|
453
510
|
},
|
511
|
+
{
|
512
|
+
inputs: [
|
513
|
+
{
|
514
|
+
internalType: "address",
|
515
|
+
name: "token",
|
516
|
+
type: "address",
|
517
|
+
},
|
518
|
+
{
|
519
|
+
internalType: "bool",
|
520
|
+
name: "toggle",
|
521
|
+
type: "bool",
|
522
|
+
},
|
523
|
+
],
|
524
|
+
name: "toggleWhitelist",
|
525
|
+
outputs: [],
|
526
|
+
stateMutability: "nonpayable",
|
527
|
+
type: "function",
|
528
|
+
},
|
454
529
|
{
|
455
530
|
inputs: [
|
456
531
|
{
|
@@ -458,20 +533,54 @@ const _abi = [
|
|
458
533
|
name: "",
|
459
534
|
type: "address",
|
460
535
|
},
|
536
|
+
{
|
537
|
+
internalType: "address",
|
538
|
+
name: "",
|
539
|
+
type: "address",
|
540
|
+
},
|
461
541
|
],
|
462
|
-
name: "
|
542
|
+
name: "userMapping",
|
463
543
|
outputs: [
|
464
544
|
{
|
465
545
|
internalType: "uint256",
|
466
|
-
name: "",
|
546
|
+
name: "deposit",
|
467
547
|
type: "uint256",
|
468
548
|
},
|
549
|
+
{
|
550
|
+
internalType: "uint256",
|
551
|
+
name: "withdraw",
|
552
|
+
type: "uint256",
|
553
|
+
},
|
554
|
+
],
|
555
|
+
stateMutability: "view",
|
556
|
+
type: "function",
|
557
|
+
},
|
558
|
+
{
|
559
|
+
inputs: [
|
560
|
+
{
|
561
|
+
internalType: "address",
|
562
|
+
name: "",
|
563
|
+
type: "address",
|
564
|
+
},
|
565
|
+
],
|
566
|
+
name: "whitelistedTokens",
|
567
|
+
outputs: [
|
568
|
+
{
|
569
|
+
internalType: "bool",
|
570
|
+
name: "",
|
571
|
+
type: "bool",
|
572
|
+
},
|
469
573
|
],
|
470
574
|
stateMutability: "view",
|
471
575
|
type: "function",
|
472
576
|
},
|
473
577
|
{
|
474
578
|
inputs: [
|
579
|
+
{
|
580
|
+
internalType: "string",
|
581
|
+
name: "actionId",
|
582
|
+
type: "string",
|
583
|
+
},
|
475
584
|
{
|
476
585
|
internalType: "address",
|
477
586
|
name: "user_",
|
package/dist/src/utils/index.js
CHANGED
@@ -3,7 +3,7 @@ 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.generateGnosisTransaction = exports.getContract = exports.generateInteropTransactionHash = exports.asyncCallWithTimeout = exports.buildSignatureBytes = exports.getRpcProviderUrl = exports.signGnosisSafeTx = exports.short = exports.shortenHash = exports.http = void 0;
|
6
|
+
exports.generateGnosisTransaction = exports.getContract = exports.ContractError = exports.generateInteropTransactionHash = exports.asyncCallWithTimeout = exports.buildSignatureBytes = exports.getRpcProviderUrl = exports.signGnosisSafeTx = exports.short = exports.shortenHash = exports.http = void 0;
|
7
7
|
/**
|
8
8
|
* @module util
|
9
9
|
*/
|
@@ -11,6 +11,7 @@ const axios_1 = __importDefault(require("axios"));
|
|
11
11
|
const axios_retry_1 = __importDefault(require("axios-retry"));
|
12
12
|
const constants_1 = require("@/constants");
|
13
13
|
const ethers_1 = require("ethers");
|
14
|
+
const async_retry_1 = __importDefault(require("async-retry"));
|
14
15
|
exports.http = axios_1.default.create();
|
15
16
|
(0, axios_retry_1.default)(exports.http, { retries: 3, retryDelay: axios_retry_1.default.exponentialDelay });
|
16
17
|
function shortenHash(hash, length = 4) {
|
@@ -102,7 +103,7 @@ const asyncCallWithTimeout = async (asyncPromise, timeout) => {
|
|
102
103
|
exports.asyncCallWithTimeout = asyncCallWithTimeout;
|
103
104
|
const generateInteropTransactionHash = (data) => {
|
104
105
|
return ethers_1.ethers.utils.solidityKeccak256(['string', 'string', 'string', 'string', 'string'], [
|
105
|
-
String(data.
|
106
|
+
String(data.actionId),
|
106
107
|
String(data.bridger),
|
107
108
|
String(data.requestTransactionHash),
|
108
109
|
String(data.sourceChainId),
|
@@ -110,6 +111,9 @@ const generateInteropTransactionHash = (data) => {
|
|
110
111
|
]);
|
111
112
|
};
|
112
113
|
exports.generateInteropTransactionHash = generateInteropTransactionHash;
|
114
|
+
class ContractError extends Error {
|
115
|
+
}
|
116
|
+
exports.ContractError = ContractError;
|
113
117
|
function getContract(address, contractInterface, signerOrProvider) {
|
114
118
|
if (!ethers_1.ethers.utils.getAddress(address) || address === ethers_1.ethers.constants.AddressZero) {
|
115
119
|
throw Error(`Invalid 'address' parameter '${address}'.`);
|
@@ -124,12 +128,22 @@ function getContract(address, contractInterface, signerOrProvider) {
|
|
124
128
|
get(target, prop, receiver) {
|
125
129
|
const value = Reflect.get(target, prop, receiver);
|
126
130
|
if (typeof value === 'function' && (contract.functions.hasOwnProperty(prop) || ['queryFilter'].includes(String(prop)))) {
|
131
|
+
let isConstant = false;
|
132
|
+
try {
|
133
|
+
isConstant = contract.interface.getFunction(String(prop)).constant;
|
134
|
+
}
|
135
|
+
catch (error) {
|
136
|
+
}
|
127
137
|
return async (...args) => {
|
128
138
|
try {
|
129
|
-
return await value.bind(contract)(...args);
|
139
|
+
return await (0, async_retry_1.default)(async () => await value.bind(contract)(...args), { retries: isConstant ? 1 : 3 });
|
130
140
|
}
|
131
141
|
catch (error) {
|
132
|
-
|
142
|
+
const err = new ContractError(`Error calling "${String(prop)}" on "${address}": ${error.reason || error.message}`);
|
143
|
+
err.method = String(prop);
|
144
|
+
err.address = address;
|
145
|
+
err.args = [...args];
|
146
|
+
throw err;
|
133
147
|
}
|
134
148
|
};
|
135
149
|
}
|
@@ -141,10 +155,14 @@ function getContract(address, contractInterface, signerOrProvider) {
|
|
141
155
|
if (typeof value === 'function') {
|
142
156
|
return async (...args) => {
|
143
157
|
try {
|
144
|
-
return await value.bind(contract)(...args);
|
158
|
+
return await (0, async_retry_1.default)(async () => await value.bind(contract)(...args), { retries: parentProp === 'callStatic' ? 3 : 1 });
|
145
159
|
}
|
146
160
|
catch (error) {
|
147
|
-
|
161
|
+
const err = new ContractError(`Error calling "${String(prop)}" using "${parentProp}" on "${address}": ${error.reason || error.message}`);
|
162
|
+
err.method = String(prop);
|
163
|
+
err.address = address;
|
164
|
+
err.args = [...args];
|
165
|
+
throw err;
|
148
166
|
}
|
149
167
|
};
|
150
168
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@instadapp/interop-x",
|
3
|
-
"version": "0.0.0-dev.
|
3
|
+
"version": "0.0.0-dev.e33810b",
|
4
4
|
"license": "MIT",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"engines": {
|
@@ -25,16 +25,17 @@
|
|
25
25
|
"dependencies": {
|
26
26
|
"@achingbrain/libp2p-gossipsub": "^0.12.2",
|
27
27
|
"@fastify/cors": "^7.0.0",
|
28
|
+
"async-retry": "^1.3.3",
|
28
29
|
"await-spawn": "^4.0.2",
|
29
|
-
"axios": "^0.27.
|
30
|
-
"axios-retry": "^3.2.
|
30
|
+
"axios": "^0.27.2",
|
31
|
+
"axios-retry": "^3.2.5",
|
31
32
|
"chalk": "4.1.2",
|
32
|
-
"dotenv": "^16.0.
|
33
|
+
"dotenv": "^16.0.1",
|
33
34
|
"ethereumjs-util": "^7.1.4",
|
34
|
-
"ethers": "^5.6.
|
35
|
+
"ethers": "^5.6.5",
|
35
36
|
"ethers-multisend": "^2.1.1",
|
36
37
|
"expand-home-dir": "^0.0.3",
|
37
|
-
"fastify": "^3.
|
38
|
+
"fastify": "^3.29.0",
|
38
39
|
"fs-extra": "^10.1.0",
|
39
40
|
"libp2p": "^0.36.2",
|
40
41
|
"libp2p-bootstrap": "^0.14.0",
|
@@ -45,12 +46,12 @@
|
|
45
46
|
"libp2p-pubsub-peer-discovery": "^4.0.0",
|
46
47
|
"libp2p-tcp": "^0.17.2",
|
47
48
|
"libp2p-websockets": "^0.16.2",
|
48
|
-
"luxon": "^2.
|
49
|
+
"luxon": "^2.4.0",
|
49
50
|
"module-alias": "^2.2.2",
|
50
51
|
"patch-package": "^6.4.7",
|
51
52
|
"postinstall-postinstall": "^2.1.0",
|
52
53
|
"sequelize": "6.18.0",
|
53
|
-
"sqlite3": "^5.0.
|
54
|
+
"sqlite3": "^5.0.8",
|
54
55
|
"waait": "^1.0.5"
|
55
56
|
},
|
56
57
|
"bin": {
|
@@ -61,13 +62,13 @@
|
|
61
62
|
"@typechain/ethers-v5": "^10.0.0",
|
62
63
|
"@types/bn.js": "^5.1.0",
|
63
64
|
"@types/fs-extra": "^9.0.13",
|
64
|
-
"@types/node": "^17.0.
|
65
|
-
"nodemon": "^2.0.
|
65
|
+
"@types/node": "^17.0.33",
|
66
|
+
"nodemon": "^2.0.16",
|
66
67
|
"replace-in-file": "^6.3.2",
|
67
68
|
"rimraf": "^3.0.2",
|
68
69
|
"ts-node": "^10.5.0",
|
69
70
|
"tsconfig-paths": "^3.12.0",
|
70
71
|
"typechain": "^8.0.0",
|
71
|
-
"typescript": "^4.
|
72
|
+
"typescript": "^4.6.4"
|
72
73
|
}
|
73
74
|
}
|
@@ -2,6 +2,12 @@
|
|
2
2
|
{
|
3
3
|
"anonymous": false,
|
4
4
|
"inputs": [
|
5
|
+
{
|
6
|
+
"indexed": false,
|
7
|
+
"internalType": "string",
|
8
|
+
"name": "actionId",
|
9
|
+
"type": "string"
|
10
|
+
},
|
5
11
|
{
|
6
12
|
"indexed": true,
|
7
13
|
"internalType": "address",
|
@@ -83,6 +89,12 @@
|
|
83
89
|
{
|
84
90
|
"anonymous": false,
|
85
91
|
"inputs": [
|
92
|
+
{
|
93
|
+
"indexed": false,
|
94
|
+
"internalType": "string",
|
95
|
+
"name": "actionId",
|
96
|
+
"type": "string"
|
97
|
+
},
|
86
98
|
{
|
87
99
|
"indexed": true,
|
88
100
|
"internalType": "address",
|
@@ -170,6 +182,12 @@
|
|
170
182
|
{
|
171
183
|
"anonymous": false,
|
172
184
|
"inputs": [
|
185
|
+
{
|
186
|
+
"indexed": false,
|
187
|
+
"internalType": "string",
|
188
|
+
"name": "actionId",
|
189
|
+
"type": "string"
|
190
|
+
},
|
173
191
|
{
|
174
192
|
"indexed": true,
|
175
193
|
"internalType": "address",
|
@@ -245,6 +263,12 @@
|
|
245
263
|
{
|
246
264
|
"anonymous": false,
|
247
265
|
"inputs": [
|
266
|
+
{
|
267
|
+
"indexed": false,
|
268
|
+
"internalType": "string",
|
269
|
+
"name": "actionId",
|
270
|
+
"type": "string"
|
271
|
+
},
|
248
272
|
{
|
249
273
|
"indexed": true,
|
250
274
|
"internalType": "address",
|
@@ -323,20 +347,14 @@
|
|
323
347
|
"name": "LogBridgeRequestSent",
|
324
348
|
"type": "event"
|
325
349
|
},
|
326
|
-
{
|
327
|
-
"inputs": [],
|
328
|
-
"name": "_vnonce",
|
329
|
-
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
330
|
-
"stateMutability": "view",
|
331
|
-
"type": "function"
|
332
|
-
},
|
333
350
|
{
|
334
351
|
"inputs": [
|
352
|
+
{ "internalType": "string", "name": "actionId", "type": "string" },
|
335
353
|
{ "internalType": "address", "name": "to_", "type": "address" },
|
336
354
|
{ "internalType": "address", "name": "sourceToken_", "type": "address" },
|
337
355
|
{ "internalType": "address", "name": "targetToken_", "type": "address" },
|
338
356
|
{ "internalType": "uint256", "name": "amount_", "type": "uint256" },
|
339
|
-
{ "internalType": "uint32", "name": "
|
357
|
+
{ "internalType": "uint32", "name": "sourceChainId_", "type": "uint32" },
|
340
358
|
{
|
341
359
|
"internalType": "bytes32",
|
342
360
|
"name": "transactionHash_",
|
@@ -351,6 +369,27 @@
|
|
351
369
|
},
|
352
370
|
{
|
353
371
|
"inputs": [
|
372
|
+
{ "internalType": "address", "name": "user", "type": "address" },
|
373
|
+
{ "internalType": "address[]", "name": "tokens", "type": "address[]" }
|
374
|
+
],
|
375
|
+
"name": "getBridgeAmounts",
|
376
|
+
"outputs": [
|
377
|
+
{
|
378
|
+
"components": [
|
379
|
+
{ "internalType": "uint256", "name": "deposit", "type": "uint256" },
|
380
|
+
{ "internalType": "uint256", "name": "withdraw", "type": "uint256" }
|
381
|
+
],
|
382
|
+
"internalType": "struct InteropXContractBeta.UserData[]",
|
383
|
+
"name": "userData",
|
384
|
+
"type": "tuple[]"
|
385
|
+
}
|
386
|
+
],
|
387
|
+
"stateMutability": "view",
|
388
|
+
"type": "function"
|
389
|
+
},
|
390
|
+
{
|
391
|
+
"inputs": [
|
392
|
+
{ "internalType": "string", "name": "actionId", "type": "string" },
|
354
393
|
{ "internalType": "address", "name": "sourceToken_", "type": "address" },
|
355
394
|
{ "internalType": "address", "name": "targetToken_", "type": "address" },
|
356
395
|
{ "internalType": "uint256", "name": "amount_", "type": "uint256" },
|
@@ -362,15 +401,39 @@
|
|
362
401
|
"stateMutability": "nonpayable",
|
363
402
|
"type": "function"
|
364
403
|
},
|
404
|
+
{
|
405
|
+
"inputs": [
|
406
|
+
{ "internalType": "address", "name": "token", "type": "address" },
|
407
|
+
{ "internalType": "bool", "name": "toggle", "type": "bool" }
|
408
|
+
],
|
409
|
+
"name": "toggleWhitelist",
|
410
|
+
"outputs": [],
|
411
|
+
"stateMutability": "nonpayable",
|
412
|
+
"type": "function"
|
413
|
+
},
|
414
|
+
{
|
415
|
+
"inputs": [
|
416
|
+
{ "internalType": "address", "name": "", "type": "address" },
|
417
|
+
{ "internalType": "address", "name": "", "type": "address" }
|
418
|
+
],
|
419
|
+
"name": "userMapping",
|
420
|
+
"outputs": [
|
421
|
+
{ "internalType": "uint256", "name": "deposit", "type": "uint256" },
|
422
|
+
{ "internalType": "uint256", "name": "withdraw", "type": "uint256" }
|
423
|
+
],
|
424
|
+
"stateMutability": "view",
|
425
|
+
"type": "function"
|
426
|
+
},
|
365
427
|
{
|
366
428
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
367
|
-
"name": "
|
368
|
-
"outputs": [{ "internalType": "
|
429
|
+
"name": "whitelistedTokens",
|
430
|
+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
369
431
|
"stateMutability": "view",
|
370
432
|
"type": "function"
|
371
433
|
},
|
372
434
|
{
|
373
435
|
"inputs": [
|
436
|
+
{ "internalType": "string", "name": "actionId", "type": "string" },
|
374
437
|
{ "internalType": "address", "name": "user_", "type": "address" },
|
375
438
|
{ "internalType": "address", "name": "sourceToken_", "type": "address" },
|
376
439
|
{ "internalType": "address", "name": "targetToken_", "type": "address" },
|
@@ -7,11 +7,11 @@ export const addresses = {
|
|
7
7
|
137: {
|
8
8
|
gnosisSafe: '0x5635d2910e51da33d9DC0422c893CF4F28B69A25',
|
9
9
|
multisend: '0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761',
|
10
|
-
interopXContract: '
|
10
|
+
interopXContract: '0x41bd77583674B3a5c073FBb4922C0C8dA91C43cF',
|
11
11
|
},
|
12
12
|
43114: {
|
13
13
|
gnosisSafe: '0x31d7a5194Fe60AC209Cf1Ce2d539C9A60662Ed6b',
|
14
14
|
multisend: '0x998739BFdAAdde7C933B942a68053933098f9EDa',
|
15
|
-
interopXContract: '
|
15
|
+
interopXContract: '0xCF391A3057eDba541c80307aC5E3Bc1E4a9471b7',
|
16
16
|
}
|
17
17
|
}
|
package/src/constants/tokens.ts
CHANGED
@@ -1,30 +1,42 @@
|
|
1
1
|
export const tokens = {
|
2
2
|
1: [
|
3
3
|
{
|
4
|
+
aliases: ['eth'],
|
4
5
|
symbol: "ETH",
|
5
6
|
name: "Ethereum",
|
6
7
|
address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
|
7
8
|
decimals: 18,
|
8
9
|
},
|
9
10
|
{
|
11
|
+
aliases: ['weth'],
|
12
|
+
symbol: "WETH",
|
13
|
+
name: "Wrapped Ethereum",
|
14
|
+
address: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
15
|
+
decimals: 18,
|
16
|
+
},
|
17
|
+
{
|
18
|
+
aliases: ['dai'],
|
10
19
|
symbol: "DAI",
|
11
20
|
name: "DAI Stable",
|
12
21
|
address: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
|
13
22
|
decimals: 18,
|
14
23
|
},
|
15
24
|
{
|
25
|
+
aliases: ['usdc'],
|
16
26
|
symbol: "USDC",
|
17
27
|
name: "USD Coin",
|
18
28
|
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
19
29
|
decimals: 6,
|
20
30
|
},
|
21
31
|
{
|
32
|
+
aliases: ['usdt'],
|
22
33
|
symbol: "USDT",
|
23
34
|
name: "Tether USD Coin",
|
24
35
|
address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
25
36
|
decimals: 6,
|
26
37
|
},
|
27
38
|
{
|
39
|
+
aliases: ['wbtc'],
|
28
40
|
symbol: "WBTC",
|
29
41
|
name: "Wrapped BTC",
|
30
42
|
address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
|
@@ -33,36 +45,42 @@ export const tokens = {
|
|
33
45
|
],
|
34
46
|
137: [
|
35
47
|
{
|
48
|
+
aliases: ['eth', 'weth'],
|
36
49
|
symbol: "ETH",
|
37
50
|
name: "Ethereum",
|
38
51
|
address: "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",
|
39
52
|
decimals: 18,
|
40
53
|
},
|
41
54
|
{
|
55
|
+
aliases: ['dai'],
|
42
56
|
symbol: "DAI",
|
43
57
|
name: "DAI Stable",
|
44
58
|
address: "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
|
45
59
|
decimals: 18,
|
46
60
|
},
|
47
61
|
{
|
62
|
+
aliases: ['usdc'],
|
48
63
|
symbol: "USDC",
|
49
64
|
name: "USD Coin",
|
50
65
|
address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
51
66
|
decimals: 6,
|
52
67
|
},
|
53
68
|
{
|
69
|
+
aliases: ['usdt'],
|
54
70
|
symbol: "USDT",
|
55
71
|
name: "Tether USD Coin",
|
56
72
|
address: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
57
73
|
decimals: 6,
|
58
74
|
},
|
59
75
|
{
|
76
|
+
aliases: ['wbtc'],
|
60
77
|
symbol: "WBTC",
|
61
78
|
name: "Wrapped BTC",
|
62
79
|
address: "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",
|
63
80
|
decimals: 8,
|
64
81
|
},
|
65
82
|
{
|
83
|
+
aliases: ['avax'],
|
66
84
|
symbol: "AVAX",
|
67
85
|
name: "Avalanche Token",
|
68
86
|
address: "0x2C89bbc92BD86F8075d1DEcc58C7F4E0107f286b",
|
@@ -71,34 +89,46 @@ export const tokens = {
|
|
71
89
|
],
|
72
90
|
43114: [
|
73
91
|
{
|
92
|
+
aliases: ['eth', 'weth'],
|
74
93
|
symbol: "ETH",
|
75
94
|
name: "Ethereum",
|
76
95
|
address: "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",
|
77
96
|
decimals: 18,
|
78
97
|
},
|
79
98
|
{
|
99
|
+
aliases: ['dai'],
|
80
100
|
symbol: "DAI",
|
81
101
|
name: "DAI Stable",
|
82
102
|
address: "0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",
|
83
103
|
decimals: 18,
|
84
104
|
},
|
85
105
|
{
|
106
|
+
aliases: ['usdc'],
|
86
107
|
symbol: "USDC",
|
87
108
|
name: "USD Coin",
|
88
109
|
address: "0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664",
|
89
110
|
decimals: 6,
|
90
111
|
},
|
91
112
|
{
|
92
|
-
|
113
|
+
aliases: ['usdt'],
|
114
|
+
symbol: "USDt",
|
93
115
|
name: "Tether USD Coin",
|
116
|
+
address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
117
|
+
decimals: 6,
|
118
|
+
},
|
119
|
+
{
|
120
|
+
aliases: ['usdt'],
|
121
|
+
symbol: "USDT.e",
|
122
|
+
name: "Tether USD",
|
94
123
|
address: "0xc7198437980c041c805A1EDcbA50c1Ce5db95118",
|
95
124
|
decimals: 6,
|
96
125
|
},
|
97
126
|
{
|
127
|
+
aliases: ["wbtc"],
|
98
128
|
symbol: "WBTC",
|
99
129
|
name: "Wrapped BTC",
|
100
130
|
address: "0x50b7545627a5162F82A992c33b87aDc75187B218",
|
101
131
|
decimals: 8,
|
102
132
|
},
|
103
133
|
],
|
104
|
-
}
|
134
|
+
} as Record<number, { aliases: string[], symbol: string, name: string, address: string, decimals: number }[]>;
|