@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
@@ -11,7 +11,8 @@ const Logger_1 = require("../utils/Logger");
11
11
  const HttpUtils_1 = require("../http/HttpUtils");
12
12
  const RetryUtils_1 = require("../utils/RetryUtils");
13
13
  /**
14
- * Swap handler type enum for intermediary communication
14
+ * Swap handler type mapping for intermediary communication
15
+ *
15
16
  * @category Pricing and LPs
16
17
  */
17
18
  var SwapHandlerType;
@@ -27,7 +28,7 @@ var SwapHandlerType;
27
28
  })(SwapHandlerType = exports.SwapHandlerType || (exports.SwapHandlerType = {}));
28
29
  /**
29
30
  * Converts SwapHandlerType (represented as string & used in REST API communication with intermediaries) to regular
30
- * SwapType
31
+ * {@link SwapType}
31
32
  *
32
33
  * @param swapHandlerType
33
34
  */
@@ -52,7 +53,7 @@ function swapHandlerTypeToSwapType(swapHandlerType) {
52
53
  }
53
54
  }
54
55
  /**
55
- * A default intermediary comparator, only takes to announced fee into consideration
56
+ * A default intermediary comparator, only takes the announced fee into consideration
56
57
  *
57
58
  * @param swapType
58
59
  * @param tokenAddress
@@ -86,12 +87,16 @@ const REGISTRY_URL = "https://api.github.com/repos/adambor/SolLightning-registry
86
87
  //To allow for legacy responses from not-yet updated LPs
87
88
  const DEFAULT_CHAIN = "SOLANA";
88
89
  /**
89
- * Discovery service for available liquidity providers/intermediaries
90
+ * Discovery service for available intermediaries (liquidity providers)
91
+ *
90
92
  * @category Pricing and LPs
91
93
  */
92
94
  class IntermediaryDiscovery extends events_1.EventEmitter {
93
95
  constructor(swapContracts, registryUrl = REGISTRY_URL, nodeUrls, httpRequestTimeout, maxWaitForOthersTimeout) {
94
96
  super();
97
+ /**
98
+ * A current list of active intermediaries
99
+ */
95
100
  this.intermediaries = [];
96
101
  this.swapContracts = swapContracts;
97
102
  this.registryUrl = registryUrl;
@@ -189,9 +194,13 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
189
194
  }
190
195
  }
191
196
  /**
192
- * Returns the intermediary at the provided URL, either from the already fetched list of LPs or fetches the data on-demand
197
+ * Returns the intermediary at the provided URL, either from the already fetched list of LPs
198
+ * or fetches the data on-demand, by sending the handshake HTTP request (/info) to the LP.
193
199
  *
194
- * @param url
200
+ * Doesn't save the fetched intermediary to the list of intermediaries if it isn't already
201
+ * part of the known intermediaries
202
+ *
203
+ * @param url Base URL of the intermediary, which accepts HTTP requests
195
204
  * @param abortSignal
196
205
  */
197
206
  getIntermediary(url, abortSignal) {
@@ -202,6 +211,7 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
202
211
  }
203
212
  /**
204
213
  * Reloads the saves a list of intermediaries
214
+ *
205
215
  * @param abortSignal
206
216
  */
207
217
  async reloadIntermediaries(abortSignal) {
@@ -236,6 +246,9 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
236
246
  logger.info("init(): Initializing with registryUrl: " + this.registryUrl + " intermediary array: " + (this.overrideNodeUrls || []).join());
237
247
  return this.reloadIntermediaries(abortSignal);
238
248
  }
249
+ /**
250
+ * Returns known swap bounds (in satoshis - BTC) by aggregating values from all known intermediaries
251
+ */
239
252
  getMultichainSwapBounds() {
240
253
  const bounds = {};
241
254
  this.intermediaries.forEach(intermediary => {
@@ -265,7 +278,7 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
265
278
  return bounds;
266
279
  }
267
280
  /**
268
- * Returns aggregate swap bounds (in sats - BTC) as indicated by the intermediaries
281
+ * Returns aggregate swap bounds (in satoshis - BTC) as indicated by the intermediaries
269
282
  */
270
283
  getSwapBounds(chainIdentifier) {
271
284
  const bounds = {};
@@ -294,15 +307,15 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
294
307
  return bounds;
295
308
  }
296
309
  /**
297
- * Returns the aggregate swap minimum (in sats - BTC) for a specific swap type & token
310
+ * Returns the aggregate swap minimum (in satoshis - BTC) for a specific swap type & token
298
311
  * as indicated by the intermediaries
299
312
  *
300
- * @param chainIdentifier
301
- * @param swapType
302
- * @param token
313
+ * @param chainIdentifier Chain identifier of the smart chain
314
+ * @param swapType Swap protocol type
315
+ * @param tokenAddress Token address
303
316
  */
304
- getSwapMinimum(chainIdentifier, swapType, token) {
305
- const tokenStr = token.toString();
317
+ getSwapMinimum(chainIdentifier, swapType, tokenAddress) {
318
+ const tokenStr = tokenAddress.toString();
306
319
  return this.intermediaries.reduce((prevMin, intermediary) => {
307
320
  const swapService = intermediary.services[swapType];
308
321
  if (swapService == null)
@@ -316,15 +329,15 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
316
329
  }, null);
317
330
  }
318
331
  /**
319
- * Returns the aggregate swap maximum (in sats - BTC) for a specific swap type & token
332
+ * Returns the aggregate swap maximum (in satoshis - BTC) for a specific swap type & token
320
333
  * as indicated by the intermediaries
321
334
  *
322
- * @param chainIdentifier
323
- * @param swapType
324
- * @param token
335
+ * @param chainIdentifier Chain identifier of the smart chain
336
+ * @param swapType Swap protocol type
337
+ * @param tokenAddress Token address
325
338
  */
326
- getSwapMaximum(chainIdentifier, swapType, token) {
327
- const tokenStr = token.toString();
339
+ getSwapMaximum(chainIdentifier, swapType, tokenAddress) {
340
+ const tokenStr = tokenAddress.toString();
328
341
  return this.intermediaries.reduce((prevMax, intermediary) => {
329
342
  const swapService = intermediary.services[swapType];
330
343
  if (swapService == null)
@@ -340,9 +353,9 @@ class IntermediaryDiscovery extends events_1.EventEmitter {
340
353
  /**
341
354
  * Returns swap candidates for a specific swap type & token address
342
355
  *
343
- * @param chainIdentifier
344
- * @param swapType
345
- * @param tokenAddress
356
+ * @param chainIdentifier Chain identifier of the smart chain
357
+ * @param swapType Swap protocol type
358
+ * @param tokenAddress Token address
346
359
  * @param amount Amount to be swapped in sats - BTC
347
360
  * @param count How many intermediaries to return at most
348
361
  */
@@ -3,6 +3,7 @@ import { ICachedSwapPrice } from "./abstract/ICachedSwapPrice";
3
3
  import { ChainIds, MultiChain } from "../swapper/Swapper";
4
4
  /**
5
5
  * Asset configuration for redundant swap pricing
6
+ *
6
7
  * @category Pricing and LPs
7
8
  */
8
9
  export type RedundantSwapPriceAssets<T extends MultiChain> = {
@@ -34,12 +35,22 @@ type CoinDecimals<T extends MultiChain> = {
34
35
  /**
35
36
  * Swap price API using multiple price sources, handles errors on the APIs and automatically switches between them, such
36
37
  * that there always is a functional API
38
+ *
37
39
  * @category Pricing and LPs
38
40
  */
39
41
  export declare class RedundantSwapPrice<T extends MultiChain> extends ICachedSwapPrice<T> {
42
+ /**
43
+ * Creates a new {@link RedundantSwapPrice} instance from an asset list and other data, using all
44
+ * the available price providers: {@link BinancePriceProvider}, {@link OKXPriceProvider},
45
+ * {@link CoinGeckoPriceProvider}, {@link CoinPaprikaPriceProvider}, {@link KrakenPriceProvider}
46
+ *
47
+ * @param maxAllowedFeeDiffPPM Maximum allowed price difference between returned swap prices & market prices
48
+ * @param assets Specifications of the assets
49
+ * @param cacheTimeout Timeout of the internal cache holding prices
50
+ */
40
51
  static createFromTokenMap<T extends MultiChain>(maxAllowedFeeDiffPPM: bigint, assets: RedundantSwapPriceAssets<T>, cacheTimeout?: number): RedundantSwapPrice<T>;
41
- coinsDecimals: CoinDecimals<T>;
42
- priceApis: {
52
+ protected coinsDecimals: CoinDecimals<T>;
53
+ protected priceApis: {
43
54
  priceApi: IPriceProvider<T>;
44
55
  operational?: boolean;
45
56
  }[];
@@ -73,9 +84,12 @@ export declare class RedundantSwapPrice<T extends MultiChain> extends ICachedSwa
73
84
  * @param chainIdentifier
74
85
  * @param token
75
86
  * @param abortSignal
76
- * @private
87
+ * @protected
77
88
  */
78
89
  protected fetchPrice<C extends ChainIds<T>>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise<bigint>;
90
+ /**
91
+ * @inheritDoc
92
+ */
79
93
  protected getDecimals<C extends ChainIds<T>>(chainIdentifier: C, token: string): number | null;
80
94
  /**
81
95
  * Fetches BTC price in USD in parallel from multiple maybe operational price APIs
@@ -84,6 +98,13 @@ export declare class RedundantSwapPrice<T extends MultiChain> extends ICachedSwa
84
98
  * @private
85
99
  */
86
100
  private fetchUsdPriceFromMaybeOperationalPriceApis;
101
+ /**
102
+ * Fetches the USD prices, first tries to use the operational price API (if any) and if that fails it falls back
103
+ * to using maybe operational price APIs
104
+ *
105
+ * @param abortSignal
106
+ * @protected
107
+ */
87
108
  protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
88
109
  }
89
110
  export {};
@@ -15,9 +15,19 @@ const logger = (0, Logger_1.getLogger)("RedundantSwapPrice: ");
15
15
  /**
16
16
  * Swap price API using multiple price sources, handles errors on the APIs and automatically switches between them, such
17
17
  * that there always is a functional API
18
+ *
18
19
  * @category Pricing and LPs
19
20
  */
20
21
  class RedundantSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
22
+ /**
23
+ * Creates a new {@link RedundantSwapPrice} instance from an asset list and other data, using all
24
+ * the available price providers: {@link BinancePriceProvider}, {@link OKXPriceProvider},
25
+ * {@link CoinGeckoPriceProvider}, {@link CoinPaprikaPriceProvider}, {@link KrakenPriceProvider}
26
+ *
27
+ * @param maxAllowedFeeDiffPPM Maximum allowed price difference between returned swap prices & market prices
28
+ * @param assets Specifications of the assets
29
+ * @param cacheTimeout Timeout of the internal cache holding prices
30
+ */
21
31
  static createFromTokenMap(maxAllowedFeeDiffPPM, assets, cacheTimeout) {
22
32
  const priceApis = [
23
33
  new BinancePriceProvider_1.BinancePriceProvider(assets.map(coinData => {
@@ -130,7 +140,7 @@ class RedundantSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
130
140
  * @param chainIdentifier
131
141
  * @param token
132
142
  * @param abortSignal
133
- * @private
143
+ * @protected
134
144
  */
135
145
  fetchPrice(chainIdentifier, token, abortSignal) {
136
146
  return (0, RetryUtils_1.tryWithRetries)(async () => {
@@ -149,6 +159,9 @@ class RedundantSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
149
159
  return await this.fetchPriceFromMaybeOperationalPriceApis(chainIdentifier, token, abortSignal);
150
160
  }, undefined, RequestError_1.RequestError, abortSignal);
151
161
  }
162
+ /**
163
+ * @inheritDoc
164
+ */
152
165
  getDecimals(chainIdentifier, token) {
153
166
  if (this.coinsDecimals[chainIdentifier] == null)
154
167
  return null;
@@ -184,6 +197,13 @@ class RedundantSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
184
197
  throw e.find(err => !(err instanceof RequestError_1.RequestError)) || e[0];
185
198
  }
186
199
  }
200
+ /**
201
+ * Fetches the USD prices, first tries to use the operational price API (if any) and if that fails it falls back
202
+ * to using maybe operational price APIs
203
+ *
204
+ * @param abortSignal
205
+ * @protected
206
+ */
187
207
  fetchUsdPrice(abortSignal) {
188
208
  return (0, RetryUtils_1.tryWithRetries)(() => {
189
209
  const operationalPriceApi = this.getOperationalPriceApi();
@@ -2,7 +2,8 @@ import { IPriceProvider } from "./abstract/IPriceProvider";
2
2
  import { ICachedSwapPrice } from "./abstract/ICachedSwapPrice";
3
3
  import { ChainIds, MultiChain } from "../swapper/Swapper";
4
4
  /**
5
- * Swap price API using single price source
5
+ * Swap price API using a single price source
6
+ *
6
7
  * @category Pricing and LPs
7
8
  */
8
9
  export declare class SingleSwapPrice<T extends MultiChain> extends ICachedSwapPrice<T> {
@@ -19,13 +20,15 @@ export declare class SingleSwapPrice<T extends MultiChain> extends ICachedSwapPr
19
20
  */
20
21
  protected fetchPrice<C extends ChainIds<T>>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise<bigint>;
21
22
  /**
22
- * Returns the decimal places of the specified token, or -1 if token should be ignored, returns null if
23
- * token is not found
23
+ * @inheritDoc
24
+ */
25
+ protected getDecimals<C extends ChainIds<T>>(chainIdentifier: C, token: string): number | null;
26
+ /**
27
+ * Fetches BTC price in USD
24
28
  *
25
- * @param chainIdentifier
26
- * @param token
29
+ * @param abortSignal
27
30
  * @protected
31
+ * @returns token price in uSats (micro sats)
28
32
  */
29
- protected getDecimals<C extends ChainIds<T>>(chainIdentifier: C, token: string): number | null;
30
33
  protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
31
34
  }
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SingleSwapPrice = void 0;
4
4
  const ICachedSwapPrice_1 = require("./abstract/ICachedSwapPrice");
5
5
  /**
6
- * Swap price API using single price source
6
+ * Swap price API using a single price source
7
+ *
7
8
  * @category Pricing and LPs
8
9
  */
9
10
  class SingleSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
@@ -24,16 +25,18 @@ class SingleSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
24
25
  return this.priceProvider.getPrice(chainIdentifier, token, abortSignal);
25
26
  }
26
27
  /**
27
- * Returns the decimal places of the specified token, or -1 if token should be ignored, returns null if
28
- * token is not found
29
- *
30
- * @param chainIdentifier
31
- * @param token
32
- * @protected
28
+ * @inheritDoc
33
29
  */
34
30
  getDecimals(chainIdentifier, token) {
35
31
  return this.priceProvider.getDecimals(chainIdentifier, token.toString());
36
32
  }
33
+ /**
34
+ * Fetches BTC price in USD
35
+ *
36
+ * @param abortSignal
37
+ * @protected
38
+ * @returns token price in uSats (micro sats)
39
+ */
37
40
  fetchUsdPrice(abortSignal) {
38
41
  return this.priceProvider.getUsdPrice(abortSignal);
39
42
  }
@@ -4,6 +4,7 @@ import { Token } from "../types/Token";
4
4
  import { PriceInfoType } from "../types/PriceInfoType";
5
5
  /**
6
6
  * Chain-specific wrapper for swap pricing
7
+ *
7
8
  * @category Pricing and LPs
8
9
  */
9
10
  export declare class SwapPriceWithChain<T extends MultiChain, ChainIdentifier extends ChainIds<T>> {
@@ -18,11 +19,11 @@ export declare class SwapPriceWithChain<T extends MultiChain, ChainIdentifier ex
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 tokenAddress Token address to be paid
22
23
  * @param abortSignal
23
- * @param preFetchedPrice Already pre-fetched price
24
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
24
25
  */
25
- isValidAmountSend(amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, token: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<PriceInfoType>;
26
+ isValidAmountSend(amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<PriceInfoType>;
26
27
  /**
27
28
  * Checks whether the swap amounts are valid given the current market rate for a given pair
28
29
  *
@@ -30,41 +31,78 @@ export declare class SwapPriceWithChain<T extends MultiChain, ChainIdentifier ex
30
31
  * @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
31
32
  * @param feePPM PPM fee rate as reported by the intermediary
32
33
  * @param receiveToken Amount of token to be received from the swap
33
- * @param token
34
+ * @param tokenAddress Token address to be received
35
+ * @param abortSignal
36
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
37
+ */
38
+ isValidAmountReceive(amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, receiveToken: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<PriceInfoType>;
39
+ /**
40
+ * Pre-fetches the pricing data for a given token, such that further calls to {@link isValidAmountReceive} or
41
+ * {@link isValidAmountSend} are quicker and don't need to wait for the price fetch
42
+ *
43
+ * @param chainIdentifier Chain identifier of the smart chain
44
+ * @param tokenAddress Token address
34
45
  * @param abortSignal
35
- * @param preFetchedPrice Already pre-fetched price
36
46
  */
37
- isValidAmountReceive(amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, receiveToken: bigint, token: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<PriceInfoType>;
38
47
  preFetchPrice(token: string, abortSignal?: AbortSignal): Promise<bigint>;
48
+ /**
49
+ * Pre-fetches the Bitcoin USD price data, such that further calls to {@link getBtcUsdValue},
50
+ * {@link getTokenUsdValue} or {@link getUsdValue} are quicker and don't need to wait for the price fetch
51
+ *
52
+ * @param abortSignal
53
+ */
39
54
  preFetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
40
55
  /**
41
- * Returns amount of {toToken} that are equivalent to {fromAmount} satoshis
56
+ * Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
42
57
  *
43
- * @param fromAmount Amount of satoshis
44
- * @param toToken Token
58
+ * @param fromAmount Amount of satoshis
59
+ * @param toToken Token address
45
60
  * @param abortSignal
46
- * @param preFetchedPrice
61
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
47
62
  * @throws {Error} when token is not found
48
63
  */
49
64
  getFromBtcSwapAmount(fromAmount: bigint, toToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
50
65
  /**
51
- * Returns amount of satoshis that are equivalent to {fromAmount} of {fromToken}
66
+ * Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
52
67
  *
53
68
  * @param fromAmount Amount of the token
54
- * @param fromToken Token
69
+ * @param fromToken Token address
55
70
  * @param abortSignal
56
- * @param preFetchedPrice Pre-fetched swap price if available
71
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
57
72
  * @throws {Error} when token is not found
58
73
  */
59
74
  getToBtcSwapAmount(fromAmount: bigint, fromToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
60
75
  /**
61
76
  * Returns whether the token should be ignored and pricing for it not calculated
62
77
  *
63
- * @param tokenAddress
78
+ * @param tokenAddress Token address
64
79
  * @throws {Error} if token is not found
65
80
  */
66
81
  shouldIgnore(tokenAddress: string): boolean;
67
- getBtcUsdValue(btcSats: bigint, abortSignal?: AbortSignal, preFetchedPrice?: number): Promise<number>;
68
- getTokenUsdValue(tokenAmount: bigint, token: string, abortSignal?: AbortSignal, preFetchedPrice?: number): Promise<number>;
82
+ /**
83
+ * Returns the USD value of the bitcoin amount
84
+ *
85
+ * @param btcSats Bitcoin amount in satoshis
86
+ * @param abortSignal
87
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
88
+ */
89
+ getBtcUsdValue(btcSats: bigint, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
90
+ /**
91
+ * Returns the USD value of the smart chain token amount
92
+ *
93
+ * @param tokenAmount Amount of the token in base units
94
+ * @param tokenAddress Token address
95
+ * @param abortSignal
96
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
97
+ */
98
+ getTokenUsdValue(tokenAmount: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
99
+ /**
100
+ * Returns the USD value of the token amount
101
+ *
102
+ * @param amount Amount in base units of the token
103
+ * @param token Token to fetch the usd price for
104
+ * @param abortSignal
105
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
106
+ */
69
107
  getUsdValue(amount: bigint, token: Token<ChainIdentifier>, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
70
108
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SwapPriceWithChain = void 0;
4
4
  /**
5
5
  * Chain-specific wrapper for swap pricing
6
+ *
6
7
  * @category Pricing and LPs
7
8
  */
8
9
  class SwapPriceWithChain {
@@ -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 tokenAddress Token address to be paid
22
23
  * @param abortSignal
23
- * @param preFetchedPrice Already pre-fetched price
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,52 @@ 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 tokenAddress Token address to be received
36
37
  * @param abortSignal
37
- * @param preFetchedPrice Already pre-fetched price
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
  }
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 chainIdentifier Chain identifier of the smart chain
48
+ * @param tokenAddress Token address
49
+ * @param abortSignal
50
+ */
42
51
  preFetchPrice(token, abortSignal) {
43
52
  return this.swapPrice.preFetchPrice(this.chainIdentifier, token, abortSignal);
44
53
  }
54
+ /**
55
+ * Pre-fetches the Bitcoin USD price data, such that further calls to {@link getBtcUsdValue},
56
+ * {@link getTokenUsdValue} or {@link getUsdValue} are quicker and don't need to wait for the price fetch
57
+ *
58
+ * @param abortSignal
59
+ */
45
60
  preFetchUsdPrice(abortSignal) {
46
61
  return this.swapPrice.preFetchUsdPrice(abortSignal);
47
62
  }
48
63
  /**
49
- * Returns amount of {toToken} that are equivalent to {fromAmount} satoshis
64
+ * Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
50
65
  *
51
- * @param fromAmount Amount of satoshis
52
- * @param toToken Token
66
+ * @param fromAmount Amount of satoshis
67
+ * @param toToken Token address
53
68
  * @param abortSignal
54
- * @param preFetchedPrice
69
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
55
70
  * @throws {Error} when token is not found
56
71
  */
57
72
  async getFromBtcSwapAmount(fromAmount, toToken, abortSignal, preFetchedPrice) {
58
73
  return this.swapPrice.getFromBtcSwapAmount(this.chainIdentifier, fromAmount, toToken, abortSignal, preFetchedPrice);
59
74
  }
60
75
  /**
61
- * Returns amount of satoshis that are equivalent to {fromAmount} of {fromToken}
76
+ * Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
62
77
  *
63
78
  * @param fromAmount Amount of the token
64
- * @param fromToken Token
79
+ * @param fromToken Token address
65
80
  * @param abortSignal
66
- * @param preFetchedPrice Pre-fetched swap price if available
81
+ * @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
67
82
  * @throws {Error} when token is not found
68
83
  */
69
84
  async getToBtcSwapAmount(fromAmount, fromToken, abortSignal, preFetchedPrice) {
@@ -72,18 +87,41 @@ class SwapPriceWithChain {
72
87
  /**
73
88
  * Returns whether the token should be ignored and pricing for it not calculated
74
89
  *
75
- * @param tokenAddress
90
+ * @param tokenAddress Token address
76
91
  * @throws {Error} if token is not found
77
92
  */
78
93
  shouldIgnore(tokenAddress) {
79
94
  return this.swapPrice.shouldIgnore(this.chainIdentifier, tokenAddress);
80
95
  }
81
- async getBtcUsdValue(btcSats, abortSignal, preFetchedPrice) {
82
- return this.swapPrice.getBtcUsdValue(btcSats, abortSignal, preFetchedPrice);
96
+ /**
97
+ * Returns the USD value of the bitcoin amount
98
+ *
99
+ * @param btcSats Bitcoin amount in satoshis
100
+ * @param abortSignal
101
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
102
+ */
103
+ async getBtcUsdValue(btcSats, abortSignal, preFetchedUsdPrice) {
104
+ return this.swapPrice.getBtcUsdValue(btcSats, abortSignal, preFetchedUsdPrice);
83
105
  }
84
- async getTokenUsdValue(tokenAmount, token, abortSignal, preFetchedPrice) {
85
- return this.swapPrice.getTokenUsdValue(this.chainIdentifier, tokenAmount, token, abortSignal, preFetchedPrice);
106
+ /**
107
+ * Returns the USD value of the smart chain token amount
108
+ *
109
+ * @param tokenAmount Amount of the token in base units
110
+ * @param tokenAddress Token address
111
+ * @param abortSignal
112
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
113
+ */
114
+ async getTokenUsdValue(tokenAmount, tokenAddress, abortSignal, preFetchedUsdPrice) {
115
+ return this.swapPrice.getTokenUsdValue(this.chainIdentifier, tokenAmount, tokenAddress, abortSignal, preFetchedUsdPrice);
86
116
  }
117
+ /**
118
+ * Returns the USD value of the token amount
119
+ *
120
+ * @param amount Amount in base units of the token
121
+ * @param token Token to fetch the usd price for
122
+ * @param abortSignal
123
+ * @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
124
+ */
87
125
  getUsdValue(amount, token, abortSignal, preFetchedUsdPrice) {
88
126
  return this.swapPrice.getUsdValue(amount, token, abortSignal, preFetchedUsdPrice);
89
127
  }