@atomiqlabs/chain-evm 1.0.0-dev.75 → 1.0.0-dev.77

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 (185) hide show
  1. package/LICENSE +201 -201
  2. package/dist/chains/botanix/BotanixChainType.d.ts +13 -13
  3. package/dist/chains/botanix/BotanixChainType.js +2 -2
  4. package/dist/chains/botanix/BotanixInitializer.d.ts +30 -30
  5. package/dist/chains/botanix/BotanixInitializer.js +122 -122
  6. package/dist/chains/citrea/CitreaBtcRelay.d.ts +21 -21
  7. package/dist/chains/citrea/CitreaBtcRelay.js +43 -43
  8. package/dist/chains/citrea/CitreaChainType.d.ts +13 -13
  9. package/dist/chains/citrea/CitreaChainType.js +2 -2
  10. package/dist/chains/citrea/CitreaFees.d.ts +29 -29
  11. package/dist/chains/citrea/CitreaFees.js +67 -67
  12. package/dist/chains/citrea/CitreaInitializer.d.ts +30 -30
  13. package/dist/chains/citrea/CitreaInitializer.js +129 -129
  14. package/dist/chains/citrea/CitreaSpvVaultContract.d.ts +15 -15
  15. package/dist/chains/citrea/CitreaSpvVaultContract.js +74 -74
  16. package/dist/chains/citrea/CitreaSwapContract.d.ts +22 -22
  17. package/dist/chains/citrea/CitreaSwapContract.js +96 -96
  18. package/dist/chains/citrea/CitreaTokens.d.ts +9 -9
  19. package/dist/chains/citrea/CitreaTokens.js +20 -20
  20. package/dist/evm/btcrelay/BtcRelayAbi.d.ts +198 -198
  21. package/dist/evm/btcrelay/BtcRelayAbi.js +261 -261
  22. package/dist/evm/btcrelay/BtcRelayTypechain.d.ts +172 -172
  23. package/dist/evm/btcrelay/BtcRelayTypechain.js +2 -2
  24. package/dist/evm/btcrelay/EVMBtcRelay.d.ts +197 -197
  25. package/dist/evm/btcrelay/EVMBtcRelay.js +435 -435
  26. package/dist/evm/btcrelay/headers/EVMBtcHeader.d.ts +33 -33
  27. package/dist/evm/btcrelay/headers/EVMBtcHeader.js +84 -84
  28. package/dist/evm/btcrelay/headers/EVMBtcStoredHeader.d.ts +56 -56
  29. package/dist/evm/btcrelay/headers/EVMBtcStoredHeader.js +123 -123
  30. package/dist/evm/chain/EVMChainInterface.d.ts +51 -51
  31. package/dist/evm/chain/EVMChainInterface.js +89 -89
  32. package/dist/evm/chain/EVMModule.d.ts +9 -9
  33. package/dist/evm/chain/EVMModule.js +13 -13
  34. package/dist/evm/chain/modules/ERC20Abi.d.ts +168 -168
  35. package/dist/evm/chain/modules/ERC20Abi.js +225 -225
  36. package/dist/evm/chain/modules/EVMAddresses.d.ts +10 -10
  37. package/dist/evm/chain/modules/EVMAddresses.js +30 -30
  38. package/dist/evm/chain/modules/EVMBlocks.d.ts +20 -20
  39. package/dist/evm/chain/modules/EVMBlocks.js +64 -64
  40. package/dist/evm/chain/modules/EVMEvents.d.ts +36 -36
  41. package/dist/evm/chain/modules/EVMEvents.js +122 -122
  42. package/dist/evm/chain/modules/EVMFees.d.ts +36 -36
  43. package/dist/evm/chain/modules/EVMFees.js +74 -74
  44. package/dist/evm/chain/modules/EVMSignatures.d.ts +29 -29
  45. package/dist/evm/chain/modules/EVMSignatures.js +68 -68
  46. package/dist/evm/chain/modules/EVMTokens.d.ts +70 -70
  47. package/dist/evm/chain/modules/EVMTokens.js +142 -142
  48. package/dist/evm/chain/modules/EVMTransactions.d.ts +94 -94
  49. package/dist/evm/chain/modules/EVMTransactions.js +286 -286
  50. package/dist/evm/contract/EVMContractBase.d.ts +22 -22
  51. package/dist/evm/contract/EVMContractBase.js +34 -34
  52. package/dist/evm/contract/EVMContractModule.d.ts +8 -8
  53. package/dist/evm/contract/EVMContractModule.js +11 -11
  54. package/dist/evm/contract/modules/EVMContractEvents.d.ts +42 -42
  55. package/dist/evm/contract/modules/EVMContractEvents.js +75 -75
  56. package/dist/evm/events/EVMChainEvents.d.ts +22 -22
  57. package/dist/evm/events/EVMChainEvents.js +69 -69
  58. package/dist/evm/events/EVMChainEventsBrowser.d.ts +102 -102
  59. package/dist/evm/events/EVMChainEventsBrowser.js +413 -404
  60. package/dist/evm/providers/JsonRpcProviderWithRetries.d.ts +15 -15
  61. package/dist/evm/providers/JsonRpcProviderWithRetries.js +19 -19
  62. package/dist/evm/providers/ReconnectingWebSocketProvider.d.ts +22 -22
  63. package/dist/evm/providers/ReconnectingWebSocketProvider.js +87 -87
  64. package/dist/evm/providers/SocketProvider.d.ts +111 -111
  65. package/dist/evm/providers/SocketProvider.js +334 -334
  66. package/dist/evm/providers/WebSocketProviderWithRetries.d.ts +17 -17
  67. package/dist/evm/providers/WebSocketProviderWithRetries.js +19 -19
  68. package/dist/evm/spv_swap/EVMSpvVaultContract.d.ts +79 -79
  69. package/dist/evm/spv_swap/EVMSpvVaultContract.js +482 -482
  70. package/dist/evm/spv_swap/EVMSpvVaultData.d.ts +39 -39
  71. package/dist/evm/spv_swap/EVMSpvVaultData.js +0 -180
  72. package/dist/evm/spv_swap/EVMSpvWithdrawalData.d.ts +19 -19
  73. package/dist/evm/spv_swap/EVMSpvWithdrawalData.js +55 -55
  74. package/dist/evm/spv_swap/SpvVaultContractAbi.d.ts +91 -91
  75. package/dist/evm/spv_swap/SpvVaultContractAbi.js +849 -849
  76. package/dist/evm/spv_swap/SpvVaultContractTypechain.d.ts +450 -450
  77. package/dist/evm/spv_swap/SpvVaultContractTypechain.js +2 -2
  78. package/dist/evm/swaps/EVMSwapContract.d.ts +193 -193
  79. package/dist/evm/swaps/EVMSwapContract.js +378 -378
  80. package/dist/evm/swaps/EVMSwapData.d.ts +66 -66
  81. package/dist/evm/swaps/EVMSwapData.js +260 -260
  82. package/dist/evm/swaps/EVMSwapModule.d.ts +9 -9
  83. package/dist/evm/swaps/EVMSwapModule.js +11 -11
  84. package/dist/evm/swaps/EscrowManagerAbi.d.ts +120 -120
  85. package/dist/evm/swaps/EscrowManagerAbi.js +985 -985
  86. package/dist/evm/swaps/EscrowManagerTypechain.d.ts +475 -475
  87. package/dist/evm/swaps/EscrowManagerTypechain.js +2 -2
  88. package/dist/evm/swaps/handlers/IHandler.d.ts +13 -13
  89. package/dist/evm/swaps/handlers/IHandler.js +2 -2
  90. package/dist/evm/swaps/handlers/claim/ClaimHandlers.d.ts +10 -10
  91. package/dist/evm/swaps/handlers/claim/ClaimHandlers.js +13 -13
  92. package/dist/evm/swaps/handlers/claim/HashlockClaimHandler.d.ts +20 -20
  93. package/dist/evm/swaps/handlers/claim/HashlockClaimHandler.js +39 -39
  94. package/dist/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -24
  95. package/dist/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +59 -59
  96. package/dist/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -25
  97. package/dist/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +51 -51
  98. package/dist/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +21 -21
  99. package/dist/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +28 -28
  100. package/dist/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +48 -48
  101. package/dist/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +63 -63
  102. package/dist/evm/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -17
  103. package/dist/evm/swaps/handlers/refund/TimelockRefundHandler.js +28 -28
  104. package/dist/evm/swaps/modules/EVMLpVault.d.ts +69 -69
  105. package/dist/evm/swaps/modules/EVMLpVault.js +134 -134
  106. package/dist/evm/swaps/modules/EVMSwapClaim.d.ts +54 -54
  107. package/dist/evm/swaps/modules/EVMSwapClaim.js +137 -137
  108. package/dist/evm/swaps/modules/EVMSwapInit.d.ts +88 -88
  109. package/dist/evm/swaps/modules/EVMSwapInit.js +274 -274
  110. package/dist/evm/swaps/modules/EVMSwapRefund.d.ts +62 -62
  111. package/dist/evm/swaps/modules/EVMSwapRefund.js +167 -167
  112. package/dist/evm/typechain/common.d.ts +50 -50
  113. package/dist/evm/typechain/common.js +2 -2
  114. package/dist/evm/wallet/EVMBrowserSigner.d.ts +5 -5
  115. package/dist/evm/wallet/EVMBrowserSigner.js +11 -11
  116. package/dist/evm/wallet/EVMPersistentSigner.d.ts +29 -29
  117. package/dist/evm/wallet/EVMPersistentSigner.js +222 -222
  118. package/dist/evm/wallet/EVMSigner.d.ts +11 -11
  119. package/dist/evm/wallet/EVMSigner.js +24 -24
  120. package/dist/index.d.ts +44 -44
  121. package/dist/index.js +60 -60
  122. package/dist/utils/Utils.d.ts +17 -17
  123. package/dist/utils/Utils.js +81 -81
  124. package/package.json +39 -39
  125. package/src/chains/botanix/BotanixChainType.ts +28 -28
  126. package/src/chains/botanix/BotanixInitializer.ts +171 -171
  127. package/src/chains/citrea/CitreaBtcRelay.ts +57 -57
  128. package/src/chains/citrea/CitreaChainType.ts +28 -28
  129. package/src/chains/citrea/CitreaFees.ts +77 -77
  130. package/src/chains/citrea/CitreaInitializer.ts +178 -178
  131. package/src/chains/citrea/CitreaSpvVaultContract.ts +75 -75
  132. package/src/chains/citrea/CitreaSwapContract.ts +102 -102
  133. package/src/chains/citrea/CitreaTokens.ts +21 -21
  134. package/src/evm/btcrelay/BtcRelayAbi.ts +258 -258
  135. package/src/evm/btcrelay/BtcRelayTypechain.ts +371 -371
  136. package/src/evm/btcrelay/EVMBtcRelay.ts +537 -537
  137. package/src/evm/btcrelay/headers/EVMBtcHeader.ts +109 -109
  138. package/src/evm/btcrelay/headers/EVMBtcStoredHeader.ts +152 -152
  139. package/src/evm/chain/EVMChainInterface.ts +155 -155
  140. package/src/evm/chain/EVMModule.ts +21 -21
  141. package/src/evm/chain/modules/ERC20Abi.ts +222 -222
  142. package/src/evm/chain/modules/EVMAddresses.ts +28 -28
  143. package/src/evm/chain/modules/EVMBlocks.ts +75 -75
  144. package/src/evm/chain/modules/EVMEvents.ts +139 -139
  145. package/src/evm/chain/modules/EVMFees.ts +104 -104
  146. package/src/evm/chain/modules/EVMSignatures.ts +76 -76
  147. package/src/evm/chain/modules/EVMTokens.ts +155 -155
  148. package/src/evm/chain/modules/EVMTransactions.ts +325 -325
  149. package/src/evm/contract/EVMContractBase.ts +63 -63
  150. package/src/evm/contract/EVMContractModule.ts +16 -16
  151. package/src/evm/contract/modules/EVMContractEvents.ts +102 -102
  152. package/src/evm/events/EVMChainEvents.ts +82 -82
  153. package/src/evm/events/EVMChainEventsBrowser.ts +534 -525
  154. package/src/evm/providers/JsonRpcProviderWithRetries.ts +24 -24
  155. package/src/evm/providers/ReconnectingWebSocketProvider.ts +101 -101
  156. package/src/evm/providers/SocketProvider.ts +368 -368
  157. package/src/evm/providers/WebSocketProviderWithRetries.ts +27 -27
  158. package/src/evm/spv_swap/EVMSpvVaultContract.ts +615 -615
  159. package/src/evm/spv_swap/EVMSpvVaultData.ts +224 -224
  160. package/src/evm/spv_swap/EVMSpvWithdrawalData.ts +70 -70
  161. package/src/evm/spv_swap/SpvVaultContractAbi.ts +846 -846
  162. package/src/evm/spv_swap/SpvVaultContractTypechain.ts +685 -685
  163. package/src/evm/swaps/EVMSwapContract.ts +600 -600
  164. package/src/evm/swaps/EVMSwapData.ts +378 -378
  165. package/src/evm/swaps/EVMSwapModule.ts +16 -16
  166. package/src/evm/swaps/EscrowManagerAbi.ts +982 -982
  167. package/src/evm/swaps/EscrowManagerTypechain.ts +723 -723
  168. package/src/evm/swaps/handlers/IHandler.ts +17 -17
  169. package/src/evm/swaps/handlers/claim/ClaimHandlers.ts +20 -20
  170. package/src/evm/swaps/handlers/claim/HashlockClaimHandler.ts +46 -46
  171. package/src/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.ts +82 -82
  172. package/src/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.ts +76 -76
  173. package/src/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.ts +46 -46
  174. package/src/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +115 -115
  175. package/src/evm/swaps/handlers/refund/TimelockRefundHandler.ts +37 -37
  176. package/src/evm/swaps/modules/EVMLpVault.ts +154 -154
  177. package/src/evm/swaps/modules/EVMSwapClaim.ts +172 -172
  178. package/src/evm/swaps/modules/EVMSwapInit.ts +328 -328
  179. package/src/evm/swaps/modules/EVMSwapRefund.ts +229 -229
  180. package/src/evm/typechain/common.ts +131 -131
  181. package/src/evm/wallet/EVMBrowserSigner.ts +11 -11
  182. package/src/evm/wallet/EVMPersistentSigner.ts +298 -298
  183. package/src/evm/wallet/EVMSigner.ts +31 -31
  184. package/src/index.ts +53 -53
  185. package/src/utils/Utils.ts +92 -92
@@ -1,17 +1,17 @@
1
- import { JsonRpcApiProviderOptions } from "ethers";
2
- import type { Networkish } from "ethers";
3
- import { ReconnectingWebSocketProvider } from "./ReconnectingWebSocketProvider";
4
- import type { WebSocketLike } from "ethers/lib.esm";
5
- export declare class WebSocketProviderWithRetries extends ReconnectingWebSocketProvider {
6
- readonly retryPolicy?: {
7
- maxRetries?: number;
8
- delay?: number;
9
- exponential?: boolean;
10
- };
11
- constructor(url: string | (() => WebSocketLike), network?: Networkish, options?: JsonRpcApiProviderOptions & {
12
- maxRetries?: number;
13
- delay?: number;
14
- exponential?: boolean;
15
- });
16
- send(method: string, params: Array<any> | Record<string, any>): Promise<any>;
17
- }
1
+ import { JsonRpcApiProviderOptions } from "ethers";
2
+ import type { Networkish } from "ethers";
3
+ import { ReconnectingWebSocketProvider } from "./ReconnectingWebSocketProvider";
4
+ import type { WebSocketLike } from "ethers/lib.esm";
5
+ export declare class WebSocketProviderWithRetries extends ReconnectingWebSocketProvider {
6
+ readonly retryPolicy?: {
7
+ maxRetries?: number;
8
+ delay?: number;
9
+ exponential?: boolean;
10
+ };
11
+ constructor(url: string | (() => WebSocketLike), network?: Networkish, options?: JsonRpcApiProviderOptions & {
12
+ maxRetries?: number;
13
+ delay?: number;
14
+ exponential?: boolean;
15
+ });
16
+ send(method: string, params: Array<any> | Record<string, any>): Promise<any>;
17
+ }
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebSocketProviderWithRetries = void 0;
4
- const Utils_1 = require("../../utils/Utils");
5
- const ReconnectingWebSocketProvider_1 = require("./ReconnectingWebSocketProvider");
6
- class WebSocketProviderWithRetries extends ReconnectingWebSocketProvider_1.ReconnectingWebSocketProvider {
7
- constructor(url, network, options) {
8
- super(url, network, options);
9
- this.retryPolicy = options;
10
- }
11
- send(method, params) {
12
- return (0, Utils_1.tryWithRetries)(() => super.send(method, params), this.retryPolicy, e => {
13
- if (e.code != null && typeof (e.code) === "string")
14
- return Utils_1.allowedEthersErrorCodes.has(e.code);
15
- return false;
16
- });
17
- }
18
- }
19
- exports.WebSocketProviderWithRetries = WebSocketProviderWithRetries;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketProviderWithRetries = void 0;
4
+ const Utils_1 = require("../../utils/Utils");
5
+ const ReconnectingWebSocketProvider_1 = require("./ReconnectingWebSocketProvider");
6
+ class WebSocketProviderWithRetries extends ReconnectingWebSocketProvider_1.ReconnectingWebSocketProvider {
7
+ constructor(url, network, options) {
8
+ super(url, network, options);
9
+ this.retryPolicy = options;
10
+ }
11
+ send(method, params) {
12
+ return (0, Utils_1.tryWithRetries)(() => super.send(method, params), this.retryPolicy, e => {
13
+ if (e.code != null && typeof (e.code) === "string")
14
+ return Utils_1.allowedEthersErrorCodes.has(e.code);
15
+ return false;
16
+ });
17
+ }
18
+ }
19
+ exports.WebSocketProviderWithRetries = WebSocketProviderWithRetries;
@@ -1,79 +1,79 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { BitcoinRpc, BtcTx, RelaySynchronizer, SpvVaultContract, SpvVaultTokenData, SpvWithdrawalState, SpvWithdrawalTransactionData, TransactionConfirmationOptions } from "@atomiqlabs/base";
4
- import { Buffer } from "buffer";
5
- import { EVMTx } from "../chain/modules/EVMTransactions";
6
- import { EVMContractBase } from "../contract/EVMContractBase";
7
- import { EVMSigner } from "../wallet/EVMSigner";
8
- import { SpvVaultManager } from "./SpvVaultContractTypechain";
9
- import { EVMBtcRelay } from "../btcrelay/EVMBtcRelay";
10
- import { EVMChainInterface } from "../chain/EVMChainInterface";
11
- import { TransactionRequest } from "ethers";
12
- import { EVMSpvVaultData } from "./EVMSpvVaultData";
13
- import { EVMSpvWithdrawalData } from "./EVMSpvWithdrawalData";
14
- import { EVMBtcStoredHeader } from "../btcrelay/headers/EVMBtcStoredHeader";
15
- export declare function packOwnerAndVaultId(owner: string, vaultId: bigint): string;
16
- export declare function unpackOwnerAndVaultId(data: string): [string, bigint];
17
- export declare class EVMSpvVaultContract<ChainId extends string> extends EVMContractBase<SpvVaultManager> implements SpvVaultContract<EVMTx, EVMSigner, ChainId, EVMSpvVaultData, EVMSpvWithdrawalData> {
18
- static readonly GasCosts: {
19
- DEPOSIT_BASE: number;
20
- DEPOSIT_ERC20: number;
21
- OPEN: number;
22
- CLAIM_BASE: number;
23
- CLAIM_NATIVE_TRANSFER: number;
24
- CLAIM_ERC20_TRANSFER: number;
25
- CLAIM_EXECUTION_SCHEDULE: number;
26
- FRONT_BASE: number;
27
- FRONT_NATIVE_TRANSFER: number;
28
- FRONT_ERC20_TRANSFER: number;
29
- FRONT_EXECUTION_SCHEDULE: number;
30
- };
31
- readonly chainId: ChainId;
32
- readonly btcRelay: EVMBtcRelay<any>;
33
- readonly bitcoinRpc: BitcoinRpc<any>;
34
- readonly claimTimeout: number;
35
- readonly logger: import("../../utils/Utils").LoggerType;
36
- constructor(chainInterface: EVMChainInterface<ChainId>, btcRelay: EVMBtcRelay<any>, bitcoinRpc: BitcoinRpc<any>, contractAddress: string, contractDeploymentHeight?: number);
37
- protected Open(signer: string, vault: EVMSpvVaultData, feeRate: string): Promise<TransactionRequest>;
38
- protected Deposit(signer: string, vault: EVMSpvVaultData, rawAmounts: bigint[], feeRate: string): Promise<TransactionRequest>;
39
- protected Front(signer: string, vault: EVMSpvVaultData, data: EVMSpvWithdrawalData, withdrawalSequence: number, feeRate: string): Promise<TransactionRequest>;
40
- protected Claim(signer: string, vault: EVMSpvVaultData, data: EVMSpvWithdrawalData, blockheader: EVMBtcStoredHeader, merkle: Buffer[], position: number, feeRate: string): Promise<TransactionRequest>;
41
- checkWithdrawalTx(tx: SpvWithdrawalTransactionData): Promise<void>;
42
- createVaultData(owner: string, vaultId: bigint, utxo: string, confirmations: number, tokenData: SpvVaultTokenData[]): Promise<EVMSpvVaultData>;
43
- getFronterAddress(owner: string, vaultId: bigint, withdrawal: EVMSpvWithdrawalData): Promise<string>;
44
- private vaultParamsCache;
45
- getVaultData(owner: string, vaultId: bigint): Promise<EVMSpvVaultData>;
46
- getAllVaults(owner?: string): Promise<EVMSpvVaultData[]>;
47
- getWithdrawalState(btcTxId: string): Promise<SpvWithdrawalState>;
48
- getWithdrawalData(btcTx: BtcTx): Promise<EVMSpvWithdrawalData>;
49
- fromOpReturnData(data: Buffer): {
50
- recipient: string;
51
- rawAmounts: bigint[];
52
- executionHash: string;
53
- };
54
- static fromOpReturnData(data: Buffer): {
55
- recipient: string;
56
- rawAmounts: bigint[];
57
- executionHash: string;
58
- };
59
- toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
60
- static toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
61
- claim(signer: EVMSigner, vault: EVMSpvVaultData, txs: {
62
- tx: EVMSpvWithdrawalData;
63
- storedHeader?: EVMBtcStoredHeader;
64
- }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, txOptions?: TransactionConfirmationOptions): Promise<string>;
65
- deposit(signer: EVMSigner, vault: EVMSpvVaultData, rawAmounts: bigint[], txOptions?: TransactionConfirmationOptions): Promise<string>;
66
- frontLiquidity(signer: EVMSigner, vault: EVMSpvVaultData, realWithdrawalTx: EVMSpvWithdrawalData, withdrawSequence: number, txOptions?: TransactionConfirmationOptions): Promise<string>;
67
- open(signer: EVMSigner, vault: EVMSpvVaultData, txOptions?: TransactionConfirmationOptions): Promise<string>;
68
- txsClaim(signer: string, vault: EVMSpvVaultData, txs: {
69
- tx: EVMSpvWithdrawalData;
70
- storedHeader?: EVMBtcStoredHeader;
71
- }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, feeRate?: string): Promise<EVMTx[]>;
72
- txsDeposit(signer: string, vault: EVMSpvVaultData, rawAmounts: bigint[], feeRate?: string): Promise<EVMTx[]>;
73
- txsFrontLiquidity(signer: string, vault: EVMSpvVaultData, realWithdrawalTx: EVMSpvWithdrawalData, withdrawSequence: number, feeRate?: string): Promise<EVMTx[]>;
74
- txsOpen(signer: string, vault: EVMSpvVaultData, feeRate?: string): Promise<EVMTx[]>;
75
- getClaimGas(signer: string, vault: EVMSpvVaultData, data?: EVMSpvWithdrawalData): number;
76
- getFrontGas(signer: string, vault: EVMSpvVaultData, data?: EVMSpvWithdrawalData): number;
77
- getClaimFee(signer: string, vault: EVMSpvVaultData, withdrawalData: EVMSpvWithdrawalData, feeRate?: string): Promise<bigint>;
78
- getFrontFee(signer: string, vault?: EVMSpvVaultData, withdrawalData?: EVMSpvWithdrawalData, feeRate?: string): Promise<bigint>;
79
- }
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { BitcoinRpc, BtcTx, RelaySynchronizer, SpvVaultContract, SpvVaultTokenData, SpvWithdrawalState, SpvWithdrawalTransactionData, TransactionConfirmationOptions } from "@atomiqlabs/base";
4
+ import { Buffer } from "buffer";
5
+ import { EVMTx } from "../chain/modules/EVMTransactions";
6
+ import { EVMContractBase } from "../contract/EVMContractBase";
7
+ import { EVMSigner } from "../wallet/EVMSigner";
8
+ import { SpvVaultManager } from "./SpvVaultContractTypechain";
9
+ import { EVMBtcRelay } from "../btcrelay/EVMBtcRelay";
10
+ import { EVMChainInterface } from "../chain/EVMChainInterface";
11
+ import { TransactionRequest } from "ethers";
12
+ import { EVMSpvVaultData } from "./EVMSpvVaultData";
13
+ import { EVMSpvWithdrawalData } from "./EVMSpvWithdrawalData";
14
+ import { EVMBtcStoredHeader } from "../btcrelay/headers/EVMBtcStoredHeader";
15
+ export declare function packOwnerAndVaultId(owner: string, vaultId: bigint): string;
16
+ export declare function unpackOwnerAndVaultId(data: string): [string, bigint];
17
+ export declare class EVMSpvVaultContract<ChainId extends string> extends EVMContractBase<SpvVaultManager> implements SpvVaultContract<EVMTx, EVMSigner, ChainId, EVMSpvVaultData, EVMSpvWithdrawalData> {
18
+ static readonly GasCosts: {
19
+ DEPOSIT_BASE: number;
20
+ DEPOSIT_ERC20: number;
21
+ OPEN: number;
22
+ CLAIM_BASE: number;
23
+ CLAIM_NATIVE_TRANSFER: number;
24
+ CLAIM_ERC20_TRANSFER: number;
25
+ CLAIM_EXECUTION_SCHEDULE: number;
26
+ FRONT_BASE: number;
27
+ FRONT_NATIVE_TRANSFER: number;
28
+ FRONT_ERC20_TRANSFER: number;
29
+ FRONT_EXECUTION_SCHEDULE: number;
30
+ };
31
+ readonly chainId: ChainId;
32
+ readonly btcRelay: EVMBtcRelay<any>;
33
+ readonly bitcoinRpc: BitcoinRpc<any>;
34
+ readonly claimTimeout: number;
35
+ readonly logger: import("../../utils/Utils").LoggerType;
36
+ constructor(chainInterface: EVMChainInterface<ChainId>, btcRelay: EVMBtcRelay<any>, bitcoinRpc: BitcoinRpc<any>, contractAddress: string, contractDeploymentHeight?: number);
37
+ protected Open(signer: string, vault: EVMSpvVaultData, feeRate: string): Promise<TransactionRequest>;
38
+ protected Deposit(signer: string, vault: EVMSpvVaultData, rawAmounts: bigint[], feeRate: string): Promise<TransactionRequest>;
39
+ protected Front(signer: string, vault: EVMSpvVaultData, data: EVMSpvWithdrawalData, withdrawalSequence: number, feeRate: string): Promise<TransactionRequest>;
40
+ protected Claim(signer: string, vault: EVMSpvVaultData, data: EVMSpvWithdrawalData, blockheader: EVMBtcStoredHeader, merkle: Buffer[], position: number, feeRate: string): Promise<TransactionRequest>;
41
+ checkWithdrawalTx(tx: SpvWithdrawalTransactionData): Promise<void>;
42
+ createVaultData(owner: string, vaultId: bigint, utxo: string, confirmations: number, tokenData: SpvVaultTokenData[]): Promise<EVMSpvVaultData>;
43
+ getFronterAddress(owner: string, vaultId: bigint, withdrawal: EVMSpvWithdrawalData): Promise<string>;
44
+ private vaultParamsCache;
45
+ getVaultData(owner: string, vaultId: bigint): Promise<EVMSpvVaultData>;
46
+ getAllVaults(owner?: string): Promise<EVMSpvVaultData[]>;
47
+ getWithdrawalState(btcTxId: string): Promise<SpvWithdrawalState>;
48
+ getWithdrawalData(btcTx: BtcTx): Promise<EVMSpvWithdrawalData>;
49
+ fromOpReturnData(data: Buffer): {
50
+ recipient: string;
51
+ rawAmounts: bigint[];
52
+ executionHash: string;
53
+ };
54
+ static fromOpReturnData(data: Buffer): {
55
+ recipient: string;
56
+ rawAmounts: bigint[];
57
+ executionHash: string;
58
+ };
59
+ toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
60
+ static toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
61
+ claim(signer: EVMSigner, vault: EVMSpvVaultData, txs: {
62
+ tx: EVMSpvWithdrawalData;
63
+ storedHeader?: EVMBtcStoredHeader;
64
+ }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, txOptions?: TransactionConfirmationOptions): Promise<string>;
65
+ deposit(signer: EVMSigner, vault: EVMSpvVaultData, rawAmounts: bigint[], txOptions?: TransactionConfirmationOptions): Promise<string>;
66
+ frontLiquidity(signer: EVMSigner, vault: EVMSpvVaultData, realWithdrawalTx: EVMSpvWithdrawalData, withdrawSequence: number, txOptions?: TransactionConfirmationOptions): Promise<string>;
67
+ open(signer: EVMSigner, vault: EVMSpvVaultData, txOptions?: TransactionConfirmationOptions): Promise<string>;
68
+ txsClaim(signer: string, vault: EVMSpvVaultData, txs: {
69
+ tx: EVMSpvWithdrawalData;
70
+ storedHeader?: EVMBtcStoredHeader;
71
+ }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, feeRate?: string): Promise<EVMTx[]>;
72
+ txsDeposit(signer: string, vault: EVMSpvVaultData, rawAmounts: bigint[], feeRate?: string): Promise<EVMTx[]>;
73
+ txsFrontLiquidity(signer: string, vault: EVMSpvVaultData, realWithdrawalTx: EVMSpvWithdrawalData, withdrawSequence: number, feeRate?: string): Promise<EVMTx[]>;
74
+ txsOpen(signer: string, vault: EVMSpvVaultData, feeRate?: string): Promise<EVMTx[]>;
75
+ getClaimGas(signer: string, vault: EVMSpvVaultData, data?: EVMSpvWithdrawalData): number;
76
+ getFrontGas(signer: string, vault: EVMSpvVaultData, data?: EVMSpvWithdrawalData): number;
77
+ getClaimFee(signer: string, vault: EVMSpvVaultData, withdrawalData: EVMSpvWithdrawalData, feeRate?: string): Promise<bigint>;
78
+ getFrontFee(signer: string, vault?: EVMSpvVaultData, withdrawalData?: EVMSpvWithdrawalData, feeRate?: string): Promise<bigint>;
79
+ }