@atomiqlabs/sdk 8.6.6 → 8.6.7
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 +52 -51
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
- package/dist/bitcoin/coinselect2/blackjack.js +38 -37
- package/dist/bitcoin/coinselect2/index.d.ts +19 -17
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +77 -75
- package/dist/bitcoin/coinselect2/utils.js +123 -123
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +130 -128
- package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
- package/dist/bitcoin/wallet/IBitcoinWallet.js +21 -20
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +101 -99
- 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 +91 -90
- package/dist/http/paramcoders/IParamReader.d.ts +8 -8
- package/dist/http/paramcoders/IParamReader.js +2 -2
- package/dist/http/paramcoders/ParamDecoder.d.ts +44 -42
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +20 -18
- 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 +13 -11
- 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 +174 -173
- 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 +199 -198
- package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +439 -437
- package/dist/intermediaries/apis/IntermediaryAPI.js +603 -603
- 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 -168
- package/dist/prices/abstract/ISwapPrice.js +279 -279
- 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 +687 -686
- 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 +14 -13
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +18 -17
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +15 -14
- 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 +14 -13
- package/dist/swaps/ISwap.d.ts +387 -386
- package/dist/swaps/ISwap.js +346 -346
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +12 -11
- package/dist/swaps/ISwapWrapper.d.ts +285 -283
- 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 +135 -133
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +115 -114
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +101 -98
- 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 +531 -529
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +184 -181
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -418
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +583 -581
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +228 -225
- 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 +191 -190
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -378
- 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 +127 -125
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +242 -241
- 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 +128 -127
- 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 +214 -213
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -756
- 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 +69 -68
- 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 +57 -56
- 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 +43 -42
- 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 +60 -59
- 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 +18 -17
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +31 -30
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +27 -26
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +15 -14
- 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 +70 -69
- package/dist/utils/BitcoinUtils.d.ts +14 -12
- package/dist/utils/BitcoinUtils.js +102 -101
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +14 -13
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +12 -11
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +67 -66
- 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 +55 -54
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +37 -36
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +58 -56
- package/dist/utils/Utils.js +194 -193
- package/package.json +1 -1
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BinancePriceProvider = void 0;
|
|
4
|
-
const ExchangePriceProvider_1 = require("./abstract/ExchangePriceProvider");
|
|
5
|
-
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
-
/**
|
|
7
|
-
* Price provider using Binance exchange API
|
|
8
|
-
*
|
|
9
|
-
* @category Pricing
|
|
10
|
-
*/
|
|
11
|
-
class BinancePriceProvider extends ExchangePriceProvider_1.ExchangePriceProvider {
|
|
12
|
-
constructor(coinsMap, url = "https://api.binance.com/api/v3", httpRequestTimeout) {
|
|
13
|
-
super(coinsMap, url, httpRequestTimeout);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @inheritDoc
|
|
17
|
-
*/
|
|
18
|
-
async fetchPair(pair, abortSignal) {
|
|
19
|
-
const response = await (0, HttpUtils_1.httpGet)(this.url + "/ticker/price?symbol=" + pair, this.httpRequestTimeout, abortSignal);
|
|
20
|
-
return parseFloat(response.price);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* @inheritDoc
|
|
24
|
-
*/
|
|
25
|
-
async fetchUsdPrice(abortSignal) {
|
|
26
|
-
const response = await (0, HttpUtils_1.httpGet)(this.url + "/ticker/price?symbol=BTCUSDC", this.httpRequestTimeout, abortSignal);
|
|
27
|
-
return parseFloat(response.price) / 100000000;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.BinancePriceProvider = BinancePriceProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BinancePriceProvider = void 0;
|
|
4
|
+
const ExchangePriceProvider_1 = require("./abstract/ExchangePriceProvider");
|
|
5
|
+
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
+
/**
|
|
7
|
+
* Price provider using Binance exchange API
|
|
8
|
+
*
|
|
9
|
+
* @category Pricing
|
|
10
|
+
*/
|
|
11
|
+
class BinancePriceProvider extends ExchangePriceProvider_1.ExchangePriceProvider {
|
|
12
|
+
constructor(coinsMap, url = "https://api.binance.com/api/v3", httpRequestTimeout) {
|
|
13
|
+
super(coinsMap, url, httpRequestTimeout);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
async fetchPair(pair, abortSignal) {
|
|
19
|
+
const response = await (0, HttpUtils_1.httpGet)(this.url + "/ticker/price?symbol=" + pair, this.httpRequestTimeout, abortSignal);
|
|
20
|
+
return parseFloat(response.price);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
async fetchUsdPrice(abortSignal) {
|
|
26
|
+
const response = await (0, HttpUtils_1.httpGet)(this.url + "/ticker/price?symbol=BTCUSDC", this.httpRequestTimeout, abortSignal);
|
|
27
|
+
return parseFloat(response.price) / 100000000;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.BinancePriceProvider = BinancePriceProvider;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { CoinType, CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
-
import { HttpPriceProvider } from "./abstract/HttpPriceProvider";
|
|
3
|
-
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
-
export type CoinGeckoResponse<Currency extends string> = {
|
|
5
|
-
[coinId: string]: {
|
|
6
|
-
[c in Currency]: number;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Price provider using CoinGecko API
|
|
11
|
-
* @category Pricing
|
|
12
|
-
*/
|
|
13
|
-
export declare class CoinGeckoPriceProvider<T extends MultiChain> extends HttpPriceProvider<T> {
|
|
14
|
-
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
15
|
-
/**
|
|
16
|
-
* @inheritDoc
|
|
17
|
-
*/
|
|
18
|
-
protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
19
|
-
/**
|
|
20
|
-
* @inheritDoc
|
|
21
|
-
*/
|
|
22
|
-
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
23
|
-
}
|
|
1
|
+
import { CoinType, CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
+
import { HttpPriceProvider } from "./abstract/HttpPriceProvider";
|
|
3
|
+
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
+
export type CoinGeckoResponse<Currency extends string> = {
|
|
5
|
+
[coinId: string]: {
|
|
6
|
+
[c in Currency]: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Price provider using CoinGecko API
|
|
11
|
+
* @category Pricing
|
|
12
|
+
*/
|
|
13
|
+
export declare class CoinGeckoPriceProvider<T extends MultiChain> extends HttpPriceProvider<T> {
|
|
14
|
+
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
23
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoinGeckoPriceProvider = void 0;
|
|
4
|
-
const HttpPriceProvider_1 = require("./abstract/HttpPriceProvider");
|
|
5
|
-
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
-
/**
|
|
7
|
-
* Price provider using CoinGecko API
|
|
8
|
-
* @category Pricing
|
|
9
|
-
*/
|
|
10
|
-
class CoinGeckoPriceProvider extends HttpPriceProvider_1.HttpPriceProvider {
|
|
11
|
-
constructor(coinsMap, url = "https://api.coingecko.com/api/v3", httpRequestTimeout) {
|
|
12
|
-
super(coinsMap, url, httpRequestTimeout);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @inheritDoc
|
|
16
|
-
*/
|
|
17
|
-
async fetchPrice(token, abortSignal) {
|
|
18
|
-
let response = await (0, HttpUtils_1.httpGet)(this.url + "/simple/price?ids=" + token.coinId + "&vs_currencies=sats&precision=6", this.httpRequestTimeout, abortSignal);
|
|
19
|
-
return BigInt(response[token.coinId].sats * 1000000);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @inheritDoc
|
|
23
|
-
*/
|
|
24
|
-
async fetchUsdPrice(abortSignal) {
|
|
25
|
-
let response = await (0, HttpUtils_1.httpGet)(this.url + "/simple/price?ids=bitcoin&vs_currencies=usd&precision=9", this.httpRequestTimeout, abortSignal);
|
|
26
|
-
return response["bitcoin"].usd / 100000000;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.CoinGeckoPriceProvider = CoinGeckoPriceProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoinGeckoPriceProvider = void 0;
|
|
4
|
+
const HttpPriceProvider_1 = require("./abstract/HttpPriceProvider");
|
|
5
|
+
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
+
/**
|
|
7
|
+
* Price provider using CoinGecko API
|
|
8
|
+
* @category Pricing
|
|
9
|
+
*/
|
|
10
|
+
class CoinGeckoPriceProvider extends HttpPriceProvider_1.HttpPriceProvider {
|
|
11
|
+
constructor(coinsMap, url = "https://api.coingecko.com/api/v3", httpRequestTimeout) {
|
|
12
|
+
super(coinsMap, url, httpRequestTimeout);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
async fetchPrice(token, abortSignal) {
|
|
18
|
+
let response = await (0, HttpUtils_1.httpGet)(this.url + "/simple/price?ids=" + token.coinId + "&vs_currencies=sats&precision=6", this.httpRequestTimeout, abortSignal);
|
|
19
|
+
return BigInt(response[token.coinId].sats * 1000000);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
async fetchUsdPrice(abortSignal) {
|
|
25
|
+
let response = await (0, HttpUtils_1.httpGet)(this.url + "/simple/price?ids=bitcoin&vs_currencies=usd&precision=9", this.httpRequestTimeout, abortSignal);
|
|
26
|
+
return response["bitcoin"].usd / 100000000;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.CoinGeckoPriceProvider = CoinGeckoPriceProvider;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { CoinType, CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
-
import { HttpPriceProvider } from "./abstract/HttpPriceProvider";
|
|
3
|
-
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
-
export type CoinPaprikaResponse<Currency extends string> = {
|
|
5
|
-
quotes: {
|
|
6
|
-
[curr in Currency]: {
|
|
7
|
-
price: number;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Price provider using CoinPaprika API
|
|
13
|
-
* @category Pricing
|
|
14
|
-
*/
|
|
15
|
-
export declare class CoinPaprikaPriceProvider<T extends MultiChain> extends HttpPriceProvider<T> {
|
|
16
|
-
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
17
|
-
/**
|
|
18
|
-
* @inheritDoc
|
|
19
|
-
*/
|
|
20
|
-
fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
21
|
-
/**
|
|
22
|
-
* @inheritDoc
|
|
23
|
-
*/
|
|
24
|
-
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
25
|
-
}
|
|
1
|
+
import { CoinType, CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
+
import { HttpPriceProvider } from "./abstract/HttpPriceProvider";
|
|
3
|
+
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
+
export type CoinPaprikaResponse<Currency extends string> = {
|
|
5
|
+
quotes: {
|
|
6
|
+
[curr in Currency]: {
|
|
7
|
+
price: number;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Price provider using CoinPaprika API
|
|
13
|
+
* @category Pricing
|
|
14
|
+
*/
|
|
15
|
+
export declare class CoinPaprikaPriceProvider<T extends MultiChain> extends HttpPriceProvider<T> {
|
|
16
|
+
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
17
|
+
/**
|
|
18
|
+
* @inheritDoc
|
|
19
|
+
*/
|
|
20
|
+
fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
25
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoinPaprikaPriceProvider = void 0;
|
|
4
|
-
const HttpPriceProvider_1 = require("./abstract/HttpPriceProvider");
|
|
5
|
-
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
-
/**
|
|
7
|
-
* Price provider using CoinPaprika API
|
|
8
|
-
* @category Pricing
|
|
9
|
-
*/
|
|
10
|
-
class CoinPaprikaPriceProvider extends HttpPriceProvider_1.HttpPriceProvider {
|
|
11
|
-
constructor(coinsMap, url = "https://api.coinpaprika.com/v1", httpRequestTimeout) {
|
|
12
|
-
super(coinsMap, url, httpRequestTimeout);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @inheritDoc
|
|
16
|
-
*/
|
|
17
|
-
async fetchPrice(token, abortSignal) {
|
|
18
|
-
const response = await (0, HttpUtils_1.httpGet)(this.url + "/tickers/" + token.coinId + "?quotes=BTC", this.httpRequestTimeout, abortSignal);
|
|
19
|
-
return BigInt(Math.floor(response.quotes.BTC.price * 100000000000000));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @inheritDoc
|
|
23
|
-
*/
|
|
24
|
-
async fetchUsdPrice(abortSignal) {
|
|
25
|
-
const response = await (0, HttpUtils_1.httpGet)(this.url + "/tickers/btc-bitcoin?quotes=USD", this.httpRequestTimeout, abortSignal);
|
|
26
|
-
return response.quotes.USD.price / 100000000;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.CoinPaprikaPriceProvider = CoinPaprikaPriceProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoinPaprikaPriceProvider = void 0;
|
|
4
|
+
const HttpPriceProvider_1 = require("./abstract/HttpPriceProvider");
|
|
5
|
+
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
+
/**
|
|
7
|
+
* Price provider using CoinPaprika API
|
|
8
|
+
* @category Pricing
|
|
9
|
+
*/
|
|
10
|
+
class CoinPaprikaPriceProvider extends HttpPriceProvider_1.HttpPriceProvider {
|
|
11
|
+
constructor(coinsMap, url = "https://api.coinpaprika.com/v1", httpRequestTimeout) {
|
|
12
|
+
super(coinsMap, url, httpRequestTimeout);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
async fetchPrice(token, abortSignal) {
|
|
18
|
+
const response = await (0, HttpUtils_1.httpGet)(this.url + "/tickers/" + token.coinId + "?quotes=BTC", this.httpRequestTimeout, abortSignal);
|
|
19
|
+
return BigInt(Math.floor(response.quotes.BTC.price * 100000000000000));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
async fetchUsdPrice(abortSignal) {
|
|
25
|
+
const response = await (0, HttpUtils_1.httpGet)(this.url + "/tickers/btc-bitcoin?quotes=USD", this.httpRequestTimeout, abortSignal);
|
|
26
|
+
return response.quotes.USD.price / 100000000;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.CoinPaprikaPriceProvider = CoinPaprikaPriceProvider;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { CoinType, CtorCoinTypes, IPriceProvider } from "../abstract/IPriceProvider";
|
|
2
|
-
import { MultiChain } from "../../swapper/Swapper";
|
|
3
|
-
import { CustomPriceFunction } from "../../types/CustomPriceFunction";
|
|
4
|
-
/**
|
|
5
|
-
* Price provider using custom pricing function
|
|
6
|
-
*
|
|
7
|
-
* @category Pricing
|
|
8
|
-
*/
|
|
9
|
-
export declare class CustomPriceProvider<T extends MultiChain> extends IPriceProvider<T> {
|
|
10
|
-
readonly getUsdPriceFn: CustomPriceFunction;
|
|
11
|
-
/**
|
|
12
|
-
* @param coinsMap Mapping of token tickers to token addresses
|
|
13
|
-
* @param getUsdPriceFn Pricing function, used to retrieve USD prices of the tokens
|
|
14
|
-
*/
|
|
15
|
-
constructor(coinsMap: CtorCoinTypes<T>, getUsdPriceFn: CustomPriceFunction);
|
|
16
|
-
/**
|
|
17
|
-
* @inheritDoc
|
|
18
|
-
*/
|
|
19
|
-
protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
20
|
-
/**
|
|
21
|
-
* @inheritDoc
|
|
22
|
-
*/
|
|
23
|
-
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
24
|
-
}
|
|
1
|
+
import { CoinType, CtorCoinTypes, IPriceProvider } from "../abstract/IPriceProvider";
|
|
2
|
+
import { MultiChain } from "../../swapper/Swapper";
|
|
3
|
+
import { CustomPriceFunction } from "../../types/CustomPriceFunction";
|
|
4
|
+
/**
|
|
5
|
+
* Price provider using custom pricing function
|
|
6
|
+
*
|
|
7
|
+
* @category Pricing
|
|
8
|
+
*/
|
|
9
|
+
export declare class CustomPriceProvider<T extends MultiChain> extends IPriceProvider<T> {
|
|
10
|
+
readonly getUsdPriceFn: CustomPriceFunction;
|
|
11
|
+
/**
|
|
12
|
+
* @param coinsMap Mapping of token tickers to token addresses
|
|
13
|
+
* @param getUsdPriceFn Pricing function, used to retrieve USD prices of the tokens
|
|
14
|
+
*/
|
|
15
|
+
constructor(coinsMap: CtorCoinTypes<T>, getUsdPriceFn: CustomPriceFunction);
|
|
16
|
+
/**
|
|
17
|
+
* @inheritDoc
|
|
18
|
+
*/
|
|
19
|
+
protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
20
|
+
/**
|
|
21
|
+
* @inheritDoc
|
|
22
|
+
*/
|
|
23
|
+
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
24
|
+
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CustomPriceProvider = void 0;
|
|
4
|
-
const IPriceProvider_1 = require("../abstract/IPriceProvider");
|
|
5
|
-
/**
|
|
6
|
-
* Price provider using custom pricing function
|
|
7
|
-
*
|
|
8
|
-
* @category Pricing
|
|
9
|
-
*/
|
|
10
|
-
class CustomPriceProvider extends IPriceProvider_1.IPriceProvider {
|
|
11
|
-
/**
|
|
12
|
-
* @param coinsMap Mapping of token tickers to token addresses
|
|
13
|
-
* @param getUsdPriceFn Pricing function, used to retrieve USD prices of the tokens
|
|
14
|
-
*/
|
|
15
|
-
constructor(coinsMap, getUsdPriceFn) {
|
|
16
|
-
super(coinsMap);
|
|
17
|
-
this.getUsdPriceFn = getUsdPriceFn;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @inheritDoc
|
|
21
|
-
*/
|
|
22
|
-
async fetchPrice(token, abortSignal) {
|
|
23
|
-
const [btcPrice, tokenPrice] = await this.getUsdPriceFn(["BTC", token.coinId], abortSignal);
|
|
24
|
-
const priceInBtc = tokenPrice / btcPrice;
|
|
25
|
-
return BigInt(Math.floor(priceInBtc *
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @inheritDoc
|
|
29
|
-
*/
|
|
30
|
-
async fetchUsdPrice(abortSignal) {
|
|
31
|
-
const [btcPrice] = await this.getUsdPriceFn(["BTC"], abortSignal);
|
|
32
|
-
return btcPrice /
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.CustomPriceProvider = CustomPriceProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomPriceProvider = void 0;
|
|
4
|
+
const IPriceProvider_1 = require("../abstract/IPriceProvider");
|
|
5
|
+
/**
|
|
6
|
+
* Price provider using custom pricing function
|
|
7
|
+
*
|
|
8
|
+
* @category Pricing
|
|
9
|
+
*/
|
|
10
|
+
class CustomPriceProvider extends IPriceProvider_1.IPriceProvider {
|
|
11
|
+
/**
|
|
12
|
+
* @param coinsMap Mapping of token tickers to token addresses
|
|
13
|
+
* @param getUsdPriceFn Pricing function, used to retrieve USD prices of the tokens
|
|
14
|
+
*/
|
|
15
|
+
constructor(coinsMap, getUsdPriceFn) {
|
|
16
|
+
super(coinsMap);
|
|
17
|
+
this.getUsdPriceFn = getUsdPriceFn;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
async fetchPrice(token, abortSignal) {
|
|
23
|
+
const [btcPrice, tokenPrice] = await this.getUsdPriceFn(["BTC", token.coinId], abortSignal);
|
|
24
|
+
const priceInBtc = tokenPrice / btcPrice;
|
|
25
|
+
return BigInt(Math.floor(priceInBtc * 100000000 * 1000000));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
async fetchUsdPrice(abortSignal) {
|
|
31
|
+
const [btcPrice] = await this.getUsdPriceFn(["BTC"], abortSignal);
|
|
32
|
+
return btcPrice / 100000000;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.CustomPriceProvider = CustomPriceProvider;
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { CoinType, CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
-
import { ExchangePriceProvider } from "./abstract/ExchangePriceProvider";
|
|
3
|
-
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
-
export type KrakenResponse = {
|
|
5
|
-
error: string[];
|
|
6
|
-
result: {
|
|
7
|
-
[ticker: string]: {
|
|
8
|
-
a: [string, string, string];
|
|
9
|
-
b: [string, string, string];
|
|
10
|
-
c: [string, string];
|
|
11
|
-
v: [string, string];
|
|
12
|
-
p: [string, string];
|
|
13
|
-
t: [number, number];
|
|
14
|
-
l: [string, string];
|
|
15
|
-
h: [string, string];
|
|
16
|
-
o: string;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Price provider using Kraken exchange API
|
|
22
|
-
* @category Pricing
|
|
23
|
-
*/
|
|
24
|
-
export declare class KrakenPriceProvider<T extends MultiChain> extends ExchangePriceProvider<T> {
|
|
25
|
-
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
protected fetchPair(pair: string, abortSignal?: AbortSignal): Promise<number>;
|
|
30
|
-
/**
|
|
31
|
-
* @inheritDoc
|
|
32
|
-
*/
|
|
33
|
-
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
34
|
-
/**
|
|
35
|
-
* @inheritDoc
|
|
36
|
-
*/
|
|
37
|
-
protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
38
|
-
}
|
|
1
|
+
import { CoinType, CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
+
import { ExchangePriceProvider } from "./abstract/ExchangePriceProvider";
|
|
3
|
+
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
+
export type KrakenResponse = {
|
|
5
|
+
error: string[];
|
|
6
|
+
result: {
|
|
7
|
+
[ticker: string]: {
|
|
8
|
+
a: [string, string, string];
|
|
9
|
+
b: [string, string, string];
|
|
10
|
+
c: [string, string];
|
|
11
|
+
v: [string, string];
|
|
12
|
+
p: [string, string];
|
|
13
|
+
t: [number, number];
|
|
14
|
+
l: [string, string];
|
|
15
|
+
h: [string, string];
|
|
16
|
+
o: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Price provider using Kraken exchange API
|
|
22
|
+
* @category Pricing
|
|
23
|
+
*/
|
|
24
|
+
export declare class KrakenPriceProvider<T extends MultiChain> extends ExchangePriceProvider<T> {
|
|
25
|
+
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
protected fetchPair(pair: string, abortSignal?: AbortSignal): Promise<number>;
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
34
|
+
/**
|
|
35
|
+
* @inheritDoc
|
|
36
|
+
*/
|
|
37
|
+
protected fetchPrice(token: CoinType, abortSignal?: AbortSignal): Promise<bigint>;
|
|
38
|
+
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KrakenPriceProvider = void 0;
|
|
4
|
-
const ExchangePriceProvider_1 = require("./abstract/ExchangePriceProvider");
|
|
5
|
-
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
-
/**
|
|
7
|
-
* Price provider using Kraken exchange API
|
|
8
|
-
* @category Pricing
|
|
9
|
-
*/
|
|
10
|
-
class KrakenPriceProvider extends ExchangePriceProvider_1.ExchangePriceProvider {
|
|
11
|
-
constructor(coinsMap, url = "https://api.kraken.com/0", 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 + "/public/Ticker?pair=" + pair, this.httpRequestTimeout, abortSignal);
|
|
19
|
-
return parseFloat(response.result[pair].c[0]);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @inheritDoc
|
|
23
|
-
*/
|
|
24
|
-
async fetchUsdPrice(abortSignal) {
|
|
25
|
-
const response = await (0, HttpUtils_1.httpGet)(this.url + "/public/Ticker?pair=XBTUSDC", this.httpRequestTimeout, abortSignal);
|
|
26
|
-
return parseFloat(response.result["XBTUSDC"].c[0]) / 100000000;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @inheritDoc
|
|
30
|
-
*/
|
|
31
|
-
async fetchPrice(token, abortSignal) {
|
|
32
|
-
const pairs = token.coinId.split(";");
|
|
33
|
-
const response = await (0, HttpUtils_1.httpGet)(this.url + "/public/Ticker?pair=" + pairs.map(val => val.startsWith("!") ? val.substring(1) : val).join(","), this.httpRequestTimeout, abortSignal);
|
|
34
|
-
const prices = pairs.map(pair => {
|
|
35
|
-
let invert = pair.startsWith("!");
|
|
36
|
-
if (invert)
|
|
37
|
-
pair = pair.substring(1);
|
|
38
|
-
const value = parseFloat(response.result[pair].c[0]);
|
|
39
|
-
return invert ? 1 / value : value;
|
|
40
|
-
});
|
|
41
|
-
const price = prices.reduce((previousValue, currentValue) => previousValue * currentValue, 1);
|
|
42
|
-
return BigInt(Math.floor(price * 100000000000000));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.KrakenPriceProvider = KrakenPriceProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KrakenPriceProvider = void 0;
|
|
4
|
+
const ExchangePriceProvider_1 = require("./abstract/ExchangePriceProvider");
|
|
5
|
+
const HttpUtils_1 = require("../../http/HttpUtils");
|
|
6
|
+
/**
|
|
7
|
+
* Price provider using Kraken exchange API
|
|
8
|
+
* @category Pricing
|
|
9
|
+
*/
|
|
10
|
+
class KrakenPriceProvider extends ExchangePriceProvider_1.ExchangePriceProvider {
|
|
11
|
+
constructor(coinsMap, url = "https://api.kraken.com/0", 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 + "/public/Ticker?pair=" + pair, this.httpRequestTimeout, abortSignal);
|
|
19
|
+
return parseFloat(response.result[pair].c[0]);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
async fetchUsdPrice(abortSignal) {
|
|
25
|
+
const response = await (0, HttpUtils_1.httpGet)(this.url + "/public/Ticker?pair=XBTUSDC", this.httpRequestTimeout, abortSignal);
|
|
26
|
+
return parseFloat(response.result["XBTUSDC"].c[0]) / 100000000;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
async fetchPrice(token, abortSignal) {
|
|
32
|
+
const pairs = token.coinId.split(";");
|
|
33
|
+
const response = await (0, HttpUtils_1.httpGet)(this.url + "/public/Ticker?pair=" + pairs.map(val => val.startsWith("!") ? val.substring(1) : val).join(","), this.httpRequestTimeout, abortSignal);
|
|
34
|
+
const prices = pairs.map(pair => {
|
|
35
|
+
let invert = pair.startsWith("!");
|
|
36
|
+
if (invert)
|
|
37
|
+
pair = pair.substring(1);
|
|
38
|
+
const value = parseFloat(response.result[pair].c[0]);
|
|
39
|
+
return invert ? 1 / value : value;
|
|
40
|
+
});
|
|
41
|
+
const price = prices.reduce((previousValue, currentValue) => previousValue * currentValue, 1);
|
|
42
|
+
return BigInt(Math.floor(price * 100000000000000));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.KrakenPriceProvider = KrakenPriceProvider;
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
-
import { ExchangePriceProvider } from "./abstract/ExchangePriceProvider";
|
|
3
|
-
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
-
export type OKXResponse = {
|
|
5
|
-
code: string;
|
|
6
|
-
msg: string;
|
|
7
|
-
data: [
|
|
8
|
-
{
|
|
9
|
-
instId: string;
|
|
10
|
-
idxPx: string;
|
|
11
|
-
high24h: string;
|
|
12
|
-
sodUtc0: string;
|
|
13
|
-
open24h: string;
|
|
14
|
-
low24h: string;
|
|
15
|
-
sodUtc8: string;
|
|
16
|
-
ts: string;
|
|
17
|
-
}
|
|
18
|
-
];
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Price provider using OKX exchange API
|
|
22
|
-
* @category Pricing
|
|
23
|
-
*/
|
|
24
|
-
export declare class OKXPriceProvider<T extends MultiChain> extends ExchangePriceProvider<T> {
|
|
25
|
-
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
fetchPair(pair: string, abortSignal?: AbortSignal): Promise<number>;
|
|
30
|
-
/**
|
|
31
|
-
* @inheritDoc
|
|
32
|
-
*/
|
|
33
|
-
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
34
|
-
}
|
|
1
|
+
import { CtorCoinTypes } from "../abstract/IPriceProvider";
|
|
2
|
+
import { ExchangePriceProvider } from "./abstract/ExchangePriceProvider";
|
|
3
|
+
import { MultiChain } from "../../swapper/Swapper";
|
|
4
|
+
export type OKXResponse = {
|
|
5
|
+
code: string;
|
|
6
|
+
msg: string;
|
|
7
|
+
data: [
|
|
8
|
+
{
|
|
9
|
+
instId: string;
|
|
10
|
+
idxPx: string;
|
|
11
|
+
high24h: string;
|
|
12
|
+
sodUtc0: string;
|
|
13
|
+
open24h: string;
|
|
14
|
+
low24h: string;
|
|
15
|
+
sodUtc8: string;
|
|
16
|
+
ts: string;
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Price provider using OKX exchange API
|
|
22
|
+
* @category Pricing
|
|
23
|
+
*/
|
|
24
|
+
export declare class OKXPriceProvider<T extends MultiChain> extends ExchangePriceProvider<T> {
|
|
25
|
+
constructor(coinsMap: CtorCoinTypes<T>, url?: string, httpRequestTimeout?: number);
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
fetchPair(pair: string, abortSignal?: AbortSignal): Promise<number>;
|
|
30
|
+
/**
|
|
31
|
+
* @inheritDoc
|
|
32
|
+
*/
|
|
33
|
+
protected fetchUsdPrice(abortSignal?: AbortSignal): Promise<number>;
|
|
34
|
+
}
|