@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.
- package/dist/index.d.ts +18 -18
- package/dist/index.js +42 -42
- package/dist/starknet/StarknetChainType.d.ts +19 -19
- package/dist/starknet/StarknetChainType.js +2 -2
- package/dist/starknet/StarknetInitializer.d.ts +66 -63
- package/dist/starknet/StarknetInitializer.js +101 -101
- package/dist/starknet/btcrelay/BtcRelayAbi.d.ts +250 -250
- package/dist/starknet/btcrelay/BtcRelayAbi.js +341 -341
- package/dist/starknet/btcrelay/StarknetBtcRelay.d.ts +196 -196
- package/dist/starknet/btcrelay/StarknetBtcRelay.js +419 -411
- package/dist/starknet/btcrelay/headers/StarknetBtcHeader.d.ts +70 -70
- package/dist/starknet/btcrelay/headers/StarknetBtcHeader.js +115 -115
- package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.d.ts +91 -91
- package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.js +155 -155
- package/dist/starknet/chain/StarknetAction.d.ts +19 -19
- package/dist/starknet/chain/StarknetAction.js +74 -74
- package/dist/starknet/chain/StarknetChainInterface.d.ts +142 -143
- package/dist/starknet/chain/StarknetChainInterface.js +198 -199
- package/dist/starknet/chain/StarknetModule.d.ts +8 -8
- package/dist/starknet/chain/StarknetModule.js +12 -12
- package/dist/starknet/chain/modules/ERC20Abi.d.ts +755 -755
- package/dist/starknet/chain/modules/ERC20Abi.js +1032 -1032
- package/dist/starknet/chain/modules/StarknetAccounts.d.ts +6 -6
- package/dist/starknet/chain/modules/StarknetAccounts.js +26 -26
- package/dist/starknet/chain/modules/StarknetAddresses.d.ts +10 -10
- package/dist/starknet/chain/modules/StarknetAddresses.js +27 -27
- package/dist/starknet/chain/modules/StarknetBlocks.d.ts +27 -27
- package/dist/starknet/chain/modules/StarknetBlocks.js +82 -82
- package/dist/starknet/chain/modules/StarknetEvents.d.ts +47 -47
- package/dist/starknet/chain/modules/StarknetEvents.js +90 -90
- package/dist/starknet/chain/modules/StarknetFees.d.ts +118 -104
- package/dist/starknet/chain/modules/StarknetFees.js +150 -146
- package/dist/starknet/chain/modules/StarknetSignatures.d.ts +29 -29
- package/dist/starknet/chain/modules/StarknetSignatures.js +72 -72
- package/dist/starknet/chain/modules/StarknetTokens.d.ts +66 -66
- package/dist/starknet/chain/modules/StarknetTokens.js +99 -99
- package/dist/starknet/chain/modules/StarknetTransactions.d.ts +122 -115
- package/dist/starknet/chain/modules/StarknetTransactions.js +633 -612
- package/dist/starknet/contract/StarknetContractBase.d.ts +14 -13
- package/dist/starknet/contract/StarknetContractBase.js +21 -20
- package/dist/starknet/contract/StarknetContractModule.d.ts +8 -8
- package/dist/starknet/contract/StarknetContractModule.js +11 -11
- package/dist/starknet/contract/modules/StarknetContractEvents.d.ts +56 -57
- package/dist/starknet/contract/modules/StarknetContractEvents.js +111 -111
- package/dist/starknet/events/StarknetChainEvents.d.ts +21 -21
- package/dist/starknet/events/StarknetChainEvents.js +61 -61
- package/dist/starknet/events/StarknetChainEventsBrowser.d.ts +178 -190
- package/dist/starknet/events/StarknetChainEventsBrowser.js +523 -582
- package/dist/starknet/provider/RpcProviderWithRetries.d.ts +49 -53
- package/dist/starknet/provider/RpcProviderWithRetries.js +94 -94
- package/dist/starknet/provider/WebSocketChannelWithRetries.d.ts +21 -21
- package/dist/starknet/provider/WebSocketChannelWithRetries.js +46 -46
- package/dist/starknet/spv_swap/SpvVaultContractAbi.d.ts +488 -488
- package/dist/starknet/spv_swap/SpvVaultContractAbi.js +656 -656
- package/dist/starknet/spv_swap/StarknetSpvVaultContract.d.ts +225 -219
- package/dist/starknet/spv_swap/StarknetSpvVaultContract.js +663 -621
- package/dist/starknet/spv_swap/StarknetSpvVaultData.d.ts +108 -108
- package/dist/starknet/spv_swap/StarknetSpvVaultData.js +190 -190
- package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.d.ts +56 -56
- package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.js +103 -103
- package/dist/starknet/swaps/EscrowManagerAbi.d.ts +431 -431
- package/dist/starknet/swaps/EscrowManagerAbi.js +583 -583
- package/dist/starknet/swaps/StarknetSwapContract.d.ts +309 -278
- package/dist/starknet/swaps/StarknetSwapContract.js +755 -579
- package/dist/starknet/swaps/StarknetSwapData.d.ts +234 -234
- package/dist/starknet/swaps/StarknetSwapData.js +474 -474
- package/dist/starknet/swaps/StarknetSwapModule.d.ts +10 -10
- package/dist/starknet/swaps/StarknetSwapModule.js +12 -12
- package/dist/starknet/swaps/handlers/IHandler.d.ts +13 -13
- package/dist/starknet/swaps/handlers/IHandler.js +2 -2
- package/dist/starknet/swaps/handlers/claim/ClaimHandlers.d.ts +13 -13
- package/dist/starknet/swaps/handlers/claim/ClaimHandlers.js +13 -13
- package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.d.ts +21 -21
- package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.js +44 -44
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -24
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +48 -48
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -25
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +40 -40
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +20 -20
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +30 -30
- package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +42 -45
- package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +50 -54
- package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -17
- package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.js +27 -27
- package/dist/starknet/swaps/modules/StarknetLpVault.d.ts +67 -67
- package/dist/starknet/swaps/modules/StarknetLpVault.js +122 -122
- package/dist/starknet/swaps/modules/StarknetSwapClaim.d.ts +52 -52
- package/dist/starknet/swaps/modules/StarknetSwapClaim.js +99 -99
- package/dist/starknet/swaps/modules/StarknetSwapInit.d.ts +94 -94
- package/dist/starknet/swaps/modules/StarknetSwapInit.js +239 -239
- package/dist/starknet/swaps/modules/StarknetSwapRefund.d.ts +60 -60
- package/dist/starknet/swaps/modules/StarknetSwapRefund.js +126 -126
- package/dist/starknet/wallet/StarknetBrowserSigner.d.ts +11 -11
- package/dist/starknet/wallet/StarknetBrowserSigner.js +17 -17
- package/dist/starknet/wallet/StarknetPersistentSigner.d.ts +76 -76
- package/dist/starknet/wallet/StarknetPersistentSigner.js +291 -291
- package/dist/starknet/wallet/StarknetSigner.d.ts +72 -72
- package/dist/starknet/wallet/StarknetSigner.js +114 -114
- package/dist/starknet/wallet/accounts/StarknetKeypairWallet.d.ts +18 -18
- package/dist/starknet/wallet/accounts/StarknetKeypairWallet.js +45 -45
- package/dist/utils/Utils.d.ts +77 -77
- package/dist/utils/Utils.js +304 -303
- package/package.json +2 -2
- package/src/starknet/StarknetInitializer.ts +6 -3
- package/src/starknet/btcrelay/StarknetBtcRelay.ts +19 -6
- package/src/starknet/btcrelay/headers/StarknetBtcHeader.ts +7 -7
- package/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts +6 -6
- package/src/starknet/chain/StarknetAction.ts +1 -0
- package/src/starknet/chain/StarknetChainInterface.ts +0 -2
- package/src/starknet/chain/modules/StarknetFees.ts +15 -2
- package/src/starknet/chain/modules/StarknetTransactions.ts +24 -0
- package/src/starknet/contract/StarknetContractBase.ts +7 -4
- package/src/starknet/contract/StarknetContractModule.ts +1 -1
- package/src/starknet/contract/modules/StarknetContractEvents.ts +7 -7
- package/src/starknet/events/StarknetChainEventsBrowser.ts +2 -64
- package/src/starknet/provider/RpcProviderWithRetries.ts +1 -1
- package/src/starknet/spv_swap/StarknetSpvVaultContract.ts +84 -18
- package/src/starknet/swaps/StarknetSwapContract.ts +242 -6
- 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
|
|
22
|
-
readonly
|
|
23
|
-
readonly
|
|
24
|
-
readonly
|
|
25
|
-
readonly logger
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
* @
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
* @
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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
|
+
}
|