@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 { FromBtcBaseSwap } from "../FromBtcBaseSwap";
|
|
4
3
|
export declare enum FromBtcLnTrustedSwapState {
|
|
@@ -12,14 +11,15 @@ export declare enum FromBtcLnTrustedSwapState {
|
|
|
12
11
|
}
|
|
13
12
|
export declare class FromBtcLnTrustedSwap<T extends SwapData = SwapData> extends FromBtcBaseSwap<T, FromBtcLnTrustedSwapState> {
|
|
14
13
|
readonly pr: string;
|
|
15
|
-
readonly output:
|
|
14
|
+
readonly output: bigint;
|
|
16
15
|
readonly dstAddress: string;
|
|
17
16
|
readonly secret: string;
|
|
17
|
+
readonly token: string;
|
|
18
18
|
scRawTx: string;
|
|
19
|
-
constructor(chainIdentifier: string, pr: string, inputMtokens:
|
|
19
|
+
constructor(chainIdentifier: string, pr: string, inputMtokens: bigint, swapFee: bigint, swapFeeInToken: bigint, output: bigint, secret: string, dstAddress: string, token: string);
|
|
20
20
|
constructor(obj: any);
|
|
21
|
-
|
|
22
|
-
getSequence():
|
|
21
|
+
getClaimHash(): string;
|
|
22
|
+
getSequence(): bigint;
|
|
23
23
|
serialize(): any;
|
|
24
24
|
isFailed(): boolean;
|
|
25
25
|
isInitiated(): boolean;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FromBtcLnTrustedSwap = exports.FromBtcLnTrustedSwapState = void 0;
|
|
4
|
-
const BN = require("bn.js");
|
|
5
4
|
const crypto_1 = require("crypto");
|
|
6
5
|
const FromBtcBaseSwap_1 = require("../FromBtcBaseSwap");
|
|
7
6
|
const Utils_1 = require("../../utils/Utils");
|
|
@@ -16,14 +15,15 @@ var FromBtcLnTrustedSwapState;
|
|
|
16
15
|
FromBtcLnTrustedSwapState[FromBtcLnTrustedSwapState["SETTLED"] = 4] = "SETTLED";
|
|
17
16
|
})(FromBtcLnTrustedSwapState = exports.FromBtcLnTrustedSwapState || (exports.FromBtcLnTrustedSwapState = {}));
|
|
18
17
|
class FromBtcLnTrustedSwap extends FromBtcBaseSwap_1.FromBtcBaseSwap {
|
|
19
|
-
constructor(chainIdOrObj, pr, inputMtokens, swapFee, swapFeeInToken, output, secret, dstAddress) {
|
|
18
|
+
constructor(chainIdOrObj, pr, inputMtokens, swapFee, swapFeeInToken, output, secret, dstAddress, token) {
|
|
20
19
|
if (typeof (chainIdOrObj) === "string") {
|
|
21
|
-
super(chainIdOrObj, inputMtokens
|
|
20
|
+
super(chainIdOrObj, (inputMtokens + 999n) / 1000n, swapFee, swapFeeInToken);
|
|
22
21
|
this.state = FromBtcLnTrustedSwapState.CREATED;
|
|
23
22
|
this.pr = pr;
|
|
24
23
|
this.output = output;
|
|
25
24
|
this.secret = secret;
|
|
26
25
|
this.dstAddress = dstAddress;
|
|
26
|
+
this.token = token;
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
29
|
super(chainIdOrObj);
|
|
@@ -31,15 +31,16 @@ class FromBtcLnTrustedSwap extends FromBtcBaseSwap_1.FromBtcBaseSwap {
|
|
|
31
31
|
this.output = (0, Utils_1.deserializeBN)(chainIdOrObj.output);
|
|
32
32
|
this.secret = chainIdOrObj.secret;
|
|
33
33
|
this.dstAddress = chainIdOrObj.dstAddress;
|
|
34
|
+
this.token = chainIdOrObj.token;
|
|
34
35
|
this.scRawTx = chainIdOrObj.scRawTx;
|
|
35
36
|
}
|
|
36
37
|
this.type = null;
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
+
getClaimHash() {
|
|
39
40
|
return (0, crypto_1.createHash)("sha256").update(Buffer.from(this.secret, "hex")).digest().toString("hex");
|
|
40
41
|
}
|
|
41
42
|
getSequence() {
|
|
42
|
-
return
|
|
43
|
+
return 0n;
|
|
43
44
|
}
|
|
44
45
|
serialize() {
|
|
45
46
|
const partialSerialized = super.serialize();
|
|
@@ -47,6 +48,7 @@ class FromBtcLnTrustedSwap extends FromBtcBaseSwap_1.FromBtcBaseSwap {
|
|
|
47
48
|
partialSerialized.output = (0, Utils_1.serializeBN)(this.output);
|
|
48
49
|
partialSerialized.secret = this.secret;
|
|
49
50
|
partialSerialized.dstAddress = this.dstAddress;
|
|
51
|
+
partialSerialized.token = this.token;
|
|
50
52
|
partialSerialized.scRawTx = this.scRawTx;
|
|
51
53
|
return partialSerialized;
|
|
52
54
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Express } from "express";
|
|
2
|
-
import * as BN from "bn.js";
|
|
3
2
|
import { ToBtcSwapAbs, ToBtcSwapState } from "./ToBtcSwapAbs";
|
|
4
3
|
import { MultichainData, SwapHandlerType } from "../SwapHandler";
|
|
5
4
|
import { ISwapPrice } from "../ISwapPrice";
|
|
6
|
-
import { BtcTx, ClaimEvent, InitializeEvent, RefundEvent, SwapData, BitcoinRpc, BtcBlock } from "@atomiqlabs/base";
|
|
5
|
+
import { BtcTx, ChainSwapType, ClaimEvent, InitializeEvent, RefundEvent, SwapData, BitcoinRpc, BtcBlock } from "@atomiqlabs/base";
|
|
7
6
|
import { IIntermediaryStorage } from "../../storage/IIntermediaryStorage";
|
|
8
7
|
import { ToBtcBaseConfig, ToBtcBaseSwapHandler } from "../ToBtcBaseSwapHandler";
|
|
9
8
|
import { PromiseQueue } from "promise-queue-ts";
|
|
10
9
|
import { IBitcoinWallet } from "../../wallets/IBitcoinWallet";
|
|
11
10
|
export type ToBtcConfig = ToBtcBaseConfig & {
|
|
12
|
-
sendSafetyFactor:
|
|
13
|
-
minChainCltv:
|
|
11
|
+
sendSafetyFactor: bigint;
|
|
12
|
+
minChainCltv: bigint;
|
|
14
13
|
networkFeeMultiplier: number;
|
|
15
14
|
minConfirmations: number;
|
|
16
15
|
maxConfirmations: number;
|
|
@@ -20,10 +19,10 @@ export type ToBtcConfig = ToBtcBaseConfig & {
|
|
|
20
19
|
};
|
|
21
20
|
export type ToBtcRequestType = {
|
|
22
21
|
address: string;
|
|
23
|
-
amount:
|
|
22
|
+
amount: bigint;
|
|
24
23
|
confirmationTarget: number;
|
|
25
24
|
confirmations: number;
|
|
26
|
-
nonce:
|
|
25
|
+
nonce: bigint;
|
|
27
26
|
token: string;
|
|
28
27
|
offerer: string;
|
|
29
28
|
exactIn?: boolean;
|
|
@@ -33,6 +32,7 @@ export type ToBtcRequestType = {
|
|
|
33
32
|
*/
|
|
34
33
|
export declare class ToBtcAbs extends ToBtcBaseSwapHandler<ToBtcSwapAbs, ToBtcSwapState> {
|
|
35
34
|
readonly type = SwapHandlerType.TO_BTC;
|
|
35
|
+
readonly swapType = ChainSwapType.CHAIN_NONCED;
|
|
36
36
|
activeSubscriptions: {
|
|
37
37
|
[txId: string]: ToBtcSwapAbs;
|
|
38
38
|
};
|
|
@@ -46,6 +46,7 @@ export declare class ToBtcAbs extends ToBtcBaseSwapHandler<ToBtcSwapAbs, ToBtcSw
|
|
|
46
46
|
*
|
|
47
47
|
* @param chainIdentifier
|
|
48
48
|
* @param address
|
|
49
|
+
* @param confirmations
|
|
49
50
|
* @param nonce
|
|
50
51
|
* @param amount
|
|
51
52
|
*/
|
|
@@ -91,7 +92,7 @@ export declare class ToBtcAbs extends ToBtcBaseSwapHandler<ToBtcSwapAbs, ToBtcSw
|
|
|
91
92
|
* @private
|
|
92
93
|
* @throws DefinedRuntimeError will throw an error in case the actual fee is higher than quoted fee
|
|
93
94
|
*/
|
|
94
|
-
protected checkCalculatedTxFee(quotedSatsPerVbyte:
|
|
95
|
+
protected checkCalculatedTxFee(quotedSatsPerVbyte: bigint, actualSatsPerVbyte: bigint): void;
|
|
95
96
|
/**
|
|
96
97
|
* Sends a bitcoin transaction to payout BTC for a swap
|
|
97
98
|
*
|
|
@@ -106,16 +107,16 @@ export declare class ToBtcAbs extends ToBtcBaseSwapHandler<ToBtcSwapAbs, ToBtcSw
|
|
|
106
107
|
* @param swap
|
|
107
108
|
*/
|
|
108
109
|
private processInitialized;
|
|
109
|
-
protected processInitializeEvent(chainIdentifier: string, event: InitializeEvent<SwapData>): Promise<void>;
|
|
110
|
-
protected processClaimEvent(chainIdentifier: string, event: ClaimEvent<SwapData>): Promise<void>;
|
|
111
|
-
protected processRefundEvent(chainIdentifier: string, event: RefundEvent<SwapData>): Promise<void>;
|
|
110
|
+
protected processInitializeEvent(chainIdentifier: string, swap: ToBtcSwapAbs, event: InitializeEvent<SwapData>): Promise<void>;
|
|
111
|
+
protected processClaimEvent(chainIdentifier: string, swap: ToBtcSwapAbs, event: ClaimEvent<SwapData>): Promise<void>;
|
|
112
|
+
protected processRefundEvent(chainIdentifier: string, swap: ToBtcSwapAbs, event: RefundEvent<SwapData>): Promise<void>;
|
|
112
113
|
/**
|
|
113
114
|
* Returns required expiry delta for swap params
|
|
114
115
|
*
|
|
115
116
|
* @param confirmationTarget
|
|
116
117
|
* @param confirmations
|
|
117
118
|
*/
|
|
118
|
-
protected getExpiryFromCLTV(confirmationTarget: number, confirmations: number):
|
|
119
|
+
protected getExpiryFromCLTV(confirmationTarget: number, confirmations: number): bigint;
|
|
119
120
|
/**
|
|
120
121
|
* Checks if the requested nonce is valid
|
|
121
122
|
*
|
|
@@ -150,7 +151,7 @@ export declare class ToBtcAbs extends ToBtcBaseSwapHandler<ToBtcSwapAbs, ToBtcSw
|
|
|
150
151
|
* @param swap
|
|
151
152
|
* @throws {DefinedRuntimeError} will throw an error if the swap is expired
|
|
152
153
|
*/
|
|
153
|
-
protected checkExpired(swap: ToBtcSwapAbs): void
|
|
154
|
+
protected checkExpired(swap: ToBtcSwapAbs): Promise<void>;
|
|
154
155
|
/**
|
|
155
156
|
* Checks & returns the network fee needed for a transaction
|
|
156
157
|
*
|