@atomiqlabs/sdk 8.6.6 → 8.6.8
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 +52 -51
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
- package/dist/bitcoin/coinselect2/blackjack.js +38 -37
- package/dist/bitcoin/coinselect2/index.d.ts +19 -17
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +77 -75
- package/dist/bitcoin/coinselect2/utils.js +123 -123
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +130 -128
- package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
- package/dist/bitcoin/wallet/IBitcoinWallet.js +21 -20
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +101 -99
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +190 -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 +91 -90
- package/dist/http/paramcoders/IParamReader.d.ts +8 -8
- package/dist/http/paramcoders/IParamReader.js +2 -2
- package/dist/http/paramcoders/ParamDecoder.d.ts +44 -42
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +20 -18
- 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 +13 -11
- 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 +174 -173
- 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 +199 -198
- package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +439 -437
- package/dist/intermediaries/apis/IntermediaryAPI.js +603 -603
- 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 +687 -686
- 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 +14 -13
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +18 -17
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +15 -14
- 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 +14 -13
- package/dist/swaps/ISwap.d.ts +387 -386
- package/dist/swaps/ISwap.js +346 -346
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +12 -11
- package/dist/swaps/ISwapWrapper.d.ts +285 -283
- 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 +135 -133
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +115 -114
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +101 -98
- 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 +531 -529
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +184 -181
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -418
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +583 -581
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +228 -225
- 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 +191 -190
- 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 +127 -125
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +242 -241
- 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 +128 -127
- 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 +214 -213
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -756
- 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 +69 -68
- 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 +57 -56
- 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 +43 -42
- 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 +60 -59
- 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 +18 -17
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +31 -30
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +27 -26
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +15 -14
- 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 +70 -69
- package/dist/utils/BitcoinUtils.d.ts +14 -12
- package/dist/utils/BitcoinUtils.js +102 -101
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +14 -13
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +12 -11
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +67 -66
- 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 +55 -54
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +37 -36
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +58 -56
- package/dist/utils/Utils.js +194 -193
- package/package.json +1 -1
- package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +14 -2
|
@@ -1,133 +1,135 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* @
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
* @
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
* @
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* @param
|
|
116
|
-
* not provided
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* @
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { ISwap, ISwapInit } from "../ISwap";
|
|
4
|
+
import { ChainType, SwapCommitState, SwapData, SwapExpiredState, SwapNotCommitedState, SwapPaidState } from "@atomiqlabs/base";
|
|
5
|
+
import { IEscrowSwapDefinition, IEscrowSwapWrapper } from "./IEscrowSwapWrapper";
|
|
6
|
+
import { Buffer } from "buffer";
|
|
7
|
+
export type IEscrowSwapInit<T extends SwapData> = ISwapInit & {
|
|
8
|
+
data?: T;
|
|
9
|
+
};
|
|
10
|
+
export declare function isIEscrowSwapInit<T extends SwapData>(obj: any): obj is IEscrowSwapInit<T>;
|
|
11
|
+
/**
|
|
12
|
+
* Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives)
|
|
13
|
+
*
|
|
14
|
+
* @category Swaps/Abstract
|
|
15
|
+
*/
|
|
16
|
+
export declare abstract class IEscrowSwap<T extends ChainType = ChainType, D extends IEscrowSwapDefinition<T, IEscrowSwapWrapper<T, D>, IEscrowSwap<T, D, S>> = IEscrowSwapDefinition<T, IEscrowSwapWrapper<T, any>, IEscrowSwap<T, any, any>>, S extends number = number> extends ISwap<T, D, S> {
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
_data?: T["Data"];
|
|
21
|
+
/**
|
|
22
|
+
* Transaction IDs for the swap on the smart chain side
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
_commitTxId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
_refundTxId?: string;
|
|
30
|
+
/**
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
_claimTxId?: string;
|
|
34
|
+
protected constructor(wrapper: D["Wrapper"], obj: any);
|
|
35
|
+
protected constructor(wrapper: D["Wrapper"], swapInit: IEscrowSwapInit<T["Data"]>);
|
|
36
|
+
/**
|
|
37
|
+
* Returns the swap escrow data for this swap
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
protected abstract getSwapData(): T["Data"];
|
|
42
|
+
/**
|
|
43
|
+
* Returns the identification hash of the swap, usually claim data hash, but can be overriden, e.g. for
|
|
44
|
+
* lightning swaps the identifier hash is used instead of claim data hash
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
protected getIdentifierHash(): Buffer;
|
|
49
|
+
/**
|
|
50
|
+
* Returns the identification hash of the swap, usually claim data hash, but can be overriden, e.g. for
|
|
51
|
+
* lightning swaps the identifier hash is used instead of claim data hash
|
|
52
|
+
*
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
protected getIdentifierHashString(): string;
|
|
56
|
+
/**
|
|
57
|
+
* @inheritDoc
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
_getEscrowHash(): string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Returns the escrow hash - i.e. hash of the escrow data
|
|
63
|
+
*/
|
|
64
|
+
getEscrowHash(): string | null;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the claim data hash specifying the claim path of the escrow - i.e. hash passed to the claim handler
|
|
67
|
+
*/
|
|
68
|
+
getClaimHash(): string;
|
|
69
|
+
/**
|
|
70
|
+
* @inheritDoc
|
|
71
|
+
*/
|
|
72
|
+
getId(): string;
|
|
73
|
+
/**
|
|
74
|
+
* Returns the smart chain transaction ID of the tx that initiated the escrow
|
|
75
|
+
*/
|
|
76
|
+
getEscrowInitTxId(): string | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Returns the smart chain transaction ID of the tx that claimed (settled) the escrow
|
|
79
|
+
*/
|
|
80
|
+
getEscrowClaimTxId(): string | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Returns the smart chain transaction ID of the tx that refunded the escrow
|
|
83
|
+
*/
|
|
84
|
+
getEscrowRefundTxId(): string | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Periodically checks the chain to see whether the swap is committed
|
|
87
|
+
*
|
|
88
|
+
* @param intervalSeconds How often to check (in seconds), default to 5s
|
|
89
|
+
* @param abortSignal
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
protected watchdogWaitTillCommited(intervalSeconds?: number, abortSignal?: AbortSignal): Promise<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* Periodically checks the chain to see whether the swap was finished (claimed or refunded)
|
|
95
|
+
*
|
|
96
|
+
* @param intervalSeconds How often to check (in seconds), default to 5s
|
|
97
|
+
* @param abortSignal
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
protected watchdogWaitTillResult(intervalSeconds?: number, abortSignal?: AbortSignal): Promise<SwapPaidState | SwapExpiredState | SwapNotCommitedState>;
|
|
101
|
+
/**
|
|
102
|
+
* Whether on-chain state should be fetched for this swap
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
abstract _shouldFetchOnchainState(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Whether expiration status of the swap quote should be checked for this swap
|
|
108
|
+
* @internal
|
|
109
|
+
*/
|
|
110
|
+
abstract _shouldFetchExpiryStatus(): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* @inheritDoc
|
|
113
|
+
*
|
|
114
|
+
* @param save Whether to save the new swap state or not
|
|
115
|
+
* @param quoteDefinitelyExpired Optionally pass whether the quote is definitely expired from a batch pre-fetch,
|
|
116
|
+
* fetched on-demand if not provided
|
|
117
|
+
* @param commitStatus Optionally pass the quote on-chain state from a batch pre-fetch, fetched on-demand if
|
|
118
|
+
* not provided
|
|
119
|
+
*
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
abstract _sync(save?: boolean, quoteDefinitelyExpired?: boolean, commitStatus?: SwapCommitState): Promise<boolean>;
|
|
123
|
+
/**
|
|
124
|
+
* Forcibly overrides current swap state from fetched on-chain swap state
|
|
125
|
+
*
|
|
126
|
+
* @param commitStatus Swap state fetched from the smart chain
|
|
127
|
+
*
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
130
|
+
abstract _forciblySetOnchainState(commitStatus: SwapCommitState): Promise<boolean>;
|
|
131
|
+
/**
|
|
132
|
+
* @inheritDoc
|
|
133
|
+
*/
|
|
134
|
+
serialize(): any;
|
|
135
|
+
}
|
|
@@ -1,169 +1,169 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IEscrowSwap = void 0;
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives)
|
|
16
|
-
*
|
|
17
|
-
* @category Swaps/Abstract
|
|
18
|
-
*/
|
|
19
|
-
class IEscrowSwap extends ISwap_1.ISwap {
|
|
20
|
-
constructor(wrapper, swapInitOrObj) {
|
|
21
|
-
super(wrapper, swapInitOrObj);
|
|
22
|
-
if (isIEscrowSwapInit(swapInitOrObj)) {
|
|
23
|
-
this._data = swapInitOrObj.data;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
if (swapInitOrObj.data != null)
|
|
27
|
-
this._data = new wrapper._swapDataDeserializer(swapInitOrObj.data);
|
|
28
|
-
this._commitTxId = swapInitOrObj.commitTxId;
|
|
29
|
-
this._claimTxId = swapInitOrObj.claimTxId;
|
|
30
|
-
this._refundTxId = swapInitOrObj.refundTxId;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//////////////////////////////
|
|
34
|
-
//// Identifiers
|
|
35
|
-
/**
|
|
36
|
-
* Returns the identification hash of the swap, usually claim data hash, but can be overriden, e.g. for
|
|
37
|
-
* lightning swaps the identifier hash is used instead of claim data hash
|
|
38
|
-
*
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
getIdentifierHash() {
|
|
42
|
-
const claimHashBuffer = buffer_1.Buffer.from(this.getClaimHash(), "hex");
|
|
43
|
-
if (this._randomNonce == null)
|
|
44
|
-
return claimHashBuffer;
|
|
45
|
-
return buffer_1.Buffer.concat([claimHashBuffer, buffer_1.Buffer.from(this._randomNonce, "hex")]);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Returns the identification hash of the swap, usually claim data hash, but can be overriden, e.g. for
|
|
49
|
-
* lightning swaps the identifier hash is used instead of claim data hash
|
|
50
|
-
*
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
getIdentifierHashString() {
|
|
54
|
-
const identifierHash = this.getIdentifierHash();
|
|
55
|
-
return identifierHash.toString("hex");
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @inheritDoc
|
|
59
|
-
* @internal
|
|
60
|
-
*/
|
|
61
|
-
_getEscrowHash() {
|
|
62
|
-
return this._data?.getEscrowHash() ?? null;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Returns the escrow hash - i.e. hash of the escrow data
|
|
66
|
-
*/
|
|
67
|
-
getEscrowHash() {
|
|
68
|
-
return this._getEscrowHash();
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Returns the claim data hash specifying the claim path of the escrow - i.e. hash passed to the claim handler
|
|
72
|
-
*/
|
|
73
|
-
getClaimHash() {
|
|
74
|
-
return this.getSwapData().getClaimHash();
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* @inheritDoc
|
|
78
|
-
*/
|
|
79
|
-
getId() {
|
|
80
|
-
return this.getIdentifierHashString();
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Returns the smart chain transaction ID of the tx that initiated the escrow
|
|
84
|
-
*/
|
|
85
|
-
getEscrowInitTxId() {
|
|
86
|
-
return this._commitTxId;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Returns the smart chain transaction ID of the tx that claimed (settled) the escrow
|
|
90
|
-
*/
|
|
91
|
-
getEscrowClaimTxId() {
|
|
92
|
-
return this._claimTxId;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Returns the smart chain transaction ID of the tx that refunded the escrow
|
|
96
|
-
*/
|
|
97
|
-
getEscrowRefundTxId() {
|
|
98
|
-
return this._refundTxId;
|
|
99
|
-
}
|
|
100
|
-
//////////////////////////////
|
|
101
|
-
//// Watchdogs
|
|
102
|
-
/**
|
|
103
|
-
* Periodically checks the chain to see whether the swap is committed
|
|
104
|
-
*
|
|
105
|
-
* @param intervalSeconds How often to check (in seconds), default to 5s
|
|
106
|
-
* @param abortSignal
|
|
107
|
-
* @internal
|
|
108
|
-
*/
|
|
109
|
-
async watchdogWaitTillCommited(intervalSeconds, abortSignal) {
|
|
110
|
-
if (this._data == null)
|
|
111
|
-
throw new Error("Tried to await commitment but data is null, invalid state?");
|
|
112
|
-
intervalSeconds ??= 5;
|
|
113
|
-
let status = { type: base_1.SwapCommitStateType.NOT_COMMITED };
|
|
114
|
-
while (status?.type === base_1.SwapCommitStateType.NOT_COMMITED) {
|
|
115
|
-
await (0, TimeoutUtils_1.timeoutPromise)(intervalSeconds * 1000, abortSignal);
|
|
116
|
-
try {
|
|
117
|
-
status = await this.wrapper._contract.getCommitStatus(this._getInitiator(), this._data);
|
|
118
|
-
if (status?.type === base_1.SwapCommitStateType.NOT_COMMITED &&
|
|
119
|
-
await this._verifyQuoteDefinitelyExpired())
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
catch (e) {
|
|
123
|
-
this.logger.error("watchdogWaitTillCommited(): Error when fetching commit status or signature expiry: ", e);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
if (abortSignal != null)
|
|
127
|
-
abortSignal.throwIfAborted();
|
|
128
|
-
return status?.type !== base_1.SwapCommitStateType.EXPIRED;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Periodically checks the chain to see whether the swap was finished (claimed or refunded)
|
|
132
|
-
*
|
|
133
|
-
* @param intervalSeconds How often to check (in seconds), default to 5s
|
|
134
|
-
* @param abortSignal
|
|
135
|
-
* @internal
|
|
136
|
-
*/
|
|
137
|
-
async watchdogWaitTillResult(intervalSeconds, abortSignal) {
|
|
138
|
-
if (this._data == null)
|
|
139
|
-
throw new Error("Tried to await result but data is null, invalid state?");
|
|
140
|
-
intervalSeconds ??= 5;
|
|
141
|
-
let status = { type: base_1.SwapCommitStateType.COMMITED };
|
|
142
|
-
while (status?.type === base_1.SwapCommitStateType.COMMITED || status?.type === base_1.SwapCommitStateType.REFUNDABLE) {
|
|
143
|
-
await (0, TimeoutUtils_1.timeoutPromise)(intervalSeconds * 1000, abortSignal);
|
|
144
|
-
try {
|
|
145
|
-
status = await this.wrapper._contract.getCommitStatus(this._getInitiator(), this._data);
|
|
146
|
-
}
|
|
147
|
-
catch (e) {
|
|
148
|
-
this.logger.error("watchdogWaitTillResult(): Error when fetching commit status: ", e);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (abortSignal != null)
|
|
152
|
-
abortSignal.throwIfAborted();
|
|
153
|
-
return status;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* @inheritDoc
|
|
157
|
-
*/
|
|
158
|
-
serialize() {
|
|
159
|
-
return {
|
|
160
|
-
...super.serialize(),
|
|
161
|
-
data: this._data != null ? this._data.serialize() : null,
|
|
162
|
-
commitTxId: this._commitTxId,
|
|
163
|
-
claimTxId: this._claimTxId,
|
|
164
|
-
refundTxId: this._refundTxId
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
;
|
|
168
|
-
}
|
|
169
|
-
exports.IEscrowSwap = IEscrowSwap;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IEscrowSwap = exports.isIEscrowSwapInit = void 0;
|
|
4
|
+
const ISwap_1 = require("../ISwap");
|
|
5
|
+
const base_1 = require("@atomiqlabs/base");
|
|
6
|
+
const buffer_1 = require("buffer");
|
|
7
|
+
const TimeoutUtils_1 = require("../../utils/TimeoutUtils");
|
|
8
|
+
function isIEscrowSwapInit(obj) {
|
|
9
|
+
return typeof obj === 'object' &&
|
|
10
|
+
(obj.data == null || typeof obj.data === 'object') &&
|
|
11
|
+
(0, ISwap_1.isISwapInit)(obj);
|
|
12
|
+
}
|
|
13
|
+
exports.isIEscrowSwapInit = isIEscrowSwapInit;
|
|
14
|
+
/**
|
|
15
|
+
* Base class for escrow-based swaps (i.e. swaps utilizing PrTLC and HTLC primitives)
|
|
16
|
+
*
|
|
17
|
+
* @category Swaps/Abstract
|
|
18
|
+
*/
|
|
19
|
+
class IEscrowSwap extends ISwap_1.ISwap {
|
|
20
|
+
constructor(wrapper, swapInitOrObj) {
|
|
21
|
+
super(wrapper, swapInitOrObj);
|
|
22
|
+
if (isIEscrowSwapInit(swapInitOrObj)) {
|
|
23
|
+
this._data = swapInitOrObj.data;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
if (swapInitOrObj.data != null)
|
|
27
|
+
this._data = new wrapper._swapDataDeserializer(swapInitOrObj.data);
|
|
28
|
+
this._commitTxId = swapInitOrObj.commitTxId;
|
|
29
|
+
this._claimTxId = swapInitOrObj.claimTxId;
|
|
30
|
+
this._refundTxId = swapInitOrObj.refundTxId;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//////////////////////////////
|
|
34
|
+
//// Identifiers
|
|
35
|
+
/**
|
|
36
|
+
* Returns the identification hash of the swap, usually claim data hash, but can be overriden, e.g. for
|
|
37
|
+
* lightning swaps the identifier hash is used instead of claim data hash
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
getIdentifierHash() {
|
|
42
|
+
const claimHashBuffer = buffer_1.Buffer.from(this.getClaimHash(), "hex");
|
|
43
|
+
if (this._randomNonce == null)
|
|
44
|
+
return claimHashBuffer;
|
|
45
|
+
return buffer_1.Buffer.concat([claimHashBuffer, buffer_1.Buffer.from(this._randomNonce, "hex")]);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns the identification hash of the swap, usually claim data hash, but can be overriden, e.g. for
|
|
49
|
+
* lightning swaps the identifier hash is used instead of claim data hash
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
getIdentifierHashString() {
|
|
54
|
+
const identifierHash = this.getIdentifierHash();
|
|
55
|
+
return identifierHash.toString("hex");
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @inheritDoc
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
_getEscrowHash() {
|
|
62
|
+
return this._data?.getEscrowHash() ?? null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Returns the escrow hash - i.e. hash of the escrow data
|
|
66
|
+
*/
|
|
67
|
+
getEscrowHash() {
|
|
68
|
+
return this._getEscrowHash();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Returns the claim data hash specifying the claim path of the escrow - i.e. hash passed to the claim handler
|
|
72
|
+
*/
|
|
73
|
+
getClaimHash() {
|
|
74
|
+
return this.getSwapData().getClaimHash();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @inheritDoc
|
|
78
|
+
*/
|
|
79
|
+
getId() {
|
|
80
|
+
return this.getIdentifierHashString();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Returns the smart chain transaction ID of the tx that initiated the escrow
|
|
84
|
+
*/
|
|
85
|
+
getEscrowInitTxId() {
|
|
86
|
+
return this._commitTxId;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Returns the smart chain transaction ID of the tx that claimed (settled) the escrow
|
|
90
|
+
*/
|
|
91
|
+
getEscrowClaimTxId() {
|
|
92
|
+
return this._claimTxId;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Returns the smart chain transaction ID of the tx that refunded the escrow
|
|
96
|
+
*/
|
|
97
|
+
getEscrowRefundTxId() {
|
|
98
|
+
return this._refundTxId;
|
|
99
|
+
}
|
|
100
|
+
//////////////////////////////
|
|
101
|
+
//// Watchdogs
|
|
102
|
+
/**
|
|
103
|
+
* Periodically checks the chain to see whether the swap is committed
|
|
104
|
+
*
|
|
105
|
+
* @param intervalSeconds How often to check (in seconds), default to 5s
|
|
106
|
+
* @param abortSignal
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
async watchdogWaitTillCommited(intervalSeconds, abortSignal) {
|
|
110
|
+
if (this._data == null)
|
|
111
|
+
throw new Error("Tried to await commitment but data is null, invalid state?");
|
|
112
|
+
intervalSeconds ??= 5;
|
|
113
|
+
let status = { type: base_1.SwapCommitStateType.NOT_COMMITED };
|
|
114
|
+
while (status?.type === base_1.SwapCommitStateType.NOT_COMMITED) {
|
|
115
|
+
await (0, TimeoutUtils_1.timeoutPromise)(intervalSeconds * 1000, abortSignal);
|
|
116
|
+
try {
|
|
117
|
+
status = await this.wrapper._contract.getCommitStatus(this._getInitiator(), this._data);
|
|
118
|
+
if (status?.type === base_1.SwapCommitStateType.NOT_COMMITED &&
|
|
119
|
+
await this._verifyQuoteDefinitelyExpired())
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
this.logger.error("watchdogWaitTillCommited(): Error when fetching commit status or signature expiry: ", e);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (abortSignal != null)
|
|
127
|
+
abortSignal.throwIfAborted();
|
|
128
|
+
return status?.type !== base_1.SwapCommitStateType.EXPIRED;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Periodically checks the chain to see whether the swap was finished (claimed or refunded)
|
|
132
|
+
*
|
|
133
|
+
* @param intervalSeconds How often to check (in seconds), default to 5s
|
|
134
|
+
* @param abortSignal
|
|
135
|
+
* @internal
|
|
136
|
+
*/
|
|
137
|
+
async watchdogWaitTillResult(intervalSeconds, abortSignal) {
|
|
138
|
+
if (this._data == null)
|
|
139
|
+
throw new Error("Tried to await result but data is null, invalid state?");
|
|
140
|
+
intervalSeconds ??= 5;
|
|
141
|
+
let status = { type: base_1.SwapCommitStateType.COMMITED };
|
|
142
|
+
while (status?.type === base_1.SwapCommitStateType.COMMITED || status?.type === base_1.SwapCommitStateType.REFUNDABLE) {
|
|
143
|
+
await (0, TimeoutUtils_1.timeoutPromise)(intervalSeconds * 1000, abortSignal);
|
|
144
|
+
try {
|
|
145
|
+
status = await this.wrapper._contract.getCommitStatus(this._getInitiator(), this._data);
|
|
146
|
+
}
|
|
147
|
+
catch (e) {
|
|
148
|
+
this.logger.error("watchdogWaitTillResult(): Error when fetching commit status: ", e);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (abortSignal != null)
|
|
152
|
+
abortSignal.throwIfAborted();
|
|
153
|
+
return status;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @inheritDoc
|
|
157
|
+
*/
|
|
158
|
+
serialize() {
|
|
159
|
+
return {
|
|
160
|
+
...super.serialize(),
|
|
161
|
+
data: this._data != null ? this._data.serialize() : null,
|
|
162
|
+
commitTxId: this._commitTxId,
|
|
163
|
+
claimTxId: this._claimTxId,
|
|
164
|
+
refundTxId: this._refundTxId
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
;
|
|
168
|
+
}
|
|
169
|
+
exports.IEscrowSwap = IEscrowSwap;
|