@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.
- package/dist/SmartChainAssets.d.ts +181 -181
- package/dist/SmartChainAssets.js +181 -181
- package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -6
- package/dist/bitcoin/coinselect2/accumulative.js +51 -52
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
- package/dist/bitcoin/coinselect2/blackjack.js +37 -38
- package/dist/bitcoin/coinselect2/index.d.ts +17 -19
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +75 -77
- package/dist/bitcoin/coinselect2/utils.js +123 -123
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +128 -130
- package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
- package/dist/bitcoin/wallet/IBitcoinWallet.js +20 -21
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +99 -101
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +176 -176
- package/dist/enums/FeeType.d.ts +15 -15
- package/dist/enums/FeeType.js +19 -19
- package/dist/enums/SwapAmountType.d.ts +15 -15
- package/dist/enums/SwapAmountType.js +19 -19
- package/dist/enums/SwapDirection.d.ts +15 -15
- package/dist/enums/SwapDirection.js +19 -19
- package/dist/enums/SwapSide.d.ts +15 -15
- package/dist/enums/SwapSide.js +19 -19
- package/dist/enums/SwapType.d.ts +75 -75
- package/dist/enums/SwapType.js +79 -79
- package/dist/errors/IntermediaryError.d.ts +13 -13
- package/dist/errors/IntermediaryError.js +27 -27
- package/dist/errors/RequestError.d.ts +32 -32
- package/dist/errors/RequestError.js +54 -54
- package/dist/errors/UserError.d.ts +8 -8
- package/dist/errors/UserError.js +16 -16
- package/dist/events/UnifiedSwapEventListener.d.ts +23 -23
- package/dist/events/UnifiedSwapEventListener.js +130 -130
- package/dist/http/HttpUtils.d.ts +27 -27
- package/dist/http/HttpUtils.js +90 -91
- package/dist/http/paramcoders/IParamReader.d.ts +8 -8
- package/dist/http/paramcoders/IParamReader.js +2 -2
- package/dist/http/paramcoders/ParamDecoder.d.ts +42 -44
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +18 -20
- package/dist/http/paramcoders/ParamEncoder.js +36 -36
- package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -26
- package/dist/http/paramcoders/SchemaVerifier.js +145 -145
- package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -11
- package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -57
- package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +11 -13
- package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
- package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -16
- package/dist/http/paramcoders/client/StreamingFetchPromise.js +173 -174
- package/dist/index.d.ts +85 -85
- package/dist/index.js +158 -158
- package/dist/intermediaries/Intermediary.d.ts +157 -157
- package/dist/intermediaries/Intermediary.js +142 -142
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +198 -199
- package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +437 -438
- package/dist/intermediaries/apis/IntermediaryAPI.js +603 -602
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
- package/dist/lnurl/LNURL.d.ts +102 -102
- package/dist/lnurl/LNURL.js +321 -321
- package/dist/prices/RedundantSwapPrice.d.ts +110 -110
- package/dist/prices/RedundantSwapPrice.js +222 -222
- package/dist/prices/SingleSwapPrice.d.ts +34 -34
- package/dist/prices/SingleSwapPrice.js +44 -44
- package/dist/prices/SwapPriceWithChain.d.ts +107 -107
- package/dist/prices/SwapPriceWithChain.js +128 -128
- package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
- package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
- package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
- package/dist/prices/abstract/IPriceProvider.js +74 -74
- package/dist/prices/abstract/ISwapPrice.d.ts +168 -166
- package/dist/prices/abstract/ISwapPrice.js +279 -267
- package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
- package/dist/prices/providers/BinancePriceProvider.js +30 -30
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
- package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
- package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
- package/dist/prices/providers/CustomPriceProvider.js +35 -35
- package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
- package/dist/prices/providers/KrakenPriceProvider.js +45 -45
- package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
- package/dist/prices/providers/OKXPriceProvider.js +29 -29
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
- package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
- package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
- package/dist/storage/IUnifiedStorage.d.ts +85 -85
- package/dist/storage/IUnifiedStorage.js +2 -2
- package/dist/storage/UnifiedSwapStorage.d.ts +114 -114
- package/dist/storage/UnifiedSwapStorage.js +116 -116
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
- package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
- package/dist/storage-browser/LocalStorageManager.js +93 -93
- package/dist/swapper/Swapper.d.ts +686 -687
- package/dist/swapper/Swapper.js +1603 -1603
- package/dist/swapper/SwapperFactory.d.ts +135 -135
- package/dist/swapper/SwapperFactory.js +162 -162
- package/dist/swapper/SwapperUtils.d.ts +200 -200
- package/dist/swapper/SwapperUtils.js +467 -467
- package/dist/swapper/SwapperWithChain.d.ts +404 -404
- package/dist/swapper/SwapperWithChain.js +469 -469
- package/dist/swapper/SwapperWithSigner.d.ts +322 -322
- package/dist/swapper/SwapperWithSigner.js +318 -318
- package/dist/swaps/IAddressSwap.d.ts +22 -22
- package/dist/swaps/IAddressSwap.js +13 -14
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +17 -18
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +14 -15
- package/dist/swaps/IClaimableSwapWrapper.d.ts +15 -15
- package/dist/swaps/IClaimableSwapWrapper.js +2 -2
- package/dist/swaps/IRefundableSwap.d.ts +43 -43
- package/dist/swaps/IRefundableSwap.js +13 -14
- package/dist/swaps/ISwap.d.ts +386 -387
- package/dist/swaps/ISwap.js +346 -341
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +11 -12
- package/dist/swaps/ISwapWrapper.d.ts +283 -284
- package/dist/swaps/ISwapWrapper.js +353 -353
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +133 -135
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +114 -115
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +98 -101
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +58 -58
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +78 -78
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +529 -531
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +181 -184
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -417
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +581 -583
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +225 -228
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +506 -506
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +458 -458
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1126 -1126
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +190 -191
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -377
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +403 -403
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +924 -924
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +62 -62
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +112 -112
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +125 -127
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +241 -242
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -520
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +127 -128
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +278 -278
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +630 -630
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1443 -1443
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +213 -207
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -755
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +261 -261
- package/dist/swaps/trusted/ln/LnForGasSwap.js +511 -511
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +342 -342
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +715 -715
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +68 -69
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +92 -92
- package/dist/types/AmountData.d.ts +10 -10
- package/dist/types/AmountData.js +2 -2
- package/dist/types/CustomPriceFunction.d.ts +11 -11
- package/dist/types/CustomPriceFunction.js +2 -2
- package/dist/types/PriceInfoType.d.ts +28 -28
- package/dist/types/PriceInfoType.js +56 -57
- package/dist/types/SwapExecutionAction.d.ts +88 -88
- package/dist/types/SwapExecutionAction.js +2 -2
- package/dist/types/SwapStateInfo.d.ts +5 -5
- package/dist/types/SwapStateInfo.js +2 -2
- package/dist/types/SwapWithSigner.d.ts +17 -17
- package/dist/types/SwapWithSigner.js +42 -43
- package/dist/types/Token.d.ts +99 -99
- package/dist/types/Token.js +76 -76
- package/dist/types/TokenAmount.d.ts +69 -69
- package/dist/types/TokenAmount.js +59 -60
- package/dist/types/fees/Fee.d.ts +50 -50
- package/dist/types/fees/Fee.js +2 -2
- package/dist/types/fees/FeeBreakdown.d.ts +11 -11
- package/dist/types/fees/FeeBreakdown.js +2 -2
- package/dist/types/fees/PercentagePPM.d.ts +17 -17
- package/dist/types/fees/PercentagePPM.js +17 -18
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +30 -31
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +26 -27
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +14 -15
- package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +23 -23
- package/dist/types/wallets/MinimalBitcoinWalletInterface.js +2 -2
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +9 -9
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.js +2 -2
- package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -1
- package/dist/utils/AutomaticClockDriftCorrection.js +69 -70
- package/dist/utils/BitcoinUtils.d.ts +12 -14
- package/dist/utils/BitcoinUtils.js +101 -102
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +13 -14
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +11 -12
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +66 -67
- package/dist/utils/SwapUtils.d.ts +88 -88
- package/dist/utils/SwapUtils.js +72 -72
- package/dist/utils/TimeoutUtils.d.ts +17 -17
- package/dist/utils/TimeoutUtils.js +54 -55
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +36 -37
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +56 -58
- package/dist/utils/Utils.js +193 -194
- package/package.json +1 -1
- package/src/intermediaries/apis/IntermediaryAPI.ts +4 -2
- package/src/prices/abstract/ISwapPrice.ts +19 -6
- package/src/swaps/ISwap.ts +17 -6
- package/src/swaps/ISwapWrapper.ts +4 -3
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +4 -2
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +4 -1
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +2 -2
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +4 -2
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +6 -6
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +5 -5
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +4 -1
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +10 -2
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +1 -1
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +1 -1
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { IPriceProvider } from "./abstract/IPriceProvider";
|
|
2
|
-
import { ICachedSwapPrice } from "./abstract/ICachedSwapPrice";
|
|
3
|
-
import { ChainIds, MultiChain } from "../swapper/Swapper";
|
|
4
|
-
/**
|
|
5
|
-
* Swap price API using a single price source
|
|
6
|
-
*
|
|
7
|
-
* @category Pricing
|
|
8
|
-
*/
|
|
9
|
-
export declare class SingleSwapPrice<T extends MultiChain> extends ICachedSwapPrice<T> {
|
|
10
|
-
priceProvider: IPriceProvider<T>;
|
|
11
|
-
constructor(maxAllowedFeeDiffPPM: bigint, priceProvider: IPriceProvider<T>, cacheTimeout?: number);
|
|
12
|
-
/**
|
|
13
|
-
* Fetch price in uSats (micro sats) for a given token against BTC
|
|
14
|
-
*
|
|
15
|
-
* @param chainIdentifier
|
|
16
|
-
* @param token
|
|
17
|
-
* @param abortSignal
|
|
18
|
-
* @protected
|
|
19
|
-
* @returns token price in uSats (micro sats)
|
|
20
|
-
*/
|
|
21
|
-
protected fetchPrice<C extends ChainIds<T>>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise<bigint>;
|
|
22
|
-
/**
|
|
23
|
-
* @inheritDoc
|
|
24
|
-
*/
|
|
25
|
-
protected getDecimals<C extends ChainIds<T>>(chainIdentifier: C, token: string): number | null;
|
|
26
|
-
/**
|
|
27
|
-
* Fetches BTC price in USD
|
|
28
|
-
*
|
|
29
|
-
* @param abortSignal
|
|
30
|
-
* @protected
|
|
31
|
-
* @returns token price in uSats (micro sats)
|
|
32
|
-
*/
|
|
33
|
-
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
34
|
-
}
|
|
1
|
+
import { IPriceProvider } from "./abstract/IPriceProvider";
|
|
2
|
+
import { ICachedSwapPrice } from "./abstract/ICachedSwapPrice";
|
|
3
|
+
import { ChainIds, MultiChain } from "../swapper/Swapper";
|
|
4
|
+
/**
|
|
5
|
+
* Swap price API using a single price source
|
|
6
|
+
*
|
|
7
|
+
* @category Pricing
|
|
8
|
+
*/
|
|
9
|
+
export declare class SingleSwapPrice<T extends MultiChain> extends ICachedSwapPrice<T> {
|
|
10
|
+
priceProvider: IPriceProvider<T>;
|
|
11
|
+
constructor(maxAllowedFeeDiffPPM: bigint, priceProvider: IPriceProvider<T>, cacheTimeout?: number);
|
|
12
|
+
/**
|
|
13
|
+
* Fetch price in uSats (micro sats) for a given token against BTC
|
|
14
|
+
*
|
|
15
|
+
* @param chainIdentifier
|
|
16
|
+
* @param token
|
|
17
|
+
* @param abortSignal
|
|
18
|
+
* @protected
|
|
19
|
+
* @returns token price in uSats (micro sats)
|
|
20
|
+
*/
|
|
21
|
+
protected fetchPrice<C extends ChainIds<T>>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise<bigint>;
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
protected getDecimals<C extends ChainIds<T>>(chainIdentifier: C, token: string): number | null;
|
|
26
|
+
/**
|
|
27
|
+
* Fetches BTC price in USD
|
|
28
|
+
*
|
|
29
|
+
* @param abortSignal
|
|
30
|
+
* @protected
|
|
31
|
+
* @returns token price in uSats (micro sats)
|
|
32
|
+
*/
|
|
33
|
+
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
34
|
+
}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SingleSwapPrice = void 0;
|
|
4
|
-
const ICachedSwapPrice_1 = require("./abstract/ICachedSwapPrice");
|
|
5
|
-
/**
|
|
6
|
-
* Swap price API using a single price source
|
|
7
|
-
*
|
|
8
|
-
* @category Pricing
|
|
9
|
-
*/
|
|
10
|
-
class SingleSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
|
|
11
|
-
constructor(maxAllowedFeeDiffPPM, priceProvider, cacheTimeout) {
|
|
12
|
-
super(maxAllowedFeeDiffPPM, cacheTimeout);
|
|
13
|
-
this.priceProvider = priceProvider;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Fetch price in uSats (micro sats) for a given token against BTC
|
|
17
|
-
*
|
|
18
|
-
* @param chainIdentifier
|
|
19
|
-
* @param token
|
|
20
|
-
* @param abortSignal
|
|
21
|
-
* @protected
|
|
22
|
-
* @returns token price in uSats (micro sats)
|
|
23
|
-
*/
|
|
24
|
-
fetchPrice(chainIdentifier, token, abortSignal) {
|
|
25
|
-
return this.priceProvider.getPrice(chainIdentifier, token, abortSignal);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @inheritDoc
|
|
29
|
-
*/
|
|
30
|
-
getDecimals(chainIdentifier, token) {
|
|
31
|
-
return this.priceProvider.getDecimals(chainIdentifier, token.toString());
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Fetches BTC price in USD
|
|
35
|
-
*
|
|
36
|
-
* @param abortSignal
|
|
37
|
-
* @protected
|
|
38
|
-
* @returns token price in uSats (micro sats)
|
|
39
|
-
*/
|
|
40
|
-
fetchUsdPrice(abortSignal) {
|
|
41
|
-
return this.priceProvider.getUsdPrice(abortSignal);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.SingleSwapPrice = SingleSwapPrice;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleSwapPrice = void 0;
|
|
4
|
+
const ICachedSwapPrice_1 = require("./abstract/ICachedSwapPrice");
|
|
5
|
+
/**
|
|
6
|
+
* Swap price API using a single price source
|
|
7
|
+
*
|
|
8
|
+
* @category Pricing
|
|
9
|
+
*/
|
|
10
|
+
class SingleSwapPrice extends ICachedSwapPrice_1.ICachedSwapPrice {
|
|
11
|
+
constructor(maxAllowedFeeDiffPPM, priceProvider, cacheTimeout) {
|
|
12
|
+
super(maxAllowedFeeDiffPPM, cacheTimeout);
|
|
13
|
+
this.priceProvider = priceProvider;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Fetch price in uSats (micro sats) for a given token against BTC
|
|
17
|
+
*
|
|
18
|
+
* @param chainIdentifier
|
|
19
|
+
* @param token
|
|
20
|
+
* @param abortSignal
|
|
21
|
+
* @protected
|
|
22
|
+
* @returns token price in uSats (micro sats)
|
|
23
|
+
*/
|
|
24
|
+
fetchPrice(chainIdentifier, token, abortSignal) {
|
|
25
|
+
return this.priceProvider.getPrice(chainIdentifier, token, abortSignal);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
getDecimals(chainIdentifier, token) {
|
|
31
|
+
return this.priceProvider.getDecimals(chainIdentifier, token.toString());
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetches BTC price in USD
|
|
35
|
+
*
|
|
36
|
+
* @param abortSignal
|
|
37
|
+
* @protected
|
|
38
|
+
* @returns token price in uSats (micro sats)
|
|
39
|
+
*/
|
|
40
|
+
fetchUsdPrice(abortSignal) {
|
|
41
|
+
return this.priceProvider.getUsdPrice(abortSignal);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.SingleSwapPrice = SingleSwapPrice;
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
import { ISwapPrice } from "./abstract/ISwapPrice";
|
|
2
|
-
import { ChainIds, MultiChain } from "../swapper/Swapper";
|
|
3
|
-
import { Token } from "../types/Token";
|
|
4
|
-
import { PriceInfoType } from "../types/PriceInfoType";
|
|
5
|
-
/**
|
|
6
|
-
* Chain-specific wrapper for swap pricing
|
|
7
|
-
*
|
|
8
|
-
* @category Pricing
|
|
9
|
-
*/
|
|
10
|
-
export declare class SwapPriceWithChain<T extends MultiChain, ChainIdentifier extends ChainIds<T>> {
|
|
11
|
-
swapPrice: ISwapPrice<T>;
|
|
12
|
-
chainIdentifier: ChainIdentifier;
|
|
13
|
-
maxAllowedFeeDifferencePPM: bigint;
|
|
14
|
-
constructor(swapPrice: ISwapPrice<T>, chainIdentifier: ChainIdentifier);
|
|
15
|
-
/**
|
|
16
|
-
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
17
|
-
*
|
|
18
|
-
* @param amountSats Amount of sats (BTC) to be received from the swap
|
|
19
|
-
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
20
|
-
* @param feePPM PPM fee rate as reported by the intermediary
|
|
21
|
-
* @param paidToken Amount of token to be paid to the swap
|
|
22
|
-
* @param tokenAddress Token address to be paid
|
|
23
|
-
* @param abortSignal Abort signal
|
|
24
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
25
|
-
*/
|
|
26
|
-
isValidAmountSend(amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<PriceInfoType>;
|
|
27
|
-
/**
|
|
28
|
-
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
29
|
-
*
|
|
30
|
-
* @param amountSats Amount of sats (BTC) to be paid to the swap
|
|
31
|
-
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
32
|
-
* @param feePPM PPM fee rate as reported by the intermediary
|
|
33
|
-
* @param receiveToken Amount of token to be received from the swap
|
|
34
|
-
* @param tokenAddress Token address to be received
|
|
35
|
-
* @param abortSignal Abort signal
|
|
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 tokenAddress Token address
|
|
44
|
-
* @param abortSignal Abort signal
|
|
45
|
-
*/
|
|
46
|
-
preFetchPrice(tokenAddress: string, abortSignal?: AbortSignal): Promise<bigint>;
|
|
47
|
-
/**
|
|
48
|
-
* Pre-fetches the Bitcoin USD price data, such that further calls to {@link getBtcUsdValue},
|
|
49
|
-
* {@link getTokenUsdValue} or {@link getUsdValue} are quicker and don't need to wait for the price fetch
|
|
50
|
-
*
|
|
51
|
-
* @param abortSignal
|
|
52
|
-
*/
|
|
53
|
-
preFetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
54
|
-
/**
|
|
55
|
-
* Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
|
|
56
|
-
*
|
|
57
|
-
* @param fromAmount Amount of satoshis
|
|
58
|
-
* @param toToken Token address
|
|
59
|
-
* @param abortSignal
|
|
60
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
61
|
-
* @throws {Error} when token is not found
|
|
62
|
-
*/
|
|
63
|
-
getFromBtcSwapAmount(fromAmount: bigint, toToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
|
|
64
|
-
/**
|
|
65
|
-
* Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
|
|
66
|
-
*
|
|
67
|
-
* @param fromAmount Amount of the token
|
|
68
|
-
* @param fromToken Token address
|
|
69
|
-
* @param abortSignal
|
|
70
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
71
|
-
* @throws {Error} when token is not found
|
|
72
|
-
*/
|
|
73
|
-
getToBtcSwapAmount(fromAmount: bigint, fromToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
|
|
74
|
-
/**
|
|
75
|
-
* Returns whether the token should be ignored and pricing for it not calculated
|
|
76
|
-
*
|
|
77
|
-
* @param tokenAddress Token address
|
|
78
|
-
* @throws {Error} if token is not found
|
|
79
|
-
*/
|
|
80
|
-
shouldIgnore(tokenAddress: string): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Returns the USD value of the bitcoin amount
|
|
83
|
-
*
|
|
84
|
-
* @param btcSats Bitcoin amount in satoshis
|
|
85
|
-
* @param abortSignal
|
|
86
|
-
* @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
|
|
87
|
-
*/
|
|
88
|
-
getBtcUsdValue(btcSats: bigint, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
|
|
89
|
-
/**
|
|
90
|
-
* Returns the USD value of the smart chain token amount
|
|
91
|
-
*
|
|
92
|
-
* @param tokenAmount Amount of the token in base units
|
|
93
|
-
* @param tokenAddress Token address
|
|
94
|
-
* @param abortSignal
|
|
95
|
-
* @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
|
|
96
|
-
*/
|
|
97
|
-
getTokenUsdValue(tokenAmount: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
|
|
98
|
-
/**
|
|
99
|
-
* Returns the USD value of the token amount
|
|
100
|
-
*
|
|
101
|
-
* @param amount Amount in base units of the token
|
|
102
|
-
* @param token Token to fetch the usd price for
|
|
103
|
-
* @param abortSignal
|
|
104
|
-
* @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
|
|
105
|
-
*/
|
|
106
|
-
getUsdValue(amount: bigint, token: Token<ChainIdentifier>, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
|
|
107
|
-
}
|
|
1
|
+
import { ISwapPrice } from "./abstract/ISwapPrice";
|
|
2
|
+
import { ChainIds, MultiChain } from "../swapper/Swapper";
|
|
3
|
+
import { Token } from "../types/Token";
|
|
4
|
+
import { PriceInfoType } from "../types/PriceInfoType";
|
|
5
|
+
/**
|
|
6
|
+
* Chain-specific wrapper for swap pricing
|
|
7
|
+
*
|
|
8
|
+
* @category Pricing
|
|
9
|
+
*/
|
|
10
|
+
export declare class SwapPriceWithChain<T extends MultiChain, ChainIdentifier extends ChainIds<T>> {
|
|
11
|
+
swapPrice: ISwapPrice<T>;
|
|
12
|
+
chainIdentifier: ChainIdentifier;
|
|
13
|
+
maxAllowedFeeDifferencePPM: bigint;
|
|
14
|
+
constructor(swapPrice: ISwapPrice<T>, chainIdentifier: ChainIdentifier);
|
|
15
|
+
/**
|
|
16
|
+
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
17
|
+
*
|
|
18
|
+
* @param amountSats Amount of sats (BTC) to be received from the swap
|
|
19
|
+
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
20
|
+
* @param feePPM PPM fee rate as reported by the intermediary
|
|
21
|
+
* @param paidToken Amount of token to be paid to the swap
|
|
22
|
+
* @param tokenAddress Token address to be paid
|
|
23
|
+
* @param abortSignal Abort signal
|
|
24
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
25
|
+
*/
|
|
26
|
+
isValidAmountSend(amountSats: bigint, satsBaseFee: bigint, feePPM: bigint, paidToken: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<PriceInfoType>;
|
|
27
|
+
/**
|
|
28
|
+
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
29
|
+
*
|
|
30
|
+
* @param amountSats Amount of sats (BTC) to be paid to the swap
|
|
31
|
+
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
32
|
+
* @param feePPM PPM fee rate as reported by the intermediary
|
|
33
|
+
* @param receiveToken Amount of token to be received from the swap
|
|
34
|
+
* @param tokenAddress Token address to be received
|
|
35
|
+
* @param abortSignal Abort signal
|
|
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 tokenAddress Token address
|
|
44
|
+
* @param abortSignal Abort signal
|
|
45
|
+
*/
|
|
46
|
+
preFetchPrice(tokenAddress: string, abortSignal?: AbortSignal): Promise<bigint>;
|
|
47
|
+
/**
|
|
48
|
+
* Pre-fetches the Bitcoin USD price data, such that further calls to {@link getBtcUsdValue},
|
|
49
|
+
* {@link getTokenUsdValue} or {@link getUsdValue} are quicker and don't need to wait for the price fetch
|
|
50
|
+
*
|
|
51
|
+
* @param abortSignal
|
|
52
|
+
*/
|
|
53
|
+
preFetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
|
|
56
|
+
*
|
|
57
|
+
* @param fromAmount Amount of satoshis
|
|
58
|
+
* @param toToken Token address
|
|
59
|
+
* @param abortSignal
|
|
60
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
61
|
+
* @throws {Error} when token is not found
|
|
62
|
+
*/
|
|
63
|
+
getFromBtcSwapAmount(fromAmount: bigint, toToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
|
|
64
|
+
/**
|
|
65
|
+
* Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
|
|
66
|
+
*
|
|
67
|
+
* @param fromAmount Amount of the token
|
|
68
|
+
* @param fromToken Token address
|
|
69
|
+
* @param abortSignal
|
|
70
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
71
|
+
* @throws {Error} when token is not found
|
|
72
|
+
*/
|
|
73
|
+
getToBtcSwapAmount(fromAmount: bigint, fromToken: string, abortSignal?: AbortSignal, preFetchedPrice?: bigint): Promise<bigint>;
|
|
74
|
+
/**
|
|
75
|
+
* Returns whether the token should be ignored and pricing for it not calculated
|
|
76
|
+
*
|
|
77
|
+
* @param tokenAddress Token address
|
|
78
|
+
* @throws {Error} if token is not found
|
|
79
|
+
*/
|
|
80
|
+
shouldIgnore(tokenAddress: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Returns the USD value of the bitcoin amount
|
|
83
|
+
*
|
|
84
|
+
* @param btcSats Bitcoin amount in satoshis
|
|
85
|
+
* @param abortSignal
|
|
86
|
+
* @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
|
|
87
|
+
*/
|
|
88
|
+
getBtcUsdValue(btcSats: bigint, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
|
|
89
|
+
/**
|
|
90
|
+
* Returns the USD value of the smart chain token amount
|
|
91
|
+
*
|
|
92
|
+
* @param tokenAmount Amount of the token in base units
|
|
93
|
+
* @param tokenAddress Token address
|
|
94
|
+
* @param abortSignal
|
|
95
|
+
* @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
|
|
96
|
+
*/
|
|
97
|
+
getTokenUsdValue(tokenAmount: bigint, tokenAddress: string, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
|
|
98
|
+
/**
|
|
99
|
+
* Returns the USD value of the token amount
|
|
100
|
+
*
|
|
101
|
+
* @param amount Amount in base units of the token
|
|
102
|
+
* @param token Token to fetch the usd price for
|
|
103
|
+
* @param abortSignal
|
|
104
|
+
* @param preFetchedUsdPrice An optional price pre-fetched with {@link preFetchUsdPrice}
|
|
105
|
+
*/
|
|
106
|
+
getUsdValue(amount: bigint, token: Token<ChainIdentifier>, abortSignal?: AbortSignal, preFetchedUsdPrice?: number): Promise<number>;
|
|
107
|
+
}
|
|
@@ -1,128 +1,128 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SwapPriceWithChain = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Chain-specific wrapper for swap pricing
|
|
6
|
-
*
|
|
7
|
-
* @category Pricing
|
|
8
|
-
*/
|
|
9
|
-
class SwapPriceWithChain {
|
|
10
|
-
constructor(swapPrice, chainIdentifier) {
|
|
11
|
-
this.swapPrice = swapPrice;
|
|
12
|
-
this.chainIdentifier = chainIdentifier;
|
|
13
|
-
this.maxAllowedFeeDifferencePPM = swapPrice.maxAllowedFeeDifferencePPM;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
17
|
-
*
|
|
18
|
-
* @param amountSats Amount of sats (BTC) to be received from the swap
|
|
19
|
-
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
20
|
-
* @param feePPM PPM fee rate as reported by the intermediary
|
|
21
|
-
* @param paidToken Amount of token to be paid to the swap
|
|
22
|
-
* @param tokenAddress Token address to be paid
|
|
23
|
-
* @param abortSignal Abort signal
|
|
24
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
25
|
-
*/
|
|
26
|
-
async isValidAmountSend(amountSats, satsBaseFee, feePPM, paidToken, tokenAddress, abortSignal, preFetchedPrice) {
|
|
27
|
-
return this.swapPrice.isValidAmountSend(this.chainIdentifier, amountSats, satsBaseFee, feePPM, paidToken, tokenAddress, abortSignal, preFetchedPrice);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
31
|
-
*
|
|
32
|
-
* @param amountSats Amount of sats (BTC) to be paid to the swap
|
|
33
|
-
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
34
|
-
* @param feePPM PPM fee rate as reported by the intermediary
|
|
35
|
-
* @param receiveToken Amount of token to be received from the swap
|
|
36
|
-
* @param tokenAddress Token address to be received
|
|
37
|
-
* @param abortSignal Abort signal
|
|
38
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
39
|
-
*/
|
|
40
|
-
async isValidAmountReceive(amountSats, satsBaseFee, feePPM, receiveToken, tokenAddress, abortSignal, preFetchedPrice) {
|
|
41
|
-
return this.swapPrice.isValidAmountReceive(this.chainIdentifier, amountSats, satsBaseFee, feePPM, receiveToken, tokenAddress, abortSignal, preFetchedPrice);
|
|
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 tokenAddress Token address
|
|
48
|
-
* @param abortSignal Abort signal
|
|
49
|
-
*/
|
|
50
|
-
preFetchPrice(tokenAddress, abortSignal) {
|
|
51
|
-
return this.swapPrice.preFetchPrice(this.chainIdentifier, tokenAddress, abortSignal);
|
|
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
|
-
*/
|
|
59
|
-
preFetchUsdPrice(abortSignal) {
|
|
60
|
-
return this.swapPrice.preFetchUsdPrice(abortSignal);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
|
|
64
|
-
*
|
|
65
|
-
* @param fromAmount Amount of satoshis
|
|
66
|
-
* @param toToken Token address
|
|
67
|
-
* @param abortSignal
|
|
68
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
69
|
-
* @throws {Error} when token is not found
|
|
70
|
-
*/
|
|
71
|
-
async getFromBtcSwapAmount(fromAmount, toToken, abortSignal, preFetchedPrice) {
|
|
72
|
-
return this.swapPrice.getFromBtcSwapAmount(this.chainIdentifier, fromAmount, toToken, abortSignal, preFetchedPrice);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
|
|
76
|
-
*
|
|
77
|
-
* @param fromAmount Amount of the token
|
|
78
|
-
* @param fromToken Token address
|
|
79
|
-
* @param abortSignal
|
|
80
|
-
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
81
|
-
* @throws {Error} when token is not found
|
|
82
|
-
*/
|
|
83
|
-
async getToBtcSwapAmount(fromAmount, fromToken, abortSignal, preFetchedPrice) {
|
|
84
|
-
return this.swapPrice.getToBtcSwapAmount(this.chainIdentifier, fromAmount, fromToken, abortSignal, preFetchedPrice);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Returns whether the token should be ignored and pricing for it not calculated
|
|
88
|
-
*
|
|
89
|
-
* @param tokenAddress Token address
|
|
90
|
-
* @throws {Error} if token is not found
|
|
91
|
-
*/
|
|
92
|
-
shouldIgnore(tokenAddress) {
|
|
93
|
-
return this.swapPrice.shouldIgnore(this.chainIdentifier, tokenAddress);
|
|
94
|
-
}
|
|
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);
|
|
104
|
-
}
|
|
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);
|
|
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
|
-
*/
|
|
124
|
-
getUsdValue(amount, token, abortSignal, preFetchedUsdPrice) {
|
|
125
|
-
return this.swapPrice.getUsdValue(amount, token, abortSignal, preFetchedUsdPrice);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
exports.SwapPriceWithChain = SwapPriceWithChain;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapPriceWithChain = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Chain-specific wrapper for swap pricing
|
|
6
|
+
*
|
|
7
|
+
* @category Pricing
|
|
8
|
+
*/
|
|
9
|
+
class SwapPriceWithChain {
|
|
10
|
+
constructor(swapPrice, chainIdentifier) {
|
|
11
|
+
this.swapPrice = swapPrice;
|
|
12
|
+
this.chainIdentifier = chainIdentifier;
|
|
13
|
+
this.maxAllowedFeeDifferencePPM = swapPrice.maxAllowedFeeDifferencePPM;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
17
|
+
*
|
|
18
|
+
* @param amountSats Amount of sats (BTC) to be received from the swap
|
|
19
|
+
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
20
|
+
* @param feePPM PPM fee rate as reported by the intermediary
|
|
21
|
+
* @param paidToken Amount of token to be paid to the swap
|
|
22
|
+
* @param tokenAddress Token address to be paid
|
|
23
|
+
* @param abortSignal Abort signal
|
|
24
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
25
|
+
*/
|
|
26
|
+
async isValidAmountSend(amountSats, satsBaseFee, feePPM, paidToken, tokenAddress, abortSignal, preFetchedPrice) {
|
|
27
|
+
return this.swapPrice.isValidAmountSend(this.chainIdentifier, amountSats, satsBaseFee, feePPM, paidToken, tokenAddress, abortSignal, preFetchedPrice);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Checks whether the swap amounts are valid given the current market rate for a given pair
|
|
31
|
+
*
|
|
32
|
+
* @param amountSats Amount of sats (BTC) to be paid to the swap
|
|
33
|
+
* @param satsBaseFee Base fee in sats (BTC) as reported by the intermediary
|
|
34
|
+
* @param feePPM PPM fee rate as reported by the intermediary
|
|
35
|
+
* @param receiveToken Amount of token to be received from the swap
|
|
36
|
+
* @param tokenAddress Token address to be received
|
|
37
|
+
* @param abortSignal Abort signal
|
|
38
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
39
|
+
*/
|
|
40
|
+
async isValidAmountReceive(amountSats, satsBaseFee, feePPM, receiveToken, tokenAddress, abortSignal, preFetchedPrice) {
|
|
41
|
+
return this.swapPrice.isValidAmountReceive(this.chainIdentifier, amountSats, satsBaseFee, feePPM, receiveToken, tokenAddress, abortSignal, preFetchedPrice);
|
|
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 tokenAddress Token address
|
|
48
|
+
* @param abortSignal Abort signal
|
|
49
|
+
*/
|
|
50
|
+
preFetchPrice(tokenAddress, abortSignal) {
|
|
51
|
+
return this.swapPrice.preFetchPrice(this.chainIdentifier, tokenAddress, abortSignal);
|
|
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
|
+
*/
|
|
59
|
+
preFetchUsdPrice(abortSignal) {
|
|
60
|
+
return this.swapPrice.preFetchUsdPrice(abortSignal);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Returns amount of `toToken` that is equivalent to `fromAmount` satoshis
|
|
64
|
+
*
|
|
65
|
+
* @param fromAmount Amount of satoshis
|
|
66
|
+
* @param toToken Token address
|
|
67
|
+
* @param abortSignal
|
|
68
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
69
|
+
* @throws {Error} when token is not found
|
|
70
|
+
*/
|
|
71
|
+
async getFromBtcSwapAmount(fromAmount, toToken, abortSignal, preFetchedPrice) {
|
|
72
|
+
return this.swapPrice.getFromBtcSwapAmount(this.chainIdentifier, fromAmount, toToken, abortSignal, preFetchedPrice);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns amount of satoshis that are equivalent to `fromAmount` of `fromToken`
|
|
76
|
+
*
|
|
77
|
+
* @param fromAmount Amount of the token
|
|
78
|
+
* @param fromToken Token address
|
|
79
|
+
* @param abortSignal
|
|
80
|
+
* @param preFetchedPrice An optional price pre-fetched with {@link preFetchPrice}
|
|
81
|
+
* @throws {Error} when token is not found
|
|
82
|
+
*/
|
|
83
|
+
async getToBtcSwapAmount(fromAmount, fromToken, abortSignal, preFetchedPrice) {
|
|
84
|
+
return this.swapPrice.getToBtcSwapAmount(this.chainIdentifier, fromAmount, fromToken, abortSignal, preFetchedPrice);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Returns whether the token should be ignored and pricing for it not calculated
|
|
88
|
+
*
|
|
89
|
+
* @param tokenAddress Token address
|
|
90
|
+
* @throws {Error} if token is not found
|
|
91
|
+
*/
|
|
92
|
+
shouldIgnore(tokenAddress) {
|
|
93
|
+
return this.swapPrice.shouldIgnore(this.chainIdentifier, tokenAddress);
|
|
94
|
+
}
|
|
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);
|
|
104
|
+
}
|
|
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);
|
|
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
|
+
*/
|
|
124
|
+
getUsdValue(amount, token, abortSignal, preFetchedUsdPrice) {
|
|
125
|
+
return this.swapPrice.getUsdValue(amount, token, abortSignal, preFetchedUsdPrice);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.SwapPriceWithChain = SwapPriceWithChain;
|