@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,14 +1,14 @@
|
|
|
1
|
-
import { EscrowHandlerSwap } from "./EscrowHandlerSwap";
|
|
2
|
-
import { SwapData } from "@atomiqlabs/base";
|
|
3
|
-
export declare abstract class FromBtcBaseSwap<T extends SwapData = SwapData, S = any> extends EscrowHandlerSwap<T, S> {
|
|
4
|
-
amount: bigint;
|
|
5
|
-
protected constructor(chainIdentifier: string, amount: bigint, swapFee: bigint, swapFeeInToken: bigint);
|
|
6
|
-
protected constructor(obj: any);
|
|
7
|
-
getTotalInputAmount(): bigint;
|
|
8
|
-
getOutputAmount(): bigint;
|
|
9
|
-
getSwapFee(): {
|
|
10
|
-
inInputToken: bigint;
|
|
11
|
-
inOutputToken: bigint;
|
|
12
|
-
};
|
|
13
|
-
serialize(): any;
|
|
14
|
-
}
|
|
1
|
+
import { EscrowHandlerSwap } from "./EscrowHandlerSwap";
|
|
2
|
+
import { SwapData } from "@atomiqlabs/base";
|
|
3
|
+
export declare abstract class FromBtcBaseSwap<T extends SwapData = SwapData, S = any> extends EscrowHandlerSwap<T, S> {
|
|
4
|
+
amount: bigint;
|
|
5
|
+
protected constructor(chainIdentifier: string, amount: bigint, swapFee: bigint, swapFeeInToken: bigint);
|
|
6
|
+
protected constructor(obj: any);
|
|
7
|
+
getTotalInputAmount(): bigint;
|
|
8
|
+
getOutputAmount(): bigint;
|
|
9
|
+
getSwapFee(): {
|
|
10
|
+
inInputToken: bigint;
|
|
11
|
+
inOutputToken: bigint;
|
|
12
|
+
};
|
|
13
|
+
serialize(): any;
|
|
14
|
+
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FromBtcBaseSwap = void 0;
|
|
4
|
-
const Utils_1 = require("../../utils/Utils");
|
|
5
|
-
const EscrowHandlerSwap_1 = require("./EscrowHandlerSwap");
|
|
6
|
-
class FromBtcBaseSwap extends EscrowHandlerSwap_1.EscrowHandlerSwap {
|
|
7
|
-
constructor(obj, amount, swapFee, swapFeeInToken) {
|
|
8
|
-
super(obj, swapFee, swapFeeInToken);
|
|
9
|
-
if (typeof (obj) === "string" && typeof (amount) === "bigint" && typeof (swapFee) === "bigint" && typeof (swapFeeInToken) === "bigint") {
|
|
10
|
-
this.amount = amount;
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
this.amount = (0, Utils_1.deserializeBN)(obj.amount);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
;
|
|
17
|
-
getTotalInputAmount() {
|
|
18
|
-
return this.amount;
|
|
19
|
-
}
|
|
20
|
-
getOutputAmount() {
|
|
21
|
-
return this.data?.getAmount();
|
|
22
|
-
}
|
|
23
|
-
getSwapFee() {
|
|
24
|
-
return { inInputToken: this.swapFee, inOutputToken: this.swapFeeInToken };
|
|
25
|
-
}
|
|
26
|
-
serialize() {
|
|
27
|
-
const partialSerialized = super.serialize();
|
|
28
|
-
partialSerialized.amount = (0, Utils_1.serializeBN)(this.amount);
|
|
29
|
-
return partialSerialized;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.FromBtcBaseSwap = FromBtcBaseSwap;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FromBtcBaseSwap = void 0;
|
|
4
|
+
const Utils_1 = require("../../utils/Utils");
|
|
5
|
+
const EscrowHandlerSwap_1 = require("./EscrowHandlerSwap");
|
|
6
|
+
class FromBtcBaseSwap extends EscrowHandlerSwap_1.EscrowHandlerSwap {
|
|
7
|
+
constructor(obj, amount, swapFee, swapFeeInToken) {
|
|
8
|
+
super(obj, swapFee, swapFeeInToken);
|
|
9
|
+
if (typeof (obj) === "string" && typeof (amount) === "bigint" && typeof (swapFee) === "bigint" && typeof (swapFeeInToken) === "bigint") {
|
|
10
|
+
this.amount = amount;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
this.amount = (0, Utils_1.deserializeBN)(obj.amount);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
;
|
|
17
|
+
getTotalInputAmount() {
|
|
18
|
+
return this.amount;
|
|
19
|
+
}
|
|
20
|
+
getOutputAmount() {
|
|
21
|
+
return this.data?.getAmount();
|
|
22
|
+
}
|
|
23
|
+
getSwapFee() {
|
|
24
|
+
return { inInputToken: this.swapFee, inOutputToken: this.swapFeeInToken };
|
|
25
|
+
}
|
|
26
|
+
serialize() {
|
|
27
|
+
const partialSerialized = super.serialize();
|
|
28
|
+
partialSerialized.amount = (0, Utils_1.serializeBN)(this.amount);
|
|
29
|
+
return partialSerialized;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.FromBtcBaseSwap = FromBtcBaseSwap;
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
import { SwapData } from "@atomiqlabs/base";
|
|
2
|
-
import { MultichainData, SwapBaseConfig } from "../SwapHandler";
|
|
3
|
-
import { IParamReader } from "../../utils/paramcoders/IParamReader";
|
|
4
|
-
import { Request } from "express";
|
|
5
|
-
import { EscrowHandler } from "./EscrowHandler";
|
|
6
|
-
import { FromBtcBaseSwap } from "./FromBtcBaseSwap";
|
|
7
|
-
import { FromBtcAmountAssertions } from "../assertions/FromBtcAmountAssertions";
|
|
8
|
-
import { IIntermediaryStorage } from "../../storage/IIntermediaryStorage";
|
|
9
|
-
import { ISwapPrice } from "../../prices/ISwapPrice";
|
|
10
|
-
export type FromBtcBaseConfig = SwapBaseConfig & {
|
|
11
|
-
securityDepositAPY: number;
|
|
12
|
-
};
|
|
13
|
-
export declare abstract class FromBtcBaseSwapHandler<V extends FromBtcBaseSwap<SwapData, S>, S> extends EscrowHandler<V, S> {
|
|
14
|
-
abstract config: FromBtcBaseConfig;
|
|
15
|
-
readonly AmountAssertions: FromBtcAmountAssertions;
|
|
16
|
-
constructor(storageDirectory: IIntermediaryStorage<V>, path: string, chainsData: MultichainData, swapPricing: ISwapPrice, config: FromBtcBaseConfig);
|
|
17
|
-
/**
|
|
18
|
-
* Starts a pre-fetch for swap price & security deposit price
|
|
19
|
-
*
|
|
20
|
-
* @param chainIdentifier
|
|
21
|
-
* @param useToken
|
|
22
|
-
* @param depositToken
|
|
23
|
-
* @param abortController
|
|
24
|
-
*/
|
|
25
|
-
protected getFromBtcPricePrefetches(chainIdentifier: string, useToken: string, depositToken: string, abortController: AbortController): {
|
|
26
|
-
pricePrefetchPromise: Promise<bigint>;
|
|
27
|
-
gasTokenPricePrefetchPromise: Promise<bigint>;
|
|
28
|
-
depositTokenPricePrefetchPromise: Promise<bigint>;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Starts a pre-fetch for base security deposit (transaction fee for refunding transaction on our side)
|
|
32
|
-
*
|
|
33
|
-
* @param chainIdentifier
|
|
34
|
-
* @param dummySwapData
|
|
35
|
-
* @param depositToken
|
|
36
|
-
* @param gasTokenPricePrefetchPromise
|
|
37
|
-
* @param depositTokenPricePrefetchPromise
|
|
38
|
-
* @param abortController
|
|
39
|
-
*/
|
|
40
|
-
protected getBaseSecurityDepositPrefetch(chainIdentifier: string, dummySwapData: SwapData, depositToken: string, gasTokenPricePrefetchPromise: Promise<bigint>, depositTokenPricePrefetchPromise: Promise<bigint>, abortController: AbortController): Promise<bigint>;
|
|
41
|
-
/**
|
|
42
|
-
* Starts a pre-fetch for vault balance
|
|
43
|
-
*
|
|
44
|
-
* @param chainIdentifier
|
|
45
|
-
* @param useToken
|
|
46
|
-
* @param abortController
|
|
47
|
-
* @param inContract
|
|
48
|
-
*/
|
|
49
|
-
protected getBalancePrefetch(chainIdentifier: string, useToken: string, abortController: AbortController, inContract?: boolean): Promise<bigint>;
|
|
50
|
-
/**
|
|
51
|
-
* Checks if we have enough balance of the token in the swap vault
|
|
52
|
-
*
|
|
53
|
-
* @param totalInToken
|
|
54
|
-
* @param balancePrefetch
|
|
55
|
-
* @param signal
|
|
56
|
-
* @throws {DefinedRuntimeError} will throw an error if there are not enough funds in the vault
|
|
57
|
-
*/
|
|
58
|
-
protected checkBalance(totalInToken: bigint, balancePrefetch: Promise<bigint>, signal: AbortSignal | null): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Checks if the specified token is allowed as a deposit token
|
|
61
|
-
*
|
|
62
|
-
* @param chainIdentifier
|
|
63
|
-
* @param depositToken
|
|
64
|
-
* @throws {DefinedRuntimeError} will throw an error if there are not enough funds in the vault
|
|
65
|
-
*/
|
|
66
|
-
protected checkAllowedDepositToken(chainIdentifier: string, depositToken: string): void;
|
|
67
|
-
/**
|
|
68
|
-
* Signs the created swap
|
|
69
|
-
*
|
|
70
|
-
* @param chainIdentifier
|
|
71
|
-
* @param swapObject
|
|
72
|
-
* @param req
|
|
73
|
-
* @param abortSignal
|
|
74
|
-
* @param signDataPrefetchPromise
|
|
75
|
-
*/
|
|
76
|
-
protected getFromBtcSignatureData(chainIdentifier: string, swapObject: SwapData, req: Request & {
|
|
77
|
-
paramReader: IParamReader;
|
|
78
|
-
}, abortSignal: AbortSignal, signDataPrefetchPromise?: Promise<any>): Promise<{
|
|
79
|
-
prefix: string;
|
|
80
|
-
timeout: string;
|
|
81
|
-
signature: string;
|
|
82
|
-
feeRate: string;
|
|
83
|
-
}>;
|
|
84
|
-
/**
|
|
85
|
-
* Calculates the required security deposit
|
|
86
|
-
*
|
|
87
|
-
* @param chainIdentifier
|
|
88
|
-
* @param amountBD
|
|
89
|
-
* @param swapFee
|
|
90
|
-
* @param expiryTimeout
|
|
91
|
-
* @param baseSecurityDepositPromise
|
|
92
|
-
* @param depositToken
|
|
93
|
-
* @param depositTokenPricePrefetchPromise
|
|
94
|
-
* @param securityDepositData
|
|
95
|
-
* @param signal
|
|
96
|
-
* @param metadata
|
|
97
|
-
*/
|
|
98
|
-
protected getSecurityDeposit(chainIdentifier: string, amountBD: bigint, swapFee: bigint, expiryTimeout: bigint, baseSecurityDepositPromise: Promise<bigint>, depositToken: string, depositTokenPricePrefetchPromise: Promise<bigint>, securityDepositData: {
|
|
99
|
-
securityDepositApyPPM?: bigint;
|
|
100
|
-
securityDepositBaseMultiplierPPM?: bigint;
|
|
101
|
-
}, signal: AbortSignal, metadata: any): Promise<bigint>;
|
|
102
|
-
}
|
|
1
|
+
import { SwapData } from "@atomiqlabs/base";
|
|
2
|
+
import { MultichainData, SwapBaseConfig } from "../SwapHandler";
|
|
3
|
+
import { IParamReader } from "../../utils/paramcoders/IParamReader";
|
|
4
|
+
import { Request } from "express";
|
|
5
|
+
import { EscrowHandler } from "./EscrowHandler";
|
|
6
|
+
import { FromBtcBaseSwap } from "./FromBtcBaseSwap";
|
|
7
|
+
import { FromBtcAmountAssertions } from "../assertions/FromBtcAmountAssertions";
|
|
8
|
+
import { IIntermediaryStorage } from "../../storage/IIntermediaryStorage";
|
|
9
|
+
import { ISwapPrice } from "../../prices/ISwapPrice";
|
|
10
|
+
export type FromBtcBaseConfig = SwapBaseConfig & {
|
|
11
|
+
securityDepositAPY: number;
|
|
12
|
+
};
|
|
13
|
+
export declare abstract class FromBtcBaseSwapHandler<V extends FromBtcBaseSwap<SwapData, S>, S> extends EscrowHandler<V, S> {
|
|
14
|
+
abstract config: FromBtcBaseConfig;
|
|
15
|
+
readonly AmountAssertions: FromBtcAmountAssertions;
|
|
16
|
+
constructor(storageDirectory: IIntermediaryStorage<V>, path: string, chainsData: MultichainData, swapPricing: ISwapPrice, config: FromBtcBaseConfig);
|
|
17
|
+
/**
|
|
18
|
+
* Starts a pre-fetch for swap price & security deposit price
|
|
19
|
+
*
|
|
20
|
+
* @param chainIdentifier
|
|
21
|
+
* @param useToken
|
|
22
|
+
* @param depositToken
|
|
23
|
+
* @param abortController
|
|
24
|
+
*/
|
|
25
|
+
protected getFromBtcPricePrefetches(chainIdentifier: string, useToken: string, depositToken: string, abortController: AbortController): {
|
|
26
|
+
pricePrefetchPromise: Promise<bigint>;
|
|
27
|
+
gasTokenPricePrefetchPromise: Promise<bigint>;
|
|
28
|
+
depositTokenPricePrefetchPromise: Promise<bigint>;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Starts a pre-fetch for base security deposit (transaction fee for refunding transaction on our side)
|
|
32
|
+
*
|
|
33
|
+
* @param chainIdentifier
|
|
34
|
+
* @param dummySwapData
|
|
35
|
+
* @param depositToken
|
|
36
|
+
* @param gasTokenPricePrefetchPromise
|
|
37
|
+
* @param depositTokenPricePrefetchPromise
|
|
38
|
+
* @param abortController
|
|
39
|
+
*/
|
|
40
|
+
protected getBaseSecurityDepositPrefetch(chainIdentifier: string, dummySwapData: SwapData, depositToken: string, gasTokenPricePrefetchPromise: Promise<bigint>, depositTokenPricePrefetchPromise: Promise<bigint>, abortController: AbortController): Promise<bigint>;
|
|
41
|
+
/**
|
|
42
|
+
* Starts a pre-fetch for vault balance
|
|
43
|
+
*
|
|
44
|
+
* @param chainIdentifier
|
|
45
|
+
* @param useToken
|
|
46
|
+
* @param abortController
|
|
47
|
+
* @param inContract
|
|
48
|
+
*/
|
|
49
|
+
protected getBalancePrefetch(chainIdentifier: string, useToken: string, abortController: AbortController, inContract?: boolean): Promise<bigint>;
|
|
50
|
+
/**
|
|
51
|
+
* Checks if we have enough balance of the token in the swap vault
|
|
52
|
+
*
|
|
53
|
+
* @param totalInToken
|
|
54
|
+
* @param balancePrefetch
|
|
55
|
+
* @param signal
|
|
56
|
+
* @throws {DefinedRuntimeError} will throw an error if there are not enough funds in the vault
|
|
57
|
+
*/
|
|
58
|
+
protected checkBalance(totalInToken: bigint, balancePrefetch: Promise<bigint>, signal: AbortSignal | null): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Checks if the specified token is allowed as a deposit token
|
|
61
|
+
*
|
|
62
|
+
* @param chainIdentifier
|
|
63
|
+
* @param depositToken
|
|
64
|
+
* @throws {DefinedRuntimeError} will throw an error if there are not enough funds in the vault
|
|
65
|
+
*/
|
|
66
|
+
protected checkAllowedDepositToken(chainIdentifier: string, depositToken: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* Signs the created swap
|
|
69
|
+
*
|
|
70
|
+
* @param chainIdentifier
|
|
71
|
+
* @param swapObject
|
|
72
|
+
* @param req
|
|
73
|
+
* @param abortSignal
|
|
74
|
+
* @param signDataPrefetchPromise
|
|
75
|
+
*/
|
|
76
|
+
protected getFromBtcSignatureData(chainIdentifier: string, swapObject: SwapData, req: Request & {
|
|
77
|
+
paramReader: IParamReader;
|
|
78
|
+
}, abortSignal: AbortSignal, signDataPrefetchPromise?: Promise<any>): Promise<{
|
|
79
|
+
prefix: string;
|
|
80
|
+
timeout: string;
|
|
81
|
+
signature: string;
|
|
82
|
+
feeRate: string;
|
|
83
|
+
}>;
|
|
84
|
+
/**
|
|
85
|
+
* Calculates the required security deposit
|
|
86
|
+
*
|
|
87
|
+
* @param chainIdentifier
|
|
88
|
+
* @param amountBD
|
|
89
|
+
* @param swapFee
|
|
90
|
+
* @param expiryTimeout
|
|
91
|
+
* @param baseSecurityDepositPromise
|
|
92
|
+
* @param depositToken
|
|
93
|
+
* @param depositTokenPricePrefetchPromise
|
|
94
|
+
* @param securityDepositData
|
|
95
|
+
* @param signal
|
|
96
|
+
* @param metadata
|
|
97
|
+
*/
|
|
98
|
+
protected getSecurityDeposit(chainIdentifier: string, amountBD: bigint, swapFee: bigint, expiryTimeout: bigint, baseSecurityDepositPromise: Promise<bigint>, depositToken: string, depositTokenPricePrefetchPromise: Promise<bigint>, securityDepositData: {
|
|
99
|
+
securityDepositApyPPM?: bigint;
|
|
100
|
+
securityDepositBaseMultiplierPPM?: bigint;
|
|
101
|
+
}, signal: AbortSignal, metadata: any): Promise<bigint>;
|
|
102
|
+
}
|