@atomiqlabs/chain-evm 1.0.0-dev.22

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 (146) hide show
  1. package/LICENSE +201 -0
  2. package/dist/chains/citrea/CitreaChainType.d.ts +13 -0
  3. package/dist/chains/citrea/CitreaChainType.js +2 -0
  4. package/dist/chains/citrea/CitreaInitializer.d.ts +30 -0
  5. package/dist/chains/citrea/CitreaInitializer.js +120 -0
  6. package/dist/evm/btcrelay/BtcRelayAbi.d.ts +198 -0
  7. package/dist/evm/btcrelay/BtcRelayAbi.js +261 -0
  8. package/dist/evm/btcrelay/BtcRelayTypechain.d.ts +172 -0
  9. package/dist/evm/btcrelay/BtcRelayTypechain.js +2 -0
  10. package/dist/evm/btcrelay/EVMBtcRelay.d.ts +188 -0
  11. package/dist/evm/btcrelay/EVMBtcRelay.js +419 -0
  12. package/dist/evm/btcrelay/headers/EVMBtcHeader.d.ts +33 -0
  13. package/dist/evm/btcrelay/headers/EVMBtcHeader.js +84 -0
  14. package/dist/evm/btcrelay/headers/EVMBtcStoredHeader.d.ts +56 -0
  15. package/dist/evm/btcrelay/headers/EVMBtcStoredHeader.js +123 -0
  16. package/dist/evm/chain/EVMChainInterface.d.ts +51 -0
  17. package/dist/evm/chain/EVMChainInterface.js +90 -0
  18. package/dist/evm/chain/EVMModule.d.ts +9 -0
  19. package/dist/evm/chain/EVMModule.js +13 -0
  20. package/dist/evm/chain/modules/ERC20Abi.d.ts +168 -0
  21. package/dist/evm/chain/modules/ERC20Abi.js +225 -0
  22. package/dist/evm/chain/modules/EVMAddresses.d.ts +9 -0
  23. package/dist/evm/chain/modules/EVMAddresses.js +26 -0
  24. package/dist/evm/chain/modules/EVMBlocks.d.ts +20 -0
  25. package/dist/evm/chain/modules/EVMBlocks.js +64 -0
  26. package/dist/evm/chain/modules/EVMEvents.d.ts +36 -0
  27. package/dist/evm/chain/modules/EVMEvents.js +122 -0
  28. package/dist/evm/chain/modules/EVMFees.d.ts +35 -0
  29. package/dist/evm/chain/modules/EVMFees.js +73 -0
  30. package/dist/evm/chain/modules/EVMSignatures.d.ts +29 -0
  31. package/dist/evm/chain/modules/EVMSignatures.js +68 -0
  32. package/dist/evm/chain/modules/EVMTokens.d.ts +49 -0
  33. package/dist/evm/chain/modules/EVMTokens.js +105 -0
  34. package/dist/evm/chain/modules/EVMTransactions.d.ts +89 -0
  35. package/dist/evm/chain/modules/EVMTransactions.js +216 -0
  36. package/dist/evm/contract/EVMContractBase.d.ts +22 -0
  37. package/dist/evm/contract/EVMContractBase.js +34 -0
  38. package/dist/evm/contract/EVMContractModule.d.ts +8 -0
  39. package/dist/evm/contract/EVMContractModule.js +11 -0
  40. package/dist/evm/contract/modules/EVMContractEvents.d.ts +42 -0
  41. package/dist/evm/contract/modules/EVMContractEvents.js +75 -0
  42. package/dist/evm/events/EVMChainEvents.d.ts +22 -0
  43. package/dist/evm/events/EVMChainEvents.js +67 -0
  44. package/dist/evm/events/EVMChainEventsBrowser.d.ts +86 -0
  45. package/dist/evm/events/EVMChainEventsBrowser.js +294 -0
  46. package/dist/evm/spv_swap/EVMSpvVaultContract.d.ts +64 -0
  47. package/dist/evm/spv_swap/EVMSpvVaultContract.js +410 -0
  48. package/dist/evm/spv_swap/EVMSpvVaultData.d.ts +38 -0
  49. package/dist/evm/spv_swap/EVMSpvVaultData.js +159 -0
  50. package/dist/evm/spv_swap/EVMSpvWithdrawalData.d.ts +19 -0
  51. package/dist/evm/spv_swap/EVMSpvWithdrawalData.js +55 -0
  52. package/dist/evm/spv_swap/SpvVaultContractAbi.d.ts +91 -0
  53. package/dist/evm/spv_swap/SpvVaultContractAbi.js +849 -0
  54. package/dist/evm/spv_swap/SpvVaultContractTypechain.d.ts +450 -0
  55. package/dist/evm/spv_swap/SpvVaultContractTypechain.js +2 -0
  56. package/dist/evm/swaps/EVMSwapContract.d.ts +192 -0
  57. package/dist/evm/swaps/EVMSwapContract.js +373 -0
  58. package/dist/evm/swaps/EVMSwapData.d.ts +64 -0
  59. package/dist/evm/swaps/EVMSwapData.js +254 -0
  60. package/dist/evm/swaps/EVMSwapModule.d.ts +9 -0
  61. package/dist/evm/swaps/EVMSwapModule.js +11 -0
  62. package/dist/evm/swaps/EscrowManagerAbi.d.ts +120 -0
  63. package/dist/evm/swaps/EscrowManagerAbi.js +985 -0
  64. package/dist/evm/swaps/EscrowManagerTypechain.d.ts +475 -0
  65. package/dist/evm/swaps/EscrowManagerTypechain.js +2 -0
  66. package/dist/evm/swaps/handlers/IHandler.d.ts +13 -0
  67. package/dist/evm/swaps/handlers/IHandler.js +2 -0
  68. package/dist/evm/swaps/handlers/claim/ClaimHandlers.d.ts +10 -0
  69. package/dist/evm/swaps/handlers/claim/ClaimHandlers.js +13 -0
  70. package/dist/evm/swaps/handlers/claim/HashlockClaimHandler.d.ts +20 -0
  71. package/dist/evm/swaps/handlers/claim/HashlockClaimHandler.js +39 -0
  72. package/dist/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -0
  73. package/dist/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +59 -0
  74. package/dist/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -0
  75. package/dist/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +51 -0
  76. package/dist/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +21 -0
  77. package/dist/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +28 -0
  78. package/dist/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +48 -0
  79. package/dist/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +63 -0
  80. package/dist/evm/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -0
  81. package/dist/evm/swaps/handlers/refund/TimelockRefundHandler.js +28 -0
  82. package/dist/evm/swaps/modules/EVMLpVault.d.ts +69 -0
  83. package/dist/evm/swaps/modules/EVMLpVault.js +131 -0
  84. package/dist/evm/swaps/modules/EVMSwapClaim.d.ts +53 -0
  85. package/dist/evm/swaps/modules/EVMSwapClaim.js +101 -0
  86. package/dist/evm/swaps/modules/EVMSwapInit.d.ts +88 -0
  87. package/dist/evm/swaps/modules/EVMSwapInit.js +241 -0
  88. package/dist/evm/swaps/modules/EVMSwapRefund.d.ts +62 -0
  89. package/dist/evm/swaps/modules/EVMSwapRefund.js +132 -0
  90. package/dist/evm/typechain/common.d.ts +50 -0
  91. package/dist/evm/typechain/common.js +2 -0
  92. package/dist/evm/wallet/EVMSigner.d.ts +9 -0
  93. package/dist/evm/wallet/EVMSigner.js +16 -0
  94. package/dist/index.d.ts +37 -0
  95. package/dist/index.js +53 -0
  96. package/dist/utils/Utils.d.ts +15 -0
  97. package/dist/utils/Utils.js +71 -0
  98. package/package.json +37 -0
  99. package/src/chains/citrea/CitreaChainType.ts +28 -0
  100. package/src/chains/citrea/CitreaInitializer.ts +167 -0
  101. package/src/evm/btcrelay/BtcRelayAbi.ts +258 -0
  102. package/src/evm/btcrelay/BtcRelayTypechain.ts +371 -0
  103. package/src/evm/btcrelay/EVMBtcRelay.ts +517 -0
  104. package/src/evm/btcrelay/headers/EVMBtcHeader.ts +110 -0
  105. package/src/evm/btcrelay/headers/EVMBtcStoredHeader.ts +153 -0
  106. package/src/evm/chain/EVMChainInterface.ts +157 -0
  107. package/src/evm/chain/EVMModule.ts +21 -0
  108. package/src/evm/chain/modules/ERC20Abi.ts +222 -0
  109. package/src/evm/chain/modules/EVMAddresses.ts +24 -0
  110. package/src/evm/chain/modules/EVMBlocks.ts +75 -0
  111. package/src/evm/chain/modules/EVMEvents.ts +139 -0
  112. package/src/evm/chain/modules/EVMFees.ts +105 -0
  113. package/src/evm/chain/modules/EVMSignatures.ts +76 -0
  114. package/src/evm/chain/modules/EVMTokens.ts +115 -0
  115. package/src/evm/chain/modules/EVMTransactions.ts +246 -0
  116. package/src/evm/contract/EVMContractBase.ts +63 -0
  117. package/src/evm/contract/EVMContractModule.ts +16 -0
  118. package/src/evm/contract/modules/EVMContractEvents.ts +102 -0
  119. package/src/evm/events/EVMChainEvents.ts +81 -0
  120. package/src/evm/events/EVMChainEventsBrowser.ts +390 -0
  121. package/src/evm/spv_swap/EVMSpvVaultContract.ts +533 -0
  122. package/src/evm/spv_swap/EVMSpvVaultData.ts +201 -0
  123. package/src/evm/spv_swap/EVMSpvWithdrawalData.ts +70 -0
  124. package/src/evm/spv_swap/SpvVaultContractAbi.ts +846 -0
  125. package/src/evm/spv_swap/SpvVaultContractTypechain.ts +685 -0
  126. package/src/evm/swaps/EVMSwapContract.ts +590 -0
  127. package/src/evm/swaps/EVMSwapData.ts +367 -0
  128. package/src/evm/swaps/EVMSwapModule.ts +16 -0
  129. package/src/evm/swaps/EscrowManagerAbi.ts +982 -0
  130. package/src/evm/swaps/EscrowManagerTypechain.ts +723 -0
  131. package/src/evm/swaps/handlers/IHandler.ts +17 -0
  132. package/src/evm/swaps/handlers/claim/ClaimHandlers.ts +20 -0
  133. package/src/evm/swaps/handlers/claim/HashlockClaimHandler.ts +47 -0
  134. package/src/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.ts +82 -0
  135. package/src/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.ts +76 -0
  136. package/src/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.ts +46 -0
  137. package/src/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +115 -0
  138. package/src/evm/swaps/handlers/refund/TimelockRefundHandler.ts +38 -0
  139. package/src/evm/swaps/modules/EVMLpVault.ts +153 -0
  140. package/src/evm/swaps/modules/EVMSwapClaim.ts +141 -0
  141. package/src/evm/swaps/modules/EVMSwapInit.ts +292 -0
  142. package/src/evm/swaps/modules/EVMSwapRefund.ts +198 -0
  143. package/src/evm/typechain/common.ts +131 -0
  144. package/src/evm/wallet/EVMSigner.ts +23 -0
  145. package/src/index.ts +44 -0
  146. package/src/utils/Utils.ts +81 -0
@@ -0,0 +1,849 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpvVaultContractAbi = void 0;
4
+ exports.SpvVaultContractAbi = [
5
+ {
6
+ "inputs": [
7
+ {
8
+ "internalType": "contract IExecutionContract",
9
+ "name": "executionContract",
10
+ "type": "address"
11
+ }
12
+ ],
13
+ "stateMutability": "nonpayable",
14
+ "type": "constructor"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "token",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "name": "SafeERC20FailedOperation",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "bytes32",
33
+ "name": "ownerAndVaultId",
34
+ "type": "bytes32"
35
+ },
36
+ {
37
+ "indexed": true,
38
+ "internalType": "address",
39
+ "name": "recipient",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "indexed": true,
44
+ "internalType": "bytes32",
45
+ "name": "btcTxHash",
46
+ "type": "bytes32"
47
+ },
48
+ {
49
+ "indexed": false,
50
+ "internalType": "address",
51
+ "name": "caller",
52
+ "type": "address"
53
+ },
54
+ {
55
+ "indexed": false,
56
+ "internalType": "bytes32",
57
+ "name": "executionHash",
58
+ "type": "bytes32"
59
+ },
60
+ {
61
+ "indexed": false,
62
+ "internalType": "address",
63
+ "name": "frontingAddress",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "indexed": false,
68
+ "internalType": "uint32",
69
+ "name": "withdrawCount",
70
+ "type": "uint32"
71
+ },
72
+ {
73
+ "indexed": false,
74
+ "internalType": "uint64",
75
+ "name": "amount0",
76
+ "type": "uint64"
77
+ },
78
+ {
79
+ "indexed": false,
80
+ "internalType": "uint64",
81
+ "name": "amount1",
82
+ "type": "uint64"
83
+ }
84
+ ],
85
+ "name": "Claimed",
86
+ "type": "event"
87
+ },
88
+ {
89
+ "anonymous": false,
90
+ "inputs": [
91
+ {
92
+ "indexed": true,
93
+ "internalType": "address",
94
+ "name": "owner",
95
+ "type": "address"
96
+ },
97
+ {
98
+ "indexed": true,
99
+ "internalType": "uint96",
100
+ "name": "vaultId",
101
+ "type": "uint96"
102
+ },
103
+ {
104
+ "indexed": true,
105
+ "internalType": "bytes32",
106
+ "name": "btcTxHash",
107
+ "type": "bytes32"
108
+ },
109
+ {
110
+ "indexed": false,
111
+ "internalType": "bytes",
112
+ "name": "error",
113
+ "type": "bytes"
114
+ }
115
+ ],
116
+ "name": "Closed",
117
+ "type": "event"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": true,
124
+ "internalType": "bytes32",
125
+ "name": "ownerAndVaultId",
126
+ "type": "bytes32"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "uint32",
131
+ "name": "depositCount",
132
+ "type": "uint32"
133
+ },
134
+ {
135
+ "indexed": false,
136
+ "internalType": "uint64",
137
+ "name": "amount0",
138
+ "type": "uint64"
139
+ },
140
+ {
141
+ "indexed": false,
142
+ "internalType": "uint64",
143
+ "name": "amount1",
144
+ "type": "uint64"
145
+ }
146
+ ],
147
+ "name": "Deposited",
148
+ "type": "event"
149
+ },
150
+ {
151
+ "anonymous": false,
152
+ "inputs": [
153
+ {
154
+ "indexed": true,
155
+ "internalType": "bytes32",
156
+ "name": "ownerAndVaultId",
157
+ "type": "bytes32"
158
+ },
159
+ {
160
+ "indexed": true,
161
+ "internalType": "address",
162
+ "name": "recipient",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "indexed": true,
167
+ "internalType": "bytes32",
168
+ "name": "btcTxHash",
169
+ "type": "bytes32"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "address",
174
+ "name": "caller",
175
+ "type": "address"
176
+ },
177
+ {
178
+ "indexed": false,
179
+ "internalType": "bytes32",
180
+ "name": "executionHash",
181
+ "type": "bytes32"
182
+ },
183
+ {
184
+ "indexed": false,
185
+ "internalType": "uint64",
186
+ "name": "amount0",
187
+ "type": "uint64"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "uint64",
192
+ "name": "amount1",
193
+ "type": "uint64"
194
+ }
195
+ ],
196
+ "name": "Fronted",
197
+ "type": "event"
198
+ },
199
+ {
200
+ "anonymous": false,
201
+ "inputs": [
202
+ {
203
+ "indexed": true,
204
+ "internalType": "address",
205
+ "name": "owner",
206
+ "type": "address"
207
+ },
208
+ {
209
+ "indexed": true,
210
+ "internalType": "uint96",
211
+ "name": "vaultId",
212
+ "type": "uint96"
213
+ },
214
+ {
215
+ "indexed": true,
216
+ "internalType": "bytes32",
217
+ "name": "btcTxHash",
218
+ "type": "bytes32"
219
+ },
220
+ {
221
+ "indexed": false,
222
+ "internalType": "uint32",
223
+ "name": "vout",
224
+ "type": "uint32"
225
+ },
226
+ {
227
+ "components": [
228
+ {
229
+ "internalType": "address",
230
+ "name": "btcRelayContract",
231
+ "type": "address"
232
+ },
233
+ {
234
+ "internalType": "address",
235
+ "name": "token0",
236
+ "type": "address"
237
+ },
238
+ {
239
+ "internalType": "address",
240
+ "name": "token1",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "internalType": "uint192",
245
+ "name": "token0Multiplier",
246
+ "type": "uint192"
247
+ },
248
+ {
249
+ "internalType": "uint192",
250
+ "name": "token1Multiplier",
251
+ "type": "uint192"
252
+ },
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "confirmations",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "indexed": false,
260
+ "internalType": "struct SpvVaultParameters",
261
+ "name": "params",
262
+ "type": "tuple"
263
+ }
264
+ ],
265
+ "name": "Opened",
266
+ "type": "event"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "internalType": "address",
272
+ "name": "owner",
273
+ "type": "address"
274
+ },
275
+ {
276
+ "internalType": "uint96",
277
+ "name": "vaultId",
278
+ "type": "uint96"
279
+ },
280
+ {
281
+ "components": [
282
+ {
283
+ "internalType": "address",
284
+ "name": "btcRelayContract",
285
+ "type": "address"
286
+ },
287
+ {
288
+ "internalType": "address",
289
+ "name": "token0",
290
+ "type": "address"
291
+ },
292
+ {
293
+ "internalType": "address",
294
+ "name": "token1",
295
+ "type": "address"
296
+ },
297
+ {
298
+ "internalType": "uint192",
299
+ "name": "token0Multiplier",
300
+ "type": "uint192"
301
+ },
302
+ {
303
+ "internalType": "uint192",
304
+ "name": "token1Multiplier",
305
+ "type": "uint192"
306
+ },
307
+ {
308
+ "internalType": "uint256",
309
+ "name": "confirmations",
310
+ "type": "uint256"
311
+ }
312
+ ],
313
+ "internalType": "struct SpvVaultParameters",
314
+ "name": "vaultParams",
315
+ "type": "tuple"
316
+ },
317
+ {
318
+ "internalType": "bytes",
319
+ "name": "transaction",
320
+ "type": "bytes"
321
+ },
322
+ {
323
+ "components": [
324
+ {
325
+ "internalType": "bytes32[5]",
326
+ "name": "data",
327
+ "type": "bytes32[5]"
328
+ }
329
+ ],
330
+ "internalType": "struct StoredBlockHeader",
331
+ "name": "blockheader",
332
+ "type": "tuple"
333
+ },
334
+ {
335
+ "internalType": "bytes32[]",
336
+ "name": "merkleProof",
337
+ "type": "bytes32[]"
338
+ },
339
+ {
340
+ "internalType": "uint256",
341
+ "name": "position",
342
+ "type": "uint256"
343
+ }
344
+ ],
345
+ "name": "claim",
346
+ "outputs": [],
347
+ "stateMutability": "nonpayable",
348
+ "type": "function"
349
+ },
350
+ {
351
+ "inputs": [
352
+ {
353
+ "internalType": "address",
354
+ "name": "owner",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "internalType": "uint96",
359
+ "name": "vaultId",
360
+ "type": "uint96"
361
+ },
362
+ {
363
+ "components": [
364
+ {
365
+ "internalType": "address",
366
+ "name": "btcRelayContract",
367
+ "type": "address"
368
+ },
369
+ {
370
+ "internalType": "address",
371
+ "name": "token0",
372
+ "type": "address"
373
+ },
374
+ {
375
+ "internalType": "address",
376
+ "name": "token1",
377
+ "type": "address"
378
+ },
379
+ {
380
+ "internalType": "uint192",
381
+ "name": "token0Multiplier",
382
+ "type": "uint192"
383
+ },
384
+ {
385
+ "internalType": "uint192",
386
+ "name": "token1Multiplier",
387
+ "type": "uint192"
388
+ },
389
+ {
390
+ "internalType": "uint256",
391
+ "name": "confirmations",
392
+ "type": "uint256"
393
+ }
394
+ ],
395
+ "internalType": "struct SpvVaultParameters",
396
+ "name": "vaultParams",
397
+ "type": "tuple"
398
+ },
399
+ {
400
+ "internalType": "uint64",
401
+ "name": "rawToken0",
402
+ "type": "uint64"
403
+ },
404
+ {
405
+ "internalType": "uint64",
406
+ "name": "rawToken1",
407
+ "type": "uint64"
408
+ }
409
+ ],
410
+ "name": "deposit",
411
+ "outputs": [],
412
+ "stateMutability": "payable",
413
+ "type": "function"
414
+ },
415
+ {
416
+ "inputs": [
417
+ {
418
+ "internalType": "address",
419
+ "name": "owner",
420
+ "type": "address"
421
+ },
422
+ {
423
+ "internalType": "uint96",
424
+ "name": "vaultId",
425
+ "type": "uint96"
426
+ },
427
+ {
428
+ "components": [
429
+ {
430
+ "internalType": "address",
431
+ "name": "btcRelayContract",
432
+ "type": "address"
433
+ },
434
+ {
435
+ "internalType": "address",
436
+ "name": "token0",
437
+ "type": "address"
438
+ },
439
+ {
440
+ "internalType": "address",
441
+ "name": "token1",
442
+ "type": "address"
443
+ },
444
+ {
445
+ "internalType": "uint192",
446
+ "name": "token0Multiplier",
447
+ "type": "uint192"
448
+ },
449
+ {
450
+ "internalType": "uint192",
451
+ "name": "token1Multiplier",
452
+ "type": "uint192"
453
+ },
454
+ {
455
+ "internalType": "uint256",
456
+ "name": "confirmations",
457
+ "type": "uint256"
458
+ }
459
+ ],
460
+ "internalType": "struct SpvVaultParameters",
461
+ "name": "vaultParams",
462
+ "type": "tuple"
463
+ },
464
+ {
465
+ "internalType": "uint32",
466
+ "name": "withdrawalSequence",
467
+ "type": "uint32"
468
+ },
469
+ {
470
+ "internalType": "bytes32",
471
+ "name": "btcTxHash",
472
+ "type": "bytes32"
473
+ },
474
+ {
475
+ "components": [
476
+ {
477
+ "internalType": "address",
478
+ "name": "recipient",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "internalType": "uint64",
483
+ "name": "amount0",
484
+ "type": "uint64"
485
+ },
486
+ {
487
+ "internalType": "uint64",
488
+ "name": "amount1",
489
+ "type": "uint64"
490
+ },
491
+ {
492
+ "internalType": "uint64",
493
+ "name": "callerFee0",
494
+ "type": "uint64"
495
+ },
496
+ {
497
+ "internalType": "uint64",
498
+ "name": "callerFee1",
499
+ "type": "uint64"
500
+ },
501
+ {
502
+ "internalType": "uint64",
503
+ "name": "frontingFee0",
504
+ "type": "uint64"
505
+ },
506
+ {
507
+ "internalType": "uint64",
508
+ "name": "frontingFee1",
509
+ "type": "uint64"
510
+ },
511
+ {
512
+ "internalType": "uint64",
513
+ "name": "executionHandlerFeeAmount0",
514
+ "type": "uint64"
515
+ },
516
+ {
517
+ "internalType": "bytes32",
518
+ "name": "executionHash",
519
+ "type": "bytes32"
520
+ },
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "executionExpiry",
524
+ "type": "uint256"
525
+ }
526
+ ],
527
+ "internalType": "struct BitcoinVaultTransactionData",
528
+ "name": "data",
529
+ "type": "tuple"
530
+ }
531
+ ],
532
+ "name": "front",
533
+ "outputs": [],
534
+ "stateMutability": "payable",
535
+ "type": "function"
536
+ },
537
+ {
538
+ "inputs": [
539
+ {
540
+ "internalType": "address",
541
+ "name": "owner",
542
+ "type": "address"
543
+ },
544
+ {
545
+ "internalType": "uint96",
546
+ "name": "vaultId",
547
+ "type": "uint96"
548
+ },
549
+ {
550
+ "internalType": "bytes32",
551
+ "name": "btcTxHash",
552
+ "type": "bytes32"
553
+ },
554
+ {
555
+ "components": [
556
+ {
557
+ "internalType": "address",
558
+ "name": "recipient",
559
+ "type": "address"
560
+ },
561
+ {
562
+ "internalType": "uint64",
563
+ "name": "amount0",
564
+ "type": "uint64"
565
+ },
566
+ {
567
+ "internalType": "uint64",
568
+ "name": "amount1",
569
+ "type": "uint64"
570
+ },
571
+ {
572
+ "internalType": "uint64",
573
+ "name": "callerFee0",
574
+ "type": "uint64"
575
+ },
576
+ {
577
+ "internalType": "uint64",
578
+ "name": "callerFee1",
579
+ "type": "uint64"
580
+ },
581
+ {
582
+ "internalType": "uint64",
583
+ "name": "frontingFee0",
584
+ "type": "uint64"
585
+ },
586
+ {
587
+ "internalType": "uint64",
588
+ "name": "frontingFee1",
589
+ "type": "uint64"
590
+ },
591
+ {
592
+ "internalType": "uint64",
593
+ "name": "executionHandlerFeeAmount0",
594
+ "type": "uint64"
595
+ },
596
+ {
597
+ "internalType": "bytes32",
598
+ "name": "executionHash",
599
+ "type": "bytes32"
600
+ },
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "executionExpiry",
604
+ "type": "uint256"
605
+ }
606
+ ],
607
+ "internalType": "struct BitcoinVaultTransactionData",
608
+ "name": "data",
609
+ "type": "tuple"
610
+ }
611
+ ],
612
+ "name": "getFronterAddress",
613
+ "outputs": [
614
+ {
615
+ "internalType": "address",
616
+ "name": "fronter",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "stateMutability": "view",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [
625
+ {
626
+ "internalType": "address",
627
+ "name": "owner",
628
+ "type": "address"
629
+ },
630
+ {
631
+ "internalType": "uint96",
632
+ "name": "vaultId",
633
+ "type": "uint96"
634
+ },
635
+ {
636
+ "internalType": "bytes32",
637
+ "name": "frontingId",
638
+ "type": "bytes32"
639
+ }
640
+ ],
641
+ "name": "getFronterById",
642
+ "outputs": [
643
+ {
644
+ "internalType": "address",
645
+ "name": "fronter",
646
+ "type": "address"
647
+ }
648
+ ],
649
+ "stateMutability": "view",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [
654
+ {
655
+ "internalType": "address",
656
+ "name": "owner",
657
+ "type": "address"
658
+ },
659
+ {
660
+ "internalType": "uint96",
661
+ "name": "vaultId",
662
+ "type": "uint96"
663
+ }
664
+ ],
665
+ "name": "getVault",
666
+ "outputs": [
667
+ {
668
+ "components": [
669
+ {
670
+ "internalType": "bytes32",
671
+ "name": "spvVaultParametersCommitment",
672
+ "type": "bytes32"
673
+ },
674
+ {
675
+ "internalType": "bytes32",
676
+ "name": "utxoTxHash",
677
+ "type": "bytes32"
678
+ },
679
+ {
680
+ "internalType": "uint32",
681
+ "name": "utxoVout",
682
+ "type": "uint32"
683
+ },
684
+ {
685
+ "internalType": "uint32",
686
+ "name": "openBlockheight",
687
+ "type": "uint32"
688
+ },
689
+ {
690
+ "internalType": "uint32",
691
+ "name": "withdrawCount",
692
+ "type": "uint32"
693
+ },
694
+ {
695
+ "internalType": "uint32",
696
+ "name": "depositCount",
697
+ "type": "uint32"
698
+ },
699
+ {
700
+ "internalType": "uint64",
701
+ "name": "token0Amount",
702
+ "type": "uint64"
703
+ },
704
+ {
705
+ "internalType": "uint64",
706
+ "name": "token1Amount",
707
+ "type": "uint64"
708
+ }
709
+ ],
710
+ "internalType": "struct SpvVaultState",
711
+ "name": "vault",
712
+ "type": "tuple"
713
+ }
714
+ ],
715
+ "stateMutability": "view",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [
720
+ {
721
+ "internalType": "uint96",
722
+ "name": "vaultId",
723
+ "type": "uint96"
724
+ },
725
+ {
726
+ "components": [
727
+ {
728
+ "internalType": "address",
729
+ "name": "btcRelayContract",
730
+ "type": "address"
731
+ },
732
+ {
733
+ "internalType": "address",
734
+ "name": "token0",
735
+ "type": "address"
736
+ },
737
+ {
738
+ "internalType": "address",
739
+ "name": "token1",
740
+ "type": "address"
741
+ },
742
+ {
743
+ "internalType": "uint192",
744
+ "name": "token0Multiplier",
745
+ "type": "uint192"
746
+ },
747
+ {
748
+ "internalType": "uint192",
749
+ "name": "token1Multiplier",
750
+ "type": "uint192"
751
+ },
752
+ {
753
+ "internalType": "uint256",
754
+ "name": "confirmations",
755
+ "type": "uint256"
756
+ }
757
+ ],
758
+ "internalType": "struct SpvVaultParameters",
759
+ "name": "vaultParams",
760
+ "type": "tuple"
761
+ },
762
+ {
763
+ "internalType": "bytes32",
764
+ "name": "utxoTxHash",
765
+ "type": "bytes32"
766
+ },
767
+ {
768
+ "internalType": "uint32",
769
+ "name": "utxoVout",
770
+ "type": "uint32"
771
+ }
772
+ ],
773
+ "name": "open",
774
+ "outputs": [],
775
+ "stateMutability": "nonpayable",
776
+ "type": "function"
777
+ },
778
+ {
779
+ "inputs": [
780
+ {
781
+ "internalType": "bytes",
782
+ "name": "transaction",
783
+ "type": "bytes"
784
+ }
785
+ ],
786
+ "name": "parseBitcoinTx",
787
+ "outputs": [
788
+ {
789
+ "components": [
790
+ {
791
+ "internalType": "address",
792
+ "name": "recipient",
793
+ "type": "address"
794
+ },
795
+ {
796
+ "internalType": "uint64",
797
+ "name": "amount0",
798
+ "type": "uint64"
799
+ },
800
+ {
801
+ "internalType": "uint64",
802
+ "name": "amount1",
803
+ "type": "uint64"
804
+ },
805
+ {
806
+ "internalType": "uint64",
807
+ "name": "callerFee0",
808
+ "type": "uint64"
809
+ },
810
+ {
811
+ "internalType": "uint64",
812
+ "name": "callerFee1",
813
+ "type": "uint64"
814
+ },
815
+ {
816
+ "internalType": "uint64",
817
+ "name": "frontingFee0",
818
+ "type": "uint64"
819
+ },
820
+ {
821
+ "internalType": "uint64",
822
+ "name": "frontingFee1",
823
+ "type": "uint64"
824
+ },
825
+ {
826
+ "internalType": "uint64",
827
+ "name": "executionHandlerFeeAmount0",
828
+ "type": "uint64"
829
+ },
830
+ {
831
+ "internalType": "bytes32",
832
+ "name": "executionHash",
833
+ "type": "bytes32"
834
+ },
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "executionExpiry",
838
+ "type": "uint256"
839
+ }
840
+ ],
841
+ "internalType": "struct BitcoinVaultTransactionData",
842
+ "name": "data",
843
+ "type": "tuple"
844
+ }
845
+ ],
846
+ "stateMutability": "pure",
847
+ "type": "function"
848
+ }
849
+ ];