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