@atomiqlabs/sdk 8.6.6 → 8.6.8

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 (226) hide show
  1. package/dist/SmartChainAssets.d.ts +181 -181
  2. package/dist/SmartChainAssets.js +181 -181
  3. package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -6
  4. package/dist/bitcoin/coinselect2/accumulative.js +52 -51
  5. package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
  6. package/dist/bitcoin/coinselect2/blackjack.js +38 -37
  7. package/dist/bitcoin/coinselect2/index.d.ts +19 -17
  8. package/dist/bitcoin/coinselect2/index.js +69 -69
  9. package/dist/bitcoin/coinselect2/utils.d.ts +77 -75
  10. package/dist/bitcoin/coinselect2/utils.js +123 -123
  11. package/dist/bitcoin/wallet/BitcoinWallet.d.ts +130 -128
  12. package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
  13. package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
  14. package/dist/bitcoin/wallet/IBitcoinWallet.js +21 -20
  15. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +101 -99
  16. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +190 -176
  17. package/dist/enums/FeeType.d.ts +15 -15
  18. package/dist/enums/FeeType.js +19 -19
  19. package/dist/enums/SwapAmountType.d.ts +15 -15
  20. package/dist/enums/SwapAmountType.js +19 -19
  21. package/dist/enums/SwapDirection.d.ts +15 -15
  22. package/dist/enums/SwapDirection.js +19 -19
  23. package/dist/enums/SwapSide.d.ts +15 -15
  24. package/dist/enums/SwapSide.js +19 -19
  25. package/dist/enums/SwapType.d.ts +75 -75
  26. package/dist/enums/SwapType.js +79 -79
  27. package/dist/errors/IntermediaryError.d.ts +13 -13
  28. package/dist/errors/IntermediaryError.js +27 -27
  29. package/dist/errors/RequestError.d.ts +32 -32
  30. package/dist/errors/RequestError.js +54 -54
  31. package/dist/errors/UserError.d.ts +8 -8
  32. package/dist/errors/UserError.js +16 -16
  33. package/dist/events/UnifiedSwapEventListener.d.ts +23 -23
  34. package/dist/events/UnifiedSwapEventListener.js +130 -130
  35. package/dist/http/HttpUtils.d.ts +27 -27
  36. package/dist/http/HttpUtils.js +91 -90
  37. package/dist/http/paramcoders/IParamReader.d.ts +8 -8
  38. package/dist/http/paramcoders/IParamReader.js +2 -2
  39. package/dist/http/paramcoders/ParamDecoder.d.ts +44 -42
  40. package/dist/http/paramcoders/ParamDecoder.js +137 -137
  41. package/dist/http/paramcoders/ParamEncoder.d.ts +20 -18
  42. package/dist/http/paramcoders/ParamEncoder.js +36 -36
  43. package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -26
  44. package/dist/http/paramcoders/SchemaVerifier.js +145 -145
  45. package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -11
  46. package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -57
  47. package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +13 -11
  48. package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
  49. package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -16
  50. package/dist/http/paramcoders/client/StreamingFetchPromise.js +174 -173
  51. package/dist/index.d.ts +85 -85
  52. package/dist/index.js +158 -158
  53. package/dist/intermediaries/Intermediary.d.ts +157 -157
  54. package/dist/intermediaries/Intermediary.js +142 -142
  55. package/dist/intermediaries/IntermediaryDiscovery.d.ts +199 -198
  56. package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
  57. package/dist/intermediaries/apis/IntermediaryAPI.d.ts +439 -437
  58. package/dist/intermediaries/apis/IntermediaryAPI.js +603 -603
  59. package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
  60. package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
  61. package/dist/lnurl/LNURL.d.ts +102 -102
  62. package/dist/lnurl/LNURL.js +321 -321
  63. package/dist/prices/RedundantSwapPrice.d.ts +110 -110
  64. package/dist/prices/RedundantSwapPrice.js +222 -222
  65. package/dist/prices/SingleSwapPrice.d.ts +34 -34
  66. package/dist/prices/SingleSwapPrice.js +44 -44
  67. package/dist/prices/SwapPriceWithChain.d.ts +107 -107
  68. package/dist/prices/SwapPriceWithChain.js +128 -128
  69. package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
  70. package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
  71. package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
  72. package/dist/prices/abstract/IPriceProvider.js +74 -74
  73. package/dist/prices/abstract/ISwapPrice.d.ts +168 -168
  74. package/dist/prices/abstract/ISwapPrice.js +279 -279
  75. package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
  76. package/dist/prices/providers/BinancePriceProvider.js +30 -30
  77. package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
  78. package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
  79. package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
  80. package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
  81. package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
  82. package/dist/prices/providers/CustomPriceProvider.js +35 -35
  83. package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
  84. package/dist/prices/providers/KrakenPriceProvider.js +45 -45
  85. package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
  86. package/dist/prices/providers/OKXPriceProvider.js +29 -29
  87. package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
  88. package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
  89. package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
  90. package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
  91. package/dist/storage/IUnifiedStorage.d.ts +85 -85
  92. package/dist/storage/IUnifiedStorage.js +2 -2
  93. package/dist/storage/UnifiedSwapStorage.d.ts +114 -114
  94. package/dist/storage/UnifiedSwapStorage.js +116 -116
  95. package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
  96. package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
  97. package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
  98. package/dist/storage-browser/LocalStorageManager.js +93 -93
  99. package/dist/swapper/Swapper.d.ts +687 -686
  100. package/dist/swapper/Swapper.js +1603 -1603
  101. package/dist/swapper/SwapperFactory.d.ts +135 -135
  102. package/dist/swapper/SwapperFactory.js +162 -162
  103. package/dist/swapper/SwapperUtils.d.ts +200 -200
  104. package/dist/swapper/SwapperUtils.js +467 -467
  105. package/dist/swapper/SwapperWithChain.d.ts +404 -404
  106. package/dist/swapper/SwapperWithChain.js +469 -469
  107. package/dist/swapper/SwapperWithSigner.d.ts +322 -322
  108. package/dist/swapper/SwapperWithSigner.js +318 -318
  109. package/dist/swaps/IAddressSwap.d.ts +22 -22
  110. package/dist/swaps/IAddressSwap.js +14 -13
  111. package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
  112. package/dist/swaps/IBTCWalletSwap.js +18 -17
  113. package/dist/swaps/IClaimableSwap.d.ts +49 -49
  114. package/dist/swaps/IClaimableSwap.js +15 -14
  115. package/dist/swaps/IClaimableSwapWrapper.d.ts +15 -15
  116. package/dist/swaps/IClaimableSwapWrapper.js +2 -2
  117. package/dist/swaps/IRefundableSwap.d.ts +43 -43
  118. package/dist/swaps/IRefundableSwap.js +14 -13
  119. package/dist/swaps/ISwap.d.ts +387 -386
  120. package/dist/swaps/ISwap.js +346 -346
  121. package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
  122. package/dist/swaps/ISwapWithGasDrop.js +12 -11
  123. package/dist/swaps/ISwapWrapper.d.ts +285 -283
  124. package/dist/swaps/ISwapWrapper.js +353 -353
  125. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
  126. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
  127. package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +135 -133
  128. package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
  129. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +115 -114
  130. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
  131. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +101 -98
  132. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
  133. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
  134. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
  135. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +58 -58
  136. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +78 -78
  137. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +531 -529
  138. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
  139. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +184 -181
  140. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -418
  141. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +583 -581
  142. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
  143. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +228 -225
  144. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +506 -506
  145. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +458 -458
  146. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1126 -1126
  147. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +191 -190
  148. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -378
  149. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +403 -403
  150. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +924 -924
  151. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +62 -62
  152. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +112 -112
  153. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +127 -125
  154. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
  155. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +242 -241
  156. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -520
  157. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
  158. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
  159. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +128 -127
  160. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +278 -278
  161. package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +630 -630
  162. package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1443 -1443
  163. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +214 -213
  164. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -756
  165. package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +261 -261
  166. package/dist/swaps/trusted/ln/LnForGasSwap.js +511 -511
  167. package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
  168. package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
  169. package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +342 -342
  170. package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +715 -715
  171. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +69 -68
  172. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +92 -92
  173. package/dist/types/AmountData.d.ts +10 -10
  174. package/dist/types/AmountData.js +2 -2
  175. package/dist/types/CustomPriceFunction.d.ts +11 -11
  176. package/dist/types/CustomPriceFunction.js +2 -2
  177. package/dist/types/PriceInfoType.d.ts +28 -28
  178. package/dist/types/PriceInfoType.js +57 -56
  179. package/dist/types/SwapExecutionAction.d.ts +88 -88
  180. package/dist/types/SwapExecutionAction.js +2 -2
  181. package/dist/types/SwapStateInfo.d.ts +5 -5
  182. package/dist/types/SwapStateInfo.js +2 -2
  183. package/dist/types/SwapWithSigner.d.ts +17 -17
  184. package/dist/types/SwapWithSigner.js +43 -42
  185. package/dist/types/Token.d.ts +99 -99
  186. package/dist/types/Token.js +76 -76
  187. package/dist/types/TokenAmount.d.ts +69 -69
  188. package/dist/types/TokenAmount.js +60 -59
  189. package/dist/types/fees/Fee.d.ts +50 -50
  190. package/dist/types/fees/Fee.js +2 -2
  191. package/dist/types/fees/FeeBreakdown.d.ts +11 -11
  192. package/dist/types/fees/FeeBreakdown.js +2 -2
  193. package/dist/types/fees/PercentagePPM.d.ts +17 -17
  194. package/dist/types/fees/PercentagePPM.js +18 -17
  195. package/dist/types/lnurl/LNURLPay.d.ts +61 -61
  196. package/dist/types/lnurl/LNURLPay.js +31 -30
  197. package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
  198. package/dist/types/lnurl/LNURLWithdraw.js +27 -26
  199. package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
  200. package/dist/types/wallets/LightningInvoiceCreateService.js +15 -14
  201. package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +23 -23
  202. package/dist/types/wallets/MinimalBitcoinWalletInterface.js +2 -2
  203. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +9 -9
  204. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.js +2 -2
  205. package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -1
  206. package/dist/utils/AutomaticClockDriftCorrection.js +70 -69
  207. package/dist/utils/BitcoinUtils.d.ts +14 -12
  208. package/dist/utils/BitcoinUtils.js +102 -101
  209. package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
  210. package/dist/utils/BitcoinWalletUtils.js +14 -13
  211. package/dist/utils/Logger.d.ts +7 -7
  212. package/dist/utils/Logger.js +12 -11
  213. package/dist/utils/RetryUtils.d.ts +22 -22
  214. package/dist/utils/RetryUtils.js +67 -66
  215. package/dist/utils/SwapUtils.d.ts +88 -88
  216. package/dist/utils/SwapUtils.js +72 -72
  217. package/dist/utils/TimeoutUtils.d.ts +17 -17
  218. package/dist/utils/TimeoutUtils.js +55 -54
  219. package/dist/utils/TokenUtils.d.ts +19 -19
  220. package/dist/utils/TokenUtils.js +37 -36
  221. package/dist/utils/TypeUtils.d.ts +7 -7
  222. package/dist/utils/TypeUtils.js +2 -2
  223. package/dist/utils/Utils.d.ts +58 -56
  224. package/dist/utils/Utils.js +194 -193
  225. package/package.json +1 -1
  226. package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +14 -2
@@ -1,98 +1,98 @@
1
- import { IEscrowSwap, IEscrowSwapInit } from "./IEscrowSwap";
2
- import { ChainType, SignatureData, SwapData } from "@atomiqlabs/base";
3
- import { IEscrowSwapDefinition, IEscrowSwapWrapper } from "./IEscrowSwapWrapper";
4
- import { SwapTypeDefinition } from "../ISwapWrapper";
5
- import { TokenAmount } from "../../types/TokenAmount";
6
- import { SCToken } from "../../types/Token";
7
- export type IEscrowSelfInitSwapInit<T extends SwapData> = IEscrowSwapInit<T> & {
8
- feeRate: string;
9
- signatureData?: SignatureData;
10
- };
11
- export declare function isIEscrowSelfInitSwapInit<T extends SwapData>(obj: any): obj is IEscrowSelfInitSwapInit<T>;
12
- export type IEscrowSelfInitSwapDefinition<T extends ChainType, W extends IEscrowSwapWrapper<T, any>, S extends IEscrowSelfInitSwap<T>> = SwapTypeDefinition<T, W, S>;
13
- /**
14
- * Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives) where the
15
- * user needs to initiate the escrow on the smart chain side
16
- *
17
- * @category Swaps/Abstract
18
- */
19
- export declare abstract class IEscrowSelfInitSwap<T extends ChainType = ChainType, D extends IEscrowSelfInitSwapDefinition<T, IEscrowSwapWrapper<T, D>, IEscrowSelfInitSwap<T, D, S>> = IEscrowSwapDefinition<T, IEscrowSwapWrapper<T, any>, IEscrowSelfInitSwap<T, any, any>>, S extends number = number> extends IEscrowSwap<T, D, S> {
20
- /**
21
- * Fee rate to be used for the escrow initiation transaction
22
- * @internal
23
- */
24
- protected readonly feeRate: string;
25
- /**
26
- * Signature data received from the intermediary (LP) allowing the user
27
- * to initiate the swap escrow
28
- * @internal
29
- */
30
- protected signatureData?: SignatureData;
31
- protected constructor(wrapper: D["Wrapper"], obj: any);
32
- protected constructor(wrapper: D["Wrapper"], swapInit: IEscrowSelfInitSwapInit<T["Data"]>);
33
- /**
34
- * Periodically checks for init signature's expiry
35
- *
36
- * @param intervalSeconds How often to check (in seconds), default to 5s
37
- * @param abortSignal
38
- * @internal
39
- */
40
- protected watchdogWaitTillSignatureExpiry(intervalSeconds?: number, abortSignal?: AbortSignal): Promise<void>;
41
- /**
42
- * Get the estimated smart chain fee of the commit transaction
43
- * @internal
44
- */
45
- protected getCommitFee(): Promise<bigint>;
46
- /**
47
- * Returns the transaction fee paid on the smart chain side to initiate the escrow
48
- */
49
- getSmartChainNetworkFee(): Promise<TokenAmount<SCToken<T["ChainId"]>, true>>;
50
- /**
51
- * Checks if the initiator/sender has enough balance on the smart chain side
52
- * to cover the transaction fee for processing the swap
53
- */
54
- abstract hasEnoughForTxFees(): Promise<{
55
- enoughBalance: boolean;
56
- balance: TokenAmount<SCToken<T["ChainId"]>, true>;
57
- required: TokenAmount<SCToken<T["ChainId"]>, true>;
58
- }>;
59
- /**
60
- * Returns transactions for initiating (committing) the escrow on the smart chain side. After sending the
61
- * transactions manually be sure to call the {@link waitTillCommited} function to wait till the initiation
62
- * transaction is observed, processed by the SDK and state of the swap properly updated.
63
- *
64
- * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
65
- * (this is handled on swap creation, if you commit right after quoting, you can use `skipChecks=true`)
66
- */
67
- abstract txsCommit(skipChecks?: boolean): Promise<T["TX"][]>;
68
- /**
69
- * Initiates (commits) the escrow on the smart chain side
70
- *
71
- * @param _signer Signer to sign the transactions with, must be the same as used in the initialization
72
- * @param abortSignal Abort signal
73
- * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
74
- * (this is handled on swap creation, if you commit right after quoting, you can use `skipChecks=true`)
75
- * @param onBeforeTxSent Callback called before the transactions are broadcasted
76
- */
77
- abstract commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
78
- /**
79
- * Waits till a swap is initiated (committed) on-chain, should be called after sending the commit
80
- * transactions ({@link txsCommit}) manually to wait till the SDK processes the escrow
81
- * initialization and updates the swap state accordingly
82
- *
83
- * @param abortSignal AbortSignal
84
- */
85
- abstract waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
86
- /**
87
- * Checks if the swap's quote is expired for good (i.e. the swap strictly cannot be committed on-chain anymore)
88
- */
89
- _verifyQuoteDefinitelyExpired(): Promise<boolean>;
90
- /**
91
- * Checks if the swap's quote is still valid
92
- */
93
- _verifyQuoteValid(): Promise<boolean>;
94
- /**
95
- * @inheritDoc
96
- */
97
- serialize(): any;
98
- }
1
+ import { IEscrowSwap, IEscrowSwapInit } from "./IEscrowSwap";
2
+ import { ChainType, SignatureData, SwapData } from "@atomiqlabs/base";
3
+ import { IEscrowSwapDefinition, IEscrowSwapWrapper } from "./IEscrowSwapWrapper";
4
+ import { SwapTypeDefinition } from "../ISwapWrapper";
5
+ import { TokenAmount } from "../../types/TokenAmount";
6
+ import { SCToken } from "../../types/Token";
7
+ export type IEscrowSelfInitSwapInit<T extends SwapData> = IEscrowSwapInit<T> & {
8
+ feeRate: string;
9
+ signatureData?: SignatureData;
10
+ };
11
+ export declare function isIEscrowSelfInitSwapInit<T extends SwapData>(obj: any): obj is IEscrowSelfInitSwapInit<T>;
12
+ export type IEscrowSelfInitSwapDefinition<T extends ChainType, W extends IEscrowSwapWrapper<T, any>, S extends IEscrowSelfInitSwap<T>> = SwapTypeDefinition<T, W, S>;
13
+ /**
14
+ * Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives) where the
15
+ * user needs to initiate the escrow on the smart chain side
16
+ *
17
+ * @category Swaps/Abstract
18
+ */
19
+ export declare abstract class IEscrowSelfInitSwap<T extends ChainType = ChainType, D extends IEscrowSelfInitSwapDefinition<T, IEscrowSwapWrapper<T, D>, IEscrowSelfInitSwap<T, D, S>> = IEscrowSwapDefinition<T, IEscrowSwapWrapper<T, any>, IEscrowSelfInitSwap<T, any, any>>, S extends number = number> extends IEscrowSwap<T, D, S> {
20
+ /**
21
+ * Fee rate to be used for the escrow initiation transaction
22
+ * @internal
23
+ */
24
+ protected readonly feeRate: string;
25
+ /**
26
+ * Signature data received from the intermediary (LP) allowing the user
27
+ * to initiate the swap escrow
28
+ * @internal
29
+ */
30
+ protected signatureData?: SignatureData;
31
+ protected constructor(wrapper: D["Wrapper"], obj: any);
32
+ protected constructor(wrapper: D["Wrapper"], swapInit: IEscrowSelfInitSwapInit<T["Data"]>);
33
+ /**
34
+ * Periodically checks for init signature's expiry
35
+ *
36
+ * @param intervalSeconds How often to check (in seconds), default to 5s
37
+ * @param abortSignal
38
+ * @internal
39
+ */
40
+ protected watchdogWaitTillSignatureExpiry(intervalSeconds?: number, abortSignal?: AbortSignal): Promise<void>;
41
+ /**
42
+ * Get the estimated smart chain fee of the commit transaction
43
+ * @internal
44
+ */
45
+ protected getCommitFee(): Promise<bigint>;
46
+ /**
47
+ * Returns the transaction fee paid on the smart chain side to initiate the escrow
48
+ */
49
+ getSmartChainNetworkFee(): Promise<TokenAmount<SCToken<T["ChainId"]>, true>>;
50
+ /**
51
+ * Checks if the initiator/sender has enough balance on the smart chain side
52
+ * to cover the transaction fee for processing the swap
53
+ */
54
+ abstract hasEnoughForTxFees(): Promise<{
55
+ enoughBalance: boolean;
56
+ balance: TokenAmount<SCToken<T["ChainId"]>, true>;
57
+ required: TokenAmount<SCToken<T["ChainId"]>, true>;
58
+ }>;
59
+ /**
60
+ * Returns transactions for initiating (committing) the escrow on the smart chain side. After sending the
61
+ * transactions manually be sure to call the {@link waitTillCommited} function to wait till the initiation
62
+ * transaction is observed, processed by the SDK and state of the swap properly updated.
63
+ *
64
+ * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
65
+ * (this is handled on swap creation, if you commit right after quoting, you can use `skipChecks=true`)
66
+ */
67
+ abstract txsCommit(skipChecks?: boolean): Promise<T["TX"][]>;
68
+ /**
69
+ * Initiates (commits) the escrow on the smart chain side
70
+ *
71
+ * @param _signer Signer to sign the transactions with, must be the same as used in the initialization
72
+ * @param abortSignal Abort signal
73
+ * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
74
+ * (this is handled on swap creation, if you commit right after quoting, you can use `skipChecks=true`)
75
+ * @param onBeforeTxSent Callback called before the transactions are broadcasted
76
+ */
77
+ abstract commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
78
+ /**
79
+ * Waits till a swap is initiated (committed) on-chain, should be called after sending the commit
80
+ * transactions ({@link txsCommit}) manually to wait till the SDK processes the escrow
81
+ * initialization and updates the swap state accordingly
82
+ *
83
+ * @param abortSignal AbortSignal
84
+ */
85
+ abstract waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
86
+ /**
87
+ * Checks if the swap's quote is expired for good (i.e. the swap strictly cannot be committed on-chain anymore)
88
+ */
89
+ _verifyQuoteDefinitelyExpired(): Promise<boolean>;
90
+ /**
91
+ * Checks if the swap's quote is still valid
92
+ */
93
+ _verifyQuoteValid(): Promise<boolean>;
94
+ /**
95
+ * @inheritDoc
96
+ */
97
+ serialize(): any;
98
+ }
@@ -1,126 +1,126 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IEscrowSelfInitSwap = void 0;
4
- exports.isIEscrowSelfInitSwapInit = isIEscrowSelfInitSwapInit;
5
- const IEscrowSwap_1 = require("./IEscrowSwap");
6
- const base_1 = require("@atomiqlabs/base");
7
- const TokenAmount_1 = require("../../types/TokenAmount");
8
- const TimeoutUtils_1 = require("../../utils/TimeoutUtils");
9
- function isIEscrowSelfInitSwapInit(obj) {
10
- return typeof obj === "object" &&
11
- typeof (obj.feeRate) === "string" &&
12
- (obj.signatureData == null || (typeof (obj.signatureData) === "object" &&
13
- typeof (obj.signatureData.prefix) === "string" &&
14
- typeof (obj.signatureData.timeout) === "string" &&
15
- typeof (obj.signatureData.signature) === "string")) &&
16
- (0, IEscrowSwap_1.isIEscrowSwapInit)(obj);
17
- }
18
- /**
19
- * Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives) where the
20
- * user needs to initiate the escrow on the smart chain side
21
- *
22
- * @category Swaps/Abstract
23
- */
24
- class IEscrowSelfInitSwap extends IEscrowSwap_1.IEscrowSwap {
25
- constructor(wrapper, swapInitOrObj) {
26
- super(wrapper, swapInitOrObj);
27
- if (isIEscrowSelfInitSwapInit(swapInitOrObj)) {
28
- this.feeRate = swapInitOrObj.feeRate;
29
- this.signatureData = swapInitOrObj.signatureData;
30
- }
31
- else {
32
- if (swapInitOrObj.signature != null)
33
- this.signatureData = {
34
- prefix: swapInitOrObj.prefix,
35
- timeout: swapInitOrObj.timeout,
36
- signature: swapInitOrObj.signature
37
- };
38
- this.feeRate = swapInitOrObj.feeRate;
39
- }
40
- }
41
- //////////////////////////////
42
- //// Watchdogs
43
- /**
44
- * Periodically checks for init signature's expiry
45
- *
46
- * @param intervalSeconds How often to check (in seconds), default to 5s
47
- * @param abortSignal
48
- * @internal
49
- */
50
- async watchdogWaitTillSignatureExpiry(intervalSeconds, abortSignal) {
51
- if (this._data == null || this.signatureData == null)
52
- throw new Error("Tried to await signature expiry but data or signature is null, invalid state?");
53
- intervalSeconds ??= 5;
54
- let expired = false;
55
- while (!expired) {
56
- await (0, TimeoutUtils_1.timeoutPromise)(intervalSeconds * 1000, abortSignal);
57
- try {
58
- expired = await this.wrapper._contract.isInitAuthorizationExpired(this._data, this.signatureData);
59
- }
60
- catch (e) {
61
- this.logger.error("watchdogWaitTillSignatureExpiry(): Error when checking signature expiry: ", e);
62
- }
63
- }
64
- if (abortSignal != null)
65
- abortSignal.throwIfAborted();
66
- }
67
- //////////////////////////////
68
- //// Amounts & fees
69
- /**
70
- * Get the estimated smart chain fee of the commit transaction
71
- * @internal
72
- */
73
- getCommitFee() {
74
- return this.wrapper._contract.getCommitFee(this._getInitiator(), this.getSwapData(), this.feeRate);
75
- }
76
- /**
77
- * Returns the transaction fee paid on the smart chain side to initiate the escrow
78
- */
79
- async getSmartChainNetworkFee() {
80
- const swapContract = this.wrapper._contract;
81
- return (0, TokenAmount_1.toTokenAmount)(await (swapContract.getRawCommitFee != null ?
82
- swapContract.getRawCommitFee(this._getInitiator(), this.getSwapData(), this.feeRate) :
83
- swapContract.getCommitFee(this._getInitiator(), this.getSwapData(), this.feeRate)), this.wrapper._getNativeToken(), this.wrapper._prices);
84
- }
85
- //////////////////////////////
86
- //// Quote verification
87
- /**
88
- * Checks if the swap's quote is expired for good (i.e. the swap strictly cannot be committed on-chain anymore)
89
- */
90
- async _verifyQuoteDefinitelyExpired() {
91
- if (this._data == null || this.signatureData == null)
92
- throw new Error("data or signature data are null!");
93
- return this.wrapper._contract.isInitAuthorizationExpired(this._data, this.signatureData);
94
- }
95
- /**
96
- * Checks if the swap's quote is still valid
97
- */
98
- async _verifyQuoteValid() {
99
- if (this._data == null || this.signatureData == null)
100
- throw new Error("data or signature data are null!");
101
- try {
102
- await this.wrapper._contract.isValidInitAuthorization(this._getInitiator(), this._data, this.signatureData, this.feeRate);
103
- return true;
104
- }
105
- catch (e) {
106
- if (e instanceof base_1.SignatureVerificationError) {
107
- return false;
108
- }
109
- throw e;
110
- }
111
- }
112
- /**
113
- * @inheritDoc
114
- */
115
- serialize() {
116
- return {
117
- ...super.serialize(),
118
- prefix: this.signatureData?.prefix,
119
- timeout: this.signatureData?.timeout,
120
- signature: this.signatureData?.signature,
121
- feeRate: this.feeRate == null ? null : this.feeRate.toString(),
122
- };
123
- }
124
- ;
125
- }
126
- exports.IEscrowSelfInitSwap = IEscrowSelfInitSwap;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IEscrowSelfInitSwap = exports.isIEscrowSelfInitSwapInit = void 0;
4
+ const IEscrowSwap_1 = require("./IEscrowSwap");
5
+ const base_1 = require("@atomiqlabs/base");
6
+ const TokenAmount_1 = require("../../types/TokenAmount");
7
+ const TimeoutUtils_1 = require("../../utils/TimeoutUtils");
8
+ function isIEscrowSelfInitSwapInit(obj) {
9
+ return typeof obj === "object" &&
10
+ typeof (obj.feeRate) === "string" &&
11
+ (obj.signatureData == null || (typeof (obj.signatureData) === "object" &&
12
+ typeof (obj.signatureData.prefix) === "string" &&
13
+ typeof (obj.signatureData.timeout) === "string" &&
14
+ typeof (obj.signatureData.signature) === "string")) &&
15
+ (0, IEscrowSwap_1.isIEscrowSwapInit)(obj);
16
+ }
17
+ exports.isIEscrowSelfInitSwapInit = isIEscrowSelfInitSwapInit;
18
+ /**
19
+ * Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives) where the
20
+ * user needs to initiate the escrow on the smart chain side
21
+ *
22
+ * @category Swaps/Abstract
23
+ */
24
+ class IEscrowSelfInitSwap extends IEscrowSwap_1.IEscrowSwap {
25
+ constructor(wrapper, swapInitOrObj) {
26
+ super(wrapper, swapInitOrObj);
27
+ if (isIEscrowSelfInitSwapInit(swapInitOrObj)) {
28
+ this.feeRate = swapInitOrObj.feeRate;
29
+ this.signatureData = swapInitOrObj.signatureData;
30
+ }
31
+ else {
32
+ if (swapInitOrObj.signature != null)
33
+ this.signatureData = {
34
+ prefix: swapInitOrObj.prefix,
35
+ timeout: swapInitOrObj.timeout,
36
+ signature: swapInitOrObj.signature
37
+ };
38
+ this.feeRate = swapInitOrObj.feeRate;
39
+ }
40
+ }
41
+ //////////////////////////////
42
+ //// Watchdogs
43
+ /**
44
+ * Periodically checks for init signature's expiry
45
+ *
46
+ * @param intervalSeconds How often to check (in seconds), default to 5s
47
+ * @param abortSignal
48
+ * @internal
49
+ */
50
+ async watchdogWaitTillSignatureExpiry(intervalSeconds, abortSignal) {
51
+ if (this._data == null || this.signatureData == null)
52
+ throw new Error("Tried to await signature expiry but data or signature is null, invalid state?");
53
+ intervalSeconds ??= 5;
54
+ let expired = false;
55
+ while (!expired) {
56
+ await (0, TimeoutUtils_1.timeoutPromise)(intervalSeconds * 1000, abortSignal);
57
+ try {
58
+ expired = await this.wrapper._contract.isInitAuthorizationExpired(this._data, this.signatureData);
59
+ }
60
+ catch (e) {
61
+ this.logger.error("watchdogWaitTillSignatureExpiry(): Error when checking signature expiry: ", e);
62
+ }
63
+ }
64
+ if (abortSignal != null)
65
+ abortSignal.throwIfAborted();
66
+ }
67
+ //////////////////////////////
68
+ //// Amounts & fees
69
+ /**
70
+ * Get the estimated smart chain fee of the commit transaction
71
+ * @internal
72
+ */
73
+ getCommitFee() {
74
+ return this.wrapper._contract.getCommitFee(this._getInitiator(), this.getSwapData(), this.feeRate);
75
+ }
76
+ /**
77
+ * Returns the transaction fee paid on the smart chain side to initiate the escrow
78
+ */
79
+ async getSmartChainNetworkFee() {
80
+ const swapContract = this.wrapper._contract;
81
+ return (0, TokenAmount_1.toTokenAmount)(await (swapContract.getRawCommitFee != null ?
82
+ swapContract.getRawCommitFee(this._getInitiator(), this.getSwapData(), this.feeRate) :
83
+ swapContract.getCommitFee(this._getInitiator(), this.getSwapData(), this.feeRate)), this.wrapper._getNativeToken(), this.wrapper._prices);
84
+ }
85
+ //////////////////////////////
86
+ //// Quote verification
87
+ /**
88
+ * Checks if the swap's quote is expired for good (i.e. the swap strictly cannot be committed on-chain anymore)
89
+ */
90
+ async _verifyQuoteDefinitelyExpired() {
91
+ if (this._data == null || this.signatureData == null)
92
+ throw new Error("data or signature data are null!");
93
+ return this.wrapper._contract.isInitAuthorizationExpired(this._data, this.signatureData);
94
+ }
95
+ /**
96
+ * Checks if the swap's quote is still valid
97
+ */
98
+ async _verifyQuoteValid() {
99
+ if (this._data == null || this.signatureData == null)
100
+ throw new Error("data or signature data are null!");
101
+ try {
102
+ await this.wrapper._contract.isValidInitAuthorization(this._getInitiator(), this._data, this.signatureData, this.feeRate);
103
+ return true;
104
+ }
105
+ catch (e) {
106
+ if (e instanceof base_1.SignatureVerificationError) {
107
+ return false;
108
+ }
109
+ throw e;
110
+ }
111
+ }
112
+ /**
113
+ * @inheritDoc
114
+ */
115
+ serialize() {
116
+ return {
117
+ ...super.serialize(),
118
+ prefix: this.signatureData?.prefix,
119
+ timeout: this.signatureData?.timeout,
120
+ signature: this.signatureData?.signature,
121
+ feeRate: this.feeRate == null ? null : this.feeRate.toString(),
122
+ };
123
+ }
124
+ ;
125
+ }
126
+ exports.IEscrowSelfInitSwap = IEscrowSelfInitSwap;