@atomiqlabs/lp-lib 17.5.1 → 17.5.2
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 +43 -43
- package/dist/index.js +59 -59
- package/dist/info/InfoHandler.d.ts +17 -17
- package/dist/info/InfoHandler.js +61 -61
- package/dist/plugins/IPlugin.d.ts +158 -158
- package/dist/plugins/IPlugin.js +35 -35
- package/dist/plugins/PluginManager.d.ts +115 -115
- package/dist/plugins/PluginManager.js +304 -304
- package/dist/prices/BinanceSwapPrice.d.ts +29 -29
- package/dist/prices/BinanceSwapPrice.js +79 -79
- package/dist/prices/CoinGeckoSwapPrice.d.ts +33 -33
- package/dist/prices/CoinGeckoSwapPrice.js +51 -51
- package/dist/prices/ISwapPrice.d.ts +43 -43
- package/dist/prices/ISwapPrice.js +55 -55
- package/dist/prices/OKXSwapPrice.d.ts +29 -29
- package/dist/prices/OKXSwapPrice.js +79 -79
- 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 +178 -178
- package/dist/swaps/SwapHandler.js +225 -225
- package/dist/swaps/SwapHandlerSwap.d.ts +80 -80
- package/dist/swaps/SwapHandlerSwap.js +78 -78
- package/dist/swaps/assertions/AmountAssertions.d.ts +37 -37
- package/dist/swaps/assertions/AmountAssertions.js +83 -83
- package/dist/swaps/assertions/FromBtcAmountAssertions.d.ts +76 -76
- package/dist/swaps/assertions/FromBtcAmountAssertions.js +189 -189
- 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 +154 -154
- package/dist/swaps/escrow/EscrowHandler.d.ts +50 -50
- package/dist/swaps/escrow/EscrowHandler.js +151 -151
- 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 +84 -84
- package/dist/swaps/escrow/frombtc_abstract/FromBtcAbs.js +329 -329
- package/dist/swaps/escrow/frombtc_abstract/FromBtcSwapAbs.d.ts +22 -22
- package/dist/swaps/escrow/frombtc_abstract/FromBtcSwapAbs.js +53 -53
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnAbs.d.ts +115 -115
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnAbs.js +719 -719
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnSwapAbs.d.ts +34 -34
- package/dist/swaps/escrow/frombtcln_abstract/FromBtcLnSwapAbs.js +94 -94
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAuto.d.ts +119 -119
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAuto.js +730 -730
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAutoSwap.d.ts +56 -56
- package/dist/swaps/escrow/frombtcln_autoinit/FromBtcLnAutoSwap.js +123 -123
- package/dist/swaps/escrow/tobtc_abstract/ToBtcAbs.d.ts +170 -170
- package/dist/swaps/escrow/tobtc_abstract/ToBtcAbs.js +769 -769
- package/dist/swaps/escrow/tobtc_abstract/ToBtcSwapAbs.d.ts +29 -29
- package/dist/swaps/escrow/tobtc_abstract/ToBtcSwapAbs.js +67 -67
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnAbs.d.ts +178 -178
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnAbs.js +912 -912
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnSwapAbs.d.ts +25 -25
- package/dist/swaps/escrow/tobtcln_abstract/ToBtcLnSwapAbs.js +61 -61
- package/dist/swaps/spv_vault_swap/SpvVault.d.ts +45 -45
- package/dist/swaps/spv_vault_swap/SpvVault.js +148 -148
- package/dist/swaps/spv_vault_swap/SpvVaultSwap.d.ts +71 -71
- package/dist/swaps/spv_vault_swap/SpvVaultSwap.js +165 -165
- package/dist/swaps/spv_vault_swap/SpvVaultSwapHandler.d.ts +72 -72
- package/dist/swaps/spv_vault_swap/SpvVaultSwapHandler.js +710 -710
- package/dist/swaps/spv_vault_swap/SpvVaults.d.ts +70 -70
- package/dist/swaps/spv_vault_swap/SpvVaults.js +554 -554
- package/dist/swaps/spv_vault_swap/StickyAddress.d.ts +6 -6
- package/dist/swaps/spv_vault_swap/StickyAddress.js +19 -19
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrusted.d.ts +52 -52
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrusted.js +677 -677
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrustedSwap.d.ts +53 -53
- package/dist/swaps/trusted/frombtc_trusted/FromBtcTrustedSwap.js +121 -121
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrusted.d.ts +77 -77
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrusted.js +518 -518
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrustedSwap.d.ts +35 -35
- package/dist/swaps/trusted/frombtcln_trusted/FromBtcLnTrustedSwap.js +84 -84
- package/dist/utils/BitcoinUtils.d.ts +4 -4
- package/dist/utils/BitcoinUtils.js +61 -61
- package/dist/utils/Utils.d.ts +32 -32
- package/dist/utils/Utils.js +130 -130
- 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 +155 -155
- package/dist/wallets/IBitcoinWallet.js +100 -100
- package/dist/wallets/ILightningWallet.d.ts +137 -137
- 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 +37 -37
- package/src/fees/IBtcFeeEstimator.ts +6 -6
- package/src/index.ts +54 -54
- package/src/info/InfoHandler.ts +106 -106
- package/src/plugins/IPlugin.ts +196 -196
- package/src/plugins/PluginManager.ts +389 -389
- package/src/prices/BinanceSwapPrice.ts +101 -101
- package/src/prices/CoinGeckoSwapPrice.ts +75 -75
- package/src/prices/ISwapPrice.ts +88 -88
- package/src/prices/OKXSwapPrice.ts +101 -101
- 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 +337 -337
- package/src/swaps/SwapHandlerSwap.ts +143 -143
- package/src/swaps/assertions/AmountAssertions.ts +97 -97
- package/src/swaps/assertions/FromBtcAmountAssertions.ts +257 -257
- package/src/swaps/assertions/LightningAssertions.ts +103 -103
- package/src/swaps/assertions/ToBtcAmountAssertions.ts +209 -209
- package/src/swaps/escrow/EscrowHandler.ts +172 -172
- 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 +468 -468
- package/src/swaps/escrow/frombtc_abstract/FromBtcSwapAbs.ts +65 -65
- package/src/swaps/escrow/frombtcln_abstract/FromBtcLnAbs.ts +900 -900
- package/src/swaps/escrow/frombtcln_abstract/FromBtcLnSwapAbs.ts +145 -145
- package/src/swaps/escrow/frombtcln_autoinit/FromBtcLnAuto.ts +892 -892
- package/src/swaps/escrow/frombtcln_autoinit/FromBtcLnAutoSwap.ts +200 -200
- package/src/swaps/escrow/tobtc_abstract/ToBtcAbs.ts +947 -947
- package/src/swaps/escrow/tobtc_abstract/ToBtcSwapAbs.ts +112 -112
- package/src/swaps/escrow/tobtcln_abstract/ToBtcLnAbs.ts +1167 -1167
- package/src/swaps/escrow/tobtcln_abstract/ToBtcLnSwapAbs.ts +84 -84
- package/src/swaps/spv_vault_swap/SpvVault.ts +182 -182
- package/src/swaps/spv_vault_swap/SpvVaultSwap.ts +239 -239
- package/src/swaps/spv_vault_swap/SpvVaultSwapHandler.ts +897 -897
- package/src/swaps/spv_vault_swap/SpvVaults.ts +640 -640
- package/src/swaps/spv_vault_swap/StickyAddress.ts +20 -20
- package/src/swaps/trusted/frombtc_trusted/FromBtcTrusted.ts +782 -782
- package/src/swaps/trusted/frombtc_trusted/FromBtcTrustedSwap.ts +189 -189
- package/src/swaps/trusted/frombtcln_trusted/FromBtcLnTrusted.ts +622 -622
- package/src/swaps/trusted/frombtcln_trusted/FromBtcLnTrustedSwap.ts +125 -125
- package/src/utils/BitcoinUtils.ts +59 -59
- package/src/utils/Utils.ts +152 -152
- 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 +246 -246
- package/src/wallets/ILightningWallet.ts +201 -201
- package/src/wallets/ISpvVaultSigner.ts +10 -10
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Express } from "express";
|
|
2
|
-
import { MultichainData, SwapHandler } from "../swaps/SwapHandler";
|
|
3
|
-
/**
|
|
4
|
-
* Handles info requests to POST /info returning information about fees, swap params, etc.
|
|
5
|
-
*/
|
|
6
|
-
export declare class InfoHandler {
|
|
7
|
-
readonly chainData: MultichainData;
|
|
8
|
-
readonly path: string;
|
|
9
|
-
readonly swapHandlers: SwapHandler[];
|
|
10
|
-
constructor(chainData: MultichainData, path: string, swapHandlers: SwapHandler[]);
|
|
11
|
-
/**
|
|
12
|
-
* Adds a listener to POST /info
|
|
13
|
-
*
|
|
14
|
-
* @param restServer
|
|
15
|
-
*/
|
|
16
|
-
startRestServer(restServer: Express): void;
|
|
17
|
-
}
|
|
1
|
+
import { Express } from "express";
|
|
2
|
+
import { MultichainData, SwapHandler } from "../swaps/SwapHandler";
|
|
3
|
+
/**
|
|
4
|
+
* Handles info requests to POST /info returning information about fees, swap params, etc.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InfoHandler {
|
|
7
|
+
readonly chainData: MultichainData;
|
|
8
|
+
readonly path: string;
|
|
9
|
+
readonly swapHandlers: SwapHandler[];
|
|
10
|
+
constructor(chainData: MultichainData, path: string, swapHandlers: SwapHandler[]);
|
|
11
|
+
/**
|
|
12
|
+
* Adds a listener to POST /info
|
|
13
|
+
*
|
|
14
|
+
* @param restServer
|
|
15
|
+
*/
|
|
16
|
+
startRestServer(restServer: Express): void;
|
|
17
|
+
}
|
package/dist/info/InfoHandler.js
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InfoHandler = void 0;
|
|
4
|
-
const express = require("express");
|
|
5
|
-
const HEX_REGEX = /[0-9a-f]+/i;
|
|
6
|
-
/**
|
|
7
|
-
* Handles info requests to POST /info returning information about fees, swap params, etc.
|
|
8
|
-
*/
|
|
9
|
-
class InfoHandler {
|
|
10
|
-
constructor(chainData, path, swapHandlers) {
|
|
11
|
-
this.chainData = chainData;
|
|
12
|
-
this.path = path;
|
|
13
|
-
this.swapHandlers = swapHandlers;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Adds a listener to POST /info
|
|
17
|
-
*
|
|
18
|
-
* @param restServer
|
|
19
|
-
*/
|
|
20
|
-
startRestServer(restServer) {
|
|
21
|
-
const infoHandler = async (req, res) => {
|
|
22
|
-
const reqParams = { ...req.body, ...req.query };
|
|
23
|
-
if (reqParams.nonce == null ||
|
|
24
|
-
typeof (reqParams.nonce) !== "string" ||
|
|
25
|
-
reqParams.nonce.length > 64 ||
|
|
26
|
-
!HEX_REGEX.test(reqParams.nonce)) {
|
|
27
|
-
res.status(400).json({
|
|
28
|
-
msg: "Invalid request body (nonce)"
|
|
29
|
-
});
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const env = {
|
|
33
|
-
nonce: reqParams.nonce,
|
|
34
|
-
services: {}
|
|
35
|
-
};
|
|
36
|
-
for (let swapHandler of this.swapHandlers) {
|
|
37
|
-
env.services[swapHandler.type] = swapHandler.getInfo();
|
|
38
|
-
}
|
|
39
|
-
const envelope = JSON.stringify(env);
|
|
40
|
-
const envelopeBuffer = Buffer.from(envelope);
|
|
41
|
-
const chains = {};
|
|
42
|
-
for (let chainIdentifier in this.chainData.chains) {
|
|
43
|
-
const singleChain = this.chainData.chains[chainIdentifier];
|
|
44
|
-
chains[chainIdentifier] = {
|
|
45
|
-
address: singleChain.signer.getAddress(),
|
|
46
|
-
signature: await singleChain.swapContract.getDataSignature(singleChain.signer, envelopeBuffer),
|
|
47
|
-
contractVersion: singleChain.contractVersion ?? "v1"
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
const response = {
|
|
51
|
-
envelope,
|
|
52
|
-
chains
|
|
53
|
-
};
|
|
54
|
-
res.status(200).json(response);
|
|
55
|
-
};
|
|
56
|
-
restServer.use(this.path + "/info", express.json());
|
|
57
|
-
restServer.post(this.path + "/info", infoHandler);
|
|
58
|
-
restServer.get(this.path + "/info", infoHandler);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.InfoHandler = InfoHandler;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InfoHandler = void 0;
|
|
4
|
+
const express = require("express");
|
|
5
|
+
const HEX_REGEX = /[0-9a-f]+/i;
|
|
6
|
+
/**
|
|
7
|
+
* Handles info requests to POST /info returning information about fees, swap params, etc.
|
|
8
|
+
*/
|
|
9
|
+
class InfoHandler {
|
|
10
|
+
constructor(chainData, path, swapHandlers) {
|
|
11
|
+
this.chainData = chainData;
|
|
12
|
+
this.path = path;
|
|
13
|
+
this.swapHandlers = swapHandlers;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Adds a listener to POST /info
|
|
17
|
+
*
|
|
18
|
+
* @param restServer
|
|
19
|
+
*/
|
|
20
|
+
startRestServer(restServer) {
|
|
21
|
+
const infoHandler = async (req, res) => {
|
|
22
|
+
const reqParams = { ...req.body, ...req.query };
|
|
23
|
+
if (reqParams.nonce == null ||
|
|
24
|
+
typeof (reqParams.nonce) !== "string" ||
|
|
25
|
+
reqParams.nonce.length > 64 ||
|
|
26
|
+
!HEX_REGEX.test(reqParams.nonce)) {
|
|
27
|
+
res.status(400).json({
|
|
28
|
+
msg: "Invalid request body (nonce)"
|
|
29
|
+
});
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const env = {
|
|
33
|
+
nonce: reqParams.nonce,
|
|
34
|
+
services: {}
|
|
35
|
+
};
|
|
36
|
+
for (let swapHandler of this.swapHandlers) {
|
|
37
|
+
env.services[swapHandler.type] = swapHandler.getInfo();
|
|
38
|
+
}
|
|
39
|
+
const envelope = JSON.stringify(env);
|
|
40
|
+
const envelopeBuffer = Buffer.from(envelope);
|
|
41
|
+
const chains = {};
|
|
42
|
+
for (let chainIdentifier in this.chainData.chains) {
|
|
43
|
+
const singleChain = this.chainData.chains[chainIdentifier];
|
|
44
|
+
chains[chainIdentifier] = {
|
|
45
|
+
address: singleChain.signer.getAddress(),
|
|
46
|
+
signature: await singleChain.swapContract.getDataSignature(singleChain.signer, envelopeBuffer),
|
|
47
|
+
contractVersion: singleChain.contractVersion ?? "v1"
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const response = {
|
|
51
|
+
envelope,
|
|
52
|
+
chains
|
|
53
|
+
};
|
|
54
|
+
res.status(200).json(response);
|
|
55
|
+
};
|
|
56
|
+
restServer.use(this.path + "/info", express.json());
|
|
57
|
+
restServer.post(this.path + "/info", infoHandler);
|
|
58
|
+
restServer.get(this.path + "/info", infoHandler);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.InfoHandler = InfoHandler;
|
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
import { BitcoinRpc } from "@atomiqlabs/base";
|
|
2
|
-
import { FromBtcLnAutoSwap, FromBtcLnRequestType, FromBtcLnSwapAbs, FromBtcLnTrustedSwap, FromBtcRequestType, FromBtcSwapAbs, FromBtcTrustedRequestType, FromBtcTrustedSwap, ISwapPrice, MultichainData, RequestData, SpvVaultPostQuote, SpvVaultSwap, SpvVaultSwapRequestType, SwapHandler, SwapHandlerType, ToBtcLnRequestType, ToBtcLnSwapAbs, ToBtcRequestType, ToBtcSwapAbs } from "..";
|
|
3
|
-
import { SwapHandlerSwap } from "../swaps/SwapHandlerSwap";
|
|
4
|
-
import { Command } from "@atomiqlabs/server-base";
|
|
5
|
-
import { FromBtcLnTrustedRequestType } from "../swaps/trusted/frombtcln_trusted/FromBtcLnTrusted";
|
|
6
|
-
import { IBitcoinWallet } from "../wallets/IBitcoinWallet";
|
|
7
|
-
import { ILightningWallet } from "../wallets/ILightningWallet";
|
|
8
|
-
import { SpvVault } from "../swaps/spv_vault_swap/SpvVault";
|
|
9
|
-
export type QuoteThrow = {
|
|
10
|
-
type: "throw";
|
|
11
|
-
message: string;
|
|
12
|
-
};
|
|
13
|
-
export declare function isQuoteThrow(obj: any): obj is QuoteThrow;
|
|
14
|
-
export type QuoteSetFees = {
|
|
15
|
-
type: "fees";
|
|
16
|
-
baseFee?: bigint;
|
|
17
|
-
feePPM?: bigint;
|
|
18
|
-
securityDepositApyPPM?: bigint;
|
|
19
|
-
securityDepositBaseMultiplierPPM?: bigint;
|
|
20
|
-
};
|
|
21
|
-
export declare function isQuoteSetFees(obj: any): obj is QuoteSetFees;
|
|
22
|
-
export type QuoteAmountTooLow = {
|
|
23
|
-
type: "low";
|
|
24
|
-
data: {
|
|
25
|
-
min: bigint;
|
|
26
|
-
max: bigint;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export declare function isQuoteAmountTooLow(obj: any): obj is QuoteAmountTooLow;
|
|
30
|
-
export type QuoteAmountTooHigh = {
|
|
31
|
-
type: "high";
|
|
32
|
-
data: {
|
|
33
|
-
min: bigint;
|
|
34
|
-
max: bigint;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
export declare function isQuoteAmountTooHigh(obj: any): obj is QuoteAmountTooHigh;
|
|
38
|
-
export type PluginQuote = {
|
|
39
|
-
type: "success";
|
|
40
|
-
amount: {
|
|
41
|
-
input: boolean;
|
|
42
|
-
amount: bigint;
|
|
43
|
-
};
|
|
44
|
-
swapFee: {
|
|
45
|
-
inInputTokens: bigint;
|
|
46
|
-
inOutputTokens: bigint;
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
export declare function isPluginQuote(obj: any): obj is PluginQuote;
|
|
50
|
-
export type ToBtcPluginQuote = PluginQuote & {
|
|
51
|
-
networkFee: {
|
|
52
|
-
inInputTokens: bigint;
|
|
53
|
-
inOutputTokens: bigint;
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
export declare function isToBtcPluginQuote(obj: any): obj is ToBtcPluginQuote;
|
|
57
|
-
export interface IPlugin {
|
|
58
|
-
name: string;
|
|
59
|
-
author: string;
|
|
60
|
-
description: string;
|
|
61
|
-
onEnable(chainsData: MultichainData, bitcoinRpc: BitcoinRpc<any>, bitcoinWallet: IBitcoinWallet, lightningWallet: ILightningWallet, swapPricing: ISwapPrice, tokens: {
|
|
62
|
-
[chainId: string]: {
|
|
63
|
-
[ticker: string]: {
|
|
64
|
-
address: string;
|
|
65
|
-
decimals: number;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
}, directory: string): Promise<void>;
|
|
69
|
-
onDisable(): Promise<void>;
|
|
70
|
-
onServiceInitialize(service: SwapHandler<any>): Promise<void>;
|
|
71
|
-
onHttpServerStarted?(expressServer: any): Promise<void>;
|
|
72
|
-
onSwapStateChange?(swap: SwapHandlerSwap): Promise<void>;
|
|
73
|
-
onSwapCreate?(swap: SwapHandlerSwap): Promise<void>;
|
|
74
|
-
onSwapRemove?(swap: SwapHandlerSwap): Promise<void>;
|
|
75
|
-
onHandlePreFromBtcQuote?(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: {
|
|
76
|
-
input: boolean;
|
|
77
|
-
amount: bigint;
|
|
78
|
-
token: string;
|
|
79
|
-
}, chainIdentifier: string, constraints: {
|
|
80
|
-
minInBtc: bigint;
|
|
81
|
-
maxInBtc: bigint;
|
|
82
|
-
}, fees: {
|
|
83
|
-
baseFeeInBtc: bigint;
|
|
84
|
-
feePPM: bigint;
|
|
85
|
-
}, gasTokenAmount?: {
|
|
86
|
-
input: false;
|
|
87
|
-
amount: bigint;
|
|
88
|
-
token: string;
|
|
89
|
-
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh>;
|
|
90
|
-
onHandlePostFromBtcQuote?(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: {
|
|
91
|
-
input: boolean;
|
|
92
|
-
amount: bigint;
|
|
93
|
-
token: string;
|
|
94
|
-
pricePrefetch?: Promise<bigint>;
|
|
95
|
-
}, chainIdentifier: string, constraints: {
|
|
96
|
-
minInBtc: bigint;
|
|
97
|
-
maxInBtc: bigint;
|
|
98
|
-
}, fees: {
|
|
99
|
-
baseFeeInBtc: bigint;
|
|
100
|
-
feePPM: bigint;
|
|
101
|
-
}, gasTokenAmount?: {
|
|
102
|
-
input: false;
|
|
103
|
-
amount: bigint;
|
|
104
|
-
token: string;
|
|
105
|
-
pricePrefetch?: Promise<bigint>;
|
|
106
|
-
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh | PluginQuote>;
|
|
107
|
-
/**
|
|
108
|
-
* Triggered when the quote is about to get executed, this means:
|
|
109
|
-
* - FROM_BTCLN - lightning network payment received and the LP is about to sign an authorization allowing the user to settle
|
|
110
|
-
* - FROM_BTC - triggered on quote request, before the final authorization is given to the user
|
|
111
|
-
* - FROM_BTCLN_TRUSTED - triggered when the LP receives the funds on the source chain and before destination funds are sent
|
|
112
|
-
* - FROM_BTC_TRUSTED - triggered when the LP receives the funds on the source chain and before destination funds are sent
|
|
113
|
-
* - FROM_BTC_SPV - triggered before LP broadcasts the co-signed swap PSBT
|
|
114
|
-
* - FROM_BTCLN_AUTO - lightning network payment received and the LP is about to offer an HTLC to the user
|
|
115
|
-
*
|
|
116
|
-
* @param swapType
|
|
117
|
-
* @param swap
|
|
118
|
-
*/
|
|
119
|
-
onHandlePreFromBtcExecute?(swapType: SwapHandlerType.FROM_BTCLN | SwapHandlerType.FROM_BTC | SwapHandlerType.FROM_BTCLN_TRUSTED | SwapHandlerType.FROM_BTC_TRUSTED | SwapHandlerType.FROM_BTC_SPV | SwapHandlerType.FROM_BTCLN_AUTO, swap: FromBtcLnSwapAbs | FromBtcSwapAbs | FromBtcLnTrustedSwap | FromBtcTrustedSwap | SpvVaultSwap | FromBtcLnAutoSwap): Promise<QuoteThrow | null>;
|
|
120
|
-
onHandlePreToBtcQuote?(swapType: SwapHandlerType.TO_BTCLN | SwapHandlerType.TO_BTC, request: RequestData<ToBtcLnRequestType | ToBtcRequestType>, requestedAmount: {
|
|
121
|
-
input: boolean;
|
|
122
|
-
amount: bigint;
|
|
123
|
-
token: string;
|
|
124
|
-
}, chainIdentifier: string, constraints: {
|
|
125
|
-
minInBtc: bigint;
|
|
126
|
-
maxInBtc: bigint;
|
|
127
|
-
}, fees: {
|
|
128
|
-
baseFeeInBtc: bigint;
|
|
129
|
-
feePPM: bigint;
|
|
130
|
-
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh>;
|
|
131
|
-
onHandlePostToBtcQuote?(swapType: SwapHandlerType.TO_BTCLN | SwapHandlerType.TO_BTC, request: RequestData<ToBtcLnRequestType | ToBtcRequestType>, requestedAmount: {
|
|
132
|
-
input: boolean;
|
|
133
|
-
amount: bigint;
|
|
134
|
-
token: string;
|
|
135
|
-
pricePrefetch?: Promise<bigint>;
|
|
136
|
-
}, chainIdentifier: string, constraints: {
|
|
137
|
-
minInBtc: bigint;
|
|
138
|
-
maxInBtc: bigint;
|
|
139
|
-
}, fees: {
|
|
140
|
-
baseFeeInBtc: bigint;
|
|
141
|
-
feePPM: bigint;
|
|
142
|
-
networkFeeGetter: (amount: bigint) => Promise<bigint>;
|
|
143
|
-
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh | ToBtcPluginQuote>;
|
|
144
|
-
onHandlePreToBtcExecute?(swapType: SwapHandlerType.TO_BTCLN | SwapHandlerType.TO_BTC, swap: ToBtcLnSwapAbs | ToBtcSwapAbs): Promise<QuoteThrow | null>;
|
|
145
|
-
onHandlePostedFromBtcQuote?(swapType: SwapHandlerType.FROM_BTC_SPV, request: RequestData<SpvVaultPostQuote>, swap: SpvVaultSwap): Promise<QuoteThrow | null>;
|
|
146
|
-
onVaultSelection?(chainIdentifier: string, totalSats: bigint, requestedAmount: {
|
|
147
|
-
amount: bigint;
|
|
148
|
-
token: string;
|
|
149
|
-
}, gasAmount: {
|
|
150
|
-
amount: bigint;
|
|
151
|
-
token: string;
|
|
152
|
-
}): Promise<SpvVault | QuoteThrow | QuoteAmountTooHigh | QuoteAmountTooLow | null>;
|
|
153
|
-
/**
|
|
154
|
-
* Returns whitelisted bitcoin txIds that are OK to spend even with 0-confs
|
|
155
|
-
*/
|
|
156
|
-
getWhitelistedTxIds?(): string[];
|
|
157
|
-
getCommands?(): Command<any>[];
|
|
158
|
-
}
|
|
1
|
+
import { BitcoinRpc } from "@atomiqlabs/base";
|
|
2
|
+
import { FromBtcLnAutoSwap, FromBtcLnRequestType, FromBtcLnSwapAbs, FromBtcLnTrustedSwap, FromBtcRequestType, FromBtcSwapAbs, FromBtcTrustedRequestType, FromBtcTrustedSwap, ISwapPrice, MultichainData, RequestData, SpvVaultPostQuote, SpvVaultSwap, SpvVaultSwapRequestType, SwapHandler, SwapHandlerType, ToBtcLnRequestType, ToBtcLnSwapAbs, ToBtcRequestType, ToBtcSwapAbs } from "..";
|
|
3
|
+
import { SwapHandlerSwap } from "../swaps/SwapHandlerSwap";
|
|
4
|
+
import { Command } from "@atomiqlabs/server-base";
|
|
5
|
+
import { FromBtcLnTrustedRequestType } from "../swaps/trusted/frombtcln_trusted/FromBtcLnTrusted";
|
|
6
|
+
import { IBitcoinWallet } from "../wallets/IBitcoinWallet";
|
|
7
|
+
import { ILightningWallet } from "../wallets/ILightningWallet";
|
|
8
|
+
import { SpvVault } from "../swaps/spv_vault_swap/SpvVault";
|
|
9
|
+
export type QuoteThrow = {
|
|
10
|
+
type: "throw";
|
|
11
|
+
message: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function isQuoteThrow(obj: any): obj is QuoteThrow;
|
|
14
|
+
export type QuoteSetFees = {
|
|
15
|
+
type: "fees";
|
|
16
|
+
baseFee?: bigint;
|
|
17
|
+
feePPM?: bigint;
|
|
18
|
+
securityDepositApyPPM?: bigint;
|
|
19
|
+
securityDepositBaseMultiplierPPM?: bigint;
|
|
20
|
+
};
|
|
21
|
+
export declare function isQuoteSetFees(obj: any): obj is QuoteSetFees;
|
|
22
|
+
export type QuoteAmountTooLow = {
|
|
23
|
+
type: "low";
|
|
24
|
+
data: {
|
|
25
|
+
min: bigint;
|
|
26
|
+
max: bigint;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export declare function isQuoteAmountTooLow(obj: any): obj is QuoteAmountTooLow;
|
|
30
|
+
export type QuoteAmountTooHigh = {
|
|
31
|
+
type: "high";
|
|
32
|
+
data: {
|
|
33
|
+
min: bigint;
|
|
34
|
+
max: bigint;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export declare function isQuoteAmountTooHigh(obj: any): obj is QuoteAmountTooHigh;
|
|
38
|
+
export type PluginQuote = {
|
|
39
|
+
type: "success";
|
|
40
|
+
amount: {
|
|
41
|
+
input: boolean;
|
|
42
|
+
amount: bigint;
|
|
43
|
+
};
|
|
44
|
+
swapFee: {
|
|
45
|
+
inInputTokens: bigint;
|
|
46
|
+
inOutputTokens: bigint;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
export declare function isPluginQuote(obj: any): obj is PluginQuote;
|
|
50
|
+
export type ToBtcPluginQuote = PluginQuote & {
|
|
51
|
+
networkFee: {
|
|
52
|
+
inInputTokens: bigint;
|
|
53
|
+
inOutputTokens: bigint;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export declare function isToBtcPluginQuote(obj: any): obj is ToBtcPluginQuote;
|
|
57
|
+
export interface IPlugin {
|
|
58
|
+
name: string;
|
|
59
|
+
author: string;
|
|
60
|
+
description: string;
|
|
61
|
+
onEnable(chainsData: MultichainData, bitcoinRpc: BitcoinRpc<any>, bitcoinWallet: IBitcoinWallet, lightningWallet: ILightningWallet, swapPricing: ISwapPrice, tokens: {
|
|
62
|
+
[chainId: string]: {
|
|
63
|
+
[ticker: string]: {
|
|
64
|
+
address: string;
|
|
65
|
+
decimals: number;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
}, directory: string): Promise<void>;
|
|
69
|
+
onDisable(): Promise<void>;
|
|
70
|
+
onServiceInitialize(service: SwapHandler<any>): Promise<void>;
|
|
71
|
+
onHttpServerStarted?(expressServer: any): Promise<void>;
|
|
72
|
+
onSwapStateChange?(swap: SwapHandlerSwap): Promise<void>;
|
|
73
|
+
onSwapCreate?(swap: SwapHandlerSwap): Promise<void>;
|
|
74
|
+
onSwapRemove?(swap: SwapHandlerSwap): Promise<void>;
|
|
75
|
+
onHandlePreFromBtcQuote?(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: {
|
|
76
|
+
input: boolean;
|
|
77
|
+
amount: bigint;
|
|
78
|
+
token: string;
|
|
79
|
+
}, chainIdentifier: string, constraints: {
|
|
80
|
+
minInBtc: bigint;
|
|
81
|
+
maxInBtc: bigint;
|
|
82
|
+
}, fees: {
|
|
83
|
+
baseFeeInBtc: bigint;
|
|
84
|
+
feePPM: bigint;
|
|
85
|
+
}, gasTokenAmount?: {
|
|
86
|
+
input: false;
|
|
87
|
+
amount: bigint;
|
|
88
|
+
token: string;
|
|
89
|
+
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh>;
|
|
90
|
+
onHandlePostFromBtcQuote?(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: {
|
|
91
|
+
input: boolean;
|
|
92
|
+
amount: bigint;
|
|
93
|
+
token: string;
|
|
94
|
+
pricePrefetch?: Promise<bigint>;
|
|
95
|
+
}, chainIdentifier: string, constraints: {
|
|
96
|
+
minInBtc: bigint;
|
|
97
|
+
maxInBtc: bigint;
|
|
98
|
+
}, fees: {
|
|
99
|
+
baseFeeInBtc: bigint;
|
|
100
|
+
feePPM: bigint;
|
|
101
|
+
}, gasTokenAmount?: {
|
|
102
|
+
input: false;
|
|
103
|
+
amount: bigint;
|
|
104
|
+
token: string;
|
|
105
|
+
pricePrefetch?: Promise<bigint>;
|
|
106
|
+
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh | PluginQuote>;
|
|
107
|
+
/**
|
|
108
|
+
* Triggered when the quote is about to get executed, this means:
|
|
109
|
+
* - FROM_BTCLN - lightning network payment received and the LP is about to sign an authorization allowing the user to settle
|
|
110
|
+
* - FROM_BTC - triggered on quote request, before the final authorization is given to the user
|
|
111
|
+
* - FROM_BTCLN_TRUSTED - triggered when the LP receives the funds on the source chain and before destination funds are sent
|
|
112
|
+
* - FROM_BTC_TRUSTED - triggered when the LP receives the funds on the source chain and before destination funds are sent
|
|
113
|
+
* - FROM_BTC_SPV - triggered before LP broadcasts the co-signed swap PSBT
|
|
114
|
+
* - FROM_BTCLN_AUTO - lightning network payment received and the LP is about to offer an HTLC to the user
|
|
115
|
+
*
|
|
116
|
+
* @param swapType
|
|
117
|
+
* @param swap
|
|
118
|
+
*/
|
|
119
|
+
onHandlePreFromBtcExecute?(swapType: SwapHandlerType.FROM_BTCLN | SwapHandlerType.FROM_BTC | SwapHandlerType.FROM_BTCLN_TRUSTED | SwapHandlerType.FROM_BTC_TRUSTED | SwapHandlerType.FROM_BTC_SPV | SwapHandlerType.FROM_BTCLN_AUTO, swap: FromBtcLnSwapAbs | FromBtcSwapAbs | FromBtcLnTrustedSwap | FromBtcTrustedSwap | SpvVaultSwap | FromBtcLnAutoSwap): Promise<QuoteThrow | null>;
|
|
120
|
+
onHandlePreToBtcQuote?(swapType: SwapHandlerType.TO_BTCLN | SwapHandlerType.TO_BTC, request: RequestData<ToBtcLnRequestType | ToBtcRequestType>, requestedAmount: {
|
|
121
|
+
input: boolean;
|
|
122
|
+
amount: bigint;
|
|
123
|
+
token: string;
|
|
124
|
+
}, chainIdentifier: string, constraints: {
|
|
125
|
+
minInBtc: bigint;
|
|
126
|
+
maxInBtc: bigint;
|
|
127
|
+
}, fees: {
|
|
128
|
+
baseFeeInBtc: bigint;
|
|
129
|
+
feePPM: bigint;
|
|
130
|
+
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh>;
|
|
131
|
+
onHandlePostToBtcQuote?(swapType: SwapHandlerType.TO_BTCLN | SwapHandlerType.TO_BTC, request: RequestData<ToBtcLnRequestType | ToBtcRequestType>, requestedAmount: {
|
|
132
|
+
input: boolean;
|
|
133
|
+
amount: bigint;
|
|
134
|
+
token: string;
|
|
135
|
+
pricePrefetch?: Promise<bigint>;
|
|
136
|
+
}, chainIdentifier: string, constraints: {
|
|
137
|
+
minInBtc: bigint;
|
|
138
|
+
maxInBtc: bigint;
|
|
139
|
+
}, fees: {
|
|
140
|
+
baseFeeInBtc: bigint;
|
|
141
|
+
feePPM: bigint;
|
|
142
|
+
networkFeeGetter: (amount: bigint) => Promise<bigint>;
|
|
143
|
+
}): Promise<QuoteThrow | QuoteSetFees | QuoteAmountTooLow | QuoteAmountTooHigh | ToBtcPluginQuote>;
|
|
144
|
+
onHandlePreToBtcExecute?(swapType: SwapHandlerType.TO_BTCLN | SwapHandlerType.TO_BTC, swap: ToBtcLnSwapAbs | ToBtcSwapAbs): Promise<QuoteThrow | null>;
|
|
145
|
+
onHandlePostedFromBtcQuote?(swapType: SwapHandlerType.FROM_BTC_SPV, request: RequestData<SpvVaultPostQuote>, swap: SpvVaultSwap): Promise<QuoteThrow | null>;
|
|
146
|
+
onVaultSelection?(chainIdentifier: string, totalSats: bigint, requestedAmount: {
|
|
147
|
+
amount: bigint;
|
|
148
|
+
token: string;
|
|
149
|
+
}, gasAmount: {
|
|
150
|
+
amount: bigint;
|
|
151
|
+
token: string;
|
|
152
|
+
}): Promise<SpvVault | QuoteThrow | QuoteAmountTooHigh | QuoteAmountTooLow | null>;
|
|
153
|
+
/**
|
|
154
|
+
* Returns whitelisted bitcoin txIds that are OK to spend even with 0-confs
|
|
155
|
+
*/
|
|
156
|
+
getWhitelistedTxIds?(): string[];
|
|
157
|
+
getCommands?(): Command<any>[];
|
|
158
|
+
}
|
package/dist/plugins/IPlugin.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isToBtcPluginQuote = exports.isPluginQuote = exports.isQuoteAmountTooHigh = exports.isQuoteAmountTooLow = exports.isQuoteSetFees = exports.isQuoteThrow = void 0;
|
|
4
|
-
function isQuoteThrow(obj) {
|
|
5
|
-
return obj != null && obj.type === "throw" && typeof (obj.message) === "string";
|
|
6
|
-
}
|
|
7
|
-
exports.isQuoteThrow = isQuoteThrow;
|
|
8
|
-
function isQuoteSetFees(obj) {
|
|
9
|
-
return obj != null &&
|
|
10
|
-
obj.type === "fees" &&
|
|
11
|
-
(obj.baseFee == null || typeof (obj.baseFee) === "bigint") &&
|
|
12
|
-
(obj.feePPM == null || typeof (obj.feePPM) === "bigint") &&
|
|
13
|
-
(obj.securityDepositApyPPM == null || typeof (obj.securityDepositApyPPM) === "bigint") &&
|
|
14
|
-
(obj.securityDepositBaseMultiplierPPM == null || typeof (obj.securityDepositBaseMultiplierPPM) === "bigint");
|
|
15
|
-
}
|
|
16
|
-
exports.isQuoteSetFees = isQuoteSetFees;
|
|
17
|
-
function isQuoteAmountTooLow(obj) {
|
|
18
|
-
return obj != null && obj.type === "low" && obj.data != null && typeof (obj.data) === "object" && typeof (obj.data.min) === "bigint" && typeof (obj.data.max) === "bigint";
|
|
19
|
-
}
|
|
20
|
-
exports.isQuoteAmountTooLow = isQuoteAmountTooLow;
|
|
21
|
-
function isQuoteAmountTooHigh(obj) {
|
|
22
|
-
return obj != null && obj.type === "high" && obj.data != null && typeof (obj.data) === "object" && typeof (obj.data.min) === "bigint" && typeof (obj.data.max) === "bigint";
|
|
23
|
-
}
|
|
24
|
-
exports.isQuoteAmountTooHigh = isQuoteAmountTooHigh;
|
|
25
|
-
function isPluginQuote(obj) {
|
|
26
|
-
return obj != null && obj.type === "success" &&
|
|
27
|
-
obj.amount != null && typeof (obj.amount) === "object" && typeof (obj.amount.input) === "boolean" && typeof (obj.amount.amount) === "bigint" &&
|
|
28
|
-
obj.swapFee != null && typeof (obj.swapFee) === "object" && typeof (obj.swapFee.inInputTokens) === "bigint" && typeof (obj.swapFee.inOutputTokens) === "bigint";
|
|
29
|
-
}
|
|
30
|
-
exports.isPluginQuote = isPluginQuote;
|
|
31
|
-
function isToBtcPluginQuote(obj) {
|
|
32
|
-
return obj != null && obj.networkFee != null && typeof (obj.networkFee) === "object" && typeof (obj.networkFee.inInputTokens) === "bigint" && typeof (obj.networkFee.inOutputTokens) === "bigint" &&
|
|
33
|
-
isPluginQuote(obj);
|
|
34
|
-
}
|
|
35
|
-
exports.isToBtcPluginQuote = isToBtcPluginQuote;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isToBtcPluginQuote = exports.isPluginQuote = exports.isQuoteAmountTooHigh = exports.isQuoteAmountTooLow = exports.isQuoteSetFees = exports.isQuoteThrow = void 0;
|
|
4
|
+
function isQuoteThrow(obj) {
|
|
5
|
+
return obj != null && obj.type === "throw" && typeof (obj.message) === "string";
|
|
6
|
+
}
|
|
7
|
+
exports.isQuoteThrow = isQuoteThrow;
|
|
8
|
+
function isQuoteSetFees(obj) {
|
|
9
|
+
return obj != null &&
|
|
10
|
+
obj.type === "fees" &&
|
|
11
|
+
(obj.baseFee == null || typeof (obj.baseFee) === "bigint") &&
|
|
12
|
+
(obj.feePPM == null || typeof (obj.feePPM) === "bigint") &&
|
|
13
|
+
(obj.securityDepositApyPPM == null || typeof (obj.securityDepositApyPPM) === "bigint") &&
|
|
14
|
+
(obj.securityDepositBaseMultiplierPPM == null || typeof (obj.securityDepositBaseMultiplierPPM) === "bigint");
|
|
15
|
+
}
|
|
16
|
+
exports.isQuoteSetFees = isQuoteSetFees;
|
|
17
|
+
function isQuoteAmountTooLow(obj) {
|
|
18
|
+
return obj != null && obj.type === "low" && obj.data != null && typeof (obj.data) === "object" && typeof (obj.data.min) === "bigint" && typeof (obj.data.max) === "bigint";
|
|
19
|
+
}
|
|
20
|
+
exports.isQuoteAmountTooLow = isQuoteAmountTooLow;
|
|
21
|
+
function isQuoteAmountTooHigh(obj) {
|
|
22
|
+
return obj != null && obj.type === "high" && obj.data != null && typeof (obj.data) === "object" && typeof (obj.data.min) === "bigint" && typeof (obj.data.max) === "bigint";
|
|
23
|
+
}
|
|
24
|
+
exports.isQuoteAmountTooHigh = isQuoteAmountTooHigh;
|
|
25
|
+
function isPluginQuote(obj) {
|
|
26
|
+
return obj != null && obj.type === "success" &&
|
|
27
|
+
obj.amount != null && typeof (obj.amount) === "object" && typeof (obj.amount.input) === "boolean" && typeof (obj.amount.amount) === "bigint" &&
|
|
28
|
+
obj.swapFee != null && typeof (obj.swapFee) === "object" && typeof (obj.swapFee.inInputTokens) === "bigint" && typeof (obj.swapFee.inOutputTokens) === "bigint";
|
|
29
|
+
}
|
|
30
|
+
exports.isPluginQuote = isPluginQuote;
|
|
31
|
+
function isToBtcPluginQuote(obj) {
|
|
32
|
+
return obj != null && obj.networkFee != null && typeof (obj.networkFee) === "object" && typeof (obj.networkFee.inInputTokens) === "bigint" && typeof (obj.networkFee.inOutputTokens) === "bigint" &&
|
|
33
|
+
isPluginQuote(obj);
|
|
34
|
+
}
|
|
35
|
+
exports.isToBtcPluginQuote = isToBtcPluginQuote;
|