@atomiqlabs/sdk 8.9.0 → 8.9.2

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 (366) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +1760 -1760
  3. package/api/index.d.ts +1 -1
  4. package/api/index.js +3 -3
  5. package/dist/ApiList.d.ts +37 -37
  6. package/dist/ApiList.js +30 -30
  7. package/dist/SmartChainAssets.d.ts +181 -181
  8. package/dist/SmartChainAssets.js +181 -181
  9. package/dist/api/ApiEndpoints.d.ts +393 -393
  10. package/dist/api/ApiEndpoints.js +2 -2
  11. package/dist/api/ApiParser.d.ts +10 -10
  12. package/dist/api/ApiParser.js +134 -134
  13. package/dist/api/ApiTypes.d.ts +157 -157
  14. package/dist/api/ApiTypes.js +75 -75
  15. package/dist/api/SerializedAction.d.ts +40 -40
  16. package/dist/api/SerializedAction.js +59 -59
  17. package/dist/api/SwapperApi.d.ts +50 -50
  18. package/dist/api/SwapperApi.js +431 -431
  19. package/dist/api/index.d.ts +5 -5
  20. package/dist/api/index.js +24 -24
  21. package/dist/bitcoin/coinselect2/accumulative.d.ts +7 -7
  22. package/dist/bitcoin/coinselect2/accumulative.js +52 -52
  23. package/dist/bitcoin/coinselect2/blackjack.d.ts +7 -7
  24. package/dist/bitcoin/coinselect2/blackjack.js +38 -38
  25. package/dist/bitcoin/coinselect2/index.d.ts +20 -20
  26. package/dist/bitcoin/coinselect2/index.js +69 -69
  27. package/dist/bitcoin/coinselect2/utils.d.ts +82 -82
  28. package/dist/bitcoin/coinselect2/utils.js +158 -158
  29. package/dist/bitcoin/wallet/BitcoinWallet.d.ts +113 -113
  30. package/dist/bitcoin/wallet/BitcoinWallet.js +335 -335
  31. package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +116 -116
  32. package/dist/bitcoin/wallet/IBitcoinWallet.js +21 -21
  33. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +106 -106
  34. package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +196 -196
  35. package/dist/enums/FeeType.d.ts +15 -15
  36. package/dist/enums/FeeType.js +19 -19
  37. package/dist/enums/SwapAmountType.d.ts +15 -15
  38. package/dist/enums/SwapAmountType.js +19 -19
  39. package/dist/enums/SwapDirection.d.ts +15 -15
  40. package/dist/enums/SwapDirection.js +19 -19
  41. package/dist/enums/SwapSide.d.ts +15 -15
  42. package/dist/enums/SwapSide.js +19 -19
  43. package/dist/enums/SwapType.d.ts +75 -75
  44. package/dist/enums/SwapType.js +79 -79
  45. package/dist/errors/IntermediaryError.d.ts +13 -13
  46. package/dist/errors/IntermediaryError.js +27 -27
  47. package/dist/errors/RequestError.d.ts +32 -32
  48. package/dist/errors/RequestError.js +54 -54
  49. package/dist/errors/UserError.d.ts +8 -8
  50. package/dist/errors/UserError.js +16 -16
  51. package/dist/events/UnifiedSwapEventListener.d.ts +24 -24
  52. package/dist/events/UnifiedSwapEventListener.js +138 -138
  53. package/dist/http/HttpUtils.d.ts +29 -29
  54. package/dist/http/HttpUtils.js +97 -97
  55. package/dist/http/paramcoders/IParamReader.d.ts +8 -8
  56. package/dist/http/paramcoders/IParamReader.js +2 -2
  57. package/dist/http/paramcoders/ParamDecoder.d.ts +44 -44
  58. package/dist/http/paramcoders/ParamDecoder.js +137 -137
  59. package/dist/http/paramcoders/ParamEncoder.d.ts +20 -20
  60. package/dist/http/paramcoders/ParamEncoder.js +36 -36
  61. package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -26
  62. package/dist/http/paramcoders/SchemaVerifier.js +145 -145
  63. package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -11
  64. package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -57
  65. package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +13 -13
  66. package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
  67. package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +17 -17
  68. package/dist/http/paramcoders/client/StreamingFetchPromise.js +175 -175
  69. package/dist/index.d.ts +86 -86
  70. package/dist/index.js +159 -159
  71. package/dist/intermediaries/Intermediary.d.ts +178 -178
  72. package/dist/intermediaries/Intermediary.js +166 -166
  73. package/dist/intermediaries/IntermediaryDiscovery.d.ts +216 -216
  74. package/dist/intermediaries/IntermediaryDiscovery.js +424 -424
  75. package/dist/intermediaries/apis/IntermediaryAPI.d.ts +607 -607
  76. package/dist/intermediaries/apis/IntermediaryAPI.js +764 -764
  77. package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
  78. package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
  79. package/dist/intermediaries/auth/SignedKeyBasedAuth.d.ts +14 -14
  80. package/dist/intermediaries/auth/SignedKeyBasedAuth.js +68 -68
  81. package/dist/lnurl/LNURL.d.ts +102 -102
  82. package/dist/lnurl/LNURL.js +321 -321
  83. package/dist/prices/RedundantSwapPrice.d.ts +110 -110
  84. package/dist/prices/RedundantSwapPrice.js +222 -222
  85. package/dist/prices/SingleSwapPrice.d.ts +34 -34
  86. package/dist/prices/SingleSwapPrice.js +44 -44
  87. package/dist/prices/SwapPriceWithChain.d.ts +107 -107
  88. package/dist/prices/SwapPriceWithChain.js +128 -128
  89. package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
  90. package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
  91. package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
  92. package/dist/prices/abstract/IPriceProvider.js +74 -74
  93. package/dist/prices/abstract/ISwapPrice.d.ts +168 -168
  94. package/dist/prices/abstract/ISwapPrice.js +279 -279
  95. package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
  96. package/dist/prices/providers/BinancePriceProvider.js +30 -30
  97. package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
  98. package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
  99. package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
  100. package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
  101. package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
  102. package/dist/prices/providers/CustomPriceProvider.js +35 -35
  103. package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
  104. package/dist/prices/providers/KrakenPriceProvider.js +45 -45
  105. package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
  106. package/dist/prices/providers/OKXPriceProvider.js +29 -29
  107. package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
  108. package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
  109. package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
  110. package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
  111. package/dist/storage/IUnifiedStorage.d.ts +127 -127
  112. package/dist/storage/IUnifiedStorage.js +2 -2
  113. package/dist/storage/UnifiedSwapStorage.d.ts +120 -120
  114. package/dist/storage/UnifiedSwapStorage.js +154 -154
  115. package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
  116. package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
  117. package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
  118. package/dist/storage-browser/LocalStorageManager.js +93 -93
  119. package/dist/swapper/Swapper.d.ts +765 -765
  120. package/dist/swapper/Swapper.js +1749 -1749
  121. package/dist/swapper/SwapperFactory.d.ts +135 -135
  122. package/dist/swapper/SwapperFactory.js +162 -162
  123. package/dist/swapper/SwapperUtils.d.ts +222 -222
  124. package/dist/swapper/SwapperUtils.js +519 -519
  125. package/dist/swapper/SwapperWithChain.d.ts +404 -404
  126. package/dist/swapper/SwapperWithChain.js +469 -469
  127. package/dist/swapper/SwapperWithSigner.d.ts +322 -322
  128. package/dist/swapper/SwapperWithSigner.js +318 -318
  129. package/dist/swaps/IAddressSwap.d.ts +22 -22
  130. package/dist/swaps/IAddressSwap.js +14 -14
  131. package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
  132. package/dist/swaps/IBTCWalletSwap.js +18 -18
  133. package/dist/swaps/IClaimableSwap.d.ts +49 -49
  134. package/dist/swaps/IClaimableSwap.js +15 -15
  135. package/dist/swaps/IClaimableSwapWrapper.d.ts +15 -15
  136. package/dist/swaps/IClaimableSwapWrapper.js +2 -2
  137. package/dist/swaps/IRefundableSwap.d.ts +43 -43
  138. package/dist/swaps/IRefundableSwap.js +14 -14
  139. package/dist/swaps/ISwap.d.ts +453 -453
  140. package/dist/swaps/ISwap.js +371 -371
  141. package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
  142. package/dist/swaps/ISwapWithGasDrop.js +12 -12
  143. package/dist/swaps/ISwapWrapper.d.ts +295 -295
  144. package/dist/swaps/ISwapWrapper.js +373 -373
  145. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
  146. package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
  147. package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +139 -139
  148. package/dist/swaps/escrow_swaps/IEscrowSwap.js +172 -172
  149. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +129 -129
  150. package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +167 -167
  151. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +107 -107
  152. package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
  153. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
  154. package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
  155. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +64 -64
  156. package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +82 -82
  157. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +547 -547
  158. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1419 -1419
  159. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +192 -192
  160. package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +432 -432
  161. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +650 -650
  162. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1577 -1577
  163. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +237 -237
  164. package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +525 -525
  165. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +491 -491
  166. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1463 -1463
  167. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +204 -204
  168. package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +406 -406
  169. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +446 -446
  170. package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +1097 -1097
  171. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +68 -68
  172. package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +117 -117
  173. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +127 -127
  174. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
  175. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +252 -252
  176. package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +535 -535
  177. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
  178. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
  179. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +134 -134
  180. package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +286 -286
  181. package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +694 -694
  182. package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1687 -1687
  183. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +259 -259
  184. package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +947 -947
  185. package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +302 -302
  186. package/dist/swaps/trusted/ln/LnForGasSwap.js +625 -625
  187. package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
  188. package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
  189. package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +343 -343
  190. package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +698 -698
  191. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +71 -71
  192. package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +93 -93
  193. package/dist/types/AmountData.d.ts +10 -10
  194. package/dist/types/AmountData.js +2 -2
  195. package/dist/types/CustomPriceFunction.d.ts +11 -11
  196. package/dist/types/CustomPriceFunction.js +2 -2
  197. package/dist/types/PriceInfoType.d.ts +28 -28
  198. package/dist/types/PriceInfoType.js +57 -57
  199. package/dist/types/SwapExecutionAction.d.ts +195 -195
  200. package/dist/types/SwapExecutionAction.js +106 -106
  201. package/dist/types/SwapExecutionStep.d.ts +144 -144
  202. package/dist/types/SwapExecutionStep.js +87 -87
  203. package/dist/types/SwapStateInfo.d.ts +5 -5
  204. package/dist/types/SwapStateInfo.js +2 -2
  205. package/dist/types/SwapWithSigner.d.ts +17 -17
  206. package/dist/types/SwapWithSigner.js +43 -43
  207. package/dist/types/Token.d.ts +99 -99
  208. package/dist/types/Token.js +76 -76
  209. package/dist/types/TokenAmount.d.ts +75 -75
  210. package/dist/types/TokenAmount.js +85 -85
  211. package/dist/types/fees/Fee.d.ts +50 -50
  212. package/dist/types/fees/Fee.js +2 -2
  213. package/dist/types/fees/FeeBreakdown.d.ts +11 -11
  214. package/dist/types/fees/FeeBreakdown.js +2 -2
  215. package/dist/types/fees/PercentagePPM.d.ts +17 -17
  216. package/dist/types/fees/PercentagePPM.js +18 -18
  217. package/dist/types/lnurl/LNURLPay.d.ts +61 -61
  218. package/dist/types/lnurl/LNURLPay.js +31 -31
  219. package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
  220. package/dist/types/lnurl/LNURLWithdraw.js +27 -27
  221. package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
  222. package/dist/types/wallets/LightningInvoiceCreateService.js +15 -15
  223. package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +23 -23
  224. package/dist/types/wallets/MinimalBitcoinWalletInterface.js +2 -2
  225. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +9 -9
  226. package/dist/types/wallets/MinimalLightningNetworkWalletInterface.js +2 -2
  227. package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -1
  228. package/dist/utils/AutomaticClockDriftCorrection.js +70 -70
  229. package/dist/utils/BitcoinUtils.d.ts +18 -18
  230. package/dist/utils/BitcoinUtils.js +174 -174
  231. package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
  232. package/dist/utils/BitcoinWalletUtils.js +14 -14
  233. package/dist/utils/Logger.d.ts +7 -7
  234. package/dist/utils/Logger.js +12 -12
  235. package/dist/utils/RetryUtils.d.ts +22 -22
  236. package/dist/utils/RetryUtils.js +67 -67
  237. package/dist/utils/SwapUtils.d.ts +88 -88
  238. package/dist/utils/SwapUtils.js +72 -72
  239. package/dist/utils/TimeoutUtils.d.ts +17 -17
  240. package/dist/utils/TimeoutUtils.js +55 -55
  241. package/dist/utils/TokenUtils.d.ts +19 -19
  242. package/dist/utils/TokenUtils.js +37 -37
  243. package/dist/utils/TypeUtils.d.ts +7 -7
  244. package/dist/utils/TypeUtils.js +2 -2
  245. package/dist/utils/Utils.d.ts +69 -69
  246. package/dist/utils/Utils.js +214 -214
  247. package/package.json +46 -46
  248. package/src/SmartChainAssets.ts +186 -186
  249. package/src/api/ApiEndpoints.ts +427 -427
  250. package/src/api/ApiParser.ts +138 -138
  251. package/src/api/ApiTypes.ts +229 -229
  252. package/src/api/SerializedAction.ts +97 -97
  253. package/src/api/SwapperApi.ts +545 -545
  254. package/src/api/index.ts +5 -5
  255. package/src/bitcoin/coinselect2/accumulative.ts +69 -69
  256. package/src/bitcoin/coinselect2/blackjack.ts +50 -50
  257. package/src/bitcoin/coinselect2/index.ts +93 -93
  258. package/src/bitcoin/coinselect2/utils.ts +236 -236
  259. package/src/bitcoin/wallet/BitcoinWallet.ts +439 -439
  260. package/src/bitcoin/wallet/IBitcoinWallet.ts +140 -140
  261. package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +225 -225
  262. package/src/enums/FeeType.ts +15 -15
  263. package/src/enums/SwapAmountType.ts +16 -16
  264. package/src/enums/SwapDirection.ts +15 -15
  265. package/src/enums/SwapSide.ts +16 -16
  266. package/src/enums/SwapType.ts +75 -75
  267. package/src/errors/IntermediaryError.ts +28 -28
  268. package/src/errors/RequestError.ts +64 -64
  269. package/src/errors/UserError.ts +15 -15
  270. package/src/events/UnifiedSwapEventListener.ts +181 -181
  271. package/src/http/HttpUtils.ts +97 -97
  272. package/src/http/paramcoders/IParamReader.ts +9 -9
  273. package/src/http/paramcoders/ParamDecoder.ts +145 -145
  274. package/src/http/paramcoders/ParamEncoder.ts +40 -40
  275. package/src/http/paramcoders/SchemaVerifier.ts +153 -153
  276. package/src/http/paramcoders/client/ResponseParamDecoder.ts +57 -57
  277. package/src/http/paramcoders/client/StreamParamEncoder.ts +28 -28
  278. package/src/http/paramcoders/client/StreamingFetchPromise.ts +194 -194
  279. package/src/index.ts +141 -141
  280. package/src/intermediaries/Intermediary.ts +280 -280
  281. package/src/intermediaries/IntermediaryDiscovery.ts +548 -548
  282. package/src/intermediaries/apis/IntermediaryAPI.ts +1247 -1247
  283. package/src/intermediaries/auth/SignedKeyBasedAuth.ts +69 -69
  284. package/src/lnurl/LNURL.ts +402 -402
  285. package/src/prices/RedundantSwapPrice.ts +264 -264
  286. package/src/prices/SingleSwapPrice.ts +50 -50
  287. package/src/prices/SwapPriceWithChain.ts +194 -194
  288. package/src/prices/abstract/ICachedSwapPrice.ts +85 -85
  289. package/src/prices/abstract/IPriceProvider.ts +127 -127
  290. package/src/prices/abstract/ISwapPrice.ts +390 -390
  291. package/src/prices/providers/BinancePriceProvider.ts +48 -48
  292. package/src/prices/providers/CoinGeckoPriceProvider.ts +46 -46
  293. package/src/prices/providers/CoinPaprikaPriceProvider.ts +49 -49
  294. package/src/prices/providers/CustomPriceProvider.ts +40 -40
  295. package/src/prices/providers/KrakenPriceProvider.ts +83 -83
  296. package/src/prices/providers/OKXPriceProvider.ts +59 -59
  297. package/src/prices/providers/abstract/ExchangePriceProvider.ts +31 -31
  298. package/src/prices/providers/abstract/HttpPriceProvider.ts +14 -14
  299. package/src/storage/IUnifiedStorage.ts +136 -136
  300. package/src/storage/UnifiedSwapStorage.ts +175 -175
  301. package/src/storage-browser/IndexedDBUnifiedStorage.ts +350 -350
  302. package/src/storage-browser/LocalStorageManager.ts +106 -106
  303. package/src/swapper/Swapper.ts +2557 -2557
  304. package/src/swapper/SwapperFactory.ts +307 -307
  305. package/src/swapper/SwapperUtils.ts +610 -610
  306. package/src/swapper/SwapperWithChain.ts +707 -707
  307. package/src/swapper/SwapperWithSigner.ts +511 -511
  308. package/src/swaps/IAddressSwap.ts +30 -30
  309. package/src/swaps/IBTCWalletSwap.ts +92 -92
  310. package/src/swaps/IClaimableSwap.ts +65 -65
  311. package/src/swaps/IClaimableSwapWrapper.ts +17 -17
  312. package/src/swaps/IRefundableSwap.ts +58 -58
  313. package/src/swaps/ISwap.ts +775 -775
  314. package/src/swaps/ISwapWithGasDrop.ts +25 -25
  315. package/src/swaps/ISwapWrapper.ts +564 -564
  316. package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +217 -217
  317. package/src/swaps/escrow_swaps/IEscrowSwap.ts +271 -271
  318. package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +284 -284
  319. package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +172 -172
  320. package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +300 -300
  321. package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +107 -107
  322. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +1670 -1671
  323. package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +603 -603
  324. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +1883 -1883
  325. package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +752 -752
  326. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +1753 -1753
  327. package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +612 -612
  328. package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +1327 -1327
  329. package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +138 -138
  330. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +304 -304
  331. package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +787 -787
  332. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +206 -206
  333. package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +403 -403
  334. package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +2148 -2148
  335. package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +1238 -1238
  336. package/src/swaps/trusted/ln/LnForGasSwap.ts +753 -753
  337. package/src/swaps/trusted/ln/LnForGasWrapper.ts +90 -90
  338. package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +843 -843
  339. package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +133 -133
  340. package/src/types/AmountData.ts +9 -9
  341. package/src/types/CustomPriceFunction.ts +11 -11
  342. package/src/types/PriceInfoType.ts +66 -66
  343. package/src/types/SwapExecutionAction.ts +323 -323
  344. package/src/types/SwapExecutionStep.ts +224 -224
  345. package/src/types/SwapStateInfo.ts +6 -6
  346. package/src/types/SwapWithSigner.ts +61 -61
  347. package/src/types/Token.ts +163 -163
  348. package/src/types/TokenAmount.ts +167 -167
  349. package/src/types/fees/Fee.ts +56 -56
  350. package/src/types/fees/FeeBreakdown.ts +11 -11
  351. package/src/types/fees/PercentagePPM.ts +26 -26
  352. package/src/types/lnurl/LNURLPay.ts +79 -79
  353. package/src/types/lnurl/LNURLWithdraw.ts +61 -61
  354. package/src/types/wallets/LightningInvoiceCreateService.ts +30 -30
  355. package/src/types/wallets/MinimalBitcoinWalletInterface.ts +21 -21
  356. package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +9 -9
  357. package/src/utils/AutomaticClockDriftCorrection.ts +71 -71
  358. package/src/utils/BitcoinUtils.ts +164 -164
  359. package/src/utils/BitcoinWalletUtils.ts +15 -15
  360. package/src/utils/Logger.ts +14 -14
  361. package/src/utils/RetryUtils.ts +78 -78
  362. package/src/utils/SwapUtils.ts +99 -99
  363. package/src/utils/TimeoutUtils.ts +49 -49
  364. package/src/utils/TokenUtils.ts +33 -33
  365. package/src/utils/TypeUtils.ts +8 -8
  366. package/src/utils/Utils.ts +221 -221
@@ -1,393 +1,393 @@
1
- import { SwapExecutionStep } from "../types/SwapExecutionStep";
2
- import { SerializedAction } from "./SerializedAction";
3
- import { SwapExecutionAction } from "../types/SwapExecutionAction";
4
- import { ApiAmount, ApiLNURL, ApiToken } from "./ApiTypes";
5
- import { LNURLDecodedSuccessAction } from "../types/lnurl/LNURLPay";
6
- /**
7
- * Base serialized swap data returned by API endpoints that expose swap details.
8
- *
9
- * @category API
10
- */
11
- export type SwapOutputBase = {
12
- /** Unique identifier of the swap. */
13
- swapId: string;
14
- /** Swap type name, for example `FROM_BTC`, `TO_BTCLN`, or `FROM_BTCLN`. */
15
- swapType: string;
16
- /** Current swap state information. This varies for every swap type */
17
- state: {
18
- /** Numeric state representation of the state. */
19
- number: number;
20
- /** Human-readable state name. */
21
- name: string;
22
- /** Human-readable description of the current state. */
23
- description: string;
24
- };
25
- /** Quote data captured when the swap was created. */
26
- quote: {
27
- /** Input source amount that will be paid by the user (including fees, but excluding source network fees). */
28
- inputAmount: ApiAmount;
29
- /** Output destination amount that will be paid out to the user. */
30
- outputAmount: ApiAmount;
31
- /** Fee breakdown included in the quote. */
32
- fees: {
33
- /** Swap service fee (charged in source token). */
34
- swap: ApiAmount;
35
- /** Swap fee to cover the transaction network fees on the destination side (charged in source token). */
36
- networkOutput?: ApiAmount;
37
- };
38
- /** Quote expiration timestamp in milliseconds since Unix epoch. */
39
- expiry: number;
40
- /** Output address of the swap, the destination tokens will be sent here. */
41
- outputAddress: string;
42
- };
43
- /** Swap creation timestamp in milliseconds since Unix epoch. */
44
- createdAt: number;
45
- /** Swap execution steps. */
46
- steps: SwapExecutionStep[];
47
- /** LNURL metadata attached to Lightning-based swaps when applicable. */
48
- lnurl?: {
49
- /** LNURL-withdraw link for Lightning to smart-chain flows. */
50
- withdraw?: string;
51
- /** LNURL-pay link for smart-chain to Lightning flows. */
52
- pay?: string;
53
- /** LNURL success action returned after a successful payment via LNURL-pay link, if specified in the LNURL. */
54
- successAction?: LNURLDecodedSuccessAction;
55
- };
56
- };
57
- /**
58
- * Input for creating a new swap
59
- *
60
- * @category API
61
- */
62
- export type CreateSwapInput = {
63
- /** Input source token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
64
- srcToken: string;
65
- /** Output destination token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
66
- dstToken: string;
67
- /** Swap amount in base units */
68
- amount: bigint;
69
- /** Whether the provided amount represents the exact input or exact output side of the quote. */
70
- amountType: "EXACT_IN" | "EXACT_OUT";
71
- /** Source address for flows that require it, mainly smart-chain to Bitcoin or Lightning swaps. */
72
- srcAddress?: string;
73
- /** Destination address, invoice, or recipient identifier for the swap output. */
74
- dstAddress: string;
75
- /**
76
- * Only for smart chain to Lighting/Bitcoin swaps.
77
- *
78
- * Optional gas-drop amount (additional native token) to receive on the destination smart chain, in base units.
79
- */
80
- gasAmount?: bigint;
81
- /**
82
- * Only for Lightning to smart chain swaps.
83
- *
84
- * Optional custom swap payment hash encoded as a hexadecimal string, for when you want to generate the preimage
85
- * and payment hash pair outside the API. When used, you need to provide the `secret` argument to the `getSwapStatus`
86
- * endpoint when the swap HTLC is ready to be claimed (indicated by the `requiresSecretReveal` param in the
87
- * `getSwapStatus` response)
88
- */
89
- paymentHash?: string;
90
- /**
91
- * Only for Lightning to smart chain swaps.
92
- *
93
- * Optional description to add to the generated Lightning network BOLT11 invoice.
94
- */
95
- lightningInvoiceDescription?: string;
96
- /**
97
- * Only for Lightning to smart chain swaps.
98
- *
99
- * Optional description to add to the generated Lightning network BOLT11 invoice.
100
- */
101
- lightningInvoiceDescriptionHash?: string;
102
- /**
103
- * Only for smart chain to Lightning swaps.
104
- *
105
- * Optional override for the HTLC timeout in seconds (default is 5 days), longer timeouts allow more lightning
106
- * network hops to be considered when routing the destination lightning network payment, but might lead to longer
107
- * funds lockup in case of non-cooperative LP.
108
- */
109
- lightningPaymentHTLCTimeout?: number;
110
- };
111
- /**
112
- * Output from create swap endpoint
113
- *
114
- * @category API
115
- */
116
- export type CreateSwapOutput = SwapOutputBase;
117
- /**
118
- * Input for getting swap status
119
- *
120
- * @category API
121
- */
122
- export type GetSwapStatusInput = {
123
- /** Unique identifier of the swap to query. */
124
- swapId: string;
125
- /**
126
- * Swap secret pre-image revealed after the destination chain HTLC is created for Lightning to smart chain swaps,
127
- * encoded as a hexadecimal string.
128
- */
129
- secret?: string;
130
- /**
131
- * For Bitcoin to smart chain swaps.
132
- *
133
- * Bitcoin address used to request a pre-funded PSBT with populated input UTXOs ready for signing and execution
134
- */
135
- bitcoinAddress?: string;
136
- /**
137
- * For Bitcoin to smart chain swaps.
138
- *
139
- * Bitcoin public key used together with `bitcoinAddress` to request a pre-funded PSBT with populated input UTXOs
140
- * ready for signing and execution
141
- */
142
- bitcoinPublicKey?: string;
143
- /**
144
- * For Bitcoin to smart chain swaps.
145
- *
146
- * Bitcoin fee rate override used when building a pre-funded PSBT, otherwise the current economical fee rate is used.
147
- */
148
- bitcoinFeeRate?: number;
149
- /** Alternative smart-chain signer to use for claim, refund, or manual settlement transactions. */
150
- signer?: string;
151
- };
152
- /**
153
- * Output from swap status getter
154
- *
155
- * @category API
156
- */
157
- export type ListSwapOutput = SwapOutputBase & {
158
- /** Whether the swap reached a terminal state. */
159
- isFinished: boolean;
160
- /** Whether the swap finished successfully. */
161
- isSuccess: boolean;
162
- /** Whether the swap finished in a failed state. */
163
- isFailed: boolean;
164
- /** Whether the quote expired before completion. */
165
- isExpired: boolean;
166
- };
167
- /**
168
- * Output from swap status getter
169
- *
170
- * @category API
171
- */
172
- export type GetSwapStatusOutput = ListSwapOutput & {
173
- /** Current actionable instruction for the client, or `null` when no action is required. */
174
- currentAction: SerializedAction<SwapExecutionAction> | null;
175
- /**
176
- * For Lightning to smart chain swaps.
177
- *
178
- * Whether the client should provide the Lightning secret pre-image to continue execution. Returned when the HTLC
179
- * on the destination chain is created and is ready to be claimed by the user.
180
- */
181
- requiresSecretReveal?: boolean;
182
- /**
183
- * Escrow-specific data for escrow contract based swaps (all except the non-legacy Bitcoin to smart chain swaps)
184
- */
185
- escrow?: {
186
- /** Serialized escrow data. */
187
- data: any;
188
- /** A transaction which created the escrow, if the escrow is already created on-chain. */
189
- initTxId?: string;
190
- };
191
- };
192
- /**
193
- * Input for listing swaps
194
- *
195
- * @category API
196
- */
197
- export type ListSwapsInput = {
198
- /** Smart-chain signer address used to filter swaps. */
199
- signer: string;
200
- /** Optional smart-chain identifier used to narrow the result set, e.g. SOLANA, STARKNET, CITREA */
201
- chainId?: string;
202
- };
203
- /**
204
- * Output from swap list endpoint
205
- *
206
- * @category API
207
- */
208
- export type ListSwapsOutput = ListSwapOutput[];
209
- /**
210
- * Input for listing pending swaps
211
- *
212
- * @category API
213
- */
214
- export type ListPendingSwapsInput = ListSwapsInput;
215
- /**
216
- * Output from pending swap list endpoint
217
- *
218
- * @category API
219
- */
220
- export type ListPendingSwapsOutput = ListSwapsOutput;
221
- /**
222
- * Input for listing supported tokens
223
- *
224
- * @category API
225
- */
226
- export type GetSupportedTokensInput = {
227
- /** Whether to list source-side (`INPUT`) or destination-side (`OUTPUT`) tokens. */
228
- side: "INPUT" | "OUTPUT";
229
- };
230
- /**
231
- * Output from supported token list endpoint
232
- *
233
- * @category API
234
- */
235
- export type GetSupportedTokensOutput = ApiToken[];
236
- /**
237
- * Input for listing swap counter-tokens for a given token
238
- *
239
- * @category API
240
- */
241
- export type GetSwapCounterTokensInput = {
242
- /** Token identifier to find compatible counter-tokens for, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
243
- token: string;
244
- /** Whether the provided token should be treated as the input or output side of the swap. */
245
- side: "INPUT" | "OUTPUT";
246
- };
247
- /**
248
- * Output from swap counter-token list endpoint
249
- *
250
- * @category API
251
- */
252
- export type GetSwapCounterTokensOutput = ApiToken[];
253
- /**
254
- * Input for querying swap limits between two tokens
255
- *
256
- * @category API
257
- */
258
- export type GetSwapLimitsInput = {
259
- /** Source token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
260
- srcToken: string;
261
- /** Destination token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
262
- dstToken: string;
263
- };
264
- /**
265
- * Output from swap limits endpoint
266
- *
267
- * @category API
268
- */
269
- export type GetSwapLimitsOutput = {
270
- /** Limits expressed on the input side of the swap. */
271
- input: {
272
- /** Minimum supported input amount. */
273
- min: ApiAmount;
274
- /** Maximum supported input amount when bounded. */
275
- max?: ApiAmount;
276
- };
277
- /** Limits expressed on the output side of the swap. */
278
- output: {
279
- /** Minimum supported output amount. */
280
- min: ApiAmount;
281
- /** Maximum supported output amount when bounded. */
282
- max?: ApiAmount;
283
- };
284
- };
285
- /**
286
- * Input for parsing an address-like string supported by the SDK
287
- *
288
- * @category API
289
- */
290
- export type ParseAddressInput = {
291
- /** Address-like string to parse, such as a wallet address, lightning invoice, LNURL, or URI. */
292
- address: string;
293
- };
294
- /**
295
- * Output from address parser endpoint
296
- *
297
- * @category API
298
- */
299
- export type ParseAddressOutput = {
300
- /** Canonical parsed address or recipient identifier. */
301
- address: string;
302
- /** Parsed address type, e.g. BITCOIN, LIGHTNING, SOLANA, STARKNET or CITREA */
303
- type: string;
304
- /** Parsed LNURL metadata when the input resolves to LNURL content. */
305
- lnurl?: ApiLNURL;
306
- /** Minimum supported amount advertised by the parsed target, when available. */
307
- min?: ApiAmount;
308
- /** Maximum supported amount advertised by the parsed target, when available. */
309
- max?: ApiAmount;
310
- /** Amount embedded directly in the parsed target, when present. */
311
- amount?: ApiAmount;
312
- };
313
- /**
314
- * Input for querying spendable wallet balance
315
- *
316
- * @category API
317
- */
318
- export type GetSpendableBalanceInput = {
319
- /** Wallet address to inspect. */
320
- wallet: string;
321
- /** Token identifier to get the balance for, e.g. BITCOIN-BTC, SOLANA-SOL or STARKNET-STRK */
322
- token: string;
323
- /**
324
- * Target smart chain identifier when estimating spendable bitcoin balance. Automatically adjusts based on
325
- * available swaps between Bitcoin and the provided chain
326
- */
327
- targetChain?: string;
328
- /**
329
- * Whether gas-drop transaction size overhead should be included for Bitcoin to smart chain swaps.
330
- */
331
- gasDrop?: boolean;
332
- /**
333
- * Manual fee-rate override used for spendable balance estimation.
334
- */
335
- feeRate?: string;
336
- /** Minimum Bitcoin fee rate to enforce during estimation. */
337
- minBitcoinFeeRate?: number;
338
- /**
339
- * Multiplier applied to fetched economical network fee.
340
- */
341
- feeMultiplier?: number;
342
- };
343
- /**
344
- * Output from spendable balance endpoint
345
- *
346
- * @category API
347
- */
348
- export type GetSpendableBalanceOutput = {
349
- /** Spendable balance after deducting estimated swap execution costs. */
350
- balance: ApiAmount;
351
- /** Fee rate used during estimation. Only when estimating BTC balances on Bitcoin */
352
- feeRate?: number;
353
- };
354
- /**
355
- * Input for submitting signed transactions
356
- *
357
- * @category API
358
- */
359
- export type SubmitTransactionInput = {
360
- /** Unique identifier of the swap the transactions belong to. */
361
- swapId: string;
362
- /** Serialized signed transactions to submit in execution order. */
363
- signedTxs: string[];
364
- };
365
- /**
366
- * Output from submitting transactions
367
- *
368
- * @category API
369
- */
370
- export type SubmitTransactionOutput = {
371
- /** Transaction hashes returned after successful submission. */
372
- txHashes: string[];
373
- };
374
- /**
375
- * Input for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
376
- *
377
- * @category API
378
- */
379
- export type SettleWithLnurlInput = {
380
- /** Unique identifier of the Lightning to smart-chain swap to settle. */
381
- swapId: string;
382
- /** LNURL-withdraw link to use when the swap was not already created with one. */
383
- lnurlWithdraw?: string;
384
- };
385
- /**
386
- * Output for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
387
- *
388
- * @category API
389
- */
390
- export type SettleWithLnurlOutput = {
391
- /** Payment hash of the Lightning payment paid by the LNURL-withdraw link, encoded as a hexadecimal string. */
392
- paymentHash: string;
393
- };
1
+ import { SwapExecutionStep } from "../types/SwapExecutionStep";
2
+ import { SerializedAction } from "./SerializedAction";
3
+ import { SwapExecutionAction } from "../types/SwapExecutionAction";
4
+ import { ApiAmount, ApiLNURL, ApiToken } from "./ApiTypes";
5
+ import { LNURLDecodedSuccessAction } from "../types/lnurl/LNURLPay";
6
+ /**
7
+ * Base serialized swap data returned by API endpoints that expose swap details.
8
+ *
9
+ * @category API
10
+ */
11
+ export type SwapOutputBase = {
12
+ /** Unique identifier of the swap. */
13
+ swapId: string;
14
+ /** Swap type name, for example `FROM_BTC`, `TO_BTCLN`, or `FROM_BTCLN`. */
15
+ swapType: string;
16
+ /** Current swap state information. This varies for every swap type */
17
+ state: {
18
+ /** Numeric state representation of the state. */
19
+ number: number;
20
+ /** Human-readable state name. */
21
+ name: string;
22
+ /** Human-readable description of the current state. */
23
+ description: string;
24
+ };
25
+ /** Quote data captured when the swap was created. */
26
+ quote: {
27
+ /** Input source amount that will be paid by the user (including fees, but excluding source network fees). */
28
+ inputAmount: ApiAmount;
29
+ /** Output destination amount that will be paid out to the user. */
30
+ outputAmount: ApiAmount;
31
+ /** Fee breakdown included in the quote. */
32
+ fees: {
33
+ /** Swap service fee (charged in source token). */
34
+ swap: ApiAmount;
35
+ /** Swap fee to cover the transaction network fees on the destination side (charged in source token). */
36
+ networkOutput?: ApiAmount;
37
+ };
38
+ /** Quote expiration timestamp in milliseconds since Unix epoch. */
39
+ expiry: number;
40
+ /** Output address of the swap, the destination tokens will be sent here. */
41
+ outputAddress: string;
42
+ };
43
+ /** Swap creation timestamp in milliseconds since Unix epoch. */
44
+ createdAt: number;
45
+ /** Swap execution steps. */
46
+ steps: SwapExecutionStep[];
47
+ /** LNURL metadata attached to Lightning-based swaps when applicable. */
48
+ lnurl?: {
49
+ /** LNURL-withdraw link for Lightning to smart-chain flows. */
50
+ withdraw?: string;
51
+ /** LNURL-pay link for smart-chain to Lightning flows. */
52
+ pay?: string;
53
+ /** LNURL success action returned after a successful payment via LNURL-pay link, if specified in the LNURL. */
54
+ successAction?: LNURLDecodedSuccessAction;
55
+ };
56
+ };
57
+ /**
58
+ * Input for creating a new swap
59
+ *
60
+ * @category API
61
+ */
62
+ export type CreateSwapInput = {
63
+ /** Input source token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
64
+ srcToken: string;
65
+ /** Output destination token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
66
+ dstToken: string;
67
+ /** Swap amount in base units */
68
+ amount: bigint;
69
+ /** Whether the provided amount represents the exact input or exact output side of the quote. */
70
+ amountType: "EXACT_IN" | "EXACT_OUT";
71
+ /** Source address for flows that require it, mainly smart-chain to Bitcoin or Lightning swaps. */
72
+ srcAddress?: string;
73
+ /** Destination address, invoice, or recipient identifier for the swap output. */
74
+ dstAddress: string;
75
+ /**
76
+ * Only for smart chain to Lighting/Bitcoin swaps.
77
+ *
78
+ * Optional gas-drop amount (additional native token) to receive on the destination smart chain, in base units.
79
+ */
80
+ gasAmount?: bigint;
81
+ /**
82
+ * Only for Lightning to smart chain swaps.
83
+ *
84
+ * Optional custom swap payment hash encoded as a hexadecimal string, for when you want to generate the preimage
85
+ * and payment hash pair outside the API. When used, you need to provide the `secret` argument to the `getSwapStatus`
86
+ * endpoint when the swap HTLC is ready to be claimed (indicated by the `requiresSecretReveal` param in the
87
+ * `getSwapStatus` response)
88
+ */
89
+ paymentHash?: string;
90
+ /**
91
+ * Only for Lightning to smart chain swaps.
92
+ *
93
+ * Optional description to add to the generated Lightning network BOLT11 invoice.
94
+ */
95
+ lightningInvoiceDescription?: string;
96
+ /**
97
+ * Only for Lightning to smart chain swaps.
98
+ *
99
+ * Optional description to add to the generated Lightning network BOLT11 invoice.
100
+ */
101
+ lightningInvoiceDescriptionHash?: string;
102
+ /**
103
+ * Only for smart chain to Lightning swaps.
104
+ *
105
+ * Optional override for the HTLC timeout in seconds (default is 5 days), longer timeouts allow more lightning
106
+ * network hops to be considered when routing the destination lightning network payment, but might lead to longer
107
+ * funds lockup in case of non-cooperative LP.
108
+ */
109
+ lightningPaymentHTLCTimeout?: number;
110
+ };
111
+ /**
112
+ * Output from create swap endpoint
113
+ *
114
+ * @category API
115
+ */
116
+ export type CreateSwapOutput = SwapOutputBase;
117
+ /**
118
+ * Input for getting swap status
119
+ *
120
+ * @category API
121
+ */
122
+ export type GetSwapStatusInput = {
123
+ /** Unique identifier of the swap to query. */
124
+ swapId: string;
125
+ /**
126
+ * Swap secret pre-image revealed after the destination chain HTLC is created for Lightning to smart chain swaps,
127
+ * encoded as a hexadecimal string.
128
+ */
129
+ secret?: string;
130
+ /**
131
+ * For Bitcoin to smart chain swaps.
132
+ *
133
+ * Bitcoin address used to request a pre-funded PSBT with populated input UTXOs ready for signing and execution
134
+ */
135
+ bitcoinAddress?: string;
136
+ /**
137
+ * For Bitcoin to smart chain swaps.
138
+ *
139
+ * Bitcoin public key used together with `bitcoinAddress` to request a pre-funded PSBT with populated input UTXOs
140
+ * ready for signing and execution
141
+ */
142
+ bitcoinPublicKey?: string;
143
+ /**
144
+ * For Bitcoin to smart chain swaps.
145
+ *
146
+ * Bitcoin fee rate override used when building a pre-funded PSBT, otherwise the current economical fee rate is used.
147
+ */
148
+ bitcoinFeeRate?: number;
149
+ /** Alternative smart-chain signer to use for claim, refund, or manual settlement transactions. */
150
+ signer?: string;
151
+ };
152
+ /**
153
+ * Output from swap status getter
154
+ *
155
+ * @category API
156
+ */
157
+ export type ListSwapOutput = SwapOutputBase & {
158
+ /** Whether the swap reached a terminal state. */
159
+ isFinished: boolean;
160
+ /** Whether the swap finished successfully. */
161
+ isSuccess: boolean;
162
+ /** Whether the swap finished in a failed state. */
163
+ isFailed: boolean;
164
+ /** Whether the quote expired before completion. */
165
+ isExpired: boolean;
166
+ };
167
+ /**
168
+ * Output from swap status getter
169
+ *
170
+ * @category API
171
+ */
172
+ export type GetSwapStatusOutput = ListSwapOutput & {
173
+ /** Current actionable instruction for the client, or `null` when no action is required. */
174
+ currentAction: SerializedAction<SwapExecutionAction> | null;
175
+ /**
176
+ * For Lightning to smart chain swaps.
177
+ *
178
+ * Whether the client should provide the Lightning secret pre-image to continue execution. Returned when the HTLC
179
+ * on the destination chain is created and is ready to be claimed by the user.
180
+ */
181
+ requiresSecretReveal?: boolean;
182
+ /**
183
+ * Escrow-specific data for escrow contract based swaps (all except the non-legacy Bitcoin to smart chain swaps)
184
+ */
185
+ escrow?: {
186
+ /** Serialized escrow data. */
187
+ data: any;
188
+ /** A transaction which created the escrow, if the escrow is already created on-chain. */
189
+ initTxId?: string;
190
+ };
191
+ };
192
+ /**
193
+ * Input for listing swaps
194
+ *
195
+ * @category API
196
+ */
197
+ export type ListSwapsInput = {
198
+ /** Smart-chain signer address used to filter swaps. */
199
+ signer: string;
200
+ /** Optional smart-chain identifier used to narrow the result set, e.g. SOLANA, STARKNET, CITREA */
201
+ chainId?: string;
202
+ };
203
+ /**
204
+ * Output from swap list endpoint
205
+ *
206
+ * @category API
207
+ */
208
+ export type ListSwapsOutput = ListSwapOutput[];
209
+ /**
210
+ * Input for listing pending swaps
211
+ *
212
+ * @category API
213
+ */
214
+ export type ListPendingSwapsInput = ListSwapsInput;
215
+ /**
216
+ * Output from pending swap list endpoint
217
+ *
218
+ * @category API
219
+ */
220
+ export type ListPendingSwapsOutput = ListSwapsOutput;
221
+ /**
222
+ * Input for listing supported tokens
223
+ *
224
+ * @category API
225
+ */
226
+ export type GetSupportedTokensInput = {
227
+ /** Whether to list source-side (`INPUT`) or destination-side (`OUTPUT`) tokens. */
228
+ side: "INPUT" | "OUTPUT";
229
+ };
230
+ /**
231
+ * Output from supported token list endpoint
232
+ *
233
+ * @category API
234
+ */
235
+ export type GetSupportedTokensOutput = ApiToken[];
236
+ /**
237
+ * Input for listing swap counter-tokens for a given token
238
+ *
239
+ * @category API
240
+ */
241
+ export type GetSwapCounterTokensInput = {
242
+ /** Token identifier to find compatible counter-tokens for, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
243
+ token: string;
244
+ /** Whether the provided token should be treated as the input or output side of the swap. */
245
+ side: "INPUT" | "OUTPUT";
246
+ };
247
+ /**
248
+ * Output from swap counter-token list endpoint
249
+ *
250
+ * @category API
251
+ */
252
+ export type GetSwapCounterTokensOutput = ApiToken[];
253
+ /**
254
+ * Input for querying swap limits between two tokens
255
+ *
256
+ * @category API
257
+ */
258
+ export type GetSwapLimitsInput = {
259
+ /** Source token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
260
+ srcToken: string;
261
+ /** Destination token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
262
+ dstToken: string;
263
+ };
264
+ /**
265
+ * Output from swap limits endpoint
266
+ *
267
+ * @category API
268
+ */
269
+ export type GetSwapLimitsOutput = {
270
+ /** Limits expressed on the input side of the swap. */
271
+ input: {
272
+ /** Minimum supported input amount. */
273
+ min: ApiAmount;
274
+ /** Maximum supported input amount when bounded. */
275
+ max?: ApiAmount;
276
+ };
277
+ /** Limits expressed on the output side of the swap. */
278
+ output: {
279
+ /** Minimum supported output amount. */
280
+ min: ApiAmount;
281
+ /** Maximum supported output amount when bounded. */
282
+ max?: ApiAmount;
283
+ };
284
+ };
285
+ /**
286
+ * Input for parsing an address-like string supported by the SDK
287
+ *
288
+ * @category API
289
+ */
290
+ export type ParseAddressInput = {
291
+ /** Address-like string to parse, such as a wallet address, lightning invoice, LNURL, or URI. */
292
+ address: string;
293
+ };
294
+ /**
295
+ * Output from address parser endpoint
296
+ *
297
+ * @category API
298
+ */
299
+ export type ParseAddressOutput = {
300
+ /** Canonical parsed address or recipient identifier. */
301
+ address: string;
302
+ /** Parsed address type, e.g. BITCOIN, LIGHTNING, SOLANA, STARKNET or CITREA */
303
+ type: string;
304
+ /** Parsed LNURL metadata when the input resolves to LNURL content. */
305
+ lnurl?: ApiLNURL;
306
+ /** Minimum supported amount advertised by the parsed target, when available. */
307
+ min?: ApiAmount;
308
+ /** Maximum supported amount advertised by the parsed target, when available. */
309
+ max?: ApiAmount;
310
+ /** Amount embedded directly in the parsed target, when present. */
311
+ amount?: ApiAmount;
312
+ };
313
+ /**
314
+ * Input for querying spendable wallet balance
315
+ *
316
+ * @category API
317
+ */
318
+ export type GetSpendableBalanceInput = {
319
+ /** Wallet address to inspect. */
320
+ wallet: string;
321
+ /** Token identifier to get the balance for, e.g. BITCOIN-BTC, SOLANA-SOL or STARKNET-STRK */
322
+ token: string;
323
+ /**
324
+ * Target smart chain identifier when estimating spendable bitcoin balance. Automatically adjusts based on
325
+ * available swaps between Bitcoin and the provided chain
326
+ */
327
+ targetChain?: string;
328
+ /**
329
+ * Whether gas-drop transaction size overhead should be included for Bitcoin to smart chain swaps.
330
+ */
331
+ gasDrop?: boolean;
332
+ /**
333
+ * Manual fee-rate override used for spendable balance estimation.
334
+ */
335
+ feeRate?: string;
336
+ /** Minimum Bitcoin fee rate to enforce during estimation. */
337
+ minBitcoinFeeRate?: number;
338
+ /**
339
+ * Multiplier applied to fetched economical network fee.
340
+ */
341
+ feeMultiplier?: number;
342
+ };
343
+ /**
344
+ * Output from spendable balance endpoint
345
+ *
346
+ * @category API
347
+ */
348
+ export type GetSpendableBalanceOutput = {
349
+ /** Spendable balance after deducting estimated swap execution costs. */
350
+ balance: ApiAmount;
351
+ /** Fee rate used during estimation. Only when estimating BTC balances on Bitcoin */
352
+ feeRate?: number;
353
+ };
354
+ /**
355
+ * Input for submitting signed transactions
356
+ *
357
+ * @category API
358
+ */
359
+ export type SubmitTransactionInput = {
360
+ /** Unique identifier of the swap the transactions belong to. */
361
+ swapId: string;
362
+ /** Serialized signed transactions to submit in execution order. */
363
+ signedTxs: string[];
364
+ };
365
+ /**
366
+ * Output from submitting transactions
367
+ *
368
+ * @category API
369
+ */
370
+ export type SubmitTransactionOutput = {
371
+ /** Transaction hashes returned after successful submission. */
372
+ txHashes: string[];
373
+ };
374
+ /**
375
+ * Input for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
376
+ *
377
+ * @category API
378
+ */
379
+ export type SettleWithLnurlInput = {
380
+ /** Unique identifier of the Lightning to smart-chain swap to settle. */
381
+ swapId: string;
382
+ /** LNURL-withdraw link to use when the swap was not already created with one. */
383
+ lnurlWithdraw?: string;
384
+ };
385
+ /**
386
+ * Output for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
387
+ *
388
+ * @category API
389
+ */
390
+ export type SettleWithLnurlOutput = {
391
+ /** Payment hash of the Lightning payment paid by the LNURL-withdraw link, encoded as a hexadecimal string. */
392
+ paymentHash: string;
393
+ };