@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,427 +1,427 @@
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
- /**
8
- * Base serialized swap data returned by API endpoints that expose swap details.
9
- *
10
- * @category API
11
- */
12
- export type SwapOutputBase = {
13
- /** Unique identifier of the swap. */
14
- swapId: string;
15
- /** Swap type name, for example `FROM_BTC`, `TO_BTCLN`, or `FROM_BTCLN`. */
16
- swapType: string;
17
-
18
- /** Current swap state information. This varies for every swap type */
19
- state: {
20
- /** Numeric state representation of the state. */
21
- number: number;
22
- /** Human-readable state name. */
23
- name: string;
24
- /** Human-readable description of the current state. */
25
- description: string;
26
- };
27
-
28
- /** Quote data captured when the swap was created. */
29
- quote: {
30
- /** Input source amount that will be paid by the user (including fees, but excluding source network fees). */
31
- inputAmount: ApiAmount;
32
- /** Output destination amount that will be paid out to the user. */
33
- outputAmount: ApiAmount;
34
- /** Fee breakdown included in the quote. */
35
- fees: {
36
- /** Swap service fee (charged in source token). */
37
- swap: ApiAmount;
38
- /** Swap fee to cover the transaction network fees on the destination side (charged in source token). */
39
- networkOutput?: ApiAmount;
40
- };
41
- /** Quote expiration timestamp in milliseconds since Unix epoch. */
42
- expiry: number;
43
- /** Output address of the swap, the destination tokens will be sent here. */
44
- outputAddress: string;
45
- };
46
-
47
- /** Swap creation timestamp in milliseconds since Unix epoch. */
48
- createdAt: number;
49
-
50
- /** Swap execution steps. */
51
- steps: SwapExecutionStep[];
52
-
53
- /** LNURL metadata attached to Lightning-based swaps when applicable. */
54
- lnurl?: {
55
- /** LNURL-withdraw link for Lightning to smart-chain flows. */
56
- withdraw?: string;
57
- /** LNURL-pay link for smart-chain to Lightning flows. */
58
- pay?: string;
59
- /** LNURL success action returned after a successful payment via LNURL-pay link, if specified in the LNURL. */
60
- successAction?: LNURLDecodedSuccessAction;
61
- }
62
- }
63
-
64
- /**
65
- * Input for creating a new swap
66
- *
67
- * @category API
68
- */
69
- export type CreateSwapInput = {
70
- /** Input source token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
71
- srcToken: string;
72
- /** Output destination token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
73
- dstToken: string;
74
- /** Swap amount in base units */
75
- amount: bigint;
76
- /** Whether the provided amount represents the exact input or exact output side of the quote. */
77
- amountType: "EXACT_IN" | "EXACT_OUT";
78
- /** Source address for flows that require it, mainly smart-chain to Bitcoin or Lightning swaps. */
79
- srcAddress?: string;
80
- /** Destination address, invoice, or recipient identifier for the swap output. */
81
- dstAddress: string;
82
- /**
83
- * Only for smart chain to Lighting/Bitcoin swaps.
84
- *
85
- * Optional gas-drop amount (additional native token) to receive on the destination smart chain, in base units.
86
- */
87
- gasAmount?: bigint;
88
- /**
89
- * Only for Lightning to smart chain swaps.
90
- *
91
- * Optional custom swap payment hash encoded as a hexadecimal string, for when you want to generate the preimage
92
- * and payment hash pair outside the API. When used, you need to provide the `secret` argument to the `getSwapStatus`
93
- * endpoint when the swap HTLC is ready to be claimed (indicated by the `requiresSecretReveal` param in the
94
- * `getSwapStatus` response)
95
- */
96
- paymentHash?: string;
97
- /**
98
- * Only for Lightning to smart chain swaps.
99
- *
100
- * Optional description to add to the generated Lightning network BOLT11 invoice.
101
- */
102
- lightningInvoiceDescription?: string;
103
- /**
104
- * Only for Lightning to smart chain swaps.
105
- *
106
- * Optional description to add to the generated Lightning network BOLT11 invoice.
107
- */
108
- lightningInvoiceDescriptionHash?: string;
109
- /**
110
- * Only for smart chain to Lightning swaps.
111
- *
112
- * Optional override for the HTLC timeout in seconds (default is 5 days), longer timeouts allow more lightning
113
- * network hops to be considered when routing the destination lightning network payment, but might lead to longer
114
- * funds lockup in case of non-cooperative LP.
115
- */
116
- lightningPaymentHTLCTimeout?: number;
117
- }
118
-
119
- /**
120
- * Output from create swap endpoint
121
- *
122
- * @category API
123
- */
124
- export type CreateSwapOutput = SwapOutputBase;
125
-
126
- /**
127
- * Input for getting swap status
128
- *
129
- * @category API
130
- */
131
- export type GetSwapStatusInput = {
132
- /** Unique identifier of the swap to query. */
133
- swapId: string;
134
-
135
- /**
136
- * Swap secret pre-image revealed after the destination chain HTLC is created for Lightning to smart chain swaps,
137
- * encoded as a hexadecimal string.
138
- */
139
- secret?: string;
140
-
141
- /**
142
- * For Bitcoin to smart chain swaps.
143
- *
144
- * Bitcoin address used to request a pre-funded PSBT with populated input UTXOs ready for signing and execution
145
- */
146
- bitcoinAddress?: string;
147
- /**
148
- * For Bitcoin to smart chain swaps.
149
- *
150
- * Bitcoin public key used together with `bitcoinAddress` to request a pre-funded PSBT with populated input UTXOs
151
- * ready for signing and execution
152
- */
153
- bitcoinPublicKey?: string;
154
- /**
155
- * For Bitcoin to smart chain swaps.
156
- *
157
- * Bitcoin fee rate override used when building a pre-funded PSBT, otherwise the current economical fee rate is used.
158
- */
159
- bitcoinFeeRate?: number;
160
-
161
- /** Alternative smart-chain signer to use for claim, refund, or manual settlement transactions. */
162
- signer?: string;
163
- }
164
-
165
- /**
166
- * Output from swap status getter
167
- *
168
- * @category API
169
- */
170
- export type ListSwapOutput = SwapOutputBase & {
171
- /** Whether the swap reached a terminal state. */
172
- isFinished: boolean;
173
- /** Whether the swap finished successfully. */
174
- isSuccess: boolean;
175
- /** Whether the swap finished in a failed state. */
176
- isFailed: boolean;
177
- /** Whether the quote expired before completion. */
178
- isExpired: boolean;
179
- }
180
-
181
- /**
182
- * Output from swap status getter
183
- *
184
- * @category API
185
- */
186
- export type GetSwapStatusOutput = ListSwapOutput & {
187
- /** Current actionable instruction for the client, or `null` when no action is required. */
188
- currentAction: SerializedAction<SwapExecutionAction> | null;
189
-
190
- /**
191
- * For Lightning to smart chain swaps.
192
- *
193
- * Whether the client should provide the Lightning secret pre-image to continue execution. Returned when the HTLC
194
- * on the destination chain is created and is ready to be claimed by the user.
195
- */
196
- requiresSecretReveal?: boolean;
197
-
198
- /**
199
- * Escrow-specific data for escrow contract based swaps (all except the non-legacy Bitcoin to smart chain swaps)
200
- */
201
- escrow?: {
202
- /** Serialized escrow data. */
203
- data: any,
204
- /** A transaction which created the escrow, if the escrow is already created on-chain. */
205
- initTxId?: string
206
- }
207
- }
208
-
209
- /**
210
- * Input for listing swaps
211
- *
212
- * @category API
213
- */
214
- export type ListSwapsInput = {
215
- /** Smart-chain signer address used to filter swaps. */
216
- signer: string;
217
- /** Optional smart-chain identifier used to narrow the result set, e.g. SOLANA, STARKNET, CITREA */
218
- chainId?: string;
219
- }
220
-
221
- /**
222
- * Output from swap list endpoint
223
- *
224
- * @category API
225
- */
226
- export type ListSwapsOutput = ListSwapOutput[];
227
-
228
- /**
229
- * Input for listing pending swaps
230
- *
231
- * @category API
232
- */
233
- export type ListPendingSwapsInput = ListSwapsInput;
234
-
235
- /**
236
- * Output from pending swap list endpoint
237
- *
238
- * @category API
239
- */
240
- export type ListPendingSwapsOutput = ListSwapsOutput;
241
-
242
- /**
243
- * Input for listing supported tokens
244
- *
245
- * @category API
246
- */
247
- export type GetSupportedTokensInput = {
248
- /** Whether to list source-side (`INPUT`) or destination-side (`OUTPUT`) tokens. */
249
- side: "INPUT" | "OUTPUT";
250
- }
251
-
252
- /**
253
- * Output from supported token list endpoint
254
- *
255
- * @category API
256
- */
257
- export type GetSupportedTokensOutput = ApiToken[];
258
-
259
- /**
260
- * Input for listing swap counter-tokens for a given token
261
- *
262
- * @category API
263
- */
264
- export type GetSwapCounterTokensInput = {
265
- /** Token identifier to find compatible counter-tokens for, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
266
- token: string;
267
- /** Whether the provided token should be treated as the input or output side of the swap. */
268
- side: "INPUT" | "OUTPUT";
269
- }
270
-
271
- /**
272
- * Output from swap counter-token list endpoint
273
- *
274
- * @category API
275
- */
276
- export type GetSwapCounterTokensOutput = ApiToken[];
277
-
278
- /**
279
- * Input for querying swap limits between two tokens
280
- *
281
- * @category API
282
- */
283
- export type GetSwapLimitsInput = {
284
- /** Source token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
285
- srcToken: string;
286
- /** Destination token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
287
- dstToken: string;
288
- }
289
-
290
- /**
291
- * Output from swap limits endpoint
292
- *
293
- * @category API
294
- */
295
- export type GetSwapLimitsOutput = {
296
- /** Limits expressed on the input side of the swap. */
297
- input: {
298
- /** Minimum supported input amount. */
299
- min: ApiAmount;
300
- /** Maximum supported input amount when bounded. */
301
- max?: ApiAmount;
302
- };
303
- /** Limits expressed on the output side of the swap. */
304
- output: {
305
- /** Minimum supported output amount. */
306
- min: ApiAmount;
307
- /** Maximum supported output amount when bounded. */
308
- max?: ApiAmount;
309
- };
310
- }
311
-
312
- /**
313
- * Input for parsing an address-like string supported by the SDK
314
- *
315
- * @category API
316
- */
317
- export type ParseAddressInput = {
318
- /** Address-like string to parse, such as a wallet address, lightning invoice, LNURL, or URI. */
319
- address: string;
320
- }
321
-
322
- /**
323
- * Output from address parser endpoint
324
- *
325
- * @category API
326
- */
327
- export type ParseAddressOutput = {
328
- /** Canonical parsed address or recipient identifier. */
329
- address: string;
330
- /** Parsed address type, e.g. BITCOIN, LIGHTNING, SOLANA, STARKNET or CITREA */
331
- type: string;
332
- /** Parsed LNURL metadata when the input resolves to LNURL content. */
333
- lnurl?: ApiLNURL;
334
- /** Minimum supported amount advertised by the parsed target, when available. */
335
- min?: ApiAmount;
336
- /** Maximum supported amount advertised by the parsed target, when available. */
337
- max?: ApiAmount;
338
- /** Amount embedded directly in the parsed target, when present. */
339
- amount?: ApiAmount;
340
- };
341
-
342
- /**
343
- * Input for querying spendable wallet balance
344
- *
345
- * @category API
346
- */
347
- export type GetSpendableBalanceInput = {
348
- /** Wallet address to inspect. */
349
- wallet: string;
350
- /** Token identifier to get the balance for, e.g. BITCOIN-BTC, SOLANA-SOL or STARKNET-STRK */
351
- token: string;
352
- /**
353
- * Target smart chain identifier when estimating spendable bitcoin balance. Automatically adjusts based on
354
- * available swaps between Bitcoin and the provided chain
355
- */
356
- targetChain?: string;
357
- /**
358
- * Whether gas-drop transaction size overhead should be included for Bitcoin to smart chain swaps.
359
- */
360
- gasDrop?: boolean;
361
- /**
362
- * Manual fee-rate override used for spendable balance estimation.
363
- */
364
- feeRate?: string;
365
- /** Minimum Bitcoin fee rate to enforce during estimation. */
366
- minBitcoinFeeRate?: number;
367
- /**
368
- * Multiplier applied to fetched economical network fee.
369
- */
370
- feeMultiplier?: number;
371
- }
372
-
373
- /**
374
- * Output from spendable balance endpoint
375
- *
376
- * @category API
377
- */
378
- export type GetSpendableBalanceOutput = {
379
- /** Spendable balance after deducting estimated swap execution costs. */
380
- balance: ApiAmount;
381
- /** Fee rate used during estimation. Only when estimating BTC balances on Bitcoin */
382
- feeRate?: number;
383
- }
384
-
385
- /**
386
- * Input for submitting signed transactions
387
- *
388
- * @category API
389
- */
390
- export type SubmitTransactionInput = {
391
- /** Unique identifier of the swap the transactions belong to. */
392
- swapId: string;
393
- /** Serialized signed transactions to submit in execution order. */
394
- signedTxs: string[];
395
- }
396
-
397
- /**
398
- * Output from submitting transactions
399
- *
400
- * @category API
401
- */
402
- export type SubmitTransactionOutput = {
403
- /** Transaction hashes returned after successful submission. */
404
- txHashes: string[];
405
- }
406
-
407
- /**
408
- * Input for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
409
- *
410
- * @category API
411
- */
412
- export type SettleWithLnurlInput = {
413
- /** Unique identifier of the Lightning to smart-chain swap to settle. */
414
- swapId: string;
415
- /** LNURL-withdraw link to use when the swap was not already created with one. */
416
- lnurlWithdraw?: string;
417
- }
418
-
419
- /**
420
- * Output for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
421
- *
422
- * @category API
423
- */
424
- export type SettleWithLnurlOutput = {
425
- /** Payment hash of the Lightning payment paid by the LNURL-withdraw link, encoded as a hexadecimal string. */
426
- paymentHash: string;
427
- }
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
+ /**
8
+ * Base serialized swap data returned by API endpoints that expose swap details.
9
+ *
10
+ * @category API
11
+ */
12
+ export type SwapOutputBase = {
13
+ /** Unique identifier of the swap. */
14
+ swapId: string;
15
+ /** Swap type name, for example `FROM_BTC`, `TO_BTCLN`, or `FROM_BTCLN`. */
16
+ swapType: string;
17
+
18
+ /** Current swap state information. This varies for every swap type */
19
+ state: {
20
+ /** Numeric state representation of the state. */
21
+ number: number;
22
+ /** Human-readable state name. */
23
+ name: string;
24
+ /** Human-readable description of the current state. */
25
+ description: string;
26
+ };
27
+
28
+ /** Quote data captured when the swap was created. */
29
+ quote: {
30
+ /** Input source amount that will be paid by the user (including fees, but excluding source network fees). */
31
+ inputAmount: ApiAmount;
32
+ /** Output destination amount that will be paid out to the user. */
33
+ outputAmount: ApiAmount;
34
+ /** Fee breakdown included in the quote. */
35
+ fees: {
36
+ /** Swap service fee (charged in source token). */
37
+ swap: ApiAmount;
38
+ /** Swap fee to cover the transaction network fees on the destination side (charged in source token). */
39
+ networkOutput?: ApiAmount;
40
+ };
41
+ /** Quote expiration timestamp in milliseconds since Unix epoch. */
42
+ expiry: number;
43
+ /** Output address of the swap, the destination tokens will be sent here. */
44
+ outputAddress: string;
45
+ };
46
+
47
+ /** Swap creation timestamp in milliseconds since Unix epoch. */
48
+ createdAt: number;
49
+
50
+ /** Swap execution steps. */
51
+ steps: SwapExecutionStep[];
52
+
53
+ /** LNURL metadata attached to Lightning-based swaps when applicable. */
54
+ lnurl?: {
55
+ /** LNURL-withdraw link for Lightning to smart-chain flows. */
56
+ withdraw?: string;
57
+ /** LNURL-pay link for smart-chain to Lightning flows. */
58
+ pay?: string;
59
+ /** LNURL success action returned after a successful payment via LNURL-pay link, if specified in the LNURL. */
60
+ successAction?: LNURLDecodedSuccessAction;
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Input for creating a new swap
66
+ *
67
+ * @category API
68
+ */
69
+ export type CreateSwapInput = {
70
+ /** Input source token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
71
+ srcToken: string;
72
+ /** Output destination token identifier, always in the format of <network>-<tiker>, e.g. `BITCOIN-BTC`, `LIGHTNING-BTC`, or `STARKNET-STRK`. */
73
+ dstToken: string;
74
+ /** Swap amount in base units */
75
+ amount: bigint;
76
+ /** Whether the provided amount represents the exact input or exact output side of the quote. */
77
+ amountType: "EXACT_IN" | "EXACT_OUT";
78
+ /** Source address for flows that require it, mainly smart-chain to Bitcoin or Lightning swaps. */
79
+ srcAddress?: string;
80
+ /** Destination address, invoice, or recipient identifier for the swap output. */
81
+ dstAddress: string;
82
+ /**
83
+ * Only for smart chain to Lighting/Bitcoin swaps.
84
+ *
85
+ * Optional gas-drop amount (additional native token) to receive on the destination smart chain, in base units.
86
+ */
87
+ gasAmount?: bigint;
88
+ /**
89
+ * Only for Lightning to smart chain swaps.
90
+ *
91
+ * Optional custom swap payment hash encoded as a hexadecimal string, for when you want to generate the preimage
92
+ * and payment hash pair outside the API. When used, you need to provide the `secret` argument to the `getSwapStatus`
93
+ * endpoint when the swap HTLC is ready to be claimed (indicated by the `requiresSecretReveal` param in the
94
+ * `getSwapStatus` response)
95
+ */
96
+ paymentHash?: string;
97
+ /**
98
+ * Only for Lightning to smart chain swaps.
99
+ *
100
+ * Optional description to add to the generated Lightning network BOLT11 invoice.
101
+ */
102
+ lightningInvoiceDescription?: string;
103
+ /**
104
+ * Only for Lightning to smart chain swaps.
105
+ *
106
+ * Optional description to add to the generated Lightning network BOLT11 invoice.
107
+ */
108
+ lightningInvoiceDescriptionHash?: string;
109
+ /**
110
+ * Only for smart chain to Lightning swaps.
111
+ *
112
+ * Optional override for the HTLC timeout in seconds (default is 5 days), longer timeouts allow more lightning
113
+ * network hops to be considered when routing the destination lightning network payment, but might lead to longer
114
+ * funds lockup in case of non-cooperative LP.
115
+ */
116
+ lightningPaymentHTLCTimeout?: number;
117
+ }
118
+
119
+ /**
120
+ * Output from create swap endpoint
121
+ *
122
+ * @category API
123
+ */
124
+ export type CreateSwapOutput = SwapOutputBase;
125
+
126
+ /**
127
+ * Input for getting swap status
128
+ *
129
+ * @category API
130
+ */
131
+ export type GetSwapStatusInput = {
132
+ /** Unique identifier of the swap to query. */
133
+ swapId: string;
134
+
135
+ /**
136
+ * Swap secret pre-image revealed after the destination chain HTLC is created for Lightning to smart chain swaps,
137
+ * encoded as a hexadecimal string.
138
+ */
139
+ secret?: string;
140
+
141
+ /**
142
+ * For Bitcoin to smart chain swaps.
143
+ *
144
+ * Bitcoin address used to request a pre-funded PSBT with populated input UTXOs ready for signing and execution
145
+ */
146
+ bitcoinAddress?: string;
147
+ /**
148
+ * For Bitcoin to smart chain swaps.
149
+ *
150
+ * Bitcoin public key used together with `bitcoinAddress` to request a pre-funded PSBT with populated input UTXOs
151
+ * ready for signing and execution
152
+ */
153
+ bitcoinPublicKey?: string;
154
+ /**
155
+ * For Bitcoin to smart chain swaps.
156
+ *
157
+ * Bitcoin fee rate override used when building a pre-funded PSBT, otherwise the current economical fee rate is used.
158
+ */
159
+ bitcoinFeeRate?: number;
160
+
161
+ /** Alternative smart-chain signer to use for claim, refund, or manual settlement transactions. */
162
+ signer?: string;
163
+ }
164
+
165
+ /**
166
+ * Output from swap status getter
167
+ *
168
+ * @category API
169
+ */
170
+ export type ListSwapOutput = SwapOutputBase & {
171
+ /** Whether the swap reached a terminal state. */
172
+ isFinished: boolean;
173
+ /** Whether the swap finished successfully. */
174
+ isSuccess: boolean;
175
+ /** Whether the swap finished in a failed state. */
176
+ isFailed: boolean;
177
+ /** Whether the quote expired before completion. */
178
+ isExpired: boolean;
179
+ }
180
+
181
+ /**
182
+ * Output from swap status getter
183
+ *
184
+ * @category API
185
+ */
186
+ export type GetSwapStatusOutput = ListSwapOutput & {
187
+ /** Current actionable instruction for the client, or `null` when no action is required. */
188
+ currentAction: SerializedAction<SwapExecutionAction> | null;
189
+
190
+ /**
191
+ * For Lightning to smart chain swaps.
192
+ *
193
+ * Whether the client should provide the Lightning secret pre-image to continue execution. Returned when the HTLC
194
+ * on the destination chain is created and is ready to be claimed by the user.
195
+ */
196
+ requiresSecretReveal?: boolean;
197
+
198
+ /**
199
+ * Escrow-specific data for escrow contract based swaps (all except the non-legacy Bitcoin to smart chain swaps)
200
+ */
201
+ escrow?: {
202
+ /** Serialized escrow data. */
203
+ data: any,
204
+ /** A transaction which created the escrow, if the escrow is already created on-chain. */
205
+ initTxId?: string
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Input for listing swaps
211
+ *
212
+ * @category API
213
+ */
214
+ export type ListSwapsInput = {
215
+ /** Smart-chain signer address used to filter swaps. */
216
+ signer: string;
217
+ /** Optional smart-chain identifier used to narrow the result set, e.g. SOLANA, STARKNET, CITREA */
218
+ chainId?: string;
219
+ }
220
+
221
+ /**
222
+ * Output from swap list endpoint
223
+ *
224
+ * @category API
225
+ */
226
+ export type ListSwapsOutput = ListSwapOutput[];
227
+
228
+ /**
229
+ * Input for listing pending swaps
230
+ *
231
+ * @category API
232
+ */
233
+ export type ListPendingSwapsInput = ListSwapsInput;
234
+
235
+ /**
236
+ * Output from pending swap list endpoint
237
+ *
238
+ * @category API
239
+ */
240
+ export type ListPendingSwapsOutput = ListSwapsOutput;
241
+
242
+ /**
243
+ * Input for listing supported tokens
244
+ *
245
+ * @category API
246
+ */
247
+ export type GetSupportedTokensInput = {
248
+ /** Whether to list source-side (`INPUT`) or destination-side (`OUTPUT`) tokens. */
249
+ side: "INPUT" | "OUTPUT";
250
+ }
251
+
252
+ /**
253
+ * Output from supported token list endpoint
254
+ *
255
+ * @category API
256
+ */
257
+ export type GetSupportedTokensOutput = ApiToken[];
258
+
259
+ /**
260
+ * Input for listing swap counter-tokens for a given token
261
+ *
262
+ * @category API
263
+ */
264
+ export type GetSwapCounterTokensInput = {
265
+ /** Token identifier to find compatible counter-tokens for, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
266
+ token: string;
267
+ /** Whether the provided token should be treated as the input or output side of the swap. */
268
+ side: "INPUT" | "OUTPUT";
269
+ }
270
+
271
+ /**
272
+ * Output from swap counter-token list endpoint
273
+ *
274
+ * @category API
275
+ */
276
+ export type GetSwapCounterTokensOutput = ApiToken[];
277
+
278
+ /**
279
+ * Input for querying swap limits between two tokens
280
+ *
281
+ * @category API
282
+ */
283
+ export type GetSwapLimitsInput = {
284
+ /** Source token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
285
+ srcToken: string;
286
+ /** Destination token identifier, e.g. BITCOIN-BTC, LIGHTNING-BTC or STARKNET-STRK */
287
+ dstToken: string;
288
+ }
289
+
290
+ /**
291
+ * Output from swap limits endpoint
292
+ *
293
+ * @category API
294
+ */
295
+ export type GetSwapLimitsOutput = {
296
+ /** Limits expressed on the input side of the swap. */
297
+ input: {
298
+ /** Minimum supported input amount. */
299
+ min: ApiAmount;
300
+ /** Maximum supported input amount when bounded. */
301
+ max?: ApiAmount;
302
+ };
303
+ /** Limits expressed on the output side of the swap. */
304
+ output: {
305
+ /** Minimum supported output amount. */
306
+ min: ApiAmount;
307
+ /** Maximum supported output amount when bounded. */
308
+ max?: ApiAmount;
309
+ };
310
+ }
311
+
312
+ /**
313
+ * Input for parsing an address-like string supported by the SDK
314
+ *
315
+ * @category API
316
+ */
317
+ export type ParseAddressInput = {
318
+ /** Address-like string to parse, such as a wallet address, lightning invoice, LNURL, or URI. */
319
+ address: string;
320
+ }
321
+
322
+ /**
323
+ * Output from address parser endpoint
324
+ *
325
+ * @category API
326
+ */
327
+ export type ParseAddressOutput = {
328
+ /** Canonical parsed address or recipient identifier. */
329
+ address: string;
330
+ /** Parsed address type, e.g. BITCOIN, LIGHTNING, SOLANA, STARKNET or CITREA */
331
+ type: string;
332
+ /** Parsed LNURL metadata when the input resolves to LNURL content. */
333
+ lnurl?: ApiLNURL;
334
+ /** Minimum supported amount advertised by the parsed target, when available. */
335
+ min?: ApiAmount;
336
+ /** Maximum supported amount advertised by the parsed target, when available. */
337
+ max?: ApiAmount;
338
+ /** Amount embedded directly in the parsed target, when present. */
339
+ amount?: ApiAmount;
340
+ };
341
+
342
+ /**
343
+ * Input for querying spendable wallet balance
344
+ *
345
+ * @category API
346
+ */
347
+ export type GetSpendableBalanceInput = {
348
+ /** Wallet address to inspect. */
349
+ wallet: string;
350
+ /** Token identifier to get the balance for, e.g. BITCOIN-BTC, SOLANA-SOL or STARKNET-STRK */
351
+ token: string;
352
+ /**
353
+ * Target smart chain identifier when estimating spendable bitcoin balance. Automatically adjusts based on
354
+ * available swaps between Bitcoin and the provided chain
355
+ */
356
+ targetChain?: string;
357
+ /**
358
+ * Whether gas-drop transaction size overhead should be included for Bitcoin to smart chain swaps.
359
+ */
360
+ gasDrop?: boolean;
361
+ /**
362
+ * Manual fee-rate override used for spendable balance estimation.
363
+ */
364
+ feeRate?: string;
365
+ /** Minimum Bitcoin fee rate to enforce during estimation. */
366
+ minBitcoinFeeRate?: number;
367
+ /**
368
+ * Multiplier applied to fetched economical network fee.
369
+ */
370
+ feeMultiplier?: number;
371
+ }
372
+
373
+ /**
374
+ * Output from spendable balance endpoint
375
+ *
376
+ * @category API
377
+ */
378
+ export type GetSpendableBalanceOutput = {
379
+ /** Spendable balance after deducting estimated swap execution costs. */
380
+ balance: ApiAmount;
381
+ /** Fee rate used during estimation. Only when estimating BTC balances on Bitcoin */
382
+ feeRate?: number;
383
+ }
384
+
385
+ /**
386
+ * Input for submitting signed transactions
387
+ *
388
+ * @category API
389
+ */
390
+ export type SubmitTransactionInput = {
391
+ /** Unique identifier of the swap the transactions belong to. */
392
+ swapId: string;
393
+ /** Serialized signed transactions to submit in execution order. */
394
+ signedTxs: string[];
395
+ }
396
+
397
+ /**
398
+ * Output from submitting transactions
399
+ *
400
+ * @category API
401
+ */
402
+ export type SubmitTransactionOutput = {
403
+ /** Transaction hashes returned after successful submission. */
404
+ txHashes: string[];
405
+ }
406
+
407
+ /**
408
+ * Input for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
409
+ *
410
+ * @category API
411
+ */
412
+ export type SettleWithLnurlInput = {
413
+ /** Unique identifier of the Lightning to smart-chain swap to settle. */
414
+ swapId: string;
415
+ /** LNURL-withdraw link to use when the swap was not already created with one. */
416
+ lnurlWithdraw?: string;
417
+ }
418
+
419
+ /**
420
+ * Output for triggering an LNURL-withdraw based settlement for Lightning -> Smart chain swaps
421
+ *
422
+ * @category API
423
+ */
424
+ export type SettleWithLnurlOutput = {
425
+ /** Payment hash of the Lightning payment paid by the LNURL-withdraw link, encoded as a hexadecimal string. */
426
+ paymentHash: string;
427
+ }