@swapkit/helpers 2.4.3 → 3.0.0-beta.0

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 (106) hide show
  1. package/dist/api/index.cjs +3 -0
  2. package/dist/api/index.cjs.map +16 -0
  3. package/dist/api/index.js +3 -0
  4. package/dist/api/index.js.map +16 -0
  5. package/dist/chunk-fazw0jvt.js +3 -0
  6. package/dist/chunk-fazw0jvt.js.map +9 -0
  7. package/dist/chunk-nm00d52v.js +4 -0
  8. package/dist/chunk-nm00d52v.js.map +9 -0
  9. package/dist/contracts/index.cjs +3 -0
  10. package/dist/contracts/index.cjs.map +38 -0
  11. package/dist/contracts/index.js +3 -0
  12. package/dist/contracts/index.js.map +38 -0
  13. package/dist/index.cjs +6 -0
  14. package/dist/index.cjs.map +29 -0
  15. package/dist/index.js +3 -3
  16. package/dist/index.js.map +19 -20
  17. package/dist/tokens/index.cjs +3 -0
  18. package/dist/tokens/index.cjs.map +23 -0
  19. package/dist/tokens/index.js +3 -0
  20. package/dist/tokens/index.js.map +23 -0
  21. package/package.json +31 -15
  22. package/src/api/index.ts +19 -0
  23. package/src/api/microgard/endpoints.ts +83 -0
  24. package/src/api/microgard/types.ts +60 -0
  25. package/src/api/midgard/endpoints.ts +166 -0
  26. package/src/api/midgard/types.ts +155 -0
  27. package/src/api/swapkitApi/endpoints.ts +266 -0
  28. package/src/api/swapkitApi/types.ts +772 -0
  29. package/src/api/thornode/endpoints.ts +78 -0
  30. package/src/api/thornode/types.ts +241 -0
  31. package/src/api/thorswapStatic/endpoints.ts +30 -0
  32. package/src/api/thorswapStatic/types.ts +18 -0
  33. package/src/contracts/abis/avaxGeneric.ts +92 -0
  34. package/src/contracts/abis/avaxWoofi.ts +145 -0
  35. package/src/contracts/abis/bscGeneric.ts +106 -0
  36. package/src/contracts/abis/chainflipGateway.ts +330 -0
  37. package/src/contracts/abis/erc20.ts +99 -0
  38. package/src/contracts/abis/ethGeneric.ts +92 -0
  39. package/src/contracts/abis/mayaEvmVaults.ts +331 -0
  40. package/src/contracts/abis/pancakeV2.ts +145 -0
  41. package/src/contracts/abis/pangolin.ts +120 -0
  42. package/src/contracts/abis/sushiswap.ts +120 -0
  43. package/src/contracts/abis/tcEthVault.ts +650 -0
  44. package/src/contracts/abis/traderJoe.ts +120 -0
  45. package/src/contracts/abis/uniswapV2.ts +120 -0
  46. package/src/contracts/abis/uniswapV2Leg.ts +128 -0
  47. package/src/contracts/abis/uniswapV3_100.ts +128 -0
  48. package/src/contracts/abis/uniswapV3_10000.ts +128 -0
  49. package/src/contracts/abis/uniswapV3_3000.ts +128 -0
  50. package/src/contracts/abis/uniswapV3_500.ts +128 -0
  51. package/src/contracts/index.ts +95 -0
  52. package/src/contracts/routers/index.ts +58 -0
  53. package/src/contracts/routers/kyber.ts +402 -0
  54. package/src/contracts/routers/oneinch.ts +2188 -0
  55. package/src/contracts/routers/pancakeswap.ts +340 -0
  56. package/src/contracts/routers/pangolin.ts +340 -0
  57. package/src/contracts/routers/sushiswap.ts +340 -0
  58. package/src/contracts/routers/traderJoe.ts +340 -0
  59. package/src/contracts/routers/uniswapv2.ts +340 -0
  60. package/src/contracts/routers/uniswapv3.ts +254 -0
  61. package/src/contracts/routers/woofi.ts +171 -0
  62. package/src/index.ts +11 -12
  63. package/src/modules/__tests__/assetValue.test.ts +0 -2
  64. package/src/modules/__tests__/swapKitConfig.test.ts +37 -0
  65. package/src/modules/assetValue.ts +26 -92
  66. package/src/modules/bigIntArithmetics.ts +6 -2
  67. package/src/modules/requestClient.ts +26 -35
  68. package/src/modules/swapKitConfig.ts +131 -0
  69. package/src/modules/swapKitError.ts +6 -6
  70. package/src/tokens/index.ts +15 -0
  71. package/src/tokens/lists/camelot_v3.ts +15920 -0
  72. package/src/tokens/lists/caviar_v1.ts +1694 -0
  73. package/src/tokens/lists/chainflip.ts +104 -0
  74. package/src/tokens/lists/index.ts +13 -0
  75. package/src/tokens/lists/jupiter.ts +29606 -0
  76. package/src/tokens/lists/mayachain.ts +513 -0
  77. package/src/tokens/lists/oneinch.ts +14238 -0
  78. package/src/tokens/lists/openocean_v2.ts +11514 -0
  79. package/src/tokens/lists/pancakeswap.ts +4296 -0
  80. package/src/tokens/lists/pangolin_v1.ts +175 -0
  81. package/src/tokens/lists/sushiswap_v2.ts +965 -0
  82. package/src/tokens/lists/thorchain.ts +669 -0
  83. package/src/tokens/lists/traderjoe_v2.ts +1384 -0
  84. package/src/tokens/lists/uniswap_v2.ts +5596 -0
  85. package/src/tokens/lists/uniswap_v3.ts +5946 -0
  86. package/src/types/chains.ts +26 -46
  87. package/src/types/commonTypes.ts +3 -90
  88. package/src/types/index.ts +3 -4
  89. package/src/types/sdk.ts +0 -24
  90. package/src/types/tokens.ts +1 -1
  91. package/src/types/wallet.ts +37 -21
  92. package/src/{helpers → utils}/asset.ts +49 -19
  93. package/src/{helpers → utils}/derivationPath.ts +7 -2
  94. package/src/{helpers → utils}/memo.ts +0 -65
  95. package/src/{helpers → utils}/others.ts +12 -5
  96. package/src/utils/plugin.ts +13 -0
  97. package/src/{helpers/web3wallets.ts → utils/wallets.ts} +175 -148
  98. package/src/modules/walletUtils.ts +0 -30
  99. package/src/types/network.ts +0 -49
  100. /package/src/{helpers → utils}/__tests__/asset.test.ts +0 -0
  101. /package/src/{helpers/__tests__/derivationPath.ts → utils/__tests__/derivationPath.test.ts} +0 -0
  102. /package/src/{helpers → utils}/__tests__/memo.test.ts +0 -0
  103. /package/src/{helpers → utils}/__tests__/others.test.ts +0 -0
  104. /package/src/{helpers → utils}/__tests__/validators.test.ts +0 -0
  105. /package/src/{helpers → utils}/liquidity.ts +0 -0
  106. /package/src/{helpers → utils}/validators.ts +0 -0
@@ -0,0 +1,650 @@
1
+ export const TCEthereumVaultAbi = [
2
+ {
3
+ inputs: [{ internalType: "address", name: "rune", type: "address" }],
4
+ stateMutability: "nonpayable",
5
+ type: "constructor",
6
+ },
7
+ {
8
+ anonymous: false,
9
+ inputs: [
10
+ { indexed: true, internalType: "address", name: "to", type: "address" },
11
+ { indexed: true, internalType: "address", name: "asset", type: "address" },
12
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
13
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
14
+ ],
15
+ name: "Deposit",
16
+ type: "event",
17
+ },
18
+ {
19
+ anonymous: false,
20
+ inputs: [
21
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
22
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
23
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
24
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
25
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
26
+ ],
27
+ name: "TransferAllowance",
28
+ type: "event",
29
+ },
30
+ {
31
+ anonymous: false,
32
+ inputs: [
33
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
34
+ { indexed: true, internalType: "address", name: "to", type: "address" },
35
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
36
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
37
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
38
+ ],
39
+ name: "TransferOut",
40
+ type: "event",
41
+ },
42
+ {
43
+ anonymous: false,
44
+ inputs: [
45
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
46
+ { indexed: false, internalType: "address", name: "target", type: "address" },
47
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
48
+ { indexed: false, internalType: "address", name: "finalAsset", type: "address" },
49
+ { indexed: false, internalType: "address", name: "to", type: "address" },
50
+ { indexed: false, internalType: "uint256", name: "amountOutMin", type: "uint256" },
51
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
52
+ ],
53
+ name: "TransferOutAndCall",
54
+ type: "event",
55
+ },
56
+ {
57
+ anonymous: false,
58
+ inputs: [
59
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
60
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
61
+ {
62
+ components: [
63
+ { internalType: "address", name: "asset", type: "address" },
64
+ { internalType: "uint256", name: "amount", type: "uint256" },
65
+ ],
66
+ indexed: false,
67
+ internalType: "struct THORChain_Router.Coin[]",
68
+ name: "coins",
69
+ type: "tuple[]",
70
+ },
71
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
72
+ ],
73
+ name: "VaultTransfer",
74
+ type: "event",
75
+ },
76
+ {
77
+ inputs: [],
78
+ name: "RUNE",
79
+ outputs: [{ internalType: "address", name: "", type: "address" }],
80
+ stateMutability: "view",
81
+ type: "function",
82
+ },
83
+ {
84
+ inputs: [
85
+ { internalType: "address payable", name: "vault", type: "address" },
86
+ { internalType: "address", name: "asset", type: "address" },
87
+ { internalType: "uint256", name: "amount", type: "uint256" },
88
+ { internalType: "string", name: "memo", type: "string" },
89
+ ],
90
+ name: "deposit",
91
+ outputs: [],
92
+ stateMutability: "payable",
93
+ type: "function",
94
+ },
95
+ {
96
+ inputs: [
97
+ { internalType: "address payable", name: "vault", type: "address" },
98
+ { internalType: "address", name: "asset", type: "address" },
99
+ { internalType: "uint256", name: "amount", type: "uint256" },
100
+ { internalType: "string", name: "memo", type: "string" },
101
+ { internalType: "uint256", name: "expiration", type: "uint256" },
102
+ ],
103
+ name: "depositWithExpiry",
104
+ outputs: [],
105
+ stateMutability: "payable",
106
+ type: "function",
107
+ },
108
+ {
109
+ inputs: [
110
+ { internalType: "address", name: "router", type: "address" },
111
+ { internalType: "address payable", name: "asgard", type: "address" },
112
+ {
113
+ components: [
114
+ { internalType: "address", name: "asset", type: "address" },
115
+ { internalType: "uint256", name: "amount", type: "uint256" },
116
+ ],
117
+ internalType: "struct THORChain_Router.Coin[]",
118
+ name: "coins",
119
+ type: "tuple[]",
120
+ },
121
+ { internalType: "string", name: "memo", type: "string" },
122
+ ],
123
+ name: "returnVaultAssets",
124
+ outputs: [],
125
+ stateMutability: "payable",
126
+ type: "function",
127
+ },
128
+ {
129
+ inputs: [
130
+ { internalType: "address", name: "router", type: "address" },
131
+ { internalType: "address", name: "newVault", type: "address" },
132
+ { internalType: "address", name: "asset", type: "address" },
133
+ { internalType: "uint256", name: "amount", type: "uint256" },
134
+ { internalType: "string", name: "memo", type: "string" },
135
+ ],
136
+ name: "transferAllowance",
137
+ outputs: [],
138
+ stateMutability: "nonpayable",
139
+ type: "function",
140
+ },
141
+ {
142
+ inputs: [
143
+ { internalType: "address payable", name: "to", type: "address" },
144
+ { internalType: "address", name: "asset", type: "address" },
145
+ { internalType: "uint256", name: "amount", type: "uint256" },
146
+ { internalType: "string", name: "memo", type: "string" },
147
+ ],
148
+ name: "transferOut",
149
+ outputs: [],
150
+ stateMutability: "payable",
151
+ type: "function",
152
+ },
153
+ {
154
+ inputs: [
155
+ { internalType: "address payable", name: "aggregator", type: "address" },
156
+ { internalType: "address", name: "finalToken", type: "address" },
157
+ { internalType: "address", name: "to", type: "address" },
158
+ { internalType: "uint256", name: "amountOutMin", type: "uint256" },
159
+ { internalType: "string", name: "memo", type: "string" },
160
+ ],
161
+ name: "transferOutAndCall",
162
+ outputs: [],
163
+ stateMutability: "payable",
164
+ type: "function",
165
+ },
166
+ {
167
+ inputs: [
168
+ { internalType: "address", name: "vault", type: "address" },
169
+ { internalType: "address", name: "token", type: "address" },
170
+ ],
171
+ name: "vaultAllowance",
172
+ outputs: [{ internalType: "uint256", name: "amount", type: "uint256" }],
173
+ stateMutability: "view",
174
+ type: "function",
175
+ },
176
+ ];
177
+
178
+ export const TCAvalancheDepositABI = [
179
+ { inputs: [], stateMutability: "nonpayable", type: "constructor" },
180
+ {
181
+ anonymous: false,
182
+ inputs: [
183
+ { indexed: true, internalType: "address", name: "to", type: "address" },
184
+ { indexed: true, internalType: "address", name: "asset", type: "address" },
185
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
186
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
187
+ ],
188
+ name: "Deposit",
189
+ type: "event",
190
+ },
191
+ {
192
+ anonymous: false,
193
+ inputs: [
194
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
195
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
196
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
197
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
198
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
199
+ ],
200
+ name: "TransferAllowance",
201
+ type: "event",
202
+ },
203
+ {
204
+ anonymous: false,
205
+ inputs: [
206
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
207
+ { indexed: true, internalType: "address", name: "to", type: "address" },
208
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
209
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
210
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
211
+ ],
212
+ name: "TransferOut",
213
+ type: "event",
214
+ },
215
+ {
216
+ anonymous: false,
217
+ inputs: [
218
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
219
+ { indexed: false, internalType: "address", name: "target", type: "address" },
220
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
221
+ { indexed: false, internalType: "address", name: "finalAsset", type: "address" },
222
+ { indexed: false, internalType: "address", name: "to", type: "address" },
223
+ { indexed: false, internalType: "uint256", name: "amountOutMin", type: "uint256" },
224
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
225
+ ],
226
+ name: "TransferOutAndCall",
227
+ type: "event",
228
+ },
229
+ {
230
+ anonymous: false,
231
+ inputs: [
232
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
233
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
234
+ {
235
+ components: [
236
+ { internalType: "address", name: "asset", type: "address" },
237
+ { internalType: "uint256", name: "amount", type: "uint256" },
238
+ ],
239
+ indexed: false,
240
+ internalType: "struct AvaxRouter.Coin[]",
241
+ name: "coins",
242
+ type: "tuple[]",
243
+ },
244
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
245
+ ],
246
+ name: "VaultTransfer",
247
+ type: "event",
248
+ },
249
+ {
250
+ inputs: [
251
+ { internalType: "address payable", name: "vault", type: "address" },
252
+ { internalType: "address", name: "asset", type: "address" },
253
+ { internalType: "uint256", name: "amount", type: "uint256" },
254
+ { internalType: "string", name: "memo", type: "string" },
255
+ ],
256
+ name: "deposit",
257
+ outputs: [],
258
+ stateMutability: "payable",
259
+ type: "function",
260
+ },
261
+ {
262
+ inputs: [
263
+ { internalType: "address payable", name: "vault", type: "address" },
264
+ { internalType: "address", name: "asset", type: "address" },
265
+ { internalType: "uint256", name: "amount", type: "uint256" },
266
+ { internalType: "string", name: "memo", type: "string" },
267
+ { internalType: "uint256", name: "expiration", type: "uint256" },
268
+ ],
269
+ name: "depositWithExpiry",
270
+ outputs: [],
271
+ stateMutability: "payable",
272
+ type: "function",
273
+ },
274
+ {
275
+ inputs: [
276
+ { internalType: "address", name: "router", type: "address" },
277
+ { internalType: "address payable", name: "asgard", type: "address" },
278
+ {
279
+ components: [
280
+ { internalType: "address", name: "asset", type: "address" },
281
+ { internalType: "uint256", name: "amount", type: "uint256" },
282
+ ],
283
+ internalType: "struct AvaxRouter.Coin[]",
284
+ name: "coins",
285
+ type: "tuple[]",
286
+ },
287
+ { internalType: "string", name: "memo", type: "string" },
288
+ ],
289
+ name: "returnVaultAssets",
290
+ outputs: [],
291
+ stateMutability: "payable",
292
+ type: "function",
293
+ },
294
+ {
295
+ inputs: [
296
+ { internalType: "address", name: "router", type: "address" },
297
+ { internalType: "address", name: "newVault", type: "address" },
298
+ { internalType: "address", name: "asset", type: "address" },
299
+ { internalType: "uint256", name: "amount", type: "uint256" },
300
+ { internalType: "string", name: "memo", type: "string" },
301
+ ],
302
+ name: "transferAllowance",
303
+ outputs: [],
304
+ stateMutability: "nonpayable",
305
+ type: "function",
306
+ },
307
+ {
308
+ inputs: [
309
+ { internalType: "address payable", name: "to", type: "address" },
310
+ { internalType: "address", name: "asset", type: "address" },
311
+ { internalType: "uint256", name: "amount", type: "uint256" },
312
+ { internalType: "string", name: "memo", type: "string" },
313
+ ],
314
+ name: "transferOut",
315
+ outputs: [],
316
+ stateMutability: "payable",
317
+ type: "function",
318
+ },
319
+ {
320
+ inputs: [
321
+ { internalType: "address payable", name: "target", type: "address" },
322
+ { internalType: "address", name: "finalToken", type: "address" },
323
+ { internalType: "address", name: "to", type: "address" },
324
+ { internalType: "uint256", name: "amountOutMin", type: "uint256" },
325
+ { internalType: "string", name: "memo", type: "string" },
326
+ ],
327
+ name: "transferOutAndCall",
328
+ outputs: [],
329
+ stateMutability: "payable",
330
+ type: "function",
331
+ },
332
+ {
333
+ inputs: [
334
+ { internalType: "address", name: "vault", type: "address" },
335
+ { internalType: "address", name: "token", type: "address" },
336
+ ],
337
+ name: "vaultAllowance",
338
+ outputs: [{ internalType: "uint256", name: "amount", type: "uint256" }],
339
+ stateMutability: "view",
340
+ type: "function",
341
+ },
342
+ ];
343
+
344
+ export const TCBscDepositABI = [
345
+ { inputs: [], stateMutability: "nonpayable", type: "constructor" },
346
+ {
347
+ anonymous: false,
348
+ inputs: [
349
+ { indexed: true, internalType: "address", name: "to", type: "address" },
350
+ { indexed: true, internalType: "address", name: "asset", type: "address" },
351
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
352
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
353
+ ],
354
+ name: "Deposit",
355
+ type: "event",
356
+ },
357
+ {
358
+ anonymous: false,
359
+ inputs: [
360
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
361
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
362
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
363
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
364
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
365
+ ],
366
+ name: "TransferAllowance",
367
+ type: "event",
368
+ },
369
+ {
370
+ anonymous: false,
371
+ inputs: [
372
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
373
+ { indexed: true, internalType: "address", name: "to", type: "address" },
374
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
375
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
376
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
377
+ ],
378
+ name: "TransferOut",
379
+ type: "event",
380
+ },
381
+ {
382
+ anonymous: false,
383
+ inputs: [
384
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
385
+ { indexed: false, internalType: "address", name: "target", type: "address" },
386
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
387
+ { indexed: false, internalType: "address", name: "finalAsset", type: "address" },
388
+ { indexed: false, internalType: "address", name: "to", type: "address" },
389
+ { indexed: false, internalType: "uint256", name: "amountOutMin", type: "uint256" },
390
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
391
+ ],
392
+ name: "TransferOutAndCall",
393
+ type: "event",
394
+ },
395
+ {
396
+ anonymous: false,
397
+ inputs: [
398
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
399
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
400
+ {
401
+ components: [
402
+ { internalType: "address", name: "asset", type: "address" },
403
+ { internalType: "uint256", name: "amount", type: "uint256" },
404
+ ],
405
+ indexed: false,
406
+ internalType: "struct THORChain_Router.Coin[]",
407
+ name: "coins",
408
+ type: "tuple[]",
409
+ },
410
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
411
+ ],
412
+ name: "VaultTransfer",
413
+ type: "event",
414
+ },
415
+ {
416
+ inputs: [
417
+ { internalType: "address payable", name: "vault", type: "address" },
418
+ { internalType: "address", name: "asset", type: "address" },
419
+ { internalType: "uint256", name: "amount", type: "uint256" },
420
+ { internalType: "string", name: "memo", type: "string" },
421
+ { internalType: "uint256", name: "expiration", type: "uint256" },
422
+ ],
423
+ name: "depositWithExpiry",
424
+ outputs: [],
425
+ stateMutability: "payable",
426
+ type: "function",
427
+ },
428
+ {
429
+ inputs: [
430
+ { internalType: "address", name: "router", type: "address" },
431
+ { internalType: "address payable", name: "asgard", type: "address" },
432
+ {
433
+ components: [
434
+ { internalType: "address", name: "asset", type: "address" },
435
+ { internalType: "uint256", name: "amount", type: "uint256" },
436
+ ],
437
+ internalType: "struct THORChain_Router.Coin[]",
438
+ name: "coins",
439
+ type: "tuple[]",
440
+ },
441
+ { internalType: "string", name: "memo", type: "string" },
442
+ ],
443
+ name: "returnVaultAssets",
444
+ outputs: [],
445
+ stateMutability: "payable",
446
+ type: "function",
447
+ },
448
+ {
449
+ inputs: [
450
+ { internalType: "address", name: "router", type: "address" },
451
+ { internalType: "address", name: "newVault", type: "address" },
452
+ { internalType: "address", name: "asset", type: "address" },
453
+ { internalType: "uint256", name: "amount", type: "uint256" },
454
+ { internalType: "string", name: "memo", type: "string" },
455
+ ],
456
+ name: "transferAllowance",
457
+ outputs: [],
458
+ stateMutability: "nonpayable",
459
+ type: "function",
460
+ },
461
+ {
462
+ inputs: [
463
+ { internalType: "address payable", name: "to", type: "address" },
464
+ { internalType: "address", name: "asset", type: "address" },
465
+ { internalType: "uint256", name: "amount", type: "uint256" },
466
+ { internalType: "string", name: "memo", type: "string" },
467
+ ],
468
+ name: "transferOut",
469
+ outputs: [],
470
+ stateMutability: "payable",
471
+ type: "function",
472
+ },
473
+ {
474
+ inputs: [
475
+ { internalType: "address payable", name: "target", type: "address" },
476
+ { internalType: "address", name: "finalToken", type: "address" },
477
+ { internalType: "address", name: "to", type: "address" },
478
+ { internalType: "uint256", name: "amountOutMin", type: "uint256" },
479
+ { internalType: "string", name: "memo", type: "string" },
480
+ ],
481
+ name: "transferOutAndCall",
482
+ outputs: [],
483
+ stateMutability: "payable",
484
+ type: "function",
485
+ },
486
+ {
487
+ inputs: [
488
+ { internalType: "address", name: "vault", type: "address" },
489
+ { internalType: "address", name: "token", type: "address" },
490
+ ],
491
+ name: "vaultAllowance",
492
+ outputs: [{ internalType: "uint256", name: "amount", type: "uint256" }],
493
+ stateMutability: "view",
494
+ type: "function",
495
+ },
496
+ ];
497
+
498
+ export const TCBaseDepositABI = [
499
+ { inputs: [], stateMutability: "nonpayable", type: "constructor" },
500
+ {
501
+ anonymous: false,
502
+ inputs: [
503
+ { indexed: true, internalType: "address", name: "to", type: "address" },
504
+ { indexed: true, internalType: "address", name: "asset", type: "address" },
505
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
506
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
507
+ ],
508
+ name: "Deposit",
509
+ type: "event",
510
+ },
511
+ {
512
+ anonymous: false,
513
+ inputs: [
514
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
515
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
516
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
517
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
518
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
519
+ ],
520
+ name: "TransferAllowance",
521
+ type: "event",
522
+ },
523
+ {
524
+ anonymous: false,
525
+ inputs: [
526
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
527
+ { indexed: true, internalType: "address", name: "to", type: "address" },
528
+ { indexed: false, internalType: "address", name: "asset", type: "address" },
529
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
530
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
531
+ ],
532
+ name: "TransferOut",
533
+ type: "event",
534
+ },
535
+ {
536
+ anonymous: false,
537
+ inputs: [
538
+ { indexed: true, internalType: "address", name: "vault", type: "address" },
539
+ { indexed: false, internalType: "address", name: "target", type: "address" },
540
+ { indexed: false, internalType: "uint256", name: "amount", type: "uint256" },
541
+ { indexed: false, internalType: "address", name: "finalAsset", type: "address" },
542
+ { indexed: false, internalType: "address", name: "to", type: "address" },
543
+ { indexed: false, internalType: "uint256", name: "amountOutMin", type: "uint256" },
544
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
545
+ ],
546
+ name: "TransferOutAndCall",
547
+ type: "event",
548
+ },
549
+ {
550
+ anonymous: false,
551
+ inputs: [
552
+ { indexed: true, internalType: "address", name: "oldVault", type: "address" },
553
+ { indexed: true, internalType: "address", name: "newVault", type: "address" },
554
+ {
555
+ components: [
556
+ { internalType: "address", name: "asset", type: "address" },
557
+ { internalType: "uint256", name: "amount", type: "uint256" },
558
+ ],
559
+ indexed: false,
560
+ internalType: "struct THORChain_Router.Coin[]",
561
+ name: "coins",
562
+ type: "tuple[]",
563
+ },
564
+ { indexed: false, internalType: "string", name: "memo", type: "string" },
565
+ ],
566
+ name: "VaultTransfer",
567
+ type: "event",
568
+ },
569
+ {
570
+ inputs: [
571
+ { internalType: "address payable", name: "vault", type: "address" },
572
+ { internalType: "address", name: "asset", type: "address" },
573
+ { internalType: "uint256", name: "amount", type: "uint256" },
574
+ { internalType: "string", name: "memo", type: "string" },
575
+ { internalType: "uint256", name: "expiration", type: "uint256" },
576
+ ],
577
+ name: "depositWithExpiry",
578
+ outputs: [],
579
+ stateMutability: "payable",
580
+ type: "function",
581
+ },
582
+ {
583
+ inputs: [
584
+ { internalType: "address", name: "router", type: "address" },
585
+ { internalType: "address payable", name: "asgard", type: "address" },
586
+ {
587
+ components: [
588
+ { internalType: "address", name: "asset", type: "address" },
589
+ { internalType: "uint256", name: "amount", type: "uint256" },
590
+ ],
591
+ internalType: "struct THORChain_Router.Coin[]",
592
+ name: "coins",
593
+ type: "tuple[]",
594
+ },
595
+ { internalType: "string", name: "memo", type: "string" },
596
+ ],
597
+ name: "returnVaultAssets",
598
+ outputs: [],
599
+ stateMutability: "payable",
600
+ type: "function",
601
+ },
602
+ {
603
+ inputs: [
604
+ { internalType: "address", name: "router", type: "address" },
605
+ { internalType: "address", name: "newVault", type: "address" },
606
+ { internalType: "address", name: "asset", type: "address" },
607
+ { internalType: "uint256", name: "amount", type: "uint256" },
608
+ { internalType: "string", name: "memo", type: "string" },
609
+ ],
610
+ name: "transferAllowance",
611
+ outputs: [],
612
+ stateMutability: "nonpayable",
613
+ type: "function",
614
+ },
615
+ {
616
+ inputs: [
617
+ { internalType: "address payable", name: "to", type: "address" },
618
+ { internalType: "address", name: "asset", type: "address" },
619
+ { internalType: "uint256", name: "amount", type: "uint256" },
620
+ { internalType: "string", name: "memo", type: "string" },
621
+ ],
622
+ name: "transferOut",
623
+ outputs: [],
624
+ stateMutability: "payable",
625
+ type: "function",
626
+ },
627
+ {
628
+ inputs: [
629
+ { internalType: "address payable", name: "target", type: "address" },
630
+ { internalType: "address", name: "finalToken", type: "address" },
631
+ { internalType: "address", name: "to", type: "address" },
632
+ { internalType: "uint256", name: "amountOutMin", type: "uint256" },
633
+ { internalType: "string", name: "memo", type: "string" },
634
+ ],
635
+ name: "transferOutAndCall",
636
+ outputs: [],
637
+ stateMutability: "payable",
638
+ type: "function",
639
+ },
640
+ {
641
+ inputs: [
642
+ { internalType: "address", name: "vault", type: "address" },
643
+ { internalType: "address", name: "token", type: "address" },
644
+ ],
645
+ name: "vaultAllowance",
646
+ outputs: [{ internalType: "uint256", name: "amount", type: "uint256" }],
647
+ stateMutability: "view",
648
+ type: "function",
649
+ },
650
+ ];