@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,190 +1,178 @@
|
|
|
1
|
-
import { ChainEvents, EventListener } from "@atomiqlabs/base";
|
|
2
|
-
import { StarknetSwapData } from "../swaps/StarknetSwapData";
|
|
3
|
-
import { StarknetSwapContract } from "../swaps/StarknetSwapContract";
|
|
4
|
-
import { Provider, SubscriptionStarknetEventsEvent, WebSocketChannel } from "starknet";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
protected readonly
|
|
30
|
-
protected readonly
|
|
31
|
-
protected readonly
|
|
32
|
-
protected readonly
|
|
33
|
-
protected readonly
|
|
34
|
-
protected
|
|
35
|
-
protected
|
|
36
|
-
protected
|
|
37
|
-
protected
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
*
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
*
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
*
|
|
64
|
-
* @
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
*
|
|
75
|
-
* @
|
|
76
|
-
* @
|
|
77
|
-
*/
|
|
78
|
-
private
|
|
79
|
-
/**
|
|
80
|
-
*
|
|
81
|
-
* @param event
|
|
82
|
-
* @private
|
|
83
|
-
*/
|
|
84
|
-
private
|
|
85
|
-
/**
|
|
86
|
-
*
|
|
87
|
-
* @param event
|
|
88
|
-
* @private
|
|
89
|
-
*/
|
|
90
|
-
private
|
|
91
|
-
/**
|
|
92
|
-
*
|
|
93
|
-
* @param event
|
|
94
|
-
* @private
|
|
95
|
-
*/
|
|
96
|
-
private
|
|
97
|
-
/**
|
|
98
|
-
*
|
|
99
|
-
* @param event
|
|
100
|
-
* @private
|
|
101
|
-
*/
|
|
102
|
-
private
|
|
103
|
-
/**
|
|
104
|
-
*
|
|
105
|
-
* @param event
|
|
106
|
-
* @private
|
|
107
|
-
*/
|
|
108
|
-
private
|
|
109
|
-
/**
|
|
110
|
-
*
|
|
111
|
-
* @param event
|
|
112
|
-
* @private
|
|
113
|
-
*/
|
|
114
|
-
private
|
|
115
|
-
/**
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* @
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
*
|
|
138
|
-
|
|
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
|
-
* @inheritDoc
|
|
176
|
-
*/
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
* Stops all event subscriptions and timers
|
|
180
|
-
*/
|
|
181
|
-
stop(): Promise<void>;
|
|
182
|
-
/**
|
|
183
|
-
* @inheritDoc
|
|
184
|
-
*/
|
|
185
|
-
registerListener(cbk: EventListener<StarknetSwapData>): void;
|
|
186
|
-
/**
|
|
187
|
-
* @inheritDoc
|
|
188
|
-
*/
|
|
189
|
-
unregisterListener(cbk: EventListener<StarknetSwapData>): boolean;
|
|
190
|
-
}
|
|
1
|
+
import { ChainEvents, EventListener } from "@atomiqlabs/base";
|
|
2
|
+
import { StarknetSwapData } from "../swaps/StarknetSwapData";
|
|
3
|
+
import { StarknetSwapContract } from "../swaps/StarknetSwapContract";
|
|
4
|
+
import { Provider, SubscriptionStarknetEventsEvent, WebSocketChannel } from "starknet";
|
|
5
|
+
import { StarknetSpvVaultContract } from "../spv_swap/StarknetSpvVaultContract";
|
|
6
|
+
import { StarknetChainInterface } from "../chain/StarknetChainInterface";
|
|
7
|
+
/**
|
|
8
|
+
* Current state of the starknet event listener, contains the last processed
|
|
9
|
+
* block number and transaction hash of the last processed event
|
|
10
|
+
*
|
|
11
|
+
* @category Events
|
|
12
|
+
*/
|
|
13
|
+
export type StarknetEventListenerState = {
|
|
14
|
+
lastBlockNumber: number;
|
|
15
|
+
lastTxHash?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Starknet on-chain event handler for front-end systems without access to fs, uses WS or long-polling to subscribe, might lose
|
|
19
|
+
* out on some events if the network is unreliable, front-end systems should take this into consideration and not
|
|
20
|
+
* rely purely on events
|
|
21
|
+
*
|
|
22
|
+
* @category Events
|
|
23
|
+
*/
|
|
24
|
+
export declare class StarknetChainEventsBrowser implements ChainEvents<StarknetSwapData, StarknetEventListenerState[]> {
|
|
25
|
+
private eventsProcessing;
|
|
26
|
+
private processedEvents;
|
|
27
|
+
protected readonly Chain: StarknetChainInterface;
|
|
28
|
+
protected readonly listeners: EventListener<StarknetSwapData>[];
|
|
29
|
+
protected readonly wsChannel?: WebSocketChannel;
|
|
30
|
+
protected readonly provider: Provider;
|
|
31
|
+
protected readonly starknetSwapContract: StarknetSwapContract;
|
|
32
|
+
protected readonly starknetSpvVaultContract: StarknetSpvVaultContract;
|
|
33
|
+
protected readonly logger: import("../../utils/Utils").LoggerType;
|
|
34
|
+
protected escrowContractSubscription?: SubscriptionStarknetEventsEvent;
|
|
35
|
+
protected spvVaultContractSubscription?: SubscriptionStarknetEventsEvent;
|
|
36
|
+
protected stopped: boolean;
|
|
37
|
+
protected pollIntervalSeconds: number;
|
|
38
|
+
private timeout;
|
|
39
|
+
constructor(chainInterface: StarknetChainInterface, starknetSwapContract: StarknetSwapContract, starknetSpvVaultContract: StarknetSpvVaultContract, pollIntervalSeconds?: number);
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @param event
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
private getEventFingerprint;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @param event
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
private addProcessedEvent;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param eventOrFingerprint
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
private isEventProcessed;
|
|
58
|
+
/**
|
|
59
|
+
* Returns async getter for fetching on-demand initialize event swap data
|
|
60
|
+
*
|
|
61
|
+
* @param event
|
|
62
|
+
* @param claimHandler
|
|
63
|
+
* @private
|
|
64
|
+
* @returns {() => Promise<StarknetSwapData>} getter to be passed to InitializeEvent constructor
|
|
65
|
+
*/
|
|
66
|
+
private getSwapDataGetter;
|
|
67
|
+
/**
|
|
68
|
+
*
|
|
69
|
+
* @param event
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
private parseInitializeEvent;
|
|
73
|
+
/**
|
|
74
|
+
*
|
|
75
|
+
* @param event
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
private parseRefundEvent;
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @param event
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
private parseClaimEvent;
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* @param event
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
private parseSpvOpenEvent;
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @param event
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
private parseSpvDepositEvent;
|
|
97
|
+
/**
|
|
98
|
+
*
|
|
99
|
+
* @param event
|
|
100
|
+
* @private
|
|
101
|
+
*/
|
|
102
|
+
private parseSpvFrontEvent;
|
|
103
|
+
/**
|
|
104
|
+
*
|
|
105
|
+
* @param event
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
108
|
+
private parseSpvClaimEvent;
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* @param event
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
private parseSpvCloseEvent;
|
|
115
|
+
/**
|
|
116
|
+
* Processes event as received from the chain, parses it & calls event listeners
|
|
117
|
+
*
|
|
118
|
+
* @param events
|
|
119
|
+
* @param currentBlockNumber
|
|
120
|
+
* @param currentBlockTimestamp
|
|
121
|
+
* @private
|
|
122
|
+
*/
|
|
123
|
+
private processEvents;
|
|
124
|
+
/**
|
|
125
|
+
*
|
|
126
|
+
* @param currentBlock
|
|
127
|
+
* @param lastTxHash
|
|
128
|
+
* @param lastBlockNumber
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
private checkEventsEcrowManager;
|
|
132
|
+
protected checkEventsSpvVaults(currentBlock: {
|
|
133
|
+
timestamp: number;
|
|
134
|
+
block_number: number;
|
|
135
|
+
}, lastTxHash?: string, lastBlockNumber?: number): Promise<StarknetEventListenerState>;
|
|
136
|
+
/**
|
|
137
|
+
* @inheritDoc
|
|
138
|
+
*/
|
|
139
|
+
poll(lastState?: StarknetEventListenerState[]): Promise<StarknetEventListenerState[]>;
|
|
140
|
+
/**
|
|
141
|
+
* Sets up event handlers listening for swap events over websocket
|
|
142
|
+
*
|
|
143
|
+
* @protected
|
|
144
|
+
*/
|
|
145
|
+
protected setupPoll(lastState?: StarknetEventListenerState[], saveLatestProcessedBlockNumber?: (newState: StarknetEventListenerState[]) => Promise<void>): Promise<void>;
|
|
146
|
+
protected wsStarted: boolean;
|
|
147
|
+
/**
|
|
148
|
+
*
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
151
|
+
private subscribeWsEscrowEvents;
|
|
152
|
+
/**
|
|
153
|
+
*
|
|
154
|
+
* @private
|
|
155
|
+
*/
|
|
156
|
+
private subscribeWsSpvVaultEvents;
|
|
157
|
+
/**
|
|
158
|
+
*
|
|
159
|
+
* @protected
|
|
160
|
+
*/
|
|
161
|
+
protected setupWebsocket(): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* @inheritDoc
|
|
164
|
+
*/
|
|
165
|
+
init(noAutomaticPoll?: boolean): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Stops all event subscriptions and timers
|
|
168
|
+
*/
|
|
169
|
+
stop(): Promise<void>;
|
|
170
|
+
/**
|
|
171
|
+
* @inheritDoc
|
|
172
|
+
*/
|
|
173
|
+
registerListener(cbk: EventListener<StarknetSwapData>): void;
|
|
174
|
+
/**
|
|
175
|
+
* @inheritDoc
|
|
176
|
+
*/
|
|
177
|
+
unregisterListener(cbk: EventListener<StarknetSwapData>): boolean;
|
|
178
|
+
}
|