@atomiqlabs/lp-lib 14.0.0-dev.11 → 14.0.0-dev.13
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/LICENSE +201 -201
- package/dist/fees/IBtcFeeEstimator.d.ts +3 -3
- package/dist/fees/IBtcFeeEstimator.js +2 -2
- package/dist/index.d.ts +42 -42
- package/dist/index.js +58 -58
- package/dist/info/InfoHandler.d.ts +17 -17
- package/dist/info/InfoHandler.js +61 -61
- package/dist/plugins/IPlugin.d.ts +143 -143
- package/dist/plugins/IPlugin.js +34 -34
- package/dist/plugins/PluginManager.d.ts +112 -112
- package/dist/plugins/PluginManager.js +259 -259
- package/dist/prices/BinanceSwapPrice.d.ts +26 -26
- package/dist/prices/BinanceSwapPrice.js +92 -92
- package/dist/prices/CoinGeckoSwapPrice.d.ts +30 -30
- package/dist/prices/CoinGeckoSwapPrice.js +64 -64
- package/dist/prices/ISwapPrice.d.ts +43 -43
- package/dist/prices/ISwapPrice.js +55 -55
- package/dist/prices/OKXSwapPrice.d.ts +26 -26
- package/dist/prices/OKXSwapPrice.js +92 -92
- package/dist/storage/IIntermediaryStorage.d.ts +18 -18
- package/dist/storage/IIntermediaryStorage.js +2 -2
- package/dist/storagemanager/IntermediaryStorageManager.d.ts +19 -19
- package/dist/storagemanager/IntermediaryStorageManager.js +111 -111
- package/dist/storagemanager/StorageManager.d.ts +13 -13
- package/dist/storagemanager/StorageManager.js +64 -64
- package/dist/swaps/SwapHandler.d.ts +153 -153
- package/dist/swaps/SwapHandler.js +160 -160
- package/dist/swaps/SwapHandlerSwap.d.ts +79 -79
- package/dist/swaps/SwapHandlerSwap.js +78 -78
- package/dist/swaps/assertions/AmountAssertions.d.ts +28 -28
- package/dist/swaps/assertions/AmountAssertions.js +72 -72
- package/dist/swaps/assertions/FromBtcAmountAssertions.d.ts +76 -76
- package/dist/swaps/assertions/FromBtcAmountAssertions.js +172 -172
- package/dist/swaps/assertions/LightningAssertions.d.ts +44 -44
- package/dist/swaps/assertions/LightningAssertions.js +86 -86
- package/dist/swaps/assertions/ToBtcAmountAssertions.d.ts +53 -53
- package/dist/swaps/assertions/ToBtcAmountAssertions.js +150 -150
- package/dist/swaps/escrow/EscrowHandler.d.ts +51 -51
- package/dist/swaps/escrow/EscrowHandler.js +158 -158
- package/dist/swaps/escrow/EscrowHandlerSwap.d.ts +35 -35
- package/dist/swaps/escrow/EscrowHandlerSwap.js +69 -69
- package/dist/swaps/escrow/FromBtcBaseSwap.d.ts +14 -14
- package/dist/swaps/escrow/FromBtcBaseSwap.js +32 -32
- package/dist/swaps/escrow/FromBtcBaseSwapHandler.d.ts +102 -102
- package/dist/swaps/escrow/FromBtcBaseSwapHandler.js +210 -210
- package/dist/swaps/escrow/ToBtcBaseSwap.d.ts +36 -36
- package/dist/swaps/escrow/ToBtcBaseSwap.js +67 -67
- package/dist/swaps/escrow/ToBtcBaseSwapHandler.d.ts +53 -53
- package/dist/swaps/escrow/ToBtcBaseSwapHandler.js +81 -81
- package/dist/swaps/escrow/frombtc_abstract/FromBtcAbs.d.ts +83 -83
- package/dist/swaps/escrow/frombtc_abstract/FromBtcAbs.js +318 -318
- package/dist/swaps/escrow/frombtc_abstract/FromBtcSwapAbs.d.ts +21 -21
- package/dist/swaps/escrow/frombtc_abstract/FromBtcSwapAbs.js +50 -50
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnAbs.d.ts +107 -107
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnAbs.js +675 -648
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnSwapAbs.d.ts +33 -33
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnSwapAbs.js +91 -91
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAuto.d.ts +104 -104
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAuto.js +659 -629
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAutoSwap.d.ts +55 -55
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAutoSwap.js +120 -120
- package/dist/swaps/escrow/tobtc_abstract/ToBtcAbs.d.ts +171 -171
- package/dist/swaps/escrow/tobtc_abstract/ToBtcAbs.js +706 -706
- package/dist/swaps/escrow/tobtc_abstract/ToBtcSwapAbs.d.ts +26 -26
- package/dist/swaps/escrow/tobtc_abstract/ToBtcSwapAbs.js +62 -62
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnAbs.d.ts +177 -177
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnAbs.js +861 -861
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnSwapAbs.d.ts +23 -23
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnSwapAbs.js +56 -56
- package/dist/swaps/spv_vault_swap/SpvVault.d.ts +41 -41
- package/dist/swaps/spv_vault_swap/SpvVault.js +111 -111
- package/dist/swaps/spv_vault_swap/SpvVaultSwap.d.ts +67 -67
- package/dist/swaps/spv_vault_swap/SpvVaultSwap.js +158 -158
- package/dist/swaps/spv_vault_swap/SpvVaultSwapHandler.d.ts +68 -68
- package/dist/swaps/spv_vault_swap/SpvVaultSwapHandler.js +491 -490
- package/dist/swaps/spv_vault_swap/SpvVaults.d.ts +52 -52
- package/dist/swaps/spv_vault_swap/SpvVaults.js +364 -364
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrusted.d.ts +51 -51
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrusted.js +650 -650
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrustedSwap.d.ts +52 -52
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrustedSwap.js +118 -118
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrusted.d.ts +76 -76
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrusted.js +494 -494
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrustedSwap.d.ts +34 -34
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrustedSwap.js +81 -81
- package/dist/utils/Utils.d.ts +29 -29
- package/dist/utils/Utils.js +89 -89
- package/dist/utils/paramcoders/IParamReader.d.ts +5 -5
- package/dist/utils/paramcoders/IParamReader.js +2 -2
- package/dist/utils/paramcoders/IParamWriter.d.ts +4 -4
- package/dist/utils/paramcoders/IParamWriter.js +2 -2
- package/dist/utils/paramcoders/LegacyParamEncoder.d.ts +10 -10
- package/dist/utils/paramcoders/LegacyParamEncoder.js +22 -22
- package/dist/utils/paramcoders/ParamDecoder.d.ts +25 -25
- package/dist/utils/paramcoders/ParamDecoder.js +222 -222
- package/dist/utils/paramcoders/ParamEncoder.d.ts +9 -9
- package/dist/utils/paramcoders/ParamEncoder.js +22 -22
- package/dist/utils/paramcoders/SchemaVerifier.d.ts +21 -21
- package/dist/utils/paramcoders/SchemaVerifier.js +84 -84
- package/dist/utils/paramcoders/server/ServerParamDecoder.d.ts +8 -8
- package/dist/utils/paramcoders/server/ServerParamDecoder.js +107 -107
- package/dist/utils/paramcoders/server/ServerParamEncoder.d.ts +11 -11
- package/dist/utils/paramcoders/server/ServerParamEncoder.js +65 -65
- package/dist/wallets/IBitcoinWallet.d.ts +67 -67
- package/dist/wallets/IBitcoinWallet.js +2 -2
- package/dist/wallets/ILightningWallet.d.ts +117 -117
- package/dist/wallets/ILightningWallet.js +37 -37
- package/dist/wallets/ISpvVaultSigner.d.ts +7 -7
- package/dist/wallets/ISpvVaultSigner.js +2 -2
- package/package.json +36 -36
- package/src/fees/IBtcFeeEstimator.ts +6 -6
- package/src/index.ts +53 -53
- package/src/info/InfoHandler.ts +106 -106
- package/src/plugins/IPlugin.ts +168 -168
- package/src/plugins/PluginManager.ts +336 -336
- package/src/prices/BinanceSwapPrice.ts +113 -113
- package/src/prices/CoinGeckoSwapPrice.ts +87 -87
- package/src/prices/ISwapPrice.ts +88 -88
- package/src/prices/OKXSwapPrice.ts +113 -113
- package/src/storage/IIntermediaryStorage.ts +19 -19
- package/src/storagemanager/IntermediaryStorageManager.ts +118 -118
- package/src/storagemanager/StorageManager.ts +78 -78
- package/src/swaps/SwapHandler.ts +277 -277
- package/src/swaps/SwapHandlerSwap.ts +141 -141
- package/src/swaps/assertions/AmountAssertions.ts +76 -76
- package/src/swaps/assertions/FromBtcAmountAssertions.ts +238 -238
- package/src/swaps/assertions/LightningAssertions.ts +103 -103
- package/src/swaps/assertions/ToBtcAmountAssertions.ts +203 -203
- package/src/swaps/escrow/EscrowHandler.ts +179 -179
- package/src/swaps/escrow/EscrowHandlerSwap.ts +86 -86
- package/src/swaps/escrow/FromBtcBaseSwap.ts +38 -38
- package/src/swaps/escrow/FromBtcBaseSwapHandler.ts +286 -286
- package/src/swaps/escrow/ToBtcBaseSwap.ts +85 -85
- package/src/swaps/escrow/ToBtcBaseSwapHandler.ts +129 -129
- package/src/swaps/escrow/frombtc_abstract/FromBtcAbs.ts +452 -452
- package/src/swaps/escrow/frombtc_abstract/FromBtcSwapAbs.ts +61 -61
- package/src/swaps/escrow/frombtcln_abstract/FromBtcLnAbs.ts +856 -828
- package/src/swaps/escrow/frombtcln_abstract/FromBtcLnSwapAbs.ts +141 -141
- package/src/swaps/escrow/frombtcln_autoinit/FromBtcLnAuto.ts +822 -789
- package/src/swaps/escrow/frombtcln_autoinit/FromBtcLnAutoSwap.ts +196 -196
- package/src/swaps/escrow/tobtc_abstract/ToBtcAbs.ts +879 -879
- package/src/swaps/escrow/tobtc_abstract/ToBtcSwapAbs.ts +102 -102
- package/src/swaps/escrow/tobtcln_abstract/ToBtcLnAbs.ts +1110 -1110
- package/src/swaps/escrow/tobtcln_abstract/ToBtcLnSwapAbs.ts +77 -77
- package/src/swaps/spv_vault_swap/SpvVault.ts +143 -143
- package/src/swaps/spv_vault_swap/SpvVaultSwap.ts +225 -225
- package/src/swaps/spv_vault_swap/SpvVaultSwapHandler.ts +627 -626
- package/src/swaps/spv_vault_swap/SpvVaults.ts +435 -435
- package/src/swaps/trusted/frombtc_trusted/FromBtcTrusted.ts +747 -747
- package/src/swaps/trusted/frombtc_trusted/FromBtcTrustedSwap.ts +185 -185
- package/src/swaps/trusted/frombtcln_trusted/FromBtcLnTrusted.ts +590 -590
- package/src/swaps/trusted/frombtcln_trusted/FromBtcLnTrustedSwap.ts +121 -121
- package/src/utils/Utils.ts +104 -104
- package/src/utils/paramcoders/IParamReader.ts +7 -7
- package/src/utils/paramcoders/IParamWriter.ts +8 -8
- package/src/utils/paramcoders/LegacyParamEncoder.ts +27 -27
- package/src/utils/paramcoders/ParamDecoder.ts +218 -218
- package/src/utils/paramcoders/ParamEncoder.ts +29 -29
- package/src/utils/paramcoders/SchemaVerifier.ts +96 -96
- package/src/utils/paramcoders/server/ServerParamDecoder.ts +118 -118
- package/src/utils/paramcoders/server/ServerParamEncoder.ts +75 -75
- package/src/wallets/IBitcoinWallet.ts +68 -68
- package/src/wallets/ILightningWallet.ts +178 -178
- package/src/wallets/ISpvVaultSigner.ts +10 -10
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { FromBtcLnRequestType } from "../escrow/frombtcln_abstract/FromBtcLnAbs";
|
|
2
|
-
import { FromBtcRequestType } from "../escrow/frombtc_abstract/FromBtcAbs";
|
|
3
|
-
import { FromBtcLnTrustedRequestType } from "../trusted/frombtcln_trusted/FromBtcLnTrusted";
|
|
4
|
-
import { RequestData, SwapHandlerType } from "../SwapHandler";
|
|
5
|
-
import { AmountAssertions, AmountAssertionsConfig } from "./AmountAssertions";
|
|
6
|
-
import { ISwapPrice } from "../../prices/ISwapPrice";
|
|
7
|
-
import { FromBtcTrustedRequestType } from "../trusted/frombtc_trusted/FromBtcTrusted";
|
|
8
|
-
import { SpvVaultSwapRequestType } from "../spv_vault_swap/SpvVaultSwapHandler";
|
|
9
|
-
export type FromBtcAmountAssertionsConfig = AmountAssertionsConfig & {
|
|
10
|
-
gasTokenMax?: {
|
|
11
|
-
[chainId: string]: bigint;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare class FromBtcAmountAssertions extends AmountAssertions {
|
|
15
|
-
readonly config: FromBtcAmountAssertionsConfig;
|
|
16
|
-
constructor(config: FromBtcAmountAssertionsConfig, swapPricing: ISwapPrice);
|
|
17
|
-
/**
|
|
18
|
-
* Checks minimums/maximums, calculates the fee & total amount
|
|
19
|
-
*
|
|
20
|
-
* @param swapType
|
|
21
|
-
* @param request
|
|
22
|
-
* @param requestedAmount
|
|
23
|
-
* @param gasAmount
|
|
24
|
-
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
25
|
-
*/
|
|
26
|
-
preCheckFromBtcAmounts(swapType: SwapHandlerType.FROM_BTCLN | SwapHandlerType.FROM_BTC | SwapHandlerType.FROM_BTCLN_TRUSTED | SwapHandlerType.FROM_BTC_TRUSTED | SwapHandlerType.FROM_BTC_SPV | SwapHandlerType.FROM_BTCLN_AUTO, request: RequestData<FromBtcLnRequestType | FromBtcRequestType | FromBtcLnTrustedRequestType | FromBtcTrustedRequestType | SpvVaultSwapRequestType>, requestedAmount: {
|
|
27
|
-
input: boolean;
|
|
28
|
-
amount: bigint;
|
|
29
|
-
token: string;
|
|
30
|
-
}, gasAmount?: {
|
|
31
|
-
input: false;
|
|
32
|
-
amount: bigint;
|
|
33
|
-
token: string;
|
|
34
|
-
}): Promise<{
|
|
35
|
-
baseFee: bigint;
|
|
36
|
-
feePPM: bigint;
|
|
37
|
-
securityDepositApyPPM?: bigint;
|
|
38
|
-
securityDepositBaseMultiplierPPM?: bigint;
|
|
39
|
-
}>;
|
|
40
|
-
/**
|
|
41
|
-
* Checks minimums/maximums, calculates the fee & total amount
|
|
42
|
-
*
|
|
43
|
-
* @param swapType
|
|
44
|
-
* @param request
|
|
45
|
-
* @param requestedAmount
|
|
46
|
-
* @param fees
|
|
47
|
-
* @param signal
|
|
48
|
-
* @param gasTokenAmount
|
|
49
|
-
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
50
|
-
*/
|
|
51
|
-
checkFromBtcAmount(swapType: SwapHandlerType.FROM_BTCLN | SwapHandlerType.FROM_BTC | SwapHandlerType.FROM_BTCLN_TRUSTED | SwapHandlerType.FROM_BTC_TRUSTED | SwapHandlerType.FROM_BTC_SPV | SwapHandlerType.FROM_BTCLN_AUTO, request: RequestData<FromBtcLnRequestType | FromBtcRequestType | FromBtcLnTrustedRequestType | FromBtcTrustedRequestType | SpvVaultSwapRequestType>, requestedAmount: {
|
|
52
|
-
input: boolean;
|
|
53
|
-
amount: bigint;
|
|
54
|
-
token: string;
|
|
55
|
-
pricePrefetch?: Promise<bigint>;
|
|
56
|
-
}, fees: {
|
|
57
|
-
baseFee: bigint;
|
|
58
|
-
feePPM: bigint;
|
|
59
|
-
}, signal: AbortSignal, gasTokenAmount?: {
|
|
60
|
-
input: false;
|
|
61
|
-
amount: bigint;
|
|
62
|
-
token: string;
|
|
63
|
-
pricePrefetch?: Promise<bigint>;
|
|
64
|
-
}): Promise<{
|
|
65
|
-
amountBD: bigint;
|
|
66
|
-
swapFee: bigint;
|
|
67
|
-
swapFeeInToken: bigint;
|
|
68
|
-
totalInToken: bigint;
|
|
69
|
-
amountBDgas?: bigint;
|
|
70
|
-
gasSwapFee?: bigint;
|
|
71
|
-
gasSwapFeeInToken?: bigint;
|
|
72
|
-
totalInGasToken?: bigint;
|
|
73
|
-
securityDepositApyPPM?: bigint;
|
|
74
|
-
securityDepositBaseMultiplierPPM?: bigint;
|
|
75
|
-
}>;
|
|
76
|
-
}
|
|
1
|
+
import { FromBtcLnRequestType } from "../escrow/frombtcln_abstract/FromBtcLnAbs";
|
|
2
|
+
import { FromBtcRequestType } from "../escrow/frombtc_abstract/FromBtcAbs";
|
|
3
|
+
import { FromBtcLnTrustedRequestType } from "../trusted/frombtcln_trusted/FromBtcLnTrusted";
|
|
4
|
+
import { RequestData, SwapHandlerType } from "../SwapHandler";
|
|
5
|
+
import { AmountAssertions, AmountAssertionsConfig } from "./AmountAssertions";
|
|
6
|
+
import { ISwapPrice } from "../../prices/ISwapPrice";
|
|
7
|
+
import { FromBtcTrustedRequestType } from "../trusted/frombtc_trusted/FromBtcTrusted";
|
|
8
|
+
import { SpvVaultSwapRequestType } from "../spv_vault_swap/SpvVaultSwapHandler";
|
|
9
|
+
export type FromBtcAmountAssertionsConfig = AmountAssertionsConfig & {
|
|
10
|
+
gasTokenMax?: {
|
|
11
|
+
[chainId: string]: bigint;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare class FromBtcAmountAssertions extends AmountAssertions {
|
|
15
|
+
readonly config: FromBtcAmountAssertionsConfig;
|
|
16
|
+
constructor(config: FromBtcAmountAssertionsConfig, swapPricing: ISwapPrice);
|
|
17
|
+
/**
|
|
18
|
+
* Checks minimums/maximums, calculates the fee & total amount
|
|
19
|
+
*
|
|
20
|
+
* @param swapType
|
|
21
|
+
* @param request
|
|
22
|
+
* @param requestedAmount
|
|
23
|
+
* @param gasAmount
|
|
24
|
+
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
25
|
+
*/
|
|
26
|
+
preCheckFromBtcAmounts(swapType: SwapHandlerType.FROM_BTCLN | SwapHandlerType.FROM_BTC | SwapHandlerType.FROM_BTCLN_TRUSTED | SwapHandlerType.FROM_BTC_TRUSTED | SwapHandlerType.FROM_BTC_SPV | SwapHandlerType.FROM_BTCLN_AUTO, request: RequestData<FromBtcLnRequestType | FromBtcRequestType | FromBtcLnTrustedRequestType | FromBtcTrustedRequestType | SpvVaultSwapRequestType>, requestedAmount: {
|
|
27
|
+
input: boolean;
|
|
28
|
+
amount: bigint;
|
|
29
|
+
token: string;
|
|
30
|
+
}, gasAmount?: {
|
|
31
|
+
input: false;
|
|
32
|
+
amount: bigint;
|
|
33
|
+
token: string;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
baseFee: bigint;
|
|
36
|
+
feePPM: bigint;
|
|
37
|
+
securityDepositApyPPM?: bigint;
|
|
38
|
+
securityDepositBaseMultiplierPPM?: bigint;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Checks minimums/maximums, calculates the fee & total amount
|
|
42
|
+
*
|
|
43
|
+
* @param swapType
|
|
44
|
+
* @param request
|
|
45
|
+
* @param requestedAmount
|
|
46
|
+
* @param fees
|
|
47
|
+
* @param signal
|
|
48
|
+
* @param gasTokenAmount
|
|
49
|
+
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
50
|
+
*/
|
|
51
|
+
checkFromBtcAmount(swapType: SwapHandlerType.FROM_BTCLN | SwapHandlerType.FROM_BTC | SwapHandlerType.FROM_BTCLN_TRUSTED | SwapHandlerType.FROM_BTC_TRUSTED | SwapHandlerType.FROM_BTC_SPV | SwapHandlerType.FROM_BTCLN_AUTO, request: RequestData<FromBtcLnRequestType | FromBtcRequestType | FromBtcLnTrustedRequestType | FromBtcTrustedRequestType | SpvVaultSwapRequestType>, requestedAmount: {
|
|
52
|
+
input: boolean;
|
|
53
|
+
amount: bigint;
|
|
54
|
+
token: string;
|
|
55
|
+
pricePrefetch?: Promise<bigint>;
|
|
56
|
+
}, fees: {
|
|
57
|
+
baseFee: bigint;
|
|
58
|
+
feePPM: bigint;
|
|
59
|
+
}, signal: AbortSignal, gasTokenAmount?: {
|
|
60
|
+
input: false;
|
|
61
|
+
amount: bigint;
|
|
62
|
+
token: string;
|
|
63
|
+
pricePrefetch?: Promise<bigint>;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
amountBD: bigint;
|
|
66
|
+
swapFee: bigint;
|
|
67
|
+
swapFeeInToken: bigint;
|
|
68
|
+
totalInToken: bigint;
|
|
69
|
+
amountBDgas?: bigint;
|
|
70
|
+
gasSwapFee?: bigint;
|
|
71
|
+
gasSwapFeeInToken?: bigint;
|
|
72
|
+
totalInGasToken?: bigint;
|
|
73
|
+
securityDepositApyPPM?: bigint;
|
|
74
|
+
securityDepositBaseMultiplierPPM?: bigint;
|
|
75
|
+
}>;
|
|
76
|
+
}
|
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FromBtcAmountAssertions = void 0;
|
|
4
|
-
const PluginManager_1 = require("../../plugins/PluginManager");
|
|
5
|
-
const IPlugin_1 = require("../../plugins/IPlugin");
|
|
6
|
-
const AmountAssertions_1 = require("./AmountAssertions");
|
|
7
|
-
class FromBtcAmountAssertions extends AmountAssertions_1.AmountAssertions {
|
|
8
|
-
constructor(config, swapPricing) {
|
|
9
|
-
super(config, swapPricing);
|
|
10
|
-
this.config = config;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Checks minimums/maximums, calculates the fee & total amount
|
|
14
|
-
*
|
|
15
|
-
* @param swapType
|
|
16
|
-
* @param request
|
|
17
|
-
* @param requestedAmount
|
|
18
|
-
* @param gasAmount
|
|
19
|
-
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
20
|
-
*/
|
|
21
|
-
async preCheckFromBtcAmounts(swapType, request, requestedAmount, gasAmount) {
|
|
22
|
-
const res = await PluginManager_1.PluginManager.onHandlePreFromBtcQuote(swapType, request, requestedAmount, request.chainIdentifier, { minInBtc: this.config.min, maxInBtc: this.config.max }, { baseFeeInBtc: this.config.baseFee, feePPM: this.config.feePPM }, gasAmount);
|
|
23
|
-
if (res != null) {
|
|
24
|
-
AmountAssertions_1.AmountAssertions.handlePluginErrorResponses(res);
|
|
25
|
-
if ((0, IPlugin_1.isQuoteSetFees)(res)) {
|
|
26
|
-
return {
|
|
27
|
-
baseFee: res.baseFee || this.config.baseFee,
|
|
28
|
-
feePPM: res.feePPM || this.config.feePPM,
|
|
29
|
-
securityDepositApyPPM: res.securityDepositApyPPM,
|
|
30
|
-
securityDepositBaseMultiplierPPM: res.securityDepositBaseMultiplierPPM
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (requestedAmount.input)
|
|
35
|
-
this.checkBtcAmountInBounds(requestedAmount.amount);
|
|
36
|
-
if (gasAmount != null && gasAmount.amount !== 0n) {
|
|
37
|
-
if (gasAmount.amount > (this.config.gasTokenMax?.[request.chainIdentifier] ?? 0n)) {
|
|
38
|
-
throw {
|
|
39
|
-
code: 20504,
|
|
40
|
-
msg: "Gas token amount too high!",
|
|
41
|
-
data: {
|
|
42
|
-
max: (this.config.gasTokenMax?.[request.chainIdentifier] ?? 0n).toString(10)
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return {
|
|
48
|
-
baseFee: this.config.baseFee,
|
|
49
|
-
feePPM: this.config.feePPM
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Checks minimums/maximums, calculates the fee & total amount
|
|
54
|
-
*
|
|
55
|
-
* @param swapType
|
|
56
|
-
* @param request
|
|
57
|
-
* @param requestedAmount
|
|
58
|
-
* @param fees
|
|
59
|
-
* @param signal
|
|
60
|
-
* @param gasTokenAmount
|
|
61
|
-
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
62
|
-
*/
|
|
63
|
-
async checkFromBtcAmount(swapType, request, requestedAmount, fees, signal, gasTokenAmount) {
|
|
64
|
-
const chainIdentifier = request.chainIdentifier;
|
|
65
|
-
let securityDepositApyPPM;
|
|
66
|
-
let securityDepositBaseMultiplierPPM;
|
|
67
|
-
const res = await PluginManager_1.PluginManager.onHandlePostFromBtcQuote(swapType, request, requestedAmount, chainIdentifier, { minInBtc: this.config.min, maxInBtc: this.config.max }, { baseFeeInBtc: fees.baseFee, feePPM: fees.feePPM }, gasTokenAmount);
|
|
68
|
-
signal.throwIfAborted();
|
|
69
|
-
if (res != null) {
|
|
70
|
-
AmountAssertions_1.AmountAssertions.handlePluginErrorResponses(res);
|
|
71
|
-
if ((0, IPlugin_1.isQuoteSetFees)(res)) {
|
|
72
|
-
if (res.baseFee != null)
|
|
73
|
-
fees.baseFee = res.baseFee;
|
|
74
|
-
if (res.feePPM != null)
|
|
75
|
-
fees.feePPM = res.feePPM;
|
|
76
|
-
if (res.securityDepositApyPPM != null)
|
|
77
|
-
securityDepositApyPPM = res.securityDepositApyPPM;
|
|
78
|
-
if (res.securityDepositBaseMultiplierPPM != null)
|
|
79
|
-
securityDepositBaseMultiplierPPM = res.securityDepositBaseMultiplierPPM;
|
|
80
|
-
}
|
|
81
|
-
if ((0, IPlugin_1.isPluginQuote)(res)) {
|
|
82
|
-
if (!requestedAmount.input) {
|
|
83
|
-
return {
|
|
84
|
-
amountBD: res.amount.amount + res.swapFee.inInputTokens,
|
|
85
|
-
swapFee: res.swapFee.inInputTokens,
|
|
86
|
-
swapFeeInToken: res.swapFee.inOutputTokens,
|
|
87
|
-
totalInToken: requestedAmount.amount
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
return {
|
|
92
|
-
amountBD: requestedAmount.amount,
|
|
93
|
-
swapFee: res.swapFee.inInputTokens,
|
|
94
|
-
swapFeeInToken: res.swapFee.inOutputTokens,
|
|
95
|
-
totalInToken: res.amount.amount
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
let amountBDgas = 0n;
|
|
101
|
-
if (gasTokenAmount != null) {
|
|
102
|
-
amountBDgas = await this.swapPricing.getToBtcSwapAmount(gasTokenAmount.amount, gasTokenAmount.token, chainIdentifier, true, gasTokenAmount.pricePrefetch);
|
|
103
|
-
}
|
|
104
|
-
let amountBD;
|
|
105
|
-
if (!requestedAmount.input) {
|
|
106
|
-
amountBD = await this.swapPricing.getToBtcSwapAmount(requestedAmount.amount, requestedAmount.token, chainIdentifier, true, requestedAmount.pricePrefetch);
|
|
107
|
-
signal.throwIfAborted();
|
|
108
|
-
// amt = (amt+base_fee)/(1-fee)
|
|
109
|
-
amountBD = (amountBD + fees.baseFee) * 1000000n / (1000000n - fees.feePPM);
|
|
110
|
-
amountBDgas = amountBDgas * 1000000n / (1000000n - fees.feePPM);
|
|
111
|
-
const tooLow = amountBD < (this.config.min * 95n / 100n);
|
|
112
|
-
const tooHigh = amountBD > (this.config.max * 105n / 100n);
|
|
113
|
-
if (tooLow || tooHigh) {
|
|
114
|
-
const adjustedMin = this.config.min * (1000000n - fees.feePPM) / (1000000n - fees.baseFee);
|
|
115
|
-
const adjustedMax = this.config.max * (1000000n - fees.feePPM) / (1000000n - fees.baseFee);
|
|
116
|
-
const minIn = await this.swapPricing.getFromBtcSwapAmount(adjustedMin, requestedAmount.token, chainIdentifier, null, requestedAmount.pricePrefetch);
|
|
117
|
-
const maxIn = await this.swapPricing.getFromBtcSwapAmount(adjustedMax, requestedAmount.token, chainIdentifier, null, requestedAmount.pricePrefetch);
|
|
118
|
-
throw {
|
|
119
|
-
code: tooLow ? 20003 : 20004,
|
|
120
|
-
msg: tooLow ? "Amount too low!" : "Amount too high!",
|
|
121
|
-
data: {
|
|
122
|
-
min: minIn.toString(10),
|
|
123
|
-
max: maxIn.toString(10)
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
this.checkBtcAmountInBounds(requestedAmount.amount);
|
|
130
|
-
amountBD = requestedAmount.amount - amountBDgas;
|
|
131
|
-
if (amountBD < 0n) {
|
|
132
|
-
throw {
|
|
133
|
-
code: 20003,
|
|
134
|
-
msg: "Amount too low!",
|
|
135
|
-
data: {
|
|
136
|
-
min: this.config.min.toString(10),
|
|
137
|
-
max: this.config.max.toString(10)
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
const swapFee = fees.baseFee + (amountBD * fees.feePPM / 1000000n);
|
|
143
|
-
const swapFeeInToken = await this.swapPricing.getFromBtcSwapAmount(swapFee, requestedAmount.token, chainIdentifier, true, requestedAmount.pricePrefetch);
|
|
144
|
-
signal.throwIfAborted();
|
|
145
|
-
const gasSwapFee = ((amountBDgas * fees.feePPM) + 999999n) / 1000000n;
|
|
146
|
-
const gasSwapFeeInToken = gasTokenAmount == null ?
|
|
147
|
-
0n :
|
|
148
|
-
await this.swapPricing.getFromBtcSwapAmount(gasSwapFee, gasTokenAmount.token, chainIdentifier, true, gasTokenAmount.pricePrefetch);
|
|
149
|
-
signal.throwIfAborted();
|
|
150
|
-
let totalInToken;
|
|
151
|
-
if (!requestedAmount.input) {
|
|
152
|
-
totalInToken = requestedAmount.amount;
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
totalInToken = await this.swapPricing.getFromBtcSwapAmount(amountBD - swapFee - gasSwapFee, requestedAmount.token, chainIdentifier, null, requestedAmount.pricePrefetch);
|
|
156
|
-
signal.throwIfAborted();
|
|
157
|
-
}
|
|
158
|
-
return {
|
|
159
|
-
amountBD,
|
|
160
|
-
swapFee,
|
|
161
|
-
swapFeeInToken,
|
|
162
|
-
totalInToken,
|
|
163
|
-
amountBDgas,
|
|
164
|
-
gasSwapFee,
|
|
165
|
-
gasSwapFeeInToken,
|
|
166
|
-
totalInGasToken: gasTokenAmount?.amount,
|
|
167
|
-
securityDepositApyPPM,
|
|
168
|
-
securityDepositBaseMultiplierPPM
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
exports.FromBtcAmountAssertions = FromBtcAmountAssertions;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FromBtcAmountAssertions = void 0;
|
|
4
|
+
const PluginManager_1 = require("../../plugins/PluginManager");
|
|
5
|
+
const IPlugin_1 = require("../../plugins/IPlugin");
|
|
6
|
+
const AmountAssertions_1 = require("./AmountAssertions");
|
|
7
|
+
class FromBtcAmountAssertions extends AmountAssertions_1.AmountAssertions {
|
|
8
|
+
constructor(config, swapPricing) {
|
|
9
|
+
super(config, swapPricing);
|
|
10
|
+
this.config = config;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Checks minimums/maximums, calculates the fee & total amount
|
|
14
|
+
*
|
|
15
|
+
* @param swapType
|
|
16
|
+
* @param request
|
|
17
|
+
* @param requestedAmount
|
|
18
|
+
* @param gasAmount
|
|
19
|
+
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
20
|
+
*/
|
|
21
|
+
async preCheckFromBtcAmounts(swapType, request, requestedAmount, gasAmount) {
|
|
22
|
+
const res = await PluginManager_1.PluginManager.onHandlePreFromBtcQuote(swapType, request, requestedAmount, request.chainIdentifier, { minInBtc: this.config.min, maxInBtc: this.config.max }, { baseFeeInBtc: this.config.baseFee, feePPM: this.config.feePPM }, gasAmount);
|
|
23
|
+
if (res != null) {
|
|
24
|
+
AmountAssertions_1.AmountAssertions.handlePluginErrorResponses(res);
|
|
25
|
+
if ((0, IPlugin_1.isQuoteSetFees)(res)) {
|
|
26
|
+
return {
|
|
27
|
+
baseFee: res.baseFee || this.config.baseFee,
|
|
28
|
+
feePPM: res.feePPM || this.config.feePPM,
|
|
29
|
+
securityDepositApyPPM: res.securityDepositApyPPM,
|
|
30
|
+
securityDepositBaseMultiplierPPM: res.securityDepositBaseMultiplierPPM
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (requestedAmount.input)
|
|
35
|
+
this.checkBtcAmountInBounds(requestedAmount.amount);
|
|
36
|
+
if (gasAmount != null && gasAmount.amount !== 0n) {
|
|
37
|
+
if (gasAmount.amount > (this.config.gasTokenMax?.[request.chainIdentifier] ?? 0n)) {
|
|
38
|
+
throw {
|
|
39
|
+
code: 20504,
|
|
40
|
+
msg: "Gas token amount too high!",
|
|
41
|
+
data: {
|
|
42
|
+
max: (this.config.gasTokenMax?.[request.chainIdentifier] ?? 0n).toString(10)
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
baseFee: this.config.baseFee,
|
|
49
|
+
feePPM: this.config.feePPM
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Checks minimums/maximums, calculates the fee & total amount
|
|
54
|
+
*
|
|
55
|
+
* @param swapType
|
|
56
|
+
* @param request
|
|
57
|
+
* @param requestedAmount
|
|
58
|
+
* @param fees
|
|
59
|
+
* @param signal
|
|
60
|
+
* @param gasTokenAmount
|
|
61
|
+
* @throws {DefinedRuntimeError} will throw an error if the amount is outside minimum/maximum bounds
|
|
62
|
+
*/
|
|
63
|
+
async checkFromBtcAmount(swapType, request, requestedAmount, fees, signal, gasTokenAmount) {
|
|
64
|
+
const chainIdentifier = request.chainIdentifier;
|
|
65
|
+
let securityDepositApyPPM;
|
|
66
|
+
let securityDepositBaseMultiplierPPM;
|
|
67
|
+
const res = await PluginManager_1.PluginManager.onHandlePostFromBtcQuote(swapType, request, requestedAmount, chainIdentifier, { minInBtc: this.config.min, maxInBtc: this.config.max }, { baseFeeInBtc: fees.baseFee, feePPM: fees.feePPM }, gasTokenAmount);
|
|
68
|
+
signal.throwIfAborted();
|
|
69
|
+
if (res != null) {
|
|
70
|
+
AmountAssertions_1.AmountAssertions.handlePluginErrorResponses(res);
|
|
71
|
+
if ((0, IPlugin_1.isQuoteSetFees)(res)) {
|
|
72
|
+
if (res.baseFee != null)
|
|
73
|
+
fees.baseFee = res.baseFee;
|
|
74
|
+
if (res.feePPM != null)
|
|
75
|
+
fees.feePPM = res.feePPM;
|
|
76
|
+
if (res.securityDepositApyPPM != null)
|
|
77
|
+
securityDepositApyPPM = res.securityDepositApyPPM;
|
|
78
|
+
if (res.securityDepositBaseMultiplierPPM != null)
|
|
79
|
+
securityDepositBaseMultiplierPPM = res.securityDepositBaseMultiplierPPM;
|
|
80
|
+
}
|
|
81
|
+
if ((0, IPlugin_1.isPluginQuote)(res)) {
|
|
82
|
+
if (!requestedAmount.input) {
|
|
83
|
+
return {
|
|
84
|
+
amountBD: res.amount.amount + res.swapFee.inInputTokens,
|
|
85
|
+
swapFee: res.swapFee.inInputTokens,
|
|
86
|
+
swapFeeInToken: res.swapFee.inOutputTokens,
|
|
87
|
+
totalInToken: requestedAmount.amount
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return {
|
|
92
|
+
amountBD: requestedAmount.amount,
|
|
93
|
+
swapFee: res.swapFee.inInputTokens,
|
|
94
|
+
swapFeeInToken: res.swapFee.inOutputTokens,
|
|
95
|
+
totalInToken: res.amount.amount
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let amountBDgas = 0n;
|
|
101
|
+
if (gasTokenAmount != null) {
|
|
102
|
+
amountBDgas = await this.swapPricing.getToBtcSwapAmount(gasTokenAmount.amount, gasTokenAmount.token, chainIdentifier, true, gasTokenAmount.pricePrefetch);
|
|
103
|
+
}
|
|
104
|
+
let amountBD;
|
|
105
|
+
if (!requestedAmount.input) {
|
|
106
|
+
amountBD = await this.swapPricing.getToBtcSwapAmount(requestedAmount.amount, requestedAmount.token, chainIdentifier, true, requestedAmount.pricePrefetch);
|
|
107
|
+
signal.throwIfAborted();
|
|
108
|
+
// amt = (amt+base_fee)/(1-fee)
|
|
109
|
+
amountBD = (amountBD + fees.baseFee) * 1000000n / (1000000n - fees.feePPM);
|
|
110
|
+
amountBDgas = amountBDgas * 1000000n / (1000000n - fees.feePPM);
|
|
111
|
+
const tooLow = amountBD < (this.config.min * 95n / 100n);
|
|
112
|
+
const tooHigh = amountBD > (this.config.max * 105n / 100n);
|
|
113
|
+
if (tooLow || tooHigh) {
|
|
114
|
+
const adjustedMin = this.config.min * (1000000n - fees.feePPM) / (1000000n - fees.baseFee);
|
|
115
|
+
const adjustedMax = this.config.max * (1000000n - fees.feePPM) / (1000000n - fees.baseFee);
|
|
116
|
+
const minIn = await this.swapPricing.getFromBtcSwapAmount(adjustedMin, requestedAmount.token, chainIdentifier, null, requestedAmount.pricePrefetch);
|
|
117
|
+
const maxIn = await this.swapPricing.getFromBtcSwapAmount(adjustedMax, requestedAmount.token, chainIdentifier, null, requestedAmount.pricePrefetch);
|
|
118
|
+
throw {
|
|
119
|
+
code: tooLow ? 20003 : 20004,
|
|
120
|
+
msg: tooLow ? "Amount too low!" : "Amount too high!",
|
|
121
|
+
data: {
|
|
122
|
+
min: minIn.toString(10),
|
|
123
|
+
max: maxIn.toString(10)
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.checkBtcAmountInBounds(requestedAmount.amount);
|
|
130
|
+
amountBD = requestedAmount.amount - amountBDgas;
|
|
131
|
+
if (amountBD < 0n) {
|
|
132
|
+
throw {
|
|
133
|
+
code: 20003,
|
|
134
|
+
msg: "Amount too low!",
|
|
135
|
+
data: {
|
|
136
|
+
min: this.config.min.toString(10),
|
|
137
|
+
max: this.config.max.toString(10)
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const swapFee = fees.baseFee + (amountBD * fees.feePPM / 1000000n);
|
|
143
|
+
const swapFeeInToken = await this.swapPricing.getFromBtcSwapAmount(swapFee, requestedAmount.token, chainIdentifier, true, requestedAmount.pricePrefetch);
|
|
144
|
+
signal.throwIfAborted();
|
|
145
|
+
const gasSwapFee = ((amountBDgas * fees.feePPM) + 999999n) / 1000000n;
|
|
146
|
+
const gasSwapFeeInToken = gasTokenAmount == null ?
|
|
147
|
+
0n :
|
|
148
|
+
await this.swapPricing.getFromBtcSwapAmount(gasSwapFee, gasTokenAmount.token, chainIdentifier, true, gasTokenAmount.pricePrefetch);
|
|
149
|
+
signal.throwIfAborted();
|
|
150
|
+
let totalInToken;
|
|
151
|
+
if (!requestedAmount.input) {
|
|
152
|
+
totalInToken = requestedAmount.amount;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
totalInToken = await this.swapPricing.getFromBtcSwapAmount(amountBD - swapFee - gasSwapFee, requestedAmount.token, chainIdentifier, null, requestedAmount.pricePrefetch);
|
|
156
|
+
signal.throwIfAborted();
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
amountBD,
|
|
160
|
+
swapFee,
|
|
161
|
+
swapFeeInToken,
|
|
162
|
+
totalInToken,
|
|
163
|
+
amountBDgas,
|
|
164
|
+
gasSwapFee,
|
|
165
|
+
gasSwapFeeInToken,
|
|
166
|
+
totalInGasToken: gasTokenAmount?.amount,
|
|
167
|
+
securityDepositApyPPM,
|
|
168
|
+
securityDepositBaseMultiplierPPM
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.FromBtcAmountAssertions = FromBtcAmountAssertions;
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { ILightningWallet, LightningNetworkChannel } from "../../wallets/ILightningWallet";
|
|
2
|
-
import { LoggerType } from "../../utils/Utils";
|
|
3
|
-
export declare class LightningAssertions {
|
|
4
|
-
protected readonly LIGHTNING_LIQUIDITY_CACHE_TIMEOUT: number;
|
|
5
|
-
lightningLiquidityCache: {
|
|
6
|
-
liquidity: bigint;
|
|
7
|
-
timestamp: number;
|
|
8
|
-
};
|
|
9
|
-
readonly lightning: ILightningWallet;
|
|
10
|
-
readonly logger: LoggerType;
|
|
11
|
-
constructor(logger: LoggerType, lightning: ILightningWallet);
|
|
12
|
-
/**
|
|
13
|
-
* Checks if the prior payment with the same paymentHash exists
|
|
14
|
-
*
|
|
15
|
-
* @param paymentHash
|
|
16
|
-
* @param abortSignal
|
|
17
|
-
* @throws {DefinedRuntimeError} will throw an error if payment already exists
|
|
18
|
-
*/
|
|
19
|
-
checkPriorPayment(paymentHash: string, abortSignal: AbortSignal): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* Checks if the underlying LND backend has enough liquidity in channels to honor the swap
|
|
22
|
-
*
|
|
23
|
-
* @param amount
|
|
24
|
-
* @param abortSignal
|
|
25
|
-
* @param useCached Whether to use cached liquidity values
|
|
26
|
-
* @throws {DefinedRuntimeError} will throw an error if there isn't enough liquidity
|
|
27
|
-
*/
|
|
28
|
-
checkLiquidity(amount: bigint, abortSignal: AbortSignal, useCached?: boolean): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Checks if we have enough inbound liquidity to be able to receive an LN payment (without MPP)
|
|
31
|
-
*
|
|
32
|
-
* @param amountBD
|
|
33
|
-
* @param channelsPrefetch
|
|
34
|
-
* @param signal
|
|
35
|
-
* @throws {DefinedRuntimeError} will throw an error if there isn't enough inbound liquidity to receive the LN payment
|
|
36
|
-
*/
|
|
37
|
-
checkInboundLiquidity(amountBD: bigint, channelsPrefetch: Promise<LightningNetworkChannel[]>, signal: AbortSignal): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Starts LN channels pre-fetch
|
|
40
|
-
*
|
|
41
|
-
* @param abortController
|
|
42
|
-
*/
|
|
43
|
-
getChannelsPrefetch(abortController: AbortController): Promise<LightningNetworkChannel[]>;
|
|
44
|
-
}
|
|
1
|
+
import { ILightningWallet, LightningNetworkChannel } from "../../wallets/ILightningWallet";
|
|
2
|
+
import { LoggerType } from "../../utils/Utils";
|
|
3
|
+
export declare class LightningAssertions {
|
|
4
|
+
protected readonly LIGHTNING_LIQUIDITY_CACHE_TIMEOUT: number;
|
|
5
|
+
lightningLiquidityCache: {
|
|
6
|
+
liquidity: bigint;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
};
|
|
9
|
+
readonly lightning: ILightningWallet;
|
|
10
|
+
readonly logger: LoggerType;
|
|
11
|
+
constructor(logger: LoggerType, lightning: ILightningWallet);
|
|
12
|
+
/**
|
|
13
|
+
* Checks if the prior payment with the same paymentHash exists
|
|
14
|
+
*
|
|
15
|
+
* @param paymentHash
|
|
16
|
+
* @param abortSignal
|
|
17
|
+
* @throws {DefinedRuntimeError} will throw an error if payment already exists
|
|
18
|
+
*/
|
|
19
|
+
checkPriorPayment(paymentHash: string, abortSignal: AbortSignal): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the underlying LND backend has enough liquidity in channels to honor the swap
|
|
22
|
+
*
|
|
23
|
+
* @param amount
|
|
24
|
+
* @param abortSignal
|
|
25
|
+
* @param useCached Whether to use cached liquidity values
|
|
26
|
+
* @throws {DefinedRuntimeError} will throw an error if there isn't enough liquidity
|
|
27
|
+
*/
|
|
28
|
+
checkLiquidity(amount: bigint, abortSignal: AbortSignal, useCached?: boolean): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Checks if we have enough inbound liquidity to be able to receive an LN payment (without MPP)
|
|
31
|
+
*
|
|
32
|
+
* @param amountBD
|
|
33
|
+
* @param channelsPrefetch
|
|
34
|
+
* @param signal
|
|
35
|
+
* @throws {DefinedRuntimeError} will throw an error if there isn't enough inbound liquidity to receive the LN payment
|
|
36
|
+
*/
|
|
37
|
+
checkInboundLiquidity(amountBD: bigint, channelsPrefetch: Promise<LightningNetworkChannel[]>, signal: AbortSignal): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Starts LN channels pre-fetch
|
|
40
|
+
*
|
|
41
|
+
* @param abortController
|
|
42
|
+
*/
|
|
43
|
+
getChannelsPrefetch(abortController: AbortController): Promise<LightningNetworkChannel[]>;
|
|
44
|
+
}
|