@atomiqlabs/lp-lib 10.3.11 → 11.0.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 (94) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.js +2 -4
  3. package/dist/plugins/IPlugin.d.ts +3 -2
  4. package/dist/plugins/PluginManager.d.ts +3 -2
  5. package/dist/plugins/PluginManager.js +2 -2
  6. package/dist/swaps/FromBtcBaseSwap.d.ts +5 -1
  7. package/dist/swaps/FromBtcBaseSwap.js +20 -0
  8. package/dist/swaps/FromBtcBaseSwapHandler.d.ts +1 -0
  9. package/dist/swaps/FromBtcBaseSwapHandler.js +1 -1
  10. package/dist/swaps/FromBtcLnBaseSwapHandler.d.ts +8 -6
  11. package/dist/swaps/FromBtcLnBaseSwapHandler.js +7 -5
  12. package/dist/swaps/SwapHandler.d.ts +1 -4
  13. package/dist/swaps/SwapHandler.js +1 -2
  14. package/dist/swaps/SwapHandlerSwap.d.ts +4 -0
  15. package/dist/swaps/SwapHandlerSwap.js +9 -1
  16. package/dist/swaps/ToBtcBaseSwap.d.ts +3 -1
  17. package/dist/swaps/ToBtcBaseSwap.js +8 -2
  18. package/dist/swaps/ToBtcBaseSwapHandler.d.ts +1 -0
  19. package/dist/swaps/ToBtcBaseSwapHandler.js +1 -1
  20. package/dist/swaps/frombtc_abstract/FromBtcAbs.d.ts +3 -5
  21. package/dist/swaps/frombtc_abstract/FromBtcAbs.js +18 -25
  22. package/dist/swaps/frombtc_abstract/FromBtcSwapAbs.d.ts +1 -4
  23. package/dist/swaps/frombtc_abstract/FromBtcSwapAbs.js +3 -16
  24. package/dist/swaps/frombtc_trusted/FromBtcTrusted.d.ts +6 -9
  25. package/dist/swaps/frombtc_trusted/FromBtcTrusted.js +238 -137
  26. package/dist/swaps/frombtc_trusted/FromBtcTrustedSwap.d.ts +9 -6
  27. package/dist/swaps/frombtc_trusted/FromBtcTrustedSwap.js +15 -10
  28. package/dist/swaps/frombtcln_abstract/FromBtcLnAbs.d.ts +2 -2
  29. package/dist/swaps/frombtcln_abstract/FromBtcLnAbs.js +42 -62
  30. package/dist/swaps/frombtcln_abstract/FromBtcLnSwapAbs.d.ts +1 -6
  31. package/dist/swaps/frombtcln_abstract/FromBtcLnSwapAbs.js +2 -14
  32. package/dist/swaps/frombtcln_trusted/FromBtcLnTrusted.d.ts +3 -5
  33. package/dist/swaps/frombtcln_trusted/FromBtcLnTrusted.js +64 -80
  34. package/dist/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.d.ts +1 -2
  35. package/dist/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.js +5 -8
  36. package/dist/swaps/tobtc_abstract/ToBtcAbs.d.ts +5 -125
  37. package/dist/swaps/tobtc_abstract/ToBtcAbs.js +41 -334
  38. package/dist/swaps/tobtc_abstract/ToBtcSwapAbs.d.ts +1 -4
  39. package/dist/swaps/tobtc_abstract/ToBtcSwapAbs.js +2 -11
  40. package/dist/swaps/tobtcln_abstract/ToBtcLnAbs.d.ts +5 -55
  41. package/dist/swaps/tobtcln_abstract/ToBtcLnAbs.js +152 -398
  42. package/dist/swaps/tobtcln_abstract/ToBtcLnSwapAbs.d.ts +1 -6
  43. package/dist/swaps/tobtcln_abstract/ToBtcLnSwapAbs.js +2 -15
  44. package/dist/utils/Utils.d.ts +0 -10
  45. package/dist/utils/Utils.js +1 -34
  46. package/dist/wallets/IBitcoinWallet.d.ts +62 -0
  47. package/dist/wallets/IBitcoinWallet.js +2 -0
  48. package/dist/wallets/ILightningWallet.d.ts +118 -0
  49. package/dist/wallets/ILightningWallet.js +37 -0
  50. package/package.json +4 -9
  51. package/src/index.ts +3 -5
  52. package/src/plugins/IPlugin.ts +4 -2
  53. package/src/plugins/PluginManager.ts +6 -3
  54. package/src/swaps/FromBtcBaseSwap.ts +24 -1
  55. package/src/swaps/FromBtcBaseSwapHandler.ts +6 -2
  56. package/src/swaps/FromBtcLnBaseSwapHandler.ts +22 -6
  57. package/src/swaps/SwapHandler.ts +1 -8
  58. package/src/swaps/SwapHandlerSwap.ts +14 -1
  59. package/src/swaps/ToBtcBaseSwap.ts +12 -3
  60. package/src/swaps/ToBtcBaseSwapHandler.ts +6 -2
  61. package/src/swaps/frombtc_abstract/FromBtcAbs.ts +24 -28
  62. package/src/swaps/frombtc_abstract/FromBtcSwapAbs.ts +3 -18
  63. package/src/swaps/frombtc_trusted/FromBtcTrusted.ts +260 -159
  64. package/src/swaps/frombtc_trusted/FromBtcTrustedSwap.ts +22 -15
  65. package/src/swaps/frombtcln_abstract/FromBtcLnAbs.ts +69 -79
  66. package/src/swaps/frombtcln_abstract/FromBtcLnSwapAbs.ts +3 -20
  67. package/src/swaps/frombtcln_trusted/FromBtcLnTrusted.ts +80 -97
  68. package/src/swaps/frombtcln_trusted/FromBtcLnTrustedSwap.ts +6 -9
  69. package/src/swaps/tobtc_abstract/ToBtcAbs.ts +52 -410
  70. package/src/swaps/tobtc_abstract/ToBtcSwapAbs.ts +3 -18
  71. package/src/swaps/tobtcln_abstract/ToBtcLnAbs.ts +157 -434
  72. package/src/swaps/tobtcln_abstract/ToBtcLnSwapAbs.ts +3 -20
  73. package/src/utils/Utils.ts +0 -31
  74. package/src/wallets/IBitcoinWallet.ts +66 -0
  75. package/src/wallets/ILightningWallet.ts +179 -0
  76. package/dist/fees/OneDollarFeeEstimator.d.ts +0 -16
  77. package/dist/fees/OneDollarFeeEstimator.js +0 -71
  78. package/dist/utils/coinselect2/accumulative.d.ts +0 -6
  79. package/dist/utils/coinselect2/accumulative.js +0 -44
  80. package/dist/utils/coinselect2/blackjack.d.ts +0 -6
  81. package/dist/utils/coinselect2/blackjack.js +0 -41
  82. package/dist/utils/coinselect2/index.d.ts +0 -16
  83. package/dist/utils/coinselect2/index.js +0 -40
  84. package/dist/utils/coinselect2/utils.d.ts +0 -64
  85. package/dist/utils/coinselect2/utils.js +0 -121
  86. package/src/fees/OneDollarFeeEstimator.ts +0 -95
  87. package/src/utils/coinselect2/accumulative.js +0 -32
  88. package/src/utils/coinselect2/accumulative.ts +0 -58
  89. package/src/utils/coinselect2/blackjack.js +0 -29
  90. package/src/utils/coinselect2/blackjack.ts +0 -54
  91. package/src/utils/coinselect2/index.js +0 -16
  92. package/src/utils/coinselect2/index.ts +0 -50
  93. package/src/utils/coinselect2/utils.js +0 -110
  94. package/src/utils/coinselect2/utils.ts +0 -183
@@ -4,9 +4,9 @@ import { ToBtcLnSwapAbs, ToBtcLnSwapState } from "./ToBtcLnSwapAbs";
4
4
  import { MultichainData, SwapHandlerType } from "../SwapHandler";
5
5
  import { ISwapPrice } from "../ISwapPrice";
6
6
  import { ClaimEvent, InitializeEvent, RefundEvent, SwapData } from "@atomiqlabs/base";
7
- import { AuthenticatedLnd } from "lightning";
8
7
  import { IIntermediaryStorage } from "../../storage/IIntermediaryStorage";
9
8
  import { ToBtcBaseConfig, ToBtcBaseSwapHandler } from "../ToBtcBaseSwapHandler";
9
+ import { ILightningWallet, ParsedPaymentRequest } from "../../wallets/ILightningWallet";
10
10
  export type ToBtcLnConfig = ToBtcBaseConfig & {
11
11
  routingFeeMultiplier: BN;
12
12
  minSendCltv: BN;
@@ -16,21 +16,12 @@ export type ToBtcLnConfig = ToBtcBaseConfig & {
16
16
  minLnBaseFee?: BN;
17
17
  exactInExpiry?: number;
18
18
  };
19
- type LNRoutes = {
20
- public_key: string;
21
- fee_rate?: number;
22
- cltv_delta?: number;
23
- channel?: string;
24
- base_fee_mtokens?: string;
25
- }[][];
26
19
  type ExactInAuthorization = {
27
20
  chainIdentifier: string;
28
21
  reqId: string;
29
22
  expiry: number;
30
23
  amount: BN;
31
- destination: string;
32
- cltvDelta: number;
33
- routes: LNRoutes;
24
+ initialInvoice: ParsedPaymentRequest;
34
25
  quotedNetworkFeeInToken: BN;
35
26
  swapFeeInToken: BN;
36
27
  total: BN;
@@ -67,7 +58,7 @@ export declare class ToBtcLnAbs extends ToBtcBaseSwapHandler<ToBtcLnSwapAbs, ToB
67
58
  protected readonly LIGHTNING_LIQUIDITY_CACHE_TIMEOUT: number;
68
59
  activeSubscriptions: Set<string>;
69
60
  lightningLiquidityCache: {
70
- liquidityMTokens: BN;
61
+ liquidity: BN;
71
62
  timestamp: number;
72
63
  };
73
64
  readonly type = SwapHandlerType.TO_BTCLN;
@@ -77,14 +68,8 @@ export declare class ToBtcLnAbs extends ToBtcBaseSwapHandler<ToBtcLnSwapAbs, ToB
77
68
  readonly exactInAuths: {
78
69
  [reqId: string]: ExactInAuthorization;
79
70
  };
80
- constructor(storageDirectory: IIntermediaryStorage<ToBtcLnSwapAbs>, path: string, chainData: MultichainData, lnd: AuthenticatedLnd, swapPricing: ISwapPrice, config: ToBtcLnConfig);
81
- /**
82
- * Fetches the payment info, returns null if payment not found
83
- *
84
- * @param paymentHash
85
- * @private
86
- */
87
- private getPayment;
71
+ readonly lightning: ILightningWallet;
72
+ constructor(storageDirectory: IIntermediaryStorage<ToBtcLnSwapAbs>, path: string, chainData: MultichainData, lightning: ILightningWallet, swapPricing: ISwapPrice, config: ToBtcLnConfig);
88
73
  /**
89
74
  * Cleans up exactIn authorization that are already past their expiry
90
75
  *
@@ -174,41 +159,6 @@ export declare class ToBtcLnAbs extends ToBtcBaseSwapHandler<ToBtcLnSwapAbs, ToB
174
159
  * @throws {DefinedRuntimeError} will throw an error if there isn't enough liquidity
175
160
  */
176
161
  private checkLiquidity;
177
- /**
178
- * Computes the route paying to the specified bolt11 invoice, estimating the fee, uses bLIP-39 blinded paths
179
- *
180
- * @param amountSats
181
- * @param maxFee
182
- * @param parsedRequest
183
- * @param maxTimeoutBlockheight
184
- * @param metadata
185
- * @param maxUsableCLTV
186
- * @private
187
- */
188
- private getRoutesInvoiceBLIP39;
189
- /**
190
- * Computes the route paying to the specified bolt11 invoice, estimating the fee
191
- *
192
- * @param amountSats
193
- * @param maxFee
194
- * @param parsedRequest
195
- * @param maxTimeoutBlockheight
196
- * @param metadata
197
- * @param maxUsableCLTV
198
- * @private
199
- */
200
- private getRoutesInvoice;
201
- /**
202
- * Sends a probe payment to the specified bolt11 invoice to check if it is reachable
203
- *
204
- * @param amountSats
205
- * @param maxFee
206
- * @param parsedRequest
207
- * @param maxTimeoutBlockheight
208
- * @param metadata
209
- * @private
210
- */
211
- private probeInvoice;
212
162
  /**
213
163
  * Estimates the routing fee & confidence by either probing or routing (if probing fails), the fee is also adjusted
214
164
  * according to routing fee multiplier, and subject to minimums set in config