@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,404 +1,404 @@
|
|
|
1
|
-
import { IntermediaryDiscovery } from "../intermediaries/IntermediaryDiscovery";
|
|
2
|
-
import { SwapType } from "../enums/SwapType";
|
|
3
|
-
import { LnForGasSwap } from "../swaps/trusted/ln/LnForGasSwap";
|
|
4
|
-
import { ISwap } from "../swaps/ISwap";
|
|
5
|
-
import { IToBTCSwap } from "../swaps/escrow_swaps/tobtc/IToBTCSwap";
|
|
6
|
-
import { ChainIds, MultiChain, SupportsSwapType, Swapper } from "./Swapper";
|
|
7
|
-
import { FromBTCLNSwap } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap";
|
|
8
|
-
import { FromBTCSwap } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCSwap";
|
|
9
|
-
import { ToBTCLNSwap } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap";
|
|
10
|
-
import { ToBTCSwap } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCSwap";
|
|
11
|
-
import { SwapPriceWithChain } from "../prices/SwapPriceWithChain";
|
|
12
|
-
import { ToBTCOptions } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper";
|
|
13
|
-
import { ToBTCLNOptions } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper";
|
|
14
|
-
import { FromBTCOptions } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper";
|
|
15
|
-
import { FromBTCLNOptions } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper";
|
|
16
|
-
import { SwapperUtils } from "./SwapperUtils";
|
|
17
|
-
import { SpvFromBTCOptions } from "../swaps/spv_swaps/SpvFromBTCWrapper";
|
|
18
|
-
import { SpvFromBTCSwap } from "../swaps/spv_swaps/SpvFromBTCSwap";
|
|
19
|
-
import { OnchainForGasSwap } from "../swaps/trusted/onchain/OnchainForGasSwap";
|
|
20
|
-
import { SwapperWithSigner } from "./SwapperWithSigner";
|
|
21
|
-
import { FromBTCLNAutoOptions } from "../swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper";
|
|
22
|
-
import { FromBTCLNAutoSwap } from "../swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap";
|
|
23
|
-
import { SwapAmountType } from "../enums/SwapAmountType";
|
|
24
|
-
import { IClaimableSwap } from "../swaps/IClaimableSwap";
|
|
25
|
-
import { TokenAmount } from "../types/TokenAmount";
|
|
26
|
-
import { BtcToken, SCToken, Token } from "../types/Token";
|
|
27
|
-
import { LNURLWithdraw } from "../types/lnurl/LNURLWithdraw";
|
|
28
|
-
import { LNURLPay } from "../types/lnurl/LNURLPay";
|
|
29
|
-
import { LightningInvoiceCreateService } from "../types/wallets/LightningInvoiceCreateService";
|
|
30
|
-
import { Intermediary } from "../intermediaries/Intermediary";
|
|
31
|
-
import { SwapTypeMapping } from "../utils/SwapUtils";
|
|
32
|
-
import { SwapSide } from "../enums/SwapSide";
|
|
33
|
-
/**
|
|
34
|
-
* Chain-specific wrapper around Swapper for a particular blockchain
|
|
35
|
-
*
|
|
36
|
-
* @category Core
|
|
37
|
-
*/
|
|
38
|
-
export declare class SwapperWithChain<T extends MultiChain, ChainIdentifier extends ChainIds<T>> {
|
|
39
|
-
/**
|
|
40
|
-
* Underlying multichain swapper instance
|
|
41
|
-
*/
|
|
42
|
-
private readonly swapper;
|
|
43
|
-
/**
|
|
44
|
-
* Smart chain identifier of this swapper with chain
|
|
45
|
-
*/
|
|
46
|
-
readonly chainIdentifier: ChainIdentifier;
|
|
47
|
-
/**
|
|
48
|
-
* Pricing API used by the SDK
|
|
49
|
-
*/
|
|
50
|
-
readonly prices: SwapPriceWithChain<T, ChainIdentifier>;
|
|
51
|
-
/**
|
|
52
|
-
* Intermediary discovery instance
|
|
53
|
-
*/
|
|
54
|
-
get intermediaryDiscovery(): IntermediaryDiscovery;
|
|
55
|
-
/**
|
|
56
|
-
* Miscellaneous utility functions
|
|
57
|
-
*/
|
|
58
|
-
get Utils(): SwapperUtils<T>;
|
|
59
|
-
/**
|
|
60
|
-
* Helper information about various swap protocol and their features:
|
|
61
|
-
* - `requiresInputWallet`: Whether a swap requires a connected wallet on the input chain able to sign
|
|
62
|
-
* arbitrary transaction
|
|
63
|
-
* - `requiresOutputWallet`: Whether a swap requires a connected wallet on the output chain able to sign
|
|
64
|
-
* arbitrary transactions
|
|
65
|
-
* - `supportsGasDrop`: Whether a swap supports the "gas drop" feature, allowing to user to receive a small
|
|
66
|
-
* amount of native token as part of the swap when swapping to smart chains
|
|
67
|
-
*
|
|
68
|
-
* Uses a `Record` type here, use the {@link SwapProtocolInfo} import for a literal readonly type, with
|
|
69
|
-
* pre-filled exact values in the type.
|
|
70
|
-
*/
|
|
71
|
-
get SwapTypeInfo(): Record<SwapType, {
|
|
72
|
-
requiresInputWallet: boolean;
|
|
73
|
-
requiresOutputWallet: boolean;
|
|
74
|
-
supportsGasDrop: boolean;
|
|
75
|
-
}>;
|
|
76
|
-
constructor(swapper: Swapper<T>, chainIdentifier: ChainIdentifier);
|
|
77
|
-
/**
|
|
78
|
-
* Creates Smart chain -> Bitcoin ({@link SwapType.TO_BTC}) swap
|
|
79
|
-
*
|
|
80
|
-
* @param signer Signer's address on the source chain
|
|
81
|
-
* @param tokenAddress Token address to pay with
|
|
82
|
-
* @param address Recipient's bitcoin address
|
|
83
|
-
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
84
|
-
* @param exactIn Whether to use exact in instead of exact out
|
|
85
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
86
|
-
* @param options Additional options for the swap
|
|
87
|
-
*/
|
|
88
|
-
createToBTCSwap(signer: string, tokenAddress: string, address: string, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCOptions): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
89
|
-
/**
|
|
90
|
-
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap
|
|
91
|
-
*
|
|
92
|
-
* @param signer Signer's address on the source chain
|
|
93
|
-
* @param tokenAddress Token address to pay with
|
|
94
|
-
* @param paymentRequest BOLT11 lightning network invoice to be paid (needs to have a fixed amount), and the swap
|
|
95
|
-
* amount is taken from this fixed amount, hence only exact output swaps are supported
|
|
96
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
97
|
-
* @param options Additional options for the swap
|
|
98
|
-
*/
|
|
99
|
-
createToBTCLNSwap(signer: string, tokenAddress: string, paymentRequest: string, additionalParams?: Record<string, any>, options?: ToBTCLNOptions & {
|
|
100
|
-
comment?: string;
|
|
101
|
-
}): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
102
|
-
/**
|
|
103
|
-
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap via LNURL-pay link
|
|
104
|
-
*
|
|
105
|
-
* @param signer Signer's address on the source chain
|
|
106
|
-
* @param tokenAddress Token address to pay with
|
|
107
|
-
* @param lnurlPay LNURL-pay link to use for the payment
|
|
108
|
-
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
109
|
-
* @param exactIn Whether to do an exact in swap instead of exact out
|
|
110
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
111
|
-
* @param options Additional options for the swap
|
|
112
|
-
*/
|
|
113
|
-
createToBTCLNSwapViaLNURL(signer: string, tokenAddress: string, lnurlPay: string | LNURLPay, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
114
|
-
/**
|
|
115
|
-
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap via {@link LightningInvoiceCreateService}
|
|
116
|
-
*
|
|
117
|
-
* @param signer Signer's address on the source chain
|
|
118
|
-
* @param tokenAddress Token address to pay with
|
|
119
|
-
* @param service Invoice create service object which facilitates the creation of fixed amount LN invoices
|
|
120
|
-
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
121
|
-
* @param exactIn Whether to do an exact in swap instead of exact out
|
|
122
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
123
|
-
* @param options Additional options for the swap
|
|
124
|
-
*/
|
|
125
|
-
createToBTCLNSwapViaInvoiceCreateService(signer: string, tokenAddress: string, service: LightningInvoiceCreateService, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
126
|
-
/**
|
|
127
|
-
* Creates Bitcoin -> Smart chain ({@link SwapType.SPV_VAULT_FROM_BTC}) swap
|
|
128
|
-
*
|
|
129
|
-
* @param recipient Recipient address on the destination chain
|
|
130
|
-
* @param tokenAddress Token address to receive
|
|
131
|
-
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
132
|
-
* @param exactOut Whether to use a exact out instead of exact in
|
|
133
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
134
|
-
* @param options Additional options for the swap
|
|
135
|
-
*/
|
|
136
|
-
createFromBTCSwapNew(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: SpvFromBTCOptions): Promise<SpvFromBTCSwap<T[ChainIdentifier]>>;
|
|
137
|
-
/**
|
|
138
|
-
* Creates LEGACY Bitcoin -> Smart chain ({@link SwapType.FROM_BTC}) swap
|
|
139
|
-
*
|
|
140
|
-
* @param recipient Recipient address on the destination chain
|
|
141
|
-
* @param tokenAddress Token address to receive
|
|
142
|
-
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
143
|
-
* @param exactOut Whether to use a exact out instead of exact in
|
|
144
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
145
|
-
* @param options Additional options for the swap
|
|
146
|
-
*/
|
|
147
|
-
createFromBTCSwap(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCOptions): Promise<FromBTCSwap<T[ChainIdentifier]>>;
|
|
148
|
-
/**
|
|
149
|
-
* Creates LEGACY Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN}) swap
|
|
150
|
-
*
|
|
151
|
-
* @param recipient Recipient address on the destination chain
|
|
152
|
-
* @param tokenAddress Token address to receive
|
|
153
|
-
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
154
|
-
* @param exactOut Whether to use a exact out instead of exact in
|
|
155
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
156
|
-
* @param options Additional options for the swap
|
|
157
|
-
*/
|
|
158
|
-
createFromBTCLNSwap(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNOptions): Promise<FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
159
|
-
/**
|
|
160
|
-
* Creates LEGACY Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN}) swap, withdrawing from
|
|
161
|
-
* an LNURL-withdraw link
|
|
162
|
-
*
|
|
163
|
-
* @param recipient Recipient address on the destination chain
|
|
164
|
-
* @param tokenAddress Token address to receive
|
|
165
|
-
* @param lnurl LNURL-withdraw link to pull the funds from
|
|
166
|
-
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
167
|
-
* @param exactOut Whether to use a exact out instead of exact in
|
|
168
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
169
|
-
*/
|
|
170
|
-
createFromBTCLNSwapViaLNURL(recipient: string, tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>): Promise<FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
171
|
-
/**
|
|
172
|
-
* Creates Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN_AUTO}) swap
|
|
173
|
-
*
|
|
174
|
-
* @param recipient Recipient address on the destination chain
|
|
175
|
-
* @param tokenAddress Token address to receive
|
|
176
|
-
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
177
|
-
* @param exactOut Whether to use a exact out instead of exact in
|
|
178
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
179
|
-
* @param options Additional options for the swap
|
|
180
|
-
*/
|
|
181
|
-
createFromBTCLNSwapNew(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNAutoOptions): Promise<FromBTCLNAutoSwap<T[ChainIdentifier]>>;
|
|
182
|
-
/**
|
|
183
|
-
* Creates Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN_AUTO}) swap, withdrawing from
|
|
184
|
-
* an LNURL-withdraw link
|
|
185
|
-
*
|
|
186
|
-
* @param recipient Recipient address on the destination chain
|
|
187
|
-
* @param tokenAddress Token address to receive
|
|
188
|
-
* @param lnurl LNURL-withdraw link to pull the funds from
|
|
189
|
-
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
190
|
-
* @param exactOut Whether to use a exact out instead of exact in
|
|
191
|
-
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
192
|
-
* @param options Additional options for the swap
|
|
193
|
-
*/
|
|
194
|
-
createFromBTCLNSwapNewViaLNURL(recipient: string, tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNAutoOptions): Promise<FromBTCLNAutoSwap<T[ChainIdentifier]>>;
|
|
195
|
-
/**
|
|
196
|
-
* Creates a trusted Bitcoin Lightning -> Smart chain ({@link SwapType.TRUSTED_FROM_BTCLN}) gas swap
|
|
197
|
-
*
|
|
198
|
-
* @param recipient Recipient address on the destination chain
|
|
199
|
-
* @param amount Amount of native token to receive, in base units
|
|
200
|
-
* @param trustedIntermediaryOrUrl URL or Intermediary object of the trusted intermediary to use, otherwise uses default
|
|
201
|
-
* @throws {Error} If no trusted intermediary specified
|
|
202
|
-
*/
|
|
203
|
-
createTrustedLNForGasSwap(recipient: string, amount: bigint, trustedIntermediaryOrUrl?: Intermediary | string): Promise<LnForGasSwap<T[ChainIdentifier]>>;
|
|
204
|
-
/**
|
|
205
|
-
* Creates a trusted Bitcoin -> Smart chain ({@link SwapType.TRUSTED_FROM_BTC}) gas swap
|
|
206
|
-
*
|
|
207
|
-
* @param recipient Recipient address on the destination chain
|
|
208
|
-
* @param amount Amount of native token to receive, in base units
|
|
209
|
-
* @param refundAddress Bitcoin refund address, in case the swap fails the funds are refunded here
|
|
210
|
-
* @param trustedIntermediaryOrUrl URL or Intermediary object of the trusted intermediary to use, otherwise uses default
|
|
211
|
-
* @throws {Error} If no trusted intermediary specified
|
|
212
|
-
*/
|
|
213
|
-
createTrustedOnchainForGasSwap(recipient: string, amount: bigint, refundAddress?: string, trustedIntermediaryOrUrl?: Intermediary | string): Promise<OnchainForGasSwap<T[ChainIdentifier]>>;
|
|
214
|
-
/**
|
|
215
|
-
* @internal
|
|
216
|
-
*/
|
|
217
|
-
create(signer: string, srcToken: BtcToken<true>, dstToken: SCToken<ChainIdentifier>, amount: bigint, exactIn: boolean, lnurlWithdraw?: string | LNURLWithdraw): Promise<SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[ChainIdentifier]> : FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
218
|
-
/**
|
|
219
|
-
* @internal
|
|
220
|
-
*/
|
|
221
|
-
create(signer: string, srcToken: BtcToken<false>, dstToken: SCToken<ChainIdentifier>, amount: bigint, exactIn: boolean): Promise<(SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[ChainIdentifier]> : FromBTCSwap<T[ChainIdentifier]>)>;
|
|
222
|
-
/**
|
|
223
|
-
* @internal
|
|
224
|
-
*/
|
|
225
|
-
create(signer: string, srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false>, amount: bigint, exactIn: boolean, address: string): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
226
|
-
/**
|
|
227
|
-
* @internal
|
|
228
|
-
*/
|
|
229
|
-
create(signer: string, srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>, amount: bigint, exactIn: boolean, lnurlPay: string | LNURLPay): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
230
|
-
/**
|
|
231
|
-
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
232
|
-
* or output amount (exactIn=false), NOTE: For regular -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
233
|
-
* invoice's pre-set amount is used instead.
|
|
234
|
-
* @deprecated Use swap() instead
|
|
235
|
-
*
|
|
236
|
-
* @param signer Smartchain (Solana, Starknet, etc.) address of the user
|
|
237
|
-
* @param srcToken Source token of the swap, user pays this token
|
|
238
|
-
* @param dstToken Destination token of the swap, user receives this token
|
|
239
|
-
* @param amount Amount of the swap
|
|
240
|
-
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
241
|
-
* @param addressLnurlLightningInvoice Bitcoin on-chain address, lightning invoice, LNURL-pay to pay or
|
|
242
|
-
* LNURL-withdrawal to withdraw money from
|
|
243
|
-
*/
|
|
244
|
-
create(signer: string, srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>, amount: undefined, exactIn: false, addressLnurlLightningInvoice: string): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
245
|
-
/**
|
|
246
|
-
* @internal
|
|
247
|
-
*/
|
|
248
|
-
swap(srcToken: BtcToken<true> | "BTCLN" | "BTC-LN" | "LIGHTNING-BTC", dstToken: SCToken<ChainIdentifier>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: undefined | string | LNURLWithdraw, dstSmartchainWallet: string, options?: (SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoOptions : FromBTCLNOptions)): Promise<SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[ChainIdentifier]> : FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
249
|
-
/**
|
|
250
|
-
* @internal
|
|
251
|
-
*/
|
|
252
|
-
swap(srcToken: BtcToken<false> | "BTC" | "BITCOIN-BTC", dstToken: SCToken<ChainIdentifier>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: undefined | string, dstSmartchainWallet: string, options?: (SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCOptions : FromBTCOptions)): Promise<(SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[ChainIdentifier]> : FromBTCSwap<T[ChainIdentifier]>)>;
|
|
253
|
-
/**
|
|
254
|
-
* @internal
|
|
255
|
-
*/
|
|
256
|
-
swap(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false> | "BTC" | "BITCOIN-BTC", amount: bigint | string, exactIn: boolean | SwapAmountType, src: string, dstAddress: string, options?: ToBTCOptions): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
257
|
-
/**
|
|
258
|
-
* @internal
|
|
259
|
-
*/
|
|
260
|
-
swap(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true> | "BTCLN" | "BTC-LN" | "LIGHTNING-BTC", amount: bigint | string, exactIn: boolean | SwapAmountType, src: string, dstLnurlPayOrInvoiceCreateService: string | LNURLPay | LightningInvoiceCreateService, options?: ToBTCLNOptions & {
|
|
261
|
-
comment?: string;
|
|
262
|
-
}): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
263
|
-
/**
|
|
264
|
-
* @internal
|
|
265
|
-
*/
|
|
266
|
-
swap(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true> | "BTCLN" | "BTC-LN" | "LIGHTNING-BTC", amount: undefined, exactIn: false | SwapAmountType.EXACT_OUT, src: string, dstLightningInvoice: string, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
267
|
-
/**
|
|
268
|
-
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
269
|
-
* or output amount (exactIn=false), NOTE: For regular SmartChain -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
270
|
-
* invoice's pre-set amount is used instead, use LNURL-pay for dynamic amounts
|
|
271
|
-
*
|
|
272
|
-
* @param srcToken Source token of the swap, user pays this token
|
|
273
|
-
* @param dstToken Destination token of the swap, user receives this token
|
|
274
|
-
* @param amount Amount of the swap
|
|
275
|
-
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
276
|
-
* @param src Source wallet/lnurl-withdraw of the swap
|
|
277
|
-
* @param dst Destination smart chain address, bitcoin on-chain address, lightning invoice, LNURL-pay
|
|
278
|
-
* @param options Options for the swap
|
|
279
|
-
*/
|
|
280
|
-
swap(srcToken: Token<ChainIdentifier> | string, dstToken: Token<ChainIdentifier> | string, amount: bigint | string | undefined, exactIn: boolean | SwapAmountType, src: undefined | string | LNURLWithdraw, dst: string | LNURLPay | LightningInvoiceCreateService, options?: FromBTCLNOptions | SpvFromBTCOptions | FromBTCOptions | ToBTCOptions | (ToBTCLNOptions & {
|
|
281
|
-
comment?: string;
|
|
282
|
-
}) | FromBTCLNAutoOptions): Promise<ISwap<T[ChainIdentifier]>>;
|
|
283
|
-
/**
|
|
284
|
-
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
285
|
-
*/
|
|
286
|
-
getAllSwaps(signer?: string): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
287
|
-
/**
|
|
288
|
-
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
289
|
-
*/
|
|
290
|
-
getActionableSwaps(signer?: string): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
291
|
-
/**
|
|
292
|
-
* Returns swaps that are refundable for the specific chain, optionally also for a specific signer's address
|
|
293
|
-
*/
|
|
294
|
-
getRefundableSwaps(signer?: string): Promise<IToBTCSwap<T[ChainIdentifier]>[]>;
|
|
295
|
-
/**
|
|
296
|
-
* Returns swaps that are due to be claimed/settled manually for the specific chain,
|
|
297
|
-
* optionally also for a specific signer's address
|
|
298
|
-
*/
|
|
299
|
-
getClaimableSwaps(signer?: string): Promise<IClaimableSwap<T[ChainIdentifier]>[]>;
|
|
300
|
-
/**
|
|
301
|
-
* Returns swap with a specific id (identifier) on a specific chain and optionally with a signer
|
|
302
|
-
*/
|
|
303
|
-
getSwapById(id: string, signer?: string): Promise<ISwap<T[ChainIdentifier]>>;
|
|
304
|
-
/**
|
|
305
|
-
* Returns the swap with a proper return type, or `undefined` if not found or has wrong type
|
|
306
|
-
*
|
|
307
|
-
* @param id An ID of the swap ({@link ISwap.getId})
|
|
308
|
-
* @param swapType Type of the swap
|
|
309
|
-
* @param signer An optional required smart chain signer address to fetch the swap for
|
|
310
|
-
*/
|
|
311
|
-
getTypedSwapById<S extends SwapType>(id: string, swapType: S, signer?: string): Promise<SwapTypeMapping<T[ChainIdentifier]>[S] | undefined>;
|
|
312
|
-
/**
|
|
313
|
-
* Synchronizes swaps from on-chain, this is ran automatically when SDK is initialized, hence
|
|
314
|
-
* should only be ran manually when `dontCheckPastSwaps=true` is passed in the swapper options,
|
|
315
|
-
* also deletes expired quotes
|
|
316
|
-
*
|
|
317
|
-
* @param signer Optional signer to only run swap sync for swaps initiated by this signer
|
|
318
|
-
*/
|
|
319
|
-
_syncSwaps(signer?: string): Promise<void>;
|
|
320
|
-
/**
|
|
321
|
-
* Recovers swaps from on-chain historical data.
|
|
322
|
-
*
|
|
323
|
-
* Please note that the recovered swaps might not be complete (i.e. missing amounts or addresses), as some
|
|
324
|
-
* of the swap data is purely off-chain and can never be recovered purely from on-chain data. This
|
|
325
|
-
* functions tries to recover as much swap data as possible.
|
|
326
|
-
*
|
|
327
|
-
* @param signer Signer address to recover the swaps for
|
|
328
|
-
* @param startBlockheight Optional starting blockheight for swap data recovery, will only check swaps
|
|
329
|
-
* initiated after this blockheight
|
|
330
|
-
*/
|
|
331
|
-
recoverSwaps(signer: string, startBlockheight?: number): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
332
|
-
getToken(ticker: "BTC" | "BITCOIN-BTC"): BtcToken<false>;
|
|
333
|
-
getToken(ticker: "BTCLN" | "BTC-LN" | "LIGHTNING-BTC"): BtcToken<true>;
|
|
334
|
-
getToken(ticker: `${ChainIdentifier}-${string}`): SCToken<ChainIdentifier>;
|
|
335
|
-
getToken(tickerOrAddress: string): Token<ChainIdentifier>;
|
|
336
|
-
/**
|
|
337
|
-
* Returns whether the SDK supports a given swap type on this chain based on currently known LPs
|
|
338
|
-
*
|
|
339
|
-
* @param swapType Swap protocol type
|
|
340
|
-
*/
|
|
341
|
-
supportsSwapType<Type extends SwapType>(swapType: Type): SupportsSwapType<T[ChainIdentifier], Type>;
|
|
342
|
-
/**
|
|
343
|
-
* @internal
|
|
344
|
-
*/
|
|
345
|
-
getSwapType(srcToken: BtcToken<true>, dstToken: SCToken<ChainIdentifier>): (SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? SwapType.FROM_BTCLN_AUTO : SwapType.FROM_BTCLN);
|
|
346
|
-
/**
|
|
347
|
-
* @internal
|
|
348
|
-
*/
|
|
349
|
-
getSwapType(srcToken: BtcToken<false>, dstToken: SCToken<ChainIdentifier>): (SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SwapType.SPV_VAULT_FROM_BTC : SwapType.FROM_BTC);
|
|
350
|
-
/**
|
|
351
|
-
* @internal
|
|
352
|
-
*/
|
|
353
|
-
getSwapType(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false>): SwapType.TO_BTC;
|
|
354
|
-
/**
|
|
355
|
-
* @internal
|
|
356
|
-
*/
|
|
357
|
-
getSwapType(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>): SwapType.TO_BTCLN;
|
|
358
|
-
/**
|
|
359
|
-
* Returns type of the swap based on input and output tokens specified
|
|
360
|
-
*
|
|
361
|
-
* @param srcToken Source token
|
|
362
|
-
* @param dstToken Destination token
|
|
363
|
-
*/
|
|
364
|
-
getSwapType(srcToken: Token<ChainIdentifier>, dstToken: Token<ChainIdentifier>): SwapType.FROM_BTCLN_AUTO | SwapType.FROM_BTCLN | SwapType.SPV_VAULT_FROM_BTC | SwapType.FROM_BTC | SwapType.TO_BTC | SwapType.TO_BTCLN;
|
|
365
|
-
/**
|
|
366
|
-
* Returns minimum/maximum limits for inputs and outputs for a swap between given tokens
|
|
367
|
-
*
|
|
368
|
-
* @param srcToken Source token
|
|
369
|
-
* @param dstToken Destination token
|
|
370
|
-
*/
|
|
371
|
-
getSwapLimits<A extends Token<ChainIdentifier>, B extends Token<ChainIdentifier>>(srcToken: A, dstToken: B): {
|
|
372
|
-
input: {
|
|
373
|
-
min: TokenAmount<A>;
|
|
374
|
-
max?: TokenAmount<A>;
|
|
375
|
-
};
|
|
376
|
-
output: {
|
|
377
|
-
min: TokenAmount<B>;
|
|
378
|
-
max?: TokenAmount<B>;
|
|
379
|
-
};
|
|
380
|
-
};
|
|
381
|
-
/**
|
|
382
|
-
* Returns a set of supported tokens by all the intermediaries offering a specific swap service
|
|
383
|
-
*
|
|
384
|
-
* @param _swapType Swap service type to check supported tokens for
|
|
385
|
-
*/
|
|
386
|
-
private getSupportedTokens;
|
|
387
|
-
/**
|
|
388
|
-
* Returns the set of supported tokens by all the intermediaries we know of offering a specific swapType service
|
|
389
|
-
*
|
|
390
|
-
* @param swapType Specific swap type for which to obtain supported tokens
|
|
391
|
-
*/
|
|
392
|
-
private getSupportedTokenAddresses;
|
|
393
|
-
/**
|
|
394
|
-
* Returns tokens that you can swap to (if input=true) from a given token,
|
|
395
|
-
* or tokens that you can swap from (if input=false) to a given token
|
|
396
|
-
*/
|
|
397
|
-
getSwapCounterTokens(token: Token, input: SwapSide | boolean): Token<ChainIdentifier>[];
|
|
398
|
-
/**
|
|
399
|
-
* Creates a child swapper instance with a signer
|
|
400
|
-
*
|
|
401
|
-
* @param signer Signer to use for the new swapper instance
|
|
402
|
-
*/
|
|
403
|
-
withSigner(signer: T[ChainIdentifier]["Signer"]): SwapperWithSigner<T, ChainIdentifier>;
|
|
404
|
-
}
|
|
1
|
+
import { IntermediaryDiscovery } from "../intermediaries/IntermediaryDiscovery";
|
|
2
|
+
import { SwapType } from "../enums/SwapType";
|
|
3
|
+
import { LnForGasSwap } from "../swaps/trusted/ln/LnForGasSwap";
|
|
4
|
+
import { ISwap } from "../swaps/ISwap";
|
|
5
|
+
import { IToBTCSwap } from "../swaps/escrow_swaps/tobtc/IToBTCSwap";
|
|
6
|
+
import { ChainIds, MultiChain, SupportsSwapType, Swapper } from "./Swapper";
|
|
7
|
+
import { FromBTCLNSwap } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap";
|
|
8
|
+
import { FromBTCSwap } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCSwap";
|
|
9
|
+
import { ToBTCLNSwap } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap";
|
|
10
|
+
import { ToBTCSwap } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCSwap";
|
|
11
|
+
import { SwapPriceWithChain } from "../prices/SwapPriceWithChain";
|
|
12
|
+
import { ToBTCOptions } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper";
|
|
13
|
+
import { ToBTCLNOptions } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper";
|
|
14
|
+
import { FromBTCOptions } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper";
|
|
15
|
+
import { FromBTCLNOptions } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper";
|
|
16
|
+
import { SwapperUtils } from "./SwapperUtils";
|
|
17
|
+
import { SpvFromBTCOptions } from "../swaps/spv_swaps/SpvFromBTCWrapper";
|
|
18
|
+
import { SpvFromBTCSwap } from "../swaps/spv_swaps/SpvFromBTCSwap";
|
|
19
|
+
import { OnchainForGasSwap } from "../swaps/trusted/onchain/OnchainForGasSwap";
|
|
20
|
+
import { SwapperWithSigner } from "./SwapperWithSigner";
|
|
21
|
+
import { FromBTCLNAutoOptions } from "../swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper";
|
|
22
|
+
import { FromBTCLNAutoSwap } from "../swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap";
|
|
23
|
+
import { SwapAmountType } from "../enums/SwapAmountType";
|
|
24
|
+
import { IClaimableSwap } from "../swaps/IClaimableSwap";
|
|
25
|
+
import { TokenAmount } from "../types/TokenAmount";
|
|
26
|
+
import { BtcToken, SCToken, Token } from "../types/Token";
|
|
27
|
+
import { LNURLWithdraw } from "../types/lnurl/LNURLWithdraw";
|
|
28
|
+
import { LNURLPay } from "../types/lnurl/LNURLPay";
|
|
29
|
+
import { LightningInvoiceCreateService } from "../types/wallets/LightningInvoiceCreateService";
|
|
30
|
+
import { Intermediary } from "../intermediaries/Intermediary";
|
|
31
|
+
import { SwapTypeMapping } from "../utils/SwapUtils";
|
|
32
|
+
import { SwapSide } from "../enums/SwapSide";
|
|
33
|
+
/**
|
|
34
|
+
* Chain-specific wrapper around Swapper for a particular blockchain
|
|
35
|
+
*
|
|
36
|
+
* @category Core
|
|
37
|
+
*/
|
|
38
|
+
export declare class SwapperWithChain<T extends MultiChain, ChainIdentifier extends ChainIds<T>> {
|
|
39
|
+
/**
|
|
40
|
+
* Underlying multichain swapper instance
|
|
41
|
+
*/
|
|
42
|
+
private readonly swapper;
|
|
43
|
+
/**
|
|
44
|
+
* Smart chain identifier of this swapper with chain
|
|
45
|
+
*/
|
|
46
|
+
readonly chainIdentifier: ChainIdentifier;
|
|
47
|
+
/**
|
|
48
|
+
* Pricing API used by the SDK
|
|
49
|
+
*/
|
|
50
|
+
readonly prices: SwapPriceWithChain<T, ChainIdentifier>;
|
|
51
|
+
/**
|
|
52
|
+
* Intermediary discovery instance
|
|
53
|
+
*/
|
|
54
|
+
get intermediaryDiscovery(): IntermediaryDiscovery;
|
|
55
|
+
/**
|
|
56
|
+
* Miscellaneous utility functions
|
|
57
|
+
*/
|
|
58
|
+
get Utils(): SwapperUtils<T>;
|
|
59
|
+
/**
|
|
60
|
+
* Helper information about various swap protocol and their features:
|
|
61
|
+
* - `requiresInputWallet`: Whether a swap requires a connected wallet on the input chain able to sign
|
|
62
|
+
* arbitrary transaction
|
|
63
|
+
* - `requiresOutputWallet`: Whether a swap requires a connected wallet on the output chain able to sign
|
|
64
|
+
* arbitrary transactions
|
|
65
|
+
* - `supportsGasDrop`: Whether a swap supports the "gas drop" feature, allowing to user to receive a small
|
|
66
|
+
* amount of native token as part of the swap when swapping to smart chains
|
|
67
|
+
*
|
|
68
|
+
* Uses a `Record` type here, use the {@link SwapProtocolInfo} import for a literal readonly type, with
|
|
69
|
+
* pre-filled exact values in the type.
|
|
70
|
+
*/
|
|
71
|
+
get SwapTypeInfo(): Record<SwapType, {
|
|
72
|
+
requiresInputWallet: boolean;
|
|
73
|
+
requiresOutputWallet: boolean;
|
|
74
|
+
supportsGasDrop: boolean;
|
|
75
|
+
}>;
|
|
76
|
+
constructor(swapper: Swapper<T>, chainIdentifier: ChainIdentifier);
|
|
77
|
+
/**
|
|
78
|
+
* Creates Smart chain -> Bitcoin ({@link SwapType.TO_BTC}) swap
|
|
79
|
+
*
|
|
80
|
+
* @param signer Signer's address on the source chain
|
|
81
|
+
* @param tokenAddress Token address to pay with
|
|
82
|
+
* @param address Recipient's bitcoin address
|
|
83
|
+
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
84
|
+
* @param exactIn Whether to use exact in instead of exact out
|
|
85
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
86
|
+
* @param options Additional options for the swap
|
|
87
|
+
*/
|
|
88
|
+
createToBTCSwap(signer: string, tokenAddress: string, address: string, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCOptions): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
89
|
+
/**
|
|
90
|
+
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap
|
|
91
|
+
*
|
|
92
|
+
* @param signer Signer's address on the source chain
|
|
93
|
+
* @param tokenAddress Token address to pay with
|
|
94
|
+
* @param paymentRequest BOLT11 lightning network invoice to be paid (needs to have a fixed amount), and the swap
|
|
95
|
+
* amount is taken from this fixed amount, hence only exact output swaps are supported
|
|
96
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
97
|
+
* @param options Additional options for the swap
|
|
98
|
+
*/
|
|
99
|
+
createToBTCLNSwap(signer: string, tokenAddress: string, paymentRequest: string, additionalParams?: Record<string, any>, options?: ToBTCLNOptions & {
|
|
100
|
+
comment?: string;
|
|
101
|
+
}): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
102
|
+
/**
|
|
103
|
+
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap via LNURL-pay link
|
|
104
|
+
*
|
|
105
|
+
* @param signer Signer's address on the source chain
|
|
106
|
+
* @param tokenAddress Token address to pay with
|
|
107
|
+
* @param lnurlPay LNURL-pay link to use for the payment
|
|
108
|
+
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
109
|
+
* @param exactIn Whether to do an exact in swap instead of exact out
|
|
110
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
111
|
+
* @param options Additional options for the swap
|
|
112
|
+
*/
|
|
113
|
+
createToBTCLNSwapViaLNURL(signer: string, tokenAddress: string, lnurlPay: string | LNURLPay, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
114
|
+
/**
|
|
115
|
+
* Creates Smart chain -> Bitcoin Lightning ({@link SwapType.TO_BTCLN}) swap via {@link LightningInvoiceCreateService}
|
|
116
|
+
*
|
|
117
|
+
* @param signer Signer's address on the source chain
|
|
118
|
+
* @param tokenAddress Token address to pay with
|
|
119
|
+
* @param service Invoice create service object which facilitates the creation of fixed amount LN invoices
|
|
120
|
+
* @param amount Amount to send in token based units (if `exactIn=true`) or receive in satoshis (if `exactIn=false`)
|
|
121
|
+
* @param exactIn Whether to do an exact in swap instead of exact out
|
|
122
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
123
|
+
* @param options Additional options for the swap
|
|
124
|
+
*/
|
|
125
|
+
createToBTCLNSwapViaInvoiceCreateService(signer: string, tokenAddress: string, service: LightningInvoiceCreateService, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
126
|
+
/**
|
|
127
|
+
* Creates Bitcoin -> Smart chain ({@link SwapType.SPV_VAULT_FROM_BTC}) swap
|
|
128
|
+
*
|
|
129
|
+
* @param recipient Recipient address on the destination chain
|
|
130
|
+
* @param tokenAddress Token address to receive
|
|
131
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
132
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
133
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
134
|
+
* @param options Additional options for the swap
|
|
135
|
+
*/
|
|
136
|
+
createFromBTCSwapNew(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: SpvFromBTCOptions): Promise<SpvFromBTCSwap<T[ChainIdentifier]>>;
|
|
137
|
+
/**
|
|
138
|
+
* Creates LEGACY Bitcoin -> Smart chain ({@link SwapType.FROM_BTC}) swap
|
|
139
|
+
*
|
|
140
|
+
* @param recipient Recipient address on the destination chain
|
|
141
|
+
* @param tokenAddress Token address to receive
|
|
142
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
143
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
144
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
145
|
+
* @param options Additional options for the swap
|
|
146
|
+
*/
|
|
147
|
+
createFromBTCSwap(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCOptions): Promise<FromBTCSwap<T[ChainIdentifier]>>;
|
|
148
|
+
/**
|
|
149
|
+
* Creates LEGACY Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN}) swap
|
|
150
|
+
*
|
|
151
|
+
* @param recipient Recipient address on the destination chain
|
|
152
|
+
* @param tokenAddress Token address to receive
|
|
153
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
154
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
155
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
156
|
+
* @param options Additional options for the swap
|
|
157
|
+
*/
|
|
158
|
+
createFromBTCLNSwap(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNOptions): Promise<FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
159
|
+
/**
|
|
160
|
+
* Creates LEGACY Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN}) swap, withdrawing from
|
|
161
|
+
* an LNURL-withdraw link
|
|
162
|
+
*
|
|
163
|
+
* @param recipient Recipient address on the destination chain
|
|
164
|
+
* @param tokenAddress Token address to receive
|
|
165
|
+
* @param lnurl LNURL-withdraw link to pull the funds from
|
|
166
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
167
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
168
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
169
|
+
*/
|
|
170
|
+
createFromBTCLNSwapViaLNURL(recipient: string, tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>): Promise<FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
171
|
+
/**
|
|
172
|
+
* Creates Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN_AUTO}) swap
|
|
173
|
+
*
|
|
174
|
+
* @param recipient Recipient address on the destination chain
|
|
175
|
+
* @param tokenAddress Token address to receive
|
|
176
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
177
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
178
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
179
|
+
* @param options Additional options for the swap
|
|
180
|
+
*/
|
|
181
|
+
createFromBTCLNSwapNew(recipient: string, tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNAutoOptions): Promise<FromBTCLNAutoSwap<T[ChainIdentifier]>>;
|
|
182
|
+
/**
|
|
183
|
+
* Creates Bitcoin Lightning -> Smart chain ({@link SwapType.FROM_BTCLN_AUTO}) swap, withdrawing from
|
|
184
|
+
* an LNURL-withdraw link
|
|
185
|
+
*
|
|
186
|
+
* @param recipient Recipient address on the destination chain
|
|
187
|
+
* @param tokenAddress Token address to receive
|
|
188
|
+
* @param lnurl LNURL-withdraw link to pull the funds from
|
|
189
|
+
* @param amount Amount to send in satoshis (if `exactOut=false`) or receive in token based units (if `exactOut=true`)
|
|
190
|
+
* @param exactOut Whether to use a exact out instead of exact in
|
|
191
|
+
* @param additionalParams Additional parameters sent to the LP when creating the swap
|
|
192
|
+
* @param options Additional options for the swap
|
|
193
|
+
*/
|
|
194
|
+
createFromBTCLNSwapNewViaLNURL(recipient: string, tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNAutoOptions): Promise<FromBTCLNAutoSwap<T[ChainIdentifier]>>;
|
|
195
|
+
/**
|
|
196
|
+
* Creates a trusted Bitcoin Lightning -> Smart chain ({@link SwapType.TRUSTED_FROM_BTCLN}) gas swap
|
|
197
|
+
*
|
|
198
|
+
* @param recipient Recipient address on the destination chain
|
|
199
|
+
* @param amount Amount of native token to receive, in base units
|
|
200
|
+
* @param trustedIntermediaryOrUrl URL or Intermediary object of the trusted intermediary to use, otherwise uses default
|
|
201
|
+
* @throws {Error} If no trusted intermediary specified
|
|
202
|
+
*/
|
|
203
|
+
createTrustedLNForGasSwap(recipient: string, amount: bigint, trustedIntermediaryOrUrl?: Intermediary | string): Promise<LnForGasSwap<T[ChainIdentifier]>>;
|
|
204
|
+
/**
|
|
205
|
+
* Creates a trusted Bitcoin -> Smart chain ({@link SwapType.TRUSTED_FROM_BTC}) gas swap
|
|
206
|
+
*
|
|
207
|
+
* @param recipient Recipient address on the destination chain
|
|
208
|
+
* @param amount Amount of native token to receive, in base units
|
|
209
|
+
* @param refundAddress Bitcoin refund address, in case the swap fails the funds are refunded here
|
|
210
|
+
* @param trustedIntermediaryOrUrl URL or Intermediary object of the trusted intermediary to use, otherwise uses default
|
|
211
|
+
* @throws {Error} If no trusted intermediary specified
|
|
212
|
+
*/
|
|
213
|
+
createTrustedOnchainForGasSwap(recipient: string, amount: bigint, refundAddress?: string, trustedIntermediaryOrUrl?: Intermediary | string): Promise<OnchainForGasSwap<T[ChainIdentifier]>>;
|
|
214
|
+
/**
|
|
215
|
+
* @internal
|
|
216
|
+
*/
|
|
217
|
+
create(signer: string, srcToken: BtcToken<true>, dstToken: SCToken<ChainIdentifier>, amount: bigint, exactIn: boolean, lnurlWithdraw?: string | LNURLWithdraw): Promise<SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[ChainIdentifier]> : FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
218
|
+
/**
|
|
219
|
+
* @internal
|
|
220
|
+
*/
|
|
221
|
+
create(signer: string, srcToken: BtcToken<false>, dstToken: SCToken<ChainIdentifier>, amount: bigint, exactIn: boolean): Promise<(SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[ChainIdentifier]> : FromBTCSwap<T[ChainIdentifier]>)>;
|
|
222
|
+
/**
|
|
223
|
+
* @internal
|
|
224
|
+
*/
|
|
225
|
+
create(signer: string, srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false>, amount: bigint, exactIn: boolean, address: string): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
226
|
+
/**
|
|
227
|
+
* @internal
|
|
228
|
+
*/
|
|
229
|
+
create(signer: string, srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>, amount: bigint, exactIn: boolean, lnurlPay: string | LNURLPay): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
230
|
+
/**
|
|
231
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
232
|
+
* or output amount (exactIn=false), NOTE: For regular -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
233
|
+
* invoice's pre-set amount is used instead.
|
|
234
|
+
* @deprecated Use swap() instead
|
|
235
|
+
*
|
|
236
|
+
* @param signer Smartchain (Solana, Starknet, etc.) address of the user
|
|
237
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
238
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
239
|
+
* @param amount Amount of the swap
|
|
240
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
241
|
+
* @param addressLnurlLightningInvoice Bitcoin on-chain address, lightning invoice, LNURL-pay to pay or
|
|
242
|
+
* LNURL-withdrawal to withdraw money from
|
|
243
|
+
*/
|
|
244
|
+
create(signer: string, srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>, amount: undefined, exactIn: false, addressLnurlLightningInvoice: string): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
245
|
+
/**
|
|
246
|
+
* @internal
|
|
247
|
+
*/
|
|
248
|
+
swap(srcToken: BtcToken<true> | "BTCLN" | "BTC-LN" | "LIGHTNING-BTC", dstToken: SCToken<ChainIdentifier>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: undefined | string | LNURLWithdraw, dstSmartchainWallet: string, options?: (SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoOptions : FromBTCLNOptions)): Promise<SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[ChainIdentifier]> : FromBTCLNSwap<T[ChainIdentifier]>>;
|
|
249
|
+
/**
|
|
250
|
+
* @internal
|
|
251
|
+
*/
|
|
252
|
+
swap(srcToken: BtcToken<false> | "BTC" | "BITCOIN-BTC", dstToken: SCToken<ChainIdentifier>, amount: bigint | string, exactIn: boolean | SwapAmountType, src: undefined | string, dstSmartchainWallet: string, options?: (SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCOptions : FromBTCOptions)): Promise<(SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[ChainIdentifier]> : FromBTCSwap<T[ChainIdentifier]>)>;
|
|
253
|
+
/**
|
|
254
|
+
* @internal
|
|
255
|
+
*/
|
|
256
|
+
swap(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false> | "BTC" | "BITCOIN-BTC", amount: bigint | string, exactIn: boolean | SwapAmountType, src: string, dstAddress: string, options?: ToBTCOptions): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
257
|
+
/**
|
|
258
|
+
* @internal
|
|
259
|
+
*/
|
|
260
|
+
swap(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true> | "BTCLN" | "BTC-LN" | "LIGHTNING-BTC", amount: bigint | string, exactIn: boolean | SwapAmountType, src: string, dstLnurlPayOrInvoiceCreateService: string | LNURLPay | LightningInvoiceCreateService, options?: ToBTCLNOptions & {
|
|
261
|
+
comment?: string;
|
|
262
|
+
}): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
263
|
+
/**
|
|
264
|
+
* @internal
|
|
265
|
+
*/
|
|
266
|
+
swap(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true> | "BTCLN" | "BTC-LN" | "LIGHTNING-BTC", amount: undefined, exactIn: false | SwapAmountType.EXACT_OUT, src: string, dstLightningInvoice: string, options?: ToBTCLNOptions): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
267
|
+
/**
|
|
268
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
269
|
+
* or output amount (exactIn=false), NOTE: For regular SmartChain -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
270
|
+
* invoice's pre-set amount is used instead, use LNURL-pay for dynamic amounts
|
|
271
|
+
*
|
|
272
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
273
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
274
|
+
* @param amount Amount of the swap
|
|
275
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
276
|
+
* @param src Source wallet/lnurl-withdraw of the swap
|
|
277
|
+
* @param dst Destination smart chain address, bitcoin on-chain address, lightning invoice, LNURL-pay
|
|
278
|
+
* @param options Options for the swap
|
|
279
|
+
*/
|
|
280
|
+
swap(srcToken: Token<ChainIdentifier> | string, dstToken: Token<ChainIdentifier> | string, amount: bigint | string | undefined, exactIn: boolean | SwapAmountType, src: undefined | string | LNURLWithdraw, dst: string | LNURLPay | LightningInvoiceCreateService, options?: FromBTCLNOptions | SpvFromBTCOptions | FromBTCOptions | ToBTCOptions | (ToBTCLNOptions & {
|
|
281
|
+
comment?: string;
|
|
282
|
+
}) | FromBTCLNAutoOptions): Promise<ISwap<T[ChainIdentifier]>>;
|
|
283
|
+
/**
|
|
284
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
285
|
+
*/
|
|
286
|
+
getAllSwaps(signer?: string): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
287
|
+
/**
|
|
288
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
289
|
+
*/
|
|
290
|
+
getActionableSwaps(signer?: string): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
291
|
+
/**
|
|
292
|
+
* Returns swaps that are refundable for the specific chain, optionally also for a specific signer's address
|
|
293
|
+
*/
|
|
294
|
+
getRefundableSwaps(signer?: string): Promise<IToBTCSwap<T[ChainIdentifier]>[]>;
|
|
295
|
+
/**
|
|
296
|
+
* Returns swaps that are due to be claimed/settled manually for the specific chain,
|
|
297
|
+
* optionally also for a specific signer's address
|
|
298
|
+
*/
|
|
299
|
+
getClaimableSwaps(signer?: string): Promise<IClaimableSwap<T[ChainIdentifier]>[]>;
|
|
300
|
+
/**
|
|
301
|
+
* Returns swap with a specific id (identifier) on a specific chain and optionally with a signer
|
|
302
|
+
*/
|
|
303
|
+
getSwapById(id: string, signer?: string): Promise<ISwap<T[ChainIdentifier]>>;
|
|
304
|
+
/**
|
|
305
|
+
* Returns the swap with a proper return type, or `undefined` if not found or has wrong type
|
|
306
|
+
*
|
|
307
|
+
* @param id An ID of the swap ({@link ISwap.getId})
|
|
308
|
+
* @param swapType Type of the swap
|
|
309
|
+
* @param signer An optional required smart chain signer address to fetch the swap for
|
|
310
|
+
*/
|
|
311
|
+
getTypedSwapById<S extends SwapType>(id: string, swapType: S, signer?: string): Promise<SwapTypeMapping<T[ChainIdentifier]>[S] | undefined>;
|
|
312
|
+
/**
|
|
313
|
+
* Synchronizes swaps from on-chain, this is ran automatically when SDK is initialized, hence
|
|
314
|
+
* should only be ran manually when `dontCheckPastSwaps=true` is passed in the swapper options,
|
|
315
|
+
* also deletes expired quotes
|
|
316
|
+
*
|
|
317
|
+
* @param signer Optional signer to only run swap sync for swaps initiated by this signer
|
|
318
|
+
*/
|
|
319
|
+
_syncSwaps(signer?: string): Promise<void>;
|
|
320
|
+
/**
|
|
321
|
+
* Recovers swaps from on-chain historical data.
|
|
322
|
+
*
|
|
323
|
+
* Please note that the recovered swaps might not be complete (i.e. missing amounts or addresses), as some
|
|
324
|
+
* of the swap data is purely off-chain and can never be recovered purely from on-chain data. This
|
|
325
|
+
* functions tries to recover as much swap data as possible.
|
|
326
|
+
*
|
|
327
|
+
* @param signer Signer address to recover the swaps for
|
|
328
|
+
* @param startBlockheight Optional starting blockheight for swap data recovery, will only check swaps
|
|
329
|
+
* initiated after this blockheight
|
|
330
|
+
*/
|
|
331
|
+
recoverSwaps(signer: string, startBlockheight?: number): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
332
|
+
getToken(ticker: "BTC" | "BITCOIN-BTC"): BtcToken<false>;
|
|
333
|
+
getToken(ticker: "BTCLN" | "BTC-LN" | "LIGHTNING-BTC"): BtcToken<true>;
|
|
334
|
+
getToken(ticker: `${ChainIdentifier}-${string}`): SCToken<ChainIdentifier>;
|
|
335
|
+
getToken(tickerOrAddress: string): Token<ChainIdentifier>;
|
|
336
|
+
/**
|
|
337
|
+
* Returns whether the SDK supports a given swap type on this chain based on currently known LPs
|
|
338
|
+
*
|
|
339
|
+
* @param swapType Swap protocol type
|
|
340
|
+
*/
|
|
341
|
+
supportsSwapType<Type extends SwapType>(swapType: Type): SupportsSwapType<T[ChainIdentifier], Type>;
|
|
342
|
+
/**
|
|
343
|
+
* @internal
|
|
344
|
+
*/
|
|
345
|
+
getSwapType(srcToken: BtcToken<true>, dstToken: SCToken<ChainIdentifier>): (SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? SwapType.FROM_BTCLN_AUTO : SwapType.FROM_BTCLN);
|
|
346
|
+
/**
|
|
347
|
+
* @internal
|
|
348
|
+
*/
|
|
349
|
+
getSwapType(srcToken: BtcToken<false>, dstToken: SCToken<ChainIdentifier>): (SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SwapType.SPV_VAULT_FROM_BTC : SwapType.FROM_BTC);
|
|
350
|
+
/**
|
|
351
|
+
* @internal
|
|
352
|
+
*/
|
|
353
|
+
getSwapType(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false>): SwapType.TO_BTC;
|
|
354
|
+
/**
|
|
355
|
+
* @internal
|
|
356
|
+
*/
|
|
357
|
+
getSwapType(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>): SwapType.TO_BTCLN;
|
|
358
|
+
/**
|
|
359
|
+
* Returns type of the swap based on input and output tokens specified
|
|
360
|
+
*
|
|
361
|
+
* @param srcToken Source token
|
|
362
|
+
* @param dstToken Destination token
|
|
363
|
+
*/
|
|
364
|
+
getSwapType(srcToken: Token<ChainIdentifier>, dstToken: Token<ChainIdentifier>): SwapType.FROM_BTCLN_AUTO | SwapType.FROM_BTCLN | SwapType.SPV_VAULT_FROM_BTC | SwapType.FROM_BTC | SwapType.TO_BTC | SwapType.TO_BTCLN;
|
|
365
|
+
/**
|
|
366
|
+
* Returns minimum/maximum limits for inputs and outputs for a swap between given tokens
|
|
367
|
+
*
|
|
368
|
+
* @param srcToken Source token
|
|
369
|
+
* @param dstToken Destination token
|
|
370
|
+
*/
|
|
371
|
+
getSwapLimits<A extends Token<ChainIdentifier>, B extends Token<ChainIdentifier>>(srcToken: A, dstToken: B): {
|
|
372
|
+
input: {
|
|
373
|
+
min: TokenAmount<A>;
|
|
374
|
+
max?: TokenAmount<A>;
|
|
375
|
+
};
|
|
376
|
+
output: {
|
|
377
|
+
min: TokenAmount<B>;
|
|
378
|
+
max?: TokenAmount<B>;
|
|
379
|
+
};
|
|
380
|
+
};
|
|
381
|
+
/**
|
|
382
|
+
* Returns a set of supported tokens by all the intermediaries offering a specific swap service
|
|
383
|
+
*
|
|
384
|
+
* @param _swapType Swap service type to check supported tokens for
|
|
385
|
+
*/
|
|
386
|
+
private getSupportedTokens;
|
|
387
|
+
/**
|
|
388
|
+
* Returns the set of supported tokens by all the intermediaries we know of offering a specific swapType service
|
|
389
|
+
*
|
|
390
|
+
* @param swapType Specific swap type for which to obtain supported tokens
|
|
391
|
+
*/
|
|
392
|
+
private getSupportedTokenAddresses;
|
|
393
|
+
/**
|
|
394
|
+
* Returns tokens that you can swap to (if input=true) from a given token,
|
|
395
|
+
* or tokens that you can swap from (if input=false) to a given token
|
|
396
|
+
*/
|
|
397
|
+
getSwapCounterTokens(token: Token, input: SwapSide | boolean): Token<ChainIdentifier>[];
|
|
398
|
+
/**
|
|
399
|
+
* Creates a child swapper instance with a signer
|
|
400
|
+
*
|
|
401
|
+
* @param signer Signer to use for the new swapper instance
|
|
402
|
+
*/
|
|
403
|
+
withSigner(signer: T[ChainIdentifier]["Signer"]): SwapperWithSigner<T, ChainIdentifier>;
|
|
404
|
+
}
|