@atomiqlabs/sdk 8.1.8 → 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 +302 -221
- 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 +512 -378
- 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
|
@@ -13,42 +13,101 @@ import { TokenAmount } from "../../../../types/TokenAmount";
|
|
|
13
13
|
import { BtcToken, SCToken } from "../../../../types/Token";
|
|
14
14
|
import { LoggerType } from "../../../../utils/Logger";
|
|
15
15
|
/**
|
|
16
|
-
* State enum for
|
|
16
|
+
* State enum for legacy escrow based Bitcoin -> Smart chain swaps.
|
|
17
|
+
*
|
|
17
18
|
* @category Swaps
|
|
18
19
|
*/
|
|
19
20
|
export declare enum FromBTCSwapState {
|
|
21
|
+
/**
|
|
22
|
+
* Bitcoin swap address has expired and the intermediary (LP) has already refunded
|
|
23
|
+
* its funds. No BTC should be sent anymore!
|
|
24
|
+
*/
|
|
20
25
|
FAILED = -4,
|
|
26
|
+
/**
|
|
27
|
+
* Bitcoin swap address has expired, user should not send any BTC anymore! Though
|
|
28
|
+
* the intermediary (LP) hasn't refunded yet. So if there is a transaction already
|
|
29
|
+
* in-flight the swap might still succeed.
|
|
30
|
+
*/
|
|
21
31
|
EXPIRED = -3,
|
|
32
|
+
/**
|
|
33
|
+
* Swap has expired for good and there is no way how it can be executed anymore
|
|
34
|
+
*/
|
|
22
35
|
QUOTE_EXPIRED = -2,
|
|
36
|
+
/**
|
|
37
|
+
* A swap is almost expired, and it should be presented to the user as expired, though
|
|
38
|
+
* there is still a chance that it will be processed
|
|
39
|
+
*/
|
|
23
40
|
QUOTE_SOFT_EXPIRED = -1,
|
|
41
|
+
/**
|
|
42
|
+
* Swap quote was created, use the {@link FromBTCSwap.commit} or {@link FromBTCSwap.txsCommit} functions
|
|
43
|
+
* to initiate it by creating the swap escrow on the destination smart chain
|
|
44
|
+
*/
|
|
24
45
|
PR_CREATED = 0,
|
|
46
|
+
/**
|
|
47
|
+
* Swap escrow was initiated (committed) on the destination chain, user can send the BTC to the
|
|
48
|
+
* swap address with the {@link FromBTCSwap.getFundedPsbt}, {@link FromBTCSwap.getAddress} or
|
|
49
|
+
* {@link FromBTCSwap.getHyperlink} functions.
|
|
50
|
+
*/
|
|
25
51
|
CLAIM_COMMITED = 1,
|
|
52
|
+
/**
|
|
53
|
+
* Input bitcoin transaction was confirmed, wait for automatic settlement by the watchtower
|
|
54
|
+
* or settle manually using the {@link FromBTCSwap.claim} or {@link FromBTCSwap.txsClaim}
|
|
55
|
+
* function.
|
|
56
|
+
*/
|
|
26
57
|
BTC_TX_CONFIRMED = 2,
|
|
58
|
+
/**
|
|
59
|
+
* Swap successfully settled and funds received on the destination chain
|
|
60
|
+
*/
|
|
27
61
|
CLAIM_CLAIMED = 3
|
|
28
62
|
}
|
|
29
63
|
export type FromBTCSwapInit<T extends SwapData> = IEscrowSelfInitSwapInit<T> & {
|
|
30
64
|
data: T;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
requiredConfirmations: number;
|
|
65
|
+
address?: string;
|
|
66
|
+
amount?: bigint;
|
|
67
|
+
requiredConfirmations?: number;
|
|
35
68
|
};
|
|
36
69
|
export declare function isFromBTCSwapInit<T extends SwapData>(obj: any): obj is FromBTCSwapInit<T>;
|
|
70
|
+
/**
|
|
71
|
+
* Legacy escrow (PrTLC) based swap for Bitcoin -> Smart chains, requires manual initiation
|
|
72
|
+
* of the swap escrow on the destination chain.
|
|
73
|
+
*
|
|
74
|
+
* @category Swaps
|
|
75
|
+
*/
|
|
37
76
|
export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromBTCSelfInitSwap<T, FromBTCDefinition<T>, FromBTCSwapState> implements IBTCWalletSwap, IClaimableSwap<T, FromBTCDefinition<T>, FromBTCSwapState>, IAddressSwap {
|
|
77
|
+
protected readonly TYPE: SwapType.FROM_BTC;
|
|
78
|
+
/**
|
|
79
|
+
* @internal
|
|
80
|
+
*/
|
|
38
81
|
protected readonly logger: LoggerType;
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
39
85
|
protected readonly inputToken: BtcToken<false>;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
86
|
+
/**
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
protected readonly feeRate: string;
|
|
90
|
+
/**
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
readonly _data: T["Data"];
|
|
94
|
+
private address?;
|
|
95
|
+
private amount?;
|
|
96
|
+
private requiredConfirmations?;
|
|
97
|
+
private senderAddress?;
|
|
98
|
+
private txId?;
|
|
99
|
+
private vout?;
|
|
49
100
|
constructor(wrapper: FromBTCWrapper<T>, init: FromBTCSwapInit<T["Data"]>);
|
|
50
101
|
constructor(wrapper: FromBTCWrapper<T>, obj: any);
|
|
102
|
+
/**
|
|
103
|
+
* @inheritDoc
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
51
106
|
protected getSwapData(): T["Data"];
|
|
107
|
+
/**
|
|
108
|
+
* @inheritDoc
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
52
111
|
protected upgradeVersion(): void;
|
|
53
112
|
/**
|
|
54
113
|
* Returns bitcoin address where the on-chain BTC should be sent to
|
|
@@ -60,31 +119,88 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
60
119
|
* @private
|
|
61
120
|
*/
|
|
62
121
|
private _getHyperlink;
|
|
122
|
+
/**
|
|
123
|
+
* @inheritDoc
|
|
124
|
+
*/
|
|
63
125
|
getHyperlink(): string;
|
|
126
|
+
/**
|
|
127
|
+
* @inheritDoc
|
|
128
|
+
*/
|
|
64
129
|
getInputAddress(): string | null;
|
|
130
|
+
/**
|
|
131
|
+
* @inheritDoc
|
|
132
|
+
*/
|
|
65
133
|
getInputTxId(): string | null;
|
|
66
134
|
/**
|
|
67
135
|
* Returns timeout time (in UNIX milliseconds) when the on-chain address will expire and no funds should be sent
|
|
68
136
|
* to that address anymore
|
|
69
137
|
*/
|
|
70
138
|
getTimeoutTime(): number;
|
|
139
|
+
/**
|
|
140
|
+
* @inheritDoc
|
|
141
|
+
*/
|
|
71
142
|
requiresAction(): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* @inheritDoc
|
|
145
|
+
*/
|
|
72
146
|
isFinished(): boolean;
|
|
147
|
+
/**
|
|
148
|
+
* @inheritDoc
|
|
149
|
+
*/
|
|
73
150
|
isClaimable(): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* @inheritDoc
|
|
153
|
+
*/
|
|
74
154
|
isSuccessful(): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* @inheritDoc
|
|
157
|
+
*/
|
|
75
158
|
isFailed(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* @inheritDoc
|
|
161
|
+
*/
|
|
76
162
|
isQuoteExpired(): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* @inheritDoc
|
|
165
|
+
*/
|
|
77
166
|
isQuoteSoftExpired(): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* @inheritDoc
|
|
169
|
+
* @internal
|
|
170
|
+
*/
|
|
78
171
|
protected canCommit(): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* @inheritDoc
|
|
174
|
+
*/
|
|
79
175
|
getInputToken(): BtcToken<false>;
|
|
176
|
+
/**
|
|
177
|
+
* @inheritDoc
|
|
178
|
+
*/
|
|
80
179
|
getInput(): TokenAmount<T["ChainId"], BtcToken<false>>;
|
|
81
180
|
/**
|
|
82
|
-
* Returns claimer bounty, acting as a reward for watchtowers to claim the swap automatically
|
|
181
|
+
* Returns claimer bounty, acting as a reward for watchtowers to claim the swap automatically,
|
|
182
|
+
* this amount is pre-funded by the user on the destination chain when the swap escrow
|
|
183
|
+
* is initiated. For total pre-funded deposit amount see {@link getTotalDeposit}.
|
|
83
184
|
*/
|
|
84
185
|
getClaimerBounty(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
|
|
186
|
+
/**
|
|
187
|
+
* If the required number of confirmations is not known, this function tries to infer it by looping through
|
|
188
|
+
* possible confirmation targets and comparing the claim hashes
|
|
189
|
+
*
|
|
190
|
+
* @param btcTx Bitcoin transaction
|
|
191
|
+
* @param vout Output index of the desired output in the bitcoin transaction
|
|
192
|
+
*
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
195
|
+
private inferRequiredConfirmationsCount;
|
|
196
|
+
/**
|
|
197
|
+
* @inheritDoc
|
|
198
|
+
*/
|
|
85
199
|
getRequiredConfirmationsCount(): number;
|
|
86
200
|
/**
|
|
87
|
-
* Checks whether a bitcoin payment was already made, returns the payment or null when no payment has been made.
|
|
201
|
+
* Checks whether a bitcoin payment was already made, returns the payment or `null` when no payment has been made.
|
|
202
|
+
*
|
|
203
|
+
* @internal
|
|
88
204
|
*/
|
|
89
205
|
protected getBitcoinPayment(): Promise<{
|
|
90
206
|
txId: string;
|
|
@@ -94,28 +210,31 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
94
210
|
inputAddresses?: string[];
|
|
95
211
|
} | null>;
|
|
96
212
|
/**
|
|
97
|
-
*
|
|
213
|
+
* Used to set the txId of the bitcoin payment from the on-chain events listener
|
|
214
|
+
*
|
|
215
|
+
* @param txId Transaction ID that settled the swap on the smart chain
|
|
98
216
|
*
|
|
99
|
-
* @
|
|
217
|
+
* @internal
|
|
100
218
|
*/
|
|
101
219
|
_setBitcoinTxId(txId: string): Promise<void>;
|
|
102
220
|
/**
|
|
103
|
-
*
|
|
221
|
+
* @inheritDoc
|
|
104
222
|
*
|
|
105
|
-
* @
|
|
106
|
-
* @param checkIntervalSeconds How often to check the bitcoin transaction
|
|
107
|
-
* @param abortSignal Abort signal
|
|
108
|
-
* @throws {Error} if in invalid state (must be CLAIM_COMMITED)
|
|
223
|
+
* @throws {Error} if in invalid state (must be {@link FromBTCSwapState.CLAIM_COMMITED})
|
|
109
224
|
*/
|
|
110
225
|
waitForBitcoinTransaction(updateCallback?: (txId?: string, confirmations?: number, targetConfirmations?: number, txEtaMs?: number) => void, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<string>;
|
|
111
226
|
/**
|
|
112
|
-
*
|
|
113
|
-
* also returns inputs indices that need to be signed by the wallet before submitting the PSBT back to the SDK with
|
|
114
|
-
* `swap.submitPsbt()`
|
|
227
|
+
* Private getter of the funded PSBT that doesn't check current state
|
|
115
228
|
*
|
|
116
|
-
* @param _bitcoinWallet
|
|
117
|
-
* @param feeRate Optional fee rate
|
|
118
|
-
* @param additionalOutputs additional outputs
|
|
229
|
+
* @param _bitcoinWallet Bitcoin wallet to fund the PSBT with
|
|
230
|
+
* @param feeRate Optional bitcoin fee rate in sats/vB
|
|
231
|
+
* @param additionalOutputs Optional additional outputs that should also be included in the generated PSBT
|
|
232
|
+
*
|
|
233
|
+
* @private
|
|
234
|
+
*/
|
|
235
|
+
private _getFundedPsbt;
|
|
236
|
+
/**
|
|
237
|
+
* @inheritDoc
|
|
119
238
|
*/
|
|
120
239
|
getFundedPsbt(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number, additionalOutputs?: ({
|
|
121
240
|
amount: bigint;
|
|
@@ -129,14 +248,20 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
129
248
|
psbtBase64: string;
|
|
130
249
|
signInputs: number[];
|
|
131
250
|
}>;
|
|
132
|
-
private _getFundedPsbt;
|
|
133
251
|
/**
|
|
134
|
-
*
|
|
252
|
+
* @inheritDoc
|
|
135
253
|
*
|
|
136
|
-
* @
|
|
254
|
+
* @throws {Error} if the swap is in invalid state (not in {@link FromBTCSwapState.CLAIM_COMMITED}), or if
|
|
255
|
+
* the swap bitcoin address already expired.
|
|
137
256
|
*/
|
|
138
257
|
submitPsbt(_psbt: Transaction | string): Promise<string>;
|
|
258
|
+
/**
|
|
259
|
+
* @inheritDoc
|
|
260
|
+
*/
|
|
139
261
|
estimateBitcoinFee(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number): Promise<TokenAmount<any, BtcToken<false>, true> | null>;
|
|
262
|
+
/**
|
|
263
|
+
* @inheritDoc
|
|
264
|
+
*/
|
|
140
265
|
sendBitcoinTransaction(wallet: IBitcoinWallet | MinimalBitcoinWalletInterfaceWithSigner, feeRate?: number): Promise<string>;
|
|
141
266
|
/**
|
|
142
267
|
* Executes the swap with the provided bitcoin wallet,
|
|
@@ -165,6 +290,17 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
165
290
|
btcTxCheckIntervalSeconds?: number;
|
|
166
291
|
maxWaitTillAutomaticSettlementSeconds?: number;
|
|
167
292
|
}): Promise<boolean>;
|
|
293
|
+
/**
|
|
294
|
+
* @inheritDoc
|
|
295
|
+
*
|
|
296
|
+
* @param options.bitcoinWallet Bitcoin wallet to use, when provided the function returns a funded
|
|
297
|
+
* psbt (`"FUNDED_PSBT"`), if not passed just a bitcoin receive address is returned (`"ADDRESS"`)
|
|
298
|
+
* @param options.skipChecks Skip checks like making sure init signature is still valid and swap
|
|
299
|
+
* wasn't commited yet (this is handled on swap creation, if you commit right after quoting, you
|
|
300
|
+
* can use `skipChecks=true`)
|
|
301
|
+
*
|
|
302
|
+
* @throws {Error} if the swap or quote is expired, or if triggered in invalid state
|
|
303
|
+
*/
|
|
168
304
|
txsExecute(options?: {
|
|
169
305
|
bitcoinWallet?: MinimalBitcoinWalletInterface;
|
|
170
306
|
skipChecks?: boolean;
|
|
@@ -176,14 +312,14 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
176
312
|
} | {
|
|
177
313
|
name: "Payment";
|
|
178
314
|
description: string;
|
|
179
|
-
chain:
|
|
315
|
+
chain: "BITCOIN";
|
|
180
316
|
txs: ({
|
|
181
317
|
address: string;
|
|
182
318
|
amount: number;
|
|
183
319
|
hyperlink: string;
|
|
184
|
-
type:
|
|
320
|
+
type: "ADDRESS";
|
|
185
321
|
} | {
|
|
186
|
-
type:
|
|
322
|
+
type: "FUNDED_PSBT";
|
|
187
323
|
psbt: Transaction;
|
|
188
324
|
psbtHex: string;
|
|
189
325
|
psbtBase64: string;
|
|
@@ -194,42 +330,41 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
194
330
|
})[];
|
|
195
331
|
})[]>;
|
|
196
332
|
/**
|
|
197
|
-
*
|
|
333
|
+
* @inheritDoc
|
|
198
334
|
*
|
|
199
|
-
* @param _signer Signer to sign the transactions with, must be the same as used in the initialization
|
|
200
|
-
* @param abortSignal Abort signal to stop waiting for the transaction confirmation and abort
|
|
201
|
-
* @param skipChecks Skip checks like making sure init signature is still valid and swap wasn't commited yet
|
|
202
|
-
* (this is handled when swap is created (quoted), if you commit right after quoting, you can use skipChecks=true)
|
|
203
|
-
* @param onBeforeTxSent
|
|
204
335
|
* @throws {Error} If invalid signer is provided that doesn't match the swap data
|
|
205
336
|
*/
|
|
206
337
|
commit(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, skipChecks?: boolean, onBeforeTxSent?: (txId: string) => void): Promise<string>;
|
|
338
|
+
/**
|
|
339
|
+
* @inheritDoc
|
|
340
|
+
*/
|
|
207
341
|
waitTillCommited(abortSignal?: AbortSignal): Promise<void>;
|
|
208
342
|
/**
|
|
209
|
-
*
|
|
210
|
-
*
|
|
343
|
+
* Might also return transactions necessary to sync the bitcoin light client.
|
|
344
|
+
*
|
|
345
|
+
* @inheritDoc
|
|
211
346
|
*
|
|
212
|
-
* @throws {Error} If the swap is in invalid state (must be BTC_TX_CONFIRMED)
|
|
347
|
+
* @throws {Error} If the swap is in invalid state (must be {@link FromBTCSwapState.BTC_TX_CONFIRMED})
|
|
213
348
|
*/
|
|
214
349
|
txsClaim(_signer?: string | T["Signer"] | T["NativeSigner"]): Promise<T["TX"][]>;
|
|
215
350
|
/**
|
|
216
|
-
*
|
|
351
|
+
* Might also sync the bitcoin light client. Signer can also be different to the initializer.
|
|
217
352
|
*
|
|
218
|
-
* @
|
|
219
|
-
* @param abortSignal Abort signal to stop waiting for transaction confirmation
|
|
220
|
-
* @param onBeforeTxSent
|
|
353
|
+
* @inheritDoc
|
|
221
354
|
*/
|
|
222
355
|
claim(_signer: T["Signer"] | T["NativeSigner"], abortSignal?: AbortSignal, onBeforeTxSent?: (txId: string) => void): Promise<string>;
|
|
223
356
|
/**
|
|
224
|
-
*
|
|
357
|
+
* @inheritDoc
|
|
225
358
|
*
|
|
226
|
-
* @
|
|
227
|
-
* @param abortSignal AbortSignal
|
|
228
|
-
* @throws {Error} If swap is in invalid state (must be BTC_TX_CONFIRMED)
|
|
359
|
+
* @throws {Error} If swap is in invalid state (must be {@link FromBTCSwapState.BTC_TX_CONFIRMED})
|
|
229
360
|
* @throws {Error} If the LP refunded sooner than we were able to claim
|
|
361
|
+
*
|
|
230
362
|
* @returns {boolean} whether the swap was claimed in time or not
|
|
231
363
|
*/
|
|
232
364
|
waitTillClaimed(maxWaitTimeSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
|
|
365
|
+
/**
|
|
366
|
+
* @inheritDoc
|
|
367
|
+
*/
|
|
233
368
|
serialize(): any;
|
|
234
369
|
/**
|
|
235
370
|
* Checks the swap's state on-chain and compares it to its internal state, updates/changes it according to on-chain
|
|
@@ -238,8 +373,29 @@ export declare class FromBTCSwap<T extends ChainType = ChainType> extends IFromB
|
|
|
238
373
|
* @private
|
|
239
374
|
*/
|
|
240
375
|
private syncStateFromChain;
|
|
241
|
-
|
|
376
|
+
/**
|
|
377
|
+
* @inheritDoc
|
|
378
|
+
* @internal
|
|
379
|
+
*/
|
|
380
|
+
_shouldFetchOnchainState(): boolean;
|
|
381
|
+
/**
|
|
382
|
+
* @inheritDoc
|
|
383
|
+
* @internal
|
|
384
|
+
*/
|
|
242
385
|
_shouldFetchExpiryStatus(): boolean;
|
|
386
|
+
/**
|
|
387
|
+
* @inheritDoc
|
|
388
|
+
* @internal
|
|
389
|
+
*/
|
|
243
390
|
_sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
|
|
391
|
+
/**
|
|
392
|
+
* @inheritDoc
|
|
393
|
+
* @internal
|
|
394
|
+
*/
|
|
395
|
+
_forciblySetOnchainState(status: SwapCommitState): Promise<boolean>;
|
|
396
|
+
/**
|
|
397
|
+
* @inheritDoc
|
|
398
|
+
* @internal
|
|
399
|
+
*/
|
|
244
400
|
_tick(save?: boolean): Promise<boolean>;
|
|
245
401
|
}
|