@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,199 +1,198 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* @param
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
* @param
|
|
130
|
-
* @
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* @param
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* @param
|
|
170
|
-
* @param
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* @param
|
|
179
|
-
* @param
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* @param
|
|
187
|
-
* @param
|
|
188
|
-
* @param
|
|
189
|
-
* @param
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
1
|
+
import { Intermediary } from "./Intermediary";
|
|
2
|
+
import { SwapType } from "../enums/SwapType";
|
|
3
|
+
import { SwapContract } from "@atomiqlabs/base";
|
|
4
|
+
import { EventEmitter } from "events";
|
|
5
|
+
/**
|
|
6
|
+
* Swap handler type mapping for intermediary communication
|
|
7
|
+
*
|
|
8
|
+
* @category LPs
|
|
9
|
+
*/
|
|
10
|
+
export declare enum SwapHandlerType {
|
|
11
|
+
TO_BTC = "TO_BTC",
|
|
12
|
+
FROM_BTC = "FROM_BTC",
|
|
13
|
+
TO_BTCLN = "TO_BTCLN",
|
|
14
|
+
FROM_BTCLN = "FROM_BTCLN",
|
|
15
|
+
FROM_BTC_TRUSTED = "FROM_BTC_TRUSTED",
|
|
16
|
+
FROM_BTCLN_TRUSTED = "FROM_BTCLN_TRUSTED",
|
|
17
|
+
FROM_BTC_SPV = "FROM_BTC_SPV",
|
|
18
|
+
FROM_BTCLN_AUTO = "FROM_BTCLN_AUTO"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Swap handler information type
|
|
22
|
+
*
|
|
23
|
+
* @category LPs
|
|
24
|
+
*/
|
|
25
|
+
export type SwapHandlerInfoType = {
|
|
26
|
+
swapFeePPM: number;
|
|
27
|
+
swapBaseFee: number;
|
|
28
|
+
min: number;
|
|
29
|
+
max: number;
|
|
30
|
+
tokens: string[];
|
|
31
|
+
chainTokens?: {
|
|
32
|
+
[chainId: string]: string[];
|
|
33
|
+
};
|
|
34
|
+
data?: any;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Token bounds (min/max) for swaps
|
|
38
|
+
*
|
|
39
|
+
* @category LPs
|
|
40
|
+
*/
|
|
41
|
+
export type TokenBounds = {
|
|
42
|
+
[token: string]: {
|
|
43
|
+
min: bigint;
|
|
44
|
+
max: bigint;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Multi-chain token bounds (min/max) for swaps
|
|
49
|
+
*
|
|
50
|
+
* @category LPs
|
|
51
|
+
*/
|
|
52
|
+
export type MultichainTokenBounds = {
|
|
53
|
+
[chainId: string]: TokenBounds;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Swap bounds by swap protocol type
|
|
57
|
+
*
|
|
58
|
+
* @category LPs
|
|
59
|
+
*/
|
|
60
|
+
export type SwapBounds = {
|
|
61
|
+
[key in SwapType]?: TokenBounds;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Multi-chain swap bounds
|
|
65
|
+
*
|
|
66
|
+
* @category LPs
|
|
67
|
+
*/
|
|
68
|
+
export type MultichainSwapBounds = {
|
|
69
|
+
[key in SwapType]?: MultichainTokenBounds;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Discovery service for available intermediaries (liquidity providers)
|
|
73
|
+
*
|
|
74
|
+
* @category LPs
|
|
75
|
+
*/
|
|
76
|
+
export declare class IntermediaryDiscovery extends EventEmitter {
|
|
77
|
+
/**
|
|
78
|
+
* A current list of active intermediaries
|
|
79
|
+
*/
|
|
80
|
+
intermediaries: Intermediary[];
|
|
81
|
+
/**
|
|
82
|
+
* Swap contracts for checking intermediary signatures
|
|
83
|
+
*/
|
|
84
|
+
swapContracts: {
|
|
85
|
+
[key: string]: SwapContract;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Registry URL used as a source for the list of intermediaries, this should be a link to a
|
|
89
|
+
* github-hosted JSON file
|
|
90
|
+
*/
|
|
91
|
+
registryUrl: string;
|
|
92
|
+
/**
|
|
93
|
+
* Timeout for the HTTP handshake (/info) requests sent to the intermediaries
|
|
94
|
+
*/
|
|
95
|
+
httpRequestTimeout?: number;
|
|
96
|
+
/**
|
|
97
|
+
* Maximum time (in millis) to wait for other intermediary's responses after the first one was founds
|
|
98
|
+
*/
|
|
99
|
+
maxWaitForOthersTimeout?: number;
|
|
100
|
+
/**
|
|
101
|
+
* The intermediary URLs passed in the constructor, to be used instead of querying the registry
|
|
102
|
+
*
|
|
103
|
+
* @private
|
|
104
|
+
*/
|
|
105
|
+
private overrideNodeUrls?;
|
|
106
|
+
constructor(swapContracts: {
|
|
107
|
+
[key: string]: SwapContract;
|
|
108
|
+
}, registryUrl?: string, nodeUrls?: string[], httpRequestTimeout?: number, maxWaitForOthersTimeout?: number);
|
|
109
|
+
/**
|
|
110
|
+
* Fetches the URLs of swap intermediaries from registry or from a pre-defined array of node urls
|
|
111
|
+
*
|
|
112
|
+
* @param abortSignal
|
|
113
|
+
*/
|
|
114
|
+
private getIntermediaryUrls;
|
|
115
|
+
/**
|
|
116
|
+
* Returns data as reported by a specific node (as identified by its URL). This function is specifically made
|
|
117
|
+
* in a way, that in case the abortSignal fires AFTER the LP response was received (and during signature checking),
|
|
118
|
+
* it proceeds with the addresses it was able to verify already. Hence after calling abort, this function is guaranteed
|
|
119
|
+
* to either reject or resolve instantly.
|
|
120
|
+
*
|
|
121
|
+
* @param url
|
|
122
|
+
* @param abortSignal
|
|
123
|
+
*/
|
|
124
|
+
private getNodeInfo;
|
|
125
|
+
/**
|
|
126
|
+
* Inherits abort signal logic from `getNodeInfo()`, check those function docs to better understand
|
|
127
|
+
*
|
|
128
|
+
* @param url
|
|
129
|
+
* @param abortSignal
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
private loadIntermediary;
|
|
133
|
+
/**
|
|
134
|
+
* Returns the intermediary at the provided URL, either from the already fetched list of LPs
|
|
135
|
+
* or fetches the data on-demand, by sending the handshake HTTP request (/info) to the LP.
|
|
136
|
+
*
|
|
137
|
+
* Doesn't save the fetched intermediary to the list of intermediaries if it isn't already
|
|
138
|
+
* part of the known intermediaries
|
|
139
|
+
*
|
|
140
|
+
* @param url Base URL of the intermediary, which accepts HTTP requests
|
|
141
|
+
* @param abortSignal
|
|
142
|
+
*/
|
|
143
|
+
getIntermediary(url: string, abortSignal?: AbortSignal): Promise<Intermediary | null>;
|
|
144
|
+
/**
|
|
145
|
+
* Reloads the saves a list of intermediaries
|
|
146
|
+
*
|
|
147
|
+
* @param abortSignal
|
|
148
|
+
*/
|
|
149
|
+
reloadIntermediaries(abortSignal?: AbortSignal): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Initializes the discovery by fetching/reloading intermediaries
|
|
152
|
+
*
|
|
153
|
+
* @param abortSignal
|
|
154
|
+
*/
|
|
155
|
+
init(abortSignal?: AbortSignal): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Returns known swap bounds (in satoshis - BTC) by aggregating values from all known intermediaries
|
|
158
|
+
*/
|
|
159
|
+
getMultichainSwapBounds(): MultichainSwapBounds;
|
|
160
|
+
/**
|
|
161
|
+
* Returns aggregate swap bounds (in satoshis - BTC) as indicated by the intermediaries
|
|
162
|
+
*/
|
|
163
|
+
getSwapBounds(chainIdentifier: string): SwapBounds;
|
|
164
|
+
/**
|
|
165
|
+
* Returns the aggregate swap minimum (in satoshis - BTC) for a specific swap type & token
|
|
166
|
+
* as indicated by the intermediaries
|
|
167
|
+
*
|
|
168
|
+
* @param chainIdentifier Chain identifier of the smart chain
|
|
169
|
+
* @param swapType Swap protocol type
|
|
170
|
+
* @param tokenAddress Token address
|
|
171
|
+
*/
|
|
172
|
+
getSwapMinimum(chainIdentifier: string, swapType: SwapType, tokenAddress: string): number | null;
|
|
173
|
+
/**
|
|
174
|
+
* Returns the aggregate swap maximum (in satoshis - BTC) for a specific swap type & token
|
|
175
|
+
* as indicated by the intermediaries
|
|
176
|
+
*
|
|
177
|
+
* @param chainIdentifier Chain identifier of the smart chain
|
|
178
|
+
* @param swapType Swap protocol type
|
|
179
|
+
* @param tokenAddress Token address
|
|
180
|
+
*/
|
|
181
|
+
getSwapMaximum(chainIdentifier: string, swapType: SwapType, tokenAddress: string): number | null;
|
|
182
|
+
/**
|
|
183
|
+
* Returns swap candidates for a specific swap type & token address
|
|
184
|
+
*
|
|
185
|
+
* @param chainIdentifier Chain identifier of the smart chain
|
|
186
|
+
* @param swapType Swap protocol type
|
|
187
|
+
* @param tokenAddress Token address
|
|
188
|
+
* @param amount Amount to be swapped in sats - BTC
|
|
189
|
+
* @param count How many intermediaries to return at most
|
|
190
|
+
*/
|
|
191
|
+
getSwapCandidates(chainIdentifier: string, swapType: SwapType, tokenAddress: string, amount?: bigint, count?: number): Intermediary[];
|
|
192
|
+
/**
|
|
193
|
+
* Removes a specific intermediary from the list of active intermediaries (used for blacklisting)
|
|
194
|
+
*
|
|
195
|
+
* @param intermediary
|
|
196
|
+
*/
|
|
197
|
+
removeIntermediary(intermediary: Intermediary): boolean;
|
|
198
|
+
}
|