@atomiqlabs/chain-starknet 8.0.13 → 8.1.10

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 (119) hide show
  1. package/dist/index.d.ts +18 -18
  2. package/dist/index.js +42 -42
  3. package/dist/starknet/StarknetChainType.d.ts +19 -19
  4. package/dist/starknet/StarknetChainType.js +2 -2
  5. package/dist/starknet/StarknetInitializer.d.ts +66 -63
  6. package/dist/starknet/StarknetInitializer.js +101 -101
  7. package/dist/starknet/btcrelay/BtcRelayAbi.d.ts +250 -250
  8. package/dist/starknet/btcrelay/BtcRelayAbi.js +341 -341
  9. package/dist/starknet/btcrelay/StarknetBtcRelay.d.ts +196 -196
  10. package/dist/starknet/btcrelay/StarknetBtcRelay.js +419 -411
  11. package/dist/starknet/btcrelay/headers/StarknetBtcHeader.d.ts +70 -70
  12. package/dist/starknet/btcrelay/headers/StarknetBtcHeader.js +115 -115
  13. package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.d.ts +91 -91
  14. package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.js +155 -155
  15. package/dist/starknet/chain/StarknetAction.d.ts +19 -19
  16. package/dist/starknet/chain/StarknetAction.js +74 -74
  17. package/dist/starknet/chain/StarknetChainInterface.d.ts +142 -143
  18. package/dist/starknet/chain/StarknetChainInterface.js +198 -199
  19. package/dist/starknet/chain/StarknetModule.d.ts +8 -8
  20. package/dist/starknet/chain/StarknetModule.js +12 -12
  21. package/dist/starknet/chain/modules/ERC20Abi.d.ts +755 -755
  22. package/dist/starknet/chain/modules/ERC20Abi.js +1032 -1032
  23. package/dist/starknet/chain/modules/StarknetAccounts.d.ts +6 -6
  24. package/dist/starknet/chain/modules/StarknetAccounts.js +26 -26
  25. package/dist/starknet/chain/modules/StarknetAddresses.d.ts +10 -10
  26. package/dist/starknet/chain/modules/StarknetAddresses.js +27 -27
  27. package/dist/starknet/chain/modules/StarknetBlocks.d.ts +27 -27
  28. package/dist/starknet/chain/modules/StarknetBlocks.js +82 -82
  29. package/dist/starknet/chain/modules/StarknetEvents.d.ts +47 -47
  30. package/dist/starknet/chain/modules/StarknetEvents.js +90 -90
  31. package/dist/starknet/chain/modules/StarknetFees.d.ts +118 -104
  32. package/dist/starknet/chain/modules/StarknetFees.js +150 -146
  33. package/dist/starknet/chain/modules/StarknetSignatures.d.ts +29 -29
  34. package/dist/starknet/chain/modules/StarknetSignatures.js +72 -72
  35. package/dist/starknet/chain/modules/StarknetTokens.d.ts +66 -66
  36. package/dist/starknet/chain/modules/StarknetTokens.js +99 -99
  37. package/dist/starknet/chain/modules/StarknetTransactions.d.ts +122 -115
  38. package/dist/starknet/chain/modules/StarknetTransactions.js +633 -612
  39. package/dist/starknet/contract/StarknetContractBase.d.ts +14 -13
  40. package/dist/starknet/contract/StarknetContractBase.js +21 -20
  41. package/dist/starknet/contract/StarknetContractModule.d.ts +8 -8
  42. package/dist/starknet/contract/StarknetContractModule.js +11 -11
  43. package/dist/starknet/contract/modules/StarknetContractEvents.d.ts +56 -57
  44. package/dist/starknet/contract/modules/StarknetContractEvents.js +111 -111
  45. package/dist/starknet/events/StarknetChainEvents.d.ts +21 -21
  46. package/dist/starknet/events/StarknetChainEvents.js +61 -61
  47. package/dist/starknet/events/StarknetChainEventsBrowser.d.ts +178 -190
  48. package/dist/starknet/events/StarknetChainEventsBrowser.js +523 -582
  49. package/dist/starknet/provider/RpcProviderWithRetries.d.ts +49 -53
  50. package/dist/starknet/provider/RpcProviderWithRetries.js +94 -94
  51. package/dist/starknet/provider/WebSocketChannelWithRetries.d.ts +21 -21
  52. package/dist/starknet/provider/WebSocketChannelWithRetries.js +46 -46
  53. package/dist/starknet/spv_swap/SpvVaultContractAbi.d.ts +488 -488
  54. package/dist/starknet/spv_swap/SpvVaultContractAbi.js +656 -656
  55. package/dist/starknet/spv_swap/StarknetSpvVaultContract.d.ts +225 -219
  56. package/dist/starknet/spv_swap/StarknetSpvVaultContract.js +663 -621
  57. package/dist/starknet/spv_swap/StarknetSpvVaultData.d.ts +108 -108
  58. package/dist/starknet/spv_swap/StarknetSpvVaultData.js +190 -190
  59. package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.d.ts +56 -56
  60. package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.js +103 -103
  61. package/dist/starknet/swaps/EscrowManagerAbi.d.ts +431 -431
  62. package/dist/starknet/swaps/EscrowManagerAbi.js +583 -583
  63. package/dist/starknet/swaps/StarknetSwapContract.d.ts +309 -278
  64. package/dist/starknet/swaps/StarknetSwapContract.js +755 -579
  65. package/dist/starknet/swaps/StarknetSwapData.d.ts +234 -234
  66. package/dist/starknet/swaps/StarknetSwapData.js +474 -474
  67. package/dist/starknet/swaps/StarknetSwapModule.d.ts +10 -10
  68. package/dist/starknet/swaps/StarknetSwapModule.js +12 -12
  69. package/dist/starknet/swaps/handlers/IHandler.d.ts +13 -13
  70. package/dist/starknet/swaps/handlers/IHandler.js +2 -2
  71. package/dist/starknet/swaps/handlers/claim/ClaimHandlers.d.ts +13 -13
  72. package/dist/starknet/swaps/handlers/claim/ClaimHandlers.js +13 -13
  73. package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.d.ts +21 -21
  74. package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.js +44 -44
  75. package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -24
  76. package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +48 -48
  77. package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -25
  78. package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +40 -40
  79. package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +20 -20
  80. package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +30 -30
  81. package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +42 -45
  82. package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +50 -54
  83. package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -17
  84. package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.js +27 -27
  85. package/dist/starknet/swaps/modules/StarknetLpVault.d.ts +67 -67
  86. package/dist/starknet/swaps/modules/StarknetLpVault.js +122 -122
  87. package/dist/starknet/swaps/modules/StarknetSwapClaim.d.ts +52 -52
  88. package/dist/starknet/swaps/modules/StarknetSwapClaim.js +99 -99
  89. package/dist/starknet/swaps/modules/StarknetSwapInit.d.ts +94 -94
  90. package/dist/starknet/swaps/modules/StarknetSwapInit.js +239 -239
  91. package/dist/starknet/swaps/modules/StarknetSwapRefund.d.ts +60 -60
  92. package/dist/starknet/swaps/modules/StarknetSwapRefund.js +126 -126
  93. package/dist/starknet/wallet/StarknetBrowserSigner.d.ts +11 -11
  94. package/dist/starknet/wallet/StarknetBrowserSigner.js +17 -17
  95. package/dist/starknet/wallet/StarknetPersistentSigner.d.ts +76 -76
  96. package/dist/starknet/wallet/StarknetPersistentSigner.js +291 -291
  97. package/dist/starknet/wallet/StarknetSigner.d.ts +72 -72
  98. package/dist/starknet/wallet/StarknetSigner.js +114 -114
  99. package/dist/starknet/wallet/accounts/StarknetKeypairWallet.d.ts +18 -18
  100. package/dist/starknet/wallet/accounts/StarknetKeypairWallet.js +45 -45
  101. package/dist/utils/Utils.d.ts +77 -77
  102. package/dist/utils/Utils.js +304 -303
  103. package/package.json +2 -2
  104. package/src/starknet/StarknetInitializer.ts +6 -3
  105. package/src/starknet/btcrelay/StarknetBtcRelay.ts +19 -6
  106. package/src/starknet/btcrelay/headers/StarknetBtcHeader.ts +7 -7
  107. package/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts +6 -6
  108. package/src/starknet/chain/StarknetAction.ts +1 -0
  109. package/src/starknet/chain/StarknetChainInterface.ts +0 -2
  110. package/src/starknet/chain/modules/StarknetFees.ts +15 -2
  111. package/src/starknet/chain/modules/StarknetTransactions.ts +24 -0
  112. package/src/starknet/contract/StarknetContractBase.ts +7 -4
  113. package/src/starknet/contract/StarknetContractModule.ts +1 -1
  114. package/src/starknet/contract/modules/StarknetContractEvents.ts +7 -7
  115. package/src/starknet/events/StarknetChainEventsBrowser.ts +2 -64
  116. package/src/starknet/provider/RpcProviderWithRetries.ts +1 -1
  117. package/src/starknet/spv_swap/StarknetSpvVaultContract.ts +84 -18
  118. package/src/starknet/swaps/StarknetSwapContract.ts +242 -6
  119. package/src/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +0 -4
@@ -1,219 +1,225 @@
1
- import { BitcoinRpc, BtcTx, RelaySynchronizer, SpvVaultContract, SpvVaultTokenData, SpvWithdrawalState, SpvWithdrawalTransactionData, TransactionConfirmationOptions } from "@atomiqlabs/base";
2
- import { Buffer } from "buffer";
3
- import { StarknetTx } from "../chain/modules/StarknetTransactions";
4
- import { StarknetContractBase } from "../contract/StarknetContractBase";
5
- import { StarknetChainInterface } from "../chain/StarknetChainInterface";
6
- import { StarknetBtcRelay } from "../btcrelay/StarknetBtcRelay";
7
- import { StarknetAction } from "../chain/StarknetAction";
8
- import { SpvVaultContractAbi } from "./SpvVaultContractAbi";
9
- import { StarknetSigner } from "../wallet/StarknetSigner";
10
- import { StarknetSpvVaultData } from "./StarknetSpvVaultData";
11
- import { StarknetSpvWithdrawalData } from "./StarknetSpvWithdrawalData";
12
- import { StarknetBtcStoredHeader } from "../btcrelay/headers/StarknetBtcStoredHeader";
13
- /**
14
- * Starknet SPV vault (UTXO-controlled vault) contract representation
15
- *
16
- * @category Swaps
17
- */
18
- export declare class StarknetSpvVaultContract extends StarknetContractBase<typeof SpvVaultContractAbi> implements SpvVaultContract<StarknetTx, StarknetSigner, "STARKNET", StarknetSpvWithdrawalData, StarknetSpvVaultData> {
19
- private static readonly GasCosts;
20
- readonly chainId = "STARKNET";
21
- readonly btcRelay: StarknetBtcRelay<any>;
22
- readonly bitcoinRpc: BitcoinRpc<any>;
23
- readonly claimTimeout: number;
24
- readonly maxClaimsPerTx: number;
25
- readonly logger: import("../../utils/Utils").LoggerType;
26
- constructor(chainInterface: StarknetChainInterface, btcRelay: StarknetBtcRelay<any>, bitcoinRpc: BitcoinRpc<any>, contractAddress?: string);
27
- /**
28
- * Returns a {@link StarknetAction} that opens up the spv vault with the passed data
29
- *
30
- * @param signer A starknet signer's address
31
- * @param vault Vault data and configuration
32
- */
33
- Open(signer: string, vault: StarknetSpvVaultData): StarknetAction;
34
- /**
35
- * Returns a {@link StarknetAction} that deposits assets to the spv vault, amounts have to be already scaled!
36
- * This also doesn't add the approval call!
37
- *
38
- * @param signer A starknet signer's address
39
- * @param vault Vault data and configuration
40
- * @param rawAmounts An array of amounts to deposit, since the vault supports 2 tokens, up to 2 amounts are allowed
41
- */
42
- Deposit(signer: string, vault: StarknetSpvVaultData, rawAmounts: bigint[]): StarknetAction;
43
- /**
44
- * Returns a {@link StarknetAction} that fronts the vault withdrawal. This doesn't add the approval call!
45
- *
46
- * @param signer A starknet signer's address
47
- * @param vault Vault data and configuration
48
- * @param data Vault withdrawal transaction data to front
49
- * @param withdrawalSequence Which withdrawal in sequence is this, used to prevent race conditions when 2 parties
50
- * were to front at the same time
51
- */
52
- Front(signer: string, vault: StarknetSpvVaultData, data: StarknetSpvWithdrawalData, withdrawalSequence: number): StarknetAction;
53
- /**
54
- * Returns a {@link StarknetAction} that submits the withdrawal data and executes the vault withdrawal
55
- *
56
- * @param signer A starknet signer's address
57
- * @param vault Vault data and configuration
58
- * @param data Vault withdrawal transaction data to execute and claim assets based on it
59
- * @param blockheader A stored and committed bitcoin blockheader where the bitcoin transaction got confirmed
60
- * @param merkle Merkle proof for the bitcoin transaction
61
- * @param position Position of the bitcoin transaction in the block - used for the merkle proof verification
62
- */
63
- Claim(signer: string, vault: StarknetSpvVaultData, data: StarknetSpvWithdrawalData, blockheader: StarknetBtcStoredHeader, merkle: Buffer[], position: number): StarknetAction;
64
- /**
65
- * @inheritDoc
66
- */
67
- checkWithdrawalTx(tx: SpvWithdrawalTransactionData): Promise<void>;
68
- /**
69
- * @inheritDoc
70
- */
71
- createVaultData(owner: string, vaultId: bigint, utxo: string, confirmations: number, tokenData: SpvVaultTokenData[]): Promise<StarknetSpvVaultData>;
72
- /**
73
- * @inheritDoc
74
- */
75
- getVaultData(owner: string, vaultId: bigint): Promise<StarknetSpvVaultData | null>;
76
- /**
77
- * @inheritDoc
78
- */
79
- getMultipleVaultData(vaults: {
80
- owner: string;
81
- vaultId: bigint;
82
- }[]): Promise<{
83
- [owner: string]: {
84
- [vaultId: string]: StarknetSpvVaultData | null;
85
- };
86
- }>;
87
- /**
88
- * @inheritDoc
89
- */
90
- getVaultLatestUtxo(owner: string, vaultId: bigint): Promise<string | null>;
91
- /**
92
- * @inheritDoc
93
- */
94
- getVaultLatestUtxos(vaults: {
95
- owner: string;
96
- vaultId: bigint;
97
- }[]): Promise<{
98
- [owner: string]: {
99
- [vaultId: string]: string | null;
100
- };
101
- }>;
102
- /**
103
- * @inheritDoc
104
- */
105
- getAllVaults(owner?: string): Promise<StarknetSpvVaultData[]>;
106
- /**
107
- * @inheritDoc
108
- */
109
- getFronterAddress(owner: string, vaultId: bigint, withdrawal: StarknetSpvWithdrawalData): Promise<string | null>;
110
- /**
111
- * @inheritDoc
112
- */
113
- getFronterAddresses(withdrawals: {
114
- owner: string;
115
- vaultId: bigint;
116
- withdrawal: StarknetSpvWithdrawalData;
117
- }[]): Promise<{
118
- [btcTxId: string]: string | null;
119
- }>;
120
- /**
121
- *
122
- * @param event
123
- * @private
124
- */
125
- private parseWithdrawalEvent;
126
- /**
127
- * @inheritDoc
128
- */
129
- getWithdrawalStates(withdrawalTxs: {
130
- withdrawal: StarknetSpvWithdrawalData;
131
- scStartBlockheight?: number;
132
- }[]): Promise<{
133
- [btcTxId: string]: SpvWithdrawalState;
134
- }>;
135
- /**
136
- * @inheritDoc
137
- */
138
- getWithdrawalState(withdrawalTx: StarknetSpvWithdrawalData, scStartBlockheight?: number): Promise<SpvWithdrawalState>;
139
- /**
140
- * @inheritDoc
141
- */
142
- getWithdrawalData(btcTx: BtcTx): Promise<StarknetSpvWithdrawalData>;
143
- /**
144
- * @inheritDoc
145
- */
146
- fromOpReturnData(data: Buffer): {
147
- recipient: string;
148
- rawAmounts: bigint[];
149
- executionHash?: string;
150
- };
151
- /**
152
- * Parses withdrawal params from OP_RETURN data
153
- *
154
- * @param data data as specified in the OP_RETURN output of the transaction
155
- */
156
- static fromOpReturnData(data: Buffer): {
157
- recipient: string;
158
- rawAmounts: bigint[];
159
- executionHash?: string;
160
- };
161
- /**
162
- * @inheritDoc
163
- */
164
- toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
165
- /**
166
- * Serializes the withdrawal params to the OP_RETURN data
167
- *
168
- * @param recipient Recipient of the withdrawn tokens
169
- * @param rawAmounts Raw amount of tokens to withdraw
170
- * @param executionHash Optional execution hash of the actions to execute
171
- */
172
- static toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
173
- /**
174
- * @inheritDoc
175
- */
176
- claim(signer: StarknetSigner, vault: StarknetSpvVaultData, txs: {
177
- tx: StarknetSpvWithdrawalData;
178
- storedHeader?: StarknetBtcStoredHeader;
179
- }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, txOptions?: TransactionConfirmationOptions): Promise<string>;
180
- /**
181
- * @inheritDoc
182
- */
183
- deposit(signer: StarknetSigner, vault: StarknetSpvVaultData, rawAmounts: bigint[], txOptions?: TransactionConfirmationOptions): Promise<string>;
184
- /**
185
- * @inheritDoc
186
- */
187
- frontLiquidity(signer: StarknetSigner, vault: StarknetSpvVaultData, realWithdrawalTx: StarknetSpvWithdrawalData, withdrawSequence: number, txOptions?: TransactionConfirmationOptions): Promise<string>;
188
- /**
189
- * @inheritDoc
190
- */
191
- open(signer: StarknetSigner, vault: StarknetSpvVaultData, txOptions?: TransactionConfirmationOptions): Promise<string>;
192
- /**
193
- * @inheritDoc
194
- */
195
- txsClaim(signer: string, vault: StarknetSpvVaultData, txs: {
196
- tx: StarknetSpvWithdrawalData;
197
- storedHeader?: StarknetBtcStoredHeader;
198
- }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, feeRate?: string): Promise<StarknetTx[]>;
199
- /**
200
- * @inheritDoc
201
- */
202
- txsDeposit(signer: string, vault: StarknetSpvVaultData, rawAmounts: bigint[], feeRate?: string): Promise<StarknetTx[]>;
203
- /**
204
- * @inheritDoc
205
- */
206
- txsFrontLiquidity(signer: string, vault: StarknetSpvVaultData, realWithdrawalTx: StarknetSpvWithdrawalData, withdrawSequence: number, feeRate?: string): Promise<StarknetTx[]>;
207
- /**
208
- * @inheritDoc
209
- */
210
- txsOpen(signer: string, vault: StarknetSpvVaultData, feeRate?: string): Promise<StarknetTx[]>;
211
- /**
212
- * @inheritDoc
213
- */
214
- getClaimFee(signer: string, vault: StarknetSpvVaultData, withdrawalData: StarknetSpvWithdrawalData, feeRate?: string): Promise<bigint>;
215
- /**
216
- * @inheritDoc
217
- */
218
- getFrontFee(signer: string, vault: StarknetSpvVaultData, withdrawalData: StarknetSpvWithdrawalData, feeRate?: string): Promise<bigint>;
219
- }
1
+ import { BitcoinRpc, BtcTx, RelaySynchronizer, SpvVaultContract, SpvVaultTokenData, SpvWithdrawalClaimedState, SpvWithdrawalFrontedState, SpvWithdrawalState, SpvWithdrawalTransactionData, TransactionConfirmationOptions } from "@atomiqlabs/base";
2
+ import { Buffer } from "buffer";
3
+ import { StarknetTx } from "../chain/modules/StarknetTransactions";
4
+ import { StarknetContractBase } from "../contract/StarknetContractBase";
5
+ import { StarknetChainInterface } from "../chain/StarknetChainInterface";
6
+ import { StarknetBtcRelay } from "../btcrelay/StarknetBtcRelay";
7
+ import { StarknetAction } from "../chain/StarknetAction";
8
+ import { SpvVaultContractAbi } from "./SpvVaultContractAbi";
9
+ import { StarknetSigner } from "../wallet/StarknetSigner";
10
+ import { StarknetSpvVaultData } from "./StarknetSpvVaultData";
11
+ import { StarknetSpvWithdrawalData } from "./StarknetSpvWithdrawalData";
12
+ import { StarknetBtcStoredHeader } from "../btcrelay/headers/StarknetBtcStoredHeader";
13
+ /**
14
+ * Starknet SPV vault (UTXO-controlled vault) contract representation
15
+ *
16
+ * @category Swaps
17
+ */
18
+ export declare class StarknetSpvVaultContract extends StarknetContractBase<typeof SpvVaultContractAbi> implements SpvVaultContract<StarknetTx, StarknetSigner, "STARKNET", StarknetSpvWithdrawalData, StarknetSpvVaultData> {
19
+ private static readonly GasCosts;
20
+ readonly chainId = "STARKNET";
21
+ readonly claimTimeout: number;
22
+ readonly maxClaimsPerTx: number;
23
+ private readonly btcRelay;
24
+ private readonly bitcoinRpc;
25
+ private readonly logger;
26
+ constructor(chainInterface: StarknetChainInterface, btcRelay: StarknetBtcRelay<any>, bitcoinRpc: BitcoinRpc<any>, contractAddress?: string, contractDeploymentHeight?: number);
27
+ /**
28
+ * Returns a {@link StarknetAction} that opens up the spv vault with the passed data
29
+ *
30
+ * @param signer A starknet signer's address
31
+ * @param vault Vault data and configuration
32
+ */
33
+ Open(signer: string, vault: StarknetSpvVaultData): StarknetAction;
34
+ /**
35
+ * Returns a {@link StarknetAction} that deposits assets to the spv vault, amounts have to be already scaled!
36
+ * This also doesn't add the approval call!
37
+ *
38
+ * @param signer A starknet signer's address
39
+ * @param vault Vault data and configuration
40
+ * @param rawAmounts An array of amounts to deposit, since the vault supports 2 tokens, up to 2 amounts are allowed
41
+ */
42
+ Deposit(signer: string, vault: StarknetSpvVaultData, rawAmounts: bigint[]): StarknetAction;
43
+ /**
44
+ * Returns a {@link StarknetAction} that fronts the vault withdrawal. This doesn't add the approval call!
45
+ *
46
+ * @param signer A starknet signer's address
47
+ * @param vault Vault data and configuration
48
+ * @param data Vault withdrawal transaction data to front
49
+ * @param withdrawalSequence Which withdrawal in sequence is this, used to prevent race conditions when 2 parties
50
+ * were to front at the same time
51
+ */
52
+ Front(signer: string, vault: StarknetSpvVaultData, data: StarknetSpvWithdrawalData, withdrawalSequence: number): StarknetAction;
53
+ /**
54
+ * Returns a {@link StarknetAction} that submits the withdrawal data and executes the vault withdrawal
55
+ *
56
+ * @param signer A starknet signer's address
57
+ * @param vault Vault data and configuration
58
+ * @param data Vault withdrawal transaction data to execute and claim assets based on it
59
+ * @param blockheader A stored and committed bitcoin blockheader where the bitcoin transaction got confirmed
60
+ * @param merkle Merkle proof for the bitcoin transaction
61
+ * @param position Position of the bitcoin transaction in the block - used for the merkle proof verification
62
+ */
63
+ Claim(signer: string, vault: StarknetSpvVaultData, data: StarknetSpvWithdrawalData, blockheader: StarknetBtcStoredHeader, merkle: Buffer[], position: number): StarknetAction;
64
+ /**
65
+ * @inheritDoc
66
+ */
67
+ checkWithdrawalTx(tx: SpvWithdrawalTransactionData): Promise<void>;
68
+ /**
69
+ * @inheritDoc
70
+ */
71
+ createVaultData(owner: string, vaultId: bigint, utxo: string, confirmations: number, tokenData: SpvVaultTokenData[]): Promise<StarknetSpvVaultData>;
72
+ /**
73
+ * @inheritDoc
74
+ */
75
+ getVaultData(owner: string, vaultId: bigint): Promise<StarknetSpvVaultData | null>;
76
+ /**
77
+ * @inheritDoc
78
+ */
79
+ getMultipleVaultData(vaults: {
80
+ owner: string;
81
+ vaultId: bigint;
82
+ }[]): Promise<{
83
+ [owner: string]: {
84
+ [vaultId: string]: StarknetSpvVaultData | null;
85
+ };
86
+ }>;
87
+ /**
88
+ * @inheritDoc
89
+ */
90
+ getVaultLatestUtxo(owner: string, vaultId: bigint): Promise<string | null>;
91
+ /**
92
+ * @inheritDoc
93
+ */
94
+ getVaultLatestUtxos(vaults: {
95
+ owner: string;
96
+ vaultId: bigint;
97
+ }[]): Promise<{
98
+ [owner: string]: {
99
+ [vaultId: string]: string | null;
100
+ };
101
+ }>;
102
+ /**
103
+ * @inheritDoc
104
+ */
105
+ getAllVaults(owner?: string): Promise<StarknetSpvVaultData[]>;
106
+ /**
107
+ * @inheritDoc
108
+ */
109
+ getFronterAddress(owner: string, vaultId: bigint, withdrawal: StarknetSpvWithdrawalData): Promise<string | null>;
110
+ /**
111
+ * @inheritDoc
112
+ */
113
+ getFronterAddresses(withdrawals: {
114
+ owner: string;
115
+ vaultId: bigint;
116
+ withdrawal: StarknetSpvWithdrawalData;
117
+ }[]): Promise<{
118
+ [btcTxId: string]: string | null;
119
+ }>;
120
+ /**
121
+ *
122
+ * @param event
123
+ * @private
124
+ */
125
+ private parseWithdrawalEvent;
126
+ /**
127
+ * @inheritDoc
128
+ */
129
+ getWithdrawalStates(withdrawalTxs: {
130
+ withdrawal: StarknetSpvWithdrawalData;
131
+ scStartBlockheight?: number;
132
+ }[]): Promise<{
133
+ [btcTxId: string]: SpvWithdrawalState;
134
+ }>;
135
+ /**
136
+ * @inheritDoc
137
+ */
138
+ getWithdrawalState(withdrawalTx: StarknetSpvWithdrawalData, scStartBlockheight?: number): Promise<SpvWithdrawalState>;
139
+ getHistoricalWithdrawalStates(recipient: string, startBlockheight?: number): Promise<{
140
+ withdrawals: {
141
+ [btcTxId: string]: SpvWithdrawalClaimedState | SpvWithdrawalFrontedState;
142
+ };
143
+ latestBlockheight?: number;
144
+ }>;
145
+ /**
146
+ * @inheritDoc
147
+ */
148
+ getWithdrawalData(btcTx: BtcTx): Promise<StarknetSpvWithdrawalData>;
149
+ /**
150
+ * @inheritDoc
151
+ */
152
+ fromOpReturnData(data: Buffer): {
153
+ recipient: string;
154
+ rawAmounts: bigint[];
155
+ executionHash?: string;
156
+ };
157
+ /**
158
+ * Parses withdrawal params from OP_RETURN data
159
+ *
160
+ * @param data data as specified in the OP_RETURN output of the transaction
161
+ */
162
+ static fromOpReturnData(data: Buffer): {
163
+ recipient: string;
164
+ rawAmounts: bigint[];
165
+ executionHash?: string;
166
+ };
167
+ /**
168
+ * @inheritDoc
169
+ */
170
+ toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
171
+ /**
172
+ * Serializes the withdrawal params to the OP_RETURN data
173
+ *
174
+ * @param recipient Recipient of the withdrawn tokens
175
+ * @param rawAmounts Raw amount of tokens to withdraw
176
+ * @param executionHash Optional execution hash of the actions to execute
177
+ */
178
+ static toOpReturnData(recipient: string, rawAmounts: bigint[], executionHash?: string): Buffer;
179
+ /**
180
+ * @inheritDoc
181
+ */
182
+ claim(signer: StarknetSigner, vault: StarknetSpvVaultData, txs: {
183
+ tx: StarknetSpvWithdrawalData;
184
+ storedHeader?: StarknetBtcStoredHeader;
185
+ }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, txOptions?: TransactionConfirmationOptions): Promise<string>;
186
+ /**
187
+ * @inheritDoc
188
+ */
189
+ deposit(signer: StarknetSigner, vault: StarknetSpvVaultData, rawAmounts: bigint[], txOptions?: TransactionConfirmationOptions): Promise<string>;
190
+ /**
191
+ * @inheritDoc
192
+ */
193
+ frontLiquidity(signer: StarknetSigner, vault: StarknetSpvVaultData, realWithdrawalTx: StarknetSpvWithdrawalData, withdrawSequence: number, txOptions?: TransactionConfirmationOptions): Promise<string>;
194
+ /**
195
+ * @inheritDoc
196
+ */
197
+ open(signer: StarknetSigner, vault: StarknetSpvVaultData, txOptions?: TransactionConfirmationOptions): Promise<string>;
198
+ /**
199
+ * @inheritDoc
200
+ */
201
+ txsClaim(signer: string, vault: StarknetSpvVaultData, txs: {
202
+ tx: StarknetSpvWithdrawalData;
203
+ storedHeader?: StarknetBtcStoredHeader;
204
+ }[], synchronizer?: RelaySynchronizer<any, any, any>, initAta?: boolean, feeRate?: string): Promise<StarknetTx[]>;
205
+ /**
206
+ * @inheritDoc
207
+ */
208
+ txsDeposit(signer: string, vault: StarknetSpvVaultData, rawAmounts: bigint[], feeRate?: string): Promise<StarknetTx[]>;
209
+ /**
210
+ * @inheritDoc
211
+ */
212
+ txsFrontLiquidity(signer: string, vault: StarknetSpvVaultData, realWithdrawalTx: StarknetSpvWithdrawalData, withdrawSequence: number, feeRate?: string): Promise<StarknetTx[]>;
213
+ /**
214
+ * @inheritDoc
215
+ */
216
+ txsOpen(signer: string, vault: StarknetSpvVaultData, feeRate?: string): Promise<StarknetTx[]>;
217
+ /**
218
+ * @inheritDoc
219
+ */
220
+ getClaimFee(signer: string, vault: StarknetSpvVaultData, withdrawalData: StarknetSpvWithdrawalData, feeRate?: string): Promise<bigint>;
221
+ /**
222
+ * @inheritDoc
223
+ */
224
+ getFrontFee(signer: string, vault: StarknetSpvVaultData, withdrawalData: StarknetSpvWithdrawalData, feeRate?: string): Promise<bigint>;
225
+ }