@instadapp/interop-x 0.0.0-dev.c696e38 → 0.0.0-dev.cdc0510

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. package/dist/package.json +9 -2
  2. package/dist/src/abi/aaveV2Resolver.json +832 -0
  3. package/dist/src/abi/aaveV3Resolver.json +628 -0
  4. package/dist/src/abi/balanceResolver.json +211 -0
  5. package/dist/src/abi/index.js +8 -0
  6. package/dist/src/abi/instList.json +232 -0
  7. package/dist/src/api/index.js +7 -0
  8. package/dist/src/constants/addresses.js +9 -1
  9. package/dist/src/constants/capPerChain.js +8 -0
  10. package/dist/src/constants/index.js +2 -0
  11. package/dist/src/constants/tokens.js +44 -44
  12. package/dist/src/constants/wrappedNativeToken.js +8 -0
  13. package/dist/src/crons/index.js +3 -0
  14. package/dist/src/crons/prices.js +16 -0
  15. package/dist/src/db/models/transaction.js +4 -0
  16. package/dist/src/errors/index.js +30 -0
  17. package/dist/src/gnosis/actions/aaveV2/source.js +2 -1
  18. package/dist/src/gnosis/actions/aaveV2/target.js +5 -3
  19. package/dist/src/gnosis/actions/aaveV3/index.js +11 -0
  20. package/dist/src/gnosis/actions/aaveV3/source.js +74 -0
  21. package/dist/src/gnosis/actions/aaveV3/target.js +87 -0
  22. package/dist/src/gnosis/actions/index.js +2 -0
  23. package/dist/src/index.js +2 -1
  24. package/dist/src/providers/index.js +17 -0
  25. package/dist/src/providers/retry-provider.js +45 -0
  26. package/dist/src/services/Prices.js +74 -0
  27. package/dist/src/services/index.js +8 -0
  28. package/dist/src/tasks/InteropX/{ProcessSubmitSubmitEvents.js → ProcessSubmitEvents.js} +106 -14
  29. package/dist/src/tasks/InteropX/ProcessValidateEvents.js +30 -10
  30. package/dist/src/tasks/InteropX/SyncLogExecuteEvents.js +113 -0
  31. package/dist/src/tasks/InteropX/SyncLogSubmitEvents.js +2 -1
  32. package/dist/src/tasks/InteropX/SyncLogValidateEvents.js +5 -4
  33. package/dist/src/tasks/index.js +7 -5
  34. package/dist/src/typechain/AaveV2Resolver.js +2 -0
  35. package/dist/src/typechain/AaveV3Resolver.js +2 -0
  36. package/dist/src/typechain/BalanceResolver.js +2 -0
  37. package/dist/src/typechain/InstList.js +2 -0
  38. package/dist/src/typechain/factories/AaveV2Resolver__factory.js +1191 -0
  39. package/dist/src/typechain/factories/AaveV3Resolver__factory.js +887 -0
  40. package/dist/src/typechain/factories/BalanceResolver__factory.js +228 -0
  41. package/dist/src/typechain/factories/InstList__factory.js +249 -0
  42. package/dist/src/typechain/factories/index.js +9 -1
  43. package/dist/src/typechain/index.js +9 -1
  44. package/dist/src/utils/async.js +18 -0
  45. package/dist/src/utils/dsa.js +24 -0
  46. package/dist/src/utils/formatting.js +67 -0
  47. package/dist/src/utils/gnosis.js +87 -0
  48. package/dist/src/utils/http.js +10 -0
  49. package/dist/src/utils/index.js +22 -220
  50. package/dist/src/utils/interop.js +16 -0
  51. package/dist/src/utils/tokens.js +22 -0
  52. package/dist/src/utils/validate.js +111 -0
  53. package/dist/src/utils/web3.js +93 -0
  54. package/package.json +9 -2
  55. package/src/abi/aaveV2Resolver.json +832 -0
  56. package/src/abi/aaveV3Resolver.json +628 -0
  57. package/src/abi/balanceResolver.json +211 -0
  58. package/src/abi/index.ts +8 -0
  59. package/src/abi/instList.json +232 -0
  60. package/src/api/index.ts +8 -0
  61. package/src/constants/addresses.ts +20 -2
  62. package/src/constants/capPerChain.ts +5 -0
  63. package/src/constants/index.ts +2 -0
  64. package/src/constants/tokens.ts +44 -44
  65. package/src/constants/wrappedNativeToken.ts +5 -0
  66. package/src/crons/index.ts +1 -0
  67. package/src/crons/prices.ts +12 -0
  68. package/src/db/models/transaction.ts +21 -0
  69. package/src/errors/index.ts +26 -0
  70. package/src/gnosis/actions/aaveV2/source.ts +2 -1
  71. package/src/gnosis/actions/aaveV2/target.ts +13 -3
  72. package/src/gnosis/actions/aaveV3/index.ts +9 -0
  73. package/src/gnosis/actions/aaveV3/source.ts +119 -0
  74. package/src/gnosis/actions/aaveV3/target.ts +142 -0
  75. package/src/gnosis/actions/index.ts +2 -0
  76. package/src/index.ts +1 -0
  77. package/src/providers/index.ts +1 -0
  78. package/src/providers/retry-provider.ts +51 -0
  79. package/src/services/Prices.ts +89 -0
  80. package/src/services/index.ts +1 -0
  81. package/src/tasks/InteropX/{ProcessSubmitSubmitEvents.ts → ProcessSubmitEvents.ts} +133 -20
  82. package/src/tasks/InteropX/ProcessValidateEvents.ts +42 -19
  83. package/src/tasks/InteropX/SyncLogExecuteEvents.ts +161 -0
  84. package/src/tasks/InteropX/SyncLogSubmitEvents.ts +5 -6
  85. package/src/tasks/InteropX/SyncLogValidateEvents.ts +8 -9
  86. package/src/tasks/index.ts +8 -5
  87. package/src/typechain/AaveV2Resolver.ts +1017 -0
  88. package/src/typechain/AaveV3Resolver.ts +935 -0
  89. package/src/typechain/BalanceResolver.ts +266 -0
  90. package/src/typechain/InstList.ts +402 -0
  91. package/src/typechain/factories/AaveV2Resolver__factory.ts +1198 -0
  92. package/src/typechain/factories/AaveV3Resolver__factory.ts +894 -0
  93. package/src/typechain/factories/BalanceResolver__factory.ts +235 -0
  94. package/src/typechain/factories/InstList__factory.ts +253 -0
  95. package/src/typechain/factories/index.ts +4 -0
  96. package/src/typechain/index.ts +8 -0
  97. package/src/utils/async.ts +22 -0
  98. package/src/utils/dsa.ts +30 -0
  99. package/src/utils/formatting.ts +68 -0
  100. package/src/utils/gnosis.ts +166 -0
  101. package/src/utils/http.ts +6 -0
  102. package/src/utils/index.ts +9 -365
  103. package/src/utils/interop.ts +28 -0
  104. package/src/utils/tokens.ts +21 -0
  105. package/src/utils/validate.ts +174 -0
  106. package/src/utils/web3.ts +132 -0
@@ -0,0 +1,228 @@
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.BalanceResolver__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_wnativeToken",
14
+ type: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ inputs: [
22
+ {
23
+ components: [
24
+ {
25
+ components: [
26
+ {
27
+ internalType: "address",
28
+ name: "sourceToken",
29
+ type: "address",
30
+ },
31
+ {
32
+ internalType: "address",
33
+ name: "targetToken",
34
+ type: "address",
35
+ },
36
+ {
37
+ internalType: "uint256",
38
+ name: "amount",
39
+ type: "uint256",
40
+ },
41
+ ],
42
+ internalType: "struct Variables.TokenInfo[]",
43
+ name: "supply",
44
+ type: "tuple[]",
45
+ },
46
+ {
47
+ components: [
48
+ {
49
+ internalType: "address",
50
+ name: "sourceToken",
51
+ type: "address",
52
+ },
53
+ {
54
+ internalType: "address",
55
+ name: "targetToken",
56
+ type: "address",
57
+ },
58
+ {
59
+ internalType: "uint256",
60
+ name: "amount",
61
+ type: "uint256",
62
+ },
63
+ ],
64
+ internalType: "struct Variables.TokenInfo[]",
65
+ name: "withdraw",
66
+ type: "tuple[]",
67
+ },
68
+ ],
69
+ internalType: "struct Variables.Position",
70
+ name: "position",
71
+ type: "tuple",
72
+ },
73
+ {
74
+ internalType: "address",
75
+ name: "liquidityContract",
76
+ type: "address",
77
+ },
78
+ {
79
+ internalType: "bool",
80
+ name: "isSupply",
81
+ type: "bool",
82
+ },
83
+ {
84
+ internalType: "bool",
85
+ name: "isTargetToken",
86
+ type: "bool",
87
+ },
88
+ ],
89
+ name: "checkLiquidity",
90
+ outputs: [
91
+ {
92
+ components: [
93
+ {
94
+ internalType: "bool",
95
+ name: "isOk",
96
+ type: "bool",
97
+ },
98
+ {
99
+ components: [
100
+ {
101
+ internalType: "address",
102
+ name: "token",
103
+ type: "address",
104
+ },
105
+ {
106
+ internalType: "uint256",
107
+ name: "liquidityAvailable",
108
+ type: "uint256",
109
+ },
110
+ {
111
+ internalType: "uint256",
112
+ name: "liquidityShort",
113
+ type: "uint256",
114
+ },
115
+ ],
116
+ internalType: "struct Helpers.LiquidityData[]",
117
+ name: "supply",
118
+ type: "tuple[]",
119
+ },
120
+ {
121
+ components: [
122
+ {
123
+ internalType: "address",
124
+ name: "token",
125
+ type: "address",
126
+ },
127
+ {
128
+ internalType: "uint256",
129
+ name: "liquidityAvailable",
130
+ type: "uint256",
131
+ },
132
+ {
133
+ internalType: "uint256",
134
+ name: "liquidityShort",
135
+ type: "uint256",
136
+ },
137
+ ],
138
+ internalType: "struct Helpers.LiquidityData[]",
139
+ name: "withdraw",
140
+ type: "tuple[]",
141
+ },
142
+ ],
143
+ internalType: "struct Helpers.PositionData",
144
+ name: "p",
145
+ type: "tuple",
146
+ },
147
+ ],
148
+ stateMutability: "view",
149
+ type: "function",
150
+ },
151
+ {
152
+ inputs: [
153
+ {
154
+ internalType: "address[]",
155
+ name: "tokens",
156
+ type: "address[]",
157
+ },
158
+ {
159
+ internalType: "address",
160
+ name: "liquidityContract",
161
+ type: "address",
162
+ },
163
+ ],
164
+ name: "getLiquidity",
165
+ outputs: [
166
+ {
167
+ components: [
168
+ {
169
+ internalType: "address",
170
+ name: "token",
171
+ type: "address",
172
+ },
173
+ {
174
+ internalType: "uint256",
175
+ name: "liquidityAvailable",
176
+ type: "uint256",
177
+ },
178
+ {
179
+ internalType: "uint256",
180
+ name: "liquidityShort",
181
+ type: "uint256",
182
+ },
183
+ ],
184
+ internalType: "struct Helpers.LiquidityData[]",
185
+ name: "l",
186
+ type: "tuple[]",
187
+ },
188
+ ],
189
+ stateMutability: "view",
190
+ type: "function",
191
+ },
192
+ {
193
+ inputs: [],
194
+ name: "nativeToken",
195
+ outputs: [
196
+ {
197
+ internalType: "address",
198
+ name: "",
199
+ type: "address",
200
+ },
201
+ ],
202
+ stateMutability: "view",
203
+ type: "function",
204
+ },
205
+ {
206
+ inputs: [],
207
+ name: "wnativeToken",
208
+ outputs: [
209
+ {
210
+ internalType: "address",
211
+ name: "",
212
+ type: "address",
213
+ },
214
+ ],
215
+ stateMutability: "view",
216
+ type: "function",
217
+ },
218
+ ];
219
+ class BalanceResolver__factory {
220
+ static createInterface() {
221
+ return new ethers_1.utils.Interface(_abi);
222
+ }
223
+ static connect(address, signerOrProvider) {
224
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
225
+ }
226
+ }
227
+ exports.BalanceResolver__factory = BalanceResolver__factory;
228
+ BalanceResolver__factory.abi = _abi;
@@ -0,0 +1,249 @@
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.InstList__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_instaIndex",
14
+ type: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "uint64",
24
+ name: "",
25
+ type: "uint64",
26
+ },
27
+ ],
28
+ name: "accountAddr",
29
+ outputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "",
33
+ type: "address",
34
+ },
35
+ ],
36
+ stateMutability: "view",
37
+ type: "function",
38
+ },
39
+ {
40
+ inputs: [
41
+ {
42
+ internalType: "address",
43
+ name: "",
44
+ type: "address",
45
+ },
46
+ ],
47
+ name: "accountID",
48
+ outputs: [
49
+ {
50
+ internalType: "uint64",
51
+ name: "",
52
+ type: "uint64",
53
+ },
54
+ ],
55
+ stateMutability: "view",
56
+ type: "function",
57
+ },
58
+ {
59
+ inputs: [
60
+ {
61
+ internalType: "uint64",
62
+ name: "",
63
+ type: "uint64",
64
+ },
65
+ ],
66
+ name: "accountLink",
67
+ outputs: [
68
+ {
69
+ internalType: "address",
70
+ name: "first",
71
+ type: "address",
72
+ },
73
+ {
74
+ internalType: "address",
75
+ name: "last",
76
+ type: "address",
77
+ },
78
+ {
79
+ internalType: "uint64",
80
+ name: "count",
81
+ type: "uint64",
82
+ },
83
+ ],
84
+ stateMutability: "view",
85
+ type: "function",
86
+ },
87
+ {
88
+ inputs: [
89
+ {
90
+ internalType: "uint64",
91
+ name: "",
92
+ type: "uint64",
93
+ },
94
+ {
95
+ internalType: "address",
96
+ name: "",
97
+ type: "address",
98
+ },
99
+ ],
100
+ name: "accountList",
101
+ outputs: [
102
+ {
103
+ internalType: "address",
104
+ name: "prev",
105
+ type: "address",
106
+ },
107
+ {
108
+ internalType: "address",
109
+ name: "next",
110
+ type: "address",
111
+ },
112
+ ],
113
+ stateMutability: "view",
114
+ type: "function",
115
+ },
116
+ {
117
+ inputs: [],
118
+ name: "accounts",
119
+ outputs: [
120
+ {
121
+ internalType: "uint64",
122
+ name: "",
123
+ type: "uint64",
124
+ },
125
+ ],
126
+ stateMutability: "view",
127
+ type: "function",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "address",
133
+ name: "_owner",
134
+ type: "address",
135
+ },
136
+ ],
137
+ name: "addAuth",
138
+ outputs: [],
139
+ stateMutability: "nonpayable",
140
+ type: "function",
141
+ },
142
+ {
143
+ inputs: [
144
+ {
145
+ internalType: "address",
146
+ name: "_account",
147
+ type: "address",
148
+ },
149
+ ],
150
+ name: "init",
151
+ outputs: [],
152
+ stateMutability: "nonpayable",
153
+ type: "function",
154
+ },
155
+ {
156
+ inputs: [],
157
+ name: "instaIndex",
158
+ outputs: [
159
+ {
160
+ internalType: "address",
161
+ name: "",
162
+ type: "address",
163
+ },
164
+ ],
165
+ stateMutability: "view",
166
+ type: "function",
167
+ },
168
+ {
169
+ inputs: [
170
+ {
171
+ internalType: "address",
172
+ name: "_owner",
173
+ type: "address",
174
+ },
175
+ ],
176
+ name: "removeAuth",
177
+ outputs: [],
178
+ stateMutability: "nonpayable",
179
+ type: "function",
180
+ },
181
+ {
182
+ inputs: [
183
+ {
184
+ internalType: "address",
185
+ name: "",
186
+ type: "address",
187
+ },
188
+ ],
189
+ name: "userLink",
190
+ outputs: [
191
+ {
192
+ internalType: "uint64",
193
+ name: "first",
194
+ type: "uint64",
195
+ },
196
+ {
197
+ internalType: "uint64",
198
+ name: "last",
199
+ type: "uint64",
200
+ },
201
+ {
202
+ internalType: "uint64",
203
+ name: "count",
204
+ type: "uint64",
205
+ },
206
+ ],
207
+ stateMutability: "view",
208
+ type: "function",
209
+ },
210
+ {
211
+ inputs: [
212
+ {
213
+ internalType: "address",
214
+ name: "",
215
+ type: "address",
216
+ },
217
+ {
218
+ internalType: "uint64",
219
+ name: "",
220
+ type: "uint64",
221
+ },
222
+ ],
223
+ name: "userList",
224
+ outputs: [
225
+ {
226
+ internalType: "uint64",
227
+ name: "prev",
228
+ type: "uint64",
229
+ },
230
+ {
231
+ internalType: "uint64",
232
+ name: "next",
233
+ type: "uint64",
234
+ },
235
+ ],
236
+ stateMutability: "view",
237
+ type: "function",
238
+ },
239
+ ];
240
+ class InstList__factory {
241
+ static createInterface() {
242
+ return new ethers_1.utils.Interface(_abi);
243
+ }
244
+ static connect(address, signerOrProvider) {
245
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
246
+ }
247
+ }
248
+ exports.InstList__factory = InstList__factory;
249
+ InstList__factory.abi = _abi;
@@ -1,12 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InteropX__factory = exports.GnosisSafe__factory = exports.Erc20__factory = void 0;
3
+ exports.InteropX__factory = exports.InstList__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.BalanceResolver__factory = exports.AaveV3Resolver__factory = exports.AaveV2Resolver__factory = void 0;
4
4
  /* Autogenerated file. Do not edit manually. */
5
5
  /* tslint:disable */
6
6
  /* eslint-disable */
7
+ var AaveV2Resolver__factory_1 = require("./AaveV2Resolver__factory");
8
+ Object.defineProperty(exports, "AaveV2Resolver__factory", { enumerable: true, get: function () { return AaveV2Resolver__factory_1.AaveV2Resolver__factory; } });
9
+ var AaveV3Resolver__factory_1 = require("./AaveV3Resolver__factory");
10
+ Object.defineProperty(exports, "AaveV3Resolver__factory", { enumerable: true, get: function () { return AaveV3Resolver__factory_1.AaveV3Resolver__factory; } });
11
+ var BalanceResolver__factory_1 = require("./BalanceResolver__factory");
12
+ Object.defineProperty(exports, "BalanceResolver__factory", { enumerable: true, get: function () { return BalanceResolver__factory_1.BalanceResolver__factory; } });
7
13
  var Erc20__factory_1 = require("./Erc20__factory");
8
14
  Object.defineProperty(exports, "Erc20__factory", { enumerable: true, get: function () { return Erc20__factory_1.Erc20__factory; } });
9
15
  var GnosisSafe__factory_1 = require("./GnosisSafe__factory");
10
16
  Object.defineProperty(exports, "GnosisSafe__factory", { enumerable: true, get: function () { return GnosisSafe__factory_1.GnosisSafe__factory; } });
17
+ var InstList__factory_1 = require("./InstList__factory");
18
+ Object.defineProperty(exports, "InstList__factory", { enumerable: true, get: function () { return InstList__factory_1.InstList__factory; } });
11
19
  var InteropX__factory_1 = require("./InteropX__factory");
12
20
  Object.defineProperty(exports, "InteropX__factory", { enumerable: true, get: function () { return InteropX__factory_1.InteropX__factory; } });
@@ -23,11 +23,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.InteropX__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.factories = void 0;
26
+ exports.InteropX__factory = exports.InstList__factory = exports.GnosisSafe__factory = exports.Erc20__factory = exports.BalanceResolver__factory = exports.AaveV3Resolver__factory = exports.AaveV2Resolver__factory = exports.factories = void 0;
27
27
  exports.factories = __importStar(require("./factories"));
28
+ var AaveV2Resolver__factory_1 = require("./factories/AaveV2Resolver__factory");
29
+ Object.defineProperty(exports, "AaveV2Resolver__factory", { enumerable: true, get: function () { return AaveV2Resolver__factory_1.AaveV2Resolver__factory; } });
30
+ var AaveV3Resolver__factory_1 = require("./factories/AaveV3Resolver__factory");
31
+ Object.defineProperty(exports, "AaveV3Resolver__factory", { enumerable: true, get: function () { return AaveV3Resolver__factory_1.AaveV3Resolver__factory; } });
32
+ var BalanceResolver__factory_1 = require("./factories/BalanceResolver__factory");
33
+ Object.defineProperty(exports, "BalanceResolver__factory", { enumerable: true, get: function () { return BalanceResolver__factory_1.BalanceResolver__factory; } });
28
34
  var Erc20__factory_1 = require("./factories/Erc20__factory");
29
35
  Object.defineProperty(exports, "Erc20__factory", { enumerable: true, get: function () { return Erc20__factory_1.Erc20__factory; } });
30
36
  var GnosisSafe__factory_1 = require("./factories/GnosisSafe__factory");
31
37
  Object.defineProperty(exports, "GnosisSafe__factory", { enumerable: true, get: function () { return GnosisSafe__factory_1.GnosisSafe__factory; } });
38
+ var InstList__factory_1 = require("./factories/InstList__factory");
39
+ Object.defineProperty(exports, "InstList__factory", { enumerable: true, get: function () { return InstList__factory_1.InstList__factory; } });
32
40
  var InteropX__factory_1 = require("./factories/InteropX__factory");
33
41
  Object.defineProperty(exports, "InteropX__factory", { enumerable: true, get: function () { return InteropX__factory_1.InteropX__factory; } });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.asyncCallWithTimeout = void 0;
4
+ /**
5
+ * Call an async function with a maximum time limit (in milliseconds) for the timeout
6
+ * Resolved promise for async function call, or an error if time limit reached
7
+ */
8
+ const asyncCallWithTimeout = async (asyncPromise, timeout) => {
9
+ let timeoutHandle;
10
+ const timeoutPromise = new Promise((_resolve, reject) => {
11
+ timeoutHandle = setTimeout(() => reject(new Error("Async call timeout limit reached")), timeout);
12
+ });
13
+ return Promise.race([asyncPromise, timeoutPromise]).then((result) => {
14
+ clearTimeout(timeoutHandle);
15
+ return result;
16
+ });
17
+ };
18
+ exports.asyncCallWithTimeout = asyncCallWithTimeout;
@@ -0,0 +1,24 @@
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.encodeConnectorMethod = void 0;
7
+ const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
8
+ const connectors_1 = require("@/abi/connectors");
9
+ const encodeConnectorMethod = (params) => {
10
+ const connectorInterface = getInterface(connectors_1.connectors.versions[2][params.connector], params.method);
11
+ if (!connectorInterface)
12
+ throw new Error(`ConnectorInterface '${params.method}' not found`);
13
+ //@ts-ignore
14
+ return web3_eth_abi_1.default.encodeFunctionCall(connectorInterface, params.args);
15
+ };
16
+ exports.encodeConnectorMethod = encodeConnectorMethod;
17
+ const getInterface = (abiItems, method) => {
18
+ const abiItem = abiItems.find((abiItem) => abiItem.name === method);
19
+ if (!abiItem) {
20
+ console.error(`${method} is an invalid method.`);
21
+ return;
22
+ }
23
+ return abiItem;
24
+ };
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExplorerUrl = exports.getChainIdNativeSymbol = exports.chainIdToName = exports.short = exports.shortenHash = exports.formatUsd = void 0;
4
+ const locale = "en-US";
5
+ function formatUsd(value, fractionDigits = 0) {
6
+ const formatter = new Intl.NumberFormat(locale, {
7
+ style: "currency",
8
+ currency: "USD",
9
+ minimumFractionDigits: fractionDigits,
10
+ maximumFractionDigits: fractionDigits
11
+ });
12
+ return formatter.format(value);
13
+ }
14
+ exports.formatUsd = formatUsd;
15
+ function shortenHash(hash, length = 4) {
16
+ if (!hash)
17
+ return;
18
+ if (hash.length < 12)
19
+ return hash;
20
+ const beginningChars = hash.startsWith("0x") ? length + 2 : length;
21
+ const shortened = hash.substr(0, beginningChars) + "…" + hash.substr(-length);
22
+ return shortened;
23
+ }
24
+ exports.shortenHash = shortenHash;
25
+ function short(buffer) {
26
+ return buffer.toString("hex").slice(0, 8) + "...";
27
+ }
28
+ exports.short = short;
29
+ const chainIdToName = (chainId) => {
30
+ switch (String(chainId)) {
31
+ case "1":
32
+ return "Mainnet";
33
+ case "137":
34
+ return "Polygon";
35
+ case "43114":
36
+ return "Avalanche";
37
+ default:
38
+ return "Mainnet";
39
+ }
40
+ };
41
+ exports.chainIdToName = chainIdToName;
42
+ const getChainIdNativeSymbol = (chainId) => {
43
+ switch (String(chainId)) {
44
+ case "137":
45
+ return "MATIC";
46
+ case "43114":
47
+ return "AVAX";
48
+ case "1":
49
+ return "ETH";
50
+ default:
51
+ return "ETH";
52
+ }
53
+ };
54
+ exports.getChainIdNativeSymbol = getChainIdNativeSymbol;
55
+ const getExplorerUrl = (chainId, suffix = '/') => {
56
+ switch (String(chainId)) {
57
+ case "1":
58
+ return `https://etherscan.io${suffix}`;
59
+ case "137":
60
+ return `https://polygonscan.com${suffix}`;
61
+ case "43114":
62
+ return `https://snowtrace.io${suffix}`;
63
+ default:
64
+ return `https://etherscan.io${suffix}`;
65
+ }
66
+ };
67
+ exports.getExplorerUrl = getExplorerUrl;