@bigmi/core 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1036) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.js +23 -0
  2. package/dist/cjs/actions/getBalance.d.ts +14 -9
  3. package/dist/cjs/actions/getBalance.js +9 -8
  4. package/dist/cjs/actions/getBalance.js.map +1 -1
  5. package/dist/cjs/actions/getBlock.d.ts +21 -13
  6. package/dist/cjs/actions/getBlock.js +30 -28
  7. package/dist/cjs/actions/getBlock.js.map +1 -1
  8. package/dist/cjs/actions/getBlockCount.d.ts +12 -7
  9. package/dist/cjs/actions/getBlockCount.js +9 -8
  10. package/dist/cjs/actions/getBlockCount.js.map +1 -1
  11. package/dist/cjs/actions/getBlockStats.d.ts +23 -14
  12. package/dist/cjs/actions/getBlockStats.js +24 -24
  13. package/dist/cjs/actions/getBlockStats.js.map +1 -1
  14. package/dist/cjs/actions/getTransactionFee.d.ts +16 -9
  15. package/dist/cjs/actions/getTransactionFee.js +9 -8
  16. package/dist/cjs/actions/getTransactionFee.js.map +1 -1
  17. package/dist/cjs/actions/getTransactions.d.ts +27 -17
  18. package/dist/cjs/actions/getTransactions.js +14 -13
  19. package/dist/cjs/actions/getTransactions.js.map +1 -1
  20. package/dist/cjs/actions/getUTXOTransaction.d.ts +19 -11
  21. package/dist/cjs/actions/getUTXOTransaction.js +19 -21
  22. package/dist/cjs/actions/getUTXOTransaction.js.map +1 -1
  23. package/dist/cjs/actions/getUTXOs.d.ts +19 -11
  24. package/dist/cjs/actions/getUTXOs.js +12 -11
  25. package/dist/cjs/actions/getUTXOs.js.map +1 -1
  26. package/dist/cjs/actions/getXPubAddresses.d.ts +36 -10
  27. package/dist/cjs/actions/getXPubAddresses.js +30 -8
  28. package/dist/cjs/actions/getXPubAddresses.js.map +1 -1
  29. package/dist/cjs/actions/sendUTXOTransaction.d.ts +18 -10
  30. package/dist/cjs/actions/sendUTXOTransaction.js +11 -12
  31. package/dist/cjs/actions/sendUTXOTransaction.js.map +1 -1
  32. package/dist/cjs/actions/signPsbt.d.ts +11 -6
  33. package/dist/cjs/actions/signPsbt.js +9 -8
  34. package/dist/cjs/actions/signPsbt.js.map +1 -1
  35. package/dist/cjs/actions/waitForTransaction.d.ts +84 -31
  36. package/dist/cjs/actions/waitForTransaction.js +156 -185
  37. package/dist/cjs/actions/waitForTransaction.js.map +1 -1
  38. package/dist/cjs/actions/watchBlockNumber.d.ts +31 -14
  39. package/dist/cjs/actions/watchBlockNumber.js +48 -43
  40. package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
  41. package/dist/cjs/chains/bitcoin.d.ts +7 -24
  42. package/dist/cjs/chains/bitcoin.js +19 -20
  43. package/dist/cjs/chains/bitcoin.js.map +1 -1
  44. package/dist/cjs/chains/defineChain.d.ts +8 -3
  45. package/dist/cjs/chains/defineChain.js +11 -9
  46. package/dist/cjs/chains/defineChain.js.map +1 -1
  47. package/dist/cjs/chains/signet.d.ts +7 -24
  48. package/dist/cjs/chains/signet.js +20 -23
  49. package/dist/cjs/chains/signet.js.map +1 -1
  50. package/dist/cjs/clients/decorators/public.d.ts +28 -23
  51. package/dist/cjs/clients/decorators/public.js +23 -21
  52. package/dist/cjs/clients/decorators/public.js.map +1 -1
  53. package/dist/cjs/clients/decorators/wallet.d.ts +18 -10
  54. package/dist/cjs/clients/decorators/wallet.js +11 -9
  55. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  56. package/dist/cjs/errors/address.d.ts +14 -7
  57. package/dist/cjs/errors/address.js +13 -15
  58. package/dist/cjs/errors/address.js.map +1 -1
  59. package/dist/cjs/errors/base.d.ts +24 -21
  60. package/dist/cjs/errors/base.js +38 -50
  61. package/dist/cjs/errors/base.js.map +1 -1
  62. package/dist/cjs/errors/block.d.ts +17 -9
  63. package/dist/cjs/errors/block.js +13 -16
  64. package/dist/cjs/errors/block.js.map +1 -1
  65. package/dist/cjs/errors/provider.d.ts +8 -3
  66. package/dist/cjs/errors/provider.js +11 -13
  67. package/dist/cjs/errors/provider.js.map +1 -1
  68. package/dist/cjs/errors/request.d.ts +92 -65
  69. package/dist/cjs/errors/request.js +65 -67
  70. package/dist/cjs/errors/request.js.map +1 -1
  71. package/dist/cjs/errors/rpc.d.ts +58 -20
  72. package/dist/cjs/errors/rpc.js +74 -47
  73. package/dist/cjs/errors/rpc.js.map +1 -1
  74. package/dist/cjs/errors/transaction.d.ts +40 -25
  75. package/dist/cjs/errors/transaction.js +25 -36
  76. package/dist/cjs/errors/transaction.js.map +1 -1
  77. package/dist/cjs/errors/transport.d.ts +39 -27
  78. package/dist/cjs/errors/transport.js +34 -39
  79. package/dist/cjs/errors/transport.js.map +1 -1
  80. package/dist/cjs/errors/utils.d.ts +10 -5
  81. package/dist/cjs/errors/utils.js +5 -4
  82. package/dist/cjs/errors/utils.js.map +1 -1
  83. package/dist/cjs/errors/utxo.d.ts +18 -9
  84. package/dist/cjs/errors/utxo.js +13 -14
  85. package/dist/cjs/errors/utxo.js.map +1 -1
  86. package/dist/cjs/factories/createClient.d.ts +61 -44
  87. package/dist/cjs/factories/createClient.js +47 -40
  88. package/dist/cjs/factories/createClient.js.map +1 -1
  89. package/dist/cjs/factories/createTransport.d.ts +19 -2
  90. package/dist/cjs/factories/createTransport.js +31 -21
  91. package/dist/cjs/factories/createTransport.js.map +1 -1
  92. package/dist/cjs/index.d.ts +71 -83
  93. package/dist/cjs/index.js +133 -137
  94. package/dist/cjs/test/utils.d.ts +5 -1
  95. package/dist/cjs/test/utils.js +8 -9
  96. package/dist/cjs/test/utils.js.map +1 -1
  97. package/dist/cjs/transports/__mocks__/getTransactionFee.d.ts +7 -3
  98. package/dist/cjs/transports/__mocks__/getTransactionFee.js +10 -6
  99. package/dist/cjs/transports/__mocks__/getTransactionFee.js.map +1 -1
  100. package/dist/cjs/transports/ankr/ankr.d.ts +9 -5
  101. package/dist/cjs/transports/ankr/ankr.js +19 -20
  102. package/dist/cjs/transports/ankr/ankr.js.map +1 -1
  103. package/dist/cjs/transports/ankr/ankr.types.d.ts +75 -71
  104. package/dist/cjs/transports/ankr/ankr.types.js +0 -3
  105. package/dist/cjs/transports/ankr/getBalance.d.ts +7 -2
  106. package/dist/cjs/transports/ankr/getBalance.js +15 -19
  107. package/dist/cjs/transports/ankr/getBalance.js.map +1 -1
  108. package/dist/cjs/transports/ankr/getTransactionFee.d.ts +7 -2
  109. package/dist/cjs/transports/ankr/getTransactionFee.js +11 -14
  110. package/dist/cjs/transports/ankr/getTransactionFee.js.map +1 -1
  111. package/dist/cjs/transports/ankr/getTransactions.d.ts +7 -2
  112. package/dist/cjs/transports/ankr/getTransactions.js +26 -28
  113. package/dist/cjs/transports/ankr/getTransactions.js.map +1 -1
  114. package/dist/cjs/transports/ankr/methods.d.ts +7 -2
  115. package/dist/cjs/transports/ankr/methods.js +12 -10
  116. package/dist/cjs/transports/ankr/methods.js.map +1 -1
  117. package/dist/cjs/transports/ankr/utils.d.ts +8 -3
  118. package/dist/cjs/transports/ankr/utils.js +26 -25
  119. package/dist/cjs/transports/ankr/utils.js.map +1 -1
  120. package/dist/cjs/transports/blockchair/blockchair.d.ts +9 -5
  121. package/dist/cjs/transports/blockchair/blockchair.js +12 -13
  122. package/dist/cjs/transports/blockchair/blockchair.js.map +1 -1
  123. package/dist/cjs/transports/blockchair/blockchair.types.d.ts +128 -124
  124. package/dist/cjs/transports/blockchair/blockchair.types.js +0 -3
  125. package/dist/cjs/transports/blockchair/getBalance.d.ts +7 -2
  126. package/dist/cjs/transports/blockchair/getBalance.js +19 -28
  127. package/dist/cjs/transports/blockchair/getBalance.js.map +1 -1
  128. package/dist/cjs/transports/blockchair/getTransactionFee.d.ts +7 -2
  129. package/dist/cjs/transports/blockchair/getTransactionFee.js +16 -29
  130. package/dist/cjs/transports/blockchair/getTransactionFee.js.map +1 -1
  131. package/dist/cjs/transports/blockchair/getUTXOs.d.ts +7 -2
  132. package/dist/cjs/transports/blockchair/getUTXOs.js +85 -100
  133. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -1
  134. package/dist/cjs/transports/blockchair/getXPubAddresses.d.ts +7 -2
  135. package/dist/cjs/transports/blockchair/getXPubAddresses.js +29 -43
  136. package/dist/cjs/transports/blockchair/getXPubAddresses.js.map +1 -1
  137. package/dist/cjs/transports/blockchair/methods.d.ts +7 -2
  138. package/dist/cjs/transports/blockchair/methods.js +14 -12
  139. package/dist/cjs/transports/blockchair/methods.js.map +1 -1
  140. package/dist/cjs/transports/blockcypher/blockcypher.d.ts +9 -5
  141. package/dist/cjs/transports/blockcypher/blockcypher.js +11 -12
  142. package/dist/cjs/transports/blockcypher/blockcypher.js.map +1 -1
  143. package/dist/cjs/transports/blockcypher/blockcypher.types.d.ts +69 -65
  144. package/dist/cjs/transports/blockcypher/blockcypher.types.js +0 -3
  145. package/dist/cjs/transports/blockcypher/getBalance.d.ts +7 -2
  146. package/dist/cjs/transports/blockcypher/getBalance.js +16 -23
  147. package/dist/cjs/transports/blockcypher/getBalance.js.map +1 -1
  148. package/dist/cjs/transports/blockcypher/getTransactionFee.d.ts +7 -2
  149. package/dist/cjs/transports/blockcypher/getTransactionFee.js +16 -20
  150. package/dist/cjs/transports/blockcypher/getTransactionFee.js.map +1 -1
  151. package/dist/cjs/transports/blockcypher/getUTXOs.d.ts +7 -2
  152. package/dist/cjs/transports/blockcypher/getUTXOs.js +71 -76
  153. package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -1
  154. package/dist/cjs/transports/blockcypher/methods.d.ts +7 -2
  155. package/dist/cjs/transports/blockcypher/methods.js +12 -10
  156. package/dist/cjs/transports/blockcypher/methods.js.map +1 -1
  157. package/dist/cjs/transports/blockcypher/utils.d.ts +7 -2
  158. package/dist/cjs/transports/blockcypher/utils.js +8 -8
  159. package/dist/cjs/transports/blockcypher/utils.js.map +1 -1
  160. package/dist/cjs/transports/custom.d.ts +20 -13
  161. package/dist/cjs/transports/custom.js +19 -14
  162. package/dist/cjs/transports/custom.js.map +1 -1
  163. package/dist/cjs/transports/fallback.d.ts +86 -48
  164. package/dist/cjs/transports/fallback.js +160 -182
  165. package/dist/cjs/transports/fallback.js.map +1 -1
  166. package/dist/cjs/transports/getHttpRpcClient.d.ts +30 -25
  167. package/dist/cjs/transports/getHttpRpcClient.js +74 -94
  168. package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
  169. package/dist/cjs/transports/getRpcProviderMethods.d.ts +8 -4
  170. package/dist/cjs/transports/getRpcProviderMethods.js +16 -19
  171. package/dist/cjs/transports/getRpcProviderMethods.js.map +1 -1
  172. package/dist/cjs/transports/http.d.ts +42 -26
  173. package/dist/cjs/transports/http.js +70 -76
  174. package/dist/cjs/transports/http.js.map +1 -1
  175. package/dist/cjs/transports/mempool/getBalance.d.ts +7 -2
  176. package/dist/cjs/transports/mempool/getBalance.js +11 -12
  177. package/dist/cjs/transports/mempool/getBalance.js.map +1 -1
  178. package/dist/cjs/transports/mempool/getTransactionFee.d.ts +7 -2
  179. package/dist/cjs/transports/mempool/getTransactionFee.js +10 -11
  180. package/dist/cjs/transports/mempool/getTransactionFee.js.map +1 -1
  181. package/dist/cjs/transports/mempool/getTransactions.d.ts +7 -2
  182. package/dist/cjs/transports/mempool/getTransactions.js +23 -29
  183. package/dist/cjs/transports/mempool/getTransactions.js.map +1 -1
  184. package/dist/cjs/transports/mempool/mempool.d.ts +8 -4
  185. package/dist/cjs/transports/mempool/mempool.js +11 -12
  186. package/dist/cjs/transports/mempool/mempool.js.map +1 -1
  187. package/dist/cjs/transports/mempool/mempool.types.d.ts +62 -58
  188. package/dist/cjs/transports/mempool/mempool.types.js +0 -3
  189. package/dist/cjs/transports/mempool/methods.d.ts +7 -2
  190. package/dist/cjs/transports/mempool/methods.js +12 -10
  191. package/dist/cjs/transports/mempool/methods.js.map +1 -1
  192. package/dist/cjs/transports/mempool/utils.d.ts +8 -3
  193. package/dist/cjs/transports/mempool/utils.js +27 -26
  194. package/dist/cjs/transports/mempool/utils.js.map +1 -1
  195. package/dist/cjs/transports/types.d.ts +120 -120
  196. package/dist/cjs/transports/types.js +11 -9
  197. package/dist/cjs/transports/types.js.map +1 -1
  198. package/dist/cjs/transports/utxo.d.ts +9 -5
  199. package/dist/cjs/transports/utxo.js +60 -62
  200. package/dist/cjs/transports/utxo.js.map +1 -1
  201. package/dist/cjs/types/account.d.ts +11 -6
  202. package/dist/cjs/types/account.js +0 -3
  203. package/dist/cjs/types/address.d.ts +20 -15
  204. package/dist/cjs/types/address.js +13 -11
  205. package/dist/cjs/types/address.js.map +1 -1
  206. package/dist/cjs/types/block.d.ts +23 -1
  207. package/dist/cjs/types/block.js +0 -3
  208. package/dist/cjs/types/blockStats.d.ts +37 -33
  209. package/dist/cjs/types/blockStats.js +0 -3
  210. package/dist/cjs/types/chain.d.ts +45 -42
  211. package/dist/cjs/types/chain.js +23 -20
  212. package/dist/cjs/types/chain.js.map +1 -1
  213. package/dist/cjs/types/client.d.ts +49 -36
  214. package/dist/cjs/types/client.js +0 -3
  215. package/dist/cjs/types/hash.d.ts +5 -1
  216. package/dist/cjs/types/hash.js +0 -3
  217. package/dist/cjs/types/request.d.ts +39 -37
  218. package/dist/cjs/types/request.js +0 -3
  219. package/dist/cjs/types/rpc.d.ts +28 -28
  220. package/dist/cjs/types/rpc.js +0 -3
  221. package/dist/cjs/types/transaction.d.ts +49 -45
  222. package/dist/cjs/types/transaction.js +0 -3
  223. package/dist/cjs/types/transport.d.ts +34 -27
  224. package/dist/cjs/types/transport.js +0 -3
  225. package/dist/cjs/types/utils.d.ts +60 -35
  226. package/dist/cjs/types/utils.js +0 -3
  227. package/dist/cjs/types/xpub.d.ts +13 -8
  228. package/dist/cjs/types/xpub.js +0 -3
  229. package/dist/cjs/utils/buildRequest.d.ts +11 -5
  230. package/dist/cjs/utils/buildRequest.js +68 -97
  231. package/dist/cjs/utils/buildRequest.js.map +1 -1
  232. package/dist/cjs/utils/cancelTransaction.d.ts +7 -2
  233. package/dist/cjs/utils/cancelTransaction.js +37 -48
  234. package/dist/cjs/utils/cancelTransaction.js.map +1 -1
  235. package/dist/cjs/utils/converter.d.ts +9 -5
  236. package/dist/cjs/utils/converter.js +22 -30
  237. package/dist/cjs/utils/converter.js.map +1 -1
  238. package/dist/cjs/utils/createBatchScheduler.d.ts +23 -15
  239. package/dist/cjs/utils/createBatchScheduler.js +53 -52
  240. package/dist/cjs/utils/createBatchScheduler.js.map +1 -1
  241. package/dist/cjs/utils/deepEqual.d.ts +6 -1
  242. package/dist/cjs/utils/deepEqual.js +30 -49
  243. package/dist/cjs/utils/deepEqual.js.map +1 -1
  244. package/dist/cjs/utils/getAction.d.ts +21 -9
  245. package/dist/cjs/utils/getAction.js +17 -12
  246. package/dist/cjs/utils/getAction.js.map +1 -1
  247. package/dist/cjs/utils/getAddressInfo.d.ts +9 -4
  248. package/dist/cjs/utils/getAddressInfo.js +92 -127
  249. package/dist/cjs/utils/getAddressInfo.js.map +1 -1
  250. package/dist/cjs/utils/idCache.d.ts +8 -4
  251. package/dist/cjs/utils/idCache.js +15 -13
  252. package/dist/cjs/utils/idCache.js.map +1 -1
  253. package/dist/cjs/utils/isAddress.d.ts +7 -2
  254. package/dist/cjs/utils/isAddress.js +12 -14
  255. package/dist/cjs/utils/isAddress.js.map +1 -1
  256. package/dist/cjs/utils/lru.d.ts +14 -5
  257. package/dist/cjs/utils/lru.js +31 -27
  258. package/dist/cjs/utils/lru.js.map +1 -1
  259. package/dist/cjs/utils/modifyFee.d.ts +7 -2
  260. package/dist/cjs/utils/modifyFee.js +38 -47
  261. package/dist/cjs/utils/modifyFee.js.map +1 -1
  262. package/dist/cjs/utils/observe.d.ts +18 -7
  263. package/dist/cjs/utils/observe.js +42 -44
  264. package/dist/cjs/utils/observe.js.map +1 -1
  265. package/dist/cjs/utils/parseAccount.d.ts +10 -5
  266. package/dist/cjs/utils/parseAccount.js +10 -7
  267. package/dist/cjs/utils/parseAccount.js.map +1 -1
  268. package/dist/cjs/utils/poll.d.ts +19 -7
  269. package/dist/cjs/utils/poll.js +27 -27
  270. package/dist/cjs/utils/poll.js.map +1 -1
  271. package/dist/cjs/utils/retryUntil.d.ts +22 -3
  272. package/dist/cjs/utils/retryUntil.js +34 -22
  273. package/dist/cjs/utils/retryUntil.js.map +1 -1
  274. package/dist/cjs/utils/sleep.d.ts +5 -1
  275. package/dist/cjs/utils/sleep.js +8 -6
  276. package/dist/cjs/utils/sleep.js.map +1 -1
  277. package/dist/cjs/utils/stringify.d.ts +8 -3
  278. package/dist/cjs/utils/stringify.js +6 -5
  279. package/dist/cjs/utils/stringify.js.map +1 -1
  280. package/dist/cjs/utils/uid.d.ts +5 -1
  281. package/dist/cjs/utils/uid.js +11 -11
  282. package/dist/cjs/utils/uid.js.map +1 -1
  283. package/dist/cjs/utils/url.d.ts +5 -1
  284. package/dist/cjs/utils/url.js +9 -10
  285. package/dist/cjs/utils/url.js.map +1 -1
  286. package/dist/cjs/utils/wait.d.ts +5 -1
  287. package/dist/cjs/utils/wait.js +6 -4
  288. package/dist/cjs/utils/wait.js.map +1 -1
  289. package/dist/cjs/utils/withDedupe.d.ts +15 -6
  290. package/dist/cjs/utils/withDedupe.js +14 -15
  291. package/dist/cjs/utils/withDedupe.js.map +1 -1
  292. package/dist/cjs/utils/withResolvers.d.ts +11 -5
  293. package/dist/cjs/utils/withResolvers.js +16 -10
  294. package/dist/cjs/utils/withResolvers.js.map +1 -1
  295. package/dist/cjs/utils/withRetry.d.ts +25 -13
  296. package/dist/cjs/utils/withRetry.js +29 -28
  297. package/dist/cjs/utils/withRetry.js.map +1 -1
  298. package/dist/cjs/utils/withTimeout.d.ts +19 -8
  299. package/dist/cjs/utils/withTimeout.js +24 -33
  300. package/dist/cjs/utils/withTimeout.js.map +1 -1
  301. package/dist/cjs/version.d.ts +6 -2
  302. package/dist/cjs/version.js +8 -5
  303. package/dist/cjs/version.js.map +1 -1
  304. package/dist/cjs/vite-env.d.js +0 -0
  305. package/dist/cjs/vite-env.d.ts +1 -0
  306. package/dist/esm/actions/getBalance.d.ts +14 -10
  307. package/dist/esm/actions/getBalance.d.ts.map +1 -0
  308. package/dist/esm/actions/getBalance.js +9 -6
  309. package/dist/esm/actions/getBalance.js.map +1 -1
  310. package/dist/esm/actions/getBlock.d.ts +21 -13
  311. package/dist/esm/actions/getBlock.d.ts.map +1 -0
  312. package/dist/esm/actions/getBlock.js +29 -26
  313. package/dist/esm/actions/getBlock.js.map +1 -1
  314. package/dist/esm/actions/getBlockCount.d.ts +12 -7
  315. package/dist/esm/actions/getBlockCount.d.ts.map +1 -0
  316. package/dist/esm/actions/getBlockCount.js +9 -6
  317. package/dist/esm/actions/getBlockCount.js.map +1 -1
  318. package/dist/esm/actions/getBlockStats.d.ts +23 -14
  319. package/dist/esm/actions/getBlockStats.d.ts.map +1 -0
  320. package/dist/esm/actions/getBlockStats.js +24 -22
  321. package/dist/esm/actions/getBlockStats.js.map +1 -1
  322. package/dist/esm/actions/getTransactionFee.d.ts +16 -9
  323. package/dist/esm/actions/getTransactionFee.d.ts.map +1 -0
  324. package/dist/esm/actions/getTransactionFee.js +9 -6
  325. package/dist/esm/actions/getTransactionFee.js.map +1 -1
  326. package/dist/esm/actions/getTransactions.d.ts +27 -17
  327. package/dist/esm/actions/getTransactions.d.ts.map +1 -0
  328. package/dist/esm/actions/getTransactions.js +14 -11
  329. package/dist/esm/actions/getTransactions.js.map +1 -1
  330. package/dist/esm/actions/getUTXOTransaction.d.ts +19 -13
  331. package/dist/esm/actions/getUTXOTransaction.d.ts.map +1 -0
  332. package/dist/esm/actions/getUTXOTransaction.js +19 -19
  333. package/dist/esm/actions/getUTXOTransaction.js.map +1 -1
  334. package/dist/esm/actions/getUTXOs.d.ts +19 -11
  335. package/dist/esm/actions/getUTXOs.d.ts.map +1 -0
  336. package/dist/esm/actions/getUTXOs.js +12 -9
  337. package/dist/esm/actions/getUTXOs.js.map +1 -1
  338. package/dist/esm/actions/getXPubAddresses.d.ts +35 -31
  339. package/dist/esm/actions/getXPubAddresses.d.ts.map +1 -0
  340. package/dist/esm/actions/getXPubAddresses.js +29 -26
  341. package/dist/esm/actions/getXPubAddresses.js.map +1 -1
  342. package/dist/esm/actions/sendUTXOTransaction.d.ts +18 -12
  343. package/dist/esm/actions/sendUTXOTransaction.d.ts.map +1 -0
  344. package/dist/esm/actions/sendUTXOTransaction.js +11 -10
  345. package/dist/esm/actions/sendUTXOTransaction.js.map +1 -1
  346. package/dist/esm/actions/signPsbt.d.ts +11 -6
  347. package/dist/esm/actions/signPsbt.d.ts.map +1 -0
  348. package/dist/esm/actions/signPsbt.js +9 -6
  349. package/dist/esm/actions/signPsbt.js.map +1 -1
  350. package/dist/esm/actions/waitForTransaction.d.ts +83 -73
  351. package/dist/esm/actions/waitForTransaction.d.ts.map +1 -0
  352. package/dist/esm/actions/waitForTransaction.js +153 -229
  353. package/dist/esm/actions/waitForTransaction.js.map +1 -1
  354. package/dist/esm/actions/watchBlockNumber.d.ts +30 -24
  355. package/dist/esm/actions/watchBlockNumber.d.ts.map +1 -0
  356. package/dist/esm/actions/watchBlockNumber.js +46 -55
  357. package/dist/esm/actions/watchBlockNumber.js.map +1 -1
  358. package/dist/esm/chains/bitcoin.d.ts +7 -24
  359. package/dist/esm/chains/bitcoin.d.ts.map +1 -0
  360. package/dist/esm/chains/bitcoin.js +19 -17
  361. package/dist/esm/chains/bitcoin.js.map +1 -1
  362. package/dist/esm/chains/defineChain.d.ts +8 -3
  363. package/dist/esm/chains/defineChain.d.ts.map +1 -0
  364. package/dist/esm/chains/defineChain.js +11 -7
  365. package/dist/esm/chains/defineChain.js.map +1 -1
  366. package/dist/esm/chains/signet.d.ts +7 -24
  367. package/dist/esm/chains/signet.d.ts.map +1 -0
  368. package/dist/esm/chains/signet.js +20 -20
  369. package/dist/esm/chains/signet.js.map +1 -1
  370. package/dist/esm/clients/decorators/public.d.ts +28 -23
  371. package/dist/esm/clients/decorators/public.d.ts.map +1 -0
  372. package/dist/esm/clients/decorators/public.js +23 -19
  373. package/dist/esm/clients/decorators/public.js.map +1 -1
  374. package/dist/esm/clients/decorators/wallet.d.ts +18 -13
  375. package/dist/esm/clients/decorators/wallet.d.ts.map +1 -0
  376. package/dist/esm/clients/decorators/wallet.js +11 -7
  377. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  378. package/dist/esm/errors/address.d.ts +14 -7
  379. package/dist/esm/errors/address.d.ts.map +1 -0
  380. package/dist/esm/errors/address.js +13 -12
  381. package/dist/esm/errors/address.js.map +1 -1
  382. package/dist/esm/errors/base.d.ts +24 -21
  383. package/dist/esm/errors/base.d.ts.map +1 -0
  384. package/dist/esm/errors/base.js +37 -46
  385. package/dist/esm/errors/base.js.map +1 -1
  386. package/dist/esm/errors/block.d.ts +17 -9
  387. package/dist/esm/errors/block.d.ts.map +1 -0
  388. package/dist/esm/errors/block.js +13 -13
  389. package/dist/esm/errors/block.js.map +1 -1
  390. package/dist/esm/errors/provider.d.ts +8 -3
  391. package/dist/esm/errors/provider.d.ts.map +1 -0
  392. package/dist/esm/errors/provider.js +11 -10
  393. package/dist/esm/errors/provider.js.map +1 -1
  394. package/dist/esm/errors/request.d.ts +92 -65
  395. package/dist/esm/errors/request.d.ts.map +1 -0
  396. package/dist/esm/errors/request.js +64 -63
  397. package/dist/esm/errors/request.js.map +1 -1
  398. package/dist/esm/errors/rpc.d.ts +57 -52
  399. package/dist/esm/errors/rpc.d.ts.map +1 -0
  400. package/dist/esm/errors/rpc.js +71 -75
  401. package/dist/esm/errors/rpc.js.map +1 -1
  402. package/dist/esm/errors/transaction.d.ts +40 -25
  403. package/dist/esm/errors/transaction.d.ts.map +1 -0
  404. package/dist/esm/errors/transaction.js +25 -33
  405. package/dist/esm/errors/transaction.js.map +1 -1
  406. package/dist/esm/errors/transport.d.ts +39 -27
  407. package/dist/esm/errors/transport.d.ts.map +1 -0
  408. package/dist/esm/errors/transport.js +32 -34
  409. package/dist/esm/errors/transport.js.map +1 -1
  410. package/dist/esm/errors/utils.d.ts +10 -5
  411. package/dist/esm/errors/utils.d.ts.map +1 -0
  412. package/dist/esm/errors/utils.js +6 -2
  413. package/dist/esm/errors/utils.js.map +1 -1
  414. package/dist/esm/errors/utxo.d.ts +18 -9
  415. package/dist/esm/errors/utxo.d.ts.map +1 -0
  416. package/dist/esm/errors/utxo.js +13 -11
  417. package/dist/esm/errors/utxo.js.map +1 -1
  418. package/dist/esm/factories/createClient.d.ts +60 -78
  419. package/dist/esm/factories/createClient.d.ts.map +1 -0
  420. package/dist/esm/factories/createClient.js +46 -41
  421. package/dist/esm/factories/createClient.js.map +1 -1
  422. package/dist/esm/factories/createTransport.d.ts +18 -4
  423. package/dist/esm/factories/createTransport.d.ts.map +1 -0
  424. package/dist/esm/factories/createTransport.js +29 -20
  425. package/dist/esm/factories/createTransport.js.map +1 -1
  426. package/dist/esm/index.d.ts +71 -83
  427. package/dist/esm/index.js +58 -58
  428. package/dist/esm/package.json +1 -1
  429. package/dist/esm/test/utils.d.ts +5 -1
  430. package/dist/esm/test/utils.d.ts.map +1 -0
  431. package/dist/esm/test/utils.js +9 -7
  432. package/dist/esm/test/utils.js.map +1 -1
  433. package/dist/esm/transports/__mocks__/getTransactionFee.d.ts +7 -3
  434. package/dist/esm/transports/__mocks__/getTransactionFee.d.ts.map +1 -0
  435. package/dist/esm/transports/__mocks__/getTransactionFee.js +7 -3
  436. package/dist/esm/transports/__mocks__/getTransactionFee.js.map +1 -1
  437. package/dist/esm/transports/ankr/ankr.d.ts +9 -5
  438. package/dist/esm/transports/ankr/ankr.d.ts.map +1 -0
  439. package/dist/esm/transports/ankr/ankr.js +20 -18
  440. package/dist/esm/transports/ankr/ankr.js.map +1 -1
  441. package/dist/esm/transports/ankr/ankr.types.d.ts +75 -71
  442. package/dist/esm/transports/ankr/ankr.types.d.ts.map +1 -0
  443. package/dist/esm/transports/ankr/ankr.types.js +0 -1
  444. package/dist/esm/transports/ankr/getBalance.d.ts +7 -2
  445. package/dist/esm/transports/ankr/getBalance.d.ts.map +1 -0
  446. package/dist/esm/transports/ankr/getBalance.js +16 -17
  447. package/dist/esm/transports/ankr/getBalance.js.map +1 -1
  448. package/dist/esm/transports/ankr/getTransactionFee.d.ts +7 -2
  449. package/dist/esm/transports/ankr/getTransactionFee.d.ts.map +1 -0
  450. package/dist/esm/transports/ankr/getTransactionFee.js +12 -12
  451. package/dist/esm/transports/ankr/getTransactionFee.js.map +1 -1
  452. package/dist/esm/transports/ankr/getTransactions.d.ts +7 -2
  453. package/dist/esm/transports/ankr/getTransactions.d.ts.map +1 -0
  454. package/dist/esm/transports/ankr/getTransactions.js +27 -26
  455. package/dist/esm/transports/ankr/getTransactions.js.map +1 -1
  456. package/dist/esm/transports/ankr/methods.d.ts +7 -2
  457. package/dist/esm/transports/ankr/methods.d.ts.map +1 -0
  458. package/dist/esm/transports/ankr/methods.js +11 -7
  459. package/dist/esm/transports/ankr/methods.js.map +1 -1
  460. package/dist/esm/transports/ankr/utils.d.ts +8 -3
  461. package/dist/esm/transports/ankr/utils.d.ts.map +1 -0
  462. package/dist/esm/transports/ankr/utils.js +27 -23
  463. package/dist/esm/transports/ankr/utils.js.map +1 -1
  464. package/dist/esm/transports/blockchair/blockchair.d.ts +9 -5
  465. package/dist/esm/transports/blockchair/blockchair.d.ts.map +1 -0
  466. package/dist/esm/transports/blockchair/blockchair.js +12 -10
  467. package/dist/esm/transports/blockchair/blockchair.js.map +1 -1
  468. package/dist/esm/transports/blockchair/blockchair.types.d.ts +128 -124
  469. package/dist/esm/transports/blockchair/blockchair.types.d.ts.map +1 -0
  470. package/dist/esm/transports/blockchair/blockchair.types.js +0 -1
  471. package/dist/esm/transports/blockchair/getBalance.d.ts +7 -2
  472. package/dist/esm/transports/blockchair/getBalance.d.ts.map +1 -0
  473. package/dist/esm/transports/blockchair/getBalance.js +20 -26
  474. package/dist/esm/transports/blockchair/getBalance.js.map +1 -1
  475. package/dist/esm/transports/blockchair/getTransactionFee.d.ts +7 -2
  476. package/dist/esm/transports/blockchair/getTransactionFee.d.ts.map +1 -0
  477. package/dist/esm/transports/blockchair/getTransactionFee.js +17 -27
  478. package/dist/esm/transports/blockchair/getTransactionFee.js.map +1 -1
  479. package/dist/esm/transports/blockchair/getUTXOs.d.ts +7 -2
  480. package/dist/esm/transports/blockchair/getUTXOs.d.ts.map +1 -0
  481. package/dist/esm/transports/blockchair/getUTXOs.js +86 -98
  482. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -1
  483. package/dist/esm/transports/blockchair/getXPubAddresses.d.ts +7 -2
  484. package/dist/esm/transports/blockchair/getXPubAddresses.d.ts.map +1 -0
  485. package/dist/esm/transports/blockchair/getXPubAddresses.js +30 -41
  486. package/dist/esm/transports/blockchair/getXPubAddresses.js.map +1 -1
  487. package/dist/esm/transports/blockchair/methods.d.ts +7 -2
  488. package/dist/esm/transports/blockchair/methods.d.ts.map +1 -0
  489. package/dist/esm/transports/blockchair/methods.js +13 -9
  490. package/dist/esm/transports/blockchair/methods.js.map +1 -1
  491. package/dist/esm/transports/blockcypher/blockcypher.d.ts +9 -5
  492. package/dist/esm/transports/blockcypher/blockcypher.d.ts.map +1 -0
  493. package/dist/esm/transports/blockcypher/blockcypher.js +11 -9
  494. package/dist/esm/transports/blockcypher/blockcypher.js.map +1 -1
  495. package/dist/esm/transports/blockcypher/blockcypher.types.d.ts +69 -65
  496. package/dist/esm/transports/blockcypher/blockcypher.types.d.ts.map +1 -0
  497. package/dist/esm/transports/blockcypher/blockcypher.types.js +0 -1
  498. package/dist/esm/transports/blockcypher/getBalance.d.ts +7 -2
  499. package/dist/esm/transports/blockcypher/getBalance.d.ts.map +1 -0
  500. package/dist/esm/transports/blockcypher/getBalance.js +17 -21
  501. package/dist/esm/transports/blockcypher/getBalance.js.map +1 -1
  502. package/dist/esm/transports/blockcypher/getTransactionFee.d.ts +7 -2
  503. package/dist/esm/transports/blockcypher/getTransactionFee.d.ts.map +1 -0
  504. package/dist/esm/transports/blockcypher/getTransactionFee.js +17 -18
  505. package/dist/esm/transports/blockcypher/getTransactionFee.js.map +1 -1
  506. package/dist/esm/transports/blockcypher/getUTXOs.d.ts +7 -2
  507. package/dist/esm/transports/blockcypher/getUTXOs.d.ts.map +1 -0
  508. package/dist/esm/transports/blockcypher/getUTXOs.js +72 -74
  509. package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -1
  510. package/dist/esm/transports/blockcypher/methods.d.ts +7 -2
  511. package/dist/esm/transports/blockcypher/methods.d.ts.map +1 -0
  512. package/dist/esm/transports/blockcypher/methods.js +11 -7
  513. package/dist/esm/transports/blockcypher/methods.js.map +1 -1
  514. package/dist/esm/transports/blockcypher/utils.d.ts +7 -2
  515. package/dist/esm/transports/blockcypher/utils.d.ts.map +1 -0
  516. package/dist/esm/transports/blockcypher/utils.js +8 -6
  517. package/dist/esm/transports/blockcypher/utils.js.map +1 -1
  518. package/dist/esm/transports/custom.d.ts +19 -20
  519. package/dist/esm/transports/custom.d.ts.map +1 -0
  520. package/dist/esm/transports/custom.js +18 -14
  521. package/dist/esm/transports/custom.js.map +1 -1
  522. package/dist/esm/transports/fallback.d.ts +83 -78
  523. package/dist/esm/transports/fallback.d.ts.map +1 -0
  524. package/dist/esm/transports/fallback.js +158 -190
  525. package/dist/esm/transports/fallback.js.map +1 -1
  526. package/dist/esm/transports/getHttpRpcClient.d.ts +30 -34
  527. package/dist/esm/transports/getHttpRpcClient.d.ts.map +1 -0
  528. package/dist/esm/transports/getHttpRpcClient.js +74 -92
  529. package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
  530. package/dist/esm/transports/getRpcProviderMethods.d.ts +8 -4
  531. package/dist/esm/transports/getRpcProviderMethods.d.ts.map +1 -0
  532. package/dist/esm/transports/getRpcProviderMethods.js +16 -17
  533. package/dist/esm/transports/getRpcProviderMethods.js.map +1 -1
  534. package/dist/esm/transports/http.d.ts +41 -50
  535. package/dist/esm/transports/http.d.ts.map +1 -0
  536. package/dist/esm/transports/http.js +69 -78
  537. package/dist/esm/transports/http.js.map +1 -1
  538. package/dist/esm/transports/mempool/getBalance.d.ts +7 -2
  539. package/dist/esm/transports/mempool/getBalance.d.ts.map +1 -0
  540. package/dist/esm/transports/mempool/getBalance.js +12 -10
  541. package/dist/esm/transports/mempool/getBalance.js.map +1 -1
  542. package/dist/esm/transports/mempool/getTransactionFee.d.ts +7 -2
  543. package/dist/esm/transports/mempool/getTransactionFee.d.ts.map +1 -0
  544. package/dist/esm/transports/mempool/getTransactionFee.js +11 -9
  545. package/dist/esm/transports/mempool/getTransactionFee.js.map +1 -1
  546. package/dist/esm/transports/mempool/getTransactions.d.ts +7 -2
  547. package/dist/esm/transports/mempool/getTransactions.d.ts.map +1 -0
  548. package/dist/esm/transports/mempool/getTransactions.js +24 -27
  549. package/dist/esm/transports/mempool/getTransactions.js.map +1 -1
  550. package/dist/esm/transports/mempool/mempool.d.ts +8 -4
  551. package/dist/esm/transports/mempool/mempool.d.ts.map +1 -0
  552. package/dist/esm/transports/mempool/mempool.js +11 -9
  553. package/dist/esm/transports/mempool/mempool.js.map +1 -1
  554. package/dist/esm/transports/mempool/mempool.types.d.ts +62 -58
  555. package/dist/esm/transports/mempool/mempool.types.d.ts.map +1 -0
  556. package/dist/esm/transports/mempool/mempool.types.js +0 -1
  557. package/dist/esm/transports/mempool/methods.d.ts +7 -2
  558. package/dist/esm/transports/mempool/methods.d.ts.map +1 -0
  559. package/dist/esm/transports/mempool/methods.js +11 -7
  560. package/dist/esm/transports/mempool/methods.js.map +1 -1
  561. package/dist/esm/transports/mempool/utils.d.ts +8 -3
  562. package/dist/esm/transports/mempool/utils.d.ts.map +1 -0
  563. package/dist/esm/transports/mempool/utils.js +28 -24
  564. package/dist/esm/transports/mempool/utils.js.map +1 -1
  565. package/dist/esm/transports/types.d.ts +119 -135
  566. package/dist/esm/transports/types.d.ts.map +1 -0
  567. package/dist/esm/transports/types.js +10 -6
  568. package/dist/esm/transports/types.js.map +1 -1
  569. package/dist/esm/transports/utxo.d.ts +9 -5
  570. package/dist/esm/transports/utxo.d.ts.map +1 -0
  571. package/dist/esm/transports/utxo.js +60 -60
  572. package/dist/esm/transports/utxo.js.map +1 -1
  573. package/dist/esm/types/account.d.ts +11 -6
  574. package/dist/esm/types/account.d.ts.map +1 -0
  575. package/dist/esm/types/account.js +0 -1
  576. package/dist/esm/types/address.d.ts +20 -15
  577. package/dist/esm/types/address.d.ts.map +1 -0
  578. package/dist/esm/types/address.js +12 -8
  579. package/dist/esm/types/address.js.map +1 -1
  580. package/dist/esm/types/block.d.ts +22 -18
  581. package/dist/esm/types/block.d.ts.map +1 -0
  582. package/dist/esm/types/block.js +0 -1
  583. package/dist/esm/types/blockStats.d.ts +37 -33
  584. package/dist/esm/types/blockStats.d.ts.map +1 -0
  585. package/dist/esm/types/blockStats.js +0 -1
  586. package/dist/esm/types/chain.d.ts +45 -53
  587. package/dist/esm/types/chain.d.ts.map +1 -0
  588. package/dist/esm/types/chain.js +21 -17
  589. package/dist/esm/types/chain.js.map +1 -1
  590. package/dist/esm/types/client.d.ts +49 -63
  591. package/dist/esm/types/client.d.ts.map +1 -0
  592. package/dist/esm/types/client.js +0 -1
  593. package/dist/esm/types/hash.d.ts +5 -1
  594. package/dist/esm/types/hash.d.ts.map +1 -0
  595. package/dist/esm/types/hash.js +0 -1
  596. package/dist/esm/types/request.d.ts +39 -42
  597. package/dist/esm/types/request.d.ts.map +1 -0
  598. package/dist/esm/types/request.js +0 -1
  599. package/dist/esm/types/rpc.d.ts +28 -28
  600. package/dist/esm/types/rpc.d.ts.map +1 -0
  601. package/dist/esm/types/rpc.js +0 -1
  602. package/dist/esm/types/transaction.d.ts +49 -45
  603. package/dist/esm/types/transaction.d.ts.map +1 -0
  604. package/dist/esm/types/transaction.js +0 -1
  605. package/dist/esm/types/transport.d.ts +34 -35
  606. package/dist/esm/types/transport.d.ts.map +1 -0
  607. package/dist/esm/types/transport.js +0 -1
  608. package/dist/esm/types/utils.d.ts +47 -58
  609. package/dist/esm/types/utils.d.ts.map +1 -0
  610. package/dist/esm/types/utils.js +0 -1
  611. package/dist/esm/types/xpub.d.ts +13 -8
  612. package/dist/esm/types/xpub.d.ts.map +1 -0
  613. package/dist/esm/types/xpub.js +0 -1
  614. package/dist/esm/utils/buildRequest.d.ts +10 -5
  615. package/dist/esm/utils/buildRequest.d.ts.map +1 -0
  616. package/dist/esm/utils/buildRequest.js +67 -107
  617. package/dist/esm/utils/buildRequest.js.map +1 -1
  618. package/dist/esm/utils/cancelTransaction.d.ts +7 -2
  619. package/dist/esm/utils/cancelTransaction.d.ts.map +1 -0
  620. package/dist/esm/utils/cancelTransaction.js +36 -53
  621. package/dist/esm/utils/cancelTransaction.js.map +1 -1
  622. package/dist/esm/utils/converter.d.ts +9 -5
  623. package/dist/esm/utils/converter.d.ts.map +1 -0
  624. package/dist/esm/utils/converter.js +22 -28
  625. package/dist/esm/utils/converter.js.map +1 -1
  626. package/dist/esm/utils/createBatchScheduler.d.ts +22 -15
  627. package/dist/esm/utils/createBatchScheduler.d.ts.map +1 -0
  628. package/dist/esm/utils/createBatchScheduler.js +51 -49
  629. package/dist/esm/utils/createBatchScheduler.js.map +1 -1
  630. package/dist/esm/utils/deepEqual.d.ts +5 -1
  631. package/dist/esm/utils/deepEqual.d.ts.map +1 -0
  632. package/dist/esm/utils/deepEqual.js +29 -49
  633. package/dist/esm/utils/deepEqual.js.map +1 -1
  634. package/dist/esm/utils/getAction.d.ts +20 -15
  635. package/dist/esm/utils/getAction.d.ts.map +1 -0
  636. package/dist/esm/utils/getAction.js +16 -20
  637. package/dist/esm/utils/getAction.js.map +1 -1
  638. package/dist/esm/utils/getAddressInfo.d.ts +9 -4
  639. package/dist/esm/utils/getAddressInfo.d.ts.map +1 -0
  640. package/dist/esm/utils/getAddressInfo.js +91 -125
  641. package/dist/esm/utils/getAddressInfo.js.map +1 -1
  642. package/dist/esm/utils/idCache.d.ts +8 -4
  643. package/dist/esm/utils/idCache.d.ts.map +1 -0
  644. package/dist/esm/utils/idCache.js +14 -10
  645. package/dist/esm/utils/idCache.js.map +1 -1
  646. package/dist/esm/utils/isAddress.d.ts +7 -2
  647. package/dist/esm/utils/isAddress.d.ts.map +1 -0
  648. package/dist/esm/utils/isAddress.js +13 -12
  649. package/dist/esm/utils/isAddress.js.map +1 -1
  650. package/dist/esm/utils/lru.d.ts +13 -9
  651. package/dist/esm/utils/lru.d.ts.map +1 -0
  652. package/dist/esm/utils/lru.js +30 -28
  653. package/dist/esm/utils/lru.js.map +1 -1
  654. package/dist/esm/utils/modifyFee.d.ts +7 -2
  655. package/dist/esm/utils/modifyFee.d.ts.map +1 -0
  656. package/dist/esm/utils/modifyFee.js +37 -51
  657. package/dist/esm/utils/modifyFee.js.map +1 -1
  658. package/dist/esm/utils/observe.d.ts +15 -11
  659. package/dist/esm/utils/observe.d.ts.map +1 -0
  660. package/dist/esm/utils/observe.js +37 -45
  661. package/dist/esm/utils/observe.js.map +1 -1
  662. package/dist/esm/utils/parseAccount.d.ts +10 -5
  663. package/dist/esm/utils/parseAccount.d.ts.map +1 -0
  664. package/dist/esm/utils/parseAccount.js +10 -5
  665. package/dist/esm/utils/parseAccount.js.map +1 -1
  666. package/dist/esm/utils/poll.d.ts +18 -9
  667. package/dist/esm/utils/poll.d.ts.map +1 -0
  668. package/dist/esm/utils/poll.js +26 -27
  669. package/dist/esm/utils/poll.js.map +1 -1
  670. package/dist/esm/utils/retryUntil.d.ts +21 -19
  671. package/dist/esm/utils/retryUntil.d.ts.map +1 -0
  672. package/dist/esm/utils/retryUntil.js +33 -36
  673. package/dist/esm/utils/retryUntil.js.map +1 -1
  674. package/dist/esm/utils/sleep.d.ts +5 -1
  675. package/dist/esm/utils/sleep.d.ts.map +1 -0
  676. package/dist/esm/utils/sleep.js +8 -4
  677. package/dist/esm/utils/sleep.js.map +1 -1
  678. package/dist/esm/utils/stringify.d.ts +8 -3
  679. package/dist/esm/utils/stringify.d.ts.map +1 -0
  680. package/dist/esm/utils/stringify.js +7 -3
  681. package/dist/esm/utils/stringify.js.map +1 -1
  682. package/dist/esm/utils/uid.d.ts +5 -1
  683. package/dist/esm/utils/uid.d.ts.map +1 -0
  684. package/dist/esm/utils/uid.js +11 -9
  685. package/dist/esm/utils/uid.js.map +1 -1
  686. package/dist/esm/utils/url.d.ts +5 -1
  687. package/dist/esm/utils/url.d.ts.map +1 -0
  688. package/dist/esm/utils/url.js +10 -8
  689. package/dist/esm/utils/url.js.map +1 -1
  690. package/dist/esm/utils/wait.d.ts +5 -1
  691. package/dist/esm/utils/wait.d.ts.map +1 -0
  692. package/dist/esm/utils/wait.js +6 -2
  693. package/dist/esm/utils/wait.js.map +1 -1
  694. package/dist/esm/utils/withDedupe.d.ts +13 -6
  695. package/dist/esm/utils/withDedupe.d.ts.map +1 -0
  696. package/dist/esm/utils/withDedupe.js +12 -12
  697. package/dist/esm/utils/withDedupe.js.map +1 -1
  698. package/dist/esm/utils/withResolvers.d.ts +9 -5
  699. package/dist/esm/utils/withResolvers.d.ts.map +1 -0
  700. package/dist/esm/utils/withResolvers.js +15 -8
  701. package/dist/esm/utils/withResolvers.js.map +1 -1
  702. package/dist/esm/utils/withRetry.d.ts +25 -13
  703. package/dist/esm/utils/withRetry.d.ts.map +1 -0
  704. package/dist/esm/utils/withRetry.js +28 -25
  705. package/dist/esm/utils/withRetry.js.map +1 -1
  706. package/dist/esm/utils/withTimeout.d.ts +19 -8
  707. package/dist/esm/utils/withTimeout.d.ts.map +1 -0
  708. package/dist/esm/utils/withTimeout.js +23 -30
  709. package/dist/esm/utils/withTimeout.js.map +1 -1
  710. package/dist/esm/version.d.ts +6 -2
  711. package/dist/esm/version.d.ts.map +1 -0
  712. package/dist/esm/version.js +6 -2
  713. package/dist/esm/version.js.map +1 -1
  714. package/dist/esm/vite-env.d.ts +1 -0
  715. package/package.json +2 -2
  716. package/src/chains/bitcoin.ts +2 -1
  717. package/src/chains/signet.ts +2 -1
  718. package/src/errors/base.ts +2 -2
  719. package/src/errors/rpc.ts +3 -3
  720. package/src/errors/utils.ts +2 -2
  721. package/src/transports/ankr/ankr.ts +2 -2
  722. package/src/transports/blockchair/blockchair.ts +2 -2
  723. package/src/transports/blockcypher/blockcypher.ts +2 -2
  724. package/src/transports/fallback.ts +2 -2
  725. package/src/transports/mempool/mempool.ts +2 -2
  726. package/src/utils/buildRequest.ts +1 -1
  727. package/src/utils/deepEqual.ts +1 -1
  728. package/src/utils/idCache.ts +2 -1
  729. package/src/utils/lru.ts +2 -2
  730. package/src/utils/modifyFee.ts +5 -1
  731. package/src/utils/observe.ts +4 -6
  732. package/src/utils/poll.ts +1 -1
  733. package/src/utils/uid.ts +1 -1
  734. package/src/utils/url.ts +1 -1
  735. package/src/utils/wait.ts +1 -1
  736. package/src/utils/withDedupe.ts +1 -1
  737. package/src/utils/withRetry.ts +1 -1
  738. package/src/version.ts +1 -1
  739. package/dist/cjs/index.js.map +0 -1
  740. package/dist/cjs/transports/ankr/__mocks__/getBalance/valid.json +0 -9
  741. package/dist/cjs/transports/ankr/__mocks__/getTransactionFee/invalid.json +0 -3
  742. package/dist/cjs/transports/ankr/__mocks__/getTransactionFee/valid.json +0 -51
  743. package/dist/cjs/transports/ankr/__mocks__/getTransactions/valid.json +0 -1186
  744. package/dist/cjs/transports/ankr/ankr.types.js.map +0 -1
  745. package/dist/cjs/transports/blockchair/__mocks__/getBalance/invalidAddress.json +0 -29
  746. package/dist/cjs/transports/blockchair/__mocks__/getBalance/valid.json +0 -29
  747. package/dist/cjs/transports/blockchair/__mocks__/getBalance/zeroBalance.json +0 -29
  748. package/dist/cjs/transports/blockchair/__mocks__/getTransactionFee/invalid.json +0 -7
  749. package/dist/cjs/transports/blockchair/__mocks__/getTransactionFee/valid.json +0 -37
  750. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +0 -28
  751. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/rateLimited.json +0 -28
  752. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/valid.json +0 -95
  753. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +0 -869
  754. package/dist/cjs/transports/blockchair/__mocks__/getXPubAddresses/valid.json +0 -76
  755. package/dist/cjs/transports/blockchair/blockchair.types.js.map +0 -1
  756. package/dist/cjs/transports/blockcypher/__mocks__/getBalance/invalid.json +0 -3
  757. package/dist/cjs/transports/blockcypher/__mocks__/getBalance/valid.json +0 -13
  758. package/dist/cjs/transports/blockcypher/__mocks__/getTransactionFee/invalid.json +0 -3
  759. package/dist/cjs/transports/blockcypher/__mocks__/getTransactionFee/valid.json +0 -22
  760. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/empty.json +0 -12
  761. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/paginated.json +0 -2786
  762. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/rateLimited.json +0 -3
  763. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/valid.json +0 -27
  764. package/dist/cjs/transports/blockcypher/blockcypher.types.js.map +0 -1
  765. package/dist/cjs/transports/mempool/__mocks__/getBalance/invalid.json +0 -1
  766. package/dist/cjs/transports/mempool/__mocks__/getBalance/valid.json +0 -17
  767. package/dist/cjs/transports/mempool/__mocks__/getTransactionFee/invalid.json +0 -1
  768. package/dist/cjs/transports/mempool/__mocks__/getTransactionFee/valid.json +0 -58
  769. package/dist/cjs/transports/mempool/__mocks__/getTransactions/valid.json +0 -1268
  770. package/dist/cjs/transports/mempool/mempool.types.js.map +0 -1
  771. package/dist/cjs/types/account.js.map +0 -1
  772. package/dist/cjs/types/block.js.map +0 -1
  773. package/dist/cjs/types/blockStats.js.map +0 -1
  774. package/dist/cjs/types/client.js.map +0 -1
  775. package/dist/cjs/types/hash.js.map +0 -1
  776. package/dist/cjs/types/request.js.map +0 -1
  777. package/dist/cjs/types/rpc.js.map +0 -1
  778. package/dist/cjs/types/transaction.js.map +0 -1
  779. package/dist/cjs/types/transport.js.map +0 -1
  780. package/dist/cjs/types/utils.js.map +0 -1
  781. package/dist/cjs/types/xpub.js.map +0 -1
  782. package/dist/esm/index.js.map +0 -1
  783. package/dist/esm/transports/ankr/__mocks__/getBalance/valid.json +0 -9
  784. package/dist/esm/transports/ankr/__mocks__/getTransactionFee/invalid.json +0 -3
  785. package/dist/esm/transports/ankr/__mocks__/getTransactionFee/valid.json +0 -51
  786. package/dist/esm/transports/ankr/__mocks__/getTransactions/valid.json +0 -1186
  787. package/dist/esm/transports/ankr/ankr.types.js.map +0 -1
  788. package/dist/esm/transports/blockchair/__mocks__/getBalance/invalidAddress.json +0 -29
  789. package/dist/esm/transports/blockchair/__mocks__/getBalance/valid.json +0 -29
  790. package/dist/esm/transports/blockchair/__mocks__/getBalance/zeroBalance.json +0 -29
  791. package/dist/esm/transports/blockchair/__mocks__/getTransactionFee/invalid.json +0 -7
  792. package/dist/esm/transports/blockchair/__mocks__/getTransactionFee/valid.json +0 -37
  793. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +0 -28
  794. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/rateLimited.json +0 -28
  795. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/valid.json +0 -95
  796. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +0 -869
  797. package/dist/esm/transports/blockchair/__mocks__/getXPubAddresses/valid.json +0 -76
  798. package/dist/esm/transports/blockchair/blockchair.types.js.map +0 -1
  799. package/dist/esm/transports/blockcypher/__mocks__/getBalance/invalid.json +0 -3
  800. package/dist/esm/transports/blockcypher/__mocks__/getBalance/valid.json +0 -13
  801. package/dist/esm/transports/blockcypher/__mocks__/getTransactionFee/invalid.json +0 -3
  802. package/dist/esm/transports/blockcypher/__mocks__/getTransactionFee/valid.json +0 -22
  803. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/empty.json +0 -12
  804. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/paginated.json +0 -2786
  805. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/rateLimited.json +0 -3
  806. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/valid.json +0 -27
  807. package/dist/esm/transports/blockcypher/blockcypher.types.js.map +0 -1
  808. package/dist/esm/transports/mempool/__mocks__/getBalance/invalid.json +0 -1
  809. package/dist/esm/transports/mempool/__mocks__/getBalance/valid.json +0 -17
  810. package/dist/esm/transports/mempool/__mocks__/getTransactionFee/invalid.json +0 -1
  811. package/dist/esm/transports/mempool/__mocks__/getTransactionFee/valid.json +0 -58
  812. package/dist/esm/transports/mempool/__mocks__/getTransactions/valid.json +0 -1268
  813. package/dist/esm/transports/mempool/mempool.types.js.map +0 -1
  814. package/dist/esm/types/account.js.map +0 -1
  815. package/dist/esm/types/block.js.map +0 -1
  816. package/dist/esm/types/blockStats.js.map +0 -1
  817. package/dist/esm/types/client.js.map +0 -1
  818. package/dist/esm/types/hash.js.map +0 -1
  819. package/dist/esm/types/request.js.map +0 -1
  820. package/dist/esm/types/rpc.js.map +0 -1
  821. package/dist/esm/types/transaction.js.map +0 -1
  822. package/dist/esm/types/transport.js.map +0 -1
  823. package/dist/esm/types/utils.js.map +0 -1
  824. package/dist/esm/types/xpub.js.map +0 -1
  825. package/dist/types/actions/getBalance.d.ts +0 -12
  826. package/dist/types/actions/getBalance.d.ts.map +0 -1
  827. package/dist/types/actions/getBlock.d.ts +0 -16
  828. package/dist/types/actions/getBlock.d.ts.map +0 -1
  829. package/dist/types/actions/getBlockCount.d.ts +0 -8
  830. package/dist/types/actions/getBlockCount.d.ts.map +0 -1
  831. package/dist/types/actions/getBlockStats.d.ts +0 -18
  832. package/dist/types/actions/getBlockStats.d.ts.map +0 -1
  833. package/dist/types/actions/getTransactionFee.d.ts +0 -11
  834. package/dist/types/actions/getTransactionFee.d.ts.map +0 -1
  835. package/dist/types/actions/getTransactions.d.ts +0 -20
  836. package/dist/types/actions/getTransactions.d.ts.map +0 -1
  837. package/dist/types/actions/getUTXOTransaction.d.ts +0 -15
  838. package/dist/types/actions/getUTXOTransaction.d.ts.map +0 -1
  839. package/dist/types/actions/getUTXOs.d.ts +0 -13
  840. package/dist/types/actions/getUTXOs.d.ts.map +0 -1
  841. package/dist/types/actions/getXPubAddresses.d.ts +0 -34
  842. package/dist/types/actions/getXPubAddresses.d.ts.map +0 -1
  843. package/dist/types/actions/sendUTXOTransaction.d.ts +0 -14
  844. package/dist/types/actions/sendUTXOTransaction.d.ts.map +0 -1
  845. package/dist/types/actions/signPsbt.d.ts +0 -7
  846. package/dist/types/actions/signPsbt.d.ts.map +0 -1
  847. package/dist/types/actions/waitForTransaction.d.ts +0 -78
  848. package/dist/types/actions/waitForTransaction.d.ts.map +0 -1
  849. package/dist/types/actions/watchBlockNumber.d.ts +0 -28
  850. package/dist/types/actions/watchBlockNumber.d.ts.map +0 -1
  851. package/dist/types/chains/bitcoin.d.ts +0 -25
  852. package/dist/types/chains/bitcoin.d.ts.map +0 -1
  853. package/dist/types/chains/defineChain.d.ts +0 -4
  854. package/dist/types/chains/defineChain.d.ts.map +0 -1
  855. package/dist/types/chains/signet.d.ts +0 -25
  856. package/dist/types/chains/signet.d.ts.map +0 -1
  857. package/dist/types/clients/decorators/public.d.ts +0 -25
  858. package/dist/types/clients/decorators/public.d.ts.map +0 -1
  859. package/dist/types/clients/decorators/wallet.d.ts +0 -15
  860. package/dist/types/clients/decorators/wallet.d.ts.map +0 -1
  861. package/dist/types/errors/address.d.ts +0 -10
  862. package/dist/types/errors/address.d.ts.map +0 -1
  863. package/dist/types/errors/base.d.ts +0 -28
  864. package/dist/types/errors/base.d.ts.map +0 -1
  865. package/dist/types/errors/block.d.ts +0 -12
  866. package/dist/types/errors/block.d.ts.map +0 -1
  867. package/dist/types/errors/provider.d.ts +0 -5
  868. package/dist/types/errors/provider.d.ts.map +0 -1
  869. package/dist/types/errors/request.d.ts +0 -82
  870. package/dist/types/errors/request.d.ts.map +0 -1
  871. package/dist/types/errors/rpc.d.ts +0 -58
  872. package/dist/types/errors/rpc.d.ts.map +0 -1
  873. package/dist/types/errors/transaction.d.ts +0 -32
  874. package/dist/types/errors/transaction.d.ts.map +0 -1
  875. package/dist/types/errors/transport.d.ts +0 -39
  876. package/dist/types/errors/transport.d.ts.map +0 -1
  877. package/dist/types/errors/utils.d.ts +0 -7
  878. package/dist/types/errors/utils.d.ts.map +0 -1
  879. package/dist/types/errors/utxo.d.ts +0 -12
  880. package/dist/types/errors/utxo.d.ts.map +0 -1
  881. package/dist/types/factories/createClient.d.ts +0 -86
  882. package/dist/types/factories/createClient.d.ts.map +0 -1
  883. package/dist/types/factories/createTransport.d.ts +0 -6
  884. package/dist/types/factories/createTransport.d.ts.map +0 -1
  885. package/dist/types/index.d.ts +0 -84
  886. package/dist/types/index.d.ts.map +0 -1
  887. package/dist/types/test/utils.d.ts +0 -2
  888. package/dist/types/test/utils.d.ts.map +0 -1
  889. package/dist/types/transports/__mocks__/getTransactionFee.d.ts +0 -4
  890. package/dist/types/transports/__mocks__/getTransactionFee.d.ts.map +0 -1
  891. package/dist/types/transports/ankr/ankr.d.ts +0 -8
  892. package/dist/types/transports/ankr/ankr.d.ts.map +0 -1
  893. package/dist/types/transports/ankr/ankr.types.d.ts +0 -82
  894. package/dist/types/transports/ankr/ankr.types.d.ts.map +0 -1
  895. package/dist/types/transports/ankr/getBalance.d.ts +0 -3
  896. package/dist/types/transports/ankr/getBalance.d.ts.map +0 -1
  897. package/dist/types/transports/ankr/getTransactionFee.d.ts +0 -3
  898. package/dist/types/transports/ankr/getTransactionFee.d.ts.map +0 -1
  899. package/dist/types/transports/ankr/getTransactions.d.ts +0 -3
  900. package/dist/types/transports/ankr/getTransactions.d.ts.map +0 -1
  901. package/dist/types/transports/ankr/methods.d.ts +0 -3
  902. package/dist/types/transports/ankr/methods.d.ts.map +0 -1
  903. package/dist/types/transports/ankr/utils.d.ts +0 -4
  904. package/dist/types/transports/ankr/utils.d.ts.map +0 -1
  905. package/dist/types/transports/blockchair/blockchair.d.ts +0 -8
  906. package/dist/types/transports/blockchair/blockchair.d.ts.map +0 -1
  907. package/dist/types/transports/blockchair/blockchair.types.d.ts +0 -137
  908. package/dist/types/transports/blockchair/blockchair.types.d.ts.map +0 -1
  909. package/dist/types/transports/blockchair/getBalance.d.ts +0 -3
  910. package/dist/types/transports/blockchair/getBalance.d.ts.map +0 -1
  911. package/dist/types/transports/blockchair/getTransactionFee.d.ts +0 -3
  912. package/dist/types/transports/blockchair/getTransactionFee.d.ts.map +0 -1
  913. package/dist/types/transports/blockchair/getUTXOs.d.ts +0 -3
  914. package/dist/types/transports/blockchair/getUTXOs.d.ts.map +0 -1
  915. package/dist/types/transports/blockchair/getXPubAddresses.d.ts +0 -3
  916. package/dist/types/transports/blockchair/getXPubAddresses.d.ts.map +0 -1
  917. package/dist/types/transports/blockchair/methods.d.ts +0 -3
  918. package/dist/types/transports/blockchair/methods.d.ts.map +0 -1
  919. package/dist/types/transports/blockcypher/blockcypher.d.ts +0 -8
  920. package/dist/types/transports/blockcypher/blockcypher.d.ts.map +0 -1
  921. package/dist/types/transports/blockcypher/blockcypher.types.d.ts +0 -74
  922. package/dist/types/transports/blockcypher/blockcypher.types.d.ts.map +0 -1
  923. package/dist/types/transports/blockcypher/getBalance.d.ts +0 -3
  924. package/dist/types/transports/blockcypher/getBalance.d.ts.map +0 -1
  925. package/dist/types/transports/blockcypher/getTransactionFee.d.ts +0 -3
  926. package/dist/types/transports/blockcypher/getTransactionFee.d.ts.map +0 -1
  927. package/dist/types/transports/blockcypher/getUTXOs.d.ts +0 -3
  928. package/dist/types/transports/blockcypher/getUTXOs.d.ts.map +0 -1
  929. package/dist/types/transports/blockcypher/methods.d.ts +0 -3
  930. package/dist/types/transports/blockcypher/methods.d.ts.map +0 -1
  931. package/dist/types/transports/blockcypher/utils.d.ts +0 -3
  932. package/dist/types/transports/blockcypher/utils.d.ts.map +0 -1
  933. package/dist/types/transports/custom.d.ts +0 -25
  934. package/dist/types/transports/custom.d.ts.map +0 -1
  935. package/dist/types/transports/fallback.d.ts +0 -90
  936. package/dist/types/transports/fallback.d.ts.map +0 -1
  937. package/dist/types/transports/getHttpRpcClient.d.ts +0 -39
  938. package/dist/types/transports/getHttpRpcClient.d.ts.map +0 -1
  939. package/dist/types/transports/getRpcProviderMethods.d.ts +0 -5
  940. package/dist/types/transports/getRpcProviderMethods.d.ts.map +0 -1
  941. package/dist/types/transports/http.d.ts +0 -54
  942. package/dist/types/transports/http.d.ts.map +0 -1
  943. package/dist/types/transports/mempool/getBalance.d.ts +0 -3
  944. package/dist/types/transports/mempool/getBalance.d.ts.map +0 -1
  945. package/dist/types/transports/mempool/getTransactionFee.d.ts +0 -3
  946. package/dist/types/transports/mempool/getTransactionFee.d.ts.map +0 -1
  947. package/dist/types/transports/mempool/getTransactions.d.ts +0 -3
  948. package/dist/types/transports/mempool/getTransactions.d.ts.map +0 -1
  949. package/dist/types/transports/mempool/mempool.d.ts +0 -7
  950. package/dist/types/transports/mempool/mempool.d.ts.map +0 -1
  951. package/dist/types/transports/mempool/mempool.types.d.ts +0 -64
  952. package/dist/types/transports/mempool/mempool.types.d.ts.map +0 -1
  953. package/dist/types/transports/mempool/methods.d.ts +0 -3
  954. package/dist/types/transports/mempool/methods.d.ts.map +0 -1
  955. package/dist/types/transports/mempool/utils.d.ts +0 -4
  956. package/dist/types/transports/mempool/utils.d.ts.map +0 -1
  957. package/dist/types/transports/types.d.ts +0 -141
  958. package/dist/types/transports/types.d.ts.map +0 -1
  959. package/dist/types/transports/utxo.d.ts +0 -8
  960. package/dist/types/transports/utxo.d.ts.map +0 -1
  961. package/dist/types/types/account.d.ts +0 -8
  962. package/dist/types/types/account.d.ts.map +0 -1
  963. package/dist/types/types/address.d.ts +0 -18
  964. package/dist/types/types/address.d.ts.map +0 -1
  965. package/dist/types/types/block.d.ts +0 -20
  966. package/dist/types/types/block.d.ts.map +0 -1
  967. package/dist/types/types/blockStats.d.ts +0 -35
  968. package/dist/types/types/blockStats.d.ts.map +0 -1
  969. package/dist/types/types/chain.d.ts +0 -64
  970. package/dist/types/types/chain.d.ts.map +0 -1
  971. package/dist/types/types/client.d.ts +0 -69
  972. package/dist/types/types/client.d.ts.map +0 -1
  973. package/dist/types/types/hash.d.ts +0 -2
  974. package/dist/types/types/hash.d.ts.map +0 -1
  975. package/dist/types/types/request.d.ts +0 -50
  976. package/dist/types/types/request.d.ts.map +0 -1
  977. package/dist/types/types/rpc.d.ts +0 -35
  978. package/dist/types/types/rpc.d.ts.map +0 -1
  979. package/dist/types/types/transaction.d.ts +0 -50
  980. package/dist/types/types/transaction.d.ts.map +0 -1
  981. package/dist/types/types/transport.d.ts +0 -39
  982. package/dist/types/types/transport.d.ts.map +0 -1
  983. package/dist/types/types/utils.d.ts +0 -73
  984. package/dist/types/types/utils.d.ts.map +0 -1
  985. package/dist/types/types/xpub.d.ts +0 -11
  986. package/dist/types/types/xpub.d.ts.map +0 -1
  987. package/dist/types/utils/buildRequest.d.ts +0 -7
  988. package/dist/types/utils/buildRequest.d.ts.map +0 -1
  989. package/dist/types/utils/cancelTransaction.d.ts +0 -3
  990. package/dist/types/utils/cancelTransaction.d.ts.map +0 -1
  991. package/dist/types/utils/converter.d.ts +0 -6
  992. package/dist/types/utils/converter.d.ts.map +0 -1
  993. package/dist/types/utils/createBatchScheduler.d.ts +0 -22
  994. package/dist/types/utils/createBatchScheduler.d.ts.map +0 -1
  995. package/dist/types/utils/deepEqual.d.ts +0 -3
  996. package/dist/types/utils/deepEqual.d.ts.map +0 -1
  997. package/dist/types/utils/getAction.d.ts +0 -18
  998. package/dist/types/utils/getAction.d.ts.map +0 -1
  999. package/dist/types/utils/getAddressInfo.d.ts +0 -5
  1000. package/dist/types/utils/getAddressInfo.d.ts.map +0 -1
  1001. package/dist/types/utils/idCache.d.ts +0 -6
  1002. package/dist/types/utils/idCache.d.ts.map +0 -1
  1003. package/dist/types/utils/isAddress.d.ts +0 -3
  1004. package/dist/types/utils/isAddress.d.ts.map +0 -1
  1005. package/dist/types/utils/lru.d.ts +0 -12
  1006. package/dist/types/utils/lru.d.ts.map +0 -1
  1007. package/dist/types/utils/modifyFee.d.ts +0 -3
  1008. package/dist/types/utils/modifyFee.d.ts.map +0 -1
  1009. package/dist/types/utils/observe.d.ts +0 -19
  1010. package/dist/types/utils/observe.d.ts.map +0 -1
  1011. package/dist/types/utils/parseAccount.d.ts +0 -6
  1012. package/dist/types/utils/parseAccount.d.ts.map +0 -1
  1013. package/dist/types/utils/poll.d.ts +0 -13
  1014. package/dist/types/utils/poll.d.ts.map +0 -1
  1015. package/dist/types/utils/retryUntil.d.ts +0 -22
  1016. package/dist/types/utils/retryUntil.d.ts.map +0 -1
  1017. package/dist/types/utils/sleep.d.ts +0 -2
  1018. package/dist/types/utils/sleep.d.ts.map +0 -1
  1019. package/dist/types/utils/stringify.d.ts +0 -4
  1020. package/dist/types/utils/stringify.d.ts.map +0 -1
  1021. package/dist/types/utils/uid.d.ts +0 -2
  1022. package/dist/types/utils/uid.d.ts.map +0 -1
  1023. package/dist/types/utils/url.d.ts +0 -2
  1024. package/dist/types/utils/url.d.ts.map +0 -1
  1025. package/dist/types/utils/wait.d.ts +0 -2
  1026. package/dist/types/utils/wait.d.ts.map +0 -1
  1027. package/dist/types/utils/withDedupe.d.ts +0 -11
  1028. package/dist/types/utils/withDedupe.d.ts.map +0 -1
  1029. package/dist/types/utils/withResolvers.d.ts +0 -9
  1030. package/dist/types/utils/withResolvers.d.ts.map +0 -1
  1031. package/dist/types/utils/withRetry.d.ts +0 -15
  1032. package/dist/types/utils/withRetry.d.ts.map +0 -1
  1033. package/dist/types/utils/withTimeout.d.ts +0 -10
  1034. package/dist/types/utils/withTimeout.d.ts.map +0 -1
  1035. package/dist/types/version.d.ts +0 -3
  1036. package/dist/types/version.d.ts.map +0 -1
@@ -1,187 +1,158 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.waitForTransaction = waitForTransaction;
4
- const bitcoinjs_lib_1 = require("bitcoinjs-lib");
5
- const transaction_js_1 = require("../errors/transaction.js");
6
- const getAction_js_1 = require("../utils/getAction.js");
7
- const observe_js_1 = require("../utils/observe.js");
8
- const stringify_js_1 = require("../utils/stringify.js");
9
- const withRetry_js_1 = require("../utils/withRetry.js");
10
- const getBlock_js_1 = require("./getBlock.js");
11
- const getBlockStats_js_1 = require("./getBlockStats.js");
12
- const getUTXOTransaction_js_1 = require("./getUTXOTransaction.js");
13
- const watchBlockNumber_js_1 = require("./watchBlockNumber.js");
14
- async function waitForTransaction(client, { confirmations = 1, txId, txHex, senderAddress, onReplaced, pollingInterval = client.pollingInterval, retryCount = 10, retryDelay = 3000, timeout, }) {
15
- const observerId = (0, stringify_js_1.stringify)(['waitForTransaction', client.uid, txId]);
16
- let count = 0;
17
- let transaction;
18
- let replacedTransaction;
19
- let retrying = false;
20
- return new Promise((resolve, reject) => {
21
- if (timeout) {
22
- setTimeout(() => reject(new transaction_js_1.WaitForTransactionReceiptTimeoutError({ hash: txId })), timeout);
23
- }
24
- const _unobserve = (0, observe_js_1.observe)(observerId, { onReplaced, resolve, reject }, (emit) => {
25
- const _unwatch = (0, getAction_js_1.getAction)(client, watchBlockNumber_js_1.watchBlockNumber, 'watchBlockNumber')({
26
- emitMissed: true,
27
- emitOnBegin: true,
28
- pollingInterval,
29
- async onBlockNumber(blockNumber_) {
30
- const done = (fn) => {
31
- _unwatch();
32
- fn();
33
- _unobserve();
34
- };
35
- let blockNumber = blockNumber_;
36
- if (retrying) {
37
- return;
38
- }
39
- if (count > retryCount) {
40
- done(() => emit.reject(new transaction_js_1.WaitForTransactionReceiptTimeoutError({
41
- hash: txId,
42
- })));
43
- }
44
- try {
45
- if (transaction?.blockhash) {
46
- const blockStats = await (0, getAction_js_1.getAction)(client, getBlockStats_js_1.getBlockStats, 'getBlockStats')({
47
- blockHash: transaction.blockhash,
48
- stats: ['height'],
49
- });
50
- if (confirmations > 1 &&
51
- (!blockStats.height ||
52
- blockNumber - blockStats.height + 1 < confirmations)) {
53
- return;
54
- }
55
- done(() => emit.resolve(transaction));
56
- return;
57
- }
58
- retrying = true;
59
- transaction = await (0, withRetry_js_1.withRetry)(() => (0, getAction_js_1.getAction)(client, getUTXOTransaction_js_1.getUTXOTransaction, 'getUTXOTransaction')({ txId: transaction?.txid || txId }), {
60
- delay: retryDelay,
61
- retryCount,
62
- });
63
- if (transaction.blockhash) {
64
- const blockStats = await (0, getAction_js_1.getAction)(client, getBlockStats_js_1.getBlockStats, 'getBlockStats')({
65
- blockHash: transaction.blockhash,
66
- stats: ['height'],
67
- });
68
- if (blockStats.height) {
69
- blockNumber = blockStats.height;
70
- }
71
- }
72
- retrying = false;
73
- if (!transaction?.confirmations) {
74
- throw new transaction_js_1.TransactionReceiptNotFoundError({
75
- hash: txId,
76
- });
77
- }
78
- if (transaction.confirmations < confirmations) {
79
- return;
80
- }
81
- done(() => emit.resolve(transaction));
82
- }
83
- catch (err) {
84
- if (err instanceof transaction_js_1.TransactionNotFoundError ||
85
- err instanceof transaction_js_1.TransactionReceiptNotFoundError) {
86
- try {
87
- replacedTransaction = bitcoinjs_lib_1.Transaction.fromHex(transaction?.hex || txHex);
88
- retrying = true;
89
- const block = await (0, withRetry_js_1.withRetry)(() => (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({
90
- blockNumber,
91
- }), {
92
- delay: retryDelay,
93
- retryCount,
94
- });
95
- retrying = false;
96
- const replacedTransactionInputs = new Set();
97
- for (const input of replacedTransaction.ins) {
98
- const txid = Array.from(input.hash)
99
- .reverse()
100
- .map((byte) => `00${byte.toString(16)}`.slice(-2))
101
- .join('');
102
- const vout = input.index;
103
- const inputId = `${txid}:${vout}`;
104
- replacedTransactionInputs.add(inputId);
105
- }
106
- let replacementTransaction;
107
- for (const tx of block.transactions) {
108
- if (tx.isCoinbase()) {
109
- continue;
110
- }
111
- for (const input of tx.ins) {
112
- const txid = Array.from(input.hash)
113
- .reverse()
114
- .map((byte) => `00${byte.toString(16)}`.slice(-2))
115
- .join('');
116
- const vout = input.index;
117
- const inputId = `${txid}:${vout}`;
118
- if (replacedTransactionInputs.has(inputId)) {
119
- replacementTransaction = tx;
120
- break;
121
- }
122
- }
123
- if (replacementTransaction) {
124
- break;
125
- }
126
- }
127
- if (!replacementTransaction) {
128
- return;
129
- }
130
- transaction = await (0, getAction_js_1.getAction)(client, getUTXOTransaction_js_1.getUTXOTransaction, 'getUTXOTransaction')({
131
- txId: replacementTransaction.getId(),
132
- });
133
- if (transaction.confirmations &&
134
- transaction.confirmations < confirmations) {
135
- return;
136
- }
137
- let reason = 'replaced';
138
- function getOutputAddresses(tx) {
139
- const addresses = [];
140
- for (const output of tx.outs) {
141
- try {
142
- const outputAddress = bitcoinjs_lib_1.address.fromOutputScript(output.script);
143
- addresses.push(outputAddress);
144
- }
145
- catch (_e) {
146
- }
147
- }
148
- return addresses;
149
- }
150
- const originalOutputAddresses = getOutputAddresses(replacedTransaction);
151
- const replacementOutputAddresses = getOutputAddresses(replacementTransaction);
152
- if (originalOutputAddresses.length ===
153
- replacementOutputAddresses.length &&
154
- originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) {
155
- reason = 'repriced';
156
- }
157
- else if (senderAddress &&
158
- replacementOutputAddresses.length === 1 &&
159
- replacementOutputAddresses.includes(senderAddress)) {
160
- reason = 'cancelled';
161
- }
162
- done(() => {
163
- emit.onReplaced?.({
164
- reason,
165
- replacedTransaction: replacedTransaction,
166
- transaction: transaction,
167
- });
168
- emit.resolve(transaction);
169
- });
170
- }
171
- catch (err_) {
172
- done(() => emit.reject(err_));
173
- }
174
- }
175
- else {
176
- done(() => emit.reject(err));
177
- }
178
- }
179
- finally {
180
- count++;
181
- }
182
- },
183
- });
184
- });
185
- });
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../_virtual/_rolldown/runtime.js");
3
+ const require_actions_getBlock = require("./getBlock.js");
4
+ const require_actions_getBlockStats = require("./getBlockStats.js");
5
+ const require_errors_transaction = require("../errors/transaction.js");
6
+ const require_actions_getUTXOTransaction = require("./getUTXOTransaction.js");
7
+ const require_utils_getAction = require("../utils/getAction.js");
8
+ const require_utils_observe = require("../utils/observe.js");
9
+ const require_utils_stringify = require("../utils/stringify.js");
10
+ const require_utils_withRetry = require("../utils/withRetry.js");
11
+ const require_actions_watchBlockNumber = require("./watchBlockNumber.js");
12
+ let bitcoinjs_lib = require("bitcoinjs-lib");
13
+ //#region src/actions/waitForTransaction.ts
14
+ /**
15
+ * Waits for the transaction to be included on a block (one confirmation), and then returns the transaction.
16
+ * - JSON-RPC Methods:
17
+ * - Polls getrawtransaction on each block until it has been processed.
18
+ * - If a transaction has been replaced:
19
+ * - Calls getblock and extracts the transactions
20
+ * - Checks if one of the transactions is a replacement
21
+ * - If so, calls getrawtransaction.
22
+ *
23
+ * The `waitForTransaction` action additionally supports replacement detection (e.g. RBF - transactions replaced-by-fee ).
24
+ *
25
+ * Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel).
26
+ * https://bitcoinops.org/en/topics/replace-by-fee/
27
+ *
28
+ * There are 3 types of Transaction Replacement reasons:
29
+ *
30
+ * - `repriced`: The fee has been modified (e.g. same outputs, different amounts)
31
+ * - `cancelled`: The Transaction has been cancelled (e.g. output is sender address)
32
+ * - `replaced`: The Transaction has been replaced (e.g. different outputs)
33
+ * @param client - Client to use
34
+ * @param parameters - {@link WaitForTransactionReceiptParameters}
35
+ * @returns The UTXO transaction. {@link WaitForTransactionReceiptReturnType}
36
+ */
37
+ async function waitForTransaction(client, { confirmations = 1, txId, txHex, senderAddress, onReplaced, pollingInterval = client.pollingInterval, retryCount = 10, retryDelay = 3e3, timeout }) {
38
+ const observerId = require_utils_stringify.stringify([
39
+ "waitForTransaction",
40
+ client.uid,
41
+ txId
42
+ ]);
43
+ let count = 0;
44
+ let transaction;
45
+ let replacedTransaction;
46
+ let retrying = false;
47
+ return new Promise((resolve, reject) => {
48
+ if (timeout) setTimeout(() => reject(new require_errors_transaction.WaitForTransactionReceiptTimeoutError({ hash: txId })), timeout);
49
+ const _unobserve = require_utils_observe.observe(observerId, {
50
+ onReplaced,
51
+ resolve,
52
+ reject
53
+ }, (emit) => {
54
+ const _unwatch = require_utils_getAction.getAction(client, require_actions_watchBlockNumber.watchBlockNumber, "watchBlockNumber")({
55
+ emitMissed: true,
56
+ emitOnBegin: true,
57
+ pollingInterval,
58
+ async onBlockNumber(blockNumber_) {
59
+ const done = (fn) => {
60
+ _unwatch();
61
+ fn();
62
+ _unobserve();
63
+ };
64
+ let blockNumber = blockNumber_;
65
+ if (retrying) return;
66
+ if (count > retryCount) done(() => emit.reject(new require_errors_transaction.WaitForTransactionReceiptTimeoutError({ hash: txId })));
67
+ try {
68
+ if (transaction?.blockhash) {
69
+ const blockStats = await require_utils_getAction.getAction(client, require_actions_getBlockStats.getBlockStats, "getBlockStats")({
70
+ blockHash: transaction.blockhash,
71
+ stats: ["height"]
72
+ });
73
+ if (confirmations > 1 && (!blockStats.height || blockNumber - blockStats.height + 1 < confirmations)) return;
74
+ done(() => emit.resolve(transaction));
75
+ return;
76
+ }
77
+ retrying = true;
78
+ transaction = await require_utils_withRetry.withRetry(() => require_utils_getAction.getAction(client, require_actions_getUTXOTransaction.getUTXOTransaction, "getUTXOTransaction")({ txId: transaction?.txid || txId }), {
79
+ delay: retryDelay,
80
+ retryCount
81
+ });
82
+ if (transaction.blockhash) {
83
+ const blockStats = await require_utils_getAction.getAction(client, require_actions_getBlockStats.getBlockStats, "getBlockStats")({
84
+ blockHash: transaction.blockhash,
85
+ stats: ["height"]
86
+ });
87
+ if (blockStats.height) blockNumber = blockStats.height;
88
+ }
89
+ retrying = false;
90
+ if (!transaction?.confirmations) throw new require_errors_transaction.TransactionReceiptNotFoundError({ hash: txId });
91
+ if (transaction.confirmations < confirmations) return;
92
+ done(() => emit.resolve(transaction));
93
+ } catch (err) {
94
+ if (err instanceof require_errors_transaction.TransactionNotFoundError || err instanceof require_errors_transaction.TransactionReceiptNotFoundError) try {
95
+ replacedTransaction = bitcoinjs_lib.Transaction.fromHex(transaction?.hex || txHex);
96
+ retrying = true;
97
+ const block = await require_utils_withRetry.withRetry(() => require_utils_getAction.getAction(client, require_actions_getBlock.getBlock, "getBlock")({ blockNumber }), {
98
+ delay: retryDelay,
99
+ retryCount
100
+ });
101
+ retrying = false;
102
+ const replacedTransactionInputs = /* @__PURE__ */ new Set();
103
+ for (const input of replacedTransaction.ins) {
104
+ const inputId = `${Array.from(input.hash).reverse().map((byte) => `00${byte.toString(16)}`.slice(-2)).join("")}:${input.index}`;
105
+ replacedTransactionInputs.add(inputId);
106
+ }
107
+ let replacementTransaction;
108
+ for (const tx of block.transactions) {
109
+ if (tx.isCoinbase()) continue;
110
+ for (const input of tx.ins) {
111
+ const inputId = `${Array.from(input.hash).reverse().map((byte) => `00${byte.toString(16)}`.slice(-2)).join("")}:${input.index}`;
112
+ if (replacedTransactionInputs.has(inputId)) {
113
+ replacementTransaction = tx;
114
+ break;
115
+ }
116
+ }
117
+ if (replacementTransaction) break;
118
+ }
119
+ if (!replacementTransaction) return;
120
+ transaction = await require_utils_getAction.getAction(client, require_actions_getUTXOTransaction.getUTXOTransaction, "getUTXOTransaction")({ txId: replacementTransaction.getId() });
121
+ if (transaction.confirmations && transaction.confirmations < confirmations) return;
122
+ let reason = "replaced";
123
+ function getOutputAddresses(tx) {
124
+ const addresses = [];
125
+ for (const output of tx.outs) try {
126
+ const outputAddress = bitcoinjs_lib.address.fromOutputScript(output.script);
127
+ addresses.push(outputAddress);
128
+ } catch (_e) {}
129
+ return addresses;
130
+ }
131
+ const originalOutputAddresses = getOutputAddresses(replacedTransaction);
132
+ const replacementOutputAddresses = getOutputAddresses(replacementTransaction);
133
+ if (originalOutputAddresses.length === replacementOutputAddresses.length && originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) reason = "repriced";
134
+ else if (senderAddress && replacementOutputAddresses.length === 1 && replacementOutputAddresses.includes(senderAddress)) reason = "cancelled";
135
+ done(() => {
136
+ emit.onReplaced?.({
137
+ reason,
138
+ replacedTransaction,
139
+ transaction
140
+ });
141
+ emit.resolve(transaction);
142
+ });
143
+ } catch (err_) {
144
+ done(() => emit.reject(err_));
145
+ }
146
+ else done(() => emit.reject(err));
147
+ } finally {
148
+ count++;
149
+ }
150
+ }
151
+ });
152
+ });
153
+ });
186
154
  }
155
+ //#endregion
156
+ exports.waitForTransaction = waitForTransaction;
157
+
187
158
  //# sourceMappingURL=waitForTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"waitForTransaction.js","sourceRoot":"","sources":["../../../src/actions/waitForTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"waitForTransaction.js","names":["stringify","WaitForTransactionReceiptTimeoutError","observe","getAction","watchBlockNumber","getBlockStats","withRetry","getUTXOTransaction","TransactionReceiptNotFoundError","TransactionNotFoundError","Transaction","getBlock","address"],"sources":["../../../src/actions/waitForTransaction.ts"],"sourcesContent":["import { address, Transaction } from 'bitcoinjs-lib'\nimport {\n TransactionNotFoundError,\n TransactionReceiptNotFoundError,\n WaitForTransactionReceiptTimeoutError,\n} from '../errors/transaction.js'\nimport type { Chain } from '../types/chain.js'\nimport type { Client } from '../types/client.js'\nimport type { UTXOTransaction } from '../types/transaction.js'\nimport type { Transport } from '../types/transport.js'\nimport { getAction } from '../utils/getAction.js'\nimport { observe } from '../utils/observe.js'\nimport { stringify } from '../utils/stringify.js'\nimport { withRetry } from '../utils/withRetry.js'\nimport { getBlock } from './getBlock.js'\nimport { getBlockStats } from './getBlockStats.js'\nimport { getUTXOTransaction } from './getUTXOTransaction.js'\nimport { watchBlockNumber } from './watchBlockNumber.js'\n\nexport type ReplacementReason = 'cancelled' | 'replaced' | 'repriced'\nexport type ReplacementReturnType = {\n reason: ReplacementReason\n replacedTransaction: Transaction\n transaction: UTXOTransaction\n}\n\nexport type WaitForTransactionReceiptReturnType = UTXOTransaction\n\nexport type WithRetryParameters = {\n // The delay (in ms) between retries.\n delay?:\n | ((config: { count: number; error: Error }) => number)\n | number\n | undefined\n // The max number of times to retry.\n retryCount?: number | undefined\n}\n\nexport type WaitForTransactionReceiptParameters = {\n /** The Id of the transaction. */\n txId: string\n /** The hex string of the raw transaction. */\n txHex: string\n /** The sender address of the transaction. */\n senderAddress?: string\n /**\n * The number of confirmations (blocks that have passed) to wait before resolving.\n * @default 1\n */\n confirmations?: number | undefined\n /** Optional callback to emit if the transaction has been replaced. */\n onReplaced?: ((response: ReplacementReturnType) => void) | undefined\n /**\n * Polling frequency (in ms). Defaults to the client's pollingInterval config.\n * @default client.pollingInterval\n */\n pollingInterval?: number | undefined\n /**\n * Number of times to retry if the transaction or block is not found.\n * @default 6 (exponential backoff)\n */\n retryCount?: number\n /**\n * Time to wait (in ms) between retries.\n */\n retryDelay?: ((config: { count: number; error: Error }) => number) | number\n /** Optional timeout (in milliseconds) to wait before stopping polling. */\n timeout?: number | undefined\n}\n\n/**\n * Waits for the transaction to be included on a block (one confirmation), and then returns the transaction.\n * - JSON-RPC Methods:\n * - Polls getrawtransaction on each block until it has been processed.\n * - If a transaction has been replaced:\n * - Calls getblock and extracts the transactions\n * - Checks if one of the transactions is a replacement\n * - If so, calls getrawtransaction.\n *\n * The `waitForTransaction` action additionally supports replacement detection (e.g. RBF - transactions replaced-by-fee ).\n *\n * Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel).\n * https://bitcoinops.org/en/topics/replace-by-fee/\n *\n * There are 3 types of Transaction Replacement reasons:\n *\n * - `repriced`: The fee has been modified (e.g. same outputs, different amounts)\n * - `cancelled`: The Transaction has been cancelled (e.g. output is sender address)\n * - `replaced`: The Transaction has been replaced (e.g. different outputs)\n * @param client - Client to use\n * @param parameters - {@link WaitForTransactionReceiptParameters}\n * @returns The UTXO transaction. {@link WaitForTransactionReceiptReturnType}\n */\nexport async function waitForTransaction<chain extends Chain | undefined>(\n client: Client<Transport, chain>,\n {\n confirmations = 1,\n txId,\n txHex,\n senderAddress,\n onReplaced,\n pollingInterval = client.pollingInterval,\n retryCount = 10,\n retryDelay = 3_000,\n timeout,\n }: WaitForTransactionReceiptParameters\n): Promise<WaitForTransactionReceiptReturnType> {\n const observerId = stringify(['waitForTransaction', client.uid, txId])\n\n let count = 0\n let transaction: UTXOTransaction | undefined\n let replacedTransaction: Transaction | undefined\n let retrying = false\n\n return new Promise((resolve, reject) => {\n if (timeout) {\n setTimeout(\n () =>\n reject(\n new WaitForTransactionReceiptTimeoutError({ hash: txId as never })\n ),\n timeout\n )\n }\n\n const _unobserve = observe(\n observerId,\n { onReplaced, resolve, reject },\n (emit) => {\n const _unwatch = getAction(\n client,\n watchBlockNumber,\n 'watchBlockNumber'\n )({\n emitMissed: true,\n emitOnBegin: true,\n pollingInterval,\n async onBlockNumber(blockNumber_) {\n const done = (fn: () => void) => {\n _unwatch()\n fn()\n _unobserve()\n }\n\n let blockNumber = blockNumber_\n\n if (retrying) {\n return\n }\n if (count > retryCount) {\n done(() =>\n emit.reject(\n new WaitForTransactionReceiptTimeoutError({\n hash: txId as never,\n })\n )\n )\n }\n\n try {\n // If we already have a valid receipt, let's check if we have enough\n // confirmations. If we do, then we can resolve.\n if (transaction?.blockhash) {\n const blockStats = await getAction(\n client,\n getBlockStats,\n 'getBlockStats'\n )({\n blockHash: transaction.blockhash,\n stats: ['height'],\n })\n if (\n confirmations > 1 &&\n (!blockStats.height ||\n blockNumber - blockStats.height + 1 < confirmations)\n ) {\n return\n }\n done(() => emit.resolve(transaction!))\n return\n }\n\n // Get the transaction to check if it's been replaced.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined transactions.\n retrying = true\n transaction = await withRetry(\n () =>\n getAction(\n client,\n getUTXOTransaction,\n 'getUTXOTransaction'\n // If transaction exists it might be the replaced one with different txId\n )({ txId: transaction?.txid || txId }),\n {\n delay: retryDelay,\n retryCount,\n }\n )\n if (transaction.blockhash) {\n const blockStats = await getAction(\n client,\n getBlockStats,\n 'getBlockStats'\n )({\n blockHash: transaction.blockhash,\n stats: ['height'],\n })\n if (blockStats.height) {\n blockNumber = blockStats.height\n }\n }\n retrying = false\n\n // Check if transaction has been processed.\n if (!transaction?.confirmations) {\n throw new TransactionReceiptNotFoundError({\n hash: txId as never,\n })\n }\n\n // Check if we have enough confirmations. If not, continue polling.\n if (transaction.confirmations < confirmations) {\n return\n }\n\n done(() => emit.resolve(transaction!))\n } catch (err) {\n // If the receipt is not found, the transaction will be pending.\n // We need to check if it has potentially been replaced.\n if (\n err instanceof TransactionNotFoundError ||\n err instanceof TransactionReceiptNotFoundError\n ) {\n try {\n replacedTransaction = Transaction.fromHex(\n transaction?.hex || txHex\n )\n\n // Let's retrieve the transactions from the current block.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined blocks.\n retrying = true\n const block = await withRetry(\n () =>\n getAction(\n client,\n getBlock,\n 'getBlock'\n )({\n blockNumber,\n }),\n {\n delay: retryDelay,\n retryCount,\n // shouldRetry: ({ error }) =>\n // error instanceof BlockNotFoundError,\n }\n )\n retrying = false\n\n // Create a set of input identifiers for mempool transaction\n const replacedTransactionInputs = new Set<string>()\n\n for (const input of replacedTransaction.ins) {\n const txid = Array.from(input.hash)\n .reverse()\n .map((byte) => `00${byte.toString(16)}`.slice(-2))\n .join('')\n const vout = input.index\n const inputId = `${txid}:${vout}`\n replacedTransactionInputs.add(inputId)\n }\n\n let replacementTransaction: Transaction | undefined\n\n for (const tx of block.transactions!) {\n if (tx.isCoinbase()) {\n continue\n }\n\n // Check if any input of this transaction matches an input of mempool transaction\n for (const input of tx.ins) {\n const txid = Array.from(input.hash)\n .reverse()\n .map((byte) => `00${byte.toString(16)}`.slice(-2))\n .join('')\n const vout = input.index\n const inputId = `${txid}:${vout}`\n if (replacedTransactionInputs.has(inputId)) {\n replacementTransaction = tx\n break\n }\n }\n if (replacementTransaction) {\n break\n }\n }\n\n // If we couldn't find a replacement transaction, continue polling.\n if (!replacementTransaction) {\n return\n }\n\n // If we found a replacement transaction, return it's receipt.\n transaction = await getAction(\n client,\n getUTXOTransaction,\n 'getUTXOTransaction'\n )({\n txId: replacementTransaction.getId(),\n })\n\n // Check if we have enough confirmations. If not, continue polling.\n if (\n transaction.confirmations &&\n transaction.confirmations < confirmations\n ) {\n return\n }\n\n let reason: ReplacementReason = 'replaced'\n\n // Function to get output addresses\n function getOutputAddresses(tx: Transaction): string[] {\n const addresses: string[] = []\n for (const output of tx.outs) {\n try {\n const outputAddress = address.fromOutputScript(\n output.script\n )\n addresses.push(outputAddress)\n } catch (_e) {\n // Handle non-standard scripts (e.g., OP_RETURN)\n }\n }\n return addresses\n }\n\n // Get the recipient addresses from the original transaction\n const originalOutputAddresses =\n getOutputAddresses(replacedTransaction)\n\n // Get the recipient addresses from the replacement transaction\n const replacementOutputAddresses = getOutputAddresses(\n replacementTransaction\n )\n\n if (\n originalOutputAddresses.length ===\n replacementOutputAddresses.length &&\n originalOutputAddresses.every((address) =>\n replacementOutputAddresses.includes(address)\n )\n ) {\n reason = 'repriced'\n } else if (\n senderAddress &&\n replacementOutputAddresses.length === 1 &&\n replacementOutputAddresses.includes(senderAddress)\n ) {\n reason = 'cancelled'\n }\n\n done(() => {\n emit.onReplaced?.({\n reason,\n replacedTransaction: replacedTransaction!,\n transaction: transaction!,\n })\n emit.resolve(transaction!)\n })\n } catch (err_) {\n done(() => emit.reject(err_))\n }\n } else {\n done(() => emit.reject(err))\n }\n } finally {\n count++\n }\n },\n })\n }\n )\n })\n}\n"],"mappings":"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"}
@@ -1,16 +1,33 @@
1
- import type { Chain } from '../types/chain.js';
2
- import type { Client } from '../types/client.js';
3
- import type { Transport } from '../types/transport.js';
4
- import { type GetBlockCountReturnType } from './getBlockCount.js';
5
- export type OnBlockNumberParameter = GetBlockCountReturnType;
6
- export type OnBlockNumberFn = (blockNumber: OnBlockNumberParameter, prevBlockNumber: OnBlockNumberParameter | undefined) => Promise<void>;
7
- export type WatchBlockNumberParameters = {
8
- onBlockNumber: OnBlockNumberFn;
9
- onError?: ((error: Error) => void) | undefined;
1
+ import { Chain } from "../types/chain.js";
2
+ import { Transport } from "../types/transport.js";
3
+ import { Client } from "../types/client.js";
4
+ import { GetBlockCountReturnType } from "./getBlockCount.js";
5
+
6
+ //#region src/actions/watchBlockNumber.d.ts
7
+ type OnBlockNumberParameter = GetBlockCountReturnType;
8
+ type OnBlockNumberFn = (blockNumber: OnBlockNumberParameter, prevBlockNumber: OnBlockNumberParameter | undefined) => Promise<void>;
9
+ type WatchBlockNumberParameters = {
10
+ /** The callback to call when a new block number is received. */onBlockNumber: OnBlockNumberFn; /** The callback to call when an error occurred when trying to get for a new block. */
11
+ onError?: ((error: Error) => void) | undefined;
10
12
  } & {
11
- emitMissed?: boolean | undefined;
12
- emitOnBegin?: boolean | undefined;
13
- pollingInterval?: number | undefined;
13
+ /** Whether or not to emit the missed block numbers to the callback. */emitMissed?: boolean | undefined; /** Whether or not to emit the latest block number to the callback when the subscription opens. */
14
+ emitOnBegin?: boolean | undefined; /** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
15
+ pollingInterval?: number | undefined;
14
16
  };
15
- export type WatchBlockNumberReturnType = () => void;
16
- export declare function watchBlockNumber<chain extends Chain | undefined, transport extends Transport>(client: Client<transport, chain>, { emitOnBegin, emitMissed, onBlockNumber, onError, pollingInterval, }: WatchBlockNumberParameters): WatchBlockNumberReturnType;
17
+ type WatchBlockNumberReturnType = () => void;
18
+ /**
19
+ * Watches and returns incoming block numbers.
20
+ * @param client - Client to use
21
+ * @param parameters - {@link WatchBlockNumberParameters}
22
+ * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}
23
+ */
24
+ declare function watchBlockNumber<chain extends Chain | undefined, transport extends Transport>(client: Client<transport, chain>, {
25
+ emitOnBegin,
26
+ emitMissed,
27
+ onBlockNumber,
28
+ onError,
29
+ pollingInterval
30
+ }: WatchBlockNumberParameters): WatchBlockNumberReturnType;
31
+ //#endregion
32
+ export { OnBlockNumberFn, OnBlockNumberParameter, WatchBlockNumberParameters, WatchBlockNumberReturnType, watchBlockNumber };
33
+ //# sourceMappingURL=watchBlockNumber.d.ts.map
@@ -1,45 +1,50 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.watchBlockNumber = watchBlockNumber;
4
- const getAction_js_1 = require("../utils/getAction.js");
5
- const observe_js_1 = require("../utils/observe.js");
6
- const poll_js_1 = require("../utils/poll.js");
7
- const stringify_js_1 = require("../utils/stringify.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, stringify_js_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, getAction_js_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
- }));
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_actions_getBlockCount = require("./getBlockCount.js");
3
+ const require_utils_getAction = require("../utils/getAction.js");
4
+ const require_utils_observe = require("../utils/observe.js");
5
+ const require_utils_stringify = require("../utils/stringify.js");
6
+ const require_utils_poll = require("../utils/poll.js");
7
+ //#region src/actions/watchBlockNumber.ts
8
+ /**
9
+ * Watches and returns incoming block numbers.
10
+ * @param client - Client to use
11
+ * @param parameters - {@link WatchBlockNumberParameters}
12
+ * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}
13
+ */
14
+ function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, pollingInterval = client.pollingInterval }) {
15
+ let prevBlockNumber;
16
+ return require_utils_observe.observe(require_utils_stringify.stringify([
17
+ "watchBlockNumber",
18
+ client.uid,
19
+ emitOnBegin,
20
+ emitMissed,
21
+ pollingInterval
22
+ ]), {
23
+ onBlockNumber,
24
+ onError
25
+ }, (emit) => require_utils_poll.poll(async () => {
26
+ try {
27
+ const blockNumber = await require_utils_getAction.getAction(client, require_actions_getBlockCount.getBlockCount, "getBlockCount")({ cacheTime: 0 });
28
+ if (prevBlockNumber) {
29
+ if (blockNumber === prevBlockNumber) return;
30
+ if (blockNumber - prevBlockNumber > 1 && emitMissed) for (let i = prevBlockNumber + 1; i < blockNumber; i++) {
31
+ await emit.onBlockNumber(i, prevBlockNumber);
32
+ prevBlockNumber = i;
33
+ }
34
+ }
35
+ if (!prevBlockNumber || blockNumber > prevBlockNumber) {
36
+ await emit.onBlockNumber(blockNumber, prevBlockNumber);
37
+ prevBlockNumber = blockNumber;
38
+ }
39
+ } catch (err) {
40
+ emit.onError?.(err);
41
+ }
42
+ }, {
43
+ emitOnBegin,
44
+ interval: pollingInterval
45
+ }));
44
46
  }
47
+ //#endregion
48
+ exports.watchBlockNumber = watchBlockNumber;
49
+
45
50
  //# sourceMappingURL=watchBlockNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchBlockNumber.js","sourceRoot":"","sources":["../../../src/actions/watchBlockNumber.ts"],"names":[],"mappings":";;AAqCA,4CAsEC;AAxGD,wDAAiD;AACjD,oDAA6C;AAC7C,8CAAuC;AACvC,wDAAiD;AACjD,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,wBAAS,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,wBAAS,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
+ {"version":3,"file":"watchBlockNumber.js","names":["observe","stringify","poll","getAction","getBlockCount"],"sources":["../../../src/actions/watchBlockNumber.ts"],"sourcesContent":["import type { Chain } from '../types/chain.js'\nimport type { Client } from '../types/client.js'\nimport type { Transport } from '../types/transport.js'\nimport { getAction } from '../utils/getAction.js'\nimport { observe } from '../utils/observe.js'\nimport { poll } from '../utils/poll.js'\nimport { stringify } from '../utils/stringify.js'\nimport { type GetBlockCountReturnType, getBlockCount } from './getBlockCount.js'\n\nexport type OnBlockNumberParameter = GetBlockCountReturnType\nexport type OnBlockNumberFn = (\n blockNumber: OnBlockNumberParameter,\n prevBlockNumber: OnBlockNumberParameter | undefined\n) => Promise<void>\n\nexport type WatchBlockNumberParameters = {\n /** The callback to call when a new block number is received. */\n onBlockNumber: OnBlockNumberFn\n /** The callback to call when an error occurred when trying to get for a new block. */\n onError?: ((error: Error) => void) | undefined\n} & {\n /** Whether or not to emit the missed block numbers to the callback. */\n emitMissed?: boolean | undefined\n /** Whether or not to emit the latest block number to the callback when the subscription opens. */\n emitOnBegin?: boolean | undefined\n /** Polling frequency (in ms). Defaults to Client's pollingInterval config. */\n pollingInterval?: number | undefined\n}\n\nexport type WatchBlockNumberReturnType = () => void\n\n/**\n * Watches and returns incoming block numbers.\n * @param client - Client to use\n * @param parameters - {@link WatchBlockNumberParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}\n */\nexport function watchBlockNumber<\n chain extends Chain | undefined,\n transport extends Transport,\n>(\n client: Client<transport, chain>,\n {\n emitOnBegin = false,\n emitMissed = false,\n onBlockNumber,\n onError,\n pollingInterval = client.pollingInterval,\n }: WatchBlockNumberParameters\n): WatchBlockNumberReturnType {\n let prevBlockNumber: GetBlockCountReturnType | undefined\n\n const observerId = stringify([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n pollingInterval,\n ])\n\n // TODO (edge cases):\n // 1) Stop iterating block numbers if we are happy with the result of one onBlockNumber execution but there is more in the queue.\n // 2) If we missed some time - user closed the page and came back when the block is already mined.\n // In this case we probably want to save the block when we send the transaction and track the currently checked blocks until we find the relevant one.\n return observe(observerId, { onBlockNumber, onError }, (emit) =>\n poll(\n async () => {\n try {\n const blockNumber = await getAction(\n client,\n getBlockCount,\n 'getBlockCount'\n )({ cacheTime: 0 })\n\n if (prevBlockNumber) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (blockNumber === prevBlockNumber) {\n return\n }\n\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (blockNumber - prevBlockNumber > 1 && emitMissed) {\n for (let i = prevBlockNumber + 1; i < blockNumber; i++) {\n await emit.onBlockNumber(i, prevBlockNumber)\n prevBlockNumber = i\n }\n }\n }\n\n // If the next block number is greater than the previous,\n // it is not in the past, and we can emit the new block number.\n if (!prevBlockNumber || blockNumber > prevBlockNumber) {\n await emit.onBlockNumber(blockNumber, prevBlockNumber)\n prevBlockNumber = blockNumber\n }\n } catch (err) {\n emit.onError?.(err as Error)\n }\n },\n {\n emitOnBegin,\n interval: pollingInterval,\n }\n )\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAqCA,SAAgB,iBAId,QACA,EACE,cAAc,OACd,aAAa,OACb,eACA,SACA,kBAAkB,OAAO,mBAEC;CAC5B,IAAI;AAcJ,QAAOA,sBAAAA,QAZYC,wBAAAA,UAAU;EAC3B;EACA,OAAO;EACP;EACA;EACA;EACD,CAAC,EAMyB;EAAE;EAAe;EAAS,GAAG,SACtDC,mBAAAA,KACE,YAAY;AACV,MAAI;GACF,MAAM,cAAc,MAAMC,wBAAAA,UACxB,QACAC,8BAAAA,eACA,gBACD,CAAC,EAAE,WAAW,GAAG,CAAC;AAEnB,OAAI,iBAAiB;AAGnB,QAAI,gBAAgB,gBAClB;AAKF,QAAI,cAAc,kBAAkB,KAAK,WACvC,MAAK,IAAI,IAAI,kBAAkB,GAAG,IAAI,aAAa,KAAK;AACtD,WAAM,KAAK,cAAc,GAAG,gBAAgB;AAC5C,uBAAkB;;;AAOxB,OAAI,CAAC,mBAAmB,cAAc,iBAAiB;AACrD,UAAM,KAAK,cAAc,aAAa,gBAAgB;AACtD,sBAAkB;;WAEb,KAAK;AACZ,QAAK,UAAU,IAAa;;IAGhC;EACE;EACA,UAAU;EACX,CACF,CACF"}
@@ -1,24 +1,7 @@
1
- import { ChainId } from '../types/chain.js';
2
- export declare const bitcoin: {
3
- blockExplorers: {
4
- readonly default: {
5
- readonly name: "Mempool";
6
- readonly url: "https://mempool.space/";
7
- };
8
- };
9
- id: ChainId.BITCOIN_MAINNET;
10
- name: "Bitcoin";
11
- rpcUrls: {
12
- readonly default: {
13
- readonly http: readonly ["https://node-router.thorswap.net/bitcoin"];
14
- };
15
- };
16
- testnet?: boolean | undefined | undefined;
17
- custom?: Record<string, unknown> | undefined;
18
- formatters?: undefined;
19
- readonly nativeCurrency: {
20
- readonly name: "Bitcoin";
21
- readonly symbol: "BTC";
22
- readonly decimals: 8;
23
- };
24
- };
1
+ import { Chain } from "../types/chain.js";
2
+
3
+ //#region src/chains/bitcoin.d.ts
4
+ declare const bitcoin: Chain;
5
+ //#endregion
6
+ export { bitcoin };
7
+ //# sourceMappingURL=bitcoin.d.ts.map