@atomiqlabs/sdk 8.6.5 → 8.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SmartChainAssets.d.ts +181 -181
- package/dist/SmartChainAssets.js +181 -181
- package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -6
- package/dist/bitcoin/coinselect2/accumulative.js +51 -52
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
- package/dist/bitcoin/coinselect2/blackjack.js +37 -38
- package/dist/bitcoin/coinselect2/index.d.ts +17 -19
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +75 -77
- package/dist/bitcoin/coinselect2/utils.js +123 -123
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +128 -130
- package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
- package/dist/bitcoin/wallet/IBitcoinWallet.js +20 -21
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +99 -101
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +176 -176
- package/dist/enums/FeeType.d.ts +15 -15
- package/dist/enums/FeeType.js +19 -19
- package/dist/enums/SwapAmountType.d.ts +15 -15
- package/dist/enums/SwapAmountType.js +19 -19
- package/dist/enums/SwapDirection.d.ts +15 -15
- package/dist/enums/SwapDirection.js +19 -19
- package/dist/enums/SwapSide.d.ts +15 -15
- package/dist/enums/SwapSide.js +19 -19
- package/dist/enums/SwapType.d.ts +75 -75
- package/dist/enums/SwapType.js +79 -79
- package/dist/errors/IntermediaryError.d.ts +13 -13
- package/dist/errors/IntermediaryError.js +27 -27
- package/dist/errors/RequestError.d.ts +32 -32
- package/dist/errors/RequestError.js +54 -54
- package/dist/errors/UserError.d.ts +8 -8
- package/dist/errors/UserError.js +16 -16
- package/dist/events/UnifiedSwapEventListener.d.ts +23 -23
- package/dist/events/UnifiedSwapEventListener.js +130 -130
- package/dist/http/HttpUtils.d.ts +27 -27
- package/dist/http/HttpUtils.js +90 -91
- package/dist/http/paramcoders/IParamReader.d.ts +8 -8
- package/dist/http/paramcoders/IParamReader.js +2 -2
- package/dist/http/paramcoders/ParamDecoder.d.ts +42 -44
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +18 -20
- package/dist/http/paramcoders/ParamEncoder.js +36 -36
- package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -26
- package/dist/http/paramcoders/SchemaVerifier.js +145 -145
- package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -11
- package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -57
- package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +11 -13
- package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
- package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -16
- package/dist/http/paramcoders/client/StreamingFetchPromise.js +173 -174
- package/dist/index.d.ts +85 -85
- package/dist/index.js +158 -158
- package/dist/intermediaries/Intermediary.d.ts +157 -157
- package/dist/intermediaries/Intermediary.js +142 -142
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +198 -199
- package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +437 -438
- package/dist/intermediaries/apis/IntermediaryAPI.js +603 -602
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
- package/dist/lnurl/LNURL.d.ts +102 -102
- package/dist/lnurl/LNURL.js +321 -321
- package/dist/prices/RedundantSwapPrice.d.ts +110 -110
- package/dist/prices/RedundantSwapPrice.js +222 -222
- package/dist/prices/SingleSwapPrice.d.ts +34 -34
- package/dist/prices/SingleSwapPrice.js +44 -44
- package/dist/prices/SwapPriceWithChain.d.ts +107 -107
- package/dist/prices/SwapPriceWithChain.js +128 -128
- package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
- package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
- package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
- package/dist/prices/abstract/IPriceProvider.js +74 -74
- package/dist/prices/abstract/ISwapPrice.d.ts +168 -168
- package/dist/prices/abstract/ISwapPrice.js +279 -279
- package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
- package/dist/prices/providers/BinancePriceProvider.js +30 -30
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
- package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
- package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
- package/dist/prices/providers/CustomPriceProvider.js +35 -35
- package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
- package/dist/prices/providers/KrakenPriceProvider.js +45 -45
- package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
- package/dist/prices/providers/OKXPriceProvider.js +29 -29
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
- package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
- package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
- package/dist/storage/IUnifiedStorage.d.ts +85 -85
- package/dist/storage/IUnifiedStorage.js +2 -2
- package/dist/storage/UnifiedSwapStorage.d.ts +114 -114
- package/dist/storage/UnifiedSwapStorage.js +116 -116
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
- package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
- package/dist/storage-browser/LocalStorageManager.js +93 -93
- package/dist/swapper/Swapper.d.ts +686 -687
- package/dist/swapper/Swapper.js +1603 -1603
- package/dist/swapper/SwapperFactory.d.ts +135 -135
- package/dist/swapper/SwapperFactory.js +162 -162
- package/dist/swapper/SwapperUtils.d.ts +200 -200
- package/dist/swapper/SwapperUtils.js +467 -467
- package/dist/swapper/SwapperWithChain.d.ts +404 -404
- package/dist/swapper/SwapperWithChain.js +469 -469
- package/dist/swapper/SwapperWithSigner.d.ts +322 -322
- package/dist/swapper/SwapperWithSigner.js +318 -318
- package/dist/swaps/IAddressSwap.d.ts +22 -22
- package/dist/swaps/IAddressSwap.js +13 -14
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +17 -18
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +14 -15
- package/dist/swaps/IClaimableSwapWrapper.d.ts +15 -15
- package/dist/swaps/IClaimableSwapWrapper.js +2 -2
- package/dist/swaps/IRefundableSwap.d.ts +43 -43
- package/dist/swaps/IRefundableSwap.js +13 -14
- package/dist/swaps/ISwap.d.ts +386 -387
- package/dist/swaps/ISwap.js +346 -346
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +11 -12
- package/dist/swaps/ISwapWrapper.d.ts +283 -285
- package/dist/swaps/ISwapWrapper.js +353 -353
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +133 -135
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +114 -115
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +98 -101
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +58 -58
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +78 -78
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +529 -531
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +181 -184
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -418
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +581 -583
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +225 -228
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +506 -506
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +458 -458
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1126 -1126
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +190 -191
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -378
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +403 -403
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +924 -924
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +62 -62
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +112 -112
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +125 -127
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +241 -242
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -520
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +127 -128
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +278 -278
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +630 -630
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1443 -1443
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +213 -207
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -755
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +261 -261
- package/dist/swaps/trusted/ln/LnForGasSwap.js +511 -511
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +342 -342
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +715 -715
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +68 -69
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +92 -92
- package/dist/types/AmountData.d.ts +10 -10
- package/dist/types/AmountData.js +2 -2
- package/dist/types/CustomPriceFunction.d.ts +11 -11
- package/dist/types/CustomPriceFunction.js +2 -2
- package/dist/types/PriceInfoType.d.ts +28 -28
- package/dist/types/PriceInfoType.js +56 -57
- package/dist/types/SwapExecutionAction.d.ts +88 -88
- package/dist/types/SwapExecutionAction.js +2 -2
- package/dist/types/SwapStateInfo.d.ts +5 -5
- package/dist/types/SwapStateInfo.js +2 -2
- package/dist/types/SwapWithSigner.d.ts +17 -17
- package/dist/types/SwapWithSigner.js +42 -43
- package/dist/types/Token.d.ts +99 -99
- package/dist/types/Token.js +76 -76
- package/dist/types/TokenAmount.d.ts +69 -69
- package/dist/types/TokenAmount.js +59 -60
- package/dist/types/fees/Fee.d.ts +50 -50
- package/dist/types/fees/Fee.js +2 -2
- package/dist/types/fees/FeeBreakdown.d.ts +11 -11
- package/dist/types/fees/FeeBreakdown.js +2 -2
- package/dist/types/fees/PercentagePPM.d.ts +17 -17
- package/dist/types/fees/PercentagePPM.js +17 -18
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +30 -31
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +26 -27
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +14 -15
- package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +23 -23
- package/dist/types/wallets/MinimalBitcoinWalletInterface.js +2 -2
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +9 -9
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.js +2 -2
- package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -1
- package/dist/utils/AutomaticClockDriftCorrection.js +69 -70
- package/dist/utils/BitcoinUtils.d.ts +12 -14
- package/dist/utils/BitcoinUtils.js +101 -102
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +13 -14
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +11 -12
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +66 -67
- package/dist/utils/SwapUtils.d.ts +88 -88
- package/dist/utils/SwapUtils.js +72 -72
- package/dist/utils/TimeoutUtils.d.ts +17 -17
- package/dist/utils/TimeoutUtils.js +54 -55
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +36 -37
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +56 -58
- package/dist/utils/Utils.js +193 -194
- package/package.json +1 -1
- package/src/intermediaries/apis/IntermediaryAPI.ts +4 -2
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +8 -0
|
@@ -1,342 +1,342 @@
|
|
|
1
|
-
import { SwapType } from "../../../enums/SwapType";
|
|
2
|
-
import { ChainType } from "@atomiqlabs/base";
|
|
3
|
-
import { ISwap, ISwapInit } from "../../ISwap";
|
|
4
|
-
import { OnchainForGasSwapTypeDefinition, OnchainForGasWrapper } from "./OnchainForGasWrapper";
|
|
5
|
-
import { Fee } from "../../../types/fees/Fee";
|
|
6
|
-
import { IBitcoinWallet } from "../../../bitcoin/wallet/IBitcoinWallet";
|
|
7
|
-
import { IAddressSwap } from "../../IAddressSwap";
|
|
8
|
-
import { IBTCWalletSwap } from "../../IBTCWalletSwap";
|
|
9
|
-
import { Transaction } from "@scure/btc-signer";
|
|
10
|
-
import { MinimalBitcoinWalletInterface, MinimalBitcoinWalletInterfaceWithSigner } from "../../../types/wallets/MinimalBitcoinWalletInterface";
|
|
11
|
-
import { FeeType } from "../../../enums/FeeType";
|
|
12
|
-
import { TokenAmount } from "../../../types/TokenAmount";
|
|
13
|
-
import { BtcToken, SCToken } from "../../../types/Token";
|
|
14
|
-
import { LoggerType } from "../../../utils/Logger";
|
|
15
|
-
import { SwapExecutionAction, SwapExecutionActionBitcoin } from "../../../types/SwapExecutionAction";
|
|
16
|
-
/**
|
|
17
|
-
* State enum for trusted on-chain gas swaps
|
|
18
|
-
*
|
|
19
|
-
* @category Swaps/Trusted Gas Swaps
|
|
20
|
-
*/
|
|
21
|
-
export declare enum OnchainForGasSwapState {
|
|
22
|
-
/**
|
|
23
|
-
* The swap quote expired without user sending in the BTC
|
|
24
|
-
*/
|
|
25
|
-
EXPIRED = -3,
|
|
26
|
-
/**
|
|
27
|
-
* The swap has failed after the intermediary already received the BTC on the source chain
|
|
28
|
-
*/
|
|
29
|
-
FAILED = -2,
|
|
30
|
-
/**
|
|
31
|
-
* Swap was refunded and BTC returned to the user's refund address
|
|
32
|
-
*/
|
|
33
|
-
REFUNDED = -1,
|
|
34
|
-
/**
|
|
35
|
-
* Swap was created, send the BTC to the swap address
|
|
36
|
-
*/
|
|
37
|
-
PR_CREATED = 0,
|
|
38
|
-
/**
|
|
39
|
-
* The swap is finished after the intermediary sent funds on the destination chain
|
|
40
|
-
*/
|
|
41
|
-
FINISHED = 1,
|
|
42
|
-
/**
|
|
43
|
-
* Swap is refundable because the intermediary cannot honor the swap request on the destination chain
|
|
44
|
-
*/
|
|
45
|
-
REFUNDABLE = 2
|
|
46
|
-
}
|
|
47
|
-
export type OnchainForGasSwapInit = ISwapInit & {
|
|
48
|
-
paymentHash: string;
|
|
49
|
-
sequence: bigint;
|
|
50
|
-
address: string;
|
|
51
|
-
inputAmount: bigint;
|
|
52
|
-
outputAmount: bigint;
|
|
53
|
-
recipient: string;
|
|
54
|
-
token: string;
|
|
55
|
-
refundAddress?: string;
|
|
56
|
-
};
|
|
57
|
-
export declare function isOnchainForGasSwapInit(obj: any): obj is OnchainForGasSwapInit;
|
|
58
|
-
/**
|
|
59
|
-
* Trusted swap for Bitcoin -> Smart chains, to be used for minor amounts to get gas tokens on the
|
|
60
|
-
* destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
61
|
-
*
|
|
62
|
-
* @category Swaps/Trusted Gas Swaps
|
|
63
|
-
*/
|
|
64
|
-
export declare class OnchainForGasSwap<T extends ChainType = ChainType> extends ISwap<T, OnchainForGasSwapTypeDefinition<T>, OnchainForGasSwapState> implements IAddressSwap, IBTCWalletSwap {
|
|
65
|
-
protected readonly TYPE: SwapType.TRUSTED_FROM_BTC;
|
|
66
|
-
/**
|
|
67
|
-
* @internal
|
|
68
|
-
*/
|
|
69
|
-
protected readonly swapStateDescription: Record<OnchainForGasSwapState, string>;
|
|
70
|
-
/**
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
|
-
protected readonly swapStateName: (state: number) => string;
|
|
74
|
-
/**
|
|
75
|
-
* @internal
|
|
76
|
-
*/
|
|
77
|
-
protected readonly logger: LoggerType;
|
|
78
|
-
private readonly paymentHash;
|
|
79
|
-
private readonly sequence;
|
|
80
|
-
private readonly address;
|
|
81
|
-
private readonly recipient;
|
|
82
|
-
private readonly token;
|
|
83
|
-
private inputAmount;
|
|
84
|
-
private outputAmount;
|
|
85
|
-
private refundAddress?;
|
|
86
|
-
/**
|
|
87
|
-
* Destination transaction ID on the smart chain side
|
|
88
|
-
* @private
|
|
89
|
-
*/
|
|
90
|
-
private scTxId?;
|
|
91
|
-
/**
|
|
92
|
-
* Source transaction ID on the source (bitcoin) side
|
|
93
|
-
* @private
|
|
94
|
-
*/
|
|
95
|
-
private txId?;
|
|
96
|
-
/**
|
|
97
|
-
* Transaction ID on the source (bitcoin) side used for refunding the funds back to the user
|
|
98
|
-
* @private
|
|
99
|
-
*/
|
|
100
|
-
private refundTxId?;
|
|
101
|
-
/**
|
|
102
|
-
* @internal
|
|
103
|
-
*/
|
|
104
|
-
protected readonly wrapper: OnchainForGasWrapper<T>;
|
|
105
|
-
constructor(wrapper: OnchainForGasWrapper<T>, init: OnchainForGasSwapInit);
|
|
106
|
-
constructor(wrapper: OnchainForGasWrapper<T>, obj: any);
|
|
107
|
-
/**
|
|
108
|
-
* @inheritDoc
|
|
109
|
-
* @internal
|
|
110
|
-
*/
|
|
111
|
-
protected upgradeVersion(): void;
|
|
112
|
-
/**
|
|
113
|
-
* @inheritDoc
|
|
114
|
-
* @internal
|
|
115
|
-
*/
|
|
116
|
-
protected tryRecomputeSwapPrice(): void;
|
|
117
|
-
/**
|
|
118
|
-
* @inheritDoc
|
|
119
|
-
* @internal
|
|
120
|
-
*/
|
|
121
|
-
_getEscrowHash(): string;
|
|
122
|
-
/**
|
|
123
|
-
* @inheritDoc
|
|
124
|
-
*/
|
|
125
|
-
getOutputAddress(): string | null;
|
|
126
|
-
/**
|
|
127
|
-
* @inheritDoc
|
|
128
|
-
*/
|
|
129
|
-
getInputAddress(): string | null;
|
|
130
|
-
/**
|
|
131
|
-
* @inheritDoc
|
|
132
|
-
*/
|
|
133
|
-
getInputTxId(): string | null;
|
|
134
|
-
/**
|
|
135
|
-
* @inheritDoc
|
|
136
|
-
*/
|
|
137
|
-
getOutputTxId(): string | null;
|
|
138
|
-
/**
|
|
139
|
-
* @inheritDoc
|
|
140
|
-
*/
|
|
141
|
-
getId(): string;
|
|
142
|
-
/**
|
|
143
|
-
* @inheritDoc
|
|
144
|
-
*/
|
|
145
|
-
getAddress(): string;
|
|
146
|
-
/**
|
|
147
|
-
* @inheritDoc
|
|
148
|
-
*/
|
|
149
|
-
getHyperlink(): string;
|
|
150
|
-
/**
|
|
151
|
-
* @inheritDoc
|
|
152
|
-
*/
|
|
153
|
-
requiresAction(): boolean;
|
|
154
|
-
/**
|
|
155
|
-
* @inheritDoc
|
|
156
|
-
*/
|
|
157
|
-
isFinished(): boolean;
|
|
158
|
-
/**
|
|
159
|
-
* @inheritDoc
|
|
160
|
-
*/
|
|
161
|
-
isQuoteExpired(): boolean;
|
|
162
|
-
/**
|
|
163
|
-
* @inheritDoc
|
|
164
|
-
*/
|
|
165
|
-
isQuoteSoftExpired(): boolean;
|
|
166
|
-
/**
|
|
167
|
-
* @inheritDoc
|
|
168
|
-
*/
|
|
169
|
-
isFailed(): boolean;
|
|
170
|
-
/**
|
|
171
|
-
* @inheritDoc
|
|
172
|
-
*/
|
|
173
|
-
isSuccessful(): boolean;
|
|
174
|
-
/**
|
|
175
|
-
* @inheritDoc
|
|
176
|
-
*/
|
|
177
|
-
isInProgress(): boolean;
|
|
178
|
-
/**
|
|
179
|
-
* @inheritDoc
|
|
180
|
-
* @internal
|
|
181
|
-
*/
|
|
182
|
-
_verifyQuoteDefinitelyExpired(): Promise<boolean>;
|
|
183
|
-
/**
|
|
184
|
-
* @inheritDoc
|
|
185
|
-
* @internal
|
|
186
|
-
*/
|
|
187
|
-
_verifyQuoteValid(): Promise<boolean>;
|
|
188
|
-
/**
|
|
189
|
-
* Returns an output amount in base units without a swap fee included, hence this value
|
|
190
|
-
* is larger than the actual output amount
|
|
191
|
-
*
|
|
192
|
-
* @internal
|
|
193
|
-
*/
|
|
194
|
-
protected getOutAmountWithoutFee(): bigint;
|
|
195
|
-
/**
|
|
196
|
-
* @inheritDoc
|
|
197
|
-
*/
|
|
198
|
-
getOutputToken(): SCToken<T["ChainId"]>;
|
|
199
|
-
/**
|
|
200
|
-
* @inheritDoc
|
|
201
|
-
*/
|
|
202
|
-
getOutput(): TokenAmount<SCToken<T["ChainId"]>, true>;
|
|
203
|
-
/**
|
|
204
|
-
* @inheritDoc
|
|
205
|
-
*/
|
|
206
|
-
getInputToken(): BtcToken<false>;
|
|
207
|
-
/**
|
|
208
|
-
* @inheritDoc
|
|
209
|
-
*/
|
|
210
|
-
getInput(): TokenAmount<BtcToken<false>, true>;
|
|
211
|
-
/**
|
|
212
|
-
* @inheritDoc
|
|
213
|
-
*/
|
|
214
|
-
getInputWithoutFee(): TokenAmount<BtcToken<false>, true>;
|
|
215
|
-
/**
|
|
216
|
-
* Returns the swap fee charged by the intermediary (LP) on this swap
|
|
217
|
-
*
|
|
218
|
-
* @internal
|
|
219
|
-
*/
|
|
220
|
-
protected getSwapFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
221
|
-
/**
|
|
222
|
-
* @inheritDoc
|
|
223
|
-
*/
|
|
224
|
-
getFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
225
|
-
/**
|
|
226
|
-
* @inheritDoc
|
|
227
|
-
*/
|
|
228
|
-
getFeeBreakdown(): [{
|
|
229
|
-
type: FeeType.SWAP;
|
|
230
|
-
fee: Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
231
|
-
}];
|
|
232
|
-
/**
|
|
233
|
-
* @inheritDoc
|
|
234
|
-
*/
|
|
235
|
-
getRequiredConfirmationsCount(): number;
|
|
236
|
-
/**
|
|
237
|
-
* @inheritDoc
|
|
238
|
-
*/
|
|
239
|
-
getFundedPsbt(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number, additionalOutputs?: ({
|
|
240
|
-
amount: bigint;
|
|
241
|
-
outputScript: Uint8Array;
|
|
242
|
-
} | {
|
|
243
|
-
amount: bigint;
|
|
244
|
-
address: string;
|
|
245
|
-
})[]): Promise<{
|
|
246
|
-
psbt: Transaction;
|
|
247
|
-
psbtHex: string;
|
|
248
|
-
psbtBase64: string;
|
|
249
|
-
signInputs: number[];
|
|
250
|
-
}>;
|
|
251
|
-
/**
|
|
252
|
-
* @inheritDoc
|
|
253
|
-
*/
|
|
254
|
-
submitPsbt(_psbt: Transaction | string): Promise<string>;
|
|
255
|
-
/**
|
|
256
|
-
* @inheritDoc
|
|
257
|
-
*/
|
|
258
|
-
estimateBitcoinFee(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number): Promise<TokenAmount<BtcToken<false>, true> | null>;
|
|
259
|
-
/**
|
|
260
|
-
* @inheritDoc
|
|
261
|
-
*/
|
|
262
|
-
sendBitcoinTransaction(wallet: IBitcoinWallet | MinimalBitcoinWalletInterfaceWithSigner, feeRate?: number): Promise<string>;
|
|
263
|
-
/**
|
|
264
|
-
* @inheritDoc
|
|
265
|
-
*
|
|
266
|
-
* @param options.bitcoinWallet Optional bitcoin wallet address specification to return a funded PSBT,
|
|
267
|
-
* if not provided an address is returned instead.
|
|
268
|
-
*/
|
|
269
|
-
txsExecute(options?: {
|
|
270
|
-
bitcoinWallet?: MinimalBitcoinWalletInterface;
|
|
271
|
-
}): Promise<[
|
|
272
|
-
SwapExecutionActionBitcoin<"ADDRESS" | "FUNDED_PSBT">
|
|
273
|
-
]>;
|
|
274
|
-
/**
|
|
275
|
-
* @remark Not supported
|
|
276
|
-
*/
|
|
277
|
-
execute(): Promise<boolean>;
|
|
278
|
-
/**
|
|
279
|
-
* @inheritDoc
|
|
280
|
-
*
|
|
281
|
-
* @param options.bitcoinWallet Optional bitcoin wallet address specification to return a funded PSBT,
|
|
282
|
-
* if not provided an address is returned instead.
|
|
283
|
-
*/
|
|
284
|
-
getCurrentActions(options?: {
|
|
285
|
-
bitcoinWallet?: MinimalBitcoinWalletInterface;
|
|
286
|
-
}): Promise<SwapExecutionAction<T>[]>;
|
|
287
|
-
/**
|
|
288
|
-
* Queries the intermediary (LP) node for the state of the swap
|
|
289
|
-
*
|
|
290
|
-
* @param save Whether the save the result or not
|
|
291
|
-
*
|
|
292
|
-
* @returns Whether the swap was successful as `boolean` or `null` if the swap is still pending
|
|
293
|
-
* @internal
|
|
294
|
-
*/
|
|
295
|
-
protected checkAddress(save?: boolean): Promise<boolean | null>;
|
|
296
|
-
/**
|
|
297
|
-
* Sets the bitcoin address used for possible refunds in case something goes wrong with the swap
|
|
298
|
-
*
|
|
299
|
-
* @param refundAddress Bitcoin address to receive the refund to
|
|
300
|
-
* @internal
|
|
301
|
-
*/
|
|
302
|
-
protected setRefundAddress(refundAddress: string): Promise<void>;
|
|
303
|
-
/**
|
|
304
|
-
* @inheritDoc
|
|
305
|
-
*/
|
|
306
|
-
waitForBitcoinTransaction(updateCallback?: (txId?: string, confirmations?: number, targetConfirmations?: number, txEtaMs?: number) => void, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<string>;
|
|
307
|
-
/**
|
|
308
|
-
* Waits till the LP processes a refund for a failed swap. The swap must be in
|
|
309
|
-
* {@link OnchainForGasSwapState.REFUNDABLE} state
|
|
310
|
-
*
|
|
311
|
-
* @param checkIntervalSeconds How often to check (default 5 seconds)
|
|
312
|
-
* @param abortSignal Abort signal
|
|
313
|
-
*/
|
|
314
|
-
waitTillRefunded(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<void>;
|
|
315
|
-
/**
|
|
316
|
-
* Requests a refund after the swap failed, this also waits till the refund is actually sent by the
|
|
317
|
-
* intermediary (LP). The swap must be in {@link OnchainForGasSwapState.REFUNDABLE} state
|
|
318
|
-
*
|
|
319
|
-
* @param refundAddress Bitcoin address to receive the refund to
|
|
320
|
-
* @param abortSignal Abort signal
|
|
321
|
-
*/
|
|
322
|
-
requestRefund(refundAddress?: string, abortSignal?: AbortSignal): Promise<void>;
|
|
323
|
-
/**
|
|
324
|
-
* @inheritDoc
|
|
325
|
-
*/
|
|
326
|
-
serialize(): any;
|
|
327
|
-
/**
|
|
328
|
-
* @inheritDoc
|
|
329
|
-
* @internal
|
|
330
|
-
*/
|
|
331
|
-
_getInitiator(): string;
|
|
332
|
-
/**
|
|
333
|
-
* @inheritDoc
|
|
334
|
-
* @internal
|
|
335
|
-
*/
|
|
336
|
-
_sync(save?: boolean): Promise<boolean>;
|
|
337
|
-
/**
|
|
338
|
-
* @inheritDoc
|
|
339
|
-
* @internal
|
|
340
|
-
*/
|
|
341
|
-
_tick(save?: boolean): Promise<boolean>;
|
|
342
|
-
}
|
|
1
|
+
import { SwapType } from "../../../enums/SwapType";
|
|
2
|
+
import { ChainType } from "@atomiqlabs/base";
|
|
3
|
+
import { ISwap, ISwapInit } from "../../ISwap";
|
|
4
|
+
import { OnchainForGasSwapTypeDefinition, OnchainForGasWrapper } from "./OnchainForGasWrapper";
|
|
5
|
+
import { Fee } from "../../../types/fees/Fee";
|
|
6
|
+
import { IBitcoinWallet } from "../../../bitcoin/wallet/IBitcoinWallet";
|
|
7
|
+
import { IAddressSwap } from "../../IAddressSwap";
|
|
8
|
+
import { IBTCWalletSwap } from "../../IBTCWalletSwap";
|
|
9
|
+
import { Transaction } from "@scure/btc-signer";
|
|
10
|
+
import { MinimalBitcoinWalletInterface, MinimalBitcoinWalletInterfaceWithSigner } from "../../../types/wallets/MinimalBitcoinWalletInterface";
|
|
11
|
+
import { FeeType } from "../../../enums/FeeType";
|
|
12
|
+
import { TokenAmount } from "../../../types/TokenAmount";
|
|
13
|
+
import { BtcToken, SCToken } from "../../../types/Token";
|
|
14
|
+
import { LoggerType } from "../../../utils/Logger";
|
|
15
|
+
import { SwapExecutionAction, SwapExecutionActionBitcoin } from "../../../types/SwapExecutionAction";
|
|
16
|
+
/**
|
|
17
|
+
* State enum for trusted on-chain gas swaps
|
|
18
|
+
*
|
|
19
|
+
* @category Swaps/Trusted Gas Swaps
|
|
20
|
+
*/
|
|
21
|
+
export declare enum OnchainForGasSwapState {
|
|
22
|
+
/**
|
|
23
|
+
* The swap quote expired without user sending in the BTC
|
|
24
|
+
*/
|
|
25
|
+
EXPIRED = -3,
|
|
26
|
+
/**
|
|
27
|
+
* The swap has failed after the intermediary already received the BTC on the source chain
|
|
28
|
+
*/
|
|
29
|
+
FAILED = -2,
|
|
30
|
+
/**
|
|
31
|
+
* Swap was refunded and BTC returned to the user's refund address
|
|
32
|
+
*/
|
|
33
|
+
REFUNDED = -1,
|
|
34
|
+
/**
|
|
35
|
+
* Swap was created, send the BTC to the swap address
|
|
36
|
+
*/
|
|
37
|
+
PR_CREATED = 0,
|
|
38
|
+
/**
|
|
39
|
+
* The swap is finished after the intermediary sent funds on the destination chain
|
|
40
|
+
*/
|
|
41
|
+
FINISHED = 1,
|
|
42
|
+
/**
|
|
43
|
+
* Swap is refundable because the intermediary cannot honor the swap request on the destination chain
|
|
44
|
+
*/
|
|
45
|
+
REFUNDABLE = 2
|
|
46
|
+
}
|
|
47
|
+
export type OnchainForGasSwapInit = ISwapInit & {
|
|
48
|
+
paymentHash: string;
|
|
49
|
+
sequence: bigint;
|
|
50
|
+
address: string;
|
|
51
|
+
inputAmount: bigint;
|
|
52
|
+
outputAmount: bigint;
|
|
53
|
+
recipient: string;
|
|
54
|
+
token: string;
|
|
55
|
+
refundAddress?: string;
|
|
56
|
+
};
|
|
57
|
+
export declare function isOnchainForGasSwapInit(obj: any): obj is OnchainForGasSwapInit;
|
|
58
|
+
/**
|
|
59
|
+
* Trusted swap for Bitcoin -> Smart chains, to be used for minor amounts to get gas tokens on the
|
|
60
|
+
* destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
61
|
+
*
|
|
62
|
+
* @category Swaps/Trusted Gas Swaps
|
|
63
|
+
*/
|
|
64
|
+
export declare class OnchainForGasSwap<T extends ChainType = ChainType> extends ISwap<T, OnchainForGasSwapTypeDefinition<T>, OnchainForGasSwapState> implements IAddressSwap, IBTCWalletSwap {
|
|
65
|
+
protected readonly TYPE: SwapType.TRUSTED_FROM_BTC;
|
|
66
|
+
/**
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
protected readonly swapStateDescription: Record<OnchainForGasSwapState, string>;
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
protected readonly swapStateName: (state: number) => string;
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
protected readonly logger: LoggerType;
|
|
78
|
+
private readonly paymentHash;
|
|
79
|
+
private readonly sequence;
|
|
80
|
+
private readonly address;
|
|
81
|
+
private readonly recipient;
|
|
82
|
+
private readonly token;
|
|
83
|
+
private inputAmount;
|
|
84
|
+
private outputAmount;
|
|
85
|
+
private refundAddress?;
|
|
86
|
+
/**
|
|
87
|
+
* Destination transaction ID on the smart chain side
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
private scTxId?;
|
|
91
|
+
/**
|
|
92
|
+
* Source transaction ID on the source (bitcoin) side
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
private txId?;
|
|
96
|
+
/**
|
|
97
|
+
* Transaction ID on the source (bitcoin) side used for refunding the funds back to the user
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
private refundTxId?;
|
|
101
|
+
/**
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
protected readonly wrapper: OnchainForGasWrapper<T>;
|
|
105
|
+
constructor(wrapper: OnchainForGasWrapper<T>, init: OnchainForGasSwapInit);
|
|
106
|
+
constructor(wrapper: OnchainForGasWrapper<T>, obj: any);
|
|
107
|
+
/**
|
|
108
|
+
* @inheritDoc
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
protected upgradeVersion(): void;
|
|
112
|
+
/**
|
|
113
|
+
* @inheritDoc
|
|
114
|
+
* @internal
|
|
115
|
+
*/
|
|
116
|
+
protected tryRecomputeSwapPrice(): void;
|
|
117
|
+
/**
|
|
118
|
+
* @inheritDoc
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
_getEscrowHash(): string;
|
|
122
|
+
/**
|
|
123
|
+
* @inheritDoc
|
|
124
|
+
*/
|
|
125
|
+
getOutputAddress(): string | null;
|
|
126
|
+
/**
|
|
127
|
+
* @inheritDoc
|
|
128
|
+
*/
|
|
129
|
+
getInputAddress(): string | null;
|
|
130
|
+
/**
|
|
131
|
+
* @inheritDoc
|
|
132
|
+
*/
|
|
133
|
+
getInputTxId(): string | null;
|
|
134
|
+
/**
|
|
135
|
+
* @inheritDoc
|
|
136
|
+
*/
|
|
137
|
+
getOutputTxId(): string | null;
|
|
138
|
+
/**
|
|
139
|
+
* @inheritDoc
|
|
140
|
+
*/
|
|
141
|
+
getId(): string;
|
|
142
|
+
/**
|
|
143
|
+
* @inheritDoc
|
|
144
|
+
*/
|
|
145
|
+
getAddress(): string;
|
|
146
|
+
/**
|
|
147
|
+
* @inheritDoc
|
|
148
|
+
*/
|
|
149
|
+
getHyperlink(): string;
|
|
150
|
+
/**
|
|
151
|
+
* @inheritDoc
|
|
152
|
+
*/
|
|
153
|
+
requiresAction(): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* @inheritDoc
|
|
156
|
+
*/
|
|
157
|
+
isFinished(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* @inheritDoc
|
|
160
|
+
*/
|
|
161
|
+
isQuoteExpired(): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* @inheritDoc
|
|
164
|
+
*/
|
|
165
|
+
isQuoteSoftExpired(): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* @inheritDoc
|
|
168
|
+
*/
|
|
169
|
+
isFailed(): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* @inheritDoc
|
|
172
|
+
*/
|
|
173
|
+
isSuccessful(): boolean;
|
|
174
|
+
/**
|
|
175
|
+
* @inheritDoc
|
|
176
|
+
*/
|
|
177
|
+
isInProgress(): boolean;
|
|
178
|
+
/**
|
|
179
|
+
* @inheritDoc
|
|
180
|
+
* @internal
|
|
181
|
+
*/
|
|
182
|
+
_verifyQuoteDefinitelyExpired(): Promise<boolean>;
|
|
183
|
+
/**
|
|
184
|
+
* @inheritDoc
|
|
185
|
+
* @internal
|
|
186
|
+
*/
|
|
187
|
+
_verifyQuoteValid(): Promise<boolean>;
|
|
188
|
+
/**
|
|
189
|
+
* Returns an output amount in base units without a swap fee included, hence this value
|
|
190
|
+
* is larger than the actual output amount
|
|
191
|
+
*
|
|
192
|
+
* @internal
|
|
193
|
+
*/
|
|
194
|
+
protected getOutAmountWithoutFee(): bigint;
|
|
195
|
+
/**
|
|
196
|
+
* @inheritDoc
|
|
197
|
+
*/
|
|
198
|
+
getOutputToken(): SCToken<T["ChainId"]>;
|
|
199
|
+
/**
|
|
200
|
+
* @inheritDoc
|
|
201
|
+
*/
|
|
202
|
+
getOutput(): TokenAmount<SCToken<T["ChainId"]>, true>;
|
|
203
|
+
/**
|
|
204
|
+
* @inheritDoc
|
|
205
|
+
*/
|
|
206
|
+
getInputToken(): BtcToken<false>;
|
|
207
|
+
/**
|
|
208
|
+
* @inheritDoc
|
|
209
|
+
*/
|
|
210
|
+
getInput(): TokenAmount<BtcToken<false>, true>;
|
|
211
|
+
/**
|
|
212
|
+
* @inheritDoc
|
|
213
|
+
*/
|
|
214
|
+
getInputWithoutFee(): TokenAmount<BtcToken<false>, true>;
|
|
215
|
+
/**
|
|
216
|
+
* Returns the swap fee charged by the intermediary (LP) on this swap
|
|
217
|
+
*
|
|
218
|
+
* @internal
|
|
219
|
+
*/
|
|
220
|
+
protected getSwapFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
221
|
+
/**
|
|
222
|
+
* @inheritDoc
|
|
223
|
+
*/
|
|
224
|
+
getFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
225
|
+
/**
|
|
226
|
+
* @inheritDoc
|
|
227
|
+
*/
|
|
228
|
+
getFeeBreakdown(): [{
|
|
229
|
+
type: FeeType.SWAP;
|
|
230
|
+
fee: Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
231
|
+
}];
|
|
232
|
+
/**
|
|
233
|
+
* @inheritDoc
|
|
234
|
+
*/
|
|
235
|
+
getRequiredConfirmationsCount(): number;
|
|
236
|
+
/**
|
|
237
|
+
* @inheritDoc
|
|
238
|
+
*/
|
|
239
|
+
getFundedPsbt(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number, additionalOutputs?: ({
|
|
240
|
+
amount: bigint;
|
|
241
|
+
outputScript: Uint8Array;
|
|
242
|
+
} | {
|
|
243
|
+
amount: bigint;
|
|
244
|
+
address: string;
|
|
245
|
+
})[]): Promise<{
|
|
246
|
+
psbt: Transaction;
|
|
247
|
+
psbtHex: string;
|
|
248
|
+
psbtBase64: string;
|
|
249
|
+
signInputs: number[];
|
|
250
|
+
}>;
|
|
251
|
+
/**
|
|
252
|
+
* @inheritDoc
|
|
253
|
+
*/
|
|
254
|
+
submitPsbt(_psbt: Transaction | string): Promise<string>;
|
|
255
|
+
/**
|
|
256
|
+
* @inheritDoc
|
|
257
|
+
*/
|
|
258
|
+
estimateBitcoinFee(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number): Promise<TokenAmount<BtcToken<false>, true> | null>;
|
|
259
|
+
/**
|
|
260
|
+
* @inheritDoc
|
|
261
|
+
*/
|
|
262
|
+
sendBitcoinTransaction(wallet: IBitcoinWallet | MinimalBitcoinWalletInterfaceWithSigner, feeRate?: number): Promise<string>;
|
|
263
|
+
/**
|
|
264
|
+
* @inheritDoc
|
|
265
|
+
*
|
|
266
|
+
* @param options.bitcoinWallet Optional bitcoin wallet address specification to return a funded PSBT,
|
|
267
|
+
* if not provided an address is returned instead.
|
|
268
|
+
*/
|
|
269
|
+
txsExecute(options?: {
|
|
270
|
+
bitcoinWallet?: MinimalBitcoinWalletInterface;
|
|
271
|
+
}): Promise<[
|
|
272
|
+
SwapExecutionActionBitcoin<"ADDRESS" | "FUNDED_PSBT">
|
|
273
|
+
]>;
|
|
274
|
+
/**
|
|
275
|
+
* @remark Not supported
|
|
276
|
+
*/
|
|
277
|
+
execute(): Promise<boolean>;
|
|
278
|
+
/**
|
|
279
|
+
* @inheritDoc
|
|
280
|
+
*
|
|
281
|
+
* @param options.bitcoinWallet Optional bitcoin wallet address specification to return a funded PSBT,
|
|
282
|
+
* if not provided an address is returned instead.
|
|
283
|
+
*/
|
|
284
|
+
getCurrentActions(options?: {
|
|
285
|
+
bitcoinWallet?: MinimalBitcoinWalletInterface;
|
|
286
|
+
}): Promise<SwapExecutionAction<T>[]>;
|
|
287
|
+
/**
|
|
288
|
+
* Queries the intermediary (LP) node for the state of the swap
|
|
289
|
+
*
|
|
290
|
+
* @param save Whether the save the result or not
|
|
291
|
+
*
|
|
292
|
+
* @returns Whether the swap was successful as `boolean` or `null` if the swap is still pending
|
|
293
|
+
* @internal
|
|
294
|
+
*/
|
|
295
|
+
protected checkAddress(save?: boolean): Promise<boolean | null>;
|
|
296
|
+
/**
|
|
297
|
+
* Sets the bitcoin address used for possible refunds in case something goes wrong with the swap
|
|
298
|
+
*
|
|
299
|
+
* @param refundAddress Bitcoin address to receive the refund to
|
|
300
|
+
* @internal
|
|
301
|
+
*/
|
|
302
|
+
protected setRefundAddress(refundAddress: string): Promise<void>;
|
|
303
|
+
/**
|
|
304
|
+
* @inheritDoc
|
|
305
|
+
*/
|
|
306
|
+
waitForBitcoinTransaction(updateCallback?: (txId?: string, confirmations?: number, targetConfirmations?: number, txEtaMs?: number) => void, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<string>;
|
|
307
|
+
/**
|
|
308
|
+
* Waits till the LP processes a refund for a failed swap. The swap must be in
|
|
309
|
+
* {@link OnchainForGasSwapState.REFUNDABLE} state
|
|
310
|
+
*
|
|
311
|
+
* @param checkIntervalSeconds How often to check (default 5 seconds)
|
|
312
|
+
* @param abortSignal Abort signal
|
|
313
|
+
*/
|
|
314
|
+
waitTillRefunded(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<void>;
|
|
315
|
+
/**
|
|
316
|
+
* Requests a refund after the swap failed, this also waits till the refund is actually sent by the
|
|
317
|
+
* intermediary (LP). The swap must be in {@link OnchainForGasSwapState.REFUNDABLE} state
|
|
318
|
+
*
|
|
319
|
+
* @param refundAddress Bitcoin address to receive the refund to
|
|
320
|
+
* @param abortSignal Abort signal
|
|
321
|
+
*/
|
|
322
|
+
requestRefund(refundAddress?: string, abortSignal?: AbortSignal): Promise<void>;
|
|
323
|
+
/**
|
|
324
|
+
* @inheritDoc
|
|
325
|
+
*/
|
|
326
|
+
serialize(): any;
|
|
327
|
+
/**
|
|
328
|
+
* @inheritDoc
|
|
329
|
+
* @internal
|
|
330
|
+
*/
|
|
331
|
+
_getInitiator(): string;
|
|
332
|
+
/**
|
|
333
|
+
* @inheritDoc
|
|
334
|
+
* @internal
|
|
335
|
+
*/
|
|
336
|
+
_sync(save?: boolean): Promise<boolean>;
|
|
337
|
+
/**
|
|
338
|
+
* @inheritDoc
|
|
339
|
+
* @internal
|
|
340
|
+
*/
|
|
341
|
+
_tick(save?: boolean): Promise<boolean>;
|
|
342
|
+
}
|