@atomiqlabs/sdk 8.1.8 → 8.3.5

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 (261) hide show
  1. package/dist/bitcoin/coinselect2/utils.d.ts +6 -0
  2. package/dist/bitcoin/wallet/BitcoinWallet.d.ts +41 -5
  3. package/dist/bitcoin/wallet/BitcoinWallet.js +36 -1
  4. package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +52 -2
  5. package/dist/bitcoin/wallet/IBitcoinWallet.js +2 -1
  6. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +42 -7
  7. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +36 -1
  8. package/dist/enums/FeeType.d.ts +8 -1
  9. package/dist/enums/FeeType.js +8 -1
  10. package/dist/enums/SwapAmountType.d.ts +7 -0
  11. package/dist/enums/SwapAmountType.js +7 -0
  12. package/dist/enums/SwapDirection.d.ts +7 -0
  13. package/dist/enums/SwapDirection.js +7 -0
  14. package/dist/enums/SwapType.d.ts +62 -1
  15. package/dist/enums/SwapType.js +62 -1
  16. package/dist/errors/IntermediaryError.d.ts +4 -0
  17. package/dist/errors/IntermediaryError.js +1 -0
  18. package/dist/errors/RequestError.d.ts +15 -1
  19. package/dist/errors/RequestError.js +8 -0
  20. package/dist/errors/UserError.d.ts +1 -0
  21. package/dist/errors/UserError.js +1 -0
  22. package/dist/index.d.ts +5 -5
  23. package/dist/index.js +7 -6
  24. package/dist/intermediaries/Intermediary.d.ts +61 -14
  25. package/dist/intermediaries/Intermediary.js +38 -11
  26. package/dist/intermediaries/IntermediaryDiscovery.d.ts +62 -29
  27. package/dist/intermediaries/IntermediaryDiscovery.js +39 -24
  28. package/dist/prices/RedundantSwapPrice.d.ts +26 -5
  29. package/dist/prices/RedundantSwapPrice.js +22 -2
  30. package/dist/prices/SingleSwapPrice.d.ts +10 -7
  31. package/dist/prices/SingleSwapPrice.js +11 -8
  32. package/dist/prices/SwapPriceWithChain.d.ts +56 -19
  33. package/dist/prices/SwapPriceWithChain.js +62 -25
  34. package/dist/prices/abstract/IPriceProvider.d.ts +4 -4
  35. package/dist/prices/abstract/IPriceProvider.js +1 -1
  36. package/dist/prices/abstract/ISwapPrice.d.ts +95 -46
  37. package/dist/prices/abstract/ISwapPrice.js +104 -56
  38. package/dist/prices/providers/BinancePriceProvider.d.ts +8 -1
  39. package/dist/prices/providers/BinancePriceProvider.js +8 -1
  40. package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +7 -1
  41. package/dist/prices/providers/CoinGeckoPriceProvider.js +7 -1
  42. package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +7 -1
  43. package/dist/prices/providers/CoinPaprikaPriceProvider.js +7 -1
  44. package/dist/prices/providers/CustomPriceProvider.d.ts +12 -1
  45. package/dist/prices/providers/CustomPriceProvider.js +12 -1
  46. package/dist/prices/providers/KrakenPriceProvider.d.ts +10 -1
  47. package/dist/prices/providers/KrakenPriceProvider.js +10 -1
  48. package/dist/prices/providers/OKXPriceProvider.d.ts +7 -1
  49. package/dist/prices/providers/OKXPriceProvider.js +7 -1
  50. package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +3 -0
  51. package/dist/prices/providers/abstract/ExchangePriceProvider.js +3 -0
  52. package/dist/storage/IUnifiedStorage.d.ts +19 -7
  53. package/dist/storage/UnifiedSwapStorage.d.ts +33 -3
  54. package/dist/storage/UnifiedSwapStorage.js +29 -1
  55. package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +31 -7
  56. package/dist/storage-browser/IndexedDBUnifiedStorage.js +29 -6
  57. package/dist/storage-browser/LocalStorageManager.d.ts +25 -1
  58. package/dist/storage-browser/LocalStorageManager.js +25 -1
  59. package/dist/swapper/Swapper.d.ts +380 -226
  60. package/dist/swapper/Swapper.js +383 -349
  61. package/dist/swapper/SwapperFactory.d.ts +66 -18
  62. package/dist/swapper/SwapperFactory.js +24 -3
  63. package/dist/swapper/SwapperUtils.d.ts +75 -28
  64. package/dist/swapper/SwapperUtils.js +107 -60
  65. package/dist/swapper/SwapperWithChain.d.ts +286 -91
  66. package/dist/swapper/SwapperWithChain.js +218 -64
  67. package/dist/swapper/SwapperWithSigner.d.ts +229 -80
  68. package/dist/swapper/SwapperWithSigner.js +190 -44
  69. package/dist/swaps/IAddressSwap.d.ts +12 -3
  70. package/dist/swaps/IAddressSwap.js +3 -2
  71. package/dist/swaps/IBTCWalletSwap.d.ts +26 -8
  72. package/dist/swaps/IBTCWalletSwap.js +3 -2
  73. package/dist/swaps/IClaimableSwap.d.ts +38 -6
  74. package/dist/swaps/IClaimableSwap.js +3 -2
  75. package/dist/swaps/IClaimableSwapWrapper.d.ts +11 -1
  76. package/dist/swaps/IRefundableSwap.d.ts +31 -5
  77. package/dist/swaps/IRefundableSwap.js +3 -2
  78. package/dist/swaps/ISwap.d.ts +162 -24
  79. package/dist/swaps/ISwap.js +92 -35
  80. package/dist/swaps/ISwapWithGasDrop.d.ts +8 -2
  81. package/dist/swaps/ISwapWithGasDrop.js +2 -1
  82. package/dist/swaps/ISwapWrapper.d.ts +161 -52
  83. package/dist/swaps/ISwapWrapper.js +131 -73
  84. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +51 -6
  85. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +22 -12
  86. package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +65 -12
  87. package/dist/swaps/escrow_swaps/IEscrowSwap.js +38 -19
  88. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +39 -9
  89. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +30 -21
  90. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +31 -15
  91. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +33 -18
  92. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +97 -28
  93. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +91 -27
  94. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +22 -9
  95. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +24 -11
  96. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +278 -60
  97. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +519 -241
  98. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +77 -26
  99. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +132 -50
  100. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +313 -52
  101. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +544 -194
  102. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +87 -26
  103. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +147 -58
  104. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +222 -55
  105. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +462 -244
  106. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +77 -23
  107. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +116 -46
  108. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +195 -58
  109. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +324 -191
  110. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +30 -5
  111. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +44 -19
  112. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +61 -20
  113. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +75 -32
  114. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +76 -50
  115. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +106 -101
  116. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +37 -14
  117. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +66 -20
  118. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +46 -17
  119. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +82 -27
  120. package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +350 -88
  121. package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +482 -215
  122. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +76 -24
  123. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +247 -124
  124. package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +148 -20
  125. package/dist/swaps/trusted/ln/LnForGasSwap.js +175 -45
  126. package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +29 -10
  127. package/dist/swaps/trusted/ln/LnForGasWrapper.js +30 -11
  128. package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +202 -49
  129. package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +232 -80
  130. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +34 -12
  131. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +33 -14
  132. package/dist/types/AmountData.d.ts +2 -1
  133. package/dist/types/CustomPriceFunction.d.ts +8 -2
  134. package/dist/types/PriceInfoType.d.ts +4 -4
  135. package/dist/types/PriceInfoType.js +3 -3
  136. package/dist/types/SwapExecutionAction.d.ts +85 -4
  137. package/dist/types/SwapWithSigner.d.ts +5 -2
  138. package/dist/types/SwapWithSigner.js +5 -2
  139. package/dist/types/Token.d.ts +11 -5
  140. package/dist/types/Token.js +6 -3
  141. package/dist/types/TokenAmount.d.ts +3 -0
  142. package/dist/types/TokenAmount.js +2 -0
  143. package/dist/types/fees/Fee.d.ts +3 -2
  144. package/dist/types/fees/FeeBreakdown.d.ts +3 -2
  145. package/dist/types/fees/PercentagePPM.d.ts +4 -2
  146. package/dist/types/fees/PercentagePPM.js +2 -1
  147. package/dist/types/lnurl/LNURLPay.d.ts +20 -12
  148. package/dist/types/lnurl/LNURLPay.js +8 -4
  149. package/dist/types/lnurl/LNURLWithdraw.d.ts +17 -10
  150. package/dist/types/lnurl/LNURLWithdraw.js +8 -4
  151. package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -0
  152. package/dist/types/wallets/LightningInvoiceCreateService.js +15 -0
  153. package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +3 -1
  154. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +4 -2
  155. package/dist/utils/BitcoinUtils.d.ts +1 -0
  156. package/dist/utils/BitcoinUtils.js +5 -1
  157. package/dist/utils/SwapUtils.d.ts +58 -1
  158. package/dist/utils/SwapUtils.js +55 -1
  159. package/dist/utils/TokenUtils.d.ts +10 -2
  160. package/dist/utils/TokenUtils.js +12 -4
  161. package/package.json +3 -3
  162. package/src/bitcoin/coinselect2/utils.ts +6 -0
  163. package/src/bitcoin/wallet/BitcoinWallet.ts +41 -5
  164. package/src/bitcoin/wallet/IBitcoinWallet.ts +57 -2
  165. package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +42 -6
  166. package/src/enums/FeeType.ts +8 -1
  167. package/src/enums/SwapAmountType.ts +7 -0
  168. package/src/enums/SwapDirection.ts +7 -0
  169. package/src/enums/SwapType.ts +62 -2
  170. package/src/errors/IntermediaryError.ts +4 -0
  171. package/src/errors/RequestError.ts +15 -1
  172. package/src/errors/UserError.ts +1 -0
  173. package/src/index.ts +12 -5
  174. package/src/intermediaries/Intermediary.ts +61 -14
  175. package/src/intermediaries/IntermediaryDiscovery.ts +69 -34
  176. package/src/prices/RedundantSwapPrice.ts +26 -6
  177. package/src/prices/SingleSwapPrice.ts +11 -8
  178. package/src/prices/SwapPriceWithChain.ts +63 -26
  179. package/src/prices/abstract/IPriceProvider.ts +4 -4
  180. package/src/prices/abstract/ISwapPrice.ts +115 -66
  181. package/src/prices/providers/BinancePriceProvider.ts +8 -1
  182. package/src/prices/providers/CoinGeckoPriceProvider.ts +7 -1
  183. package/src/prices/providers/CoinPaprikaPriceProvider.ts +7 -1
  184. package/src/prices/providers/CustomPriceProvider.ts +12 -1
  185. package/src/prices/providers/KrakenPriceProvider.ts +10 -1
  186. package/src/prices/providers/OKXPriceProvider.ts +7 -1
  187. package/src/prices/providers/abstract/ExchangePriceProvider.ts +3 -0
  188. package/src/storage/IUnifiedStorage.ts +19 -7
  189. package/src/storage/UnifiedSwapStorage.ts +33 -3
  190. package/src/storage-browser/IndexedDBUnifiedStorage.ts +31 -8
  191. package/src/storage-browser/LocalStorageManager.ts +25 -1
  192. package/src/swapper/Swapper.ts +599 -390
  193. package/src/swapper/SwapperFactory.ts +73 -24
  194. package/src/swapper/SwapperUtils.ts +107 -60
  195. package/src/swapper/SwapperWithChain.ts +320 -81
  196. package/src/swapper/SwapperWithSigner.ts +263 -56
  197. package/src/swaps/IAddressSwap.ts +13 -3
  198. package/src/swaps/IBTCWalletSwap.ts +26 -10
  199. package/src/swaps/IClaimableSwap.ts +41 -6
  200. package/src/swaps/IClaimableSwapWrapper.ts +11 -2
  201. package/src/swaps/IRefundableSwap.ts +34 -5
  202. package/src/swaps/ISwap.ts +224 -85
  203. package/src/swaps/ISwapWithGasDrop.ts +8 -2
  204. package/src/swaps/ISwapWrapper.ts +216 -98
  205. package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +64 -18
  206. package/src/swaps/escrow_swaps/IEscrowSwap.ts +83 -37
  207. package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +61 -30
  208. package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +37 -19
  209. package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +123 -50
  210. package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +24 -11
  211. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +562 -258
  212. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +156 -62
  213. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +592 -227
  214. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +177 -74
  215. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +483 -245
  216. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +141 -59
  217. package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +350 -195
  218. package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +48 -23
  219. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +87 -40
  220. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +110 -110
  221. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +89 -34
  222. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +101 -31
  223. package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +556 -259
  224. package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +292 -148
  225. package/src/swaps/trusted/ln/LnForGasSwap.ts +186 -47
  226. package/src/swaps/trusted/ln/LnForGasWrapper.ts +34 -15
  227. package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +262 -88
  228. package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +41 -19
  229. package/src/types/AmountData.ts +2 -1
  230. package/src/types/CustomPriceFunction.ts +8 -2
  231. package/src/types/PriceInfoType.ts +4 -4
  232. package/src/types/SwapExecutionAction.ts +97 -5
  233. package/src/types/SwapWithSigner.ts +8 -4
  234. package/src/types/Token.ts +12 -5
  235. package/src/types/TokenAmount.ts +3 -0
  236. package/src/types/fees/Fee.ts +3 -2
  237. package/src/types/fees/FeeBreakdown.ts +3 -2
  238. package/src/types/fees/PercentagePPM.ts +4 -2
  239. package/src/types/lnurl/LNURLPay.ts +20 -12
  240. package/src/types/lnurl/LNURLWithdraw.ts +17 -10
  241. package/src/types/wallets/LightningInvoiceCreateService.ts +30 -0
  242. package/src/types/wallets/MinimalBitcoinWalletInterface.ts +3 -1
  243. package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +4 -2
  244. package/src/utils/BitcoinUtils.ts +5 -0
  245. package/src/utils/SwapUtils.ts +63 -1
  246. package/src/utils/TokenUtils.ts +12 -4
  247. package/dist/bitcoin/BitcoinRpcWithAddressIndex.d.ts +0 -68
  248. package/dist/bitcoin/BitcoinRpcWithAddressIndex.js +0 -2
  249. package/dist/bitcoin/LightningNetworkApi.d.ts +0 -12
  250. package/dist/bitcoin/LightningNetworkApi.js +0 -2
  251. package/dist/bitcoin/mempool/MempoolApi.d.ts +0 -350
  252. package/dist/bitcoin/mempool/MempoolApi.js +0 -311
  253. package/dist/bitcoin/mempool/MempoolBitcoinBlock.d.ts +0 -44
  254. package/dist/bitcoin/mempool/MempoolBitcoinBlock.js +0 -48
  255. package/dist/bitcoin/mempool/MempoolBitcoinRpc.d.ts +0 -119
  256. package/dist/bitcoin/mempool/MempoolBitcoinRpc.js +0 -361
  257. package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.d.ts +0 -22
  258. package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.js +0 -105
  259. package/dist/errors/PaymentAuthError.d.ts +0 -11
  260. package/dist/errors/PaymentAuthError.js +0 -23
  261. package/src/errors/PaymentAuthError.ts +0 -26
@@ -7,6 +7,7 @@ import { IRefundableSwap } from "../../IRefundableSwap";
7
7
  import { FeeType } from "../../../enums/FeeType";
8
8
  import { TokenAmount } from "../../../types/TokenAmount";
9
9
  import { BtcToken, SCToken } from "../../../types/Token";
10
+ import { SwapExecutionActionCommit } from "../../../types/SwapExecutionAction";
10
11
  export type IToBTCSwapInit<T extends SwapData> = IEscrowSelfInitSwapInit<T> & {
11
12
  signatureData?: SignatureData;
12
13
  data: T;
@@ -14,24 +15,94 @@ export type IToBTCSwapInit<T extends SwapData> = IEscrowSelfInitSwapInit<T> & {
14
15
  networkFeeBtc: bigint;
15
16
  };
16
17
  export declare function isIToBTCSwapInit<T extends SwapData>(obj: any): obj is IToBTCSwapInit<T>;
18
+ /**
19
+ * State enum for escrow-based Smart chain -> Bitcoin (on-chain & lightning) swaps
20
+ *
21
+ * @category Swaps/Smart chain → Bitcoin
22
+ */
23
+ export declare enum ToBTCSwapState {
24
+ /**
25
+ * Intermediary (LP) was unable to process the swap and the funds were refunded on the
26
+ * source chain
27
+ */
28
+ REFUNDED = -3,
29
+ /**
30
+ * Swap has expired for good and there is no way how it can be executed anymore
31
+ */
32
+ QUOTE_EXPIRED = -2,
33
+ /**
34
+ * A swap is almost expired, and it should be presented to the user as expired, though
35
+ * there is still a chance that it will be processed
36
+ */
37
+ QUOTE_SOFT_EXPIRED = -1,
38
+ /**
39
+ * Swap was created, use the {@link IToBTCSwap.commit} or {@link IToBTCSwap.txsCommit} to
40
+ * initiate it by creating the swap escrow on the source chain
41
+ */
42
+ CREATED = 0,
43
+ /**
44
+ * Swap escrow was initiated (committed) on the source chain, the intermediary (LP) will
45
+ * now process the swap. You can wait till that happens with the {@link IToBTCSwap.waitForPayment}
46
+ * function.
47
+ */
48
+ COMMITED = 1,
49
+ /**
50
+ * The intermediary (LP) has processed the transaction and sent out the funds on the destination chain,
51
+ * but hasn't yet settled the escrow on the source chain.
52
+ */
53
+ SOFT_CLAIMED = 2,
54
+ /**
55
+ * Swap was successfully settled by the intermediary (LP) on the source chain
56
+ */
57
+ CLAIMED = 3,
58
+ /**
59
+ * Intermediary (LP) was unable to process the swap and the swap escrow on the source chain
60
+ * is refundable, call {@link IToBTCSwap.refund} or {@link IToBTCSwap.txsRefund} to refund
61
+ */
62
+ REFUNDABLE = 4
63
+ }
64
+ /**
65
+ * Base class for escrow-based Smart chain -> Bitcoin (on-chain & lightning) swaps
66
+ *
67
+ * @category Swaps/Smart chain → Bitcoin
68
+ */
17
69
  export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D extends IToBTCDefinition<T, IToBTCWrapper<T, D>, IToBTCSwap<T, D>> = IToBTCDefinition<T, IToBTCWrapper<T, any>, IToBTCSwap<T, any>>> extends IEscrowSelfInitSwap<T, D, ToBTCSwapState> implements IRefundableSwap<T, D, ToBTCSwapState> {
70
+ /**
71
+ * @internal
72
+ */
73
+ protected readonly abstract outputToken: BtcToken;
74
+ /**
75
+ * @internal
76
+ */
18
77
  protected readonly networkFee: bigint;
78
+ /**
79
+ * @internal
80
+ */
19
81
  protected networkFeeBtc: bigint;
20
- protected readonly abstract outputToken: BtcToken;
21
- readonly data: T["Data"];
22
- readonly signatureData?: SignatureData;
82
+ /**
83
+ * @internal
84
+ */
85
+ readonly _data: T["Data"];
23
86
  protected constructor(wrapper: D["Wrapper"], serializedObject: any);
24
87
  protected constructor(wrapper: D["Wrapper"], init: IToBTCSwapInit<T["Data"]>);
88
+ /**
89
+ * @inheritDoc
90
+ * @internal
91
+ */
25
92
  protected getSwapData(): T["Data"];
93
+ /**
94
+ * @inheritDoc
95
+ * @internal
96
+ */
26
97
  protected upgradeVersion(): void;
27
98
  /**
28
- * In case swapFee in BTC is not supplied it recalculates it based on swap price
29
- * @protected
99
+ * @inheritDoc
100
+ * @internal
30
101
  */
31
102
  protected tryRecomputeSwapPrice(): void;
32
103
  /**
33
104
  * Returns the payment hash identifier to be sent to the LP for getStatus and getRefund
34
- * @protected
105
+ * @internal
35
106
  */
36
107
  protected getLpIdentifier(): string;
37
108
  /**
@@ -41,31 +112,73 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
41
112
  * @param check Whether to check the passed result
42
113
  * @returns true if check passed, false if check failed with a soft error (e.g. tx not yet found in the mempool)
43
114
  * @throws {IntermediaryError} When the data returned by the intermediary isn't valid
115
+ *
116
+ * @internal
44
117
  */
45
118
  abstract _setPaymentResult(result: {
46
119
  secret?: string;
47
120
  txId?: string;
48
121
  }, check?: boolean): Promise<boolean>;
122
+ /**
123
+ * @inheritDoc
124
+ */
49
125
  getInputAddress(): string | null;
126
+ /**
127
+ * @inheritDoc
128
+ */
50
129
  getInputTxId(): string | null;
130
+ /**
131
+ * @inheritDoc
132
+ */
51
133
  requiresAction(): boolean;
52
134
  /**
53
- * Returns whether the swap is finished and in its terminal state (this can mean successful, refunded or failed)
135
+ * @inheritDoc
54
136
  */
55
137
  isFinished(): boolean;
138
+ /**
139
+ * @inheritDoc
140
+ */
56
141
  isRefundable(): boolean;
142
+ /**
143
+ * @inheritDoc
144
+ */
57
145
  isQuoteExpired(): boolean;
146
+ /**
147
+ * @inheritDoc
148
+ */
58
149
  isQuoteSoftExpired(): boolean;
150
+ /**
151
+ * @inheritDoc
152
+ */
59
153
  isSuccessful(): boolean;
154
+ /**
155
+ * @inheritDoc
156
+ */
60
157
  isFailed(): boolean;
158
+ /**
159
+ * @inheritDoc
160
+ * @internal
161
+ */
61
162
  _getInitiator(): string;
163
+ /**
164
+ * Returns the swap fee charged by the intermediary (LP) on this swap
165
+ *
166
+ * @internal
167
+ */
62
168
  protected getSwapFee(): Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
63
169
  /**
64
- * Returns network fee for the swap, the fee is represented in source currency & destination currency, but is
65
- * paid only once
170
+ * Returns network fee for on the destination chain for the swap
171
+ *
172
+ * @internal
66
173
  */
67
174
  protected getNetworkFee(): Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
175
+ /**
176
+ * @inheritDoc
177
+ */
68
178
  getFee(): Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
179
+ /**
180
+ * @inheritDoc
181
+ */
69
182
  getFeeBreakdown(): [
70
183
  {
71
184
  type: FeeType.SWAP;
@@ -76,11 +189,20 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
76
189
  fee: Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
77
190
  }
78
191
  ];
192
+ /**
193
+ * @inheritDoc
194
+ */
79
195
  getInputToken(): SCToken<T["ChainId"]>;
196
+ /**
197
+ * @inheritDoc
198
+ */
80
199
  getInput(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
200
+ /**
201
+ * @inheritDoc
202
+ */
81
203
  getInputWithoutFee(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
82
204
  /**
83
- * Checks if the intiator/sender has enough balance to go through with the swap
205
+ * Checks if the initiator/sender on the source chain has enough balance to go through with the swap
84
206
  */
85
207
  hasEnoughBalance(): Promise<{
86
208
  enoughBalance: boolean;
@@ -88,7 +210,8 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
88
210
  required: TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
89
211
  }>;
90
212
  /**
91
- * Check if the initiator/sender has enough balance to cover the transaction fee for processing the swap
213
+ * Checks if the initiator/sender on the source chain has enough native token balance
214
+ * to cover the transaction fee of initiating the swap
92
215
  */
93
216
  hasEnoughForTxFees(): Promise<{
94
217
  enoughBalance: boolean;
@@ -103,7 +226,7 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
103
226
  * @param options Optional options for the swap like feeRate, AbortSignal, and timeouts/intervals
104
227
  *
105
228
  * @returns {boolean} Whether the swap was successfully processed by the LP, in case `false` is returned
106
- * the user can refund their funds back on the source chain by calling `swap.refund()`
229
+ * the user can refund their funds back on the source chain by calling {@link refund}
107
230
  */
108
231
  execute(signer: T["Signer"] | T["NativeSigner"], callbacks?: {
109
232
  onSourceTransactionSent?: (sourceTxId: string) => void;
@@ -114,41 +237,41 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
114
237
  paymentCheckIntervalSeconds?: number;
115
238
  maxWaitTillSwapProcessedSeconds?: number;
116
239
  }): Promise<boolean>;
240
+ /**
241
+ * @inheritDoc
242
+ * @param options.skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
243
+ * (this is handled on swap creation, if you commit right after quoting, you can use `skipChecks=true`)
244
+ */
117
245
  txsExecute(options?: {
118
246
  skipChecks?: boolean;
119
- }): Promise<{
120
- name: "Commit";
121
- description: string;
122
- chain: T["ChainId"];
123
- txs: T["TX"][];
124
- }[]>;
247
+ }): Promise<[
248
+ SwapExecutionActionCommit<T>
249
+ ]>;
125
250
  /**
126
- * Returns transactions for committing the swap on-chain, initiating the swap
251
+ * @inheritDoc
127
252
  *
128
- * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
129
- * (this is handled on swap creation, if you commit right after quoting, you can use skipChecks=true)
130
- *
131
- * @throws {Error} When in invalid state (not PR_CREATED)
253
+ * @throws {Error} When in invalid state (not {@link ToBTCSwapState.CREATED})
132
254
  */
133
255
  txsCommit(skipChecks?: boolean): Promise<T["TX"][]>;
134
256
  /**
135
- * Commits the swap on-chain, initiating the swap
257
+ * @inheritDoc
136
258
  *
137
- * @param _signer Signer to sign the transactions with, must be the same as used in the initialization
138
- * @param abortSignal Abort signal
139
- * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
140
- * (this is handled on swap creation, if you commit right after quoting, you can skipChecks)`
141
- * @param onBeforeTxSent
142
259
  * @throws {Error} If invalid signer is provided that doesn't match the swap data
143
260
  */
144
261
  commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
145
262
  /**
146
- * Waits till a swap is committed, should be called after sending the commit transactions manually
263
+ * @inheritDoc
147
264
  *
148
- * @param abortSignal AbortSignal
149
- * @throws {Error} If swap is not in the correct state (must be CREATED)
265
+ * @throws {Error} If swap is not in the correct state (must be {@link ToBTCSwapState.CREATED})
150
266
  */
151
267
  waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
268
+ /**
269
+ * Waits till the swap is processed by the intermediary (LP)
270
+ *
271
+ * @param checkIntervalSeconds How often to poll the intermediary for status (5 seconds default)
272
+ * @param abortSignal Abort signal
273
+ * @internal
274
+ */
152
275
  protected waitTillIntermediarySwapProcessed(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<RefundAuthorizationResponse>;
153
276
  /**
154
277
  * Checks whether the swap was already processed by the LP and is either successful (requires proof which is
@@ -156,31 +279,33 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
156
279
  * refund.
157
280
  *
158
281
  * @param save whether to save the data
159
- * @returns true if swap is processed, false if the swap is still ongoing
160
- * @private
282
+ * @returns `true` if swap is processed, `false` if the swap is still ongoing
283
+ *
284
+ * @internal
161
285
  */
162
286
  protected checkIntermediarySwapProcessed(save?: boolean): Promise<boolean>;
163
287
  /**
164
- * A blocking promise resolving when swap was concluded by the intermediary,
288
+ * A blocking promise resolving when swap was concluded by the intermediary (LP),
165
289
  * rejecting in case of failure
166
290
  *
167
291
  * @param maxWaitTimeSeconds Maximum time in seconds to wait for the swap to be settled, an error is thrown if the
168
292
  * swap is taking too long to claim
169
- * @param checkIntervalSeconds How often to poll the intermediary for answer
170
- * @param abortSignal Abort signal
171
- * @returns {Promise<boolean>} Was the payment successful? If not we can refund.
293
+ * @param checkIntervalSeconds How often to poll the intermediary for answer
294
+ * @param abortSignal Abort signal
295
+ * @returns `true` if swap was successful, `false` if swap failed and we can refund
296
+ *
172
297
  * @throws {IntermediaryError} If a swap is determined expired by the intermediary, but it is actually still valid
173
298
  * @throws {SignatureVerificationError} If the swap should be cooperatively refundable but the intermediary returned
174
299
  * invalid refund signature
175
- * @throws {Error} When swap expires or if the swap has invalid state (must be COMMITED)
300
+ * @throws {Error} When swap expires or if the swap has invalid state (must be {@link ToBTCSwapState.COMMITED})
176
301
  */
177
302
  waitForPayment(maxWaitTimeSeconds?: number, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
178
303
  /**
179
304
  * Get the estimated smart chain transaction fee of the refund transaction
180
305
  */
181
- getRefundFee(): Promise<bigint>;
306
+ getRefundNetworkFee(): Promise<TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>>;
182
307
  /**
183
- * Returns transactions for refunding the swap if the swap is in refundable state, you can check so with isRefundable()
308
+ * @inheritDoc
184
309
  *
185
310
  * @throws {IntermediaryError} If intermediary returns invalid response in case cooperative refund should be used
186
311
  * @throws {SignatureVerificationError} If intermediary returned invalid cooperative refund signature
@@ -188,21 +313,22 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
188
313
  */
189
314
  txsRefund(signer?: string): Promise<T["TX"][]>;
190
315
  /**
191
- * Refunds the swap if the swap is in refundable state, you can check so with isRefundable()
316
+ * @inheritDoc
192
317
  *
193
- * @param _signer Signer to sign the transactions with, must be the same as used in the initialization
194
- * @param abortSignal Abort signal
195
318
  * @throws {Error} If invalid signer is provided that doesn't match the swap data
196
319
  */
197
320
  refund(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal): Promise<string>;
198
321
  /**
199
- * Waits till a swap is refunded, should be called after sending the refund transactions manually
322
+ * @inheritDoc
200
323
  *
201
- * @param abortSignal AbortSignal
202
- * @throws {Error} When swap is not in a valid state (must be COMMITED)
324
+ * @throws {Error} When swap is not in a valid state (must be {@link ToBTCSwapState.COMMITED} or
325
+ * {@link ToBTCSwapState.REFUNDABLE})
203
326
  * @throws {Error} If we tried to refund but claimer was able to claim first
204
327
  */
205
328
  waitTillRefunded(abortSignal?: AbortSignal): Promise<void>;
329
+ /**
330
+ * @inheritDoc
331
+ */
206
332
  serialize(): any;
207
333
  /**
208
334
  * Checks the swap's state on-chain and compares it to its internal state, updates/changes it according to on-chain
@@ -211,18 +337,29 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
211
337
  * @private
212
338
  */
213
339
  private syncStateFromChain;
214
- _shouldFetchCommitStatus(): boolean;
340
+ /**
341
+ * @inheritDoc
342
+ * @internal
343
+ */
344
+ _shouldFetchOnchainState(): boolean;
345
+ /**
346
+ * @inheritDoc
347
+ * @internal
348
+ */
215
349
  _shouldFetchExpiryStatus(): boolean;
350
+ /**
351
+ * @inheritDoc
352
+ * @internal
353
+ */
216
354
  _sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
355
+ /**
356
+ * @inheritDoc
357
+ * @internal
358
+ */
359
+ _forciblySetOnchainState(commitStatus: SwapCommitState): Promise<boolean>;
360
+ /**
361
+ * @inheritDoc
362
+ * @internal
363
+ */
217
364
  _tick(save?: boolean): Promise<boolean>;
218
365
  }
219
- export declare enum ToBTCSwapState {
220
- REFUNDED = -3,
221
- QUOTE_EXPIRED = -2,
222
- QUOTE_SOFT_EXPIRED = -1,
223
- CREATED = 0,
224
- COMMITED = 1,
225
- SOFT_CLAIMED = 2,
226
- CLAIMED = 3,
227
- REFUNDABLE = 4
228
- }