@atomiqlabs/sdk 8.1.8 → 8.3.1

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 (253) hide show
  1. package/dist/bitcoin/wallet/BitcoinWallet.d.ts +41 -5
  2. package/dist/bitcoin/wallet/BitcoinWallet.js +36 -1
  3. package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +52 -2
  4. package/dist/bitcoin/wallet/IBitcoinWallet.js +2 -1
  5. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +42 -7
  6. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +36 -1
  7. package/dist/enums/FeeType.d.ts +7 -0
  8. package/dist/enums/FeeType.js +7 -0
  9. package/dist/enums/SwapAmountType.d.ts +7 -0
  10. package/dist/enums/SwapAmountType.js +7 -0
  11. package/dist/enums/SwapDirection.d.ts +7 -0
  12. package/dist/enums/SwapDirection.js +7 -0
  13. package/dist/enums/SwapType.d.ts +62 -1
  14. package/dist/enums/SwapType.js +62 -1
  15. package/dist/errors/IntermediaryError.d.ts +4 -0
  16. package/dist/errors/IntermediaryError.js +1 -0
  17. package/dist/errors/RequestError.d.ts +15 -1
  18. package/dist/errors/RequestError.js +8 -0
  19. package/dist/errors/UserError.d.ts +1 -0
  20. package/dist/errors/UserError.js +1 -0
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.js +3 -4
  23. package/dist/intermediaries/Intermediary.d.ts +57 -10
  24. package/dist/intermediaries/Intermediary.js +37 -10
  25. package/dist/intermediaries/IntermediaryDiscovery.d.ts +55 -22
  26. package/dist/intermediaries/IntermediaryDiscovery.js +35 -22
  27. package/dist/prices/RedundantSwapPrice.d.ts +24 -3
  28. package/dist/prices/RedundantSwapPrice.js +21 -1
  29. package/dist/prices/SingleSwapPrice.d.ts +9 -6
  30. package/dist/prices/SingleSwapPrice.js +10 -7
  31. package/dist/prices/SwapPriceWithChain.d.ts +54 -16
  32. package/dist/prices/SwapPriceWithChain.js +58 -20
  33. package/dist/prices/abstract/ISwapPrice.d.ts +94 -45
  34. package/dist/prices/abstract/ISwapPrice.js +103 -55
  35. package/dist/prices/providers/BinancePriceProvider.d.ts +7 -0
  36. package/dist/prices/providers/BinancePriceProvider.js +7 -0
  37. package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +6 -0
  38. package/dist/prices/providers/CoinGeckoPriceProvider.js +6 -0
  39. package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +6 -0
  40. package/dist/prices/providers/CoinPaprikaPriceProvider.js +6 -0
  41. package/dist/prices/providers/CustomPriceProvider.d.ts +11 -0
  42. package/dist/prices/providers/CustomPriceProvider.js +11 -0
  43. package/dist/prices/providers/KrakenPriceProvider.d.ts +9 -0
  44. package/dist/prices/providers/KrakenPriceProvider.js +9 -0
  45. package/dist/prices/providers/OKXPriceProvider.d.ts +6 -0
  46. package/dist/prices/providers/OKXPriceProvider.js +6 -0
  47. package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +3 -0
  48. package/dist/prices/providers/abstract/ExchangePriceProvider.js +3 -0
  49. package/dist/storage/IUnifiedStorage.d.ts +19 -7
  50. package/dist/storage/UnifiedSwapStorage.d.ts +33 -3
  51. package/dist/storage/UnifiedSwapStorage.js +29 -1
  52. package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +31 -7
  53. package/dist/storage-browser/IndexedDBUnifiedStorage.js +29 -6
  54. package/dist/storage-browser/LocalStorageManager.d.ts +25 -1
  55. package/dist/storage-browser/LocalStorageManager.js +25 -1
  56. package/dist/swapper/Swapper.d.ts +302 -221
  57. package/dist/swapper/Swapper.js +376 -344
  58. package/dist/swapper/SwapperFactory.d.ts +41 -17
  59. package/dist/swapper/SwapperFactory.js +23 -2
  60. package/dist/swapper/SwapperUtils.d.ts +75 -28
  61. package/dist/swapper/SwapperUtils.js +107 -60
  62. package/dist/swapper/SwapperWithChain.d.ts +286 -91
  63. package/dist/swapper/SwapperWithChain.js +218 -64
  64. package/dist/swapper/SwapperWithSigner.d.ts +229 -80
  65. package/dist/swapper/SwapperWithSigner.js +190 -44
  66. package/dist/swaps/IAddressSwap.d.ts +10 -1
  67. package/dist/swaps/IAddressSwap.js +2 -1
  68. package/dist/swaps/IBTCWalletSwap.d.ts +24 -6
  69. package/dist/swaps/IBTCWalletSwap.js +2 -1
  70. package/dist/swaps/IClaimableSwap.d.ts +36 -4
  71. package/dist/swaps/IClaimableSwap.js +2 -1
  72. package/dist/swaps/IClaimableSwapWrapper.d.ts +11 -1
  73. package/dist/swaps/IRefundableSwap.d.ts +29 -3
  74. package/dist/swaps/IRefundableSwap.js +2 -1
  75. package/dist/swaps/ISwap.d.ts +159 -21
  76. package/dist/swaps/ISwap.js +90 -33
  77. package/dist/swaps/ISwapWithGasDrop.d.ts +6 -0
  78. package/dist/swaps/ISwapWithGasDrop.js +1 -0
  79. package/dist/swaps/ISwapWrapper.d.ts +157 -48
  80. package/dist/swaps/ISwapWrapper.js +130 -72
  81. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +49 -6
  82. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +22 -12
  83. package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +65 -12
  84. package/dist/swaps/escrow_swaps/IEscrowSwap.js +38 -19
  85. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +39 -9
  86. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +30 -21
  87. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +31 -15
  88. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +33 -18
  89. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +94 -29
  90. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +90 -27
  91. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +22 -9
  92. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +24 -11
  93. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +275 -58
  94. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +516 -239
  95. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +76 -25
  96. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +131 -49
  97. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +311 -51
  98. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +542 -193
  99. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +87 -26
  100. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +147 -58
  101. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +209 -53
  102. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +449 -242
  103. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +77 -23
  104. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +116 -46
  105. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +197 -56
  106. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +326 -189
  107. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +30 -5
  108. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +44 -19
  109. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +60 -19
  110. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +74 -31
  111. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +76 -50
  112. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +106 -101
  113. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +36 -13
  114. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +65 -19
  115. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +46 -17
  116. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +82 -27
  117. package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +328 -92
  118. package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +460 -219
  119. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +76 -24
  120. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +244 -124
  121. package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +146 -18
  122. package/dist/swaps/trusted/ln/LnForGasSwap.js +173 -43
  123. package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +29 -10
  124. package/dist/swaps/trusted/ln/LnForGasWrapper.js +30 -11
  125. package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +200 -47
  126. package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +230 -78
  127. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +34 -12
  128. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +33 -14
  129. package/dist/types/AmountData.d.ts +2 -1
  130. package/dist/types/CustomPriceFunction.d.ts +7 -1
  131. package/dist/types/SwapExecutionAction.d.ts +74 -4
  132. package/dist/types/SwapWithSigner.d.ts +4 -1
  133. package/dist/types/SwapWithSigner.js +5 -2
  134. package/dist/types/Token.d.ts +11 -5
  135. package/dist/types/Token.js +6 -3
  136. package/dist/types/TokenAmount.d.ts +3 -0
  137. package/dist/types/TokenAmount.js +2 -0
  138. package/dist/types/fees/Fee.d.ts +2 -1
  139. package/dist/types/fees/FeeBreakdown.d.ts +2 -1
  140. package/dist/types/fees/PercentagePPM.d.ts +2 -0
  141. package/dist/types/fees/PercentagePPM.js +1 -0
  142. package/dist/types/lnurl/LNURLPay.d.ts +14 -6
  143. package/dist/types/lnurl/LNURLPay.js +6 -2
  144. package/dist/types/lnurl/LNURLWithdraw.d.ts +12 -5
  145. package/dist/types/lnurl/LNURLWithdraw.js +6 -2
  146. package/dist/types/wallets/LightningInvoiceCreateService.d.ts +20 -0
  147. package/dist/types/wallets/LightningInvoiceCreateService.js +15 -0
  148. package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +3 -1
  149. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +3 -1
  150. package/dist/utils/BitcoinUtils.d.ts +1 -0
  151. package/dist/utils/BitcoinUtils.js +5 -1
  152. package/dist/utils/SwapUtils.d.ts +56 -1
  153. package/dist/utils/SwapUtils.js +53 -1
  154. package/dist/utils/TokenUtils.d.ts +10 -2
  155. package/dist/utils/TokenUtils.js +12 -4
  156. package/package.json +3 -3
  157. package/src/bitcoin/wallet/BitcoinWallet.ts +41 -5
  158. package/src/bitcoin/wallet/IBitcoinWallet.ts +57 -2
  159. package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +42 -6
  160. package/src/enums/FeeType.ts +7 -0
  161. package/src/enums/SwapAmountType.ts +7 -0
  162. package/src/enums/SwapDirection.ts +7 -0
  163. package/src/enums/SwapType.ts +62 -2
  164. package/src/errors/IntermediaryError.ts +4 -0
  165. package/src/errors/RequestError.ts +15 -1
  166. package/src/errors/UserError.ts +1 -0
  167. package/src/index.ts +6 -5
  168. package/src/intermediaries/Intermediary.ts +57 -10
  169. package/src/intermediaries/IntermediaryDiscovery.ts +60 -27
  170. package/src/prices/RedundantSwapPrice.ts +24 -4
  171. package/src/prices/SingleSwapPrice.ts +10 -7
  172. package/src/prices/SwapPriceWithChain.ts +59 -21
  173. package/src/prices/abstract/ISwapPrice.ts +114 -65
  174. package/src/prices/providers/BinancePriceProvider.ts +7 -0
  175. package/src/prices/providers/CoinGeckoPriceProvider.ts +6 -0
  176. package/src/prices/providers/CoinPaprikaPriceProvider.ts +6 -0
  177. package/src/prices/providers/CustomPriceProvider.ts +11 -0
  178. package/src/prices/providers/KrakenPriceProvider.ts +9 -0
  179. package/src/prices/providers/OKXPriceProvider.ts +6 -0
  180. package/src/prices/providers/abstract/ExchangePriceProvider.ts +3 -0
  181. package/src/storage/IUnifiedStorage.ts +19 -7
  182. package/src/storage/UnifiedSwapStorage.ts +33 -3
  183. package/src/storage-browser/IndexedDBUnifiedStorage.ts +31 -8
  184. package/src/storage-browser/LocalStorageManager.ts +25 -1
  185. package/src/swapper/Swapper.ts +512 -378
  186. package/src/swapper/SwapperFactory.ts +44 -21
  187. package/src/swapper/SwapperUtils.ts +107 -60
  188. package/src/swapper/SwapperWithChain.ts +320 -81
  189. package/src/swapper/SwapperWithSigner.ts +263 -56
  190. package/src/swaps/IAddressSwap.ts +11 -1
  191. package/src/swaps/IBTCWalletSwap.ts +24 -8
  192. package/src/swaps/IClaimableSwap.ts +39 -4
  193. package/src/swaps/IClaimableSwapWrapper.ts +11 -2
  194. package/src/swaps/IRefundableSwap.ts +32 -3
  195. package/src/swaps/ISwap.ts +221 -82
  196. package/src/swaps/ISwapWithGasDrop.ts +6 -0
  197. package/src/swaps/ISwapWrapper.ts +212 -94
  198. package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +62 -18
  199. package/src/swaps/escrow_swaps/IEscrowSwap.ts +83 -37
  200. package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +61 -30
  201. package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +37 -19
  202. package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +120 -51
  203. package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +24 -11
  204. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +559 -256
  205. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +155 -61
  206. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +590 -226
  207. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +177 -74
  208. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +470 -243
  209. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +141 -59
  210. package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +352 -193
  211. package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +48 -23
  212. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +86 -39
  213. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +110 -110
  214. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +88 -33
  215. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +101 -31
  216. package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +534 -263
  217. package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +289 -148
  218. package/src/swaps/trusted/ln/LnForGasSwap.ts +184 -45
  219. package/src/swaps/trusted/ln/LnForGasWrapper.ts +34 -15
  220. package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +260 -86
  221. package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +41 -19
  222. package/src/types/AmountData.ts +2 -1
  223. package/src/types/CustomPriceFunction.ts +7 -1
  224. package/src/types/SwapExecutionAction.ts +84 -5
  225. package/src/types/SwapWithSigner.ts +7 -3
  226. package/src/types/Token.ts +12 -5
  227. package/src/types/TokenAmount.ts +3 -0
  228. package/src/types/fees/Fee.ts +2 -1
  229. package/src/types/fees/FeeBreakdown.ts +2 -1
  230. package/src/types/fees/PercentagePPM.ts +2 -0
  231. package/src/types/lnurl/LNURLPay.ts +14 -6
  232. package/src/types/lnurl/LNURLWithdraw.ts +12 -5
  233. package/src/types/wallets/LightningInvoiceCreateService.ts +26 -0
  234. package/src/types/wallets/MinimalBitcoinWalletInterface.ts +3 -1
  235. package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +3 -1
  236. package/src/utils/BitcoinUtils.ts +5 -0
  237. package/src/utils/SwapUtils.ts +61 -1
  238. package/src/utils/TokenUtils.ts +12 -4
  239. package/dist/bitcoin/BitcoinRpcWithAddressIndex.d.ts +0 -68
  240. package/dist/bitcoin/BitcoinRpcWithAddressIndex.js +0 -2
  241. package/dist/bitcoin/LightningNetworkApi.d.ts +0 -12
  242. package/dist/bitcoin/LightningNetworkApi.js +0 -2
  243. package/dist/bitcoin/mempool/MempoolApi.d.ts +0 -350
  244. package/dist/bitcoin/mempool/MempoolApi.js +0 -311
  245. package/dist/bitcoin/mempool/MempoolBitcoinBlock.d.ts +0 -44
  246. package/dist/bitcoin/mempool/MempoolBitcoinBlock.js +0 -48
  247. package/dist/bitcoin/mempool/MempoolBitcoinRpc.d.ts +0 -119
  248. package/dist/bitcoin/mempool/MempoolBitcoinRpc.js +0 -361
  249. package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.d.ts +0 -22
  250. package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.js +0 -105
  251. package/dist/errors/PaymentAuthError.d.ts +0 -11
  252. package/dist/errors/PaymentAuthError.js +0 -23
  253. package/src/errors/PaymentAuthError.ts +0 -26
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LnForGasSwap = exports.isLnForGasSwapInit = exports.LnForGasSwapState = void 0;
4
4
  const bolt11_1 = require("@atomiqlabs/bolt11");
5
5
  const SwapType_1 = require("../../../enums/SwapType");
6
- const PaymentAuthError_1 = require("../../../errors/PaymentAuthError");
7
6
  const Utils_1 = require("../../../utils/Utils");
8
7
  const ISwap_1 = require("../../ISwap");
9
8
  const TrustedIntermediaryAPI_1 = require("../../../intermediaries/apis/TrustedIntermediaryAPI");
@@ -15,14 +14,30 @@ const Logger_1 = require("../../../utils/Logger");
15
14
  const TimeoutUtils_1 = require("../../../utils/TimeoutUtils");
16
15
  /**
17
16
  * State enum for trusted Lightning gas swaps
17
+ *
18
18
  * @category Swaps
19
19
  */
20
20
  var LnForGasSwapState;
21
21
  (function (LnForGasSwapState) {
22
+ /**
23
+ * The swap quote expired without user sending in the lightning network payment
24
+ */
22
25
  LnForGasSwapState[LnForGasSwapState["EXPIRED"] = -2] = "EXPIRED";
26
+ /**
27
+ * The swap has failed after the intermediary already received a lightning network payment on the source
28
+ */
23
29
  LnForGasSwapState[LnForGasSwapState["FAILED"] = -1] = "FAILED";
30
+ /**
31
+ * Swap was created
32
+ */
24
33
  LnForGasSwapState[LnForGasSwapState["PR_CREATED"] = 0] = "PR_CREATED";
34
+ /**
35
+ * User paid the lightning network invoice on the source
36
+ */
25
37
  LnForGasSwapState[LnForGasSwapState["PR_PAID"] = 1] = "PR_PAID";
38
+ /**
39
+ * The swap is finished after the intermediary sent funds on the destination chain
40
+ */
26
41
  LnForGasSwapState[LnForGasSwapState["FINISHED"] = 2] = "FINISHED";
27
42
  })(LnForGasSwapState = exports.LnForGasSwapState || (exports.LnForGasSwapState = {}));
28
43
  function isLnForGasSwapInit(obj) {
@@ -34,7 +49,9 @@ function isLnForGasSwapInit(obj) {
34
49
  }
35
50
  exports.isLnForGasSwapInit = isLnForGasSwapInit;
36
51
  /**
37
- * Trusted Lightning Network to gas token swap
52
+ * Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
53
+ * the destination chain, which is only needed for Solana, which still uses legacy swaps
54
+ *
38
55
  * @category Swaps
39
56
  */
40
57
  class LnForGasSwap extends ISwap_1.ISwap {
@@ -42,14 +59,17 @@ class LnForGasSwap extends ISwap_1.ISwap {
42
59
  if (isLnForGasSwapInit(initOrObj) && initOrObj.url != null)
43
60
  initOrObj.url += "/lnforgas";
44
61
  super(wrapper, initOrObj);
45
- this.currentVersion = 2;
46
62
  this.TYPE = SwapType_1.SwapType.TRUSTED_FROM_BTCLN;
63
+ /**
64
+ * @internal
65
+ */
66
+ this.currentVersion = 2;
47
67
  if (isLnForGasSwapInit(initOrObj)) {
48
68
  this.pr = initOrObj.pr;
49
69
  this.outputAmount = initOrObj.outputAmount;
50
70
  this.recipient = initOrObj.recipient;
51
71
  this.token = initOrObj.token;
52
- this.state = LnForGasSwapState.PR_CREATED;
72
+ this._state = LnForGasSwapState.PR_CREATED;
53
73
  }
54
74
  else {
55
75
  this.pr = initOrObj.pr;
@@ -66,10 +86,14 @@ class LnForGasSwap extends ISwap_1.ISwap {
66
86
  }
67
87
  this.logger = (0, Logger_1.getLogger)("LnForGas(" + this.getId() + "): ");
68
88
  }
89
+ /**
90
+ * @inheritDoc
91
+ * @internal
92
+ */
69
93
  upgradeVersion() {
70
94
  if (this.version == 1) {
71
- if (this.state === 1)
72
- this.state = LnForGasSwapState.FINISHED;
95
+ if (this._state === 1)
96
+ this._state = LnForGasSwapState.FINISHED;
73
97
  this.version = 2;
74
98
  }
75
99
  if (this.version == null) {
@@ -78,8 +102,8 @@ class LnForGasSwap extends ISwap_1.ISwap {
78
102
  }
79
103
  }
80
104
  /**
81
- * In case swapFee in BTC is not supplied it recalculates it based on swap price
82
- * @protected
105
+ * @inheritDoc
106
+ * @internal
83
107
  */
84
108
  tryRecomputeSwapPrice() {
85
109
  if (this.swapFeeBtc == null && this.swapFee != null) {
@@ -89,21 +113,40 @@ class LnForGasSwap extends ISwap_1.ISwap {
89
113
  }
90
114
  //////////////////////////////
91
115
  //// Getters & utils
116
+ /**
117
+ * @inheritDoc
118
+ * @internal
119
+ */
92
120
  _getEscrowHash() {
93
121
  return this.getId();
94
122
  }
123
+ /**
124
+ * @inheritDoc
125
+ */
95
126
  getOutputAddress() {
96
127
  return this.recipient;
97
128
  }
129
+ /**
130
+ * @inheritDoc
131
+ */
98
132
  getInputAddress() {
99
133
  return this.pr;
100
134
  }
135
+ /**
136
+ * @inheritDoc
137
+ */
101
138
  getInputTxId() {
102
139
  return this.getId();
103
140
  }
141
+ /**
142
+ * @inheritDoc
143
+ */
104
144
  getOutputTxId() {
105
145
  return this.scTxId ?? null;
106
146
  }
147
+ /**
148
+ * @inheritDoc
149
+ */
107
150
  getId() {
108
151
  if (this.pr == null)
109
152
  throw new Error("No payment request assigned to this swap!");
@@ -124,78 +167,139 @@ class LnForGasSwap extends ISwap_1.ISwap {
124
167
  getHyperlink() {
125
168
  return "lightning:" + this.pr.toUpperCase();
126
169
  }
170
+ /**
171
+ * @inheritDoc
172
+ */
127
173
  requiresAction() {
128
174
  return false;
129
175
  }
176
+ /**
177
+ * @inheritDoc
178
+ */
130
179
  isFinished() {
131
- return this.state === LnForGasSwapState.FINISHED || this.state === LnForGasSwapState.FAILED || this.state === LnForGasSwapState.EXPIRED;
180
+ return this._state === LnForGasSwapState.FINISHED || this._state === LnForGasSwapState.FAILED || this._state === LnForGasSwapState.EXPIRED;
132
181
  }
182
+ /**
183
+ * @inheritDoc
184
+ */
133
185
  isQuoteExpired() {
134
- return this.state === LnForGasSwapState.EXPIRED;
186
+ return this._state === LnForGasSwapState.EXPIRED;
135
187
  }
188
+ /**
189
+ * @inheritDoc
190
+ */
136
191
  isQuoteSoftExpired() {
137
192
  return this.expiry < Date.now();
138
193
  }
194
+ /**
195
+ * @inheritDoc
196
+ */
139
197
  isFailed() {
140
- return this.state === LnForGasSwapState.FAILED;
198
+ return this._state === LnForGasSwapState.FAILED;
141
199
  }
200
+ /**
201
+ * @inheritDoc
202
+ */
142
203
  isSuccessful() {
143
- return this.state === LnForGasSwapState.FINISHED;
204
+ return this._state === LnForGasSwapState.FINISHED;
144
205
  }
145
- verifyQuoteValid() {
206
+ /**
207
+ * @inheritDoc
208
+ * @internal
209
+ */
210
+ _verifyQuoteDefinitelyExpired() {
211
+ return Promise.resolve(this.expiry < Date.now());
212
+ }
213
+ /**
214
+ * @inheritDoc
215
+ * @internal
216
+ */
217
+ _verifyQuoteValid() {
146
218
  return Promise.resolve(this.expiry > Date.now());
147
219
  }
148
220
  //////////////////////////////
149
221
  //// Amounts & fees
222
+ /**
223
+ * Returns an output amount in base units without a swap fee included, hence this value
224
+ * is larger than the actual output amount
225
+ *
226
+ * @internal
227
+ */
150
228
  getOutAmountWithoutFee() {
151
229
  return this.outputAmount + (this.swapFee ?? 0n);
152
230
  }
231
+ /**
232
+ * @inheritDoc
233
+ */
153
234
  getOutputToken() {
154
- return this.wrapper.tokens[this.wrapper.chain.getNativeCurrencyAddress()];
235
+ return this.wrapper._tokens[this.wrapper._chain.getNativeCurrencyAddress()];
155
236
  }
237
+ /**
238
+ * @inheritDoc
239
+ */
156
240
  getOutput() {
157
- return (0, TokenAmount_1.toTokenAmount)(this.outputAmount, this.wrapper.tokens[this.wrapper.chain.getNativeCurrencyAddress()], this.wrapper.prices, this.pricingInfo);
241
+ return (0, TokenAmount_1.toTokenAmount)(this.outputAmount, this.wrapper._tokens[this.wrapper._chain.getNativeCurrencyAddress()], this.wrapper._prices, this.pricingInfo);
158
242
  }
243
+ /**
244
+ * @inheritDoc
245
+ */
159
246
  getInputToken() {
160
247
  return Token_1.BitcoinTokens.BTCLN;
161
248
  }
249
+ /**
250
+ * @inheritDoc
251
+ */
162
252
  getInput() {
163
253
  const parsed = (0, bolt11_1.decode)(this.pr);
164
254
  const msats = parsed.millisatoshis;
165
255
  if (msats == null)
166
256
  throw new Error("Swap lightning invoice has no msat amount field!");
167
257
  const amount = (BigInt(msats) + 999n) / 1000n;
168
- return (0, TokenAmount_1.toTokenAmount)(amount, Token_1.BitcoinTokens.BTCLN, this.wrapper.prices, this.pricingInfo);
258
+ return (0, TokenAmount_1.toTokenAmount)(amount, Token_1.BitcoinTokens.BTCLN, this.wrapper._prices, this.pricingInfo);
169
259
  }
260
+ /**
261
+ * @inheritDoc
262
+ */
170
263
  getInputWithoutFee() {
171
264
  const parsed = (0, bolt11_1.decode)(this.pr);
172
265
  const msats = parsed.millisatoshis;
173
266
  if (msats == null)
174
267
  throw new Error("Swap lightning invoice has no msat amount field!");
175
268
  const amount = (BigInt(msats) + 999n) / 1000n;
176
- return (0, TokenAmount_1.toTokenAmount)(amount - (this.swapFeeBtc ?? 0n), Token_1.BitcoinTokens.BTCLN, this.wrapper.prices, this.pricingInfo);
269
+ return (0, TokenAmount_1.toTokenAmount)(amount - (this.swapFeeBtc ?? 0n), Token_1.BitcoinTokens.BTCLN, this.wrapper._prices, this.pricingInfo);
177
270
  }
271
+ /**
272
+ * Returns the swap fee charged by the intermediary (LP) on this swap
273
+ *
274
+ * @internal
275
+ */
178
276
  getSwapFee() {
179
277
  if (this.pricingInfo == null)
180
278
  throw new Error("No pricing info known, cannot estimate swap fee!");
181
279
  const feeWithoutBaseFee = this.swapFeeBtc == null ? 0n : this.swapFeeBtc - this.pricingInfo.satsBaseFee;
182
280
  const swapFeePPM = feeWithoutBaseFee * 1000000n / this.getInputWithoutFee().rawAmount;
183
- const amountInSrcToken = (0, TokenAmount_1.toTokenAmount)(this.swapFeeBtc ?? 0n, Token_1.BitcoinTokens.BTCLN, this.wrapper.prices, this.pricingInfo);
281
+ const amountInSrcToken = (0, TokenAmount_1.toTokenAmount)(this.swapFeeBtc ?? 0n, Token_1.BitcoinTokens.BTCLN, this.wrapper._prices, this.pricingInfo);
184
282
  return {
185
283
  amountInSrcToken,
186
- amountInDstToken: (0, TokenAmount_1.toTokenAmount)(this.swapFee ?? 0n, this.wrapper.tokens[this.wrapper.chain.getNativeCurrencyAddress()], this.wrapper.prices, this.pricingInfo),
284
+ amountInDstToken: (0, TokenAmount_1.toTokenAmount)(this.swapFee ?? 0n, this.wrapper._tokens[this.wrapper._chain.getNativeCurrencyAddress()], this.wrapper._prices, this.pricingInfo),
187
285
  currentUsdValue: amountInSrcToken.currentUsdValue,
188
286
  usdValue: amountInSrcToken.usdValue,
189
287
  pastUsdValue: amountInSrcToken.pastUsdValue,
190
288
  composition: {
191
- base: (0, TokenAmount_1.toTokenAmount)(this.pricingInfo.satsBaseFee, Token_1.BitcoinTokens.BTCLN, this.wrapper.prices, this.pricingInfo),
289
+ base: (0, TokenAmount_1.toTokenAmount)(this.pricingInfo.satsBaseFee, Token_1.BitcoinTokens.BTCLN, this.wrapper._prices, this.pricingInfo),
192
290
  percentage: (0, PercentagePPM_1.ppmToPercentage)(swapFeePPM)
193
291
  }
194
292
  };
195
293
  }
294
+ /**
295
+ * @inheritDoc
296
+ */
196
297
  getFee() {
197
298
  return this.getSwapFee();
198
299
  }
300
+ /**
301
+ * @inheritDoc
302
+ */
199
303
  getFeeBreakdown() {
200
304
  return [{
201
305
  type: FeeType_1.FeeType.SWAP,
@@ -204,9 +308,12 @@ class LnForGasSwap extends ISwap_1.ISwap {
204
308
  }
205
309
  //////////////////////////////
206
310
  //// Payment
311
+ /**
312
+ * @inheritDoc
313
+ */
207
314
  async txsExecute() {
208
- if (this.state === LnForGasSwapState.PR_CREATED) {
209
- if (!await this.verifyQuoteValid())
315
+ if (this._state === LnForGasSwapState.PR_CREATED) {
316
+ if (!await this._verifyQuoteValid())
210
317
  throw new Error("Quote already expired or close to expiry!");
211
318
  return [
212
319
  {
@@ -215,6 +322,7 @@ class LnForGasSwap extends ISwap_1.ISwap {
215
322
  chain: "LIGHTNING",
216
323
  txs: [
217
324
  {
325
+ type: "BOLT11_PAYMENT_REQUEST",
218
326
  address: this.pr,
219
327
  hyperlink: this.getHyperlink()
220
328
  }
@@ -224,10 +332,18 @@ class LnForGasSwap extends ISwap_1.ISwap {
224
332
  }
225
333
  throw new Error("Invalid swap state to obtain execution txns, required PR_CREATED");
226
334
  }
335
+ /**
336
+ * Queries the intermediary (LP) node for the state of the swap
337
+ *
338
+ * @param save Whether the save the result or not
339
+ *
340
+ * @returns Whether the swap was successful as `boolean` or `null` if the swap is still pending
341
+ * @internal
342
+ */
227
343
  async checkInvoicePaid(save = true) {
228
- if (this.state === LnForGasSwapState.FAILED || this.state === LnForGasSwapState.EXPIRED)
344
+ if (this._state === LnForGasSwapState.FAILED || this._state === LnForGasSwapState.EXPIRED)
229
345
  return false;
230
- if (this.state === LnForGasSwapState.FINISHED)
346
+ if (this._state === LnForGasSwapState.FINISHED)
231
347
  return true;
232
348
  if (this.url == null)
233
349
  return false;
@@ -235,40 +351,40 @@ class LnForGasSwap extends ISwap_1.ISwap {
235
351
  const paymentHash = decodedPR.tagsObject.payment_hash;
236
352
  if (paymentHash == null)
237
353
  throw new Error("Invalid swap invoice, payment hash not found!");
238
- const response = await TrustedIntermediaryAPI_1.TrustedIntermediaryAPI.getInvoiceStatus(this.url, paymentHash, this.wrapper.options.getRequestTimeout);
354
+ const response = await TrustedIntermediaryAPI_1.TrustedIntermediaryAPI.getInvoiceStatus(this.url, paymentHash, this.wrapper._options.getRequestTimeout);
239
355
  this.logger.debug("checkInvoicePaid(): LP response: ", response);
240
356
  switch (response.code) {
241
357
  case TrustedIntermediaryAPI_1.InvoiceStatusResponseCodes.PAID:
242
358
  this.scTxId = response.data.txId;
243
- const txStatus = await this.wrapper.chain.getTxIdStatus(this.scTxId);
359
+ const txStatus = await this.wrapper._chain.getTxIdStatus(this.scTxId);
244
360
  if (txStatus === "success") {
245
- this.state = LnForGasSwapState.FINISHED;
361
+ this._state = LnForGasSwapState.FINISHED;
246
362
  if (save)
247
363
  await this._saveAndEmit();
248
364
  return true;
249
365
  }
250
366
  return null;
251
367
  case TrustedIntermediaryAPI_1.InvoiceStatusResponseCodes.EXPIRED:
252
- if (this.state === LnForGasSwapState.PR_CREATED) {
253
- this.state = LnForGasSwapState.EXPIRED;
368
+ if (this._state === LnForGasSwapState.PR_CREATED) {
369
+ this._state = LnForGasSwapState.EXPIRED;
254
370
  }
255
371
  else {
256
- this.state = LnForGasSwapState.FAILED;
372
+ this._state = LnForGasSwapState.FAILED;
257
373
  }
258
374
  if (save)
259
375
  await this._saveAndEmit();
260
376
  return false;
261
377
  case TrustedIntermediaryAPI_1.InvoiceStatusResponseCodes.TX_SENT:
262
378
  this.scTxId = response.data.txId;
263
- if (this.state === LnForGasSwapState.PR_CREATED) {
264
- this.state = LnForGasSwapState.PR_PAID;
379
+ if (this._state === LnForGasSwapState.PR_CREATED) {
380
+ this._state = LnForGasSwapState.PR_PAID;
265
381
  if (save)
266
382
  await this._saveAndEmit();
267
383
  }
268
384
  return null;
269
385
  case TrustedIntermediaryAPI_1.InvoiceStatusResponseCodes.PENDING:
270
- if (this.state === LnForGasSwapState.PR_CREATED) {
271
- this.state = LnForGasSwapState.PR_PAID;
386
+ if (this._state === LnForGasSwapState.PR_CREATED) {
387
+ this._state = LnForGasSwapState.PR_PAID;
272
388
  if (save)
273
389
  await this._saveAndEmit();
274
390
  }
@@ -276,39 +392,41 @@ class LnForGasSwap extends ISwap_1.ISwap {
276
392
  case TrustedIntermediaryAPI_1.InvoiceStatusResponseCodes.AWAIT_PAYMENT:
277
393
  return null;
278
394
  default:
279
- this.state = LnForGasSwapState.FAILED;
395
+ this._state = LnForGasSwapState.FAILED;
280
396
  if (save)
281
397
  await this._saveAndEmit();
282
398
  return false;
283
399
  }
284
400
  }
285
401
  /**
286
- * A blocking promise resolving when payment was received by the intermediary and client can continue
287
- * rejecting in case of failure
402
+ * A blocking promise resolving when payment was received by the intermediary and client can continue,
403
+ * rejecting in case of failure. The swap must be in {@link LnForGasSwapState.PR_CREATED} state!
288
404
  *
289
405
  * @param checkIntervalSeconds How often to poll the intermediary for answer (default 5 seconds)
290
406
  * @param abortSignal Abort signal
291
- * @throws {PaymentAuthError} If swap expired or failed
292
407
  * @throws {Error} When in invalid state (not PR_CREATED)
293
408
  */
294
409
  async waitForPayment(checkIntervalSeconds, abortSignal) {
295
- if (this.state !== LnForGasSwapState.PR_CREATED)
410
+ if (this._state !== LnForGasSwapState.PR_CREATED)
296
411
  throw new Error("Must be in PR_CREATED state!");
297
412
  if (!this.initiated) {
298
413
  this.initiated = true;
299
414
  await this._saveAndEmit();
300
415
  }
301
- while (!abortSignal?.aborted && (this.state === LnForGasSwapState.PR_CREATED || this.state === LnForGasSwapState.PR_PAID)) {
416
+ while (!abortSignal?.aborted && (this._state === LnForGasSwapState.PR_CREATED || this._state === LnForGasSwapState.PR_PAID)) {
302
417
  await this.checkInvoicePaid(true);
303
- if (this.state === LnForGasSwapState.PR_CREATED || this.state === LnForGasSwapState.PR_PAID)
418
+ if (this._state === LnForGasSwapState.PR_CREATED || this._state === LnForGasSwapState.PR_PAID)
304
419
  await (0, TimeoutUtils_1.timeoutPromise)((checkIntervalSeconds ?? 5) * 1000, abortSignal);
305
420
  }
306
421
  if (this.isFailed())
307
- throw new PaymentAuthError_1.PaymentAuthError("Swap failed");
422
+ throw new Error("Swap failed");
308
423
  return !this.isQuoteExpired();
309
424
  }
310
425
  //////////////////////////////
311
426
  //// Storage
427
+ /**
428
+ * @inheritDoc
429
+ */
312
430
  serialize() {
313
431
  return {
314
432
  ...super.serialize(),
@@ -319,13 +437,21 @@ class LnForGasSwap extends ISwap_1.ISwap {
319
437
  scTxId: this.scTxId
320
438
  };
321
439
  }
440
+ /**
441
+ * @inheritDoc
442
+ * @internal
443
+ */
322
444
  _getInitiator() {
323
445
  return this.recipient;
324
446
  }
325
447
  //////////////////////////////
326
448
  //// Swap ticks & sync
449
+ /**
450
+ * @inheritDoc
451
+ * @internal
452
+ */
327
453
  async _sync(save) {
328
- if (this.state === LnForGasSwapState.PR_CREATED) {
454
+ if (this._state === LnForGasSwapState.PR_CREATED) {
329
455
  //Check if it's maybe already paid
330
456
  const res = await this.checkInvoicePaid(false);
331
457
  if (res !== null) {
@@ -336,6 +462,10 @@ class LnForGasSwap extends ISwap_1.ISwap {
336
462
  }
337
463
  return false;
338
464
  }
465
+ /**
466
+ * @inheritDoc
467
+ * @internal
468
+ */
339
469
  _tick(save) {
340
470
  return Promise.resolve(false);
341
471
  }
@@ -4,18 +4,37 @@ import { ChainType } from "@atomiqlabs/base";
4
4
  import { Intermediary } from "../../../intermediaries/Intermediary";
5
5
  import { SwapType } from "../../../enums/SwapType";
6
6
  export type LnForGasSwapTypeDefinition<T extends ChainType> = SwapTypeDefinition<T, LnForGasWrapper<T>, LnForGasSwap<T>>;
7
+ /**
8
+ * Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
9
+ * the destination chain, which is only needed for Solana, which still uses legacy swaps
10
+ *
11
+ * @category Swaps
12
+ */
7
13
  export declare class LnForGasWrapper<T extends ChainType> extends ISwapWrapper<T, LnForGasSwapTypeDefinition<T>> {
8
- TYPE: SwapType;
9
- readonly swapDeserializer: typeof LnForGasSwap;
14
+ TYPE: SwapType.TRUSTED_FROM_BTCLN;
10
15
  /**
11
- * Returns a newly created swap, receiving 'amount' on lightning network
12
- *
13
- * @param signer
14
- * @param amount Amount you wish to receive in base units (satoshis)
15
- * @param lpOrUrl Intermediary/Counterparty swap service Intermediary object or raw url
16
+ * @internal
17
+ */
18
+ readonly _swapDeserializer: typeof LnForGasSwap;
19
+ /**
20
+ * @internal
21
+ */
22
+ readonly _pendingSwapStates: LnForGasSwapState[];
23
+ /**
24
+ * @internal
25
+ */
26
+ protected readonly tickSwapState: undefined;
27
+ /**
28
+ * @internal
16
29
  */
17
- create(signer: string, amount: bigint, lpOrUrl: Intermediary | string): Promise<LnForGasSwap<T>>;
18
- readonly pendingSwapStates: LnForGasSwapState[];
19
- readonly tickSwapState: undefined;
20
30
  protected processEvent: undefined;
31
+ /**
32
+ * Returns a newly created trusted Lightning network -> Smart chain swap, receiving
33
+ * the specified amount of native token on the destination chain.
34
+ *
35
+ * @param recipient Address of the recipient on the smart chain destination chain
36
+ * @param amount Amount of native token to receive in base units
37
+ * @param lpOrUrl Intermediary (LP) to use for the swap
38
+ */
39
+ create(recipient: string, amount: bigint, lpOrUrl: Intermediary | string): Promise<LnForGasSwap<T>>;
21
40
  }
@@ -7,32 +7,51 @@ const TrustedIntermediaryAPI_1 = require("../../../intermediaries/apis/TrustedIn
7
7
  const bolt11_1 = require("@atomiqlabs/bolt11");
8
8
  const IntermediaryError_1 = require("../../../errors/IntermediaryError");
9
9
  const SwapType_1 = require("../../../enums/SwapType");
10
+ /**
11
+ * Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
12
+ * the destination chain, which is only needed for Solana, which still uses legacy swaps
13
+ *
14
+ * @category Swaps
15
+ */
10
16
  class LnForGasWrapper extends ISwapWrapper_1.ISwapWrapper {
11
17
  constructor() {
12
18
  super(...arguments);
13
19
  this.TYPE = SwapType_1.SwapType.TRUSTED_FROM_BTCLN;
14
- this.swapDeserializer = LnForGasSwap_1.LnForGasSwap;
15
- this.pendingSwapStates = [LnForGasSwap_1.LnForGasSwapState.PR_CREATED];
20
+ /**
21
+ * @internal
22
+ */
23
+ this._swapDeserializer = LnForGasSwap_1.LnForGasSwap;
24
+ /**
25
+ * @internal
26
+ */
27
+ this._pendingSwapStates = [LnForGasSwap_1.LnForGasSwapState.PR_CREATED];
28
+ /**
29
+ * @internal
30
+ */
16
31
  this.tickSwapState = undefined;
32
+ /**
33
+ * @internal
34
+ */
17
35
  this.processEvent = undefined;
18
36
  }
19
37
  /**
20
- * Returns a newly created swap, receiving 'amount' on lightning network
38
+ * Returns a newly created trusted Lightning network -> Smart chain swap, receiving
39
+ * the specified amount of native token on the destination chain.
21
40
  *
22
- * @param signer
23
- * @param amount Amount you wish to receive in base units (satoshis)
24
- * @param lpOrUrl Intermediary/Counterparty swap service Intermediary object or raw url
41
+ * @param recipient Address of the recipient on the smart chain destination chain
42
+ * @param amount Amount of native token to receive in base units
43
+ * @param lpOrUrl Intermediary (LP) to use for the swap
25
44
  */
26
- async create(signer, amount, lpOrUrl) {
45
+ async create(recipient, amount, lpOrUrl) {
27
46
  if (!this.isInitialized)
28
47
  throw new Error("Not initialized, call init() first!");
29
48
  const lpUrl = typeof (lpOrUrl) === "string" ? lpOrUrl : lpOrUrl.url;
30
- const token = this.chain.getNativeCurrencyAddress();
49
+ const token = this._chain.getNativeCurrencyAddress();
31
50
  const resp = await TrustedIntermediaryAPI_1.TrustedIntermediaryAPI.initTrustedFromBTCLN(this.chainIdentifier, lpUrl, {
32
- address: signer,
51
+ address: recipient,
33
52
  amount,
34
53
  token
35
- }, this.options.getRequestTimeout);
54
+ }, this._options.getRequestTimeout);
36
55
  const decodedPr = (0, bolt11_1.decode)(resp.pr);
37
56
  if (decodedPr.millisatoshis == null)
38
57
  throw new Error("Invalid payment request returned, no msat amount value!");
@@ -47,7 +66,7 @@ class LnForGasWrapper extends ISwapWrapper_1.ISwapWrapper {
47
66
  const quoteInit = {
48
67
  pr: resp.pr,
49
68
  outputAmount: resp.total,
50
- recipient: signer,
69
+ recipient,
51
70
  pricingInfo,
52
71
  url: lpUrl,
53
72
  expiry: decodedPr.timeExpireDate * 1000,