@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,39 +1,39 @@
1
- import { SpvVaultClaimEvent, SpvVaultCloseEvent, SpvVaultData, SpvVaultDepositEvent, SpvVaultOpenEvent, SpvVaultTokenBalance, SpvVaultTokenData } from "@atomiqlabs/base";
2
- import { EVMSpvWithdrawalData } from "./EVMSpvWithdrawalData";
3
- import { SpvVaultParametersStruct, SpvVaultStateStruct } from "./SpvVaultContractTypechain";
4
- export declare function getVaultParamsCommitment(vaultParams: SpvVaultParametersStruct): string;
5
- export declare class EVMSpvVaultData extends SpvVaultData<EVMSpvWithdrawalData> {
6
- readonly owner: string;
7
- readonly vaultId: bigint;
8
- readonly relayContract: string;
9
- readonly token0: {
10
- token: string;
11
- multiplier: bigint;
12
- rawAmount: bigint;
13
- };
14
- readonly token1: {
15
- token: string;
16
- multiplier: bigint;
17
- rawAmount: bigint;
18
- };
19
- readonly initialUtxo: string;
20
- utxo: string;
21
- readonly confirmations: number;
22
- withdrawCount: number;
23
- depositCount: number;
24
- constructor(owner: string, vaultId: bigint, state: SpvVaultStateStruct, params: SpvVaultParametersStruct, initialUtxo?: string);
25
- constructor(serializedObj: any);
26
- getBalances(): SpvVaultTokenBalance[];
27
- getConfirmations(): number;
28
- getOwner(): string;
29
- getTokenData(): SpvVaultTokenData[];
30
- getUtxo(): string;
31
- getVaultId(): bigint;
32
- getWithdrawalCount(): number;
33
- isOpened(): boolean;
34
- serialize(): any;
35
- updateState(withdrawalTxOrEvent: SpvVaultClaimEvent | SpvVaultCloseEvent | SpvVaultOpenEvent | SpvVaultDepositEvent | EVMSpvWithdrawalData): void;
36
- getDepositCount(): number;
37
- getVaultParamsStruct(): SpvVaultParametersStruct;
38
- static randomVault(): EVMSpvVaultData;
39
- }
1
+ import { SpvVaultClaimEvent, SpvVaultCloseEvent, SpvVaultData, SpvVaultDepositEvent, SpvVaultOpenEvent, SpvVaultTokenBalance, SpvVaultTokenData } from "@atomiqlabs/base";
2
+ import { EVMSpvWithdrawalData } from "./EVMSpvWithdrawalData";
3
+ import { SpvVaultParametersStruct, SpvVaultStateStruct } from "./SpvVaultContractTypechain";
4
+ export declare function getVaultParamsCommitment(vaultParams: SpvVaultParametersStruct): string;
5
+ export declare class EVMSpvVaultData extends SpvVaultData<EVMSpvWithdrawalData> {
6
+ readonly owner: string;
7
+ readonly vaultId: bigint;
8
+ readonly relayContract: string;
9
+ readonly token0: {
10
+ token: string;
11
+ multiplier: bigint;
12
+ rawAmount: bigint;
13
+ };
14
+ readonly token1: {
15
+ token: string;
16
+ multiplier: bigint;
17
+ rawAmount: bigint;
18
+ };
19
+ readonly initialUtxo: string;
20
+ utxo: string;
21
+ readonly confirmations: number;
22
+ withdrawCount: number;
23
+ depositCount: number;
24
+ constructor(owner: string, vaultId: bigint, state: SpvVaultStateStruct, params: SpvVaultParametersStruct, initialUtxo?: string);
25
+ constructor(serializedObj: any);
26
+ getBalances(): SpvVaultTokenBalance[];
27
+ getConfirmations(): number;
28
+ getOwner(): string;
29
+ getTokenData(): SpvVaultTokenData[];
30
+ getUtxo(): string;
31
+ getVaultId(): bigint;
32
+ getWithdrawalCount(): number;
33
+ isOpened(): boolean;
34
+ serialize(): any;
35
+ updateState(withdrawalTxOrEvent: SpvVaultClaimEvent | SpvVaultCloseEvent | SpvVaultOpenEvent | SpvVaultDepositEvent | EVMSpvWithdrawalData): void;
36
+ getDepositCount(): number;
37
+ getVaultParamsStruct(): SpvVaultParametersStruct;
38
+ static randomVault(): EVMSpvVaultData;
39
+ }
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EVMSpvVaultData = exports.getVaultParamsCommitment = void 0;
4
- const base_1 = require("@atomiqlabs/base");
5
- const buffer_1 = require("buffer");
6
- const EVMSpvWithdrawalData_1 = require("./EVMSpvWithdrawalData");
7
- const ethers_1 = require("ethers");
8
- const ethers_2 = require("ethers");
9
- const EVMAddresses_1 = require("../chain/modules/EVMAddresses");
10
- function getVaultParamsCommitment(vaultParams) {
11
- return (0, ethers_2.keccak256)(ethers_2.AbiCoder.defaultAbiCoder().encode(["address", "address", "address", "uint192", "uint192", "uint256"], [vaultParams.btcRelayContract, vaultParams.token0, vaultParams.token1, vaultParams.token0Multiplier, vaultParams.token1Multiplier, vaultParams.confirmations]));
12
- }
13
- exports.getVaultParamsCommitment = getVaultParamsCommitment;
14
- class EVMSpvVaultData extends base_1.SpvVaultData {
15
- constructor(ownerOrObj, vaultId, state, params, initialUtxo) {
16
- super();
17
- if (typeof (ownerOrObj) === "string") {
18
- this.owner = ownerOrObj;
19
- this.vaultId = vaultId;
20
- this.relayContract = params.btcRelayContract;
21
- this.token0 = {
22
- token: params.token0,
23
- multiplier: BigInt(params.token0Multiplier),
24
- rawAmount: BigInt(state.token0Amount)
25
- };
26
- this.token1 = {
27
- token: params.token1,
28
- multiplier: BigInt(params.token1Multiplier),
29
- rawAmount: BigInt(state.token1Amount)
30
- };
31
- const txHash = buffer_1.Buffer.from((0, ethers_1.hexlify)(state.utxoTxHash).substring(2), "hex");
32
- this.utxo = txHash.reverse().toString("hex") + ":" + BigInt(state.utxoVout).toString(10);
33
- this.confirmations = Number(params.confirmations);
34
- this.withdrawCount = Number(state.withdrawCount);
35
- this.depositCount = Number(state.depositCount);
36
- this.initialUtxo = initialUtxo;
37
- }
38
- else {
39
- this.owner = ownerOrObj.owner;
40
- this.vaultId = BigInt(ownerOrObj.vaultId);
41
- this.relayContract = ownerOrObj.relayContract;
42
- this.token0 = {
43
- token: ownerOrObj.token0.token,
44
- multiplier: BigInt(ownerOrObj.token0.multiplier),
45
- rawAmount: BigInt(ownerOrObj.token0.rawAmount)
46
- };
47
- this.token1 = {
48
- token: ownerOrObj.token1.token,
49
- multiplier: BigInt(ownerOrObj.token1.multiplier),
50
- rawAmount: BigInt(ownerOrObj.token1.rawAmount)
51
- };
52
- this.utxo = ownerOrObj.utxo;
53
- this.confirmations = ownerOrObj.confirmations;
54
- this.withdrawCount = ownerOrObj.withdrawCount;
55
- this.depositCount = ownerOrObj.depositCount;
56
- this.initialUtxo = ownerOrObj.initialUtxo;
57
- }
58
- }
59
- getBalances() {
60
- return [
61
- { ...this.token0, scaledAmount: this.token0.rawAmount * this.token0.multiplier },
62
- { ...this.token1, scaledAmount: this.token1.rawAmount * this.token1.multiplier }
63
- ];
64
- }
65
- getConfirmations() {
66
- return this.confirmations;
67
- }
68
- getOwner() {
69
- return this.owner;
70
- }
71
- getTokenData() {
72
- return [this.token0, this.token1];
73
- }
74
- getUtxo() {
75
- return this.isOpened() ? this.utxo : this.initialUtxo;
76
- }
77
- getVaultId() {
78
- return this.vaultId;
79
- }
80
- getWithdrawalCount() {
81
- return this.withdrawCount;
82
- }
83
- isOpened() {
84
- return this.utxo !== "0000000000000000000000000000000000000000000000000000000000000000:0";
85
- }
86
- serialize() {
87
- return {
88
- type: "EVM",
89
- owner: this.owner,
90
- vaultId: this.vaultId.toString(10),
91
- relayContract: this.relayContract,
92
- token0: {
93
- token: this.token0.token,
94
- multiplier: this.token0.multiplier.toString(10),
95
- rawAmount: this.token0.rawAmount.toString(10)
96
- },
97
- token1: {
98
- token: this.token1.token,
99
- multiplier: this.token1.multiplier.toString(10),
100
- rawAmount: this.token1.rawAmount.toString(10)
101
- },
102
- utxo: this.utxo,
103
- confirmations: this.confirmations,
104
- withdrawCount: this.withdrawCount,
105
- depositCount: this.depositCount,
106
- initialUtxo: this.initialUtxo
107
- };
108
- }
109
- updateState(withdrawalTxOrEvent) {
110
- if (withdrawalTxOrEvent instanceof base_1.SpvVaultClaimEvent) {
111
- if (withdrawalTxOrEvent.withdrawCount <= this.withdrawCount)
112
- return;
113
- this.token0.rawAmount -= withdrawalTxOrEvent.amounts[0];
114
- this.token1.rawAmount -= withdrawalTxOrEvent.amounts[1];
115
- this.withdrawCount = withdrawalTxOrEvent.withdrawCount;
116
- this.utxo = withdrawalTxOrEvent.btcTxId + ":0";
117
- }
118
- if (withdrawalTxOrEvent instanceof base_1.SpvVaultCloseEvent) {
119
- this.token0.rawAmount = 0n;
120
- this.token1.rawAmount = 0n;
121
- this.utxo = "0000000000000000000000000000000000000000000000000000000000000000:0";
122
- }
123
- if (withdrawalTxOrEvent instanceof base_1.SpvVaultOpenEvent) {
124
- if (this.isOpened())
125
- return;
126
- this.utxo = withdrawalTxOrEvent.btcTxId + ":" + withdrawalTxOrEvent.vout;
127
- }
128
- if (withdrawalTxOrEvent instanceof base_1.SpvVaultDepositEvent) {
129
- if (withdrawalTxOrEvent.depositCount <= this.depositCount)
130
- return;
131
- this.token0.rawAmount += withdrawalTxOrEvent.amounts[0];
132
- this.token1.rawAmount += withdrawalTxOrEvent.amounts[1];
133
- this.depositCount = withdrawalTxOrEvent.depositCount;
134
- }
135
- if (withdrawalTxOrEvent instanceof EVMSpvWithdrawalData_1.EVMSpvWithdrawalData) {
136
- if (withdrawalTxOrEvent.getSpentVaultUtxo() !== this.utxo)
137
- return;
138
- const amounts = withdrawalTxOrEvent.getTotalOutput();
139
- this.token0.rawAmount -= amounts[0];
140
- this.token1.rawAmount -= amounts[1];
141
- this.withdrawCount++;
142
- this.utxo = withdrawalTxOrEvent.btcTx.txid + ":0";
143
- }
144
- }
145
- getDepositCount() {
146
- return this.depositCount;
147
- }
148
- getVaultParamsStruct() {
149
- return {
150
- btcRelayContract: this.relayContract,
151
- token0: this.token0.token,
152
- token1: this.token1.token,
153
- token0Multiplier: this.token0.multiplier,
154
- token1Multiplier: this.token1.multiplier,
155
- confirmations: this.confirmations
156
- };
157
- }
158
- static randomVault() {
159
- const spvVaultParams = {
160
- btcRelayContract: EVMAddresses_1.EVMAddresses.randomAddress(),
161
- token0: EVMAddresses_1.EVMAddresses.randomAddress(),
162
- token1: EVMAddresses_1.EVMAddresses.randomAddress(),
163
- token0Multiplier: 1n,
164
- token1Multiplier: 1n,
165
- confirmations: 3n,
166
- };
167
- return new EVMSpvVaultData(EVMAddresses_1.EVMAddresses.randomAddress(), 0n, {
168
- spvVaultParametersCommitment: getVaultParamsCommitment(spvVaultParams),
169
- utxoTxHash: (0, ethers_1.randomBytes)(32),
170
- utxoVout: 0n,
171
- openBlockheight: 0n,
172
- withdrawCount: 0n,
173
- depositCount: 0n,
174
- token0Amount: 0n,
175
- token1Amount: 0n
176
- }, spvVaultParams);
177
- }
178
- }
179
- exports.EVMSpvVaultData = EVMSpvVaultData;
180
- base_1.SpvVaultData.deserializers["EVM"] = EVMSpvVaultData;
@@ -1,19 +1,19 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { SpvWithdrawalTransactionData } from "@atomiqlabs/base";
4
- import { Buffer } from "buffer";
5
- import { BitcoinVaultTransactionDataStruct } from "./SpvVaultContractTypechain";
6
- export declare class EVMSpvWithdrawalData extends SpvWithdrawalTransactionData {
7
- private getExecutionHashWith0x;
8
- protected fromOpReturnData(data: Buffer): {
9
- recipient: string;
10
- rawAmounts: bigint[];
11
- executionHash: string;
12
- };
13
- isRecipient(address: string): boolean;
14
- getFrontingId(): string;
15
- getTxHash(): string;
16
- getFrontingAmount(): bigint[];
17
- serialize(): any;
18
- serializeToStruct(): BitcoinVaultTransactionDataStruct;
19
- }
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { SpvWithdrawalTransactionData } from "@atomiqlabs/base";
4
+ import { Buffer } from "buffer";
5
+ import { BitcoinVaultTransactionDataStruct } from "./SpvVaultContractTypechain";
6
+ export declare class EVMSpvWithdrawalData extends SpvWithdrawalTransactionData {
7
+ private getExecutionHashWith0x;
8
+ protected fromOpReturnData(data: Buffer): {
9
+ recipient: string;
10
+ rawAmounts: bigint[];
11
+ executionHash: string;
12
+ };
13
+ isRecipient(address: string): boolean;
14
+ getFrontingId(): string;
15
+ getTxHash(): string;
16
+ getFrontingAmount(): bigint[];
17
+ serialize(): any;
18
+ serializeToStruct(): BitcoinVaultTransactionDataStruct;
19
+ }
@@ -1,55 +1,55 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EVMSpvWithdrawalData = void 0;
4
- const base_1 = require("@atomiqlabs/base");
5
- const buffer_1 = require("buffer");
6
- const EVMSpvVaultContract_1 = require("./EVMSpvVaultContract");
7
- const ethers_1 = require("ethers");
8
- class EVMSpvWithdrawalData extends base_1.SpvWithdrawalTransactionData {
9
- getExecutionHashWith0x() {
10
- return this.executionHash == null ? ethers_1.ZeroHash : (this.executionHash.startsWith("0x") ? this.executionHash : "0x" + this.executionHash);
11
- }
12
- fromOpReturnData(data) {
13
- return EVMSpvVaultContract_1.EVMSpvVaultContract.fromOpReturnData(data);
14
- }
15
- isRecipient(address) {
16
- return this.getRecipient().toLowerCase() === address.toLowerCase();
17
- }
18
- getFrontingId() {
19
- const callerFee = this.getCallerFee();
20
- const frontingFee = this.getFrontingFee();
21
- const txDataHash = (0, ethers_1.keccak256)(ethers_1.AbiCoder.defaultAbiCoder().encode(["address", "uint64", "uint64", "uint64", "uint64", "uint64", "uint64", "uint64", "bytes32", "uint256"], [this.recipient, this.rawAmounts[0], this.rawAmounts[1], callerFee[0], callerFee[1], frontingFee[0], frontingFee[1], this.getExecutionFee()[0], this.getExecutionHashWith0x(), this.executionExpiry]));
22
- return (0, ethers_1.keccak256)(ethers_1.AbiCoder.defaultAbiCoder().encode(["bytes32", "bytes32"], [txDataHash, this.getTxHash()])).substring(2);
23
- }
24
- getTxHash() {
25
- return "0x" + buffer_1.Buffer.from(this.btcTx.txid, "hex").reverse().toString("hex");
26
- }
27
- getFrontingAmount() {
28
- return [this.rawAmounts[0] + this.getExecutionFee()[0], this.rawAmounts[1]];
29
- }
30
- serialize() {
31
- return {
32
- type: "EVM",
33
- ...super.serialize()
34
- };
35
- }
36
- serializeToStruct() {
37
- const callerFee = this.getCallerFee();
38
- const frontingFee = this.getFrontingFee();
39
- const executionFee = this.getExecutionFee();
40
- return {
41
- recipient: this.recipient,
42
- amount0: this.rawAmounts[0],
43
- amount1: this.rawAmounts[1] ?? 0n,
44
- callerFee0: callerFee[0],
45
- callerFee1: callerFee[1] ?? 0n,
46
- frontingFee0: frontingFee[0],
47
- frontingFee1: frontingFee[1] ?? 0n,
48
- executionHandlerFeeAmount0: executionFee[0],
49
- executionHash: this.getExecutionHashWith0x(),
50
- executionExpiry: BigInt(this.executionExpiry)
51
- };
52
- }
53
- }
54
- exports.EVMSpvWithdrawalData = EVMSpvWithdrawalData;
55
- base_1.SpvWithdrawalTransactionData.deserializers["EVM"] = EVMSpvWithdrawalData;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVMSpvWithdrawalData = void 0;
4
+ const base_1 = require("@atomiqlabs/base");
5
+ const buffer_1 = require("buffer");
6
+ const EVMSpvVaultContract_1 = require("./EVMSpvVaultContract");
7
+ const ethers_1 = require("ethers");
8
+ class EVMSpvWithdrawalData extends base_1.SpvWithdrawalTransactionData {
9
+ getExecutionHashWith0x() {
10
+ return this.executionHash == null ? ethers_1.ZeroHash : (this.executionHash.startsWith("0x") ? this.executionHash : "0x" + this.executionHash);
11
+ }
12
+ fromOpReturnData(data) {
13
+ return EVMSpvVaultContract_1.EVMSpvVaultContract.fromOpReturnData(data);
14
+ }
15
+ isRecipient(address) {
16
+ return this.getRecipient().toLowerCase() === address.toLowerCase();
17
+ }
18
+ getFrontingId() {
19
+ const callerFee = this.getCallerFee();
20
+ const frontingFee = this.getFrontingFee();
21
+ const txDataHash = (0, ethers_1.keccak256)(ethers_1.AbiCoder.defaultAbiCoder().encode(["address", "uint64", "uint64", "uint64", "uint64", "uint64", "uint64", "uint64", "bytes32", "uint256"], [this.recipient, this.rawAmounts[0], this.rawAmounts[1], callerFee[0], callerFee[1], frontingFee[0], frontingFee[1], this.getExecutionFee()[0], this.getExecutionHashWith0x(), this.executionExpiry]));
22
+ return (0, ethers_1.keccak256)(ethers_1.AbiCoder.defaultAbiCoder().encode(["bytes32", "bytes32"], [txDataHash, this.getTxHash()])).substring(2);
23
+ }
24
+ getTxHash() {
25
+ return "0x" + buffer_1.Buffer.from(this.btcTx.txid, "hex").reverse().toString("hex");
26
+ }
27
+ getFrontingAmount() {
28
+ return [this.rawAmounts[0] + this.getExecutionFee()[0], this.rawAmounts[1]];
29
+ }
30
+ serialize() {
31
+ return {
32
+ type: "EVM",
33
+ ...super.serialize()
34
+ };
35
+ }
36
+ serializeToStruct() {
37
+ const callerFee = this.getCallerFee();
38
+ const frontingFee = this.getFrontingFee();
39
+ const executionFee = this.getExecutionFee();
40
+ return {
41
+ recipient: this.recipient,
42
+ amount0: this.rawAmounts[0],
43
+ amount1: this.rawAmounts[1] ?? 0n,
44
+ callerFee0: callerFee[0],
45
+ callerFee1: callerFee[1] ?? 0n,
46
+ frontingFee0: frontingFee[0],
47
+ frontingFee1: frontingFee[1] ?? 0n,
48
+ executionHandlerFeeAmount0: executionFee[0],
49
+ executionHash: this.getExecutionHashWith0x(),
50
+ executionExpiry: BigInt(this.executionExpiry)
51
+ };
52
+ }
53
+ }
54
+ exports.EVMSpvWithdrawalData = EVMSpvWithdrawalData;
55
+ base_1.SpvWithdrawalTransactionData.deserializers["EVM"] = EVMSpvWithdrawalData;
@@ -1,91 +1,91 @@
1
- export declare const SpvVaultContractAbi: ({
2
- inputs: {
3
- internalType: string;
4
- name: string;
5
- type: string;
6
- }[];
7
- stateMutability: string;
8
- type: string;
9
- name?: undefined;
10
- anonymous?: undefined;
11
- outputs?: undefined;
12
- } | {
13
- inputs: {
14
- internalType: string;
15
- name: string;
16
- type: string;
17
- }[];
18
- name: string;
19
- type: string;
20
- stateMutability?: undefined;
21
- anonymous?: undefined;
22
- outputs?: undefined;
23
- } | {
24
- anonymous: boolean;
25
- inputs: ({
26
- indexed: boolean;
27
- internalType: string;
28
- name: string;
29
- type: string;
30
- components?: undefined;
31
- } | {
32
- components: {
33
- internalType: string;
34
- name: string;
35
- type: string;
36
- }[];
37
- indexed: boolean;
38
- internalType: string;
39
- name: string;
40
- type: string;
41
- })[];
42
- name: string;
43
- type: string;
44
- stateMutability?: undefined;
45
- outputs?: undefined;
46
- } | {
47
- inputs: ({
48
- internalType: string;
49
- name: string;
50
- type: string;
51
- components?: undefined;
52
- } | {
53
- components: {
54
- internalType: string;
55
- name: string;
56
- type: string;
57
- }[];
58
- internalType: string;
59
- name: string;
60
- type: string;
61
- })[];
62
- name: string;
63
- outputs: {
64
- internalType: string;
65
- name: string;
66
- type: string;
67
- }[];
68
- stateMutability: string;
69
- type: string;
70
- anonymous?: undefined;
71
- } | {
72
- inputs: {
73
- internalType: string;
74
- name: string;
75
- type: string;
76
- }[];
77
- name: string;
78
- outputs: {
79
- components: {
80
- internalType: string;
81
- name: string;
82
- type: string;
83
- }[];
84
- internalType: string;
85
- name: string;
86
- type: string;
87
- }[];
88
- stateMutability: string;
89
- type: string;
90
- anonymous?: undefined;
91
- })[];
1
+ export declare const SpvVaultContractAbi: ({
2
+ inputs: {
3
+ internalType: string;
4
+ name: string;
5
+ type: string;
6
+ }[];
7
+ stateMutability: string;
8
+ type: string;
9
+ name?: undefined;
10
+ anonymous?: undefined;
11
+ outputs?: undefined;
12
+ } | {
13
+ inputs: {
14
+ internalType: string;
15
+ name: string;
16
+ type: string;
17
+ }[];
18
+ name: string;
19
+ type: string;
20
+ stateMutability?: undefined;
21
+ anonymous?: undefined;
22
+ outputs?: undefined;
23
+ } | {
24
+ anonymous: boolean;
25
+ inputs: ({
26
+ indexed: boolean;
27
+ internalType: string;
28
+ name: string;
29
+ type: string;
30
+ components?: undefined;
31
+ } | {
32
+ components: {
33
+ internalType: string;
34
+ name: string;
35
+ type: string;
36
+ }[];
37
+ indexed: boolean;
38
+ internalType: string;
39
+ name: string;
40
+ type: string;
41
+ })[];
42
+ name: string;
43
+ type: string;
44
+ stateMutability?: undefined;
45
+ outputs?: undefined;
46
+ } | {
47
+ inputs: ({
48
+ internalType: string;
49
+ name: string;
50
+ type: string;
51
+ components?: undefined;
52
+ } | {
53
+ components: {
54
+ internalType: string;
55
+ name: string;
56
+ type: string;
57
+ }[];
58
+ internalType: string;
59
+ name: string;
60
+ type: string;
61
+ })[];
62
+ name: string;
63
+ outputs: {
64
+ internalType: string;
65
+ name: string;
66
+ type: string;
67
+ }[];
68
+ stateMutability: string;
69
+ type: string;
70
+ anonymous?: undefined;
71
+ } | {
72
+ inputs: {
73
+ internalType: string;
74
+ name: string;
75
+ type: string;
76
+ }[];
77
+ name: string;
78
+ outputs: {
79
+ components: {
80
+ internalType: string;
81
+ name: string;
82
+ type: string;
83
+ }[];
84
+ internalType: string;
85
+ name: string;
86
+ type: string;
87
+ }[];
88
+ stateMutability: string;
89
+ type: string;
90
+ anonymous?: undefined;
91
+ })[];