@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.
Files changed (100) hide show
  1. package/dist/info/InfoHandler.js +3 -12
  2. package/dist/plugins/IPlugin.d.ts +34 -35
  3. package/dist/plugins/IPlugin.js +7 -8
  4. package/dist/plugins/PluginManager.d.ts +29 -30
  5. package/dist/plugins/PluginManager.js +160 -188
  6. package/dist/prices/BinanceSwapPrice.d.ts +1 -2
  7. package/dist/prices/BinanceSwapPrice.js +56 -70
  8. package/dist/prices/CoinGeckoSwapPrice.d.ts +2 -3
  9. package/dist/prices/CoinGeckoSwapPrice.js +30 -42
  10. package/dist/prices/OKXSwapPrice.d.ts +1 -2
  11. package/dist/prices/OKXSwapPrice.js +56 -70
  12. package/dist/storage/IIntermediaryStorage.d.ts +8 -5
  13. package/dist/storagemanager/IntermediaryStorageManager.d.ts +8 -5
  14. package/dist/storagemanager/IntermediaryStorageManager.js +52 -61
  15. package/dist/storagemanager/StorageManager.js +42 -59
  16. package/dist/swaps/FromBtcBaseSwap.d.ts +7 -8
  17. package/dist/swaps/FromBtcBaseSwap.js +2 -3
  18. package/dist/swaps/FromBtcBaseSwapHandler.d.ts +44 -31
  19. package/dist/swaps/FromBtcBaseSwapHandler.js +217 -196
  20. package/dist/swaps/FromBtcLnBaseSwapHandler.d.ts +1 -2
  21. package/dist/swaps/FromBtcLnBaseSwapHandler.js +13 -24
  22. package/dist/swaps/ISwapPrice.d.ts +4 -5
  23. package/dist/swaps/ISwapPrice.js +8 -30
  24. package/dist/swaps/SwapHandler.d.ts +26 -15
  25. package/dist/swaps/SwapHandler.js +107 -66
  26. package/dist/swaps/SwapHandlerSwap.d.ts +22 -11
  27. package/dist/swaps/SwapHandlerSwap.js +32 -8
  28. package/dist/swaps/ToBtcBaseSwap.d.ts +16 -17
  29. package/dist/swaps/ToBtcBaseSwap.js +4 -4
  30. package/dist/swaps/ToBtcBaseSwapHandler.d.ts +17 -17
  31. package/dist/swaps/ToBtcBaseSwapHandler.js +140 -155
  32. package/dist/swaps/frombtc_abstract/FromBtcAbs.d.ts +8 -15
  33. package/dist/swaps/frombtc_abstract/FromBtcAbs.js +131 -196
  34. package/dist/swaps/frombtc_abstract/FromBtcSwapAbs.d.ts +3 -5
  35. package/dist/swaps/frombtc_abstract/FromBtcSwapAbs.js +4 -4
  36. package/dist/swaps/frombtc_trusted/FromBtcTrusted.d.ts +10 -8
  37. package/dist/swaps/frombtc_trusted/FromBtcTrusted.js +330 -362
  38. package/dist/swaps/frombtc_trusted/FromBtcTrustedSwap.d.ts +10 -10
  39. package/dist/swaps/frombtc_trusted/FromBtcTrustedSwap.js +7 -4
  40. package/dist/swaps/frombtcln_abstract/FromBtcLnAbs.d.ts +8 -8
  41. package/dist/swaps/frombtcln_abstract/FromBtcLnAbs.js +330 -400
  42. package/dist/swaps/frombtcln_abstract/FromBtcLnSwapAbs.d.ts +10 -4
  43. package/dist/swaps/frombtcln_abstract/FromBtcLnSwapAbs.js +36 -6
  44. package/dist/swaps/frombtcln_trusted/FromBtcLnTrusted.d.ts +8 -7
  45. package/dist/swaps/frombtcln_trusted/FromBtcLnTrusted.js +251 -273
  46. package/dist/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.d.ts +5 -5
  47. package/dist/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.js +7 -5
  48. package/dist/swaps/tobtc_abstract/ToBtcAbs.d.ts +13 -12
  49. package/dist/swaps/tobtc_abstract/ToBtcAbs.js +261 -323
  50. package/dist/swaps/tobtc_abstract/ToBtcSwapAbs.d.ts +4 -4
  51. package/dist/swaps/tobtc_abstract/ToBtcSwapAbs.js +7 -6
  52. package/dist/swaps/tobtcln_abstract/ToBtcLnAbs.d.ts +22 -21
  53. package/dist/swaps/tobtcln_abstract/ToBtcLnAbs.js +398 -453
  54. package/dist/swaps/tobtcln_abstract/ToBtcLnSwapAbs.d.ts +3 -2
  55. package/dist/swaps/tobtcln_abstract/ToBtcLnSwapAbs.js +10 -6
  56. package/dist/utils/Utils.d.ts +2 -3
  57. package/dist/utils/Utils.js +4 -14
  58. package/dist/utils/paramcoders/LegacyParamEncoder.js +3 -14
  59. package/dist/utils/paramcoders/ParamDecoder.js +53 -65
  60. package/dist/utils/paramcoders/SchemaVerifier.d.ts +4 -5
  61. package/dist/utils/paramcoders/SchemaVerifier.js +8 -9
  62. package/dist/utils/paramcoders/server/ServerParamDecoder.js +1 -1
  63. package/dist/utils/paramcoders/server/ServerParamEncoder.js +3 -14
  64. package/dist/wallets/IBitcoinWallet.d.ts +4 -5
  65. package/dist/wallets/ILightningWallet.d.ts +20 -21
  66. package/dist/wallets/ILightningWallet.js +1 -1
  67. package/package.json +4 -6
  68. package/src/plugins/IPlugin.ts +28 -29
  69. package/src/plugins/PluginManager.ts +21 -22
  70. package/src/prices/BinanceSwapPrice.ts +3 -4
  71. package/src/prices/CoinGeckoSwapPrice.ts +4 -5
  72. package/src/prices/OKXSwapPrice.ts +3 -4
  73. package/src/storage/IIntermediaryStorage.ts +4 -5
  74. package/src/storagemanager/IntermediaryStorageManager.ts +17 -9
  75. package/src/swaps/FromBtcBaseSwap.ts +9 -10
  76. package/src/swaps/FromBtcBaseSwapHandler.ts +133 -91
  77. package/src/swaps/FromBtcLnBaseSwapHandler.ts +2 -3
  78. package/src/swaps/ISwapPrice.ts +10 -20
  79. package/src/swaps/SwapHandler.ts +101 -35
  80. package/src/swaps/SwapHandlerSwap.ts +42 -17
  81. package/src/swaps/ToBtcBaseSwap.ts +20 -18
  82. package/src/swaps/ToBtcBaseSwapHandler.ts +33 -33
  83. package/src/swaps/frombtc_abstract/FromBtcAbs.ts +64 -97
  84. package/src/swaps/frombtc_abstract/FromBtcSwapAbs.ts +7 -8
  85. package/src/swaps/frombtc_trusted/FromBtcTrusted.ts +56 -55
  86. package/src/swaps/frombtc_trusted/FromBtcTrustedSwap.ts +28 -21
  87. package/src/swaps/frombtcln_abstract/FromBtcLnAbs.ts +81 -116
  88. package/src/swaps/frombtcln_abstract/FromBtcLnSwapAbs.ts +73 -9
  89. package/src/swaps/frombtcln_trusted/FromBtcLnTrusted.ts +39 -36
  90. package/src/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.ts +26 -12
  91. package/src/swaps/tobtc_abstract/ToBtcAbs.ts +82 -98
  92. package/src/swaps/tobtc_abstract/ToBtcSwapAbs.ts +25 -20
  93. package/src/swaps/tobtcln_abstract/ToBtcLnAbs.ts +106 -118
  94. package/src/swaps/tobtcln_abstract/ToBtcLnSwapAbs.ts +17 -9
  95. package/src/utils/Utils.ts +3 -4
  96. package/src/utils/paramcoders/ParamDecoder.ts +5 -5
  97. package/src/utils/paramcoders/SchemaVerifier.ts +10 -11
  98. package/src/utils/paramcoders/server/ServerParamDecoder.ts +1 -1
  99. package/src/wallets/IBitcoinWallet.ts +4 -5
  100. 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: BN;
17
- readonly nonce: BN;
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: BN, swapFee: BN, swapFeeInToken: BN, networkFee: BN, networkFeeInToken: BN, satsPerVbyte: BN, nonce: BN, preferedConfirmationTarget: number);
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 = new BN(chainIdOrObj.satsPerVbyte);
34
- this.nonce = new BN(chainIdOrObj.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
- (_a = this.quotedNetworkFee) !== null && _a !== void 0 ? _a : (this.quotedNetworkFee = (0, Utils_1.deserializeBN)(chainIdOrObj.networkFee));
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: BN;
12
- minSendCltv: BN;
10
+ routingFeeMultiplier: bigint;
11
+ minSendCltv: bigint;
13
12
  allowProbeFailedSwaps: boolean;
14
13
  allowShortExpiry: boolean;
15
- minLnRoutingFeePPM?: BN;
16
- minLnBaseFee?: BN;
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: BN;
22
+ amount: bigint;
24
23
  initialInvoice: ParsedPaymentRequest;
25
- quotedNetworkFeeInToken: BN;
26
- swapFeeInToken: BN;
27
- total: BN;
24
+ quotedNetworkFeeInToken: bigint;
25
+ swapFeeInToken: bigint;
26
+ total: bigint;
28
27
  confidence: number;
29
- quotedNetworkFee: BN;
30
- swapFee: BN;
28
+ quotedNetworkFee: bigint;
29
+ swapFee: bigint;
31
30
  token: string;
32
- swapExpiry: BN;
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: BN;
48
- expiryTimestamp: BN;
46
+ maxFee: bigint;
47
+ expiryTimestamp: bigint;
49
48
  token: string;
50
49
  offerer: string;
51
50
  exactIn?: boolean;
52
- amount?: BN;
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: BN;
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: BN;
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
  */