@atomiqlabs/sdk 8.1.8 → 8.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bitcoin/coinselect2/utils.d.ts +6 -0
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +41 -5
- package/dist/bitcoin/wallet/BitcoinWallet.js +36 -1
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +52 -2
- package/dist/bitcoin/wallet/IBitcoinWallet.js +2 -1
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +42 -7
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +36 -1
- package/dist/enums/FeeType.d.ts +8 -1
- package/dist/enums/FeeType.js +8 -1
- package/dist/enums/SwapAmountType.d.ts +7 -0
- package/dist/enums/SwapAmountType.js +7 -0
- package/dist/enums/SwapDirection.d.ts +7 -0
- package/dist/enums/SwapDirection.js +7 -0
- package/dist/enums/SwapType.d.ts +62 -1
- package/dist/enums/SwapType.js +62 -1
- package/dist/errors/IntermediaryError.d.ts +4 -0
- package/dist/errors/IntermediaryError.js +1 -0
- package/dist/errors/RequestError.d.ts +15 -1
- package/dist/errors/RequestError.js +8 -0
- package/dist/errors/UserError.d.ts +1 -0
- package/dist/errors/UserError.js +1 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.js +7 -6
- package/dist/intermediaries/Intermediary.d.ts +61 -14
- package/dist/intermediaries/Intermediary.js +38 -11
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +62 -29
- package/dist/intermediaries/IntermediaryDiscovery.js +39 -24
- package/dist/prices/RedundantSwapPrice.d.ts +26 -5
- package/dist/prices/RedundantSwapPrice.js +22 -2
- package/dist/prices/SingleSwapPrice.d.ts +10 -7
- package/dist/prices/SingleSwapPrice.js +11 -8
- package/dist/prices/SwapPriceWithChain.d.ts +56 -19
- package/dist/prices/SwapPriceWithChain.js +62 -25
- package/dist/prices/abstract/IPriceProvider.d.ts +4 -4
- package/dist/prices/abstract/IPriceProvider.js +1 -1
- package/dist/prices/abstract/ISwapPrice.d.ts +95 -46
- package/dist/prices/abstract/ISwapPrice.js +104 -56
- package/dist/prices/providers/BinancePriceProvider.d.ts +8 -1
- package/dist/prices/providers/BinancePriceProvider.js +8 -1
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +7 -1
- package/dist/prices/providers/CoinGeckoPriceProvider.js +7 -1
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +7 -1
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +7 -1
- package/dist/prices/providers/CustomPriceProvider.d.ts +12 -1
- package/dist/prices/providers/CustomPriceProvider.js +12 -1
- package/dist/prices/providers/KrakenPriceProvider.d.ts +10 -1
- package/dist/prices/providers/KrakenPriceProvider.js +10 -1
- package/dist/prices/providers/OKXPriceProvider.d.ts +7 -1
- package/dist/prices/providers/OKXPriceProvider.js +7 -1
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +3 -0
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +3 -0
- package/dist/storage/IUnifiedStorage.d.ts +19 -7
- package/dist/storage/UnifiedSwapStorage.d.ts +33 -3
- package/dist/storage/UnifiedSwapStorage.js +29 -1
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +31 -7
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +29 -6
- package/dist/storage-browser/LocalStorageManager.d.ts +25 -1
- package/dist/storage-browser/LocalStorageManager.js +25 -1
- package/dist/swapper/Swapper.d.ts +380 -226
- package/dist/swapper/Swapper.js +383 -349
- package/dist/swapper/SwapperFactory.d.ts +66 -18
- package/dist/swapper/SwapperFactory.js +24 -3
- package/dist/swapper/SwapperUtils.d.ts +75 -28
- package/dist/swapper/SwapperUtils.js +107 -60
- package/dist/swapper/SwapperWithChain.d.ts +286 -91
- package/dist/swapper/SwapperWithChain.js +218 -64
- package/dist/swapper/SwapperWithSigner.d.ts +229 -80
- package/dist/swapper/SwapperWithSigner.js +190 -44
- package/dist/swaps/IAddressSwap.d.ts +12 -3
- package/dist/swaps/IAddressSwap.js +3 -2
- package/dist/swaps/IBTCWalletSwap.d.ts +26 -8
- package/dist/swaps/IBTCWalletSwap.js +3 -2
- package/dist/swaps/IClaimableSwap.d.ts +38 -6
- package/dist/swaps/IClaimableSwap.js +3 -2
- package/dist/swaps/IClaimableSwapWrapper.d.ts +11 -1
- package/dist/swaps/IRefundableSwap.d.ts +31 -5
- package/dist/swaps/IRefundableSwap.js +3 -2
- package/dist/swaps/ISwap.d.ts +162 -24
- package/dist/swaps/ISwap.js +92 -35
- package/dist/swaps/ISwapWithGasDrop.d.ts +8 -2
- package/dist/swaps/ISwapWithGasDrop.js +2 -1
- package/dist/swaps/ISwapWrapper.d.ts +161 -52
- package/dist/swaps/ISwapWrapper.js +131 -73
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +51 -6
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +22 -12
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +65 -12
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +38 -19
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +39 -9
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +30 -21
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +31 -15
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +33 -18
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +97 -28
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +91 -27
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +22 -9
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +24 -11
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +278 -60
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +519 -241
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +77 -26
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +132 -50
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +313 -52
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +544 -194
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +87 -26
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +147 -58
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +222 -55
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +462 -244
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +77 -23
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +116 -46
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +195 -58
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +324 -191
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +30 -5
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +44 -19
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +61 -20
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +75 -32
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +76 -50
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +106 -101
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +37 -14
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +66 -20
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +46 -17
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +82 -27
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +350 -88
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +482 -215
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +76 -24
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +247 -124
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +148 -20
- package/dist/swaps/trusted/ln/LnForGasSwap.js +175 -45
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +29 -10
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +30 -11
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +202 -49
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +232 -80
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +34 -12
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +33 -14
- package/dist/types/AmountData.d.ts +2 -1
- package/dist/types/CustomPriceFunction.d.ts +8 -2
- package/dist/types/PriceInfoType.d.ts +4 -4
- package/dist/types/PriceInfoType.js +3 -3
- package/dist/types/SwapExecutionAction.d.ts +85 -4
- package/dist/types/SwapWithSigner.d.ts +5 -2
- package/dist/types/SwapWithSigner.js +5 -2
- package/dist/types/Token.d.ts +11 -5
- package/dist/types/Token.js +6 -3
- package/dist/types/TokenAmount.d.ts +3 -0
- package/dist/types/TokenAmount.js +2 -0
- package/dist/types/fees/Fee.d.ts +3 -2
- package/dist/types/fees/FeeBreakdown.d.ts +3 -2
- package/dist/types/fees/PercentagePPM.d.ts +4 -2
- package/dist/types/fees/PercentagePPM.js +2 -1
- package/dist/types/lnurl/LNURLPay.d.ts +20 -12
- package/dist/types/lnurl/LNURLPay.js +8 -4
- package/dist/types/lnurl/LNURLWithdraw.d.ts +17 -10
- package/dist/types/lnurl/LNURLWithdraw.js +8 -4
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -0
- package/dist/types/wallets/LightningInvoiceCreateService.js +15 -0
- package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +3 -1
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +4 -2
- package/dist/utils/BitcoinUtils.d.ts +1 -0
- package/dist/utils/BitcoinUtils.js +5 -1
- package/dist/utils/SwapUtils.d.ts +58 -1
- package/dist/utils/SwapUtils.js +55 -1
- package/dist/utils/TokenUtils.d.ts +10 -2
- package/dist/utils/TokenUtils.js +12 -4
- package/package.json +3 -3
- package/src/bitcoin/coinselect2/utils.ts +6 -0
- package/src/bitcoin/wallet/BitcoinWallet.ts +41 -5
- package/src/bitcoin/wallet/IBitcoinWallet.ts +57 -2
- package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +42 -6
- package/src/enums/FeeType.ts +8 -1
- package/src/enums/SwapAmountType.ts +7 -0
- package/src/enums/SwapDirection.ts +7 -0
- package/src/enums/SwapType.ts +62 -2
- package/src/errors/IntermediaryError.ts +4 -0
- package/src/errors/RequestError.ts +15 -1
- package/src/errors/UserError.ts +1 -0
- package/src/index.ts +12 -5
- package/src/intermediaries/Intermediary.ts +61 -14
- package/src/intermediaries/IntermediaryDiscovery.ts +69 -34
- package/src/prices/RedundantSwapPrice.ts +26 -6
- package/src/prices/SingleSwapPrice.ts +11 -8
- package/src/prices/SwapPriceWithChain.ts +63 -26
- package/src/prices/abstract/IPriceProvider.ts +4 -4
- package/src/prices/abstract/ISwapPrice.ts +115 -66
- package/src/prices/providers/BinancePriceProvider.ts +8 -1
- package/src/prices/providers/CoinGeckoPriceProvider.ts +7 -1
- package/src/prices/providers/CoinPaprikaPriceProvider.ts +7 -1
- package/src/prices/providers/CustomPriceProvider.ts +12 -1
- package/src/prices/providers/KrakenPriceProvider.ts +10 -1
- package/src/prices/providers/OKXPriceProvider.ts +7 -1
- package/src/prices/providers/abstract/ExchangePriceProvider.ts +3 -0
- package/src/storage/IUnifiedStorage.ts +19 -7
- package/src/storage/UnifiedSwapStorage.ts +33 -3
- package/src/storage-browser/IndexedDBUnifiedStorage.ts +31 -8
- package/src/storage-browser/LocalStorageManager.ts +25 -1
- package/src/swapper/Swapper.ts +599 -390
- package/src/swapper/SwapperFactory.ts +73 -24
- package/src/swapper/SwapperUtils.ts +107 -60
- package/src/swapper/SwapperWithChain.ts +320 -81
- package/src/swapper/SwapperWithSigner.ts +263 -56
- package/src/swaps/IAddressSwap.ts +13 -3
- package/src/swaps/IBTCWalletSwap.ts +26 -10
- package/src/swaps/IClaimableSwap.ts +41 -6
- package/src/swaps/IClaimableSwapWrapper.ts +11 -2
- package/src/swaps/IRefundableSwap.ts +34 -5
- package/src/swaps/ISwap.ts +224 -85
- package/src/swaps/ISwapWithGasDrop.ts +8 -2
- package/src/swaps/ISwapWrapper.ts +216 -98
- package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +64 -18
- package/src/swaps/escrow_swaps/IEscrowSwap.ts +83 -37
- package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +61 -30
- package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +37 -19
- package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +123 -50
- package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +24 -11
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +562 -258
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +156 -62
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +592 -227
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +177 -74
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +483 -245
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +141 -59
- package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +350 -195
- package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +48 -23
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +87 -40
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +110 -110
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +89 -34
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +101 -31
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +556 -259
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +292 -148
- package/src/swaps/trusted/ln/LnForGasSwap.ts +186 -47
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +34 -15
- package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +262 -88
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +41 -19
- package/src/types/AmountData.ts +2 -1
- package/src/types/CustomPriceFunction.ts +8 -2
- package/src/types/PriceInfoType.ts +4 -4
- package/src/types/SwapExecutionAction.ts +97 -5
- package/src/types/SwapWithSigner.ts +8 -4
- package/src/types/Token.ts +12 -5
- package/src/types/TokenAmount.ts +3 -0
- package/src/types/fees/Fee.ts +3 -2
- package/src/types/fees/FeeBreakdown.ts +3 -2
- package/src/types/fees/PercentagePPM.ts +4 -2
- package/src/types/lnurl/LNURLPay.ts +20 -12
- package/src/types/lnurl/LNURLWithdraw.ts +17 -10
- package/src/types/wallets/LightningInvoiceCreateService.ts +30 -0
- package/src/types/wallets/MinimalBitcoinWalletInterface.ts +3 -1
- package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +4 -2
- package/src/utils/BitcoinUtils.ts +5 -0
- package/src/utils/SwapUtils.ts +63 -1
- package/src/utils/TokenUtils.ts +12 -4
- package/dist/bitcoin/BitcoinRpcWithAddressIndex.d.ts +0 -68
- package/dist/bitcoin/BitcoinRpcWithAddressIndex.js +0 -2
- package/dist/bitcoin/LightningNetworkApi.d.ts +0 -12
- package/dist/bitcoin/LightningNetworkApi.js +0 -2
- package/dist/bitcoin/mempool/MempoolApi.d.ts +0 -350
- package/dist/bitcoin/mempool/MempoolApi.js +0 -311
- package/dist/bitcoin/mempool/MempoolBitcoinBlock.d.ts +0 -44
- package/dist/bitcoin/mempool/MempoolBitcoinBlock.js +0 -48
- package/dist/bitcoin/mempool/MempoolBitcoinRpc.d.ts +0 -119
- package/dist/bitcoin/mempool/MempoolBitcoinRpc.js +0 -361
- package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.d.ts +0 -22
- package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.js +0 -105
- package/dist/errors/PaymentAuthError.d.ts +0 -11
- package/dist/errors/PaymentAuthError.js +0 -23
- package/src/errors/PaymentAuthError.ts +0 -26
|
@@ -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/Smart chain → Bitcoin
|
|
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/Smart chain → Bitcoin
|
|
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,41 @@ 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
|
+
* @inheritDoc
|
|
127
252
|
*
|
|
128
|
-
* @
|
|
129
|
-
* (this is handled on swap creation, if you commit right after quoting, you can use skipChecks=true)
|
|
130
|
-
*
|
|
131
|
-
* @throws {Error} When in invalid state (not PR_CREATED)
|
|
253
|
+
* @throws {Error} When in invalid state (not {@link ToBTCSwapState.CREATED})
|
|
132
254
|
*/
|
|
133
255
|
txsCommit(skipChecks?: boolean): Promise<T["TX"][]>;
|
|
134
256
|
/**
|
|
135
|
-
*
|
|
257
|
+
* @inheritDoc
|
|
136
258
|
*
|
|
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
259
|
* @throws {Error} If invalid signer is provided that doesn't match the swap data
|
|
143
260
|
*/
|
|
144
261
|
commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
|
|
145
262
|
/**
|
|
146
|
-
*
|
|
263
|
+
* @inheritDoc
|
|
147
264
|
*
|
|
148
|
-
* @
|
|
149
|
-
* @throws {Error} If swap is not in the correct state (must be CREATED)
|
|
265
|
+
* @throws {Error} If swap is not in the correct state (must be {@link ToBTCSwapState.CREATED})
|
|
150
266
|
*/
|
|
151
267
|
waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
|
|
268
|
+
/**
|
|
269
|
+
* Waits till the swap is processed by the intermediary (LP)
|
|
270
|
+
*
|
|
271
|
+
* @param checkIntervalSeconds How often to poll the intermediary for status (5 seconds default)
|
|
272
|
+
* @param abortSignal Abort signal
|
|
273
|
+
* @internal
|
|
274
|
+
*/
|
|
152
275
|
protected waitTillIntermediarySwapProcessed(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<RefundAuthorizationResponse>;
|
|
153
276
|
/**
|
|
154
277
|
* Checks whether the swap was already processed by the LP and is either successful (requires proof which is
|
|
@@ -156,31 +279,33 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
156
279
|
* refund.
|
|
157
280
|
*
|
|
158
281
|
* @param save whether to save the data
|
|
159
|
-
* @returns true if swap is processed, false if the swap is still ongoing
|
|
160
|
-
*
|
|
282
|
+
* @returns `true` if swap is processed, `false` if the swap is still ongoing
|
|
283
|
+
*
|
|
284
|
+
* @internal
|
|
161
285
|
*/
|
|
162
286
|
protected checkIntermediarySwapProcessed(save?: boolean): Promise<boolean>;
|
|
163
287
|
/**
|
|
164
|
-
* A blocking promise resolving when swap was concluded by the intermediary,
|
|
288
|
+
* A blocking promise resolving when swap was concluded by the intermediary (LP),
|
|
165
289
|
* rejecting in case of failure
|
|
166
290
|
*
|
|
167
291
|
* @param maxWaitTimeSeconds Maximum time in seconds to wait for the swap to be settled, an error is thrown if the
|
|
168
292
|
* swap is taking too long to claim
|
|
169
|
-
* @param checkIntervalSeconds
|
|
170
|
-
* @param abortSignal
|
|
171
|
-
* @returns
|
|
293
|
+
* @param checkIntervalSeconds How often to poll the intermediary for answer
|
|
294
|
+
* @param abortSignal Abort signal
|
|
295
|
+
* @returns `true` if swap was successful, `false` if swap failed and we can refund
|
|
296
|
+
*
|
|
172
297
|
* @throws {IntermediaryError} If a swap is determined expired by the intermediary, but it is actually still valid
|
|
173
298
|
* @throws {SignatureVerificationError} If the swap should be cooperatively refundable but the intermediary returned
|
|
174
299
|
* invalid refund signature
|
|
175
|
-
* @throws {Error} When swap expires or if the swap has invalid state (must be COMMITED)
|
|
300
|
+
* @throws {Error} When swap expires or if the swap has invalid state (must be {@link ToBTCSwapState.COMMITED})
|
|
176
301
|
*/
|
|
177
302
|
waitForPayment(maxWaitTimeSeconds?: number, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
|
|
178
303
|
/**
|
|
179
304
|
* Get the estimated smart chain transaction fee of the refund transaction
|
|
180
305
|
*/
|
|
181
|
-
|
|
306
|
+
getRefundNetworkFee(): Promise<TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>>;
|
|
182
307
|
/**
|
|
183
|
-
*
|
|
308
|
+
* @inheritDoc
|
|
184
309
|
*
|
|
185
310
|
* @throws {IntermediaryError} If intermediary returns invalid response in case cooperative refund should be used
|
|
186
311
|
* @throws {SignatureVerificationError} If intermediary returned invalid cooperative refund signature
|
|
@@ -188,21 +313,22 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
188
313
|
*/
|
|
189
314
|
txsRefund(signer?: string): Promise<T["TX"][]>;
|
|
190
315
|
/**
|
|
191
|
-
*
|
|
316
|
+
* @inheritDoc
|
|
192
317
|
*
|
|
193
|
-
* @param _signer Signer to sign the transactions with, must be the same as used in the initialization
|
|
194
|
-
* @param abortSignal Abort signal
|
|
195
318
|
* @throws {Error} If invalid signer is provided that doesn't match the swap data
|
|
196
319
|
*/
|
|
197
320
|
refund(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal): Promise<string>;
|
|
198
321
|
/**
|
|
199
|
-
*
|
|
322
|
+
* @inheritDoc
|
|
200
323
|
*
|
|
201
|
-
* @
|
|
202
|
-
*
|
|
324
|
+
* @throws {Error} When swap is not in a valid state (must be {@link ToBTCSwapState.COMMITED} or
|
|
325
|
+
* {@link ToBTCSwapState.REFUNDABLE})
|
|
203
326
|
* @throws {Error} If we tried to refund but claimer was able to claim first
|
|
204
327
|
*/
|
|
205
328
|
waitTillRefunded(abortSignal?: AbortSignal): Promise<void>;
|
|
329
|
+
/**
|
|
330
|
+
* @inheritDoc
|
|
331
|
+
*/
|
|
206
332
|
serialize(): any;
|
|
207
333
|
/**
|
|
208
334
|
* Checks the swap's state on-chain and compares it to its internal state, updates/changes it according to on-chain
|
|
@@ -211,18 +337,29 @@ export declare abstract class IToBTCSwap<T extends ChainType = ChainType, D exte
|
|
|
211
337
|
* @private
|
|
212
338
|
*/
|
|
213
339
|
private syncStateFromChain;
|
|
214
|
-
|
|
340
|
+
/**
|
|
341
|
+
* @inheritDoc
|
|
342
|
+
* @internal
|
|
343
|
+
*/
|
|
344
|
+
_shouldFetchOnchainState(): boolean;
|
|
345
|
+
/**
|
|
346
|
+
* @inheritDoc
|
|
347
|
+
* @internal
|
|
348
|
+
*/
|
|
215
349
|
_shouldFetchExpiryStatus(): boolean;
|
|
350
|
+
/**
|
|
351
|
+
* @inheritDoc
|
|
352
|
+
* @internal
|
|
353
|
+
*/
|
|
216
354
|
_sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
|
|
355
|
+
/**
|
|
356
|
+
* @inheritDoc
|
|
357
|
+
* @internal
|
|
358
|
+
*/
|
|
359
|
+
_forciblySetOnchainState(commitStatus: SwapCommitState): Promise<boolean>;
|
|
360
|
+
/**
|
|
361
|
+
* @inheritDoc
|
|
362
|
+
* @internal
|
|
363
|
+
*/
|
|
217
364
|
_tick(save?: boolean): Promise<boolean>;
|
|
218
365
|
}
|
|
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
|
-
}
|