@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
|
@@ -12,16 +12,36 @@ import { FeeType } from "../../../enums/FeeType";
|
|
|
12
12
|
import { TokenAmount } from "../../../types/TokenAmount";
|
|
13
13
|
import { BtcToken, SCToken } from "../../../types/Token";
|
|
14
14
|
import { LoggerType } from "../../../utils/Logger";
|
|
15
|
+
import { SwapExecutionActionBitcoin } from "../../../types/SwapExecutionAction";
|
|
15
16
|
/**
|
|
16
17
|
* State enum for trusted on-chain gas swaps
|
|
18
|
+
*
|
|
17
19
|
* @category Swaps
|
|
18
20
|
*/
|
|
19
21
|
export declare enum OnchainForGasSwapState {
|
|
22
|
+
/**
|
|
23
|
+
* The swap quote expired without user sending in the BTC
|
|
24
|
+
*/
|
|
20
25
|
EXPIRED = -3,
|
|
26
|
+
/**
|
|
27
|
+
* The swap has failed after the intermediary already received the BTC on the source chain
|
|
28
|
+
*/
|
|
21
29
|
FAILED = -2,
|
|
30
|
+
/**
|
|
31
|
+
* Swap was refunded and BTC returned to the user's refund address
|
|
32
|
+
*/
|
|
22
33
|
REFUNDED = -1,
|
|
34
|
+
/**
|
|
35
|
+
* Swap was created
|
|
36
|
+
*/
|
|
23
37
|
PR_CREATED = 0,
|
|
38
|
+
/**
|
|
39
|
+
* The swap is finished after the intermediary sent funds on the destination chain
|
|
40
|
+
*/
|
|
24
41
|
FINISHED = 1,
|
|
42
|
+
/**
|
|
43
|
+
* Swap is refundable because the intermediary cannot honor the swap request on the destination chain
|
|
44
|
+
*/
|
|
25
45
|
REFUNDABLE = 2
|
|
26
46
|
}
|
|
27
47
|
export type OnchainForGasSwapInit = ISwapInit & {
|
|
@@ -36,12 +56,16 @@ export type OnchainForGasSwapInit = ISwapInit & {
|
|
|
36
56
|
};
|
|
37
57
|
export declare function isOnchainForGasSwapInit(obj: any): obj is OnchainForGasSwapInit;
|
|
38
58
|
/**
|
|
39
|
-
* Trusted
|
|
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
|
+
*
|
|
40
62
|
* @category Swaps
|
|
41
63
|
*/
|
|
42
64
|
export declare class OnchainForGasSwap<T extends ChainType = ChainType> extends ISwap<T, OnchainForGasSwapTypeDefinition<T>> implements IAddressSwap, IBTCWalletSwap {
|
|
43
|
-
|
|
44
|
-
|
|
65
|
+
protected readonly TYPE: SwapType.TRUSTED_FROM_BTC;
|
|
66
|
+
/**
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
45
69
|
protected readonly logger: LoggerType;
|
|
46
70
|
private readonly paymentHash;
|
|
47
71
|
private readonly sequence;
|
|
@@ -51,54 +75,154 @@ export declare class OnchainForGasSwap<T extends ChainType = ChainType> extends
|
|
|
51
75
|
private inputAmount;
|
|
52
76
|
private outputAmount;
|
|
53
77
|
private refundAddress?;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Destination transaction ID on the smart chain side
|
|
80
|
+
* @private
|
|
81
|
+
*/
|
|
82
|
+
private scTxId?;
|
|
83
|
+
/**
|
|
84
|
+
* Source transaction ID on the source (bitcoin) side
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
private txId?;
|
|
88
|
+
/**
|
|
89
|
+
* Transaction ID on the source (bitcoin) side used for refunding the funds back to the user
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
private refundTxId?;
|
|
93
|
+
/**
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
protected readonly wrapper: OnchainForGasWrapper<T>;
|
|
58
97
|
constructor(wrapper: OnchainForGasWrapper<T>, init: OnchainForGasSwapInit);
|
|
59
98
|
constructor(wrapper: OnchainForGasWrapper<T>, obj: any);
|
|
99
|
+
/**
|
|
100
|
+
* @inheritDoc
|
|
101
|
+
* @internal
|
|
102
|
+
*/
|
|
60
103
|
protected upgradeVersion(): void;
|
|
61
104
|
/**
|
|
62
|
-
*
|
|
63
|
-
* @
|
|
105
|
+
* @inheritDoc
|
|
106
|
+
* @internal
|
|
64
107
|
*/
|
|
65
108
|
protected tryRecomputeSwapPrice(): void;
|
|
109
|
+
/**
|
|
110
|
+
* @inheritDoc
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
66
113
|
_getEscrowHash(): string;
|
|
114
|
+
/**
|
|
115
|
+
* @inheritDoc
|
|
116
|
+
*/
|
|
67
117
|
getOutputAddress(): string | null;
|
|
118
|
+
/**
|
|
119
|
+
* @inheritDoc
|
|
120
|
+
*/
|
|
68
121
|
getInputAddress(): string | null;
|
|
122
|
+
/**
|
|
123
|
+
* @inheritDoc
|
|
124
|
+
*/
|
|
69
125
|
getInputTxId(): string | null;
|
|
126
|
+
/**
|
|
127
|
+
* @inheritDoc
|
|
128
|
+
*/
|
|
70
129
|
getOutputTxId(): string | null;
|
|
130
|
+
/**
|
|
131
|
+
* @inheritDoc
|
|
132
|
+
*/
|
|
71
133
|
getId(): string;
|
|
134
|
+
/**
|
|
135
|
+
* @inheritDoc
|
|
136
|
+
*/
|
|
72
137
|
getAddress(): string;
|
|
138
|
+
/**
|
|
139
|
+
* @inheritDoc
|
|
140
|
+
*/
|
|
73
141
|
getHyperlink(): string;
|
|
142
|
+
/**
|
|
143
|
+
* @inheritDoc
|
|
144
|
+
*/
|
|
74
145
|
requiresAction(): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* @inheritDoc
|
|
148
|
+
*/
|
|
75
149
|
isFinished(): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* @inheritDoc
|
|
152
|
+
*/
|
|
76
153
|
isQuoteExpired(): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* @inheritDoc
|
|
156
|
+
*/
|
|
77
157
|
isQuoteSoftExpired(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* @inheritDoc
|
|
160
|
+
*/
|
|
78
161
|
isFailed(): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* @inheritDoc
|
|
164
|
+
*/
|
|
79
165
|
isSuccessful(): boolean;
|
|
80
|
-
|
|
166
|
+
/**
|
|
167
|
+
* @inheritDoc
|
|
168
|
+
* @internal
|
|
169
|
+
*/
|
|
170
|
+
_verifyQuoteDefinitelyExpired(): Promise<boolean>;
|
|
171
|
+
/**
|
|
172
|
+
* @inheritDoc
|
|
173
|
+
* @internal
|
|
174
|
+
*/
|
|
175
|
+
_verifyQuoteValid(): Promise<boolean>;
|
|
176
|
+
/**
|
|
177
|
+
* Returns an output amount in base units without a swap fee included, hence this value
|
|
178
|
+
* is larger than the actual output amount
|
|
179
|
+
*
|
|
180
|
+
* @internal
|
|
181
|
+
*/
|
|
81
182
|
protected getOutAmountWithoutFee(): bigint;
|
|
183
|
+
/**
|
|
184
|
+
* @inheritDoc
|
|
185
|
+
*/
|
|
82
186
|
getOutputToken(): SCToken<T["ChainId"]>;
|
|
187
|
+
/**
|
|
188
|
+
* @inheritDoc
|
|
189
|
+
*/
|
|
83
190
|
getOutput(): TokenAmount<T["ChainId"], SCToken<T["ChainId"]>, true>;
|
|
191
|
+
/**
|
|
192
|
+
* @inheritDoc
|
|
193
|
+
*/
|
|
84
194
|
getInputToken(): BtcToken<false>;
|
|
195
|
+
/**
|
|
196
|
+
* @inheritDoc
|
|
197
|
+
*/
|
|
85
198
|
getInput(): TokenAmount<T["ChainId"], BtcToken<false>, true>;
|
|
199
|
+
/**
|
|
200
|
+
* @inheritDoc
|
|
201
|
+
*/
|
|
86
202
|
getInputWithoutFee(): TokenAmount<T["ChainId"], BtcToken<false>, true>;
|
|
203
|
+
/**
|
|
204
|
+
* Returns the swap fee charged by the intermediary (LP) on this swap
|
|
205
|
+
*
|
|
206
|
+
* @internal
|
|
207
|
+
*/
|
|
87
208
|
protected getSwapFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
209
|
+
/**
|
|
210
|
+
* @inheritDoc
|
|
211
|
+
*/
|
|
88
212
|
getFee(): Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
213
|
+
/**
|
|
214
|
+
* @inheritDoc
|
|
215
|
+
*/
|
|
89
216
|
getFeeBreakdown(): [{
|
|
90
217
|
type: FeeType.SWAP;
|
|
91
218
|
fee: Fee<T["ChainId"], BtcToken<false>, SCToken<T["ChainId"]>>;
|
|
92
219
|
}];
|
|
220
|
+
/**
|
|
221
|
+
* @inheritDoc
|
|
222
|
+
*/
|
|
93
223
|
getRequiredConfirmationsCount(): number;
|
|
94
224
|
/**
|
|
95
|
-
*
|
|
96
|
-
* also returns inputs indices that need to be signed by the wallet before submitting the PSBT back to the SDK with
|
|
97
|
-
* `swap.submitPsbt()`
|
|
98
|
-
*
|
|
99
|
-
* @param _bitcoinWallet Sender's bitcoin wallet
|
|
100
|
-
* @param feeRate Optional fee rate for the transaction, needs to be at least as big as {minimumBtcFeeRate} field
|
|
101
|
-
* @param additionalOutputs additional outputs to add to the PSBT - can be used to collect fees from users
|
|
225
|
+
* @inheritDoc
|
|
102
226
|
*/
|
|
103
227
|
getFundedPsbt(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number, additionalOutputs?: ({
|
|
104
228
|
amount: bigint;
|
|
@@ -113,52 +237,81 @@ export declare class OnchainForGasSwap<T extends ChainType = ChainType> extends
|
|
|
113
237
|
signInputs: number[];
|
|
114
238
|
}>;
|
|
115
239
|
/**
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* @param _psbt A psbt - either a Transaction object or a hex or base64 encoded PSBT string
|
|
240
|
+
* @inheritDoc
|
|
119
241
|
*/
|
|
120
242
|
submitPsbt(_psbt: Transaction | string): Promise<string>;
|
|
243
|
+
/**
|
|
244
|
+
* @inheritDoc
|
|
245
|
+
*/
|
|
121
246
|
estimateBitcoinFee(_bitcoinWallet: IBitcoinWallet | MinimalBitcoinWalletInterface, feeRate?: number): Promise<TokenAmount<any, BtcToken<false>, true> | null>;
|
|
247
|
+
/**
|
|
248
|
+
* @inheritDoc
|
|
249
|
+
*/
|
|
122
250
|
sendBitcoinTransaction(wallet: IBitcoinWallet | MinimalBitcoinWalletInterfaceWithSigner, feeRate?: number): Promise<string>;
|
|
251
|
+
/**
|
|
252
|
+
* @inheritDoc
|
|
253
|
+
*
|
|
254
|
+
* @param options.bitcoinWallet Optional bitcoin wallet address specification to return a funded PSBT,
|
|
255
|
+
* if not provided an address is returned instead.
|
|
256
|
+
*/
|
|
123
257
|
txsExecute(options?: {
|
|
124
258
|
bitcoinWallet?: MinimalBitcoinWalletInterface;
|
|
125
|
-
}): Promise<
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
psbt: Transaction;
|
|
137
|
-
psbtHex: string;
|
|
138
|
-
psbtBase64: string;
|
|
139
|
-
signInputs: number[];
|
|
140
|
-
address?: undefined;
|
|
141
|
-
amount?: undefined;
|
|
142
|
-
hyperlink?: undefined;
|
|
143
|
-
})[];
|
|
144
|
-
}[]>;
|
|
259
|
+
}): Promise<[
|
|
260
|
+
SwapExecutionActionBitcoin<"ADDRESS" | "FUNDED_PSBT">
|
|
261
|
+
]>;
|
|
262
|
+
/**
|
|
263
|
+
* Queries the intermediary (LP) node for the state of the swap
|
|
264
|
+
*
|
|
265
|
+
* @param save Whether the save the result or not
|
|
266
|
+
*
|
|
267
|
+
* @returns Whether the swap was successful as `boolean` or `null` if the swap is still pending
|
|
268
|
+
* @internal
|
|
269
|
+
*/
|
|
145
270
|
protected checkAddress(save?: boolean): Promise<boolean | null>;
|
|
271
|
+
/**
|
|
272
|
+
* Sets the bitcoin address used for possible refunds in case something goes wrong with the swap
|
|
273
|
+
*
|
|
274
|
+
* @param refundAddress Bitcoin address to receive the refund to
|
|
275
|
+
* @internal
|
|
276
|
+
*/
|
|
146
277
|
protected setRefundAddress(refundAddress: string): Promise<void>;
|
|
147
278
|
/**
|
|
148
|
-
*
|
|
149
|
-
|
|
279
|
+
* @inheritDoc
|
|
280
|
+
*/
|
|
281
|
+
waitForBitcoinTransaction(updateCallback?: (txId?: string, confirmations?: number, targetConfirmations?: number, txEtaMs?: number) => void, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<string>;
|
|
282
|
+
/**
|
|
283
|
+
* Waits till the LP processes a refund for a failed swap. The swap must be in
|
|
284
|
+
* {@link OnchainForGasSwapState.REFUNDABLE} state
|
|
150
285
|
*
|
|
286
|
+
* @param checkIntervalSeconds How often to check (default 5 seconds)
|
|
151
287
|
* @param abortSignal Abort signal
|
|
152
|
-
* @param checkIntervalSeconds How often to poll the intermediary for answer
|
|
153
|
-
* @param updateCallback Callback called when txId is found, and also called with subsequent confirmations
|
|
154
|
-
* @throws {PaymentAuthError} If swap expired or failed
|
|
155
|
-
* @throws {Error} When in invalid state (not PR_CREATED)
|
|
156
288
|
*/
|
|
157
|
-
waitForBitcoinTransaction(updateCallback?: (txId?: string, confirmations?: number, targetConfirmations?: number, txEtaMs?: number) => void, checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<string>;
|
|
158
289
|
waitTillRefunded(checkIntervalSeconds?: number, abortSignal?: AbortSignal): Promise<void>;
|
|
290
|
+
/**
|
|
291
|
+
* Requests a refund after the swap failed, this also waits till the refund is actually sent by the
|
|
292
|
+
* intermediary (LP). The swap must be in {@link OnchainForGasSwapState.REFUNDABLE} state
|
|
293
|
+
*
|
|
294
|
+
* @param refundAddress Bitcoin address to receive the refund to
|
|
295
|
+
* @param abortSignal Abort signal
|
|
296
|
+
*/
|
|
159
297
|
requestRefund(refundAddress?: string, abortSignal?: AbortSignal): Promise<void>;
|
|
298
|
+
/**
|
|
299
|
+
* @inheritDoc
|
|
300
|
+
*/
|
|
160
301
|
serialize(): any;
|
|
302
|
+
/**
|
|
303
|
+
* @inheritDoc
|
|
304
|
+
* @internal
|
|
305
|
+
*/
|
|
161
306
|
_getInitiator(): string;
|
|
307
|
+
/**
|
|
308
|
+
* @inheritDoc
|
|
309
|
+
* @internal
|
|
310
|
+
*/
|
|
162
311
|
_sync(save?: boolean): Promise<boolean>;
|
|
312
|
+
/**
|
|
313
|
+
* @inheritDoc
|
|
314
|
+
* @internal
|
|
315
|
+
*/
|
|
163
316
|
_tick(save?: boolean): Promise<boolean>;
|
|
164
317
|
}
|