@atomiqlabs/sdk 8.1.8 → 8.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bitcoin/coinselect2/utils.d.ts +6 -0
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +41 -5
- package/dist/bitcoin/wallet/BitcoinWallet.js +36 -1
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +52 -2
- package/dist/bitcoin/wallet/IBitcoinWallet.js +2 -1
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +42 -7
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +36 -1
- package/dist/enums/FeeType.d.ts +8 -1
- package/dist/enums/FeeType.js +8 -1
- package/dist/enums/SwapAmountType.d.ts +7 -0
- package/dist/enums/SwapAmountType.js +7 -0
- package/dist/enums/SwapDirection.d.ts +7 -0
- package/dist/enums/SwapDirection.js +7 -0
- package/dist/enums/SwapType.d.ts +62 -1
- package/dist/enums/SwapType.js +62 -1
- package/dist/errors/IntermediaryError.d.ts +4 -0
- package/dist/errors/IntermediaryError.js +1 -0
- package/dist/errors/RequestError.d.ts +15 -1
- package/dist/errors/RequestError.js +8 -0
- package/dist/errors/UserError.d.ts +1 -0
- package/dist/errors/UserError.js +1 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.js +7 -6
- package/dist/intermediaries/Intermediary.d.ts +61 -14
- package/dist/intermediaries/Intermediary.js +38 -11
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +62 -29
- package/dist/intermediaries/IntermediaryDiscovery.js +39 -24
- package/dist/prices/RedundantSwapPrice.d.ts +26 -5
- package/dist/prices/RedundantSwapPrice.js +22 -2
- package/dist/prices/SingleSwapPrice.d.ts +10 -7
- package/dist/prices/SingleSwapPrice.js +11 -8
- package/dist/prices/SwapPriceWithChain.d.ts +56 -19
- package/dist/prices/SwapPriceWithChain.js +62 -25
- package/dist/prices/abstract/IPriceProvider.d.ts +4 -4
- package/dist/prices/abstract/IPriceProvider.js +1 -1
- package/dist/prices/abstract/ISwapPrice.d.ts +95 -46
- package/dist/prices/abstract/ISwapPrice.js +104 -56
- package/dist/prices/providers/BinancePriceProvider.d.ts +8 -1
- package/dist/prices/providers/BinancePriceProvider.js +8 -1
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +7 -1
- package/dist/prices/providers/CoinGeckoPriceProvider.js +7 -1
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +7 -1
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +7 -1
- package/dist/prices/providers/CustomPriceProvider.d.ts +12 -1
- package/dist/prices/providers/CustomPriceProvider.js +12 -1
- package/dist/prices/providers/KrakenPriceProvider.d.ts +10 -1
- package/dist/prices/providers/KrakenPriceProvider.js +10 -1
- package/dist/prices/providers/OKXPriceProvider.d.ts +7 -1
- package/dist/prices/providers/OKXPriceProvider.js +7 -1
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +3 -0
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +3 -0
- package/dist/storage/IUnifiedStorage.d.ts +19 -7
- package/dist/storage/UnifiedSwapStorage.d.ts +33 -3
- package/dist/storage/UnifiedSwapStorage.js +29 -1
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +31 -7
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +29 -6
- package/dist/storage-browser/LocalStorageManager.d.ts +25 -1
- package/dist/storage-browser/LocalStorageManager.js +25 -1
- package/dist/swapper/Swapper.d.ts +380 -226
- package/dist/swapper/Swapper.js +383 -349
- package/dist/swapper/SwapperFactory.d.ts +66 -18
- package/dist/swapper/SwapperFactory.js +24 -3
- package/dist/swapper/SwapperUtils.d.ts +75 -28
- package/dist/swapper/SwapperUtils.js +107 -60
- package/dist/swapper/SwapperWithChain.d.ts +286 -91
- package/dist/swapper/SwapperWithChain.js +218 -64
- package/dist/swapper/SwapperWithSigner.d.ts +229 -80
- package/dist/swapper/SwapperWithSigner.js +190 -44
- package/dist/swaps/IAddressSwap.d.ts +12 -3
- package/dist/swaps/IAddressSwap.js +3 -2
- package/dist/swaps/IBTCWalletSwap.d.ts +26 -8
- package/dist/swaps/IBTCWalletSwap.js +3 -2
- package/dist/swaps/IClaimableSwap.d.ts +38 -6
- package/dist/swaps/IClaimableSwap.js +3 -2
- package/dist/swaps/IClaimableSwapWrapper.d.ts +11 -1
- package/dist/swaps/IRefundableSwap.d.ts +31 -5
- package/dist/swaps/IRefundableSwap.js +3 -2
- package/dist/swaps/ISwap.d.ts +162 -24
- package/dist/swaps/ISwap.js +92 -35
- package/dist/swaps/ISwapWithGasDrop.d.ts +8 -2
- package/dist/swaps/ISwapWithGasDrop.js +2 -1
- package/dist/swaps/ISwapWrapper.d.ts +161 -52
- package/dist/swaps/ISwapWrapper.js +131 -73
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +51 -6
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +22 -12
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +65 -12
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +38 -19
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +39 -9
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +30 -21
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +31 -15
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +33 -18
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +97 -28
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +91 -27
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +22 -9
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +24 -11
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +278 -60
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +519 -241
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +77 -26
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +132 -50
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +313 -52
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +544 -194
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +87 -26
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +147 -58
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +222 -55
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +462 -244
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +77 -23
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +116 -46
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +195 -58
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +324 -191
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +30 -5
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +44 -19
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +61 -20
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +75 -32
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +76 -50
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +106 -101
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +37 -14
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +66 -20
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +46 -17
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +82 -27
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +350 -88
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +482 -215
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +76 -24
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +247 -124
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +148 -20
- package/dist/swaps/trusted/ln/LnForGasSwap.js +175 -45
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +29 -10
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +30 -11
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +202 -49
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +232 -80
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +34 -12
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +33 -14
- package/dist/types/AmountData.d.ts +2 -1
- package/dist/types/CustomPriceFunction.d.ts +8 -2
- package/dist/types/PriceInfoType.d.ts +4 -4
- package/dist/types/PriceInfoType.js +3 -3
- package/dist/types/SwapExecutionAction.d.ts +85 -4
- package/dist/types/SwapWithSigner.d.ts +5 -2
- package/dist/types/SwapWithSigner.js +5 -2
- package/dist/types/Token.d.ts +11 -5
- package/dist/types/Token.js +6 -3
- package/dist/types/TokenAmount.d.ts +3 -0
- package/dist/types/TokenAmount.js +2 -0
- package/dist/types/fees/Fee.d.ts +3 -2
- package/dist/types/fees/FeeBreakdown.d.ts +3 -2
- package/dist/types/fees/PercentagePPM.d.ts +4 -2
- package/dist/types/fees/PercentagePPM.js +2 -1
- package/dist/types/lnurl/LNURLPay.d.ts +20 -12
- package/dist/types/lnurl/LNURLPay.js +8 -4
- package/dist/types/lnurl/LNURLWithdraw.d.ts +17 -10
- package/dist/types/lnurl/LNURLWithdraw.js +8 -4
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -0
- package/dist/types/wallets/LightningInvoiceCreateService.js +15 -0
- package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +3 -1
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +4 -2
- package/dist/utils/BitcoinUtils.d.ts +1 -0
- package/dist/utils/BitcoinUtils.js +5 -1
- package/dist/utils/SwapUtils.d.ts +58 -1
- package/dist/utils/SwapUtils.js +55 -1
- package/dist/utils/TokenUtils.d.ts +10 -2
- package/dist/utils/TokenUtils.js +12 -4
- package/package.json +3 -3
- package/src/bitcoin/coinselect2/utils.ts +6 -0
- package/src/bitcoin/wallet/BitcoinWallet.ts +41 -5
- package/src/bitcoin/wallet/IBitcoinWallet.ts +57 -2
- package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +42 -6
- package/src/enums/FeeType.ts +8 -1
- package/src/enums/SwapAmountType.ts +7 -0
- package/src/enums/SwapDirection.ts +7 -0
- package/src/enums/SwapType.ts +62 -2
- package/src/errors/IntermediaryError.ts +4 -0
- package/src/errors/RequestError.ts +15 -1
- package/src/errors/UserError.ts +1 -0
- package/src/index.ts +12 -5
- package/src/intermediaries/Intermediary.ts +61 -14
- package/src/intermediaries/IntermediaryDiscovery.ts +69 -34
- package/src/prices/RedundantSwapPrice.ts +26 -6
- package/src/prices/SingleSwapPrice.ts +11 -8
- package/src/prices/SwapPriceWithChain.ts +63 -26
- package/src/prices/abstract/IPriceProvider.ts +4 -4
- package/src/prices/abstract/ISwapPrice.ts +115 -66
- package/src/prices/providers/BinancePriceProvider.ts +8 -1
- package/src/prices/providers/CoinGeckoPriceProvider.ts +7 -1
- package/src/prices/providers/CoinPaprikaPriceProvider.ts +7 -1
- package/src/prices/providers/CustomPriceProvider.ts +12 -1
- package/src/prices/providers/KrakenPriceProvider.ts +10 -1
- package/src/prices/providers/OKXPriceProvider.ts +7 -1
- package/src/prices/providers/abstract/ExchangePriceProvider.ts +3 -0
- package/src/storage/IUnifiedStorage.ts +19 -7
- package/src/storage/UnifiedSwapStorage.ts +33 -3
- package/src/storage-browser/IndexedDBUnifiedStorage.ts +31 -8
- package/src/storage-browser/LocalStorageManager.ts +25 -1
- package/src/swapper/Swapper.ts +599 -390
- package/src/swapper/SwapperFactory.ts +73 -24
- package/src/swapper/SwapperUtils.ts +107 -60
- package/src/swapper/SwapperWithChain.ts +320 -81
- package/src/swapper/SwapperWithSigner.ts +263 -56
- package/src/swaps/IAddressSwap.ts +13 -3
- package/src/swaps/IBTCWalletSwap.ts +26 -10
- package/src/swaps/IClaimableSwap.ts +41 -6
- package/src/swaps/IClaimableSwapWrapper.ts +11 -2
- package/src/swaps/IRefundableSwap.ts +34 -5
- package/src/swaps/ISwap.ts +224 -85
- package/src/swaps/ISwapWithGasDrop.ts +8 -2
- package/src/swaps/ISwapWrapper.ts +216 -98
- package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +64 -18
- package/src/swaps/escrow_swaps/IEscrowSwap.ts +83 -37
- package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +61 -30
- package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +37 -19
- package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +123 -50
- package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +24 -11
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +562 -258
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +156 -62
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +592 -227
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +177 -74
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +483 -245
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +141 -59
- package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +350 -195
- package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +48 -23
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +87 -40
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +110 -110
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +89 -34
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +101 -31
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +556 -259
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +292 -148
- package/src/swaps/trusted/ln/LnForGasSwap.ts +186 -47
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +34 -15
- package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +262 -88
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +41 -19
- package/src/types/AmountData.ts +2 -1
- package/src/types/CustomPriceFunction.ts +8 -2
- package/src/types/PriceInfoType.ts +4 -4
- package/src/types/SwapExecutionAction.ts +97 -5
- package/src/types/SwapWithSigner.ts +8 -4
- package/src/types/Token.ts +12 -5
- package/src/types/TokenAmount.ts +3 -0
- package/src/types/fees/Fee.ts +3 -2
- package/src/types/fees/FeeBreakdown.ts +3 -2
- package/src/types/fees/PercentagePPM.ts +4 -2
- package/src/types/lnurl/LNURLPay.ts +20 -12
- package/src/types/lnurl/LNURLWithdraw.ts +17 -10
- package/src/types/wallets/LightningInvoiceCreateService.ts +30 -0
- package/src/types/wallets/MinimalBitcoinWalletInterface.ts +3 -1
- package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +4 -2
- package/src/utils/BitcoinUtils.ts +5 -0
- package/src/utils/SwapUtils.ts +63 -1
- package/src/utils/TokenUtils.ts +12 -4
- package/dist/bitcoin/BitcoinRpcWithAddressIndex.d.ts +0 -68
- package/dist/bitcoin/BitcoinRpcWithAddressIndex.js +0 -2
- package/dist/bitcoin/LightningNetworkApi.d.ts +0 -12
- package/dist/bitcoin/LightningNetworkApi.js +0 -2
- package/dist/bitcoin/mempool/MempoolApi.d.ts +0 -350
- package/dist/bitcoin/mempool/MempoolApi.js +0 -311
- package/dist/bitcoin/mempool/MempoolBitcoinBlock.d.ts +0 -44
- package/dist/bitcoin/mempool/MempoolBitcoinBlock.js +0 -48
- package/dist/bitcoin/mempool/MempoolBitcoinRpc.d.ts +0 -119
- package/dist/bitcoin/mempool/MempoolBitcoinRpc.js +0 -361
- package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.d.ts +0 -22
- package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.js +0 -105
- package/dist/errors/PaymentAuthError.d.ts +0 -11
- package/dist/errors/PaymentAuthError.js +0 -23
- package/src/errors/PaymentAuthError.ts +0 -26
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { ISwapPrice } from "../prices/abstract/ISwapPrice";
|
|
3
|
-
import { BitcoinNetwork, BtcRelay, ChainData, ChainType, Messenger, RelaySynchronizer } from "@atomiqlabs/base";
|
|
4
|
-
import {
|
|
3
|
+
import { BitcoinNetwork, BitcoinRpcWithAddressIndex, BtcBlock, BtcRelay, ChainData, ChainType, LightningNetworkApi, Messenger, RelaySynchronizer } from "@atomiqlabs/base";
|
|
4
|
+
import { ToBTCLNOptions, ToBTCLNWrapper } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper";
|
|
5
5
|
import { ToBTCOptions, ToBTCWrapper } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper";
|
|
6
6
|
import { FromBTCLNOptions, FromBTCLNWrapper } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper";
|
|
7
7
|
import { FromBTCOptions, FromBTCWrapper } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper";
|
|
8
|
-
import { IntermediaryDiscovery
|
|
8
|
+
import { IntermediaryDiscovery } from "../intermediaries/IntermediaryDiscovery";
|
|
9
9
|
import { ISwap } from "../swaps/ISwap";
|
|
10
10
|
import { SwapType } from "../enums/SwapType";
|
|
11
11
|
import { FromBTCLNSwap } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap";
|
|
@@ -38,29 +38,100 @@ import { BtcToken, SCToken, Token } from "../types/Token";
|
|
|
38
38
|
import { LNURLWithdraw } from "../types/lnurl/LNURLWithdraw";
|
|
39
39
|
import { LNURLPay } from "../types/lnurl/LNURLPay";
|
|
40
40
|
import { NotNever } from "../utils/TypeUtils";
|
|
41
|
-
import {
|
|
41
|
+
import { LightningInvoiceCreateService } from "../types/wallets/LightningInvoiceCreateService";
|
|
42
42
|
/**
|
|
43
43
|
* Configuration options for the Swapper
|
|
44
44
|
* @category Core
|
|
45
45
|
*/
|
|
46
46
|
export type SwapperOptions = {
|
|
47
|
+
/**
|
|
48
|
+
* Manual override for the intermediary (LP) URLs for the SDK to use, by default these are fetched automatically
|
|
49
|
+
* from the registry
|
|
50
|
+
*/
|
|
47
51
|
intermediaryUrl?: string | string[];
|
|
52
|
+
/**
|
|
53
|
+
* Registry URL for where to look for active intermediary (LP) endpoint URLs
|
|
54
|
+
*/
|
|
48
55
|
registryUrl?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Bitcoin network to use for the swaps,
|
|
58
|
+
*/
|
|
49
59
|
bitcoinNetwork?: BitcoinNetwork;
|
|
60
|
+
/**
|
|
61
|
+
* Timeout (in milliseconds) for HTTP GET requests done by the SDK
|
|
62
|
+
*/
|
|
50
63
|
getRequestTimeout?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Timeout (in milliseconds) for HTTP POST requests done by the SDK
|
|
66
|
+
*/
|
|
51
67
|
postRequestTimeout?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Additional parameters to be sent to the intermediaries (LPs), when requesting quotes from them
|
|
70
|
+
*/
|
|
52
71
|
defaultAdditionalParameters?: {
|
|
53
72
|
[key: string]: any;
|
|
54
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* Optional name prefix to use when creating a swap storage, you can use this to create separate storage
|
|
76
|
+
* instances that don't overlap.
|
|
77
|
+
*/
|
|
55
78
|
storagePrefix?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Sets the default intermediary (LP) to use for the trusted gas swaps, if not set the SDK uses a default one
|
|
81
|
+
*/
|
|
56
82
|
defaultTrustedIntermediaryUrl?: string;
|
|
57
|
-
|
|
83
|
+
/**
|
|
84
|
+
* A function callback to retrieve a specific named storage container for swap persistency. If not present, the
|
|
85
|
+
* default IndexedDB storage adapter is used. When you use the SDK in non-browser based environments you need to
|
|
86
|
+
* provide this callback such that the SDK is able to use a custom storage adapter.
|
|
87
|
+
*
|
|
88
|
+
* @param storageName Name of the container to retrieve
|
|
89
|
+
*/
|
|
90
|
+
swapStorage?: (storageName: string) => IUnifiedStorage<UnifiedSwapStorageIndexes, UnifiedSwapStorageCompositeIndexes>;
|
|
91
|
+
/**
|
|
92
|
+
* By setting this flag, the swapper doesn't schedule automatic tick timers. To make sure the swap states are
|
|
93
|
+
* properly updated (e.g. the expired swaps properly move to the expired state), you should call the
|
|
94
|
+
* {@link Swapper._syncSwaps} function periodically. This flag should be set when you run an environment that
|
|
95
|
+
* doesn't support long-running timers - e.g. serverless environments like Azure Function Apps or AWS Lambda
|
|
96
|
+
*/
|
|
58
97
|
noTimers?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* By setting this flag, the swapper doesn't subscribe to on-chain events. To make sure the swap states are
|
|
100
|
+
* properly updated you should call the {@link Swapper._syncSwaps} function periodically. This flag should be
|
|
101
|
+
* set when you run an environment that doesn't support long-running timers and websocket connections - e.g.
|
|
102
|
+
* serverless environments like Azure Function Apps or AWS Lambda
|
|
103
|
+
*/
|
|
59
104
|
noEvents?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* By setting this flag, the swap objects will not be cached in the SDK and instead will always be loaded from
|
|
107
|
+
* the persistent storage. By default, the SDK uses a `WeakRef` mapping of swaps, to ensure that when the same
|
|
108
|
+
* swap is loaded concurrently, it returns the same object reference to both, making the changes on the object
|
|
109
|
+
* atomic. This flag should be set to `true` when running in an environment where multiple instances of the SDK
|
|
110
|
+
* access the same swap database - e.g. serverless environments like Azure Function Apps or AWS Lambda
|
|
111
|
+
*/
|
|
60
112
|
noSwapCache?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Skip checking past swaps when the swapper is initiated with {@link Swapper.init}, you can call the
|
|
115
|
+
* {@link Swapper._syncSwaps} function later, to check the swaps. By default, the SDK checks the state
|
|
116
|
+
* of all the known swaps during init.
|
|
117
|
+
*/
|
|
61
118
|
dontCheckPastSwaps?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Skip fetching the LPs when the swapper is initiated with {@link Swapper.init}, this means the list of available
|
|
121
|
+
* tokens and swap limits won't be available immediately. LPs will be fetched automatically later, when a swap
|
|
122
|
+
* is requested
|
|
123
|
+
*/
|
|
62
124
|
dontFetchLPs?: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* By setting this flag the SDK persists all created swaps. By default, the SDK only saves and persists swaps that
|
|
127
|
+
* are considered initiated, i.e. when `commit()`, `execute()` or `waitTillPayment` is called (or their respective
|
|
128
|
+
* txs... prefixed variations).
|
|
129
|
+
*/
|
|
63
130
|
saveUninitializedSwaps?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Automatically checks system time on initialize, if the system time drifts too far from the actual time
|
|
133
|
+
* (as checked from multiple server sources) it adjusts the `Date.now()` function to return proper actual time.
|
|
134
|
+
*/
|
|
64
135
|
automaticClockDriftCorrection?: boolean;
|
|
65
136
|
};
|
|
66
137
|
/**
|
|
@@ -85,8 +156,8 @@ type ChainSpecificData<T extends ChainType> = {
|
|
|
85
156
|
swapContract: T["Contract"];
|
|
86
157
|
spvVaultContract: T["SpvVaultContract"];
|
|
87
158
|
chainInterface: T["ChainInterface"];
|
|
88
|
-
btcRelay: BtcRelay<any, T["TX"],
|
|
89
|
-
synchronizer: RelaySynchronizer<any, T["TX"],
|
|
159
|
+
btcRelay: BtcRelay<any, T["TX"], BtcBlock, T["Signer"]>;
|
|
160
|
+
synchronizer: RelaySynchronizer<any, T["TX"], BtcBlock>;
|
|
90
161
|
unifiedChainEvents: UnifiedSwapEventListener<T>;
|
|
91
162
|
unifiedSwapStorage: UnifiedSwapStorage<T>;
|
|
92
163
|
reviver: (val: any) => ISwap<T>;
|
|
@@ -108,7 +179,8 @@ export type ChainIds<T extends MultiChain> = keyof T & string;
|
|
|
108
179
|
*/
|
|
109
180
|
export type SupportsSwapType<C extends ChainType, Type extends SwapType> = Type extends SwapType.SPV_VAULT_FROM_BTC ? NotNever<C["SpvVaultContract"]> : Type extends (SwapType.TRUSTED_FROM_BTCLN | SwapType.TRUSTED_FROM_BTC) ? true : Type extends SwapType.FROM_BTCLN_AUTO ? (C["Contract"]["supportsInitWithoutClaimer"] extends true ? true : false) : NotNever<C["Contract"]>;
|
|
110
181
|
/**
|
|
111
|
-
* Core orchestrator for all swap operations
|
|
182
|
+
* Core orchestrator for all atomiq swap operations
|
|
183
|
+
*
|
|
112
184
|
* @category Core
|
|
113
185
|
*/
|
|
114
186
|
export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
@@ -117,30 +189,64 @@ export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
|
117
189
|
swapState: [ISwap];
|
|
118
190
|
swapLimitsChanged: [];
|
|
119
191
|
}> {
|
|
120
|
-
|
|
121
|
-
|
|
192
|
+
private readonly logger;
|
|
193
|
+
private readonly swapStateListener;
|
|
122
194
|
private defaultTrustedIntermediary?;
|
|
123
|
-
private readonly
|
|
195
|
+
private readonly bitcoinNetwork;
|
|
124
196
|
private readonly options;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
readonly
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
readonly
|
|
197
|
+
/**
|
|
198
|
+
* Data propagation layer used for broadcasting messages to watchtowers
|
|
199
|
+
*/
|
|
200
|
+
private readonly messenger;
|
|
201
|
+
/**
|
|
202
|
+
* A dictionary of smart chains used by the SDK
|
|
203
|
+
* @internal
|
|
204
|
+
*/
|
|
205
|
+
readonly _chains: MultiChainData<T>;
|
|
206
|
+
/**
|
|
207
|
+
* Bitcoin RPC for fetching bitcoin chain data
|
|
208
|
+
* @internal
|
|
209
|
+
*/
|
|
210
|
+
readonly _bitcoinRpc: BitcoinRpcWithAddressIndex<any>;
|
|
211
|
+
/**
|
|
212
|
+
* Bitcoin network specification
|
|
213
|
+
* @internal
|
|
214
|
+
*/
|
|
215
|
+
readonly _btcNetwork: BTC_NETWORK;
|
|
216
|
+
/**
|
|
217
|
+
* Token data indexed by chain identifier and token addresses
|
|
218
|
+
* @internal
|
|
219
|
+
*/
|
|
220
|
+
readonly _tokens: {
|
|
134
221
|
[chainId: string]: {
|
|
135
222
|
[tokenAddress: string]: SCToken;
|
|
136
223
|
};
|
|
137
224
|
};
|
|
138
|
-
|
|
225
|
+
/**
|
|
226
|
+
* Token data indexed by chain identifier and token tickers
|
|
227
|
+
* @internal
|
|
228
|
+
*/
|
|
229
|
+
readonly _tokensByTicker: {
|
|
139
230
|
[chainId: string]: {
|
|
140
231
|
[tokenTicker: string]: SCToken;
|
|
141
232
|
};
|
|
142
233
|
};
|
|
143
|
-
|
|
234
|
+
/**
|
|
235
|
+
* Pricing API used by the SDK
|
|
236
|
+
*/
|
|
237
|
+
readonly prices: ISwapPrice<T>;
|
|
238
|
+
/**
|
|
239
|
+
* Intermediary discovery instance
|
|
240
|
+
*/
|
|
241
|
+
readonly intermediaryDiscovery: IntermediaryDiscovery;
|
|
242
|
+
/**
|
|
243
|
+
* Miscellaneous utility functions
|
|
244
|
+
*/
|
|
245
|
+
readonly Utils: SwapperUtils<T>;
|
|
246
|
+
/**
|
|
247
|
+
* @internal
|
|
248
|
+
*/
|
|
249
|
+
constructor(bitcoinRpc: BitcoinRpcWithAddressIndex<any>, lightningApi: LightningNetworkApi, bitcoinSynchronizer: (btcRelay: BtcRelay<any, any, any>) => RelaySynchronizer<any, any, any>, chainsData: CtorMultiChainData<T>, pricing: ISwapPrice<T>, tokens: WrapperCtorTokens<T>, messenger: Messenger, options?: SwapperOptions);
|
|
144
250
|
private _init;
|
|
145
251
|
private initPromise?;
|
|
146
252
|
private initialized;
|
|
@@ -166,165 +272,225 @@ export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
|
166
272
|
*/
|
|
167
273
|
private createSwap;
|
|
168
274
|
/**
|
|
169
|
-
* Creates
|
|
275
|
+
* Creates Smart chain -> Bitcoin ({@link SwapType.TO_BTC}) swap
|
|
170
276
|
*
|
|
171
|
-
* @param chainIdentifier
|
|
172
|
-
* @param signer
|
|
173
|
-
* @param tokenAddress
|
|
174
|
-
* @param address
|
|
175
|
-
* @param amount
|
|
176
|
-
* @param exactIn
|
|
177
|
-
* @param additionalParams
|
|
178
|
-
* @param options
|
|
277
|
+
* @param chainIdentifier Chain identifier string of the source smart chain
|
|
278
|
+
* @param signer Signer's address on the source chain
|
|
279
|
+
* @param tokenAddress Token address to pay with
|
|
280
|
+
* @param address Recipient's bitcoin address
|
|
281
|
+
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
282
|
+
* @param exactIn Whether to use exact in instead of exact out
|
|
283
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
284
|
+
* @param options Additional options for the swap
|
|
179
285
|
*/
|
|
180
286
|
createToBTCSwap<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, signer: string, tokenAddress: string, address: string, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any> | undefined, options?: ToBTCOptions): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
181
287
|
/**
|
|
182
|
-
* Creates
|
|
288
|
+
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap
|
|
183
289
|
*
|
|
184
|
-
* @param chainIdentifier
|
|
185
|
-
* @param signer
|
|
186
|
-
* @param tokenAddress
|
|
187
|
-
* @param paymentRequest
|
|
188
|
-
*
|
|
189
|
-
* @param
|
|
290
|
+
* @param chainIdentifier Chain identifier string of the source smart chain
|
|
291
|
+
* @param signer Signer's address on the source chain
|
|
292
|
+
* @param tokenAddress Token address to pay with
|
|
293
|
+
* @param paymentRequest BOLT11 lightning network invoice to be paid (needs to have a fixed amount), and the swap
|
|
294
|
+
* amount is taken from this fixed amount, hence only exact output swaps are supported
|
|
295
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
296
|
+
* @param options Additional options for the swap
|
|
190
297
|
*/
|
|
191
298
|
createToBTCLNSwap<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, signer: string, tokenAddress: string, paymentRequest: string, additionalParams?: Record<string, any> | undefined, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
192
299
|
/**
|
|
193
|
-
* Creates
|
|
300
|
+
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap via LNURL-pay link
|
|
194
301
|
*
|
|
195
|
-
* @param chainIdentifier
|
|
196
|
-
* @param signer
|
|
197
|
-
* @param tokenAddress
|
|
198
|
-
* @param lnurlPay
|
|
199
|
-
* @param amount
|
|
200
|
-
* @param exactIn
|
|
201
|
-
* @param additionalParams
|
|
202
|
-
* @param options
|
|
302
|
+
* @param chainIdentifier Chain identifier string of the source smart chain
|
|
303
|
+
* @param signer Signer's address on the source chain
|
|
304
|
+
* @param tokenAddress Token address to pay with
|
|
305
|
+
* @param lnurlPay LNURL-pay link to use for the payment
|
|
306
|
+
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
307
|
+
* @param exactIn Whether to do an exact in swap instead of exact out
|
|
308
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
309
|
+
* @param options Additional options for the swap
|
|
203
310
|
*/
|
|
204
311
|
createToBTCLNSwapViaLNURL<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, signer: string, tokenAddress: string, lnurlPay: string | LNURLPay, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any> | undefined, options?: ToBTCLNOptions & {
|
|
205
312
|
comment?: string;
|
|
206
313
|
}): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
207
314
|
/**
|
|
208
|
-
* Creates
|
|
315
|
+
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap via {@link LightningInvoiceCreateService}
|
|
209
316
|
*
|
|
210
|
-
* @param chainIdentifier
|
|
211
|
-
* @param signer
|
|
212
|
-
* @param tokenAddress
|
|
213
|
-
* @param service
|
|
214
|
-
* @param amount
|
|
215
|
-
* @param exactIn
|
|
216
|
-
* @param additionalParams
|
|
217
|
-
* @param options
|
|
218
|
-
*/
|
|
219
|
-
createToBTCLNSwapViaInvoiceCreateService<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, signer: string, tokenAddress: string, service:
|
|
220
|
-
/**
|
|
221
|
-
* Creates
|
|
317
|
+
* @param chainIdentifier Chain identifier string of the source smart chain
|
|
318
|
+
* @param signer Signer's address on the source chain
|
|
319
|
+
* @param tokenAddress Token address to pay with
|
|
320
|
+
* @param service Invoice create service object which facilitates the creation of fixed amount LN invoices
|
|
321
|
+
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
322
|
+
* @param exactIn Whether to do an exact in swap instead of exact out
|
|
323
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
324
|
+
* @param options Additional options for the swap
|
|
325
|
+
*/
|
|
326
|
+
createToBTCLNSwapViaInvoiceCreateService<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, signer: string, tokenAddress: string, service: LightningInvoiceCreateService, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any> | undefined, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
327
|
+
/**
|
|
328
|
+
* Creates Bitcoin -> Smart chain ({@link SwapType.SPV_VAULT_FROM_BTC}) swap
|
|
222
329
|
*
|
|
223
|
-
* @param chainIdentifier
|
|
224
|
-
* @param
|
|
225
|
-
* @param tokenAddress
|
|
226
|
-
* @param amount
|
|
227
|
-
* @param exactOut
|
|
228
|
-
* @param additionalParams
|
|
229
|
-
* @param options
|
|
330
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
331
|
+
* @param recipient Recipient address on the destination chain
|
|
332
|
+
* @param tokenAddress Token address to receive
|
|
333
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
334
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
335
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
336
|
+
* @param options Additional options for the swap
|
|
230
337
|
*/
|
|
231
|
-
createFromBTCSwapNew<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier,
|
|
338
|
+
createFromBTCSwapNew<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any> | undefined, options?: SpvFromBTCOptions): Promise<SpvFromBTCSwap<T[ChainIdentifier]>>;
|
|
232
339
|
/**
|
|
233
|
-
* Creates
|
|
340
|
+
* Creates LEGACY Bitcoin -> Smart chain ({@link SwapType.FROM_BTC}) swap
|
|
234
341
|
*
|
|
235
|
-
* @param chainIdentifier
|
|
236
|
-
* @param
|
|
237
|
-
* @param tokenAddress
|
|
238
|
-
* @param amount
|
|
239
|
-
* @param exactOut
|
|
240
|
-
* @param additionalParams
|
|
241
|
-
* @param options
|
|
342
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
343
|
+
* @param recipient Recipient address on the destination chain
|
|
344
|
+
* @param tokenAddress Token address to receive
|
|
345
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
346
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
347
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
348
|
+
* @param options Additional options for the swap
|
|
242
349
|
*/
|
|
243
|
-
createFromBTCSwap<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier,
|
|
350
|
+
createFromBTCSwap<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any> | undefined, options?: FromBTCOptions): Promise<FromBTCSwap<T[ChainIdentifier]>>;
|
|
244
351
|
/**
|
|
245
|
-
* Creates
|
|
352
|
+
* Creates LEGACY Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN}) swap
|
|
246
353
|
*
|
|
247
|
-
* @param chainIdentifier
|
|
248
|
-
* @param
|
|
249
|
-
* @param tokenAddress
|
|
250
|
-
* @param amount
|
|
251
|
-
* @param exactOut
|
|
252
|
-
* @param additionalParams
|
|
253
|
-
* @param options
|
|
254
|
-
*/
|
|
255
|
-
createFromBTCLNSwap<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier,
|
|
256
|
-
/**
|
|
257
|
-
* Creates
|
|
354
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
355
|
+
* @param recipient Recipient address on the destination chain
|
|
356
|
+
* @param tokenAddress Token address to receive
|
|
357
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
358
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
359
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
360
|
+
* @param options Additional options for the swap
|
|
361
|
+
*/
|
|
362
|
+
createFromBTCLNSwap<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any> | undefined, options?: FromBTCLNOptions): Promise<FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
363
|
+
/**
|
|
364
|
+
* Creates LEGACY Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN}) swap, withdrawing from
|
|
365
|
+
* an LNURL-withdraw link
|
|
258
366
|
*
|
|
259
|
-
* @param chainIdentifier
|
|
260
|
-
* @param
|
|
261
|
-
* @param tokenAddress
|
|
262
|
-
* @param lnurl
|
|
263
|
-
* @param amount
|
|
264
|
-
* @param exactOut
|
|
265
|
-
* @param additionalParams
|
|
367
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
368
|
+
* @param recipient Recipient address on the destination chain
|
|
369
|
+
* @param tokenAddress Token address to receive
|
|
370
|
+
* @param lnurl LNURL-withdraw link to pull the funds from
|
|
371
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
372
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
373
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
266
374
|
*/
|
|
267
|
-
createFromBTCLNSwapViaLNURL<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier,
|
|
375
|
+
createFromBTCLNSwapViaLNURL<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, recipient: string, tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any> | undefined): Promise<FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
268
376
|
/**
|
|
269
|
-
* Creates
|
|
377
|
+
* Creates Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN_AUTO}) swap
|
|
270
378
|
*
|
|
271
|
-
* @param chainIdentifier
|
|
272
|
-
* @param
|
|
273
|
-
* @param tokenAddress
|
|
274
|
-
* @param amount
|
|
275
|
-
* @param exactOut
|
|
276
|
-
* @param additionalParams
|
|
277
|
-
* @param options
|
|
278
|
-
*/
|
|
279
|
-
createFromBTCLNSwapNew<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier,
|
|
280
|
-
/**
|
|
281
|
-
* Creates
|
|
379
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
380
|
+
* @param recipient Recipient address on the destination chain
|
|
381
|
+
* @param tokenAddress Token address to receive
|
|
382
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
383
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
384
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
385
|
+
* @param options Additional options for the swap
|
|
386
|
+
*/
|
|
387
|
+
createFromBTCLNSwapNew<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any> | undefined, options?: FromBTCLNAutoOptions): Promise<FromBTCLNAutoSwap<T[ChainIdentifier]>>;
|
|
388
|
+
/**
|
|
389
|
+
* Creates Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN_AUTO}) swap, withdrawing from
|
|
390
|
+
* an LNURL-withdraw link
|
|
282
391
|
*
|
|
283
|
-
* @param chainIdentifier
|
|
284
|
-
* @param
|
|
285
|
-
* @param tokenAddress
|
|
286
|
-
* @param lnurl
|
|
287
|
-
* @param amount
|
|
288
|
-
* @param exactOut
|
|
289
|
-
* @param additionalParams
|
|
290
|
-
* @param options
|
|
291
|
-
*/
|
|
292
|
-
createFromBTCLNSwapNewViaLNURL<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier,
|
|
293
|
-
/**
|
|
294
|
-
* Creates trusted
|
|
392
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
393
|
+
* @param recipient Recipient address on the destination chain
|
|
394
|
+
* @param tokenAddress Token address to receive
|
|
395
|
+
* @param lnurl LNURL-withdraw link to pull the funds from
|
|
396
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
397
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
398
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
399
|
+
* @param options Additional options for the swap
|
|
400
|
+
*/
|
|
401
|
+
createFromBTCLNSwapNewViaLNURL<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, recipient: string, tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any> | undefined, options?: FromBTCLNAutoOptions): Promise<FromBTCLNAutoSwap<T[ChainIdentifier]>>;
|
|
402
|
+
/**
|
|
403
|
+
* Creates a trusted Bitcoin Lightning -> Smart chain ({@link SwapType.TRUSTED_FROM_BTCLN}) gas swap
|
|
295
404
|
*
|
|
296
|
-
* @param
|
|
297
|
-
* @param
|
|
298
|
-
* @param amount
|
|
405
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
406
|
+
* @param recipient Recipient address on the destination chain
|
|
407
|
+
* @param amount Amount of native token to receive, in base units
|
|
299
408
|
* @param trustedIntermediaryOrUrl URL or Intermediary object of the trusted intermediary to use, otherwise uses default
|
|
300
|
-
* @throws {Error}
|
|
409
|
+
* @throws {Error} If no trusted intermediary specified
|
|
301
410
|
*/
|
|
302
|
-
createTrustedLNForGasSwap<C extends ChainIds<T>>(
|
|
411
|
+
createTrustedLNForGasSwap<C extends ChainIds<T>>(chainIdentifier: C, recipient: string, amount: bigint, trustedIntermediaryOrUrl?: Intermediary | string): Promise<LnForGasSwap<T[C]>>;
|
|
303
412
|
/**
|
|
304
|
-
* Creates trusted
|
|
413
|
+
* Creates a trusted Bitcoin -> Smart chain ({@link SwapType.TRUSTED_FROM_BTC}) gas swap
|
|
305
414
|
*
|
|
306
|
-
* @param
|
|
307
|
-
* @param
|
|
308
|
-
* @param amount
|
|
309
|
-
* @param refundAddress
|
|
310
|
-
* @param trustedIntermediaryOrUrl
|
|
311
|
-
* @throws {Error}
|
|
415
|
+
* @param chainIdentifier Chain identifier string of the destination smart chain
|
|
416
|
+
* @param recipient Recipient address on the destination chain
|
|
417
|
+
* @param amount Amount of native token to receive, in base units
|
|
418
|
+
* @param refundAddress Bitcoin refund address, in case the swap fails the funds are refunded here
|
|
419
|
+
* @param trustedIntermediaryOrUrl URL or Intermediary object of the trusted intermediary to use, otherwise uses default
|
|
420
|
+
* @throws {Error} If no trusted intermediary specified
|
|
421
|
+
*/
|
|
422
|
+
createTrustedOnchainForGasSwap<C extends ChainIds<T>>(chainIdentifier: C, recipient: string, amount: bigint, refundAddress?: string, trustedIntermediaryOrUrl?: Intermediary | string): Promise<OnchainForGasSwap<T[C]>>;
|
|
423
|
+
/**
|
|
424
|
+
* @internal
|
|
312
425
|
*/
|
|
313
|
-
createTrustedOnchainForGasSwap<C extends ChainIds<T>>(chainId: C, signer: string, amount: bigint, refundAddress?: string, trustedIntermediaryOrUrl?: Intermediary | string): Promise<OnchainForGasSwap<T[C]>>;
|
|
314
426
|
create<C extends ChainIds<T>>(signer: string, srcToken: BtcToken<true>, dstToken: SCToken<C>, amount: bigint, exactIn: boolean, lnurlWithdraw?: string | LNURLWithdraw): Promise<(SupportsSwapType<T[C], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[C]> : FromBTCLNSwap<T[C]>)>;
|
|
427
|
+
/**
|
|
428
|
+
* @internal
|
|
429
|
+
*/
|
|
315
430
|
create<C extends ChainIds<T>>(signer: string, srcToken: BtcToken<false>, dstToken: SCToken<C>, amount: bigint, exactIn: boolean): Promise<(SupportsSwapType<T[C], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[C]> : FromBTCSwap<T[C]>)>;
|
|
431
|
+
/**
|
|
432
|
+
* @internal
|
|
433
|
+
*/
|
|
316
434
|
create<C extends ChainIds<T>>(signer: string, srcToken: SCToken<C>, dstToken: BtcToken<false>, amount: bigint, exactIn: boolean, address: string): Promise<ToBTCSwap<T[C]>>;
|
|
435
|
+
/**
|
|
436
|
+
* @internal
|
|
437
|
+
*/
|
|
317
438
|
create<C extends ChainIds<T>>(signer: string, srcToken: SCToken<C>, dstToken: BtcToken<true>, amount: bigint, exactIn: boolean, lnurlPay: string | LNURLPay): Promise<ToBTCLNSwap<T[C]>>;
|
|
439
|
+
/**
|
|
440
|
+
* @internal
|
|
441
|
+
*/
|
|
318
442
|
create<C extends ChainIds<T>>(signer: string, srcToken: SCToken<C>, dstToken: BtcToken<true>, amount: undefined, exactIn: false, lightningInvoice: string): Promise<ToBTCLNSwap<T[C]>>;
|
|
443
|
+
/**
|
|
444
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
445
|
+
* or output amount (exactIn=false), NOTE: For regular -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
446
|
+
* invoice's pre-set amount is used instead.
|
|
447
|
+
* @deprecated Use {@link swap} instead
|
|
448
|
+
*
|
|
449
|
+
* @param signer Smartchain (Solana, Starknet, etc.) address of the user
|
|
450
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
451
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
452
|
+
* @param amount Amount of the swap
|
|
453
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
454
|
+
* @param addressLnurlLightningInvoice Bitcoin on-chain address, lightning invoice, LNURL-pay to pay or
|
|
455
|
+
* LNURL-withdrawal to withdraw money from
|
|
456
|
+
*/
|
|
319
457
|
create<C extends ChainIds<T>>(signer: string, srcToken: Token<C>, dstToken: Token<C>, amount: bigint | undefined, exactIn: boolean, addressLnurlLightningInvoice?: string | LNURLWithdraw | LNURLPay): Promise<ISwap<T[C]>>;
|
|
458
|
+
/**
|
|
459
|
+
* @internal
|
|
460
|
+
*/
|
|
320
461
|
swap<C extends ChainIds<T>>(srcToken: BtcToken<true>, dstToken: SCToken<C>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: undefined | string | LNURLWithdraw, dstSmartchainWallet: string, options?: (SupportsSwapType<T[C], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoOptions : FromBTCLNOptions)): Promise<(SupportsSwapType<T[C], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[C]> : FromBTCLNSwap<T[C]>)>;
|
|
462
|
+
/**
|
|
463
|
+
* @internal
|
|
464
|
+
*/
|
|
321
465
|
swap<C extends ChainIds<T>>(srcToken: BtcToken<false>, dstToken: SCToken<C>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: undefined | string, dstSmartchainWallet: string, options?: (SupportsSwapType<T[C], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCOptions : FromBTCOptions)): Promise<(SupportsSwapType<T[C], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[C]> : FromBTCSwap<T[C]>)>;
|
|
466
|
+
/**
|
|
467
|
+
* @internal
|
|
468
|
+
*/
|
|
322
469
|
swap<C extends ChainIds<T>>(srcToken: SCToken<C>, dstToken: BtcToken<false>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: string, dstAddress: string, options?: ToBTCOptions): Promise<ToBTCSwap<T[C]>>;
|
|
323
|
-
|
|
470
|
+
/**
|
|
471
|
+
* @internal
|
|
472
|
+
*/
|
|
473
|
+
swap<C extends ChainIds<T>>(srcToken: SCToken<C>, dstToken: BtcToken<true>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: string, dstLnurlPayOrInvoiceCreateService: string | LNURLPay | LightningInvoiceCreateService, options?: ToBTCLNOptions & {
|
|
324
474
|
comment?: string;
|
|
325
475
|
}): Promise<ToBTCLNSwap<T[C]>>;
|
|
476
|
+
/**
|
|
477
|
+
* @internal
|
|
478
|
+
*/
|
|
326
479
|
swap<C extends ChainIds<T>>(srcToken: SCToken<C>, dstToken: BtcToken<true>, amount: undefined, exactIn: false | SwapAmountType.EXACT_OUT, src: string, dstLightningInvoice: string, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[C]>>;
|
|
327
|
-
|
|
480
|
+
/**
|
|
481
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (if `exactIn=true`)
|
|
482
|
+
* or output amount (if `exactIn=false`), NOTE: For regular Smart chain -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
483
|
+
* invoice's pre-set amount is used instead, use LNURL-pay links for dynamic amounts
|
|
484
|
+
*
|
|
485
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
486
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
487
|
+
* @param amount Amount of the swap either in base units as {bigint} or in human readable format (with decimals) as {string}
|
|
488
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
489
|
+
* @param src Source wallet/lnurl-withdraw of the swap
|
|
490
|
+
* @param dst Destination smart chain address, bitcoin on-chain address, lightning invoice, LNURL-pay
|
|
491
|
+
* @param options Options for the swap
|
|
492
|
+
*/
|
|
493
|
+
swap<C extends ChainIds<T>>(srcToken: Token<C> | string, dstToken: Token<C> | string, amount: bigint | string | undefined, exactIn: boolean | SwapAmountType, src: undefined | string | LNURLWithdraw, dst: string | LNURLPay | LightningInvoiceCreateService, options?: FromBTCLNOptions | SpvFromBTCOptions | FromBTCOptions | ToBTCOptions | (ToBTCLNOptions & {
|
|
328
494
|
comment?: string;
|
|
329
495
|
}) | FromBTCLNAutoOptions): Promise<ISwap<T[C]>>;
|
|
330
496
|
/**
|
|
@@ -368,106 +534,118 @@ export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
|
368
534
|
*/
|
|
369
535
|
getSwapById<C extends ChainIds<T>>(id: string, chainId: C, signer?: string): Promise<ISwap<T[C]>>;
|
|
370
536
|
/**
|
|
371
|
-
* Returns the swap with a proper return type, or undefined
|
|
537
|
+
* Returns the swap with a proper return type, or `undefined` if not found or has wrong type
|
|
372
538
|
*
|
|
373
|
-
* @param id
|
|
374
|
-
* @param chainId
|
|
375
|
-
* @param swapType
|
|
376
|
-
* @param signer
|
|
539
|
+
* @param id An ID of the swap ({@link ISwap.getId})
|
|
540
|
+
* @param chainId Chain identifier of the smart chain where the swap was initiated
|
|
541
|
+
* @param swapType Type of the swap
|
|
542
|
+
* @param signer An optional required smart chain signer address to fetch the swap for
|
|
377
543
|
*/
|
|
378
544
|
getTypedSwapById<C extends ChainIds<T>, S extends SwapType>(id: string, chainId: C, swapType: S, signer?: string): Promise<SwapTypeMapping<T[C]>[S] | undefined>;
|
|
379
545
|
private syncSwapsForChain;
|
|
380
546
|
/**
|
|
381
|
-
*
|
|
547
|
+
* Deletes the swaps from the persistent storage backend. Note that some data (like lightning network
|
|
548
|
+
* amounts and bolt11 invoices) are purely off-chain and can never be recovered later just from
|
|
549
|
+
* on-chain data!
|
|
550
|
+
*
|
|
551
|
+
* @param chainId Optional, to only delete swaps for this smart chain
|
|
552
|
+
* @param signer Optional, to only delete swaps for this smart chain signer (`chainId` param must be
|
|
553
|
+
* set to delete only signer's swaps)
|
|
554
|
+
*/
|
|
555
|
+
wipeStorage<C extends ChainIds<T>>(chainId?: C, signer?: string): Promise<void>;
|
|
556
|
+
/**
|
|
557
|
+
* Synchronizes swaps from on-chain, this is ran automatically when SDK is initialized, hence
|
|
558
|
+
* should only be ran manually when `dontCheckPastSwaps=true` is passed in the swapper options,
|
|
559
|
+
* also deletes expired quotes
|
|
382
560
|
*
|
|
383
|
-
* @param chainId
|
|
384
|
-
* @param signer
|
|
561
|
+
* @param chainId Optional chain identifier to only run swap sync for a single smart chain
|
|
562
|
+
* @param signer Optional signer to only run swap sync for swaps initiated by this signer
|
|
385
563
|
*/
|
|
386
564
|
_syncSwaps<C extends ChainIds<T>>(chainId?: C, signer?: string): Promise<void>;
|
|
387
565
|
/**
|
|
388
|
-
*
|
|
566
|
+
* Recovers swaps from on-chain historical data.
|
|
389
567
|
*
|
|
390
|
-
*
|
|
391
|
-
*
|
|
392
|
-
*
|
|
568
|
+
* Please note that the recovered swaps might not be complete (i.e. missing amounts or addresses), as some
|
|
569
|
+
* of the swap data is purely off-chain and can never be recovered purely from on-chain data. This
|
|
570
|
+
* functions tries to recover as much swap data as possible.
|
|
571
|
+
*
|
|
572
|
+
* @param chainId Smart chain identifier string to recover the swaps from
|
|
573
|
+
* @param signer Signer address to recover the swaps for
|
|
574
|
+
* @param startBlockheight Optional starting blockheight for swap data recovery, will only check swaps
|
|
575
|
+
* initiated after this blockheight
|
|
393
576
|
*/
|
|
394
577
|
recoverSwaps<C extends ChainIds<T>>(chainId: C, signer: string, startBlockheight?: number): Promise<ISwap<T[C]>[]>;
|
|
578
|
+
/**
|
|
579
|
+
* Returns the {@link Token} object for a given token
|
|
580
|
+
*
|
|
581
|
+
* @param tickerOrAddress Token to return the object for, can use multiple formats:
|
|
582
|
+
* - a) token ticker, such as `"BTC"`, `"SOL"`, etc.
|
|
583
|
+
* - b) token ticker prefixed with smart chain identifier, such as `"SOLANA-SOL"`, `"SOLANA-USDC"`, etc.
|
|
584
|
+
* - c) token address
|
|
585
|
+
*/
|
|
395
586
|
getToken(tickerOrAddress: string): Token<ChainIds<T>>;
|
|
396
587
|
/**
|
|
397
588
|
* Creates a child swapper instance with a given smart chain
|
|
398
589
|
*
|
|
399
|
-
* @param chainIdentifier
|
|
590
|
+
* @param chainIdentifier Smart chain identifier for the created child swapper instance
|
|
400
591
|
*/
|
|
401
592
|
withChain<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier): SwapperWithChain<T, ChainIdentifier>;
|
|
402
593
|
/**
|
|
403
|
-
* Returns supported smart chains
|
|
594
|
+
* Returns an array of all the supported smart chains
|
|
404
595
|
*/
|
|
405
596
|
getSmartChains(): ChainIds<T>[];
|
|
406
597
|
/**
|
|
407
598
|
* Returns whether the SDK supports a given swap type on a given chain based on currently known LPs
|
|
408
599
|
*
|
|
409
|
-
* @param chainId
|
|
410
|
-
* @param swapType
|
|
600
|
+
* @param chainId Smart chain identifier string
|
|
601
|
+
* @param swapType Swap protocol type
|
|
411
602
|
*/
|
|
412
603
|
supportsSwapType<ChainIdentifier extends ChainIds<T>, Type extends SwapType>(chainId: ChainIdentifier, swapType: Type): SupportsSwapType<T[ChainIdentifier], Type>;
|
|
413
604
|
/**
|
|
414
|
-
*
|
|
415
|
-
*
|
|
416
|
-
* @param srcToken
|
|
417
|
-
* @param dstToken
|
|
605
|
+
* @internal
|
|
418
606
|
*/
|
|
419
607
|
getSwapType<C extends ChainIds<T>>(srcToken: BtcToken<true>, dstToken: SCToken<C>): (SupportsSwapType<T[C], SwapType.FROM_BTCLN_AUTO> extends true ? SwapType.FROM_BTCLN_AUTO : SwapType.FROM_BTCLN);
|
|
608
|
+
/**
|
|
609
|
+
* @internal
|
|
610
|
+
*/
|
|
420
611
|
getSwapType<C extends ChainIds<T>>(srcToken: BtcToken<false>, dstToken: SCToken<C>): (SupportsSwapType<T[C], SwapType.SPV_VAULT_FROM_BTC> extends true ? SwapType.SPV_VAULT_FROM_BTC : SwapType.FROM_BTC);
|
|
612
|
+
/**
|
|
613
|
+
* @internal
|
|
614
|
+
*/
|
|
421
615
|
getSwapType<C extends ChainIds<T>>(srcToken: SCToken<C>, dstToken: BtcToken<false>): SwapType.TO_BTC;
|
|
616
|
+
/**
|
|
617
|
+
* @internal
|
|
618
|
+
*/
|
|
422
619
|
getSwapType<C extends ChainIds<T>>(srcToken: SCToken<C>, dstToken: BtcToken<true>): SwapType.TO_BTCLN;
|
|
620
|
+
/**
|
|
621
|
+
* Returns type of the swap based on input and output tokens specified
|
|
622
|
+
*
|
|
623
|
+
* @param srcToken Source token
|
|
624
|
+
* @param dstToken Destination token
|
|
625
|
+
*/
|
|
423
626
|
getSwapType<C extends ChainIds<T>>(srcToken: Token<C>, dstToken: Token<C>): SwapType.FROM_BTCLN_AUTO | SwapType.FROM_BTCLN | SwapType.SPV_VAULT_FROM_BTC | SwapType.FROM_BTC | SwapType.TO_BTC | SwapType.TO_BTCLN;
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
readonly requiresInputWallet: false;
|
|
442
|
-
readonly requiresOutputWallet: true;
|
|
443
|
-
readonly supportsGasDrop: false;
|
|
444
|
-
};
|
|
445
|
-
readonly 6: {
|
|
446
|
-
readonly requiresInputWallet: true;
|
|
447
|
-
readonly requiresOutputWallet: false;
|
|
448
|
-
readonly supportsGasDrop: true;
|
|
449
|
-
};
|
|
450
|
-
readonly 7: {
|
|
451
|
-
readonly requiresInputWallet: false;
|
|
452
|
-
readonly requiresOutputWallet: false;
|
|
453
|
-
readonly supportsGasDrop: true;
|
|
454
|
-
};
|
|
455
|
-
readonly 4: {
|
|
456
|
-
readonly requiresInputWallet: false;
|
|
457
|
-
readonly requiresOutputWallet: false;
|
|
458
|
-
readonly supportsGasDrop: false;
|
|
459
|
-
};
|
|
460
|
-
readonly 5: {
|
|
461
|
-
readonly requiresInputWallet: false;
|
|
462
|
-
readonly requiresOutputWallet: false;
|
|
463
|
-
readonly supportsGasDrop: false;
|
|
464
|
-
};
|
|
465
|
-
};
|
|
627
|
+
/**
|
|
628
|
+
* Helper information about various swap protocol and their features:
|
|
629
|
+
* - `requiresInputWallet`: Whether a swap requires a connected wallet on the input chain able to sign
|
|
630
|
+
* arbitrary transaction
|
|
631
|
+
* - `requiresOutputWallet`: Whether a swap requires a connected wallet on the output chain able to sign
|
|
632
|
+
* arbitrary transactions
|
|
633
|
+
* - `supportsGasDrop`: Whether a swap supports the "gas drop" feature, allowing to user to receive a small
|
|
634
|
+
* amount of native token as part of the swap when swapping to smart chains
|
|
635
|
+
*
|
|
636
|
+
* Uses a `Record` type here, use the {@link SwapProtocolInfo} import for a literal readonly type, with
|
|
637
|
+
* pre-filled exact values in the type.
|
|
638
|
+
*/
|
|
639
|
+
readonly SwapTypeInfo: Record<SwapType, {
|
|
640
|
+
requiresInputWallet: boolean;
|
|
641
|
+
requiresOutputWallet: boolean;
|
|
642
|
+
supportsGasDrop: boolean;
|
|
643
|
+
}>;
|
|
466
644
|
/**
|
|
467
645
|
* Returns minimum/maximum limits for inputs and outputs for a swap between given tokens
|
|
468
646
|
*
|
|
469
|
-
* @param srcToken
|
|
470
|
-
* @param dstToken
|
|
647
|
+
* @param srcToken Source token
|
|
648
|
+
* @param dstToken Destination token
|
|
471
649
|
*/
|
|
472
650
|
getSwapLimits<C extends ChainIds<T>, A extends Token<C>, B extends Token<C>>(srcToken: A, dstToken: B): {
|
|
473
651
|
input: {
|
|
@@ -480,7 +658,7 @@ export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
|
480
658
|
};
|
|
481
659
|
};
|
|
482
660
|
/**
|
|
483
|
-
* Returns supported tokens
|
|
661
|
+
* Returns an array of supported tokens either on the input or on the output of a swap
|
|
484
662
|
*
|
|
485
663
|
* @param input Whether to return input tokens or output tokens
|
|
486
664
|
*/
|
|
@@ -494,7 +672,7 @@ export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
|
494
672
|
/**
|
|
495
673
|
* Returns the set of supported token addresses by all the intermediaries we know of offering a specific swapType service
|
|
496
674
|
*
|
|
497
|
-
* @param chainIdentifier
|
|
675
|
+
* @param chainIdentifier Chain identifier string
|
|
498
676
|
* @param swapType Specific swap type for which to obtain supported tokens
|
|
499
677
|
*/
|
|
500
678
|
private getSupportedTokenAddresses;
|
|
@@ -503,29 +681,5 @@ export declare class Swapper<T extends MultiChain> extends EventEmitter<{
|
|
|
503
681
|
* or tokens that you can swap from (if input=false) to a given token
|
|
504
682
|
*/
|
|
505
683
|
getSwapCounterTokens(token: Token, input: boolean): Token[];
|
|
506
|
-
/**
|
|
507
|
-
* Returns swap bounds (minimums & maximums) for different swap types & tokens
|
|
508
|
-
* @deprecated Use getSwapLimits() instead!
|
|
509
|
-
*/
|
|
510
|
-
getSwapBounds<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier): SwapBounds;
|
|
511
|
-
getSwapBounds(): MultichainSwapBounds;
|
|
512
|
-
/**
|
|
513
|
-
* Returns maximum possible swap amount
|
|
514
|
-
* @deprecated Use getSwapLimits() instead!
|
|
515
|
-
*
|
|
516
|
-
* @param chainIdentifier
|
|
517
|
-
* @param type Type of the swap
|
|
518
|
-
* @param token Token of the swap
|
|
519
|
-
*/
|
|
520
|
-
getMaximum<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, type: SwapType, token: string): bigint;
|
|
521
|
-
/**
|
|
522
|
-
* Returns minimum possible swap amount
|
|
523
|
-
* @deprecated Use getSwapLimits() instead!
|
|
524
|
-
*
|
|
525
|
-
* @param chainIdentifier
|
|
526
|
-
* @param type Type of swap
|
|
527
|
-
* @param token Token of the swap
|
|
528
|
-
*/
|
|
529
|
-
getMinimum<ChainIdentifier extends ChainIds<T>>(chainIdentifier: ChainIdentifier, type: SwapType, token: string): bigint;
|
|
530
684
|
}
|
|
531
685
|
export {};
|