@atomiqlabs/sdk 8.1.7 → 8.3.1

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 (253) hide show
  1. package/dist/bitcoin/wallet/BitcoinWallet.d.ts +41 -5
  2. package/dist/bitcoin/wallet/BitcoinWallet.js +36 -1
  3. package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +52 -2
  4. package/dist/bitcoin/wallet/IBitcoinWallet.js +2 -1
  5. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +42 -7
  6. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +36 -1
  7. package/dist/enums/FeeType.d.ts +7 -0
  8. package/dist/enums/FeeType.js +7 -0
  9. package/dist/enums/SwapAmountType.d.ts +7 -0
  10. package/dist/enums/SwapAmountType.js +7 -0
  11. package/dist/enums/SwapDirection.d.ts +7 -0
  12. package/dist/enums/SwapDirection.js +7 -0
  13. package/dist/enums/SwapType.d.ts +62 -1
  14. package/dist/enums/SwapType.js +62 -1
  15. package/dist/errors/IntermediaryError.d.ts +4 -0
  16. package/dist/errors/IntermediaryError.js +1 -0
  17. package/dist/errors/RequestError.d.ts +15 -1
  18. package/dist/errors/RequestError.js +8 -0
  19. package/dist/errors/UserError.d.ts +1 -0
  20. package/dist/errors/UserError.js +1 -0
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.js +3 -4
  23. package/dist/intermediaries/Intermediary.d.ts +57 -10
  24. package/dist/intermediaries/Intermediary.js +37 -10
  25. package/dist/intermediaries/IntermediaryDiscovery.d.ts +55 -22
  26. package/dist/intermediaries/IntermediaryDiscovery.js +35 -22
  27. package/dist/prices/RedundantSwapPrice.d.ts +24 -3
  28. package/dist/prices/RedundantSwapPrice.js +21 -1
  29. package/dist/prices/SingleSwapPrice.d.ts +9 -6
  30. package/dist/prices/SingleSwapPrice.js +10 -7
  31. package/dist/prices/SwapPriceWithChain.d.ts +54 -16
  32. package/dist/prices/SwapPriceWithChain.js +58 -20
  33. package/dist/prices/abstract/ISwapPrice.d.ts +94 -45
  34. package/dist/prices/abstract/ISwapPrice.js +103 -55
  35. package/dist/prices/providers/BinancePriceProvider.d.ts +7 -0
  36. package/dist/prices/providers/BinancePriceProvider.js +7 -0
  37. package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +6 -0
  38. package/dist/prices/providers/CoinGeckoPriceProvider.js +6 -0
  39. package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +6 -0
  40. package/dist/prices/providers/CoinPaprikaPriceProvider.js +6 -0
  41. package/dist/prices/providers/CustomPriceProvider.d.ts +11 -0
  42. package/dist/prices/providers/CustomPriceProvider.js +11 -0
  43. package/dist/prices/providers/KrakenPriceProvider.d.ts +9 -0
  44. package/dist/prices/providers/KrakenPriceProvider.js +9 -0
  45. package/dist/prices/providers/OKXPriceProvider.d.ts +6 -0
  46. package/dist/prices/providers/OKXPriceProvider.js +6 -0
  47. package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +3 -0
  48. package/dist/prices/providers/abstract/ExchangePriceProvider.js +3 -0
  49. package/dist/storage/IUnifiedStorage.d.ts +19 -7
  50. package/dist/storage/UnifiedSwapStorage.d.ts +33 -3
  51. package/dist/storage/UnifiedSwapStorage.js +29 -1
  52. package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +31 -7
  53. package/dist/storage-browser/IndexedDBUnifiedStorage.js +29 -6
  54. package/dist/storage-browser/LocalStorageManager.d.ts +25 -1
  55. package/dist/storage-browser/LocalStorageManager.js +25 -1
  56. package/dist/swapper/Swapper.d.ts +303 -222
  57. package/dist/swapper/Swapper.js +376 -344
  58. package/dist/swapper/SwapperFactory.d.ts +41 -17
  59. package/dist/swapper/SwapperFactory.js +23 -2
  60. package/dist/swapper/SwapperUtils.d.ts +75 -28
  61. package/dist/swapper/SwapperUtils.js +107 -60
  62. package/dist/swapper/SwapperWithChain.d.ts +286 -91
  63. package/dist/swapper/SwapperWithChain.js +218 -64
  64. package/dist/swapper/SwapperWithSigner.d.ts +229 -80
  65. package/dist/swapper/SwapperWithSigner.js +190 -44
  66. package/dist/swaps/IAddressSwap.d.ts +10 -1
  67. package/dist/swaps/IAddressSwap.js +2 -1
  68. package/dist/swaps/IBTCWalletSwap.d.ts +24 -6
  69. package/dist/swaps/IBTCWalletSwap.js +2 -1
  70. package/dist/swaps/IClaimableSwap.d.ts +36 -4
  71. package/dist/swaps/IClaimableSwap.js +2 -1
  72. package/dist/swaps/IClaimableSwapWrapper.d.ts +11 -1
  73. package/dist/swaps/IRefundableSwap.d.ts +29 -3
  74. package/dist/swaps/IRefundableSwap.js +2 -1
  75. package/dist/swaps/ISwap.d.ts +159 -21
  76. package/dist/swaps/ISwap.js +90 -33
  77. package/dist/swaps/ISwapWithGasDrop.d.ts +6 -0
  78. package/dist/swaps/ISwapWithGasDrop.js +1 -0
  79. package/dist/swaps/ISwapWrapper.d.ts +157 -48
  80. package/dist/swaps/ISwapWrapper.js +130 -72
  81. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +49 -6
  82. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +22 -12
  83. package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +65 -12
  84. package/dist/swaps/escrow_swaps/IEscrowSwap.js +38 -19
  85. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +39 -9
  86. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +30 -21
  87. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +31 -15
  88. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +33 -18
  89. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +94 -29
  90. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +90 -27
  91. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +22 -9
  92. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +24 -11
  93. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +275 -58
  94. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +516 -239
  95. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +76 -25
  96. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +131 -49
  97. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +311 -51
  98. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +542 -193
  99. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +87 -26
  100. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +147 -58
  101. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +209 -53
  102. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +449 -242
  103. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +77 -23
  104. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +116 -46
  105. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +197 -56
  106. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +326 -189
  107. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +30 -5
  108. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +44 -19
  109. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +60 -19
  110. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +74 -31
  111. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +76 -50
  112. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +106 -101
  113. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +36 -13
  114. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +65 -19
  115. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +46 -17
  116. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +82 -27
  117. package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +328 -92
  118. package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +460 -219
  119. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +76 -24
  120. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +244 -124
  121. package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +146 -18
  122. package/dist/swaps/trusted/ln/LnForGasSwap.js +173 -43
  123. package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +29 -10
  124. package/dist/swaps/trusted/ln/LnForGasWrapper.js +30 -11
  125. package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +200 -47
  126. package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +230 -78
  127. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +34 -12
  128. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +33 -14
  129. package/dist/types/AmountData.d.ts +2 -1
  130. package/dist/types/CustomPriceFunction.d.ts +7 -1
  131. package/dist/types/SwapExecutionAction.d.ts +74 -4
  132. package/dist/types/SwapWithSigner.d.ts +4 -1
  133. package/dist/types/SwapWithSigner.js +5 -2
  134. package/dist/types/Token.d.ts +11 -5
  135. package/dist/types/Token.js +6 -3
  136. package/dist/types/TokenAmount.d.ts +3 -0
  137. package/dist/types/TokenAmount.js +2 -0
  138. package/dist/types/fees/Fee.d.ts +2 -1
  139. package/dist/types/fees/FeeBreakdown.d.ts +2 -1
  140. package/dist/types/fees/PercentagePPM.d.ts +2 -0
  141. package/dist/types/fees/PercentagePPM.js +1 -0
  142. package/dist/types/lnurl/LNURLPay.d.ts +14 -6
  143. package/dist/types/lnurl/LNURLPay.js +6 -2
  144. package/dist/types/lnurl/LNURLWithdraw.d.ts +12 -5
  145. package/dist/types/lnurl/LNURLWithdraw.js +6 -2
  146. package/dist/types/wallets/LightningInvoiceCreateService.d.ts +20 -0
  147. package/dist/types/wallets/LightningInvoiceCreateService.js +15 -0
  148. package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +3 -1
  149. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +3 -1
  150. package/dist/utils/BitcoinUtils.d.ts +1 -0
  151. package/dist/utils/BitcoinUtils.js +5 -1
  152. package/dist/utils/SwapUtils.d.ts +56 -1
  153. package/dist/utils/SwapUtils.js +53 -1
  154. package/dist/utils/TokenUtils.d.ts +10 -2
  155. package/dist/utils/TokenUtils.js +12 -4
  156. package/package.json +3 -3
  157. package/src/bitcoin/wallet/BitcoinWallet.ts +41 -5
  158. package/src/bitcoin/wallet/IBitcoinWallet.ts +57 -2
  159. package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +42 -6
  160. package/src/enums/FeeType.ts +7 -0
  161. package/src/enums/SwapAmountType.ts +7 -0
  162. package/src/enums/SwapDirection.ts +7 -0
  163. package/src/enums/SwapType.ts +62 -2
  164. package/src/errors/IntermediaryError.ts +4 -0
  165. package/src/errors/RequestError.ts +15 -1
  166. package/src/errors/UserError.ts +1 -0
  167. package/src/index.ts +6 -5
  168. package/src/intermediaries/Intermediary.ts +57 -10
  169. package/src/intermediaries/IntermediaryDiscovery.ts +60 -27
  170. package/src/prices/RedundantSwapPrice.ts +24 -4
  171. package/src/prices/SingleSwapPrice.ts +10 -7
  172. package/src/prices/SwapPriceWithChain.ts +59 -21
  173. package/src/prices/abstract/ISwapPrice.ts +114 -65
  174. package/src/prices/providers/BinancePriceProvider.ts +7 -0
  175. package/src/prices/providers/CoinGeckoPriceProvider.ts +6 -0
  176. package/src/prices/providers/CoinPaprikaPriceProvider.ts +6 -0
  177. package/src/prices/providers/CustomPriceProvider.ts +11 -0
  178. package/src/prices/providers/KrakenPriceProvider.ts +9 -0
  179. package/src/prices/providers/OKXPriceProvider.ts +6 -0
  180. package/src/prices/providers/abstract/ExchangePriceProvider.ts +3 -0
  181. package/src/storage/IUnifiedStorage.ts +19 -7
  182. package/src/storage/UnifiedSwapStorage.ts +33 -3
  183. package/src/storage-browser/IndexedDBUnifiedStorage.ts +31 -8
  184. package/src/storage-browser/LocalStorageManager.ts +25 -1
  185. package/src/swapper/Swapper.ts +513 -379
  186. package/src/swapper/SwapperFactory.ts +44 -21
  187. package/src/swapper/SwapperUtils.ts +107 -60
  188. package/src/swapper/SwapperWithChain.ts +320 -81
  189. package/src/swapper/SwapperWithSigner.ts +263 -56
  190. package/src/swaps/IAddressSwap.ts +11 -1
  191. package/src/swaps/IBTCWalletSwap.ts +24 -8
  192. package/src/swaps/IClaimableSwap.ts +39 -4
  193. package/src/swaps/IClaimableSwapWrapper.ts +11 -2
  194. package/src/swaps/IRefundableSwap.ts +32 -3
  195. package/src/swaps/ISwap.ts +221 -82
  196. package/src/swaps/ISwapWithGasDrop.ts +6 -0
  197. package/src/swaps/ISwapWrapper.ts +212 -94
  198. package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +62 -18
  199. package/src/swaps/escrow_swaps/IEscrowSwap.ts +83 -37
  200. package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +61 -30
  201. package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +37 -19
  202. package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +120 -51
  203. package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +24 -11
  204. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +559 -256
  205. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +155 -61
  206. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +590 -226
  207. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +177 -74
  208. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +470 -243
  209. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +141 -59
  210. package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +352 -193
  211. package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +48 -23
  212. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +86 -39
  213. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +110 -110
  214. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +88 -33
  215. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +101 -31
  216. package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +534 -263
  217. package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +289 -148
  218. package/src/swaps/trusted/ln/LnForGasSwap.ts +184 -45
  219. package/src/swaps/trusted/ln/LnForGasWrapper.ts +34 -15
  220. package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +260 -86
  221. package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +41 -19
  222. package/src/types/AmountData.ts +2 -1
  223. package/src/types/CustomPriceFunction.ts +7 -1
  224. package/src/types/SwapExecutionAction.ts +84 -5
  225. package/src/types/SwapWithSigner.ts +7 -3
  226. package/src/types/Token.ts +12 -5
  227. package/src/types/TokenAmount.ts +3 -0
  228. package/src/types/fees/Fee.ts +2 -1
  229. package/src/types/fees/FeeBreakdown.ts +2 -1
  230. package/src/types/fees/PercentagePPM.ts +2 -0
  231. package/src/types/lnurl/LNURLPay.ts +14 -6
  232. package/src/types/lnurl/LNURLWithdraw.ts +12 -5
  233. package/src/types/wallets/LightningInvoiceCreateService.ts +26 -0
  234. package/src/types/wallets/MinimalBitcoinWalletInterface.ts +3 -1
  235. package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +3 -1
  236. package/src/utils/BitcoinUtils.ts +5 -0
  237. package/src/utils/SwapUtils.ts +61 -1
  238. package/src/utils/TokenUtils.ts +12 -4
  239. package/dist/bitcoin/BitcoinRpcWithAddressIndex.d.ts +0 -68
  240. package/dist/bitcoin/BitcoinRpcWithAddressIndex.js +0 -2
  241. package/dist/bitcoin/LightningNetworkApi.d.ts +0 -12
  242. package/dist/bitcoin/LightningNetworkApi.js +0 -2
  243. package/dist/bitcoin/mempool/MempoolApi.d.ts +0 -350
  244. package/dist/bitcoin/mempool/MempoolApi.js +0 -311
  245. package/dist/bitcoin/mempool/MempoolBitcoinBlock.d.ts +0 -44
  246. package/dist/bitcoin/mempool/MempoolBitcoinBlock.js +0 -48
  247. package/dist/bitcoin/mempool/MempoolBitcoinRpc.d.ts +0 -119
  248. package/dist/bitcoin/mempool/MempoolBitcoinRpc.js +0 -361
  249. package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.d.ts +0 -22
  250. package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.js +0 -105
  251. package/dist/errors/PaymentAuthError.d.ts +0 -11
  252. package/dist/errors/PaymentAuthError.js +0 -23
  253. 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
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
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,45 @@ 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
+ * After sending the transaction manually be sure to call the {@link waitTillCommited} function
252
+ * to wait till the initiation transaction is observed, processed by the SDK and state of the swap
253
+ * properly updated.
127
254
  *
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)
255
+ * @inheritDoc
130
256
  *
131
257
  * @throws {Error} When in invalid state (not PR_CREATED)
132
258
  */
133
259
  txsCommit(skipChecks?: boolean): Promise<T["TX"][]>;
134
260
  /**
135
- * Commits the swap on-chain, initiating the swap
261
+ * @inheritDoc
136
262
  *
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
263
  * @throws {Error} If invalid signer is provided that doesn't match the swap data
143
264
  */
144
265
  commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
145
266
  /**
146
- * Waits till a swap is committed, should be called after sending the commit transactions manually
267
+ * @inheritDoc
147
268
  *
148
- * @param abortSignal AbortSignal
149
- * @throws {Error} If swap is not in the correct state (must be CREATED)
269
+ * @throws {Error} If swap is not in the correct state (must be {@link ToBTCSwapState.CREATED})
150
270
  */
151
271
  waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
272
+ /**
273
+ * Waits till the swap is processed by the intermediary (LP)
274
+ *
275
+ * @param checkIntervalSeconds How often to poll the intermediary for status (5 seconds default)
276
+ * @param abortSignal Abort signal
277
+ * @internal
278
+ */
152
279
  protected waitTillIntermediarySwapProcessed(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<RefundAuthorizationResponse>;
153
280
  /**
154
281
  * Checks whether the swap was already processed by the LP and is either successful (requires proof which is
@@ -156,31 +283,33 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
156
283
  * refund.
157
284
  *
158
285
  * @param save whether to save the data
159
- * @returns true if swap is processed, false if the swap is still ongoing
160
- * @private
286
+ * @returns `true` if swap is processed, `false` if the swap is still ongoing
287
+ *
288
+ * @internal
161
289
  */
162
290
  protected checkIntermediarySwapProcessed(save?: boolean): Promise<boolean>;
163
291
  /**
164
- * A blocking promise resolving when swap was concluded by the intermediary,
292
+ * A blocking promise resolving when swap was concluded by the intermediary (LP),
165
293
  * rejecting in case of failure
166
294
  *
167
295
  * @param maxWaitTimeSeconds Maximum time in seconds to wait for the swap to be settled, an error is thrown if the
168
296
  * 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.
297
+ * @param checkIntervalSeconds How often to poll the intermediary for answer
298
+ * @param abortSignal Abort signal
299
+ * @returns `true` if swap was successful, `false` if swap failed and we can refund
300
+ *
172
301
  * @throws {IntermediaryError} If a swap is determined expired by the intermediary, but it is actually still valid
173
302
  * @throws {SignatureVerificationError} If the swap should be cooperatively refundable but the intermediary returned
174
303
  * invalid refund signature
175
- * @throws {Error} When swap expires or if the swap has invalid state (must be COMMITED)
304
+ * @throws {Error} When swap expires or if the swap has invalid state (must be {@link ToBTCSwapState.COMMITED})
176
305
  */
177
306
  waitForPayment(maxWaitTimeSeconds?: number, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
178
307
  /**
179
308
  * Get the estimated smart chain transaction fee of the refund transaction
180
309
  */
181
- getRefundFee(): Promise<bigint>;
310
+ getRefundNetworkFee(): Promise<TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>>;
182
311
  /**
183
- * Returns transactions for refunding the swap if the swap is in refundable state, you can check so with isRefundable()
312
+ * @inheritDoc
184
313
  *
185
314
  * @throws {IntermediaryError} If intermediary returns invalid response in case cooperative refund should be used
186
315
  * @throws {SignatureVerificationError} If intermediary returned invalid cooperative refund signature
@@ -188,21 +317,22 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
188
317
  */
189
318
  txsRefund(signer?: string): Promise<T["TX"][]>;
190
319
  /**
191
- * Refunds the swap if the swap is in refundable state, you can check so with isRefundable()
320
+ * @inheritDoc
192
321
  *
193
- * @param _signer Signer to sign the transactions with, must be the same as used in the initialization
194
- * @param abortSignal Abort signal
195
322
  * @throws {Error} If invalid signer is provided that doesn't match the swap data
196
323
  */
197
324
  refund(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal): Promise<string>;
198
325
  /**
199
- * Waits till a swap is refunded, should be called after sending the refund transactions manually
326
+ * @inheritDoc
200
327
  *
201
- * @param abortSignal AbortSignal
202
- * @throws {Error} When swap is not in a valid state (must be COMMITED)
328
+ * @throws {Error} When swap is not in a valid state (must be {@link ToBTCSwapState.COMMITED} or
329
+ * {@link ToBTCSwapState.REFUNDABLE})
203
330
  * @throws {Error} If we tried to refund but claimer was able to claim first
204
331
  */
205
332
  waitTillRefunded(abortSignal?: AbortSignal): Promise<void>;
333
+ /**
334
+ * @inheritDoc
335
+ */
206
336
  serialize(): any;
207
337
  /**
208
338
  * Checks the swap's state on-chain and compares it to its internal state, updates/changes it according to on-chain
@@ -211,18 +341,29 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
211
341
  * @private
212
342
  */
213
343
  private syncStateFromChain;
214
- _shouldFetchCommitStatus(): boolean;
344
+ /**
345
+ * @inheritDoc
346
+ * @internal
347
+ */
348
+ _shouldFetchOnchainState(): boolean;
349
+ /**
350
+ * @inheritDoc
351
+ * @internal
352
+ */
215
353
  _shouldFetchExpiryStatus(): boolean;
354
+ /**
355
+ * @inheritDoc
356
+ * @internal
357
+ */
216
358
  _sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
359
+ /**
360
+ * @inheritDoc
361
+ * @internal
362
+ */
363
+ _forciblySetOnchainState(commitStatus: SwapCommitState): Promise<boolean>;
364
+ /**
365
+ * @inheritDoc
366
+ * @internal
367
+ */
217
368
  _tick(save?: boolean): Promise<boolean>;
218
369
  }
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
- }