@atomiqlabs/sdk 8.1.7 → 8.3.1
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/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 +7 -0
- package/dist/enums/FeeType.js +7 -0
- 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 +4 -5
- package/dist/index.js +3 -4
- package/dist/intermediaries/Intermediary.d.ts +57 -10
- package/dist/intermediaries/Intermediary.js +37 -10
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +55 -22
- package/dist/intermediaries/IntermediaryDiscovery.js +35 -22
- package/dist/prices/RedundantSwapPrice.d.ts +24 -3
- package/dist/prices/RedundantSwapPrice.js +21 -1
- package/dist/prices/SingleSwapPrice.d.ts +9 -6
- package/dist/prices/SingleSwapPrice.js +10 -7
- package/dist/prices/SwapPriceWithChain.d.ts +54 -16
- package/dist/prices/SwapPriceWithChain.js +58 -20
- package/dist/prices/abstract/ISwapPrice.d.ts +94 -45
- package/dist/prices/abstract/ISwapPrice.js +103 -55
- package/dist/prices/providers/BinancePriceProvider.d.ts +7 -0
- package/dist/prices/providers/BinancePriceProvider.js +7 -0
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +6 -0
- package/dist/prices/providers/CoinGeckoPriceProvider.js +6 -0
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +6 -0
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +6 -0
- package/dist/prices/providers/CustomPriceProvider.d.ts +11 -0
- package/dist/prices/providers/CustomPriceProvider.js +11 -0
- package/dist/prices/providers/KrakenPriceProvider.d.ts +9 -0
- package/dist/prices/providers/KrakenPriceProvider.js +9 -0
- package/dist/prices/providers/OKXPriceProvider.d.ts +6 -0
- package/dist/prices/providers/OKXPriceProvider.js +6 -0
- 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 +303 -222
- package/dist/swapper/Swapper.js +376 -344
- package/dist/swapper/SwapperFactory.d.ts +41 -17
- package/dist/swapper/SwapperFactory.js +23 -2
- 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 +10 -1
- package/dist/swaps/IAddressSwap.js +2 -1
- package/dist/swaps/IBTCWalletSwap.d.ts +24 -6
- package/dist/swaps/IBTCWalletSwap.js +2 -1
- package/dist/swaps/IClaimableSwap.d.ts +36 -4
- package/dist/swaps/IClaimableSwap.js +2 -1
- package/dist/swaps/IClaimableSwapWrapper.d.ts +11 -1
- package/dist/swaps/IRefundableSwap.d.ts +29 -3
- package/dist/swaps/IRefundableSwap.js +2 -1
- package/dist/swaps/ISwap.d.ts +159 -21
- package/dist/swaps/ISwap.js +90 -33
- package/dist/swaps/ISwapWithGasDrop.d.ts +6 -0
- package/dist/swaps/ISwapWithGasDrop.js +1 -0
- package/dist/swaps/ISwapWrapper.d.ts +157 -48
- package/dist/swaps/ISwapWrapper.js +130 -72
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +49 -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 +94 -29
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +90 -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 +275 -58
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +516 -239
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +76 -25
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +131 -49
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +311 -51
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +542 -193
- 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 +209 -53
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +449 -242
- 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 +197 -56
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +326 -189
- 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 +60 -19
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +74 -31
- 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 +36 -13
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +65 -19
- 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 +328 -92
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +460 -219
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +76 -24
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +244 -124
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +146 -18
- package/dist/swaps/trusted/ln/LnForGasSwap.js +173 -43
- 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 +200 -47
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +230 -78
- 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 +7 -1
- package/dist/types/SwapExecutionAction.d.ts +74 -4
- package/dist/types/SwapWithSigner.d.ts +4 -1
- 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 +2 -1
- package/dist/types/fees/FeeBreakdown.d.ts +2 -1
- package/dist/types/fees/PercentagePPM.d.ts +2 -0
- package/dist/types/fees/PercentagePPM.js +1 -0
- package/dist/types/lnurl/LNURLPay.d.ts +14 -6
- package/dist/types/lnurl/LNURLPay.js +6 -2
- package/dist/types/lnurl/LNURLWithdraw.d.ts +12 -5
- package/dist/types/lnurl/LNURLWithdraw.js +6 -2
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +20 -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 +3 -1
- package/dist/utils/BitcoinUtils.d.ts +1 -0
- package/dist/utils/BitcoinUtils.js +5 -1
- package/dist/utils/SwapUtils.d.ts +56 -1
- package/dist/utils/SwapUtils.js +53 -1
- package/dist/utils/TokenUtils.d.ts +10 -2
- package/dist/utils/TokenUtils.js +12 -4
- package/package.json +3 -3
- 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 +7 -0
- 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 +6 -5
- package/src/intermediaries/Intermediary.ts +57 -10
- package/src/intermediaries/IntermediaryDiscovery.ts +60 -27
- package/src/prices/RedundantSwapPrice.ts +24 -4
- package/src/prices/SingleSwapPrice.ts +10 -7
- package/src/prices/SwapPriceWithChain.ts +59 -21
- package/src/prices/abstract/ISwapPrice.ts +114 -65
- package/src/prices/providers/BinancePriceProvider.ts +7 -0
- package/src/prices/providers/CoinGeckoPriceProvider.ts +6 -0
- package/src/prices/providers/CoinPaprikaPriceProvider.ts +6 -0
- package/src/prices/providers/CustomPriceProvider.ts +11 -0
- package/src/prices/providers/KrakenPriceProvider.ts +9 -0
- package/src/prices/providers/OKXPriceProvider.ts +6 -0
- 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 +513 -379
- package/src/swapper/SwapperFactory.ts +44 -21
- 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 +11 -1
- package/src/swaps/IBTCWalletSwap.ts +24 -8
- package/src/swaps/IClaimableSwap.ts +39 -4
- package/src/swaps/IClaimableSwapWrapper.ts +11 -2
- package/src/swaps/IRefundableSwap.ts +32 -3
- package/src/swaps/ISwap.ts +221 -82
- package/src/swaps/ISwapWithGasDrop.ts +6 -0
- package/src/swaps/ISwapWrapper.ts +212 -94
- package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +62 -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 +120 -51
- package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +24 -11
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +559 -256
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +155 -61
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +590 -226
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +177 -74
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +470 -243
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +141 -59
- package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +352 -193
- package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +48 -23
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +86 -39
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +110 -110
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +88 -33
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +101 -31
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +534 -263
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +289 -148
- package/src/swaps/trusted/ln/LnForGasSwap.ts +184 -45
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +34 -15
- package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +260 -86
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +41 -19
- package/src/types/AmountData.ts +2 -1
- package/src/types/CustomPriceFunction.ts +7 -1
- package/src/types/SwapExecutionAction.ts +84 -5
- package/src/types/SwapWithSigner.ts +7 -3
- package/src/types/Token.ts +12 -5
- package/src/types/TokenAmount.ts +3 -0
- package/src/types/fees/Fee.ts +2 -1
- package/src/types/fees/FeeBreakdown.ts +2 -1
- package/src/types/fees/PercentagePPM.ts +2 -0
- package/src/types/lnurl/LNURLPay.ts +14 -6
- package/src/types/lnurl/LNURLWithdraw.ts +12 -5
- package/src/types/wallets/LightningInvoiceCreateService.ts +26 -0
- package/src/types/wallets/MinimalBitcoinWalletInterface.ts +3 -1
- package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +3 -1
- package/src/utils/BitcoinUtils.ts +5 -0
- package/src/utils/SwapUtils.ts +61 -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
|
@@ -7,6 +7,7 @@ import { IRefundableSwap } from "../../IRefundableSwap";
|
|
|
7
7
|
import { FeeType } from "../../../enums/FeeType";
|
|
8
8
|
import { TokenAmount } from "../../../types/TokenAmount";
|
|
9
9
|
import { BtcToken, SCToken } from "../../../types/Token";
|
|
10
|
+
import { SwapExecutionActionCommit } from "../../../types/SwapExecutionAction";
|
|
10
11
|
export type IToBTCSwapInit<T extends SwapData> = IEscrowSelfInitSwapInit<T> & {
|
|
11
12
|
signatureData?: SignatureData;
|
|
12
13
|
data: T;
|
|
@@ -14,24 +15,94 @@ export type IToBTCSwapInit<T extends SwapData> = IEscrowSelfInitSwapInit<T> & {
|
|
|
14
15
|
networkFeeBtc: bigint;
|
|
15
16
|
};
|
|
16
17
|
export declare function isIToBTCSwapInit<T extends SwapData>(obj: any): obj is IToBTCSwapInit<T>;
|
|
18
|
+
/**
|
|
19
|
+
* State enum for escrow-based Smart chain -> Bitcoin (on-chain & lightning) swaps
|
|
20
|
+
*
|
|
21
|
+
* @category Swaps
|
|
22
|
+
*/
|
|
23
|
+
export declare enum ToBTCSwapState {
|
|
24
|
+
/**
|
|
25
|
+
* Intermediary (LP) was unable to process the swap and the funds were refunded on the
|
|
26
|
+
* source chain
|
|
27
|
+
*/
|
|
28
|
+
REFUNDED = -3,
|
|
29
|
+
/**
|
|
30
|
+
* Swap has expired for good and there is no way how it can be executed anymore
|
|
31
|
+
*/
|
|
32
|
+
QUOTE_EXPIRED = -2,
|
|
33
|
+
/**
|
|
34
|
+
* A swap is almost expired, and it should be presented to the user as expired, though
|
|
35
|
+
* there is still a chance that it will be processed
|
|
36
|
+
*/
|
|
37
|
+
QUOTE_SOFT_EXPIRED = -1,
|
|
38
|
+
/**
|
|
39
|
+
* Swap was created, use the {@link IToBTCSwap.commit} or {@link IToBTCSwap.txsCommit} to
|
|
40
|
+
* initiate it by creating the swap escrow on the source chain
|
|
41
|
+
*/
|
|
42
|
+
CREATED = 0,
|
|
43
|
+
/**
|
|
44
|
+
* Swap escrow was initiated (committed) on the source chain, the intermediary (LP) will
|
|
45
|
+
* now process the swap. You can wait till that happens with the {@link IToBTCSwap.waitForPayment}
|
|
46
|
+
* function.
|
|
47
|
+
*/
|
|
48
|
+
COMMITED = 1,
|
|
49
|
+
/**
|
|
50
|
+
* The intermediary (LP) has processed the transaction and sent out the funds on the destination chain,
|
|
51
|
+
* but hasn't yet settled the escrow on the source chain.
|
|
52
|
+
*/
|
|
53
|
+
SOFT_CLAIMED = 2,
|
|
54
|
+
/**
|
|
55
|
+
* Swap was successfully settled by the intermediary (LP) on the source chain
|
|
56
|
+
*/
|
|
57
|
+
CLAIMED = 3,
|
|
58
|
+
/**
|
|
59
|
+
* Intermediary (LP) was unable to process the swap and the swap escrow on the source chain
|
|
60
|
+
* is refundable, call {@link IToBTCSwap.refund} or {@link IToBTCSwap.txsRefund} to refund
|
|
61
|
+
*/
|
|
62
|
+
REFUNDABLE = 4
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Base class for escrow-based Smart chain -> Bitcoin (on-chain & lightning) swaps
|
|
66
|
+
*
|
|
67
|
+
* @category Swaps
|
|
68
|
+
*/
|
|
17
69
|
export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D extends IToBTCDefinition<T, IToBTCWrapper<T, D>, IToBTCSwap<T, D>> = IToBTCDefinition<T, IToBTCWrapper<T, any>, IToBTCSwap<T, any>>> extends IEscrowSelfInitSwap<T, D, ToBTCSwapState> implements IRefundableSwap<T, D, ToBTCSwapState> {
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
protected readonly abstract outputToken: BtcToken;
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
18
77
|
protected readonly networkFee: bigint;
|
|
78
|
+
/**
|
|
79
|
+
* @internal
|
|
80
|
+
*/
|
|
19
81
|
protected networkFeeBtc: bigint;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
readonly _data: T["Data"];
|
|
23
86
|
protected constructor(wrapper: D["Wrapper"], serializedObject: any);
|
|
24
87
|
protected constructor(wrapper: D["Wrapper"], init: IToBTCSwapInit<T["Data"]>);
|
|
88
|
+
/**
|
|
89
|
+
* @inheritDoc
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
25
92
|
protected getSwapData(): T["Data"];
|
|
93
|
+
/**
|
|
94
|
+
* @inheritDoc
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
26
97
|
protected upgradeVersion(): void;
|
|
27
98
|
/**
|
|
28
|
-
*
|
|
29
|
-
* @
|
|
99
|
+
* @inheritDoc
|
|
100
|
+
* @internal
|
|
30
101
|
*/
|
|
31
102
|
protected tryRecomputeSwapPrice(): void;
|
|
32
103
|
/**
|
|
33
104
|
* Returns the payment hash identifier to be sent to the LP for getStatus and getRefund
|
|
34
|
-
* @
|
|
105
|
+
* @internal
|
|
35
106
|
*/
|
|
36
107
|
protected getLpIdentifier(): string;
|
|
37
108
|
/**
|
|
@@ -41,31 +112,73 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
41
112
|
* @param check Whether to check the passed result
|
|
42
113
|
* @returns true if check passed, false if check failed with a soft error (e.g. tx not yet found in the mempool)
|
|
43
114
|
* @throws {IntermediaryError} When the data returned by the intermediary isn't valid
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
44
117
|
*/
|
|
45
118
|
abstract _setPaymentResult(result: {
|
|
46
119
|
secret?: string;
|
|
47
120
|
txId?: string;
|
|
48
121
|
}, check?: boolean): Promise<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* @inheritDoc
|
|
124
|
+
*/
|
|
49
125
|
getInputAddress(): string | null;
|
|
126
|
+
/**
|
|
127
|
+
* @inheritDoc
|
|
128
|
+
*/
|
|
50
129
|
getInputTxId(): string | null;
|
|
130
|
+
/**
|
|
131
|
+
* @inheritDoc
|
|
132
|
+
*/
|
|
51
133
|
requiresAction(): boolean;
|
|
52
134
|
/**
|
|
53
|
-
*
|
|
135
|
+
* @inheritDoc
|
|
54
136
|
*/
|
|
55
137
|
isFinished(): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* @inheritDoc
|
|
140
|
+
*/
|
|
56
141
|
isRefundable(): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* @inheritDoc
|
|
144
|
+
*/
|
|
57
145
|
isQuoteExpired(): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* @inheritDoc
|
|
148
|
+
*/
|
|
58
149
|
isQuoteSoftExpired(): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* @inheritDoc
|
|
152
|
+
*/
|
|
59
153
|
isSuccessful(): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* @inheritDoc
|
|
156
|
+
*/
|
|
60
157
|
isFailed(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* @inheritDoc
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
61
162
|
_getInitiator(): string;
|
|
163
|
+
/**
|
|
164
|
+
* Returns the swap fee charged by the intermediary (LP) on this swap
|
|
165
|
+
*
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
62
168
|
protected getSwapFee(): Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
|
|
63
169
|
/**
|
|
64
|
-
* Returns network fee for
|
|
65
|
-
*
|
|
170
|
+
* Returns network fee for on the destination chain for the swap
|
|
171
|
+
*
|
|
172
|
+
* @internal
|
|
66
173
|
*/
|
|
67
174
|
protected getNetworkFee(): Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
|
|
175
|
+
/**
|
|
176
|
+
* @inheritDoc
|
|
177
|
+
*/
|
|
68
178
|
getFee(): Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
|
|
179
|
+
/**
|
|
180
|
+
* @inheritDoc
|
|
181
|
+
*/
|
|
69
182
|
getFeeBreakdown(): [
|
|
70
183
|
{
|
|
71
184
|
type: FeeType.SWAP;
|
|
@@ -76,11 +189,20 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
76
189
|
fee: Fee<T["ChainId"], SCToken<T["ChainId"]>, BtcToken>;
|
|
77
190
|
}
|
|
78
191
|
];
|
|
192
|
+
/**
|
|
193
|
+
* @inheritDoc
|
|
194
|
+
*/
|
|
79
195
|
getInputToken(): SCToken<T["ChainId"]>;
|
|
196
|
+
/**
|
|
197
|
+
* @inheritDoc
|
|
198
|
+
*/
|
|
80
199
|
getInput(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
|
|
200
|
+
/**
|
|
201
|
+
* @inheritDoc
|
|
202
|
+
*/
|
|
81
203
|
getInputWithoutFee(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
|
|
82
204
|
/**
|
|
83
|
-
* Checks if the
|
|
205
|
+
* Checks if the initiator/sender on the source chain has enough balance to go through with the swap
|
|
84
206
|
*/
|
|
85
207
|
hasEnoughBalance(): Promise<{
|
|
86
208
|
enoughBalance: boolean;
|
|
@@ -88,7 +210,8 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
88
210
|
required: TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
|
|
89
211
|
}>;
|
|
90
212
|
/**
|
|
91
|
-
*
|
|
213
|
+
* Checks if the initiator/sender on the source chain has enough native token balance
|
|
214
|
+
* to cover the transaction fee of initiating the swap
|
|
92
215
|
*/
|
|
93
216
|
hasEnoughForTxFees(): Promise<{
|
|
94
217
|
enoughBalance: boolean;
|
|
@@ -103,7 +226,7 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
103
226
|
* @param options Optional options for the swap like feeRate, AbortSignal, and timeouts/intervals
|
|
104
227
|
*
|
|
105
228
|
* @returns {boolean} Whether the swap was successfully processed by the LP, in case `false` is returned
|
|
106
|
-
* the user can refund their funds back on the source chain by calling
|
|
229
|
+
* the user can refund their funds back on the source chain by calling {@link refund}
|
|
107
230
|
*/
|
|
108
231
|
execute(signer: T["Signer"] | T["NativeSigner"], callbacks?: {
|
|
109
232
|
onSourceTransactionSent?: (sourceTxId: string) => void;
|
|
@@ -114,41 +237,45 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
114
237
|
paymentCheckIntervalSeconds?: number;
|
|
115
238
|
maxWaitTillSwapProcessedSeconds?: number;
|
|
116
239
|
}): Promise<boolean>;
|
|
240
|
+
/**
|
|
241
|
+
* @inheritDoc
|
|
242
|
+
* @param options.skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
|
|
243
|
+
* (this is handled on swap creation, if you commit right after quoting, you can use `skipChecks=true`)
|
|
244
|
+
*/
|
|
117
245
|
txsExecute(options?: {
|
|
118
246
|
skipChecks?: boolean;
|
|
119
|
-
}): Promise<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
chain: T["ChainId"];
|
|
123
|
-
txs: T["TX"][];
|
|
124
|
-
}[]>;
|
|
247
|
+
}): Promise<[
|
|
248
|
+
SwapExecutionActionCommit<T>
|
|
249
|
+
]>;
|
|
125
250
|
/**
|
|
126
|
-
*
|
|
251
|
+
* After sending the transaction manually be sure to call the {@link waitTillCommited} function
|
|
252
|
+
* to wait till the initiation transaction is observed, processed by the SDK and state of the swap
|
|
253
|
+
* properly updated.
|
|
127
254
|
*
|
|
128
|
-
* @
|
|
129
|
-
* (this is handled on swap creation, if you commit right after quoting, you can use skipChecks=true)
|
|
255
|
+
* @inheritDoc
|
|
130
256
|
*
|
|
131
257
|
* @throws {Error} When in invalid state (not PR_CREATED)
|
|
132
258
|
*/
|
|
133
259
|
txsCommit(skipChecks?: boolean): Promise<T["TX"][]>;
|
|
134
260
|
/**
|
|
135
|
-
*
|
|
261
|
+
* @inheritDoc
|
|
136
262
|
*
|
|
137
|
-
* @param _signer Signer to sign the transactions with, must be the same as used in the initialization
|
|
138
|
-
* @param abortSignal Abort signal
|
|
139
|
-
* @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
|
|
140
|
-
* (this is handled on swap creation, if you commit right after quoting, you can skipChecks)`
|
|
141
|
-
* @param onBeforeTxSent
|
|
142
263
|
* @throws {Error} If invalid signer is provided that doesn't match the swap data
|
|
143
264
|
*/
|
|
144
265
|
commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
|
|
145
266
|
/**
|
|
146
|
-
*
|
|
267
|
+
* @inheritDoc
|
|
147
268
|
*
|
|
148
|
-
* @
|
|
149
|
-
* @throws {Error} If swap is not in the correct state (must be CREATED)
|
|
269
|
+
* @throws {Error} If swap is not in the correct state (must be {@link ToBTCSwapState.CREATED})
|
|
150
270
|
*/
|
|
151
271
|
waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
|
|
272
|
+
/**
|
|
273
|
+
* Waits till the swap is processed by the intermediary (LP)
|
|
274
|
+
*
|
|
275
|
+
* @param checkIntervalSeconds How often to poll the intermediary for status (5 seconds default)
|
|
276
|
+
* @param abortSignal Abort signal
|
|
277
|
+
* @internal
|
|
278
|
+
*/
|
|
152
279
|
protected waitTillIntermediarySwapProcessed(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<RefundAuthorizationResponse>;
|
|
153
280
|
/**
|
|
154
281
|
* Checks whether the swap was already processed by the LP and is either successful (requires proof which is
|
|
@@ -156,31 +283,33 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
156
283
|
* refund.
|
|
157
284
|
*
|
|
158
285
|
* @param save whether to save the data
|
|
159
|
-
* @returns true if swap is processed, false if the swap is still ongoing
|
|
160
|
-
*
|
|
286
|
+
* @returns `true` if swap is processed, `false` if the swap is still ongoing
|
|
287
|
+
*
|
|
288
|
+
* @internal
|
|
161
289
|
*/
|
|
162
290
|
protected checkIntermediarySwapProcessed(save?: boolean): Promise<boolean>;
|
|
163
291
|
/**
|
|
164
|
-
* A blocking promise resolving when swap was concluded by the intermediary,
|
|
292
|
+
* A blocking promise resolving when swap was concluded by the intermediary (LP),
|
|
165
293
|
* rejecting in case of failure
|
|
166
294
|
*
|
|
167
295
|
* @param maxWaitTimeSeconds Maximum time in seconds to wait for the swap to be settled, an error is thrown if the
|
|
168
296
|
* swap is taking too long to claim
|
|
169
|
-
* @param checkIntervalSeconds
|
|
170
|
-
* @param abortSignal
|
|
171
|
-
* @returns
|
|
297
|
+
* @param checkIntervalSeconds How often to poll the intermediary for answer
|
|
298
|
+
* @param abortSignal Abort signal
|
|
299
|
+
* @returns `true` if swap was successful, `false` if swap failed and we can refund
|
|
300
|
+
*
|
|
172
301
|
* @throws {IntermediaryError} If a swap is determined expired by the intermediary, but it is actually still valid
|
|
173
302
|
* @throws {SignatureVerificationError} If the swap should be cooperatively refundable but the intermediary returned
|
|
174
303
|
* invalid refund signature
|
|
175
|
-
* @throws {Error} When swap expires or if the swap has invalid state (must be COMMITED)
|
|
304
|
+
* @throws {Error} When swap expires or if the swap has invalid state (must be {@link ToBTCSwapState.COMMITED})
|
|
176
305
|
*/
|
|
177
306
|
waitForPayment(maxWaitTimeSeconds?: number, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
|
|
178
307
|
/**
|
|
179
308
|
* Get the estimated smart chain transaction fee of the refund transaction
|
|
180
309
|
*/
|
|
181
|
-
|
|
310
|
+
getRefundNetworkFee(): Promise<TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>>;
|
|
182
311
|
/**
|
|
183
|
-
*
|
|
312
|
+
* @inheritDoc
|
|
184
313
|
*
|
|
185
314
|
* @throws {IntermediaryError} If intermediary returns invalid response in case cooperative refund should be used
|
|
186
315
|
* @throws {SignatureVerificationError} If intermediary returned invalid cooperative refund signature
|
|
@@ -188,21 +317,22 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
188
317
|
*/
|
|
189
318
|
txsRefund(signer?: string): Promise<T["TX"][]>;
|
|
190
319
|
/**
|
|
191
|
-
*
|
|
320
|
+
* @inheritDoc
|
|
192
321
|
*
|
|
193
|
-
* @param _signer Signer to sign the transactions with, must be the same as used in the initialization
|
|
194
|
-
* @param abortSignal Abort signal
|
|
195
322
|
* @throws {Error} If invalid signer is provided that doesn't match the swap data
|
|
196
323
|
*/
|
|
197
324
|
refund(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal): Promise<string>;
|
|
198
325
|
/**
|
|
199
|
-
*
|
|
326
|
+
* @inheritDoc
|
|
200
327
|
*
|
|
201
|
-
* @
|
|
202
|
-
*
|
|
328
|
+
* @throws {Error} When swap is not in a valid state (must be {@link ToBTCSwapState.COMMITED} or
|
|
329
|
+
* {@link ToBTCSwapState.REFUNDABLE})
|
|
203
330
|
* @throws {Error} If we tried to refund but claimer was able to claim first
|
|
204
331
|
*/
|
|
205
332
|
waitTillRefunded(abortSignal?: AbortSignal): Promise<void>;
|
|
333
|
+
/**
|
|
334
|
+
* @inheritDoc
|
|
335
|
+
*/
|
|
206
336
|
serialize(): any;
|
|
207
337
|
/**
|
|
208
338
|
* Checks the swap's state on-chain and compares it to its internal state, updates/changes it according to on-chain
|
|
@@ -211,18 +341,29 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
211
341
|
* @private
|
|
212
342
|
*/
|
|
213
343
|
private syncStateFromChain;
|
|
214
|
-
|
|
344
|
+
/**
|
|
345
|
+
* @inheritDoc
|
|
346
|
+
* @internal
|
|
347
|
+
*/
|
|
348
|
+
_shouldFetchOnchainState(): boolean;
|
|
349
|
+
/**
|
|
350
|
+
* @inheritDoc
|
|
351
|
+
* @internal
|
|
352
|
+
*/
|
|
215
353
|
_shouldFetchExpiryStatus(): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* @inheritDoc
|
|
356
|
+
* @internal
|
|
357
|
+
*/
|
|
216
358
|
_sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
|
|
359
|
+
/**
|
|
360
|
+
* @inheritDoc
|
|
361
|
+
* @internal
|
|
362
|
+
*/
|
|
363
|
+
_forciblySetOnchainState(commitStatus: SwapCommitState): Promise<boolean>;
|
|
364
|
+
/**
|
|
365
|
+
* @inheritDoc
|
|
366
|
+
* @internal
|
|
367
|
+
*/
|
|
217
368
|
_tick(save?: boolean): Promise<boolean>;
|
|
218
369
|
}
|
|
219
|
-
export declare enum ToBTCSwapState {
|
|
220
|
-
REFUNDED = -3,
|
|
221
|
-
QUOTE_EXPIRED = -2,
|
|
222
|
-
QUOTE_SOFT_EXPIRED = -1,
|
|
223
|
-
CREATED = 0,
|
|
224
|
-
COMMITED = 1,
|
|
225
|
-
SOFT_CLAIMED = 2,
|
|
226
|
-
CLAIMED = 3,
|
|
227
|
-
REFUNDABLE = 4
|
|
228
|
-
}
|