@atomiqlabs/sdk 8.6.4 → 8.6.6

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 (239) hide show
  1. package/dist/SmartChainAssets.d.ts +181 -181
  2. package/dist/SmartChainAssets.js +181 -181
  3. package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -6
  4. package/dist/bitcoin/coinselect2/accumulative.js +51 -52
  5. package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
  6. package/dist/bitcoin/coinselect2/blackjack.js +37 -38
  7. package/dist/bitcoin/coinselect2/index.d.ts +17 -19
  8. package/dist/bitcoin/coinselect2/index.js +69 -69
  9. package/dist/bitcoin/coinselect2/utils.d.ts +75 -77
  10. package/dist/bitcoin/coinselect2/utils.js +123 -123
  11. package/dist/bitcoin/wallet/BitcoinWallet.d.ts +128 -130
  12. package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
  13. package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
  14. package/dist/bitcoin/wallet/IBitcoinWallet.js +20 -21
  15. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +99 -101
  16. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +176 -176
  17. package/dist/enums/FeeType.d.ts +15 -15
  18. package/dist/enums/FeeType.js +19 -19
  19. package/dist/enums/SwapAmountType.d.ts +15 -15
  20. package/dist/enums/SwapAmountType.js +19 -19
  21. package/dist/enums/SwapDirection.d.ts +15 -15
  22. package/dist/enums/SwapDirection.js +19 -19
  23. package/dist/enums/SwapSide.d.ts +15 -15
  24. package/dist/enums/SwapSide.js +19 -19
  25. package/dist/enums/SwapType.d.ts +75 -75
  26. package/dist/enums/SwapType.js +79 -79
  27. package/dist/errors/IntermediaryError.d.ts +13 -13
  28. package/dist/errors/IntermediaryError.js +27 -27
  29. package/dist/errors/RequestError.d.ts +32 -32
  30. package/dist/errors/RequestError.js +54 -54
  31. package/dist/errors/UserError.d.ts +8 -8
  32. package/dist/errors/UserError.js +16 -16
  33. package/dist/events/UnifiedSwapEventListener.d.ts +23 -23
  34. package/dist/events/UnifiedSwapEventListener.js +130 -130
  35. package/dist/http/HttpUtils.d.ts +27 -27
  36. package/dist/http/HttpUtils.js +90 -91
  37. package/dist/http/paramcoders/IParamReader.d.ts +8 -8
  38. package/dist/http/paramcoders/IParamReader.js +2 -2
  39. package/dist/http/paramcoders/ParamDecoder.d.ts +42 -44
  40. package/dist/http/paramcoders/ParamDecoder.js +137 -137
  41. package/dist/http/paramcoders/ParamEncoder.d.ts +18 -20
  42. package/dist/http/paramcoders/ParamEncoder.js +36 -36
  43. package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -26
  44. package/dist/http/paramcoders/SchemaVerifier.js +145 -145
  45. package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -11
  46. package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -57
  47. package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +11 -13
  48. package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
  49. package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -16
  50. package/dist/http/paramcoders/client/StreamingFetchPromise.js +173 -174
  51. package/dist/index.d.ts +85 -85
  52. package/dist/index.js +158 -158
  53. package/dist/intermediaries/Intermediary.d.ts +157 -157
  54. package/dist/intermediaries/Intermediary.js +142 -142
  55. package/dist/intermediaries/IntermediaryDiscovery.d.ts +198 -199
  56. package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
  57. package/dist/intermediaries/apis/IntermediaryAPI.d.ts +437 -438
  58. package/dist/intermediaries/apis/IntermediaryAPI.js +603 -602
  59. package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
  60. package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
  61. package/dist/lnurl/LNURL.d.ts +102 -102
  62. package/dist/lnurl/LNURL.js +321 -321
  63. package/dist/prices/RedundantSwapPrice.d.ts +110 -110
  64. package/dist/prices/RedundantSwapPrice.js +222 -222
  65. package/dist/prices/SingleSwapPrice.d.ts +34 -34
  66. package/dist/prices/SingleSwapPrice.js +44 -44
  67. package/dist/prices/SwapPriceWithChain.d.ts +107 -107
  68. package/dist/prices/SwapPriceWithChain.js +128 -128
  69. package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
  70. package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
  71. package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
  72. package/dist/prices/abstract/IPriceProvider.js +74 -74
  73. package/dist/prices/abstract/ISwapPrice.d.ts +168 -166
  74. package/dist/prices/abstract/ISwapPrice.js +279 -267
  75. package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
  76. package/dist/prices/providers/BinancePriceProvider.js +30 -30
  77. package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
  78. package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
  79. package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
  80. package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
  81. package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
  82. package/dist/prices/providers/CustomPriceProvider.js +35 -35
  83. package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
  84. package/dist/prices/providers/KrakenPriceProvider.js +45 -45
  85. package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
  86. package/dist/prices/providers/OKXPriceProvider.js +29 -29
  87. package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
  88. package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
  89. package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
  90. package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
  91. package/dist/storage/IUnifiedStorage.d.ts +85 -85
  92. package/dist/storage/IUnifiedStorage.js +2 -2
  93. package/dist/storage/UnifiedSwapStorage.d.ts +114 -114
  94. package/dist/storage/UnifiedSwapStorage.js +116 -116
  95. package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
  96. package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
  97. package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
  98. package/dist/storage-browser/LocalStorageManager.js +93 -93
  99. package/dist/swapper/Swapper.d.ts +686 -687
  100. package/dist/swapper/Swapper.js +1603 -1603
  101. package/dist/swapper/SwapperFactory.d.ts +135 -135
  102. package/dist/swapper/SwapperFactory.js +162 -162
  103. package/dist/swapper/SwapperUtils.d.ts +200 -200
  104. package/dist/swapper/SwapperUtils.js +467 -467
  105. package/dist/swapper/SwapperWithChain.d.ts +404 -404
  106. package/dist/swapper/SwapperWithChain.js +469 -469
  107. package/dist/swapper/SwapperWithSigner.d.ts +322 -322
  108. package/dist/swapper/SwapperWithSigner.js +318 -318
  109. package/dist/swaps/IAddressSwap.d.ts +22 -22
  110. package/dist/swaps/IAddressSwap.js +13 -14
  111. package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
  112. package/dist/swaps/IBTCWalletSwap.js +17 -18
  113. package/dist/swaps/IClaimableSwap.d.ts +49 -49
  114. package/dist/swaps/IClaimableSwap.js +14 -15
  115. package/dist/swaps/IClaimableSwapWrapper.d.ts +15 -15
  116. package/dist/swaps/IClaimableSwapWrapper.js +2 -2
  117. package/dist/swaps/IRefundableSwap.d.ts +43 -43
  118. package/dist/swaps/IRefundableSwap.js +13 -14
  119. package/dist/swaps/ISwap.d.ts +386 -387
  120. package/dist/swaps/ISwap.js +346 -341
  121. package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
  122. package/dist/swaps/ISwapWithGasDrop.js +11 -12
  123. package/dist/swaps/ISwapWrapper.d.ts +283 -284
  124. package/dist/swaps/ISwapWrapper.js +353 -353
  125. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
  126. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
  127. package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +133 -135
  128. package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
  129. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +114 -115
  130. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
  131. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +98 -101
  132. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
  133. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
  134. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
  135. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +58 -58
  136. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +78 -78
  137. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +529 -531
  138. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
  139. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +181 -184
  140. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -417
  141. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +581 -583
  142. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
  143. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +225 -228
  144. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +506 -506
  145. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +458 -458
  146. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1126 -1126
  147. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +190 -191
  148. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -377
  149. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +403 -403
  150. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +924 -924
  151. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +62 -62
  152. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +112 -112
  153. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +125 -127
  154. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
  155. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +241 -242
  156. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -520
  157. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
  158. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
  159. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +127 -128
  160. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +278 -278
  161. package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +630 -630
  162. package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1443 -1443
  163. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +213 -207
  164. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -755
  165. package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +261 -261
  166. package/dist/swaps/trusted/ln/LnForGasSwap.js +511 -511
  167. package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
  168. package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
  169. package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +342 -342
  170. package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +715 -715
  171. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +68 -69
  172. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +92 -92
  173. package/dist/types/AmountData.d.ts +10 -10
  174. package/dist/types/AmountData.js +2 -2
  175. package/dist/types/CustomPriceFunction.d.ts +11 -11
  176. package/dist/types/CustomPriceFunction.js +2 -2
  177. package/dist/types/PriceInfoType.d.ts +28 -28
  178. package/dist/types/PriceInfoType.js +56 -57
  179. package/dist/types/SwapExecutionAction.d.ts +88 -88
  180. package/dist/types/SwapExecutionAction.js +2 -2
  181. package/dist/types/SwapStateInfo.d.ts +5 -5
  182. package/dist/types/SwapStateInfo.js +2 -2
  183. package/dist/types/SwapWithSigner.d.ts +17 -17
  184. package/dist/types/SwapWithSigner.js +42 -43
  185. package/dist/types/Token.d.ts +99 -99
  186. package/dist/types/Token.js +76 -76
  187. package/dist/types/TokenAmount.d.ts +69 -69
  188. package/dist/types/TokenAmount.js +59 -60
  189. package/dist/types/fees/Fee.d.ts +50 -50
  190. package/dist/types/fees/Fee.js +2 -2
  191. package/dist/types/fees/FeeBreakdown.d.ts +11 -11
  192. package/dist/types/fees/FeeBreakdown.js +2 -2
  193. package/dist/types/fees/PercentagePPM.d.ts +17 -17
  194. package/dist/types/fees/PercentagePPM.js +17 -18
  195. package/dist/types/lnurl/LNURLPay.d.ts +61 -61
  196. package/dist/types/lnurl/LNURLPay.js +30 -31
  197. package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
  198. package/dist/types/lnurl/LNURLWithdraw.js +26 -27
  199. package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
  200. package/dist/types/wallets/LightningInvoiceCreateService.js +14 -15
  201. package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +23 -23
  202. package/dist/types/wallets/MinimalBitcoinWalletInterface.js +2 -2
  203. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +9 -9
  204. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.js +2 -2
  205. package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -1
  206. package/dist/utils/AutomaticClockDriftCorrection.js +69 -70
  207. package/dist/utils/BitcoinUtils.d.ts +12 -14
  208. package/dist/utils/BitcoinUtils.js +101 -102
  209. package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
  210. package/dist/utils/BitcoinWalletUtils.js +13 -14
  211. package/dist/utils/Logger.d.ts +7 -7
  212. package/dist/utils/Logger.js +11 -12
  213. package/dist/utils/RetryUtils.d.ts +22 -22
  214. package/dist/utils/RetryUtils.js +66 -67
  215. package/dist/utils/SwapUtils.d.ts +88 -88
  216. package/dist/utils/SwapUtils.js +72 -72
  217. package/dist/utils/TimeoutUtils.d.ts +17 -17
  218. package/dist/utils/TimeoutUtils.js +54 -55
  219. package/dist/utils/TokenUtils.d.ts +19 -19
  220. package/dist/utils/TokenUtils.js +36 -37
  221. package/dist/utils/TypeUtils.d.ts +7 -7
  222. package/dist/utils/TypeUtils.js +2 -2
  223. package/dist/utils/Utils.d.ts +56 -58
  224. package/dist/utils/Utils.js +193 -194
  225. package/package.json +1 -1
  226. package/src/intermediaries/apis/IntermediaryAPI.ts +4 -2
  227. package/src/prices/abstract/ISwapPrice.ts +19 -6
  228. package/src/swaps/ISwap.ts +17 -6
  229. package/src/swaps/ISwapWrapper.ts +4 -3
  230. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +4 -2
  231. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +4 -1
  232. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +2 -2
  233. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +4 -2
  234. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +6 -6
  235. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +5 -5
  236. package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +4 -1
  237. package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +10 -2
  238. package/src/swaps/trusted/ln/LnForGasWrapper.ts +1 -1
  239. package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +1 -1
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OKXPriceProvider = void 0;
4
- const ExchangePriceProvider_1 = require("./abstract/ExchangePriceProvider");
5
- const HttpUtils_1 = require("../../http/HttpUtils");
6
- /**
7
- * Price provider using OKX exchange API
8
- * @category Pricing
9
- */
10
- class OKXPriceProvider extends ExchangePriceProvider_1.ExchangePriceProvider {
11
- constructor(coinsMap, url = "https://www.okx.com/api/v5", httpRequestTimeout) {
12
- super(coinsMap, url, httpRequestTimeout);
13
- }
14
- /**
15
- * @inheritDoc
16
- */
17
- async fetchPair(pair, abortSignal) {
18
- const response = await (0, HttpUtils_1.httpGet)(this.url + "/market/index-tickers?instId=" + pair, this.httpRequestTimeout, abortSignal);
19
- return parseFloat(response.data[0].idxPx);
20
- }
21
- /**
22
- * @inheritDoc
23
- */
24
- async fetchUsdPrice(abortSignal) {
25
- const response = await (0, HttpUtils_1.httpGet)(this.url + "/market/index-tickers?instId=BTC-USD", this.httpRequestTimeout, abortSignal);
26
- return parseFloat(response.data[0].idxPx) / 100000000;
27
- }
28
- }
29
- exports.OKXPriceProvider = OKXPriceProvider;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OKXPriceProvider = void 0;
4
+ const ExchangePriceProvider_1 = require("./abstract/ExchangePriceProvider");
5
+ const HttpUtils_1 = require("../../http/HttpUtils");
6
+ /**
7
+ * Price provider using OKX exchange API
8
+ * @category Pricing
9
+ */
10
+ class OKXPriceProvider extends ExchangePriceProvider_1.ExchangePriceProvider {
11
+ constructor(coinsMap, url = "https://www.okx.com/api/v5", httpRequestTimeout) {
12
+ super(coinsMap, url, httpRequestTimeout);
13
+ }
14
+ /**
15
+ * @inheritDoc
16
+ */
17
+ async fetchPair(pair, abortSignal) {
18
+ const response = await (0, HttpUtils_1.httpGet)(this.url + "/market/index-tickers?instId=" + pair, this.httpRequestTimeout, abortSignal);
19
+ return parseFloat(response.data[0].idxPx);
20
+ }
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ async fetchUsdPrice(abortSignal) {
25
+ const response = await (0, HttpUtils_1.httpGet)(this.url + "/market/index-tickers?instId=BTC-USD", this.httpRequestTimeout, abortSignal);
26
+ return parseFloat(response.data[0].idxPx) / 100000000;
27
+ }
28
+ }
29
+ exports.OKXPriceProvider = OKXPriceProvider;
@@ -1,17 +1,17 @@
1
- import { HttpPriceProvider } from "./HttpPriceProvider";
2
- import { CoinType } from "../../abstract/IPriceProvider";
3
- import { MultiChain } from "../../../swapper/Swapper";
4
- export declare abstract class ExchangePriceProvider<T extends MultiChain> extends HttpPriceProvider<T> {
5
- /**
6
- * Fetches the price on the specific exchange pair
7
- *
8
- * @param pair
9
- * @param abortSignal
10
- * @protected
11
- */
12
- protected abstract fetchPair(pair: string, abortSignal?: AbortSignal): Promise<number>;
13
- /**
14
- * @inheritDoc
15
- */
16
- protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
17
- }
1
+ import { HttpPriceProvider } from "./HttpPriceProvider";
2
+ import { CoinType } from "../../abstract/IPriceProvider";
3
+ import { MultiChain } from "../../../swapper/Swapper";
4
+ export declare abstract class ExchangePriceProvider<T extends MultiChain> extends HttpPriceProvider<T> {
5
+ /**
6
+ * Fetches the price on the specific exchange pair
7
+ *
8
+ * @param pair
9
+ * @param abortSignal
10
+ * @protected
11
+ */
12
+ protected abstract fetchPair(pair: string, abortSignal?: AbortSignal): Promise<number>;
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
17
+ }
@@ -1,21 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExchangePriceProvider = void 0;
4
- const HttpPriceProvider_1 = require("./HttpPriceProvider");
5
- class ExchangePriceProvider extends HttpPriceProvider_1.HttpPriceProvider {
6
- /**
7
- * @inheritDoc
8
- */
9
- async fetchPrice(token, abortSignal) {
10
- const pairs = token.coinId.split(";");
11
- const prices = await Promise.all(pairs.map(pair => {
12
- let invert = pair.startsWith("!");
13
- if (invert)
14
- pair = pair.substring(1);
15
- return this.fetchPair(pair, abortSignal).then(value => invert ? 1 / value : value);
16
- }));
17
- const price = prices.reduce((previousValue, currentValue) => previousValue * currentValue, 1);
18
- return BigInt(Math.floor(price * 100000000000000));
19
- }
20
- }
21
- exports.ExchangePriceProvider = ExchangePriceProvider;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExchangePriceProvider = void 0;
4
+ const HttpPriceProvider_1 = require("./HttpPriceProvider");
5
+ class ExchangePriceProvider extends HttpPriceProvider_1.HttpPriceProvider {
6
+ /**
7
+ * @inheritDoc
8
+ */
9
+ async fetchPrice(token, abortSignal) {
10
+ const pairs = token.coinId.split(";");
11
+ const prices = await Promise.all(pairs.map(pair => {
12
+ let invert = pair.startsWith("!");
13
+ if (invert)
14
+ pair = pair.substring(1);
15
+ return this.fetchPair(pair, abortSignal).then(value => invert ? 1 / value : value);
16
+ }));
17
+ const price = prices.reduce((previousValue, currentValue) => previousValue * currentValue, 1);
18
+ return BigInt(Math.floor(price * 100000000000000));
19
+ }
20
+ }
21
+ exports.ExchangePriceProvider = ExchangePriceProvider;
@@ -1,7 +1,7 @@
1
- import { CtorCoinTypes, IPriceProvider } from "../../abstract/IPriceProvider";
2
- import { MultiChain } from "../../../swapper/Swapper";
3
- export declare abstract class HttpPriceProvider<T extends MultiChain> extends IPriceProvider<T> {
4
- url: string;
5
- httpRequestTimeout?: number;
6
- protected constructor(coinsMap: CtorCoinTypes<T>, url: string, httpRequestTimeout?: number);
7
- }
1
+ import { CtorCoinTypes, IPriceProvider } from "../../abstract/IPriceProvider";
2
+ import { MultiChain } from "../../../swapper/Swapper";
3
+ export declare abstract class HttpPriceProvider<T extends MultiChain> extends IPriceProvider<T> {
4
+ url: string;
5
+ httpRequestTimeout?: number;
6
+ protected constructor(coinsMap: CtorCoinTypes<T>, url: string, httpRequestTimeout?: number);
7
+ }
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpPriceProvider = void 0;
4
- const IPriceProvider_1 = require("../../abstract/IPriceProvider");
5
- class HttpPriceProvider extends IPriceProvider_1.IPriceProvider {
6
- constructor(coinsMap, url, httpRequestTimeout) {
7
- super(coinsMap);
8
- this.url = url;
9
- this.httpRequestTimeout = httpRequestTimeout;
10
- }
11
- }
12
- exports.HttpPriceProvider = HttpPriceProvider;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpPriceProvider = void 0;
4
+ const IPriceProvider_1 = require("../../abstract/IPriceProvider");
5
+ class HttpPriceProvider extends IPriceProvider_1.IPriceProvider {
6
+ constructor(coinsMap, url, httpRequestTimeout) {
7
+ super(coinsMap);
8
+ this.url = url;
9
+ this.httpRequestTimeout = httpRequestTimeout;
10
+ }
11
+ }
12
+ exports.HttpPriceProvider = HttpPriceProvider;
@@ -1,85 +1,85 @@
1
- /**
2
- * Params for querying the storage
3
- *
4
- * @category Storage
5
- */
6
- export type QueryParams = {
7
- /**
8
- * Key that should be matched
9
- */
10
- key: string;
11
- /**
12
- * A value that the key needs to have, if an array is passed, the conditions are `OR`-ed
13
- */
14
- value: any | any[];
15
- };
16
- /**
17
- * Base type for stored objects, every storage object MUST have an `id` field
18
- *
19
- * @category Storage
20
- */
21
- export type UnifiedStoredObject = {
22
- id: string;
23
- } & any;
24
- /**
25
- * Defines simple indexes (for queries that use a single key)
26
- *
27
- * @category Storage
28
- */
29
- export type UnifiedStorageIndexes = readonly {
30
- key: string;
31
- type: "number" | "string" | "boolean";
32
- unique: boolean;
33
- nullable: boolean;
34
- }[];
35
- /**
36
- * Defines composite indexes (for queries that use multiple keys)
37
- *
38
- * @category Storage
39
- */
40
- export type UnifiedStorageCompositeIndexes = readonly {
41
- keys: readonly string[];
42
- unique: boolean;
43
- }[];
44
- /**
45
- * Interface for a generic unified storage implementations
46
- *
47
- * @category Storage
48
- */
49
- export interface IUnifiedStorage<I extends UnifiedStorageIndexes, C extends UnifiedStorageCompositeIndexes> {
50
- /**
51
- * Initializes the storage with given indexes and composite indexes
52
- *
53
- * @param indexes
54
- * @param compositeIndexes
55
- */
56
- init(indexes: I, compositeIndexes: C): Promise<void>;
57
- /**
58
- * Params are specified in the following way:
59
- * - [[condition1, condition2]] - returns all rows where condition1 AND condition2 is met
60
- * - [[condition1], [condition2]] - returns all rows where condition1 OR condition2 is met
61
- * - [[condition1, condition2], [condition3]] - returns all rows where (condition1 AND condition2) OR condition3 is met
62
- * @param params
63
- */
64
- query(params: Array<Array<QueryParams>>): Promise<Array<UnifiedStoredObject>>;
65
- /**
66
- * Saves an object to storage, updating indexes as needed
67
- * @param value Object to save (must have an id property)
68
- */
69
- save(value: UnifiedStoredObject): Promise<void>;
70
- /**
71
- * Saves multiple objects to storage in a batch operation
72
- * @param value Array of objects to save
73
- */
74
- saveAll(value: UnifiedStoredObject[]): Promise<void>;
75
- /**
76
- * Removes an object from storage
77
- * @param value Object to remove (must have an id property)
78
- */
79
- remove(value: UnifiedStoredObject): Promise<void>;
80
- /**
81
- * Removes multiple objects from storage in a batch operation
82
- * @param value Array of objects to remove
83
- */
84
- removeAll(value: UnifiedStoredObject[]): Promise<void>;
85
- }
1
+ /**
2
+ * Params for querying the storage
3
+ *
4
+ * @category Storage
5
+ */
6
+ export type QueryParams = {
7
+ /**
8
+ * Key that should be matched
9
+ */
10
+ key: string;
11
+ /**
12
+ * A value that the key needs to have, if an array is passed, the conditions are `OR`-ed
13
+ */
14
+ value: any | any[];
15
+ };
16
+ /**
17
+ * Base type for stored objects, every storage object MUST have an `id` field
18
+ *
19
+ * @category Storage
20
+ */
21
+ export type UnifiedStoredObject = {
22
+ id: string;
23
+ } & any;
24
+ /**
25
+ * Defines simple indexes (for queries that use a single key)
26
+ *
27
+ * @category Storage
28
+ */
29
+ export type UnifiedStorageIndexes = readonly {
30
+ key: string;
31
+ type: "number" | "string" | "boolean";
32
+ unique: boolean;
33
+ nullable: boolean;
34
+ }[];
35
+ /**
36
+ * Defines composite indexes (for queries that use multiple keys)
37
+ *
38
+ * @category Storage
39
+ */
40
+ export type UnifiedStorageCompositeIndexes = readonly {
41
+ keys: readonly string[];
42
+ unique: boolean;
43
+ }[];
44
+ /**
45
+ * Interface for a generic unified storage implementations
46
+ *
47
+ * @category Storage
48
+ */
49
+ export interface IUnifiedStorage<I extends UnifiedStorageIndexes, C extends UnifiedStorageCompositeIndexes> {
50
+ /**
51
+ * Initializes the storage with given indexes and composite indexes
52
+ *
53
+ * @param indexes
54
+ * @param compositeIndexes
55
+ */
56
+ init(indexes: I, compositeIndexes: C): Promise<void>;
57
+ /**
58
+ * Params are specified in the following way:
59
+ * - [[condition1, condition2]] - returns all rows where condition1 AND condition2 is met
60
+ * - [[condition1], [condition2]] - returns all rows where condition1 OR condition2 is met
61
+ * - [[condition1, condition2], [condition3]] - returns all rows where (condition1 AND condition2) OR condition3 is met
62
+ * @param params
63
+ */
64
+ query(params: Array<Array<QueryParams>>): Promise<Array<UnifiedStoredObject>>;
65
+ /**
66
+ * Saves an object to storage, updating indexes as needed
67
+ * @param value Object to save (must have an id property)
68
+ */
69
+ save(value: UnifiedStoredObject): Promise<void>;
70
+ /**
71
+ * Saves multiple objects to storage in a batch operation
72
+ * @param value Array of objects to save
73
+ */
74
+ saveAll(value: UnifiedStoredObject[]): Promise<void>;
75
+ /**
76
+ * Removes an object from storage
77
+ * @param value Object to remove (must have an id property)
78
+ */
79
+ remove(value: UnifiedStoredObject): Promise<void>;
80
+ /**
81
+ * Removes multiple objects from storage in a batch operation
82
+ * @param value Array of objects to remove
83
+ */
84
+ removeAll(value: UnifiedStoredObject[]): Promise<void>;
85
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,114 +1,114 @@
1
- import { ChainType } from "@atomiqlabs/base";
2
- import { IUnifiedStorage, QueryParams } from "./IUnifiedStorage";
3
- import { ISwap } from "../swaps/ISwap";
4
- declare const indexes: readonly [{
5
- readonly key: "id";
6
- readonly type: "string";
7
- readonly unique: true;
8
- readonly nullable: false;
9
- }, {
10
- readonly key: "escrowHash";
11
- readonly type: "string";
12
- readonly unique: true;
13
- readonly nullable: true;
14
- }, {
15
- readonly key: "type";
16
- readonly type: "number";
17
- readonly unique: false;
18
- readonly nullable: false;
19
- }, {
20
- readonly key: "initiator";
21
- readonly type: "string";
22
- readonly unique: false;
23
- readonly nullable: false;
24
- }, {
25
- readonly key: "state";
26
- readonly type: "number";
27
- readonly unique: false;
28
- readonly nullable: false;
29
- }, {
30
- readonly key: "paymentHash";
31
- readonly type: "string";
32
- readonly unique: false;
33
- readonly nullable: true;
34
- }];
35
- /**
36
- * Simple index types for SDK swap storage
37
- *
38
- * @category Storage
39
- * @useDeclaredType
40
- */
41
- export type UnifiedSwapStorageIndexes = typeof indexes;
42
- declare const compositeIndexes: readonly [{
43
- readonly keys: readonly ["initiator", "id"];
44
- readonly unique: false;
45
- }, {
46
- readonly keys: readonly ["type", "state"];
47
- readonly unique: false;
48
- }, {
49
- readonly keys: readonly ["type", "paymentHash"];
50
- readonly unique: false;
51
- }, {
52
- readonly keys: readonly ["type", "initiator", "state"];
53
- readonly unique: false;
54
- }];
55
- /**
56
- * Composite index types for SDK swap storage
57
- *
58
- * @category Storage
59
- * @useDeclaredType
60
- */
61
- export type UnifiedSwapStorageCompositeIndexes = typeof compositeIndexes;
62
- /**
63
- * Unified swap persistence layer for the SDK utilizing an underlying {@link IUnifiedStorage} instance
64
- * with optional in-memory caching via weak refs {@link WeakRef}
65
- *
66
- * @category Storage
67
- */
68
- export declare class UnifiedSwapStorage<T extends ChainType> {
69
- readonly storage: IUnifiedStorage<UnifiedSwapStorageIndexes, UnifiedSwapStorageCompositeIndexes>;
70
- readonly weakRefCache: Map<string, WeakRef<ISwap<T>>>;
71
- readonly noWeakRefMap?: boolean;
72
- /**
73
- * @param storage Underlying storage persistence layer
74
- * @param noWeakRefMap Whether to disable caching of the swap objects in the weak ref map, this
75
- * should be set when you need multiple different clients accessing the same swap database (such
76
- * as when running the SDK in a serverless environment like AWS or Azure)
77
- */
78
- constructor(storage: IUnifiedStorage<UnifiedSwapStorageIndexes, UnifiedSwapStorageCompositeIndexes>, noWeakRefMap?: boolean);
79
- /**
80
- * Initializes the underlying storage
81
- */
82
- init(): Promise<void>;
83
- /**
84
- * Params are specified in the following way:
85
- * - [[condition1, condition2]] - returns all rows where condition1 AND condition2 is met
86
- * - [[condition1], [condition2]] - returns all rows where condition1 OR condition2 is met
87
- * - [[condition1, condition2], [condition3]] - returns all rows where (condition1 AND condition2) OR condition3 is met
88
- * @param params
89
- * @param reviver
90
- */
91
- query<S extends ISwap<T>>(params: Array<Array<QueryParams>>, reviver: (obj: any) => S | null | undefined): Promise<Array<S>>;
92
- /**
93
- * Saves the swap to storage, updating indexes as needed
94
- *
95
- * @param value Swap to save
96
- */
97
- save<S extends ISwap<T>>(value: S): Promise<void>;
98
- /**
99
- * Saves multiple swaps to storage in a batch operation
100
- * @param values Array of swaps to save
101
- */
102
- saveAll<S extends ISwap<T>>(values: S[]): Promise<void>;
103
- /**
104
- * Removes a swap from storage
105
- * @param value Swap to remove
106
- */
107
- remove<S extends ISwap<T>>(value: S): Promise<void>;
108
- /**
109
- * Removes multiple swaps from storage in a batch operation
110
- * @param values Array of swaps to remove
111
- */
112
- removeAll<S extends ISwap<T>>(values: S[]): Promise<void>;
113
- }
114
- export {};
1
+ import { ChainType } from "@atomiqlabs/base";
2
+ import { IUnifiedStorage, QueryParams } from "./IUnifiedStorage";
3
+ import { ISwap } from "../swaps/ISwap";
4
+ declare const indexes: readonly [{
5
+ readonly key: "id";
6
+ readonly type: "string";
7
+ readonly unique: true;
8
+ readonly nullable: false;
9
+ }, {
10
+ readonly key: "escrowHash";
11
+ readonly type: "string";
12
+ readonly unique: true;
13
+ readonly nullable: true;
14
+ }, {
15
+ readonly key: "type";
16
+ readonly type: "number";
17
+ readonly unique: false;
18
+ readonly nullable: false;
19
+ }, {
20
+ readonly key: "initiator";
21
+ readonly type: "string";
22
+ readonly unique: false;
23
+ readonly nullable: false;
24
+ }, {
25
+ readonly key: "state";
26
+ readonly type: "number";
27
+ readonly unique: false;
28
+ readonly nullable: false;
29
+ }, {
30
+ readonly key: "paymentHash";
31
+ readonly type: "string";
32
+ readonly unique: false;
33
+ readonly nullable: true;
34
+ }];
35
+ /**
36
+ * Simple index types for SDK swap storage
37
+ *
38
+ * @category Storage
39
+ * @useDeclaredType
40
+ */
41
+ export type UnifiedSwapStorageIndexes = typeof indexes;
42
+ declare const compositeIndexes: readonly [{
43
+ readonly keys: readonly ["initiator", "id"];
44
+ readonly unique: false;
45
+ }, {
46
+ readonly keys: readonly ["type", "state"];
47
+ readonly unique: false;
48
+ }, {
49
+ readonly keys: readonly ["type", "paymentHash"];
50
+ readonly unique: false;
51
+ }, {
52
+ readonly keys: readonly ["type", "initiator", "state"];
53
+ readonly unique: false;
54
+ }];
55
+ /**
56
+ * Composite index types for SDK swap storage
57
+ *
58
+ * @category Storage
59
+ * @useDeclaredType
60
+ */
61
+ export type UnifiedSwapStorageCompositeIndexes = typeof compositeIndexes;
62
+ /**
63
+ * Unified swap persistence layer for the SDK utilizing an underlying {@link IUnifiedStorage} instance
64
+ * with optional in-memory caching via weak refs {@link WeakRef}
65
+ *
66
+ * @category Storage
67
+ */
68
+ export declare class UnifiedSwapStorage<T extends ChainType> {
69
+ readonly storage: IUnifiedStorage<UnifiedSwapStorageIndexes, UnifiedSwapStorageCompositeIndexes>;
70
+ readonly weakRefCache: Map<string, WeakRef<ISwap<T>>>;
71
+ readonly noWeakRefMap?: boolean;
72
+ /**
73
+ * @param storage Underlying storage persistence layer
74
+ * @param noWeakRefMap Whether to disable caching of the swap objects in the weak ref map, this
75
+ * should be set when you need multiple different clients accessing the same swap database (such
76
+ * as when running the SDK in a serverless environment like AWS or Azure)
77
+ */
78
+ constructor(storage: IUnifiedStorage<UnifiedSwapStorageIndexes, UnifiedSwapStorageCompositeIndexes>, noWeakRefMap?: boolean);
79
+ /**
80
+ * Initializes the underlying storage
81
+ */
82
+ init(): Promise<void>;
83
+ /**
84
+ * Params are specified in the following way:
85
+ * - [[condition1, condition2]] - returns all rows where condition1 AND condition2 is met
86
+ * - [[condition1], [condition2]] - returns all rows where condition1 OR condition2 is met
87
+ * - [[condition1, condition2], [condition3]] - returns all rows where (condition1 AND condition2) OR condition3 is met
88
+ * @param params
89
+ * @param reviver
90
+ */
91
+ query<S extends ISwap<T>>(params: Array<Array<QueryParams>>, reviver: (obj: any) => S | null | undefined): Promise<Array<S>>;
92
+ /**
93
+ * Saves the swap to storage, updating indexes as needed
94
+ *
95
+ * @param value Swap to save
96
+ */
97
+ save<S extends ISwap<T>>(value: S): Promise<void>;
98
+ /**
99
+ * Saves multiple swaps to storage in a batch operation
100
+ * @param values Array of swaps to save
101
+ */
102
+ saveAll<S extends ISwap<T>>(values: S[]): Promise<void>;
103
+ /**
104
+ * Removes a swap from storage
105
+ * @param value Swap to remove
106
+ */
107
+ remove<S extends ISwap<T>>(value: S): Promise<void>;
108
+ /**
109
+ * Removes multiple swaps from storage in a batch operation
110
+ * @param values Array of swaps to remove
111
+ */
112
+ removeAll<S extends ISwap<T>>(values: S[]): Promise<void>;
113
+ }
114
+ export {};