@lifi/sdk 3.3.0-alpha.3 → 3.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +2 -2
  2. package/package.json +5 -8
  3. package/src/_cjs/config.js +4 -1
  4. package/src/_cjs/config.js.map +1 -1
  5. package/src/_cjs/core/EVM/EVM.js +1 -1
  6. package/src/_cjs/core/EVM/EVMStepExecutor.js +19 -7
  7. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  8. package/src/_cjs/core/EVM/checkAllowance.js +5 -1
  9. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  10. package/src/_cjs/core/EVM/getAllowance.js +3 -3
  11. package/src/_cjs/core/EVM/getAllowance.js.map +1 -1
  12. package/src/_cjs/core/EVM/getEVMBalance.js +4 -6
  13. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -1
  14. package/src/_cjs/core/EVM/parseEVMErrors.js +3 -3
  15. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
  16. package/src/_cjs/core/EVM/switchChain.js +5 -1
  17. package/src/_cjs/core/EVM/switchChain.js.map +1 -1
  18. package/src/_cjs/core/EVM/utils.js +4 -1
  19. package/src/_cjs/core/EVM/utils.js.map +1 -1
  20. package/src/_cjs/core/EVM/waitForTransactionReceipt.js +5 -4
  21. package/src/_cjs/core/EVM/waitForTransactionReceipt.js.map +1 -1
  22. package/src/_cjs/core/Solana/Solana.js +1 -1
  23. package/src/_cjs/core/Solana/SolanaStepExecutor.js +14 -6
  24. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
  25. package/src/_cjs/core/Solana/connection.js +1 -3
  26. package/src/_cjs/core/Solana/connection.js.map +1 -1
  27. package/src/_cjs/core/Solana/getSolanaBalance.js +3 -3
  28. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -1
  29. package/src/_cjs/core/Solana/isSVMAddress.js +1 -1
  30. package/src/_cjs/core/Solana/isSVMAddress.js.map +1 -1
  31. package/src/_cjs/core/Solana/parseSolanaErrors.js +1 -1
  32. package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -1
  33. package/src/_cjs/core/StatusManager.js +4 -3
  34. package/src/_cjs/core/StatusManager.js.map +1 -1
  35. package/src/_cjs/core/UTXO/UTXO.js +1 -1
  36. package/src/_cjs/core/UTXO/UTXOStepExecutor.js +43 -21
  37. package/src/_cjs/core/UTXO/UTXOStepExecutor.js.map +1 -1
  38. package/src/_cjs/core/UTXO/getUTXOBalance.js +3 -3
  39. package/src/_cjs/core/UTXO/getUTXOBalance.js.map +1 -1
  40. package/src/_cjs/core/UTXO/getUTXOPublicClient.js +1 -0
  41. package/src/_cjs/core/UTXO/getUTXOPublicClient.js.map +1 -1
  42. package/src/_cjs/core/UTXO/isUTXOAddress.js +7 -7
  43. package/src/_cjs/core/UTXO/isUTXOAddress.js.map +1 -1
  44. package/src/_cjs/core/UTXO/parseUTXOErrors.js +5 -1
  45. package/src/_cjs/core/UTXO/parseUTXOErrors.js.map +1 -1
  46. package/src/_cjs/core/UTXO/utxo-stack/actions/getBlock.js +31 -0
  47. package/src/_cjs/core/UTXO/utxo-stack/actions/getBlock.js.map +1 -0
  48. package/src/_cjs/core/UTXO/utxo-stack/actions/getBlockStats.js +27 -0
  49. package/src/_cjs/core/UTXO/utxo-stack/actions/getBlockStats.js.map +1 -0
  50. package/src/_cjs/core/UTXO/utxo-stack/actions/getUTXOTransaction.js +18 -9
  51. package/src/_cjs/core/UTXO/utxo-stack/actions/getUTXOTransaction.js.map +1 -1
  52. package/src/_cjs/core/UTXO/utxo-stack/actions/waitForTransaction.js +185 -0
  53. package/src/_cjs/core/UTXO/utxo-stack/actions/waitForTransaction.js.map +1 -0
  54. package/src/_cjs/core/UTXO/utxo-stack/actions/watchBlockNumber.js +45 -0
  55. package/src/_cjs/core/UTXO/utxo-stack/actions/watchBlockNumber.js.map +1 -0
  56. package/src/_cjs/core/UTXO/utxo-stack/decorators/UTXOAPIActions.js.map +1 -1
  57. package/src/_cjs/core/UTXO/utxo-stack/types/blockStats.js +3 -0
  58. package/src/_cjs/core/UTXO/utxo-stack/types/blockStats.js.map +1 -0
  59. package/src/_cjs/core/UTXO/utxo-stack/utils/cancelTransaction.js +51 -0
  60. package/src/_cjs/core/UTXO/utxo-stack/utils/cancelTransaction.js.map +1 -0
  61. package/src/_cjs/core/UTXO/utxo-stack/utils/modifyFee.js +50 -0
  62. package/src/_cjs/core/UTXO/utxo-stack/utils/modifyFee.js.map +1 -0
  63. package/src/_cjs/core/UTXO/utxo-stack/utils/observe.js +48 -0
  64. package/src/_cjs/core/UTXO/utxo-stack/utils/observe.js.map +1 -0
  65. package/src/_cjs/core/UTXO/utxo-stack/utils/poll.js +30 -0
  66. package/src/_cjs/core/UTXO/utxo-stack/utils/poll.js.map +1 -0
  67. package/src/_cjs/core/checkBalance.js +2 -7
  68. package/src/_cjs/core/checkBalance.js.map +1 -1
  69. package/src/_cjs/core/execution.js.map +1 -1
  70. package/src/_cjs/core/stepComparison.js +1 -1
  71. package/src/_cjs/core/waitForReceivingTransaction.js +36 -41
  72. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -1
  73. package/src/_cjs/createConfig.js.map +1 -1
  74. package/src/_cjs/errors/baseError.js +1 -1
  75. package/src/_cjs/errors/baseError.js.map +1 -1
  76. package/src/_cjs/errors/constants.js +1 -0
  77. package/src/_cjs/errors/constants.js.map +1 -1
  78. package/src/_cjs/errors/errors.js +1 -1
  79. package/src/_cjs/errors/errors.js.map +1 -1
  80. package/src/_cjs/errors/httpError.js +1 -1
  81. package/src/_cjs/errors/httpError.js.map +1 -1
  82. package/src/_cjs/helpers.js +3 -3
  83. package/src/_cjs/helpers.js.map +1 -1
  84. package/src/_cjs/index.js +67 -11
  85. package/src/_cjs/index.js.map +1 -1
  86. package/src/_cjs/request.js +1 -1
  87. package/src/_cjs/request.js.map +1 -1
  88. package/src/_cjs/services/api.js +30 -18
  89. package/src/_cjs/services/api.js.map +1 -1
  90. package/src/_cjs/services/balance.js +11 -4
  91. package/src/_cjs/services/balance.js.map +1 -1
  92. package/src/_cjs/utils/getTransactionMessage.js +3 -4
  93. package/src/_cjs/utils/getTransactionMessage.js.map +1 -1
  94. package/src/_cjs/utils/withDedupe.js.map +1 -1
  95. package/src/_cjs/version.js +1 -1
  96. package/src/_cjs/version.js.map +1 -1
  97. package/src/_esm/config.js +4 -1
  98. package/src/_esm/config.js.map +1 -1
  99. package/src/_esm/core/EVM/EVM.js +1 -1
  100. package/src/_esm/core/EVM/EVMStepExecutor.js +18 -6
  101. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  102. package/src/_esm/core/EVM/checkAllowance.js +5 -1
  103. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  104. package/src/_esm/core/EVM/getAllowance.js +3 -3
  105. package/src/_esm/core/EVM/getAllowance.js.map +1 -1
  106. package/src/_esm/core/EVM/getEVMBalance.js +4 -6
  107. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -1
  108. package/src/_esm/core/EVM/parseEVMErrors.js +2 -3
  109. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
  110. package/src/_esm/core/EVM/publicClient.js +1 -1
  111. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  112. package/src/_esm/core/EVM/switchChain.js +5 -1
  113. package/src/_esm/core/EVM/switchChain.js.map +1 -1
  114. package/src/_esm/core/EVM/types.js +0 -1
  115. package/src/_esm/core/EVM/types.js.map +1 -1
  116. package/src/_esm/core/EVM/utils.js +4 -2
  117. package/src/_esm/core/EVM/utils.js.map +1 -1
  118. package/src/_esm/core/EVM/waitForTransactionReceipt.js +3 -2
  119. package/src/_esm/core/EVM/waitForTransactionReceipt.js.map +1 -1
  120. package/src/_esm/core/Solana/Solana.js +1 -1
  121. package/src/_esm/core/Solana/SolanaStepExecutor.js +13 -6
  122. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  123. package/src/_esm/core/Solana/connection.js +1 -3
  124. package/src/_esm/core/Solana/connection.js.map +1 -1
  125. package/src/_esm/core/Solana/getSolanaBalance.js +3 -3
  126. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -1
  127. package/src/_esm/core/Solana/isSVMAddress.js +1 -1
  128. package/src/_esm/core/Solana/isSVMAddress.js.map +1 -1
  129. package/src/_esm/core/Solana/parseSolanaErrors.js +1 -1
  130. package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -1
  131. package/src/_esm/core/Solana/types.js +0 -1
  132. package/src/_esm/core/Solana/types.js.map +1 -1
  133. package/src/_esm/core/StatusManager.js +13 -6
  134. package/src/_esm/core/StatusManager.js.map +1 -1
  135. package/src/_esm/core/UTXO/UTXO.js +1 -1
  136. package/src/_esm/core/UTXO/UTXOStepExecutor.js +44 -38
  137. package/src/_esm/core/UTXO/UTXOStepExecutor.js.map +1 -1
  138. package/src/_esm/core/UTXO/getUTXOAPIPublicClient.js.map +1 -1
  139. package/src/_esm/core/UTXO/getUTXOBalance.js +3 -3
  140. package/src/_esm/core/UTXO/getUTXOBalance.js.map +1 -1
  141. package/src/_esm/core/UTXO/getUTXOPublicClient.js +2 -1
  142. package/src/_esm/core/UTXO/getUTXOPublicClient.js.map +1 -1
  143. package/src/_esm/core/UTXO/isUTXOAddress.js +7 -7
  144. package/src/_esm/core/UTXO/isUTXOAddress.js.map +1 -1
  145. package/src/_esm/core/UTXO/parseUTXOErrors.js +6 -1
  146. package/src/_esm/core/UTXO/parseUTXOErrors.js.map +1 -1
  147. package/src/_esm/core/UTXO/types.js +0 -1
  148. package/src/_esm/core/UTXO/types.js.map +1 -1
  149. package/src/_esm/core/UTXO/utxo-stack/actions/getBalance.js +0 -1
  150. package/src/_esm/core/UTXO/utxo-stack/actions/getBalance.js.map +1 -1
  151. package/src/_esm/core/UTXO/utxo-stack/actions/getBlock.js +28 -0
  152. package/src/_esm/core/UTXO/utxo-stack/actions/getBlock.js.map +1 -0
  153. package/src/_esm/core/UTXO/utxo-stack/actions/getBlockCount.js +0 -1
  154. package/src/_esm/core/UTXO/utxo-stack/actions/getBlockCount.js.map +1 -1
  155. package/src/_esm/core/UTXO/utxo-stack/actions/getBlockStats.js +24 -0
  156. package/src/_esm/core/UTXO/utxo-stack/actions/getBlockStats.js.map +1 -0
  157. package/src/_esm/core/UTXO/utxo-stack/actions/getUTXOTransaction.js +18 -10
  158. package/src/_esm/core/UTXO/utxo-stack/actions/getUTXOTransaction.js.map +1 -1
  159. package/src/_esm/core/UTXO/utxo-stack/actions/sendUTXOTransaction.js +0 -1
  160. package/src/_esm/core/UTXO/utxo-stack/actions/sendUTXOTransaction.js.map +1 -1
  161. package/src/_esm/core/UTXO/utxo-stack/actions/signPsbt.js +0 -1
  162. package/src/_esm/core/UTXO/utxo-stack/actions/signPsbt.js.map +1 -1
  163. package/src/_esm/core/UTXO/utxo-stack/actions/waitForTransaction.js +230 -0
  164. package/src/_esm/core/UTXO/utxo-stack/actions/waitForTransaction.js.map +1 -0
  165. package/src/_esm/core/UTXO/utxo-stack/actions/watchBlockNumber.js +58 -0
  166. package/src/_esm/core/UTXO/utxo-stack/actions/watchBlockNumber.js.map +1 -0
  167. package/src/_esm/core/UTXO/utxo-stack/decorators/UTXOAPIActions.js.map +1 -1
  168. package/src/_esm/core/UTXO/utxo-stack/decorators/UTXOActions.js.map +1 -1
  169. package/src/_esm/core/UTXO/utxo-stack/transports/utxo/getHttpRpcClient.js +1 -1
  170. package/src/_esm/core/UTXO/utxo-stack/transports/utxo/getHttpRpcClient.js.map +1 -1
  171. package/src/_esm/core/UTXO/utxo-stack/transports/utxo/utxo.js +1 -1
  172. package/src/_esm/core/UTXO/utxo-stack/transports/utxo/utxo.js.map +1 -1
  173. package/src/_esm/core/UTXO/utxo-stack/types/blockStats.js +2 -0
  174. package/src/_esm/core/UTXO/utxo-stack/types/blockStats.js.map +1 -0
  175. package/src/_esm/core/UTXO/utxo-stack/utils/cancelTransaction.js +55 -0
  176. package/src/_esm/core/UTXO/utxo-stack/utils/cancelTransaction.js.map +1 -0
  177. package/src/_esm/core/UTXO/utxo-stack/utils/modifyFee.js +53 -0
  178. package/src/_esm/core/UTXO/utxo-stack/utils/modifyFee.js.map +1 -0
  179. package/src/_esm/core/UTXO/utxo-stack/utils/observe.js +51 -0
  180. package/src/_esm/core/UTXO/utxo-stack/utils/observe.js.map +1 -0
  181. package/src/_esm/core/UTXO/utxo-stack/utils/poll.js +30 -0
  182. package/src/_esm/core/UTXO/utxo-stack/utils/poll.js.map +1 -0
  183. package/src/_esm/core/checkBalance.js +2 -7
  184. package/src/_esm/core/checkBalance.js.map +1 -1
  185. package/src/_esm/core/execution.js.map +1 -1
  186. package/src/_esm/core/processMessages.js +0 -1
  187. package/src/_esm/core/processMessages.js.map +1 -1
  188. package/src/_esm/core/rpc.js +0 -1
  189. package/src/_esm/core/rpc.js.map +1 -1
  190. package/src/_esm/core/stepComparison.js +1 -1
  191. package/src/_esm/core/utils.js +0 -1
  192. package/src/_esm/core/utils.js.map +1 -1
  193. package/src/_esm/core/waitForReceivingTransaction.js +36 -41
  194. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -1
  195. package/src/_esm/createConfig.js +0 -1
  196. package/src/_esm/createConfig.js.map +1 -1
  197. package/src/_esm/errors/SDKError.js +0 -1
  198. package/src/_esm/errors/SDKError.js.map +1 -1
  199. package/src/_esm/errors/baseError.js +2 -2
  200. package/src/_esm/errors/baseError.js.map +1 -1
  201. package/src/_esm/errors/constants.js +1 -0
  202. package/src/_esm/errors/constants.js.map +1 -1
  203. package/src/_esm/errors/errors.js +1 -1
  204. package/src/_esm/errors/errors.js.map +1 -1
  205. package/src/_esm/errors/httpError.js +2 -2
  206. package/src/_esm/errors/httpError.js.map +1 -1
  207. package/src/_esm/helpers.js +4 -6
  208. package/src/_esm/helpers.js.map +1 -1
  209. package/src/_esm/index.js +13 -9
  210. package/src/_esm/index.js.map +1 -1
  211. package/src/_esm/request.js +1 -1
  212. package/src/_esm/request.js.map +1 -1
  213. package/src/_esm/services/api.js +30 -19
  214. package/src/_esm/services/api.js.map +1 -1
  215. package/src/_esm/services/balance.js +11 -4
  216. package/src/_esm/services/balance.js.map +1 -1
  217. package/src/_esm/utils/getTransactionMessage.js +3 -4
  218. package/src/_esm/utils/getTransactionMessage.js.map +1 -1
  219. package/src/_esm/utils/withDedupe.js +0 -1
  220. package/src/_esm/utils/withDedupe.js.map +1 -1
  221. package/src/_esm/version.js +1 -1
  222. package/src/_esm/version.js.map +1 -1
  223. package/src/_types/config.d.ts.map +1 -1
  224. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  225. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  226. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -1
  227. package/src/_types/core/EVM/parseEVMErrors.d.ts +1 -1
  228. package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -1
  229. package/src/_types/core/EVM/types.d.ts +1 -1
  230. package/src/_types/core/EVM/types.d.ts.map +1 -1
  231. package/src/_types/core/EVM/utils.d.ts +1 -1
  232. package/src/_types/core/EVM/utils.d.ts.map +1 -1
  233. package/src/_types/core/EVM/waitForTransactionReceipt.d.ts.map +1 -1
  234. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +1 -1
  235. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  236. package/src/_types/core/Solana/connection.d.ts.map +1 -1
  237. package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -1
  238. package/src/_types/core/Solana/types.d.ts +1 -1
  239. package/src/_types/core/Solana/types.d.ts.map +1 -1
  240. package/src/_types/core/StatusManager.d.ts +18 -8
  241. package/src/_types/core/StatusManager.d.ts.map +1 -1
  242. package/src/_types/core/UTXO/UTXOStepExecutor.d.ts.map +1 -1
  243. package/src/_types/core/UTXO/getUTXOAPIPublicClient.d.ts.map +1 -1
  244. package/src/_types/core/UTXO/getUTXOBalance.d.ts.map +1 -1
  245. package/src/_types/core/UTXO/getUTXOPublicClient.d.ts.map +1 -1
  246. package/src/_types/core/UTXO/isUTXOAddress.d.ts.map +1 -1
  247. package/src/_types/core/UTXO/parseUTXOErrors.d.ts.map +1 -1
  248. package/src/_types/core/UTXO/types.d.ts +1 -1
  249. package/src/_types/core/UTXO/types.d.ts.map +1 -1
  250. package/src/_types/core/UTXO/utxo-stack/actions/getBalance.d.ts +1 -1
  251. package/src/_types/core/UTXO/utxo-stack/actions/getBalance.d.ts.map +1 -1
  252. package/src/_types/core/UTXO/utxo-stack/actions/getBlock.d.ts +13 -0
  253. package/src/_types/core/UTXO/utxo-stack/actions/getBlock.d.ts.map +1 -0
  254. package/src/_types/core/UTXO/utxo-stack/actions/getBlockCount.d.ts +1 -1
  255. package/src/_types/core/UTXO/utxo-stack/actions/getBlockCount.d.ts.map +1 -1
  256. package/src/_types/core/UTXO/utxo-stack/actions/getBlockStats.d.ts +15 -0
  257. package/src/_types/core/UTXO/utxo-stack/actions/getBlockStats.d.ts.map +1 -0
  258. package/src/_types/core/UTXO/utxo-stack/actions/getUTXOTransaction.d.ts +2 -2
  259. package/src/_types/core/UTXO/utxo-stack/actions/getUTXOTransaction.d.ts.map +1 -1
  260. package/src/_types/core/UTXO/utxo-stack/actions/sendUTXOTransaction.d.ts +2 -2
  261. package/src/_types/core/UTXO/utxo-stack/actions/sendUTXOTransaction.d.ts.map +1 -1
  262. package/src/_types/core/UTXO/utxo-stack/actions/signPsbt.d.ts +1 -1
  263. package/src/_types/core/UTXO/utxo-stack/actions/signPsbt.d.ts.map +1 -1
  264. package/src/_types/core/UTXO/utxo-stack/actions/waitForTransaction.d.ts +76 -0
  265. package/src/_types/core/UTXO/utxo-stack/actions/waitForTransaction.d.ts.map +1 -0
  266. package/src/_types/core/UTXO/utxo-stack/actions/watchBlockNumber.d.ts +26 -0
  267. package/src/_types/core/UTXO/utxo-stack/actions/watchBlockNumber.d.ts.map +1 -0
  268. package/src/_types/core/UTXO/utxo-stack/decorators/UTXOAPIActions.d.ts.map +1 -1
  269. package/src/_types/core/UTXO/utxo-stack/decorators/UTXOActions.d.ts.map +1 -1
  270. package/src/_types/core/UTXO/utxo-stack/transports/utxo/types.d.ts +16 -0
  271. package/src/_types/core/UTXO/utxo-stack/transports/utxo/types.d.ts.map +1 -1
  272. package/src/_types/core/UTXO/utxo-stack/transports/utxo/utxo.d.ts.map +1 -1
  273. package/src/_types/core/UTXO/utxo-stack/types/blockStats.d.ts +35 -0
  274. package/src/_types/core/UTXO/utxo-stack/types/blockStats.d.ts.map +1 -0
  275. package/src/_types/core/UTXO/utxo-stack/utils/cancelTransaction.d.ts +3 -0
  276. package/src/_types/core/UTXO/utxo-stack/utils/cancelTransaction.d.ts.map +1 -0
  277. package/src/_types/core/UTXO/utxo-stack/utils/modifyFee.d.ts +3 -0
  278. package/src/_types/core/UTXO/utxo-stack/utils/modifyFee.d.ts.map +1 -0
  279. package/src/_types/core/UTXO/utxo-stack/utils/observe.d.ts +19 -0
  280. package/src/_types/core/UTXO/utxo-stack/utils/observe.d.ts.map +1 -0
  281. package/src/_types/core/UTXO/utxo-stack/utils/poll.d.ts +13 -0
  282. package/src/_types/core/UTXO/utxo-stack/utils/poll.d.ts.map +1 -0
  283. package/src/_types/core/checkBalance.d.ts.map +1 -1
  284. package/src/_types/core/execution.d.ts.map +1 -1
  285. package/src/_types/core/processMessages.d.ts +1 -1
  286. package/src/_types/core/processMessages.d.ts.map +1 -1
  287. package/src/_types/core/rpc.d.ts +1 -1
  288. package/src/_types/core/rpc.d.ts.map +1 -1
  289. package/src/_types/core/utils.d.ts +1 -1
  290. package/src/_types/core/utils.d.ts.map +1 -1
  291. package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -1
  292. package/src/_types/createConfig.d.ts +1 -1
  293. package/src/_types/createConfig.d.ts.map +1 -1
  294. package/src/_types/errors/SDKError.d.ts +1 -1
  295. package/src/_types/errors/SDKError.d.ts.map +1 -1
  296. package/src/_types/errors/constants.d.ts +2 -1
  297. package/src/_types/errors/constants.d.ts.map +1 -1
  298. package/src/_types/errors/errors.d.ts +1 -1
  299. package/src/_types/errors/errors.d.ts.map +1 -1
  300. package/src/_types/errors/httpError.d.ts +1 -1
  301. package/src/_types/errors/httpError.d.ts.map +1 -1
  302. package/src/_types/helpers.d.ts +1 -1
  303. package/src/_types/helpers.d.ts.map +1 -1
  304. package/src/_types/index.d.ts +15 -9
  305. package/src/_types/index.d.ts.map +1 -1
  306. package/src/_types/services/api.d.ts.map +1 -1
  307. package/src/_types/services/balance.d.ts.map +1 -1
  308. package/src/_types/types/internal.d.ts +1 -39
  309. package/src/_types/types/internal.d.ts.map +1 -1
  310. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -1
  311. package/src/_types/utils/withDedupe.d.ts.map +1 -1
  312. package/src/_types/version.d.ts +1 -1
  313. package/src/_types/version.d.ts.map +1 -1
  314. package/src/config.ts +4 -1
  315. package/src/core/EVM/EVM.ts +1 -1
  316. package/src/core/EVM/EVMStepExecutor.ts +15 -13
  317. package/src/core/EVM/checkAllowance.ts +4 -3
  318. package/src/core/EVM/getAllowance.ts +3 -3
  319. package/src/core/EVM/getEVMBalance.ts +4 -5
  320. package/src/core/EVM/parseEVMErrors.ts +3 -3
  321. package/src/core/EVM/publicClient.ts +2 -2
  322. package/src/core/EVM/switchChain.ts +5 -5
  323. package/src/core/EVM/types.ts +2 -2
  324. package/src/core/EVM/utils.ts +5 -5
  325. package/src/core/EVM/waitForTransactionReceipt.ts +3 -2
  326. package/src/core/Solana/Solana.ts +1 -1
  327. package/src/core/Solana/SolanaStepExecutor.ts +13 -12
  328. package/src/core/Solana/connection.ts +1 -2
  329. package/src/core/Solana/getSolanaBalance.ts +3 -3
  330. package/src/core/Solana/isSVMAddress.ts +1 -1
  331. package/src/core/Solana/parseSolanaErrors.ts +1 -1
  332. package/src/core/Solana/types.ts +1 -1
  333. package/src/core/StatusManager.ts +26 -28
  334. package/src/core/UTXO/UTXO.ts +1 -1
  335. package/src/core/UTXO/UTXOStepExecutor.ts +59 -56
  336. package/src/core/UTXO/getUTXOAPIPublicClient.ts +3 -3
  337. package/src/core/UTXO/getUTXOBalance.ts +3 -4
  338. package/src/core/UTXO/getUTXOPublicClient.ts +4 -3
  339. package/src/core/UTXO/isUTXOAddress.ts +10 -11
  340. package/src/core/UTXO/parseUTXOErrors.ts +12 -1
  341. package/src/core/UTXO/types.ts +1 -1
  342. package/src/core/UTXO/utxo-stack/actions/getBalance.ts +1 -1
  343. package/src/core/UTXO/utxo-stack/actions/getBlock.ts +58 -0
  344. package/src/core/UTXO/utxo-stack/actions/getBlockCount.ts +1 -1
  345. package/src/core/UTXO/utxo-stack/actions/getBlockStats.ts +55 -0
  346. package/src/core/UTXO/utxo-stack/actions/getUTXOTransaction.ts +24 -11
  347. package/src/core/UTXO/utxo-stack/actions/sendUTXOTransaction.ts +2 -2
  348. package/src/core/UTXO/utxo-stack/actions/signPsbt.ts +1 -1
  349. package/src/core/UTXO/utxo-stack/actions/waitForTransaction.ts +387 -0
  350. package/src/core/UTXO/utxo-stack/actions/watchBlockNumber.ts +105 -0
  351. package/src/core/UTXO/utxo-stack/decorators/UTXOAPIActions.ts +1 -2
  352. package/src/core/UTXO/utxo-stack/decorators/UTXOActions.ts +3 -3
  353. package/src/core/UTXO/utxo-stack/transports/utxo/getHttpRpcClient.ts +1 -1
  354. package/src/core/UTXO/utxo-stack/transports/utxo/types.ts +16 -0
  355. package/src/core/UTXO/utxo-stack/transports/utxo/utxo.ts +3 -3
  356. package/src/core/UTXO/utxo-stack/types/blockStats.ts +35 -0
  357. package/src/core/UTXO/utxo-stack/utils/cancelTransaction.ts +75 -0
  358. package/src/core/UTXO/utxo-stack/utils/modifyFee.ts +78 -0
  359. package/src/core/UTXO/utxo-stack/utils/observe.ts +81 -0
  360. package/src/core/UTXO/utxo-stack/utils/poll.ts +48 -0
  361. package/src/core/checkBalance.ts +2 -8
  362. package/src/core/execution.ts +0 -1
  363. package/src/core/processMessages.ts +5 -5
  364. package/src/core/rpc.ts +1 -1
  365. package/src/core/stepComparison.ts +1 -1
  366. package/src/core/utils.ts +1 -1
  367. package/src/core/waitForReceivingTransaction.ts +42 -46
  368. package/src/createConfig.ts +1 -2
  369. package/src/errors/SDKError.ts +1 -1
  370. package/src/errors/baseError.ts +2 -2
  371. package/src/errors/constants.ts +1 -0
  372. package/src/errors/errors.ts +1 -1
  373. package/src/errors/httpError.ts +3 -3
  374. package/src/helpers.ts +4 -5
  375. package/src/index.ts +84 -9
  376. package/src/request.ts +1 -1
  377. package/src/services/api.ts +29 -33
  378. package/src/services/balance.ts +13 -4
  379. package/src/types/internal.ts +1 -40
  380. package/src/utils/getTransactionMessage.ts +3 -4
  381. package/src/utils/withDedupe.ts +0 -1
  382. package/src/version.ts +1 -1
  383. package/src/_cjs/core/UTXO/blockchairApi.js +0 -169
  384. package/src/_cjs/core/UTXO/blockchairApi.js.map +0 -1
  385. package/src/_cjs/core/UTXO/blockchairApiTypes.js +0 -26
  386. package/src/_cjs/core/UTXO/blockchairApiTypes.js.map +0 -1
  387. package/src/_cjs/core/UTXO/requestClient.js +0 -63
  388. package/src/_cjs/core/UTXO/requestClient.js.map +0 -1
  389. package/src/_cjs/core/index.js +0 -7
  390. package/src/_cjs/core/index.js.map +0 -1
  391. package/src/_cjs/errors/index.js +0 -11
  392. package/src/_cjs/errors/index.js.map +0 -1
  393. package/src/_cjs/types/index.js +0 -5
  394. package/src/_cjs/types/index.js.map +0 -1
  395. package/src/_cjs/utils/index.js +0 -8
  396. package/src/_cjs/utils/index.js.map +0 -1
  397. package/src/_esm/core/UTXO/blockchairApi.js +0 -167
  398. package/src/_esm/core/UTXO/blockchairApi.js.map +0 -1
  399. package/src/_esm/core/UTXO/blockchairApiTypes.js +0 -23
  400. package/src/_esm/core/UTXO/blockchairApiTypes.js.map +0 -1
  401. package/src/_esm/core/UTXO/requestClient.js +0 -59
  402. package/src/_esm/core/UTXO/requestClient.js.map +0 -1
  403. package/src/_esm/core/index.js +0 -4
  404. package/src/_esm/core/index.js.map +0 -1
  405. package/src/_esm/errors/index.js +0 -8
  406. package/src/_esm/errors/index.js.map +0 -1
  407. package/src/_esm/types/index.js +0 -2
  408. package/src/_esm/types/index.js.map +0 -1
  409. package/src/_esm/utils/index.js +0 -5
  410. package/src/_esm/utils/index.js.map +0 -1
  411. package/src/_types/core/UTXO/blockchairApi.d.ts +0 -37
  412. package/src/_types/core/UTXO/blockchairApi.d.ts.map +0 -1
  413. package/src/_types/core/UTXO/blockchairApiTypes.d.ts +0 -229
  414. package/src/_types/core/UTXO/blockchairApiTypes.d.ts.map +0 -1
  415. package/src/_types/core/UTXO/requestClient.d.ts +0 -22
  416. package/src/_types/core/UTXO/requestClient.d.ts.map +0 -1
  417. package/src/_types/core/index.d.ts +0 -4
  418. package/src/_types/core/index.d.ts.map +0 -1
  419. package/src/_types/errors/index.d.ts +0 -8
  420. package/src/_types/errors/index.d.ts.map +0 -1
  421. package/src/_types/types/index.d.ts +0 -2
  422. package/src/_types/types/index.d.ts.map +0 -1
  423. package/src/_types/utils/index.d.ts +0 -5
  424. package/src/_types/utils/index.d.ts.map +0 -1
  425. package/src/core/UTXO/blockchairApi.ts +0 -273
  426. package/src/core/UTXO/blockchairApiTypes.ts +0 -253
  427. package/src/core/UTXO/requestClient.ts +0 -84
  428. package/src/core/index.ts +0 -3
  429. package/src/errors/index.ts +0 -7
  430. package/src/types/index.ts +0 -1
  431. package/src/utils/index.ts +0 -4
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitForTransaction = waitForTransaction;
4
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
5
+ const viem_1 = require("viem");
6
+ const utils_1 = require("viem/utils");
7
+ const observe_js_1 = require("../utils/observe.js");
8
+ const getBlock_js_1 = require("./getBlock.js");
9
+ const getBlockStats_js_1 = require("./getBlockStats.js");
10
+ const getUTXOTransaction_js_1 = require("./getUTXOTransaction.js");
11
+ const watchBlockNumber_js_1 = require("./watchBlockNumber.js");
12
+ async function waitForTransaction(client, { confirmations = 1, txId, txHex, senderAddress, onReplaced, pollingInterval = client.pollingInterval, retryCount = 10, retryDelay = 3_000, timeout, }) {
13
+ const observerId = (0, viem_1.stringify)(['waitForTransaction', client.uid, txId]);
14
+ let count = 0;
15
+ let transaction;
16
+ let replacedTransaction;
17
+ let retrying = false;
18
+ return new Promise((resolve, reject) => {
19
+ if (timeout) {
20
+ setTimeout(() => reject(new viem_1.WaitForTransactionReceiptTimeoutError({ hash: txId })), timeout);
21
+ }
22
+ const _unobserve = (0, observe_js_1.observe)(observerId, { onReplaced, resolve, reject }, (emit) => {
23
+ const _unwatch = (0, utils_1.getAction)(client, watchBlockNumber_js_1.watchBlockNumber, 'watchBlockNumber')({
24
+ emitMissed: true,
25
+ emitOnBegin: true,
26
+ pollingInterval,
27
+ async onBlockNumber(blockNumber_) {
28
+ const done = (fn) => {
29
+ _unwatch();
30
+ fn();
31
+ _unobserve();
32
+ };
33
+ let blockNumber = blockNumber_;
34
+ if (retrying) {
35
+ return;
36
+ }
37
+ if (count > retryCount) {
38
+ done(() => emit.reject(new viem_1.WaitForTransactionReceiptTimeoutError({
39
+ hash: txId,
40
+ })));
41
+ }
42
+ try {
43
+ if (transaction?.blockhash) {
44
+ const blockStats = await (0, utils_1.getAction)(client, getBlockStats_js_1.getBlockStats, 'getBlockStats')({
45
+ blockHash: transaction.blockhash,
46
+ stats: ['height'],
47
+ });
48
+ if (confirmations > 1 &&
49
+ (!blockStats.height ||
50
+ blockNumber - blockStats.height + 1 < confirmations)) {
51
+ return;
52
+ }
53
+ done(() => emit.resolve(transaction));
54
+ return;
55
+ }
56
+ retrying = true;
57
+ transaction = await (0, viem_1.withRetry)(() => (0, utils_1.getAction)(client, getUTXOTransaction_js_1.getUTXOTransaction, 'getUTXOTransaction')({ txId: transaction?.txid || txId }), {
58
+ delay: retryDelay,
59
+ retryCount,
60
+ });
61
+ if (transaction.blockhash) {
62
+ const blockStats = await (0, utils_1.getAction)(client, getBlockStats_js_1.getBlockStats, 'getBlockStats')({
63
+ blockHash: transaction.blockhash,
64
+ stats: ['height'],
65
+ });
66
+ if (blockStats.height) {
67
+ blockNumber = blockStats.height;
68
+ }
69
+ }
70
+ retrying = false;
71
+ if (!transaction?.confirmations) {
72
+ throw new viem_1.TransactionReceiptNotFoundError({
73
+ hash: txId,
74
+ });
75
+ }
76
+ if (transaction.confirmations < confirmations) {
77
+ return;
78
+ }
79
+ done(() => emit.resolve(transaction));
80
+ }
81
+ catch (err) {
82
+ if (err instanceof viem_1.TransactionNotFoundError ||
83
+ err instanceof viem_1.TransactionReceiptNotFoundError) {
84
+ try {
85
+ replacedTransaction = bitcoinjs_lib_1.Transaction.fromHex(transaction?.hex || txHex);
86
+ retrying = true;
87
+ const block = await (0, viem_1.withRetry)(() => (0, utils_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({
88
+ blockNumber,
89
+ }), {
90
+ delay: retryDelay,
91
+ retryCount,
92
+ });
93
+ retrying = false;
94
+ const replacedTransactionInputs = new Set();
95
+ for (const input of replacedTransaction.ins) {
96
+ const txid = Array.from(input.hash)
97
+ .reverse()
98
+ .map((byte) => `00${byte.toString(16)}`.slice(-2))
99
+ .join('');
100
+ const vout = input.index;
101
+ const inputId = `${txid}:${vout}`;
102
+ replacedTransactionInputs.add(inputId);
103
+ }
104
+ let replacementTransaction;
105
+ for (const tx of block.transactions) {
106
+ if (tx.isCoinbase()) {
107
+ continue;
108
+ }
109
+ for (const input of tx.ins) {
110
+ const txid = Array.from(input.hash)
111
+ .reverse()
112
+ .map((byte) => `00${byte.toString(16)}`.slice(-2))
113
+ .join('');
114
+ const vout = input.index;
115
+ const inputId = `${txid}:${vout}`;
116
+ if (replacedTransactionInputs.has(inputId)) {
117
+ replacementTransaction = tx;
118
+ break;
119
+ }
120
+ }
121
+ if (replacementTransaction) {
122
+ break;
123
+ }
124
+ }
125
+ if (!replacementTransaction) {
126
+ return;
127
+ }
128
+ transaction = await (0, utils_1.getAction)(client, getUTXOTransaction_js_1.getUTXOTransaction, 'getUTXOTransaction')({
129
+ txId: replacementTransaction.getId(),
130
+ });
131
+ if (transaction.confirmations &&
132
+ transaction.confirmations < confirmations) {
133
+ return;
134
+ }
135
+ let reason = 'replaced';
136
+ function getOutputAddresses(tx) {
137
+ const addresses = [];
138
+ for (const output of tx.outs) {
139
+ try {
140
+ const outputAddress = bitcoinjs_lib_1.address.fromOutputScript(output.script);
141
+ addresses.push(outputAddress);
142
+ }
143
+ catch (_e) {
144
+ }
145
+ }
146
+ return addresses;
147
+ }
148
+ const originalOutputAddresses = getOutputAddresses(replacedTransaction);
149
+ const replacementOutputAddresses = getOutputAddresses(replacementTransaction);
150
+ if (originalOutputAddresses.length ===
151
+ replacementOutputAddresses.length &&
152
+ originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) {
153
+ reason = 'repriced';
154
+ }
155
+ else if (senderAddress &&
156
+ replacementOutputAddresses.length === 1 &&
157
+ replacementOutputAddresses.includes(senderAddress)) {
158
+ reason = 'cancelled';
159
+ }
160
+ done(() => {
161
+ emit.onReplaced?.({
162
+ reason,
163
+ replacedTransaction: replacedTransaction,
164
+ transaction: transaction,
165
+ });
166
+ emit.resolve(transaction);
167
+ });
168
+ }
169
+ catch (err_) {
170
+ done(() => emit.reject(err_));
171
+ }
172
+ }
173
+ else {
174
+ done(() => emit.reject(err));
175
+ }
176
+ }
177
+ finally {
178
+ count++;
179
+ }
180
+ },
181
+ });
182
+ });
183
+ });
184
+ }
185
+ //# sourceMappingURL=waitForTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForTransaction.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/actions/waitForTransaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.watchBlockNumber = watchBlockNumber;
4
+ const viem_1 = require("viem");
5
+ const utils_1 = require("viem/utils");
6
+ const observe_js_1 = require("../utils/observe.js");
7
+ const poll_js_1 = require("../utils/poll.js");
8
+ const getBlockCount_js_1 = require("./getBlockCount.js");
9
+ function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, pollingInterval = client.pollingInterval, }) {
10
+ let prevBlockNumber;
11
+ const observerId = (0, viem_1.stringify)([
12
+ 'watchBlockNumber',
13
+ client.uid,
14
+ emitOnBegin,
15
+ emitMissed,
16
+ pollingInterval,
17
+ ]);
18
+ return (0, observe_js_1.observe)(observerId, { onBlockNumber, onError }, (emit) => (0, poll_js_1.poll)(async () => {
19
+ try {
20
+ const blockNumber = await (0, utils_1.getAction)(client, getBlockCount_js_1.getBlockCount, 'getBlockCount')({ cacheTime: 0 });
21
+ if (prevBlockNumber) {
22
+ if (blockNumber === prevBlockNumber) {
23
+ return;
24
+ }
25
+ if (blockNumber - prevBlockNumber > 1 && emitMissed) {
26
+ for (let i = prevBlockNumber + 1; i < blockNumber; i++) {
27
+ await emit.onBlockNumber(i, prevBlockNumber);
28
+ prevBlockNumber = i;
29
+ }
30
+ }
31
+ }
32
+ if (!prevBlockNumber || blockNumber > prevBlockNumber) {
33
+ await emit.onBlockNumber(blockNumber, prevBlockNumber);
34
+ prevBlockNumber = blockNumber;
35
+ }
36
+ }
37
+ catch (err) {
38
+ emit.onError?.(err);
39
+ }
40
+ }, {
41
+ emitOnBegin,
42
+ interval: pollingInterval,
43
+ }));
44
+ }
45
+ //# sourceMappingURL=watchBlockNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchBlockNumber.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/actions/watchBlockNumber.ts"],"names":[],"mappings":";;AAkCA,4CAsEC;AAxGD,+BAAyE;AACzE,sCAAsC;AACtC,oDAA6C;AAC7C,8CAAuC;AACvC,yDAAgF;AA8BhF,SAAgB,gBAAgB,CAI9B,MAAgC,EAChC,EACE,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,KAAK,EAClB,aAAa,EACb,OAAO,EACP,eAAe,GAAG,MAAM,CAAC,eAAe,GACb;IAE7B,IAAI,eAAoD,CAAA;IAExD,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC;QAC3B,kBAAkB;QAClB,MAAM,CAAC,GAAG;QACV,WAAW;QACX,UAAU;QACV,eAAe;KAChB,CAAC,CAAA;IAMF,OAAO,IAAA,oBAAO,EAAC,UAAU,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9D,IAAA,cAAI,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAS,EACjC,MAAM,EACN,gCAAa,EACb,eAAe,CAChB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;YAEnB,IAAI,eAAe,EAAE,CAAC;gBAGpB,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;oBACpC,OAAM;gBACR,CAAC;gBAID,IAAI,WAAW,GAAG,eAAe,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;oBACpD,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvD,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;wBAC5C,eAAe,GAAG,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YAID,IAAI,CAAC,eAAe,IAAI,WAAW,GAAG,eAAe,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;gBACtD,eAAe,GAAG,WAAW,CAAA;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,CAAC,GAAY,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,EACD;QACE,WAAW;QACX,QAAQ,EAAE,eAAe;KAC1B,CACF,CACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UTXOAPIActions.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/decorators/UTXOAPIActions.ts"],"names":[],"mappings":";;AAYA,wCAQC;AAlBD,4DAIiC;AAMjC,SAAgB,cAAc,CAI5B,MAAyC;IACzC,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,MAAM,EAAE,IAAI,CAAC;KAC/C,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"UTXOAPIActions.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/decorators/UTXOAPIActions.ts"],"names":[],"mappings":";;AAWA,wCAQC;AAlBD,4DAIiC;AAMjC,SAAgB,cAAc,CAI5B,MAAyC;IACzC,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAU,EAAC,MAAM,EAAE,IAAI,CAAC;KAC/C,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=blockStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockStats.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/types/blockStats.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cancelTransaction = cancelTransaction;
4
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
5
+ function cancelTransaction(psbt, accountAddress) {
6
+ const newPsbt = new bitcoinjs_lib_1.Psbt();
7
+ const inputs = psbt.data.inputs;
8
+ const txInputs = psbt.txInputs;
9
+ for (let i = 0; i < inputs.length; i++) {
10
+ const input = inputs[i];
11
+ const txInput = txInputs[i];
12
+ const inputData = {
13
+ hash: txInput.hash,
14
+ index: txInput.index,
15
+ };
16
+ if (input.nonWitnessUtxo) {
17
+ inputData.nonWitnessUtxo = input.nonWitnessUtxo;
18
+ }
19
+ else if (input.witnessUtxo) {
20
+ inputData.witnessUtxo = input.witnessUtxo;
21
+ }
22
+ else {
23
+ throw new Error('Input UTXO information is missing');
24
+ }
25
+ if (input.redeemScript) {
26
+ inputData.redeemScript = input.redeemScript;
27
+ }
28
+ if (input.witnessScript) {
29
+ inputData.witnessScript = input.witnessScript;
30
+ }
31
+ newPsbt.addInput(inputData);
32
+ }
33
+ const outputs = psbt.txOutputs;
34
+ let totalOutputValue = BigInt(0);
35
+ for (const output of outputs) {
36
+ totalOutputValue += output.value;
37
+ }
38
+ if (totalOutputValue <= BigInt(0)) {
39
+ throw new Error('Total output value must be greater than zero');
40
+ }
41
+ const outputScript = bitcoinjs_lib_1.address.toOutputScript(accountAddress);
42
+ newPsbt.addOutput({
43
+ script: outputScript,
44
+ value: totalOutputValue,
45
+ });
46
+ newPsbt.txInputs.forEach((_, index) => {
47
+ newPsbt.setInputSequence(index, 0xfffffffd);
48
+ });
49
+ return newPsbt;
50
+ }
51
+ //# sourceMappingURL=cancelTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelTransaction.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/utils/cancelTransaction.ts"],"names":[],"mappings":";;AAcA,8CA4DC;AA1ED,iDAA6C;AAc7C,SAAgB,iBAAiB,CAAC,IAAU,EAAE,cAAsB;IAClE,MAAM,OAAO,GAAG,IAAI,oBAAI,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAG9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,SAAS,GAAc;YAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAA;QAGD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QAGD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QAC7C,CAAC;QACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;QAC/C,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IAGD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAA;IAC9B,IAAI,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAA;IAClC,CAAC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IAGD,MAAM,YAAY,GAAG,uBAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IAC3D,OAAO,CAAC,SAAS,CAAC;QAChB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,gBAAgB;KACxB,CAAC,CAAA;IAGF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAEpC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.modifyFee = modifyFee;
4
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
5
+ function modifyFee(psbt, newFee, accountAddress) {
6
+ const newPsbt = new bitcoinjs_lib_1.Psbt();
7
+ const inputs = psbt.data.inputs;
8
+ const outputs = psbt.txOutputs;
9
+ for (let i = 0; i < inputs.length; i++) {
10
+ const input = inputs[i];
11
+ const inputData = {
12
+ hash: psbt.txInputs[i].hash,
13
+ index: psbt.txInputs[i].index,
14
+ };
15
+ if (input.nonWitnessUtxo) {
16
+ inputData.nonWitnessUtxo = input.nonWitnessUtxo;
17
+ }
18
+ else if (input.witnessUtxo) {
19
+ inputData.witnessUtxo = input.witnessUtxo;
20
+ }
21
+ if (input.redeemScript) {
22
+ inputData.redeemScript = input.redeemScript;
23
+ }
24
+ if (input.witnessScript) {
25
+ inputData.witnessScript = input.witnessScript;
26
+ }
27
+ newPsbt.addInput(inputData);
28
+ }
29
+ const changeOutputScript = bitcoinjs_lib_1.address.toOutputScript(accountAddress);
30
+ for (const output of outputs) {
31
+ const outputData = {
32
+ script: output.script,
33
+ value: output.value,
34
+ };
35
+ const scriptsAreEqual = output.script.length === changeOutputScript.length &&
36
+ output.script.every((value, index) => value === changeOutputScript[index]);
37
+ if (scriptsAreEqual) {
38
+ outputData.value = output.value - newFee;
39
+ if (outputData.value < 0) {
40
+ throw new Error('Insufficient funds to adjust the fee by the specified amount.');
41
+ }
42
+ }
43
+ newPsbt.addOutput(outputData);
44
+ }
45
+ newPsbt.txInputs.forEach((_, index) => {
46
+ newPsbt.setInputSequence(index, 0xfffffffd);
47
+ });
48
+ return newPsbt;
49
+ }
50
+ //# sourceMappingURL=modifyFee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modifyFee.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/utils/modifyFee.ts"],"names":[],"mappings":";;AAcA,8BA+DC;AA7ED,iDAA6C;AAc7C,SAAgB,SAAS,CAAC,IAAU,EAAE,MAAc,EAAE,cAAsB;IAC1E,MAAM,OAAO,GAAG,IAAI,oBAAI,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAA;IAG9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,SAAS,GAAc;YAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;SAC9B,CAAA;QAGD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;QAC3C,CAAC;QAGD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QAC7C,CAAC;QACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;QAC/C,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,kBAAkB,GAAG,uBAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IAGjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAA;QAED,MAAM,eAAe,GACnB,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM;YAClD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;QAE5E,IAAI,eAAe,EAAE,CAAC;YACpB,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAA;YACxC,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC/B,CAAC;IAGD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAEpC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanupCache = exports.listenersCache = void 0;
4
+ exports.observe = observe;
5
+ exports.listenersCache = new Map();
6
+ exports.cleanupCache = new Map();
7
+ let callbackCount = 0;
8
+ function observe(observerId, callbacks, fn) {
9
+ const callbackId = ++callbackCount;
10
+ const getListeners = () => exports.listenersCache.get(observerId) || [];
11
+ const unsubscribe = () => {
12
+ const listeners = getListeners();
13
+ exports.listenersCache.set(observerId, listeners.filter((cb) => cb.id !== callbackId));
14
+ };
15
+ const unwatch = () => {
16
+ const cleanup = exports.cleanupCache.get(observerId);
17
+ if (getListeners().length === 1 && cleanup) {
18
+ cleanup();
19
+ }
20
+ unsubscribe();
21
+ };
22
+ const listeners = getListeners();
23
+ exports.listenersCache.set(observerId, [
24
+ ...listeners,
25
+ { id: callbackId, fns: callbacks },
26
+ ]);
27
+ if (listeners && listeners.length > 0) {
28
+ return unwatch;
29
+ }
30
+ const emit = {};
31
+ for (const key in callbacks) {
32
+ emit[key] = ((...args) => {
33
+ const listeners = getListeners();
34
+ if (listeners.length === 0) {
35
+ return;
36
+ }
37
+ for (const listener of listeners) {
38
+ listener.fns[key]?.(...args);
39
+ }
40
+ });
41
+ }
42
+ const cleanup = fn(emit);
43
+ if (typeof cleanup === 'function') {
44
+ exports.cleanupCache.set(observerId, cleanup);
45
+ }
46
+ return unwatch;
47
+ }
48
+ //# sourceMappingURL=observe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/utils/observe.ts"],"names":[],"mappings":";;;AAwBA,0BAwDC;AA1EY,QAAA,cAAc,GAAiB,IAAI,GAAG,EAGhD,CAAA;AAEU,QAAA,YAAY,GAAiB,IAAI,GAAG,EAAsB,CAAA;AAMvE,IAAI,aAAa,GAAG,CAAC,CAAA;AAOrB,SAAgB,OAAO,CACrB,UAAkB,EAClB,SAAoB,EACpB,EAA2B;IAE3B,MAAM,UAAU,GAAG,EAAE,aAAa,CAAA;IAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,sBAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,sBAAc,CAAC,GAAG,CAChB,UAAU,EACV,SAAS,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CACpD,CAAA;IACH,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,oBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAA;QACX,CAAC;QACD,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,sBAAc,CAAC,GAAG,CAAC,UAAU,EAAE;QAC7B,GAAG,SAAS;QACZ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;KACnC,CAAC,CAAA;IAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,GAAc,EAAe,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACX,GAAG,IAAyD,EAC5D,EAAE;YACF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAM;YACR,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAgD,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,oBAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.poll = poll;
4
+ const sleep_js_1 = require("../../../../utils/sleep.js");
5
+ function poll(fn, { emitOnBegin, initialWaitTime, interval }) {
6
+ let active = true;
7
+ const unwatch = () => {
8
+ active = false;
9
+ };
10
+ const watch = async () => {
11
+ let data = undefined;
12
+ if (emitOnBegin) {
13
+ data = await fn({ unpoll: unwatch });
14
+ }
15
+ const initialWait = (await initialWaitTime?.(data)) ?? interval;
16
+ await (0, sleep_js_1.sleep)(initialWait);
17
+ const poll = async () => {
18
+ if (!active) {
19
+ return;
20
+ }
21
+ await fn({ unpoll: unwatch });
22
+ await (0, sleep_js_1.sleep)(interval);
23
+ poll();
24
+ };
25
+ poll();
26
+ };
27
+ watch();
28
+ return unwatch;
29
+ }
30
+ //# sourceMappingURL=poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../../../core/UTXO/utxo-stack/utils/poll.ts"],"names":[],"mappings":";;AAcA,oBAiCC;AA/CD,yDAAkD;AAclD,SAAgB,IAAI,CAClB,EAAkE,EAClE,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAkB;IAE1D,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,GAAG,KAAK,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,IAAI,GAAkB,SAAS,CAAA;QACnC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACtC,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAC/D,MAAM,IAAA,gBAAK,EAAC,WAAW,CAAC,CAAA;QAExB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAM;YACR,CAAC;YACD,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7B,MAAM,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAA;YACrB,IAAI,EAAE,CAAA;QACR,CAAC,CAAA;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;IACD,KAAK,EAAE,CAAA;IAEP,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -23,14 +23,9 @@ const checkBalance = async (walletAddress, step, depth = 0) => {
23
23
  else {
24
24
  const neeeded = (0, viem_1.formatUnits)(neededBalance, token.decimals);
25
25
  const current = (0, viem_1.formatUnits)(currentBalance, token.decimals);
26
- let errorMessage = `Your ${token.symbol} balance is too low, ` +
27
- `you try to transfer ${neeeded} ${token.symbol}, ` +
28
- `but your wallet only holds ${current} ${token.symbol}. ` +
29
- `No funds have been sent.`;
26
+ let _errorMessage = `Your ${token.symbol} balance is too low, you try to transfer ${neeeded} ${token.symbol}, but your wallet only holds ${current} ${token.symbol}. No funds have been sent.`;
30
27
  if (currentBalance !== 0n) {
31
- errorMessage +=
32
- `If the problem consists, please delete this transfer and ` +
33
- `start a new one with a maximum of ${current} ${token.symbol}.`;
28
+ _errorMessage += `If the problem consists, please delete this transfer and start a new one with a maximum of ${current} ${token.symbol}.`;
34
29
  }
35
30
  throw new errors_js_1.BalanceError('The balance is too low.');
36
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":";;;AACA,+BAAkC;AAClC,mDAAkD;AAClD,uDAAwD;AACxD,gDAAyC;AAElC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAe,EAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAA,oBAAY,EAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GACd,QAAQ,KAAK,CAAC,MAAM,uBAAuB;oBAC3C,uBAAuB,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBAClD,8BAA8B,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBACzD,0BAA0B,CAAA;gBAE5B,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY;wBACV,2DAA2D;4BAC3D,qCAAqC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBACnE,CAAC;gBAED,MAAM,IAAI,wBAAY,CAAC,yBAAyB,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAxCY,QAAA,YAAY,gBAwCxB"}
1
+ {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":";;;AACA,+BAAkC;AAClC,mDAAkD;AAClD,uDAAwD;AACxD,gDAAyC;AAElC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAe,EAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAA,oBAAY,EAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,aAAa,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,OAAO,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE9L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,aAAa,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC3I,CAAC;gBAED,MAAM,IAAI,wBAAY,CAAC,yBAAyB,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAlCY,QAAA,YAAY,gBAkCxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":";;;AACA,4CAAqC;AACrC,2DAAoD;AACpD,2DAAoD;AAU7C,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAY,EACZ,gBAAmC,EACX,EAAE;IAE1B,MAAM,WAAW,GAAG,eAAe,CAAQ,KAAK,CAAC,CAAA;IAEjD,IAAI,gBAAgB,GAAG,kCAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IAElE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,kCAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAC/D,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;IAC5C,kCAAc,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AArBY,QAAA,YAAY,gBAqBxB;AASM,MAAM,WAAW,GAAG,KAAK,EAC9B,KAAY,EACZ,gBAAmC,EACX,EAAE;IAC1B,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAE9C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CACvC,CAAA;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YAErB,IAAA,4BAAoB,EAAC,KAAK,EAAE;gBAC1B,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB;aAC3D,CAAC,CAAA;YACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAEvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,SAAS,CAAC,OAAO,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,IAAA,kCAAc,EAAC,KAAK,CAAC,CAAA;IAE3B,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAC9C,CAAC,CAAA;AA1BY,QAAA,WAAW,eA0BvB;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,KAAoB,EAA0B,EAAE;IAE1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAK;QACP,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAG3C,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YACtC,SAAQ;QACV,CAAC;QAGD,IAAI,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAA;YACxD,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;oBACrC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAA;YACnC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAM;iBACpB,GAAG,EAAE;iBACL,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;YAEhE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC;gBAClD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C,CAAC,CAAA;YACF,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAGtC,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAA,4BAAoB,EAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAGzD,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9C,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;YAGD,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAA;YACzB,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAGD,kCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAOM,MAAM,oBAAoB,GAAG,CAClC,KAAY,EACZ,OAAyB,EACnB,EAAE;IACR,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IAED,IAAI,qBAAqB,IAAI,OAAO,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC;gBACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,mBAAmB;gBAC/C,YAAY,EAAE,IAAI;aACnB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,gBAAgB,GAAG;QAC3B,GAAG,SAAS,CAAC,gBAAgB;QAC7B,GAAG,OAAO;KACX,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,oBAAoB,wBAsBhC;AAOM,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAS,EAAE;IACxD,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAC3C,QAAQ,CAAC,cAAc,CAAC;YACtB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAA;IACJ,CAAC;IACD,kCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,OAAO,SAAS,CAAC,KAAK,CAAA;AACxB,CAAC,CAAA;AAfY,QAAA,kBAAkB,sBAe9B;AAMM,MAAM,eAAe,GAAG,GAAoB,EAAE;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,kCAAc,CAAC,KAAK,CAAC;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAoB,CAAA;AACvC,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAOM,MAAM,cAAc,GAAG,CAAC,OAAe,EAA6B,EAAE;IAC3E,OAAO,kCAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;AAC3C,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
@@ -17,7 +17,7 @@ const stepComparison = async (statusManager, oldStep, newStep, allowUserInteract
17
17
  });
18
18
  }
19
19
  if (!allowStepUpdate) {
20
- throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, `Exchange rate has changed!\nTransaction was not sent, your funds are still in your wallet.\nThe exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
20
+ throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!\nTransaction was not sent, your funds are still in your wallet.\nThe exchange rate has changed and the previous estimation can not be fulfilled due to value loss.');
21
21
  }
22
22
  return statusManager.updateStepInRoute(newStep);
23
23
  };
@@ -7,50 +7,45 @@ const waitForResult_js_1 = require("../utils/waitForResult.js");
7
7
  const processMessages_js_1 = require("./processMessages.js");
8
8
  const TRANSACTION_HASH_OBSERVERS = {};
9
9
  async function waitForReceivingTransaction(txHash, statusManager, processType, step, interval = 5_000) {
10
- const _getStatus = () => new Promise(async (resolve, reject) => {
11
- let statusResponse;
12
- try {
13
- statusResponse = await (0, api_js_1.getStatus)({
14
- fromChain: step.action.fromChainId,
15
- toChain: step.action.toChainId,
16
- txHash,
17
- ...(step.tool !== 'custom' && { bridge: step.tool }),
18
- });
19
- }
20
- catch (e) {
10
+ const _getStatus = () => {
11
+ return (0, api_js_1.getStatus)({
12
+ fromChain: step.action.fromChainId,
13
+ toChain: step.action.toChainId,
14
+ txHash,
15
+ ...(step.tool !== 'custom' && { bridge: step.tool }),
16
+ })
17
+ .then((statusResponse) => {
18
+ switch (statusResponse.status) {
19
+ case 'DONE':
20
+ return statusResponse;
21
+ case 'PENDING':
22
+ statusManager?.updateProcess(step, processType, 'PENDING', {
23
+ substatus: statusResponse.substatus,
24
+ substatusMessage: statusResponse.substatusMessage ||
25
+ (0, processMessages_js_1.getSubstatusMessage)(statusResponse.status, statusResponse.substatus),
26
+ txLink: statusResponse.bridgeExplorerLink,
27
+ });
28
+ return undefined;
29
+ case 'NOT_FOUND':
30
+ return undefined;
31
+ default:
32
+ return Promise.reject();
33
+ }
34
+ })
35
+ .catch((e) => {
21
36
  console.debug('Fetching status from backend failed.', e);
22
- return resolve(undefined);
23
- }
24
- switch (statusResponse.status) {
25
- case 'DONE':
26
- return resolve(statusResponse);
27
- case 'PENDING':
28
- statusManager?.updateProcess(step, processType, 'PENDING', {
29
- substatus: statusResponse.substatus,
30
- substatusMessage: statusResponse.substatusMessage ||
31
- (0, processMessages_js_1.getSubstatusMessage)(statusResponse.status, statusResponse.substatus),
32
- txLink: statusResponse.bridgeExplorerLink,
33
- });
34
- return resolve(undefined);
35
- case 'NOT_FOUND':
36
- return resolve(undefined);
37
- case 'INVALID':
38
- case 'FAILED':
39
- default:
40
- return reject();
41
- }
42
- });
43
- let status;
44
- if (txHash in TRANSACTION_HASH_OBSERVERS) {
45
- status = await TRANSACTION_HASH_OBSERVERS[txHash];
37
+ return undefined;
38
+ });
39
+ };
40
+ let status = TRANSACTION_HASH_OBSERVERS[txHash];
41
+ if (!status) {
42
+ status = (0, waitForResult_js_1.waitForResult)(_getStatus, interval);
43
+ TRANSACTION_HASH_OBSERVERS[txHash] = status;
46
44
  }
47
- else {
48
- TRANSACTION_HASH_OBSERVERS[txHash] = (0, waitForResult_js_1.waitForResult)(_getStatus, interval);
49
- status = await TRANSACTION_HASH_OBSERVERS[txHash];
50
- }
51
- if (!('receiving' in status)) {
45
+ const resolvedStatus = await status;
46
+ if (!('receiving' in resolvedStatus)) {
52
47
  throw new errors_js_1.ServerError("Status doesn't contain receiving information.");
53
48
  }
54
- return status;
49
+ return resolvedStatus;
55
50
  }
56
51
  //# sourceMappingURL=waitForReceivingTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":";;AAcA,kEA4DC;AApED,mDAAiD;AACjD,+CAA8C;AAC9C,gEAAyD;AAEzD,6DAA0D;AAE1D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAEvE,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc,EACd,WAAmB,KAAK;IAExB,MAAM,UAAU,GAAG,GAAwC,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAA,kBAAS,EAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,IAAA,wCAAmB,EACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,MAAM,CAAC,GAAG,IAAA,gCAAa,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACxE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,uBAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":";;AAcA,kEAwDC;AAhED,mDAAiD;AACjD,+CAA8C;AAC9C,gEAAyD;AAEzD,6DAA0D;AAE1D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAEvE,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc,EACd,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,GAAwC,EAAE;QAC3D,OAAO,IAAA,kBAAS,EAAC;YACf,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC9B,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACrD,CAAC;aACC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YACvB,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM;oBACT,OAAO,cAAc,CAAA;gBACvB,KAAK,SAAS;oBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;4BAC/B,IAAA,wCAAmB,EACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;wBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;qBAC9D,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBAClB,KAAK,WAAW;oBACd,OAAO,SAAS,CAAA;gBAClB;oBACE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,IAAI,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAA,gCAAa,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC5C,0BAA0B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC7C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAA;IAEnC,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}