@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
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SwapPriceWithChain = void 0;
4
4
  /**
5
5
  * Chain-specific wrapper for swap pricing
6
- * @category Pricing and LPs
6
+ *
7
+ * @category Pricing
7
8
  */
8
9
  class SwapPriceWithChain {
9
10
  constructor(swapPrice, chainIdentifier) {
@@ -18,12 +19,12 @@ class SwapPriceWithChain {
18
19
  * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
19
20
  * @param feePPM PPM fee rate as reported by the intermediary
20
21
  * @param paidToken Amount of token to be paid to the swap
21
- * @param token
22
- * @param abortSignal
23
- * @param preFetchedPrice Already pre-fetched price
22
+ * @param tokenAddress Token address to be paid
23
+ * @param abortSignal Abort signal
24
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
24
25
  */
25
- async isValidAmountSend(amountSats, satsBaseFee, feePPM, paidToken, token, abortSignal, preFetchedPrice) {
26
- return this.swapPrice.isValidAmountSend(this.chainIdentifier, amountSats, satsBaseFee, feePPM, paidToken, token, abortSignal, preFetchedPrice);
26
+ async isValidAmountSend(amountSats, satsBaseFee, feePPM, paidToken, tokenAddress, abortSignal, preFetchedPrice) {
27
+ return this.swapPrice.isValidAmountSend(this.chainIdentifier, amountSats, satsBaseFee, feePPM, paidToken, tokenAddress, abortSignal, preFetchedPrice);
27
28
  }
28
29
  /**
29
30
  * Checks whether the swap amounts are valid given the current market rate for a given pair
@@ -32,38 +33,51 @@ class SwapPriceWithChain {
32
33
  * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
33
34
  * @param feePPM PPM fee rate as reported by the intermediary
34
35
  * @param receiveToken Amount of token to be received from the swap
35
- * @param token
36
- * @param abortSignal
37
- * @param preFetchedPrice Already pre-fetched price
36
+ * @param tokenAddress Token address to be received
37
+ * @param abortSignal Abort signal
38
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
38
39
  */
39
- async isValidAmountReceive(amountSats, satsBaseFee, feePPM, receiveToken, token, abortSignal, preFetchedPrice) {
40
- return this.swapPrice.isValidAmountReceive(this.chainIdentifier, amountSats, satsBaseFee, feePPM, receiveToken, token, abortSignal, preFetchedPrice);
40
+ async isValidAmountReceive(amountSats, satsBaseFee, feePPM, receiveToken, tokenAddress, abortSignal, preFetchedPrice) {
41
+ return this.swapPrice.isValidAmountReceive(this.chainIdentifier, amountSats, satsBaseFee, feePPM, receiveToken, tokenAddress, abortSignal, preFetchedPrice);
41
42
  }
42
- preFetchPrice(token, abortSignal) {
43
- return this.swapPrice.preFetchPrice(this.chainIdentifier, token, abortSignal);
43
+ /**
44
+ * Pre-fetches the pricing data for a given token, such that further calls to {@link isValidAmountReceive} or
45
+ * {@link isValidAmountSend} are quicker and don't need to wait for the price fetch
46
+ *
47
+ * @param tokenAddress Token address
48
+ * @param abortSignal Abort signal
49
+ */
50
+ preFetchPrice(tokenAddress, abortSignal) {
51
+ return this.swapPrice.preFetchPrice(this.chainIdentifier, tokenAddress, abortSignal);
44
52
  }
53
+ /**
54
+ * Pre-fetches the Bitcoin USD price data, such that further calls to {@link getBtcUsdValue},
55
+ * {@link getTokenUsdValue} or {@link getUsdValue} are quicker and don't need to wait for the price fetch
56
+ *
57
+ * @param abortSignal
58
+ */
45
59
  preFetchUsdPrice(abortSignal) {
46
60
  return this.swapPrice.preFetchUsdPrice(abortSignal);
47
61
  }
48
62
  /**
49
- * Returns amount of {toToken} that are equivalent to {fromAmount} satoshis
63
+ * Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
50
64
  *
51
- * @param fromAmount Amount of satoshis
52
- * @param toToken Token
65
+ * @param fromAmount Amount of satoshis
66
+ * @param toToken Token address
53
67
  * @param abortSignal
54
- * @param preFetchedPrice
68
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
55
69
  * @throws {Error} when token is not found
56
70
  */
57
71
  async getFromBtcSwapAmount(fromAmount, toToken, abortSignal, preFetchedPrice) {
58
72
  return this.swapPrice.getFromBtcSwapAmount(this.chainIdentifier, fromAmount, toToken, abortSignal, preFetchedPrice);
59
73
  }
60
74
  /**
61
- * Returns amount of satoshis that are equivalent to {fromAmount} of {fromToken}
75
+ * Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
62
76
  *
63
77
  * @param fromAmount Amount of the token
64
- * @param fromToken Token
78
+ * @param fromToken Token address
65
79
  * @param abortSignal
66
- * @param preFetchedPrice Pre-fetched swap price if available
80
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
67
81
  * @throws {Error} when token is not found
68
82
  */
69
83
  async getToBtcSwapAmount(fromAmount, fromToken, abortSignal, preFetchedPrice) {
@@ -72,18 +86,41 @@ class SwapPriceWithChain {
72
86
  /**
73
87
  * Returns whether the token should be ignored and pricing for it not calculated
74
88
  *
75
- * @param tokenAddress
89
+ * @param tokenAddress Token address
76
90
  * @throws {Error} if token is not found
77
91
  */
78
92
  shouldIgnore(tokenAddress) {
79
93
  return this.swapPrice.shouldIgnore(this.chainIdentifier, tokenAddress);
80
94
  }
81
- async getBtcUsdValue(btcSats, abortSignal, preFetchedPrice) {
82
- return this.swapPrice.getBtcUsdValue(btcSats, abortSignal, preFetchedPrice);
95
+ /**
96
+ * Returns the USD value of the bitcoin amount
97
+ *
98
+ * @param btcSats Bitcoin amount in satoshis
99
+ * @param abortSignal
100
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
101
+ */
102
+ async getBtcUsdValue(btcSats, abortSignal, preFetchedUsdPrice) {
103
+ return this.swapPrice.getBtcUsdValue(btcSats, abortSignal, preFetchedUsdPrice);
83
104
  }
84
- async getTokenUsdValue(tokenAmount, token, abortSignal, preFetchedPrice) {
85
- return this.swapPrice.getTokenUsdValue(this.chainIdentifier, tokenAmount, token, abortSignal, preFetchedPrice);
105
+ /**
106
+ * Returns the USD value of the smart chain token amount
107
+ *
108
+ * @param tokenAmount Amount of the token in base units
109
+ * @param tokenAddress Token address
110
+ * @param abortSignal
111
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
112
+ */
113
+ async getTokenUsdValue(tokenAmount, tokenAddress, abortSignal, preFetchedUsdPrice) {
114
+ return this.swapPrice.getTokenUsdValue(this.chainIdentifier, tokenAmount, tokenAddress, abortSignal, preFetchedUsdPrice);
86
115
  }
116
+ /**
117
+ * Returns the USD value of the token amount
118
+ *
119
+ * @param amount Amount in base units of the token
120
+ * @param token Token to fetch the usd price for
121
+ * @param abortSignal
122
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
123
+ */
87
124
  getUsdValue(amount, token, abortSignal, preFetchedUsdPrice) {
88
125
  return this.swapPrice.getUsdValue(amount, token, abortSignal, preFetchedUsdPrice);
89
126
  }
@@ -1,7 +1,7 @@
1
1
  import { ChainIds, MultiChain } from "../../swapper/Swapper";
2
2
  /**
3
3
  * Coin type definition for price providers
4
- * @category Pricing and LPs
4
+ * @category Pricing
5
5
  */
6
6
  export type CoinType = {
7
7
  coinId: string;
@@ -9,7 +9,7 @@ export type CoinType = {
9
9
  };
10
10
  /**
11
11
  * Constructor coin types for price providers
12
- * @category Pricing and LPs
12
+ * @category Pricing
13
13
  */
14
14
  export type CtorCoinTypes<T extends MultiChain> = {
15
15
  coinId?: string;
@@ -22,7 +22,7 @@ export type CtorCoinTypes<T extends MultiChain> = {
22
22
  }[];
23
23
  /**
24
24
  * Coin types mapping by chain
25
- * @category Pricing and LPs
25
+ * @category Pricing
26
26
  */
27
27
  export type CoinTypes<T extends MultiChain> = {
28
28
  [chainId in keyof T]?: {
@@ -31,7 +31,7 @@ export type CoinTypes<T extends MultiChain> = {
31
31
  };
32
32
  /**
33
33
  * Abstract base class for price provider implementations
34
- * @category Pricing and LPs
34
+ * @category Pricing
35
35
  */
36
36
  export declare abstract class IPriceProvider<T extends MultiChain> {
37
37
  coinsMap: CoinTypes<T>;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IPriceProvider = void 0;
4
4
  /**
5
5
  * Abstract base class for price provider implementations
6
- * @category Pricing and LPs
6
+ * @category Pricing
7
7
  */
8
8
  class IPriceProvider {
9
9
  constructor(coins) {
@@ -3,115 +3,164 @@ import { Token } from "../../types/Token";
3
3
  import { PriceInfoType } from "../../types/PriceInfoType";
4
4
  /**
5
5
  * Abstract base class for swap pricing implementations
6
- * @category Pricing and LPs
6
+ *
7
+ * @category Pricing
7
8
  */
8
9
  export declare abstract class ISwapPrice<T extends MultiChain = MultiChain> {
9
10
  maxAllowedFeeDifferencePPM: bigint;
10
11
  protected constructor(maxAllowedFeeDifferencePPM: bigint);
11
12
  /**
12
- * Gets the decimal places for a given token, returns -1 if token should be ignored & null if token is not found
13
- * @param chainIdentifier
14
- * @param token
13
+ * Gets the decimal places for a given token, returns `-1` if token should be ignored & `null` if token is not found
14
+ *
15
+ * @param chainIdentifier Chain identifier of the smart chain
16
+ * @param tokenAddress Token address
15
17
  * @protected
16
18
  */
17
- protected abstract getDecimals<C extends ChainIds<T>>(chainIdentifier: C, token: string): number | null;
19
+ protected abstract getDecimals<C extends ChainIds<T>>(chainIdentifier: C, tokenAddress: string): number | null;
18
20
  /**
19
21
  * Returns the price of the token in BTC uSats (microSats)
20
22
  *
21
- * @param chainIdentifier
22
- * @param token
23
+ * @param chainIdentifier Chain identifier of the smart chain
24
+ * @param tokenAddress Token address
23
25
  * @param abortSignal
24
26
  * @protected
25
27
  */
26
- protected abstract getPrice<C extends ChainIds<T>>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise<bigint>;
28
+ protected abstract getPrice<C extends ChainIds<T>>(chainIdentifier: C, tokenAddress: string, abortSignal?: AbortSignal): Promise<bigint>;
27
29
  /**
28
- * Returns the price of bitcoin in USD, (sats/USD)
30
+ * Returns the price of bitcoin in USD (sats/USD)
29
31
  *
30
32
  * @param abortSignal
31
33
  * @protected
32
34
  */
33
35
  protected abstract getUsdPrice(abortSignal?: AbortSignal): Promise<number>;
34
- protected getDecimalsThrowing<C extends ChainIds<T>>(chainIdentifier: C, token: string): number;
36
+ /**
37
+ * Gets the decimal places for a given token, returns `-1` if token should be ignored & throws if token is not found
38
+ *
39
+ * @param chainIdentifier Chain identifier of the smart chain
40
+ * @param tokenAddress Token address
41
+ * @throws {Error} When token is not known
42
+ * @protected
43
+ */
44
+ protected getDecimalsThrowing<C extends ChainIds<T>>(chainIdentifier: C, tokenAddress: string): number;
35
45
  /**
36
46
  * Recomputes pricing info without fetching the current price
37
47
  *
38
- * @param chainIdentifier
39
- * @param amountSats
40
- * @param satsBaseFee
41
- * @param feePPM
42
- * @param paidToken
43
- * @param token
48
+ * @param chainIdentifier Chain identifier of the smart chain
49
+ * @param amountSats Amount of sats (BTC) to be received from the swap
50
+ * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
51
+ * @param feePPM PPM fee rate as reported by the intermediary
52
+ * @param paidToken Amount of token to be paid to the swap
53
+ * @param tokenAddress Token address to be paid
44
54
  */
45
- recomputePriceInfoSend<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, token: string): PriceInfoType;
55
+ recomputePriceInfoSend<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, tokenAddress: string): PriceInfoType;
46
56
  /**
47
57
  * Checks whether the swap amounts are valid given the current market rate for a given pair
48
58
  *
49
- * @param chainIdentifier
59
+ * @param chainIdentifier Chain identifier of the smart chain
50
60
  * @param amountSats Amount of sats (BTC) to be received from the swap
51
61
  * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
52
62
  * @param feePPM PPM fee rate as reported by the intermediary
53
63
  * @param paidToken Amount of token to be paid to the swap
54
- * @param token
64
+ * @param tokenAddress Token address to be paid
55
65
  * @param abortSignal
56
- * @param preFetchedPrice Already pre-fetched price
66
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
57
67
  */
58
- isValidAmountSend<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, token: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint | null): Promise<PriceInfoType>;
68
+ isValidAmountSend<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint | null): Promise<PriceInfoType>;
59
69
  /**
60
70
  * Recomputes pricing info without fetching the current price
61
71
  *
62
- * @param chainIdentifier
63
- * @param amountSats
64
- * @param satsBaseFee
65
- * @param feePPM
66
- * @param receiveToken
67
- * @param token
72
+ * @param chainIdentifier Chain identifier of the smart chain
73
+ * @param amountSats Amount of sats (BTC) to be paid to the swap
74
+ * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
75
+ * @param feePPM PPM fee rate as reported by the intermediary
76
+ * @param receiveToken Amount of token to be received from the swap
77
+ * @param tokenAddress Token address to be received
68
78
  */
69
- recomputePriceInfoReceive<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, receiveToken: bigint, token: string): PriceInfoType;
79
+ recomputePriceInfoReceive<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, receiveToken: bigint, tokenAddress: string): PriceInfoType;
70
80
  /**
71
81
  * Checks whether the swap amounts are valid given the current market rate for a given pair
72
82
  *
73
- * @param chainIdentifier
83
+ * @param chainIdentifier Chain identifier of the smart chain
74
84
  * @param amountSats Amount of sats (BTC) to be paid to the swap
75
85
  * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
76
86
  * @param feePPM PPM fee rate as reported by the intermediary
77
87
  * @param receiveToken Amount of token to be received from the swap
78
- * @param token
88
+ * @param tokenAddress Token address to be received
89
+ * @param abortSignal
90
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
91
+ */
92
+ isValidAmountReceive<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, receiveToken: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint | null): Promise<PriceInfoType>;
93
+ /**
94
+ * Pre-fetches the pricing data for a given token, such that further calls to {@link isValidAmountReceive} or
95
+ * {@link isValidAmountSend} are quicker and don't need to wait for the price fetch
96
+ *
97
+ * @param chainIdentifier Chain identifier of the smart chain
98
+ * @param tokenAddress Token address
99
+ * @param abortSignal
100
+ */
101
+ preFetchPrice<C extends ChainIds<T>>(chainIdentifier: C, tokenAddress: string, abortSignal?: AbortSignal): Promise<bigint>;
102
+ /**
103
+ * Pre-fetches the Bitcoin USD price data, such that further calls to {@link getBtcUsdValue},
104
+ * {@link getTokenUsdValue} or {@link getUsdValue} are quicker and don't need to wait for the price fetch
105
+ *
79
106
  * @param abortSignal
80
- * @param preFetchedPrice Already pre-fetched price
81
107
  */
82
- isValidAmountReceive<C extends ChainIds<T>>(chainIdentifier: C, amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, receiveToken: bigint, token: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint | null): Promise<PriceInfoType>;
83
- preFetchPrice<C extends ChainIds<T>>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise<bigint>;
84
108
  preFetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
85
109
  /**
86
- * Returns amount of {toToken} that are equivalent to {fromAmount} satoshis
110
+ * Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
87
111
  *
88
- * @param chainIdentifier
89
- * @param fromAmount Amount of satoshis
90
- * @param toToken Token
112
+ * @param chainIdentifier Chain identifier string for the smart chain
113
+ * @param fromAmount Amount of satoshis
114
+ * @param toToken Token address
91
115
  * @param abortSignal
92
- * @param preFetchedPrice
116
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
93
117
  * @throws {Error} when token is not found
94
118
  */
95
119
  getFromBtcSwapAmount<C extends ChainIds<T>>(chainIdentifier: C, fromAmount: bigint, toToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint | null): Promise<bigint>;
96
120
  /**
97
- * Returns amount of satoshis that are equivalent to {fromAmount} of {fromToken}
121
+ * Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
98
122
  *
99
- * @param chainIdentifier
123
+ * @param chainIdentifier Chain identifier string for the smart chain
100
124
  * @param fromAmount Amount of the token
101
- * @param fromToken Token
125
+ * @param fromToken Token address
102
126
  * @param abortSignal
103
- * @param preFetchedPrice Pre-fetched swap price if available
127
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
104
128
  * @throws {Error} when token is not found
105
129
  */
106
130
  getToBtcSwapAmount<C extends ChainIds<T>>(chainIdentifier: C, fromAmount: bigint, fromToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
107
131
  /**
108
132
  * Returns whether the token should be ignored and pricing for it not calculated
109
- * @param chainIdentifier
110
- * @param tokenAddress
133
+ *
134
+ * @param chainIdentifier Chain identifier string for the smart chain
135
+ * @param tokenAddress Token address
111
136
  * @throws {Error} if token is not found
112
137
  */
113
138
  shouldIgnore<C extends ChainIds<T>>(chainIdentifier: C, tokenAddress: string): boolean;
114
- getBtcUsdValue(btcSats: bigint, abortSignal?: AbortSignal, preFetchedPrice?: number): Promise<number>;
115
- getTokenUsdValue<C extends ChainIds<T>>(chainId: C, tokenAmount: bigint, token: string, abortSignal?: AbortSignal, preFetchedPrice?: number): Promise<number>;
139
+ /**
140
+ * Returns the USD value of the bitcoin amount
141
+ *
142
+ * @param btcSats Bitcoin amount in satoshis
143
+ * @param abortSignal
144
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
145
+ */
146
+ getBtcUsdValue(btcSats: bigint, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
147
+ /**
148
+ * Returns the USD value of the smart chain token amount
149
+ *
150
+ * @param chainIdentifier Chain identifier string for the smart chain
151
+ * @param tokenAmount Amount of the token in base units
152
+ * @param tokenAddress Token address
153
+ * @param abortSignal
154
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
155
+ */
156
+ getTokenUsdValue<C extends ChainIds<T>>(chainIdentifier: C, tokenAmount: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
157
+ /**
158
+ * Returns the USD value of the token amount
159
+ *
160
+ * @param amount Amount in base units of the token
161
+ * @param token Token to fetch the usd price for
162
+ * @param abortSignal
163
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
164
+ */
116
165
  getUsdValue<C extends ChainIds<T>>(amount: bigint, token: Token<C>, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
117
166
  }