@atomiqlabs/sdk 8.1.8 → 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 +302 -221
  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 +512 -378
  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
@@ -13,42 +13,101 @@ import { TokenAmount } from "../../../../types/TokenAmount";
13
13
  import { BtcToken, SCToken } from "../../../../types/Token";
14
14
  import { LoggerType } from "../../../../utils/Logger";
15
15
  /**
16
- * State enum for FromBTC swaps
16
+ * State enum for legacy escrow based Bitcoin -> Smart chain swaps.
17
+ *
17
18
  * @category Swaps
18
19
  */
19
20
  export declare enum FromBTCSwapState {
21
+ /**
22
+ * Bitcoin swap address has expired and the intermediary (LP) has already refunded
23
+ * its funds. No BTC should be sent anymore!
24
+ */
20
25
  FAILED = -4,
26
+ /**
27
+ * Bitcoin swap address has expired, user should not send any BTC anymore! Though
28
+ * the intermediary (LP) hasn't refunded yet. So if there is a transaction already
29
+ * in-flight the swap might still succeed.
30
+ */
21
31
  EXPIRED = -3,
32
+ /**
33
+ * Swap has expired for good and there is no way how it can be executed anymore
34
+ */
22
35
  QUOTE_EXPIRED = -2,
36
+ /**
37
+ * A swap is almost expired, and it should be presented to the user as expired, though
38
+ * there is still a chance that it will be processed
39
+ */
23
40
  QUOTE_SOFT_EXPIRED = -1,
41
+ /**
42
+ * Swap quote was created, use the {@link FromBTCSwap.commit} or {@link FromBTCSwap.txsCommit} functions
43
+ * to initiate it by creating the swap escrow on the destination smart chain
44
+ */
24
45
  PR_CREATED = 0,
46
+ /**
47
+ * Swap escrow was initiated (committed) on the destination chain, user can send the BTC to the
48
+ * swap address with the {@link FromBTCSwap.getFundedPsbt}, {@link FromBTCSwap.getAddress} or
49
+ * {@link FromBTCSwap.getHyperlink} functions.
50
+ */
25
51
  CLAIM_COMMITED = 1,
52
+ /**
53
+ * Input bitcoin transaction was confirmed, wait for automatic settlement by the watchtower
54
+ * or settle manually using the {@link FromBTCSwap.claim} or {@link FromBTCSwap.txsClaim}
55
+ * function.
56
+ */
26
57
  BTC_TX_CONFIRMED = 2,
58
+ /**
59
+ * Swap successfully settled and funds received on the destination chain
60
+ */
27
61
  CLAIM_CLAIMED = 3
28
62
  }
29
63
  export type FromBTCSwapInit<T extends SwapData> = IEscrowSelfInitSwapInit<T> & {
30
64
  data: T;
31
- feeRate: string;
32
- address: string;
33
- amount: bigint;
34
- requiredConfirmations: number;
65
+ address?: string;
66
+ amount?: bigint;
67
+ requiredConfirmations?: number;
35
68
  };
36
69
  export declare function isFromBTCSwapInit<T extends SwapData>(obj: any): obj is FromBTCSwapInit<T>;
70
+ /**
71
+ * Legacy escrow (PrTLC) based swap for Bitcoin -> Smart chains, requires manual initiation
72
+ * of the swap escrow on the destination chain.
73
+ *
74
+ * @category Swaps
75
+ */
37
76
  export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromBTCSelfInitSwap<T, FromBTCDefinition<T>, FromBTCSwapState> implements IBTCWalletSwap, IClaimableSwap<T, FromBTCDefinition<T>, FromBTCSwapState>, IAddressSwap {
77
+ protected readonly TYPE: SwapType.FROM_BTC;
78
+ /**
79
+ * @internal
80
+ */
38
81
  protected readonly logger: LoggerType;
82
+ /**
83
+ * @internal
84
+ */
39
85
  protected readonly inputToken: BtcToken<false>;
40
- protected readonly TYPE = SwapType.FROM_BTC;
41
- readonly data: T["Data"];
42
- readonly feeRate: string;
43
- address: string;
44
- amount: bigint;
45
- readonly requiredConfirmations: number;
46
- senderAddress?: string;
47
- txId?: string;
48
- vout?: number;
86
+ /**
87
+ * @internal
88
+ */
89
+ protected readonly feeRate: string;
90
+ /**
91
+ * @internal
92
+ */
93
+ readonly _data: T["Data"];
94
+ private address?;
95
+ private amount?;
96
+ private requiredConfirmations?;
97
+ private senderAddress?;
98
+ private txId?;
99
+ private vout?;
49
100
  constructor(wrapper: FromBTCWrapper<T>, init: FromBTCSwapInit<T["Data"]>);
50
101
  constructor(wrapper: FromBTCWrapper<T>, obj: any);
102
+ /**
103
+ * @inheritDoc
104
+ * @internal
105
+ */
51
106
  protected getSwapData(): T["Data"];
107
+ /**
108
+ * @inheritDoc
109
+ * @internal
110
+ */
52
111
  protected upgradeVersion(): void;
53
112
  /**
54
113
  * Returns bitcoin address where the on-chain BTC should be sent to
@@ -60,31 +119,88 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
60
119
  * @private
61
120
  */
62
121
  private _getHyperlink;
122
+ /**
123
+ * @inheritDoc
124
+ */
63
125
  getHyperlink(): string;
126
+ /**
127
+ * @inheritDoc
128
+ */
64
129
  getInputAddress(): string | null;
130
+ /**
131
+ * @inheritDoc
132
+ */
65
133
  getInputTxId(): string | null;
66
134
  /**
67
135
  * Returns timeout time (in UNIX milliseconds) when the on-chain address will expire and no funds should be sent
68
136
  * to that address anymore
69
137
  */
70
138
  getTimeoutTime(): number;
139
+ /**
140
+ * @inheritDoc
141
+ */
71
142
  requiresAction(): boolean;
143
+ /**
144
+ * @inheritDoc
145
+ */
72
146
  isFinished(): boolean;
147
+ /**
148
+ * @inheritDoc
149
+ */
73
150
  isClaimable(): boolean;
151
+ /**
152
+ * @inheritDoc
153
+ */
74
154
  isSuccessful(): boolean;
155
+ /**
156
+ * @inheritDoc
157
+ */
75
158
  isFailed(): boolean;
159
+ /**
160
+ * @inheritDoc
161
+ */
76
162
  isQuoteExpired(): boolean;
163
+ /**
164
+ * @inheritDoc
165
+ */
77
166
  isQuoteSoftExpired(): boolean;
167
+ /**
168
+ * @inheritDoc
169
+ * @internal
170
+ */
78
171
  protected canCommit(): boolean;
172
+ /**
173
+ * @inheritDoc
174
+ */
79
175
  getInputToken(): BtcToken<false>;
176
+ /**
177
+ * @inheritDoc
178
+ */
80
179
  getInput(): TokenAmount<T["ChainId"], BtcToken<false>>;
81
180
  /**
82
- * Returns claimer bounty, acting as a reward for watchtowers to claim the swap automatically
181
+ * Returns claimer bounty, acting as a reward for watchtowers to claim the swap automatically,
182
+ * this amount is pre-funded by the user on the destination chain when the swap escrow
183
+ * is initiated. For total pre-funded deposit amount see {@link getTotalDeposit}.
83
184
  */
84
185
  getClaimerBounty(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
186
+ /**
187
+ * If the required number of confirmations is not known, this function tries to infer it by looping through
188
+ * possible confirmation targets and comparing the claim hashes
189
+ *
190
+ * @param btcTx Bitcoin transaction
191
+ * @param vout Output index of the desired output in the bitcoin transaction
192
+ *
193
+ * @private
194
+ */
195
+ private inferRequiredConfirmationsCount;
196
+ /**
197
+ * @inheritDoc
198
+ */
85
199
  getRequiredConfirmationsCount(): number;
86
200
  /**
87
- * Checks whether a bitcoin payment was already made, returns the payment or null when no payment has been made.
201
+ * Checks whether a bitcoin payment was already made, returns the payment or `null` when no payment has been made.
202
+ *
203
+ * @internal
88
204
  */
89
205
  protected getBitcoinPayment(): Promise<{
90
206
  txId: string;
@@ -94,28 +210,31 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
94
210
  inputAddresses?: string[];
95
211
  } | null>;
96
212
  /**
97
- * For internal use! Used to set the txId of the bitcoin payment from the on-chain events listener
213
+ * Used to set the txId of the bitcoin payment from the on-chain events listener
214
+ *
215
+ * @param txId Transaction ID that settled the swap on the smart chain
98
216
  *
99
- * @param txId
217
+ * @internal
100
218
  */
101
219
  _setBitcoinTxId(txId: string): Promise<void>;
102
220
  /**
103
- * Waits till the bitcoin transaction confirms and swap becomes claimable
221
+ * @inheritDoc
104
222
  *
105
- * @param updateCallback Callback called when txId is found, and also called with subsequent confirmations
106
- * @param checkIntervalSeconds How often to check the bitcoin transaction
107
- * @param abortSignal Abort signal
108
- * @throws {Error} if in invalid state (must be CLAIM_COMMITED)
223
+ * @throws {Error} if in invalid state (must be {@link FromBTCSwapState.CLAIM_COMMITED})
109
224
  */
110
225
  waitForBitcoinTransaction(updateCallback?: (txId?: string, confirmations?: number, targetConfirmations?: number, txEtaMs?: number) => void, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<string>;
111
226
  /**
112
- * Returns the PSBT that is already funded with wallet's UTXOs (runs a coin-selection algorithm to choose UTXOs to use),
113
- * also returns inputs indices that need to be signed by the wallet before submitting the PSBT back to the SDK with
114
- * `swap.submitPsbt()`
227
+ * Private getter of the funded PSBT that doesn't check current state
115
228
  *
116
- * @param _bitcoinWallet Sender's bitcoin wallet
117
- * @param feeRate Optional fee rate for the transaction, needs to be at least as big as {minimumBtcFeeRate} field
118
- * @param additionalOutputs additional outputs to add to the PSBT - can be used to collect fees from users
229
+ * @param _bitcoinWallet Bitcoin wallet to fund the PSBT with
230
+ * @param feeRate Optional bitcoin fee rate in sats/vB
231
+ * @param additionalOutputs Optional additional outputs that should also be included in the generated PSBT
232
+ *
233
+ * @private
234
+ */
235
+ private _getFundedPsbt;
236
+ /**
237
+ * @inheritDoc
119
238
  */
120
239
  getFundedPsbt(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number, additionalOutputs?: ({
121
240
  amount: bigint;
@@ -129,14 +248,20 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
129
248
  psbtBase64: string;
130
249
  signInputs: number[];
131
250
  }>;
132
- private _getFundedPsbt;
133
251
  /**
134
- * Submits a PSBT signed by the wallet back to the SDK
252
+ * @inheritDoc
135
253
  *
136
- * @param _psbt A psbt - either a Transaction object or a hex or base64 encoded PSBT string
254
+ * @throws {Error} if the swap is in invalid state (not in {@link FromBTCSwapState.CLAIM_COMMITED}), or if
255
+ * the swap bitcoin address already expired.
137
256
  */
138
257
  submitPsbt(_psbt: Transaction | string): Promise<string>;
258
+ /**
259
+ * @inheritDoc
260
+ */
139
261
  estimateBitcoinFee(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number): Promise<TokenAmount<any, BtcToken<false>, true> | null>;
262
+ /**
263
+ * @inheritDoc
264
+ */
140
265
  sendBitcoinTransaction(wallet: IBitcoinWallet | MinimalBitcoinWalletInterfaceWithSigner, feeRate?: number): Promise<string>;
141
266
  /**
142
267
  * Executes the swap with the provided bitcoin wallet,
@@ -165,6 +290,17 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
165
290
  btcTxCheckIntervalSeconds?: number;
166
291
  maxWaitTillAutomaticSettlementSeconds?: number;
167
292
  }): Promise<boolean>;
293
+ /**
294
+ * @inheritDoc
295
+ *
296
+ * @param options.bitcoinWallet Bitcoin wallet to use, when provided the function returns a funded
297
+ * psbt (`"FUNDED_PSBT"`), if not passed just a bitcoin receive address is returned (`"ADDRESS"`)
298
+ * @param options.skipChecks Skip checks like making sure init signature is still valid and swap
299
+ * wasn't commited yet (this is handled on swap creation, if you commit right after quoting, you
300
+ * can use `skipChecks=true`)
301
+ *
302
+ * @throws {Error} if the swap or quote is expired, or if triggered in invalid state
303
+ */
168
304
  txsExecute(options?: {
169
305
  bitcoinWallet?: MinimalBitcoinWalletInterface;
170
306
  skipChecks?: boolean;
@@ -176,14 +312,14 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
176
312
  } | {
177
313
  name: "Payment";
178
314
  description: string;
179
- chain: string;
315
+ chain: "BITCOIN";
180
316
  txs: ({
181
317
  address: string;
182
318
  amount: number;
183
319
  hyperlink: string;
184
- type: string;
320
+ type: "ADDRESS";
185
321
  } | {
186
- type: string;
322
+ type: "FUNDED_PSBT";
187
323
  psbt: Transaction;
188
324
  psbtHex: string;
189
325
  psbtBase64: string;
@@ -194,42 +330,41 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
194
330
  })[];
195
331
  })[]>;
196
332
  /**
197
- * Commits the swap on-chain, locking the tokens from the intermediary in a PTLC
333
+ * @inheritDoc
198
334
  *
199
- * @param _signer Signer to sign the transactions with, must be the same as used in the initialization
200
- * @param abortSignal Abort signal to stop waiting for the transaction confirmation and abort
201
- * @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
202
- * (this is handled when swap is created (quoted), if you commit right after quoting, you can use skipChecks=true)
203
- * @param onBeforeTxSent
204
335
  * @throws {Error} If invalid signer is provided that doesn't match the swap data
205
336
  */
206
337
  commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
338
+ /**
339
+ * @inheritDoc
340
+ */
207
341
  waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
208
342
  /**
209
- * Returns transactions required to claim the swap on-chain (and possibly also sync the bitcoin light client)
210
- * after a bitcoin transaction was sent and confirmed
343
+ * Might also return transactions necessary to sync the bitcoin light client.
344
+ *
345
+ * @inheritDoc
211
346
  *
212
- * @throws {Error} If the swap is in invalid state (must be BTC_TX_CONFIRMED)
347
+ * @throws {Error} If the swap is in invalid state (must be {@link FromBTCSwapState.BTC_TX_CONFIRMED})
213
348
  */
214
349
  txsClaim(_signer?: string | T["Signer"] | T["NativeSigner"]): Promise<T["TX"][]>;
215
350
  /**
216
- * Claims and finishes the swap
351
+ * Might also sync the bitcoin light client. Signer can also be different to the initializer.
217
352
  *
218
- * @param _signer Signer to sign the transactions with, can also be different to the initializer
219
- * @param abortSignal Abort signal to stop waiting for transaction confirmation
220
- * @param onBeforeTxSent
353
+ * @inheritDoc
221
354
  */
222
355
  claim(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, onBeforeTxSent?: (txId: string) => void): Promise<string>;
223
356
  /**
224
- * Waits till the swap is successfully claimed
357
+ * @inheritDoc
225
358
  *
226
- * @param maxWaitTimeSeconds Maximum time in seconds to wait for the swap to be settled
227
- * @param abortSignal AbortSignal
228
- * @throws {Error} If swap is in invalid state (must be BTC_TX_CONFIRMED)
359
+ * @throws {Error} If swap is in invalid state (must be {@link FromBTCSwapState.BTC_TX_CONFIRMED})
229
360
  * @throws {Error} If the LP refunded sooner than we were able to claim
361
+ *
230
362
  * @returns {boolean} whether the swap was claimed in time or not
231
363
  */
232
364
  waitTillClaimed(maxWaitTimeSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
365
+ /**
366
+ * @inheritDoc
367
+ */
233
368
  serialize(): any;
234
369
  /**
235
370
  * Checks the swap's state on-chain and compares it to its internal state, updates/changes it according to on-chain
@@ -238,8 +373,29 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
238
373
  * @private
239
374
  */
240
375
  private syncStateFromChain;
241
- _shouldFetchCommitStatus(): boolean;
376
+ /**
377
+ * @inheritDoc
378
+ * @internal
379
+ */
380
+ _shouldFetchOnchainState(): boolean;
381
+ /**
382
+ * @inheritDoc
383
+ * @internal
384
+ */
242
385
  _shouldFetchExpiryStatus(): boolean;
386
+ /**
387
+ * @inheritDoc
388
+ * @internal
389
+ */
243
390
  _sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
391
+ /**
392
+ * @inheritDoc
393
+ * @internal
394
+ */
395
+ _forciblySetOnchainState(status: SwapCommitState): Promise<boolean>;
396
+ /**
397
+ * @inheritDoc
398
+ * @internal
399
+ */
244
400
  _tick(save?: boolean): Promise<boolean>;
245
401
  }