@atomiqlabs/lp-lib 11.0.5 → 12.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/info/InfoHandler.js +3 -12
- package/dist/plugins/IPlugin.d.ts +34 -35
- package/dist/plugins/IPlugin.js +7 -8
- package/dist/plugins/PluginManager.d.ts +29 -30
- package/dist/plugins/PluginManager.js +160 -188
- package/dist/prices/BinanceSwapPrice.d.ts +1 -2
- package/dist/prices/BinanceSwapPrice.js +56 -70
- package/dist/prices/CoinGeckoSwapPrice.d.ts +2 -3
- package/dist/prices/CoinGeckoSwapPrice.js +30 -42
- package/dist/prices/OKXSwapPrice.d.ts +1 -2
- package/dist/prices/OKXSwapPrice.js +56 -70
- package/dist/storage/IIntermediaryStorage.d.ts +8 -5
- package/dist/storagemanager/IntermediaryStorageManager.d.ts +8 -5
- package/dist/storagemanager/IntermediaryStorageManager.js +52 -61
- package/dist/storagemanager/StorageManager.js +42 -59
- package/dist/swaps/FromBtcBaseSwap.d.ts +7 -8
- package/dist/swaps/FromBtcBaseSwap.js +2 -3
- package/dist/swaps/FromBtcBaseSwapHandler.d.ts +44 -31
- package/dist/swaps/FromBtcBaseSwapHandler.js +217 -196
- package/dist/swaps/FromBtcLnBaseSwapHandler.d.ts +1 -2
- package/dist/swaps/FromBtcLnBaseSwapHandler.js +13 -24
- package/dist/swaps/ISwapPrice.d.ts +4 -5
- package/dist/swaps/ISwapPrice.js +8 -30
- package/dist/swaps/SwapHandler.d.ts +26 -15
- package/dist/swaps/SwapHandler.js +107 -66
- package/dist/swaps/SwapHandlerSwap.d.ts +22 -11
- package/dist/swaps/SwapHandlerSwap.js +32 -8
- package/dist/swaps/ToBtcBaseSwap.d.ts +16 -17
- package/dist/swaps/ToBtcBaseSwap.js +4 -4
- package/dist/swaps/ToBtcBaseSwapHandler.d.ts +17 -17
- package/dist/swaps/ToBtcBaseSwapHandler.js +140 -155
- package/dist/swaps/frombtc_abstract/FromBtcAbs.d.ts +8 -15
- package/dist/swaps/frombtc_abstract/FromBtcAbs.js +131 -196
- package/dist/swaps/frombtc_abstract/FromBtcSwapAbs.d.ts +3 -5
- package/dist/swaps/frombtc_abstract/FromBtcSwapAbs.js +4 -4
- package/dist/swaps/frombtc_trusted/FromBtcTrusted.d.ts +10 -8
- package/dist/swaps/frombtc_trusted/FromBtcTrusted.js +330 -362
- package/dist/swaps/frombtc_trusted/FromBtcTrustedSwap.d.ts +10 -10
- package/dist/swaps/frombtc_trusted/FromBtcTrustedSwap.js +7 -4
- package/dist/swaps/frombtcln_abstract/FromBtcLnAbs.d.ts +8 -8
- package/dist/swaps/frombtcln_abstract/FromBtcLnAbs.js +330 -400
- package/dist/swaps/frombtcln_abstract/FromBtcLnSwapAbs.d.ts +10 -4
- package/dist/swaps/frombtcln_abstract/FromBtcLnSwapAbs.js +36 -6
- package/dist/swaps/frombtcln_trusted/FromBtcLnTrusted.d.ts +8 -7
- package/dist/swaps/frombtcln_trusted/FromBtcLnTrusted.js +251 -273
- package/dist/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.d.ts +5 -5
- package/dist/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.js +7 -5
- package/dist/swaps/tobtc_abstract/ToBtcAbs.d.ts +13 -12
- package/dist/swaps/tobtc_abstract/ToBtcAbs.js +261 -323
- package/dist/swaps/tobtc_abstract/ToBtcSwapAbs.d.ts +4 -4
- package/dist/swaps/tobtc_abstract/ToBtcSwapAbs.js +7 -6
- package/dist/swaps/tobtcln_abstract/ToBtcLnAbs.d.ts +22 -21
- package/dist/swaps/tobtcln_abstract/ToBtcLnAbs.js +398 -453
- package/dist/swaps/tobtcln_abstract/ToBtcLnSwapAbs.d.ts +3 -2
- package/dist/swaps/tobtcln_abstract/ToBtcLnSwapAbs.js +10 -6
- package/dist/utils/Utils.d.ts +2 -3
- package/dist/utils/Utils.js +4 -14
- package/dist/utils/paramcoders/LegacyParamEncoder.js +3 -14
- package/dist/utils/paramcoders/ParamDecoder.js +53 -65
- package/dist/utils/paramcoders/SchemaVerifier.d.ts +4 -5
- package/dist/utils/paramcoders/SchemaVerifier.js +8 -9
- package/dist/utils/paramcoders/server/ServerParamDecoder.js +1 -1
- package/dist/utils/paramcoders/server/ServerParamEncoder.js +3 -14
- package/dist/wallets/IBitcoinWallet.d.ts +4 -5
- package/dist/wallets/ILightningWallet.d.ts +20 -21
- package/dist/wallets/ILightningWallet.js +1 -1
- package/package.json +4 -6
- package/src/plugins/IPlugin.ts +28 -29
- package/src/plugins/PluginManager.ts +21 -22
- package/src/prices/BinanceSwapPrice.ts +3 -4
- package/src/prices/CoinGeckoSwapPrice.ts +4 -5
- package/src/prices/OKXSwapPrice.ts +3 -4
- package/src/storage/IIntermediaryStorage.ts +4 -5
- package/src/storagemanager/IntermediaryStorageManager.ts +17 -9
- package/src/swaps/FromBtcBaseSwap.ts +9 -10
- package/src/swaps/FromBtcBaseSwapHandler.ts +133 -91
- package/src/swaps/FromBtcLnBaseSwapHandler.ts +2 -3
- package/src/swaps/ISwapPrice.ts +10 -20
- package/src/swaps/SwapHandler.ts +101 -35
- package/src/swaps/SwapHandlerSwap.ts +42 -17
- package/src/swaps/ToBtcBaseSwap.ts +20 -18
- package/src/swaps/ToBtcBaseSwapHandler.ts +33 -33
- package/src/swaps/frombtc_abstract/FromBtcAbs.ts +64 -97
- package/src/swaps/frombtc_abstract/FromBtcSwapAbs.ts +7 -8
- package/src/swaps/frombtc_trusted/FromBtcTrusted.ts +56 -55
- package/src/swaps/frombtc_trusted/FromBtcTrustedSwap.ts +28 -21
- package/src/swaps/frombtcln_abstract/FromBtcLnAbs.ts +81 -116
- package/src/swaps/frombtcln_abstract/FromBtcLnSwapAbs.ts +73 -9
- package/src/swaps/frombtcln_trusted/FromBtcLnTrusted.ts +39 -36
- package/src/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.ts +26 -12
- package/src/swaps/tobtc_abstract/ToBtcAbs.ts +82 -98
- package/src/swaps/tobtc_abstract/ToBtcSwapAbs.ts +25 -20
- package/src/swaps/tobtcln_abstract/ToBtcLnAbs.ts +106 -118
- package/src/swaps/tobtcln_abstract/ToBtcLnSwapAbs.ts +17 -9
- package/src/utils/Utils.ts +3 -4
- package/src/utils/paramcoders/ParamDecoder.ts +5 -5
- package/src/utils/paramcoders/SchemaVerifier.ts +10 -11
- package/src/utils/paramcoders/server/ServerParamDecoder.ts +1 -1
- package/src/wallets/IBitcoinWallet.ts +4 -5
- package/src/wallets/ILightningWallet.ts +21 -22
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as BN from "bn.js";
|
|
2
1
|
import { SwapData } from "@atomiqlabs/base";
|
|
3
2
|
import { ToBtcBaseSwap } from "../ToBtcBaseSwap";
|
|
4
3
|
export declare enum ToBtcSwapState {
|
|
@@ -13,11 +12,12 @@ export declare enum ToBtcSwapState {
|
|
|
13
12
|
}
|
|
14
13
|
export declare class ToBtcSwapAbs<T extends SwapData = SwapData> extends ToBtcBaseSwap<T, ToBtcSwapState> {
|
|
15
14
|
readonly address: string;
|
|
16
|
-
readonly satsPerVbyte:
|
|
17
|
-
readonly nonce:
|
|
15
|
+
readonly satsPerVbyte: bigint;
|
|
16
|
+
readonly nonce: bigint;
|
|
17
|
+
readonly requiredConfirmations: number;
|
|
18
18
|
readonly preferedConfirmationTarget: number;
|
|
19
19
|
txId: string;
|
|
20
|
-
constructor(chainIdentifier: string, address: string, amount:
|
|
20
|
+
constructor(chainIdentifier: string, address: string, amount: bigint, swapFee: bigint, swapFeeInToken: bigint, networkFee: bigint, networkFeeInToken: bigint, satsPerVbyte: bigint, nonce: bigint, requiredConfirmations: number, preferedConfirmationTarget: number);
|
|
21
21
|
constructor(obj: any);
|
|
22
22
|
serialize(): any;
|
|
23
23
|
isInitiated(): boolean;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ToBtcSwapAbs = exports.ToBtcSwapState = void 0;
|
|
4
|
-
const BN = require("bn.js");
|
|
5
4
|
const __1 = require("../..");
|
|
6
5
|
const ToBtcBaseSwap_1 = require("../ToBtcBaseSwap");
|
|
7
6
|
const Utils_1 = require("../../utils/Utils");
|
|
@@ -17,25 +16,26 @@ var ToBtcSwapState;
|
|
|
17
16
|
ToBtcSwapState[ToBtcSwapState["CLAIMED"] = 4] = "CLAIMED";
|
|
18
17
|
})(ToBtcSwapState = exports.ToBtcSwapState || (exports.ToBtcSwapState = {}));
|
|
19
18
|
class ToBtcSwapAbs extends ToBtcBaseSwap_1.ToBtcBaseSwap {
|
|
20
|
-
constructor(chainIdOrObj, address, amount, swapFee, swapFeeInToken, networkFee, networkFeeInToken, satsPerVbyte, nonce, preferedConfirmationTarget) {
|
|
21
|
-
var _a;
|
|
19
|
+
constructor(chainIdOrObj, address, amount, swapFee, swapFeeInToken, networkFee, networkFeeInToken, satsPerVbyte, nonce, requiredConfirmations, preferedConfirmationTarget) {
|
|
22
20
|
if (typeof (chainIdOrObj) === "string") {
|
|
23
21
|
super(chainIdOrObj, amount, swapFee, swapFeeInToken, networkFee, networkFeeInToken);
|
|
24
22
|
this.state = ToBtcSwapState.SAVED;
|
|
25
23
|
this.address = address;
|
|
26
24
|
this.satsPerVbyte = satsPerVbyte;
|
|
27
25
|
this.nonce = nonce;
|
|
26
|
+
this.requiredConfirmations = requiredConfirmations;
|
|
28
27
|
this.preferedConfirmationTarget = preferedConfirmationTarget;
|
|
29
28
|
}
|
|
30
29
|
else {
|
|
31
30
|
super(chainIdOrObj);
|
|
32
31
|
this.address = chainIdOrObj.address;
|
|
33
|
-
this.satsPerVbyte =
|
|
34
|
-
this.nonce =
|
|
32
|
+
this.satsPerVbyte = BigInt(chainIdOrObj.satsPerVbyte);
|
|
33
|
+
this.nonce = BigInt(chainIdOrObj.nonce);
|
|
34
|
+
this.requiredConfirmations = chainIdOrObj.requiredConfirmations;
|
|
35
35
|
this.preferedConfirmationTarget = chainIdOrObj.preferedConfirmationTarget;
|
|
36
36
|
this.txId = chainIdOrObj.txId;
|
|
37
37
|
//Compatibility
|
|
38
|
-
|
|
38
|
+
this.quotedNetworkFee ?? (this.quotedNetworkFee = (0, Utils_1.deserializeBN)(chainIdOrObj.networkFee));
|
|
39
39
|
}
|
|
40
40
|
this.type = __1.SwapHandlerType.TO_BTC;
|
|
41
41
|
}
|
|
@@ -43,6 +43,7 @@ class ToBtcSwapAbs extends ToBtcBaseSwap_1.ToBtcBaseSwap {
|
|
|
43
43
|
const partialSerialized = super.serialize();
|
|
44
44
|
partialSerialized.address = this.address;
|
|
45
45
|
partialSerialized.satsPerVbyte = this.satsPerVbyte.toString(10);
|
|
46
|
+
partialSerialized.requiredConfirmations = this.requiredConfirmations;
|
|
46
47
|
partialSerialized.nonce = this.nonce.toString(10);
|
|
47
48
|
partialSerialized.preferedConfirmationTarget = this.preferedConfirmationTarget;
|
|
48
49
|
partialSerialized.txId = this.txId;
|
|
@@ -1,35 +1,34 @@
|
|
|
1
|
-
import * as BN from "bn.js";
|
|
2
1
|
import { Express } from "express";
|
|
3
2
|
import { ToBtcLnSwapAbs, ToBtcLnSwapState } from "./ToBtcLnSwapAbs";
|
|
4
3
|
import { MultichainData, SwapHandlerType } from "../SwapHandler";
|
|
5
4
|
import { ISwapPrice } from "../ISwapPrice";
|
|
6
|
-
import { ClaimEvent, InitializeEvent, RefundEvent, SwapData } from "@atomiqlabs/base";
|
|
5
|
+
import { ChainSwapType, ClaimEvent, InitializeEvent, RefundEvent, SwapData } from "@atomiqlabs/base";
|
|
7
6
|
import { IIntermediaryStorage } from "../../storage/IIntermediaryStorage";
|
|
8
7
|
import { ToBtcBaseConfig, ToBtcBaseSwapHandler } from "../ToBtcBaseSwapHandler";
|
|
9
8
|
import { ILightningWallet, ParsedPaymentRequest } from "../../wallets/ILightningWallet";
|
|
10
9
|
export type ToBtcLnConfig = ToBtcBaseConfig & {
|
|
11
|
-
routingFeeMultiplier:
|
|
12
|
-
minSendCltv:
|
|
10
|
+
routingFeeMultiplier: bigint;
|
|
11
|
+
minSendCltv: bigint;
|
|
13
12
|
allowProbeFailedSwaps: boolean;
|
|
14
13
|
allowShortExpiry: boolean;
|
|
15
|
-
minLnRoutingFeePPM?:
|
|
16
|
-
minLnBaseFee?:
|
|
14
|
+
minLnRoutingFeePPM?: bigint;
|
|
15
|
+
minLnBaseFee?: bigint;
|
|
17
16
|
exactInExpiry?: number;
|
|
18
17
|
};
|
|
19
18
|
type ExactInAuthorization = {
|
|
20
19
|
chainIdentifier: string;
|
|
21
20
|
reqId: string;
|
|
22
21
|
expiry: number;
|
|
23
|
-
amount:
|
|
22
|
+
amount: bigint;
|
|
24
23
|
initialInvoice: ParsedPaymentRequest;
|
|
25
|
-
quotedNetworkFeeInToken:
|
|
26
|
-
swapFeeInToken:
|
|
27
|
-
total:
|
|
24
|
+
quotedNetworkFeeInToken: bigint;
|
|
25
|
+
swapFeeInToken: bigint;
|
|
26
|
+
total: bigint;
|
|
28
27
|
confidence: number;
|
|
29
|
-
quotedNetworkFee:
|
|
30
|
-
swapFee:
|
|
28
|
+
quotedNetworkFee: bigint;
|
|
29
|
+
swapFee: bigint;
|
|
31
30
|
token: string;
|
|
32
|
-
swapExpiry:
|
|
31
|
+
swapExpiry: bigint;
|
|
33
32
|
offerer: string;
|
|
34
33
|
preFetchSignData: any;
|
|
35
34
|
metadata: {
|
|
@@ -44,12 +43,12 @@ type ExactInAuthorization = {
|
|
|
44
43
|
};
|
|
45
44
|
export type ToBtcLnRequestType = {
|
|
46
45
|
pr: string;
|
|
47
|
-
maxFee:
|
|
48
|
-
expiryTimestamp:
|
|
46
|
+
maxFee: bigint;
|
|
47
|
+
expiryTimestamp: bigint;
|
|
49
48
|
token: string;
|
|
50
49
|
offerer: string;
|
|
51
50
|
exactIn?: boolean;
|
|
52
|
-
amount?:
|
|
51
|
+
amount?: bigint;
|
|
53
52
|
};
|
|
54
53
|
/**
|
|
55
54
|
* Swap handler handling to BTCLN swaps using submarine swaps
|
|
@@ -58,12 +57,13 @@ export declare class ToBtcLnAbs extends ToBtcBaseSwapHandler<ToBtcLnSwapAbs, ToB
|
|
|
58
57
|
protected readonly LIGHTNING_LIQUIDITY_CACHE_TIMEOUT: number;
|
|
59
58
|
activeSubscriptions: Set<string>;
|
|
60
59
|
lightningLiquidityCache: {
|
|
61
|
-
liquidity:
|
|
60
|
+
liquidity: bigint;
|
|
62
61
|
timestamp: number;
|
|
63
62
|
};
|
|
64
63
|
readonly type = SwapHandlerType.TO_BTCLN;
|
|
64
|
+
readonly swapType = ChainSwapType.HTLC;
|
|
65
65
|
readonly config: ToBtcLnConfig & {
|
|
66
|
-
minTsSendCltv:
|
|
66
|
+
minTsSendCltv: bigint;
|
|
67
67
|
};
|
|
68
68
|
readonly exactInAuths: {
|
|
69
69
|
[reqId: string]: ExactInAuthorization;
|
|
@@ -109,9 +109,9 @@ export declare class ToBtcLnAbs extends ToBtcBaseSwapHandler<ToBtcLnSwapAbs, ToB
|
|
|
109
109
|
* @param swap
|
|
110
110
|
*/
|
|
111
111
|
private processInitialized;
|
|
112
|
-
protected processInitializeEvent(chainIdentifier: string, event: InitializeEvent<SwapData>): Promise<void>;
|
|
113
|
-
protected processClaimEvent(chainIdentifier: string, event: ClaimEvent<SwapData>): Promise<void>;
|
|
114
|
-
protected processRefundEvent(chainIdentifier: string, event: RefundEvent<SwapData>): Promise<void>;
|
|
112
|
+
protected processInitializeEvent(chainIdentifier: string, swap: ToBtcLnSwapAbs, event: InitializeEvent<SwapData>): Promise<void>;
|
|
113
|
+
protected processClaimEvent(chainIdentifier: string, swap: ToBtcLnSwapAbs, event: ClaimEvent<SwapData>): Promise<void>;
|
|
114
|
+
protected processRefundEvent(chainIdentifier: string, swap: ToBtcLnSwapAbs, event: RefundEvent<SwapData>): Promise<void>;
|
|
115
115
|
/**
|
|
116
116
|
* Checks if the amount was supplied in the exactIn request
|
|
117
117
|
*
|
|
@@ -130,6 +130,7 @@ export declare class ToBtcLnAbs extends ToBtcBaseSwapHandler<ToBtcLnSwapAbs, ToB
|
|
|
130
130
|
/**
|
|
131
131
|
* Checks and parses a payment request (bolt11 invoice), additionally also checks expiration time of the invoice
|
|
132
132
|
*
|
|
133
|
+
* @param chainIdentifier
|
|
133
134
|
* @param pr
|
|
134
135
|
* @throws {DefinedRuntimeError} will throw an error if the pr is invalid, without amount or expired
|
|
135
136
|
*/
|