@bigmi/core 0.8.0 → 0.9.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 (499) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/actions/getBalance.d.ts +2 -2
  4. package/dist/cjs/actions/getBalance.js.map +1 -1
  5. package/dist/cjs/actions/getBlock.d.ts +1 -5
  6. package/dist/cjs/actions/getBlock.js +0 -1
  7. package/dist/cjs/actions/getBlock.js.map +1 -1
  8. package/dist/cjs/actions/getBlockCount.d.ts +0 -1
  9. package/dist/cjs/actions/getBlockCount.js.map +1 -1
  10. package/dist/cjs/actions/getBlockStats.d.ts +1 -6
  11. package/dist/cjs/actions/getBlockStats.js.map +1 -1
  12. package/dist/cjs/actions/getTransactionFee.d.ts +1 -4
  13. package/dist/cjs/actions/getTransactionFee.js.map +1 -1
  14. package/dist/cjs/actions/getTransactions.d.ts +1 -7
  15. package/dist/cjs/actions/getTransactions.js.map +1 -1
  16. package/dist/cjs/actions/getUTXOTransaction.d.ts +4 -6
  17. package/dist/cjs/actions/getUTXOTransaction.js.map +1 -1
  18. package/dist/cjs/actions/getUTXOs.d.ts +1 -5
  19. package/dist/cjs/actions/getUTXOs.js.map +1 -1
  20. package/dist/cjs/actions/getXPubAddresses.d.ts +22 -22
  21. package/dist/cjs/actions/getXPubAddresses.js.map +1 -1
  22. package/dist/cjs/actions/sendUTXOTransaction.d.ts +4 -6
  23. package/dist/cjs/actions/sendUTXOTransaction.js.map +1 -1
  24. package/dist/cjs/actions/signPsbt.d.ts +0 -1
  25. package/dist/cjs/actions/signPsbt.js.map +1 -1
  26. package/dist/cjs/actions/waitForTransaction.d.ts +43 -49
  27. package/dist/cjs/actions/waitForTransaction.js +0 -1
  28. package/dist/cjs/actions/waitForTransaction.js.map +1 -1
  29. package/dist/cjs/actions/watchBlockNumber.d.ts +14 -16
  30. package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
  31. package/dist/cjs/chains/bitcoin.d.ts +0 -1
  32. package/dist/cjs/chains/bitcoin.js +3 -3
  33. package/dist/cjs/chains/bitcoin.js.map +1 -1
  34. package/dist/cjs/chains/defineChain.d.ts +0 -1
  35. package/dist/cjs/chains/defineChain.js.map +1 -1
  36. package/dist/cjs/chains/signet.d.ts +0 -1
  37. package/dist/cjs/chains/signet.js +3 -3
  38. package/dist/cjs/chains/signet.js.map +1 -1
  39. package/dist/cjs/clients/decorators/public.d.ts +0 -1
  40. package/dist/cjs/clients/decorators/public.js.map +1 -1
  41. package/dist/cjs/clients/decorators/wallet.d.ts +2 -3
  42. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  43. package/dist/cjs/errors/address.d.ts +1 -4
  44. package/dist/cjs/errors/address.js.map +1 -1
  45. package/dist/cjs/errors/base.js.map +1 -1
  46. package/dist/cjs/errors/block.d.ts +1 -5
  47. package/dist/cjs/errors/block.js.map +1 -1
  48. package/dist/cjs/errors/provider.d.ts +0 -1
  49. package/dist/cjs/errors/provider.js.map +1 -1
  50. package/dist/cjs/errors/request.d.ts +5 -28
  51. package/dist/cjs/errors/request.js.map +1 -1
  52. package/dist/cjs/errors/rpc.d.ts +23 -24
  53. package/dist/cjs/errors/rpc.js +3 -3
  54. package/dist/cjs/errors/rpc.js.map +1 -1
  55. package/dist/cjs/errors/transaction.d.ts +3 -14
  56. package/dist/cjs/errors/transaction.js.map +1 -1
  57. package/dist/cjs/errors/transport.d.ts +2 -10
  58. package/dist/cjs/errors/transport.js.map +1 -1
  59. package/dist/cjs/errors/utils.d.ts +0 -1
  60. package/dist/cjs/errors/utxo.d.ts +1 -6
  61. package/dist/cjs/errors/utxo.js.map +1 -1
  62. package/dist/cjs/factories/createClient.d.ts +49 -30
  63. package/dist/cjs/factories/createClient.js.map +1 -1
  64. package/dist/cjs/factories/createTransport.d.ts +3 -13
  65. package/dist/cjs/factories/createTransport.js.map +1 -1
  66. package/dist/cjs/test/utils.js.map +1 -1
  67. package/dist/cjs/transports/ankr/ankr.d.ts +0 -1
  68. package/dist/cjs/transports/ankr/ankr.js.map +1 -1
  69. package/dist/cjs/transports/ankr/getBalance.d.ts +0 -1
  70. package/dist/cjs/transports/ankr/getBalance.js +2 -2
  71. package/dist/cjs/transports/ankr/getBalance.js.map +1 -1
  72. package/dist/cjs/transports/ankr/getTransactionFee.d.ts +0 -1
  73. package/dist/cjs/transports/ankr/getTransactionFee.js.map +1 -1
  74. package/dist/cjs/transports/ankr/getTransactions.d.ts +0 -1
  75. package/dist/cjs/transports/ankr/getTransactions.js.map +1 -1
  76. package/dist/cjs/transports/ankr/methods.d.ts +0 -1
  77. package/dist/cjs/transports/ankr/methods.js.map +1 -1
  78. package/dist/cjs/transports/ankr/utils.d.ts +0 -1
  79. package/dist/cjs/transports/ankr/utils.js.map +1 -1
  80. package/dist/cjs/transports/blockchair/blockchair.d.ts +0 -1
  81. package/dist/cjs/transports/blockchair/blockchair.js.map +1 -1
  82. package/dist/cjs/transports/blockchair/getBalance.d.ts +0 -1
  83. package/dist/cjs/transports/blockchair/getBalance.js +2 -2
  84. package/dist/cjs/transports/blockchair/getBalance.js.map +1 -1
  85. package/dist/cjs/transports/blockchair/getTransactionFee.d.ts +0 -1
  86. package/dist/cjs/transports/blockchair/getTransactionFee.js +2 -2
  87. package/dist/cjs/transports/blockchair/getTransactionFee.js.map +1 -1
  88. package/dist/cjs/transports/blockchair/getUTXOs.d.ts +0 -1
  89. package/dist/cjs/transports/blockchair/getUTXOs.js +2 -2
  90. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -1
  91. package/dist/cjs/transports/blockchair/getXPubAddresses.d.ts +0 -1
  92. package/dist/cjs/transports/blockchair/getXPubAddresses.js +2 -2
  93. package/dist/cjs/transports/blockchair/getXPubAddresses.js.map +1 -1
  94. package/dist/cjs/transports/blockchair/methods.d.ts +0 -1
  95. package/dist/cjs/transports/blockchair/methods.js.map +1 -1
  96. package/dist/cjs/transports/blockcypher/blockcypher.d.ts +0 -1
  97. package/dist/cjs/transports/blockcypher/blockcypher.js.map +1 -1
  98. package/dist/cjs/transports/blockcypher/getBalance.d.ts +0 -1
  99. package/dist/cjs/transports/blockcypher/getBalance.js.map +1 -1
  100. package/dist/cjs/transports/blockcypher/getTransactionFee.d.ts +0 -1
  101. package/dist/cjs/transports/blockcypher/getTransactionFee.js.map +1 -1
  102. package/dist/cjs/transports/blockcypher/getUTXOs.d.ts +0 -1
  103. package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -1
  104. package/dist/cjs/transports/blockcypher/methods.d.ts +0 -1
  105. package/dist/cjs/transports/blockcypher/methods.js.map +1 -1
  106. package/dist/cjs/transports/blockcypher/utils.d.ts +0 -1
  107. package/dist/cjs/transports/blockcypher/utils.js +3 -3
  108. package/dist/cjs/transports/blockcypher/utils.js.map +1 -1
  109. package/dist/cjs/transports/custom.d.ts +11 -7
  110. package/dist/cjs/transports/custom.js.map +1 -1
  111. package/dist/cjs/transports/fallback.d.ts +32 -36
  112. package/dist/cjs/transports/fallback.js +2 -2
  113. package/dist/cjs/transports/fallback.js.map +1 -1
  114. package/dist/cjs/transports/getHttpRpcClient.d.ts +17 -9
  115. package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
  116. package/dist/cjs/transports/getRpcProviderMethods.d.ts +0 -1
  117. package/dist/cjs/transports/getRpcProviderMethods.js.map +1 -1
  118. package/dist/cjs/transports/http.d.ts +31 -20
  119. package/dist/cjs/transports/http.js.map +1 -1
  120. package/dist/cjs/transports/mempool/getBalance.d.ts +0 -1
  121. package/dist/cjs/transports/mempool/getBalance.js.map +1 -1
  122. package/dist/cjs/transports/mempool/getTransactionFee.d.ts +0 -1
  123. package/dist/cjs/transports/mempool/getTransactionFee.js.map +1 -1
  124. package/dist/cjs/transports/mempool/getTransactions.d.ts +0 -1
  125. package/dist/cjs/transports/mempool/getTransactions.js.map +1 -1
  126. package/dist/cjs/transports/mempool/mempool.d.ts +0 -1
  127. package/dist/cjs/transports/mempool/mempool.js.map +1 -1
  128. package/dist/cjs/transports/mempool/methods.d.ts +0 -1
  129. package/dist/cjs/transports/mempool/methods.js.map +1 -1
  130. package/dist/cjs/transports/mempool/utils.d.ts +0 -1
  131. package/dist/cjs/transports/mempool/utils.js.map +1 -1
  132. package/dist/cjs/transports/types.d.ts +17 -15
  133. package/dist/cjs/transports/types.js.map +1 -1
  134. package/dist/cjs/transports/utxo.d.ts +0 -1
  135. package/dist/cjs/transports/utxo.js.map +1 -1
  136. package/dist/cjs/types/account.d.ts +0 -1
  137. package/dist/cjs/types/address.d.ts +0 -1
  138. package/dist/cjs/types/address.js.map +1 -1
  139. package/dist/cjs/types/block.d.ts +17 -17
  140. package/dist/cjs/types/chain.d.ts +20 -9
  141. package/dist/cjs/types/chain.js.map +1 -1
  142. package/dist/cjs/types/client.d.ts +40 -25
  143. package/dist/cjs/types/request.d.ts +12 -8
  144. package/dist/cjs/types/transport.d.ts +16 -11
  145. package/dist/cjs/types/utils.d.ts +31 -31
  146. package/dist/cjs/types/xpub.d.ts +0 -1
  147. package/dist/cjs/utils/buildRequest.d.ts +0 -1
  148. package/dist/cjs/utils/buildRequest.js +3 -3
  149. package/dist/cjs/utils/buildRequest.js.map +1 -1
  150. package/dist/cjs/utils/cancelTransaction.d.ts +0 -1
  151. package/dist/cjs/utils/cancelTransaction.js +0 -1
  152. package/dist/cjs/utils/cancelTransaction.js.map +1 -1
  153. package/dist/cjs/utils/converter.js.map +1 -1
  154. package/dist/cjs/utils/createBatchScheduler.d.ts +1 -8
  155. package/dist/cjs/utils/createBatchScheduler.js +1 -1
  156. package/dist/cjs/utils/createBatchScheduler.js.map +1 -1
  157. package/dist/cjs/utils/deepEqual.js.map +1 -1
  158. package/dist/cjs/utils/getAction.d.ts +6 -7
  159. package/dist/cjs/utils/getAction.js.map +1 -1
  160. package/dist/cjs/utils/getAddressInfo.d.ts +0 -1
  161. package/dist/cjs/utils/getAddressInfo.js +26 -26
  162. package/dist/cjs/utils/getAddressInfo.js.map +1 -1
  163. package/dist/cjs/utils/idCache.js.map +1 -1
  164. package/dist/cjs/utils/isAddress.d.ts +0 -1
  165. package/dist/cjs/utils/isAddress.js.map +1 -1
  166. package/dist/cjs/utils/lru.d.ts +4 -4
  167. package/dist/cjs/utils/lru.js.map +1 -1
  168. package/dist/cjs/utils/modifyFee.d.ts +0 -1
  169. package/dist/cjs/utils/modifyFee.js +0 -1
  170. package/dist/cjs/utils/modifyFee.js.map +1 -1
  171. package/dist/cjs/utils/observe.d.ts +4 -5
  172. package/dist/cjs/utils/observe.js +2 -2
  173. package/dist/cjs/utils/observe.js.map +1 -1
  174. package/dist/cjs/utils/parseAccount.d.ts +0 -1
  175. package/dist/cjs/utils/parseAccount.js.map +1 -1
  176. package/dist/cjs/utils/poll.d.ts +4 -10
  177. package/dist/cjs/utils/poll.js.map +1 -1
  178. package/dist/cjs/utils/retryUntil.d.ts +17 -15
  179. package/dist/cjs/utils/retryUntil.js.map +1 -1
  180. package/dist/cjs/utils/sleep.js.map +1 -1
  181. package/dist/cjs/utils/stringify.d.ts +0 -1
  182. package/dist/cjs/utils/stringify.js.map +1 -1
  183. package/dist/cjs/utils/uid.js.map +1 -1
  184. package/dist/cjs/utils/url.js.map +1 -1
  185. package/dist/cjs/utils/wait.js.map +1 -1
  186. package/dist/cjs/utils/withDedupe.d.ts +1 -5
  187. package/dist/cjs/utils/withDedupe.js +1 -1
  188. package/dist/cjs/utils/withDedupe.js.map +1 -1
  189. package/dist/cjs/utils/withResolvers.js.map +1 -1
  190. package/dist/cjs/utils/withRetry.d.ts +2 -10
  191. package/dist/cjs/utils/withRetry.js.map +1 -1
  192. package/dist/cjs/utils/withTimeout.d.ts +2 -9
  193. package/dist/cjs/utils/withTimeout.js.map +1 -1
  194. package/dist/cjs/version.d.ts +1 -1
  195. package/dist/cjs/version.js +1 -1
  196. package/dist/cjs/version.js.map +1 -1
  197. package/dist/esm/actions/getBalance.d.ts +2 -2
  198. package/dist/esm/actions/getBalance.d.ts.map +1 -1
  199. package/dist/esm/actions/getBalance.js.map +1 -1
  200. package/dist/esm/actions/getBlock.d.ts +1 -5
  201. package/dist/esm/actions/getBlock.d.ts.map +1 -1
  202. package/dist/esm/actions/getBlock.js.map +1 -1
  203. package/dist/esm/actions/getBlockCount.d.ts +0 -1
  204. package/dist/esm/actions/getBlockCount.d.ts.map +1 -1
  205. package/dist/esm/actions/getBlockCount.js.map +1 -1
  206. package/dist/esm/actions/getBlockStats.d.ts +1 -6
  207. package/dist/esm/actions/getBlockStats.d.ts.map +1 -1
  208. package/dist/esm/actions/getBlockStats.js.map +1 -1
  209. package/dist/esm/actions/getTransactionFee.d.ts +1 -4
  210. package/dist/esm/actions/getTransactionFee.d.ts.map +1 -1
  211. package/dist/esm/actions/getTransactionFee.js.map +1 -1
  212. package/dist/esm/actions/getTransactions.d.ts +1 -7
  213. package/dist/esm/actions/getTransactions.d.ts.map +1 -1
  214. package/dist/esm/actions/getTransactions.js.map +1 -1
  215. package/dist/esm/actions/getUTXOTransaction.d.ts +4 -6
  216. package/dist/esm/actions/getUTXOTransaction.d.ts.map +1 -1
  217. package/dist/esm/actions/getUTXOTransaction.js.map +1 -1
  218. package/dist/esm/actions/getUTXOs.d.ts +1 -5
  219. package/dist/esm/actions/getUTXOs.d.ts.map +1 -1
  220. package/dist/esm/actions/getUTXOs.js.map +1 -1
  221. package/dist/esm/actions/getXPubAddresses.d.ts +22 -22
  222. package/dist/esm/actions/getXPubAddresses.d.ts.map +1 -1
  223. package/dist/esm/actions/getXPubAddresses.js.map +1 -1
  224. package/dist/esm/actions/sendUTXOTransaction.d.ts +4 -6
  225. package/dist/esm/actions/sendUTXOTransaction.d.ts.map +1 -1
  226. package/dist/esm/actions/sendUTXOTransaction.js.map +1 -1
  227. package/dist/esm/actions/signPsbt.d.ts +0 -1
  228. package/dist/esm/actions/signPsbt.d.ts.map +1 -1
  229. package/dist/esm/actions/signPsbt.js.map +1 -1
  230. package/dist/esm/actions/waitForTransaction.d.ts +43 -49
  231. package/dist/esm/actions/waitForTransaction.d.ts.map +1 -1
  232. package/dist/esm/actions/waitForTransaction.js.map +1 -1
  233. package/dist/esm/actions/watchBlockNumber.d.ts +14 -16
  234. package/dist/esm/actions/watchBlockNumber.d.ts.map +1 -1
  235. package/dist/esm/actions/watchBlockNumber.js.map +1 -1
  236. package/dist/esm/chains/bitcoin.d.ts +0 -1
  237. package/dist/esm/chains/bitcoin.d.ts.map +1 -1
  238. package/dist/esm/chains/bitcoin.js +3 -3
  239. package/dist/esm/chains/bitcoin.js.map +1 -1
  240. package/dist/esm/chains/defineChain.d.ts +0 -1
  241. package/dist/esm/chains/defineChain.d.ts.map +1 -1
  242. package/dist/esm/chains/defineChain.js.map +1 -1
  243. package/dist/esm/chains/signet.d.ts +0 -1
  244. package/dist/esm/chains/signet.d.ts.map +1 -1
  245. package/dist/esm/chains/signet.js +3 -3
  246. package/dist/esm/chains/signet.js.map +1 -1
  247. package/dist/esm/clients/decorators/public.d.ts +0 -1
  248. package/dist/esm/clients/decorators/public.d.ts.map +1 -1
  249. package/dist/esm/clients/decorators/public.js.map +1 -1
  250. package/dist/esm/clients/decorators/wallet.d.ts +2 -3
  251. package/dist/esm/clients/decorators/wallet.d.ts.map +1 -1
  252. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  253. package/dist/esm/errors/address.d.ts +1 -4
  254. package/dist/esm/errors/address.d.ts.map +1 -1
  255. package/dist/esm/errors/address.js.map +1 -1
  256. package/dist/esm/errors/base.d.ts.map +1 -1
  257. package/dist/esm/errors/base.js.map +1 -1
  258. package/dist/esm/errors/block.d.ts +1 -5
  259. package/dist/esm/errors/block.d.ts.map +1 -1
  260. package/dist/esm/errors/block.js.map +1 -1
  261. package/dist/esm/errors/provider.d.ts +0 -1
  262. package/dist/esm/errors/provider.d.ts.map +1 -1
  263. package/dist/esm/errors/provider.js.map +1 -1
  264. package/dist/esm/errors/request.d.ts +5 -28
  265. package/dist/esm/errors/request.d.ts.map +1 -1
  266. package/dist/esm/errors/request.js.map +1 -1
  267. package/dist/esm/errors/rpc.d.ts +23 -24
  268. package/dist/esm/errors/rpc.d.ts.map +1 -1
  269. package/dist/esm/errors/rpc.js +3 -3
  270. package/dist/esm/errors/rpc.js.map +1 -1
  271. package/dist/esm/errors/transaction.d.ts +3 -14
  272. package/dist/esm/errors/transaction.d.ts.map +1 -1
  273. package/dist/esm/errors/transaction.js.map +1 -1
  274. package/dist/esm/errors/transport.d.ts +2 -10
  275. package/dist/esm/errors/transport.d.ts.map +1 -1
  276. package/dist/esm/errors/transport.js.map +1 -1
  277. package/dist/esm/errors/utils.d.ts +0 -1
  278. package/dist/esm/errors/utils.d.ts.map +1 -1
  279. package/dist/esm/errors/utxo.d.ts +1 -6
  280. package/dist/esm/errors/utxo.d.ts.map +1 -1
  281. package/dist/esm/errors/utxo.js.map +1 -1
  282. package/dist/esm/factories/createClient.d.ts +49 -30
  283. package/dist/esm/factories/createClient.d.ts.map +1 -1
  284. package/dist/esm/factories/createClient.js.map +1 -1
  285. package/dist/esm/factories/createTransport.d.ts +3 -13
  286. package/dist/esm/factories/createTransport.d.ts.map +1 -1
  287. package/dist/esm/factories/createTransport.js.map +1 -1
  288. package/dist/esm/test/utils.d.ts.map +1 -1
  289. package/dist/esm/test/utils.js.map +1 -1
  290. package/dist/esm/transports/ankr/ankr.d.ts +0 -1
  291. package/dist/esm/transports/ankr/ankr.d.ts.map +1 -1
  292. package/dist/esm/transports/ankr/ankr.js.map +1 -1
  293. package/dist/esm/transports/ankr/ankr.types.d.ts.map +1 -1
  294. package/dist/esm/transports/ankr/getBalance.d.ts +0 -1
  295. package/dist/esm/transports/ankr/getBalance.d.ts.map +1 -1
  296. package/dist/esm/transports/ankr/getBalance.js +2 -2
  297. package/dist/esm/transports/ankr/getBalance.js.map +1 -1
  298. package/dist/esm/transports/ankr/getTransactionFee.d.ts +0 -1
  299. package/dist/esm/transports/ankr/getTransactionFee.d.ts.map +1 -1
  300. package/dist/esm/transports/ankr/getTransactionFee.js.map +1 -1
  301. package/dist/esm/transports/ankr/getTransactions.d.ts +0 -1
  302. package/dist/esm/transports/ankr/getTransactions.d.ts.map +1 -1
  303. package/dist/esm/transports/ankr/getTransactions.js.map +1 -1
  304. package/dist/esm/transports/ankr/methods.d.ts +0 -1
  305. package/dist/esm/transports/ankr/methods.d.ts.map +1 -1
  306. package/dist/esm/transports/ankr/methods.js.map +1 -1
  307. package/dist/esm/transports/ankr/utils.d.ts +0 -1
  308. package/dist/esm/transports/ankr/utils.d.ts.map +1 -1
  309. package/dist/esm/transports/ankr/utils.js.map +1 -1
  310. package/dist/esm/transports/blockchair/blockchair.d.ts +0 -1
  311. package/dist/esm/transports/blockchair/blockchair.d.ts.map +1 -1
  312. package/dist/esm/transports/blockchair/blockchair.js.map +1 -1
  313. package/dist/esm/transports/blockchair/blockchair.types.d.ts.map +1 -1
  314. package/dist/esm/transports/blockchair/getBalance.d.ts +0 -1
  315. package/dist/esm/transports/blockchair/getBalance.d.ts.map +1 -1
  316. package/dist/esm/transports/blockchair/getBalance.js +2 -2
  317. package/dist/esm/transports/blockchair/getBalance.js.map +1 -1
  318. package/dist/esm/transports/blockchair/getTransactionFee.d.ts +0 -1
  319. package/dist/esm/transports/blockchair/getTransactionFee.d.ts.map +1 -1
  320. package/dist/esm/transports/blockchair/getTransactionFee.js +2 -2
  321. package/dist/esm/transports/blockchair/getTransactionFee.js.map +1 -1
  322. package/dist/esm/transports/blockchair/getUTXOs.d.ts +0 -1
  323. package/dist/esm/transports/blockchair/getUTXOs.d.ts.map +1 -1
  324. package/dist/esm/transports/blockchair/getUTXOs.js +2 -2
  325. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -1
  326. package/dist/esm/transports/blockchair/getXPubAddresses.d.ts +0 -1
  327. package/dist/esm/transports/blockchair/getXPubAddresses.d.ts.map +1 -1
  328. package/dist/esm/transports/blockchair/getXPubAddresses.js +2 -2
  329. package/dist/esm/transports/blockchair/getXPubAddresses.js.map +1 -1
  330. package/dist/esm/transports/blockchair/methods.d.ts +0 -1
  331. package/dist/esm/transports/blockchair/methods.d.ts.map +1 -1
  332. package/dist/esm/transports/blockchair/methods.js.map +1 -1
  333. package/dist/esm/transports/blockcypher/blockcypher.d.ts +0 -1
  334. package/dist/esm/transports/blockcypher/blockcypher.d.ts.map +1 -1
  335. package/dist/esm/transports/blockcypher/blockcypher.js.map +1 -1
  336. package/dist/esm/transports/blockcypher/blockcypher.types.d.ts.map +1 -1
  337. package/dist/esm/transports/blockcypher/getBalance.d.ts +0 -1
  338. package/dist/esm/transports/blockcypher/getBalance.d.ts.map +1 -1
  339. package/dist/esm/transports/blockcypher/getBalance.js.map +1 -1
  340. package/dist/esm/transports/blockcypher/getTransactionFee.d.ts +0 -1
  341. package/dist/esm/transports/blockcypher/getTransactionFee.d.ts.map +1 -1
  342. package/dist/esm/transports/blockcypher/getTransactionFee.js.map +1 -1
  343. package/dist/esm/transports/blockcypher/getUTXOs.d.ts +0 -1
  344. package/dist/esm/transports/blockcypher/getUTXOs.d.ts.map +1 -1
  345. package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -1
  346. package/dist/esm/transports/blockcypher/methods.d.ts +0 -1
  347. package/dist/esm/transports/blockcypher/methods.d.ts.map +1 -1
  348. package/dist/esm/transports/blockcypher/methods.js.map +1 -1
  349. package/dist/esm/transports/blockcypher/utils.d.ts +0 -1
  350. package/dist/esm/transports/blockcypher/utils.d.ts.map +1 -1
  351. package/dist/esm/transports/blockcypher/utils.js +3 -3
  352. package/dist/esm/transports/blockcypher/utils.js.map +1 -1
  353. package/dist/esm/transports/custom.d.ts +11 -7
  354. package/dist/esm/transports/custom.d.ts.map +1 -1
  355. package/dist/esm/transports/custom.js.map +1 -1
  356. package/dist/esm/transports/fallback.d.ts +32 -36
  357. package/dist/esm/transports/fallback.d.ts.map +1 -1
  358. package/dist/esm/transports/fallback.js +2 -2
  359. package/dist/esm/transports/fallback.js.map +1 -1
  360. package/dist/esm/transports/getHttpRpcClient.d.ts +17 -9
  361. package/dist/esm/transports/getHttpRpcClient.d.ts.map +1 -1
  362. package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
  363. package/dist/esm/transports/getRpcProviderMethods.d.ts +0 -1
  364. package/dist/esm/transports/getRpcProviderMethods.d.ts.map +1 -1
  365. package/dist/esm/transports/getRpcProviderMethods.js.map +1 -1
  366. package/dist/esm/transports/http.d.ts +31 -20
  367. package/dist/esm/transports/http.d.ts.map +1 -1
  368. package/dist/esm/transports/http.js.map +1 -1
  369. package/dist/esm/transports/mempool/getBalance.d.ts +0 -1
  370. package/dist/esm/transports/mempool/getBalance.d.ts.map +1 -1
  371. package/dist/esm/transports/mempool/getBalance.js.map +1 -1
  372. package/dist/esm/transports/mempool/getTransactionFee.d.ts +0 -1
  373. package/dist/esm/transports/mempool/getTransactionFee.d.ts.map +1 -1
  374. package/dist/esm/transports/mempool/getTransactionFee.js.map +1 -1
  375. package/dist/esm/transports/mempool/getTransactions.d.ts +0 -1
  376. package/dist/esm/transports/mempool/getTransactions.d.ts.map +1 -1
  377. package/dist/esm/transports/mempool/getTransactions.js.map +1 -1
  378. package/dist/esm/transports/mempool/mempool.d.ts +0 -1
  379. package/dist/esm/transports/mempool/mempool.d.ts.map +1 -1
  380. package/dist/esm/transports/mempool/mempool.js.map +1 -1
  381. package/dist/esm/transports/mempool/mempool.types.d.ts.map +1 -1
  382. package/dist/esm/transports/mempool/methods.d.ts +0 -1
  383. package/dist/esm/transports/mempool/methods.d.ts.map +1 -1
  384. package/dist/esm/transports/mempool/methods.js.map +1 -1
  385. package/dist/esm/transports/mempool/utils.d.ts +0 -1
  386. package/dist/esm/transports/mempool/utils.d.ts.map +1 -1
  387. package/dist/esm/transports/mempool/utils.js.map +1 -1
  388. package/dist/esm/transports/types.d.ts +17 -15
  389. package/dist/esm/transports/types.d.ts.map +1 -1
  390. package/dist/esm/transports/types.js.map +1 -1
  391. package/dist/esm/transports/utxo.d.ts +0 -1
  392. package/dist/esm/transports/utxo.d.ts.map +1 -1
  393. package/dist/esm/transports/utxo.js.map +1 -1
  394. package/dist/esm/types/account.d.ts +0 -1
  395. package/dist/esm/types/account.d.ts.map +1 -1
  396. package/dist/esm/types/address.d.ts +0 -1
  397. package/dist/esm/types/address.d.ts.map +1 -1
  398. package/dist/esm/types/address.js.map +1 -1
  399. package/dist/esm/types/block.d.ts +17 -17
  400. package/dist/esm/types/block.d.ts.map +1 -1
  401. package/dist/esm/types/blockStats.d.ts.map +1 -1
  402. package/dist/esm/types/chain.d.ts +20 -9
  403. package/dist/esm/types/chain.d.ts.map +1 -1
  404. package/dist/esm/types/chain.js.map +1 -1
  405. package/dist/esm/types/client.d.ts +40 -25
  406. package/dist/esm/types/client.d.ts.map +1 -1
  407. package/dist/esm/types/hash.d.ts.map +1 -1
  408. package/dist/esm/types/request.d.ts +12 -8
  409. package/dist/esm/types/request.d.ts.map +1 -1
  410. package/dist/esm/types/rpc.d.ts.map +1 -1
  411. package/dist/esm/types/transaction.d.ts.map +1 -1
  412. package/dist/esm/types/transport.d.ts +16 -11
  413. package/dist/esm/types/transport.d.ts.map +1 -1
  414. package/dist/esm/types/utils.d.ts +31 -31
  415. package/dist/esm/types/utils.d.ts.map +1 -1
  416. package/dist/esm/types/xpub.d.ts +0 -1
  417. package/dist/esm/types/xpub.d.ts.map +1 -1
  418. package/dist/esm/utils/buildRequest.d.ts +0 -1
  419. package/dist/esm/utils/buildRequest.d.ts.map +1 -1
  420. package/dist/esm/utils/buildRequest.js +4 -4
  421. package/dist/esm/utils/buildRequest.js.map +1 -1
  422. package/dist/esm/utils/cancelTransaction.d.ts +0 -1
  423. package/dist/esm/utils/cancelTransaction.d.ts.map +1 -1
  424. package/dist/esm/utils/cancelTransaction.js.map +1 -1
  425. package/dist/esm/utils/converter.d.ts.map +1 -1
  426. package/dist/esm/utils/converter.js.map +1 -1
  427. package/dist/esm/utils/createBatchScheduler.d.ts +1 -8
  428. package/dist/esm/utils/createBatchScheduler.d.ts.map +1 -1
  429. package/dist/esm/utils/createBatchScheduler.js +1 -1
  430. package/dist/esm/utils/createBatchScheduler.js.map +1 -1
  431. package/dist/esm/utils/deepEqual.d.ts.map +1 -1
  432. package/dist/esm/utils/deepEqual.js.map +1 -1
  433. package/dist/esm/utils/getAction.d.ts +6 -7
  434. package/dist/esm/utils/getAction.d.ts.map +1 -1
  435. package/dist/esm/utils/getAction.js.map +1 -1
  436. package/dist/esm/utils/getAddressInfo.d.ts +0 -1
  437. package/dist/esm/utils/getAddressInfo.d.ts.map +1 -1
  438. package/dist/esm/utils/getAddressInfo.js +25 -25
  439. package/dist/esm/utils/getAddressInfo.js.map +1 -1
  440. package/dist/esm/utils/idCache.d.ts.map +1 -1
  441. package/dist/esm/utils/idCache.js.map +1 -1
  442. package/dist/esm/utils/isAddress.d.ts +0 -1
  443. package/dist/esm/utils/isAddress.d.ts.map +1 -1
  444. package/dist/esm/utils/isAddress.js.map +1 -1
  445. package/dist/esm/utils/lru.d.ts +4 -4
  446. package/dist/esm/utils/lru.d.ts.map +1 -1
  447. package/dist/esm/utils/lru.js.map +1 -1
  448. package/dist/esm/utils/modifyFee.d.ts +0 -1
  449. package/dist/esm/utils/modifyFee.d.ts.map +1 -1
  450. package/dist/esm/utils/modifyFee.js.map +1 -1
  451. package/dist/esm/utils/observe.d.ts +4 -5
  452. package/dist/esm/utils/observe.d.ts.map +1 -1
  453. package/dist/esm/utils/observe.js +2 -2
  454. package/dist/esm/utils/observe.js.map +1 -1
  455. package/dist/esm/utils/parseAccount.d.ts +0 -1
  456. package/dist/esm/utils/parseAccount.d.ts.map +1 -1
  457. package/dist/esm/utils/parseAccount.js.map +1 -1
  458. package/dist/esm/utils/poll.d.ts +4 -10
  459. package/dist/esm/utils/poll.d.ts.map +1 -1
  460. package/dist/esm/utils/poll.js.map +1 -1
  461. package/dist/esm/utils/retryUntil.d.ts +17 -15
  462. package/dist/esm/utils/retryUntil.d.ts.map +1 -1
  463. package/dist/esm/utils/retryUntil.js.map +1 -1
  464. package/dist/esm/utils/sleep.d.ts.map +1 -1
  465. package/dist/esm/utils/sleep.js.map +1 -1
  466. package/dist/esm/utils/stringify.d.ts +0 -1
  467. package/dist/esm/utils/stringify.d.ts.map +1 -1
  468. package/dist/esm/utils/stringify.js.map +1 -1
  469. package/dist/esm/utils/uid.d.ts.map +1 -1
  470. package/dist/esm/utils/uid.js.map +1 -1
  471. package/dist/esm/utils/url.d.ts.map +1 -1
  472. package/dist/esm/utils/url.js.map +1 -1
  473. package/dist/esm/utils/wait.d.ts.map +1 -1
  474. package/dist/esm/utils/wait.js.map +1 -1
  475. package/dist/esm/utils/withDedupe.d.ts +1 -5
  476. package/dist/esm/utils/withDedupe.d.ts.map +1 -1
  477. package/dist/esm/utils/withDedupe.js +1 -1
  478. package/dist/esm/utils/withDedupe.js.map +1 -1
  479. package/dist/esm/utils/withResolvers.d.ts.map +1 -1
  480. package/dist/esm/utils/withResolvers.js.map +1 -1
  481. package/dist/esm/utils/withRetry.d.ts +2 -10
  482. package/dist/esm/utils/withRetry.d.ts.map +1 -1
  483. package/dist/esm/utils/withRetry.js.map +1 -1
  484. package/dist/esm/utils/withTimeout.d.ts +2 -9
  485. package/dist/esm/utils/withTimeout.d.ts.map +1 -1
  486. package/dist/esm/utils/withTimeout.js.map +1 -1
  487. package/dist/esm/version.d.ts +1 -1
  488. package/dist/esm/version.d.ts.map +1 -1
  489. package/dist/esm/version.js +1 -1
  490. package/dist/esm/version.js.map +1 -1
  491. package/package.json +3 -2
  492. package/src/version.ts +1 -1
  493. package/dist/cjs/transports/__mocks__/getTransactionFee.d.ts +0 -7
  494. package/dist/cjs/transports/__mocks__/getTransactionFee.js +0 -11
  495. package/dist/cjs/transports/__mocks__/getTransactionFee.js.map +0 -1
  496. package/dist/esm/transports/__mocks__/getTransactionFee.d.ts +0 -7
  497. package/dist/esm/transports/__mocks__/getTransactionFee.d.ts.map +0 -1
  498. package/dist/esm/transports/__mocks__/getTransactionFee.js +0 -8
  499. package/dist/esm/transports/__mocks__/getTransactionFee.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getHttpRpcClient.js","names":[],"sources":["../../../src/transports/getHttpRpcClient.ts"],"sourcesContent":["import { HttpRequestError, TimeoutError } from '../errors/request.js'\nimport type { RpcResponse } from '../types/rpc.js'\nimport type { MaybePromise } from '../types/utils.js'\nimport { idCache } from '../utils/idCache.js'\nimport { stringify } from '../utils/stringify.js'\nimport { withTimeout } from '../utils/withTimeout.js'\n\nexport type RpcRequest = {\n jsonrpc?: '2.0'\n method: string\n params?: any\n id?: number\n}\n\nexport type HttpRequestReturnType<\n body extends RpcRequest | RpcRequest[] = RpcRequest,\n> = body extends RpcRequest[] ? RpcResponse[] : RpcResponse\n\nexport type HttpRpcClientOptions = {\n /** Request configuration to pass to `fetch`. */\n fetchOptions?: Omit<RequestInit, 'body'> | undefined\n /** A callback to handle the request. */\n onRequest?:\n | ((\n request: Request,\n init: RequestInit\n ) => MaybePromise<\n void | undefined | (RequestInit & { url?: string | undefined })\n >)\n | undefined\n /** A callback to handle the response. */\n onResponse?: ((response: Response) => Promise<void> | void) | undefined\n /** The timeout (in ms) for the request. */\n timeout?: number | undefined\n}\n\nexport type HttpRequestParameters<\n body extends RpcRequest | RpcRequest[] = RpcRequest,\n> = {\n url?: string\n /** The RPC request body. */\n body?: body\n /** Request configuration to pass to `fetch`. */\n fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined\n /** A callback to handle the response. */\n onRequest?: ((request: Request) => Promise<void> | void) | undefined\n /** A callback to handle the response. */\n onResponse?: ((response: Response) => Promise<void> | void) | undefined\n /** The timeout (in ms) for the request. */\n timeout?: HttpRpcClientOptions['timeout'] | undefined\n}\n\nexport type HttpRpcClient = {\n request<body extends RpcRequest | RpcRequest[]>(\n params: HttpRequestParameters<body>\n ): Promise<HttpRequestReturnType<body>>\n}\n\nexport function getHttpRpcClient(\n url: string,\n options: HttpRpcClientOptions = {}\n): HttpRpcClient {\n return {\n async request(params) {\n const {\n body,\n onRequest = options.onRequest,\n onResponse = options.onResponse,\n timeout = options.timeout ?? 10_000,\n } = params\n\n const fetchOptions = {\n ...(options.fetchOptions ?? {}),\n ...(params.fetchOptions ?? {}),\n }\n\n const { headers, method, signal: signal_ } = fetchOptions\n\n try {\n const response = await withTimeout(\n async ({ signal }) => {\n const preparedBody = body\n ? Array.isArray(body)\n ? body.map((b) => ({\n jsonrpc: '2.0' as const,\n id: b.id ?? idCache.take(),\n ...b,\n }))\n : {\n jsonrpc: '2.0' as const,\n id: body.id ?? idCache.take(),\n ...body,\n }\n : undefined\n const init: RequestInit = {\n ...fetchOptions,\n body: preparedBody ? stringify(preparedBody) : undefined,\n headers: {\n ...(method !== 'GET'\n ? { 'Content-Type': 'application/json' }\n : undefined),\n ...headers,\n },\n method: method || 'POST',\n signal: signal_ || (timeout > 0 ? signal : null),\n }\n const request = new Request(params.url ?? url, init)\n if (onRequest) {\n await onRequest(request, init)\n }\n const response = await fetch(params.url ?? url, init)\n return response\n },\n {\n errorInstance: new TimeoutError({\n body: body ?? {},\n url: params.url ?? url,\n timeout,\n }),\n timeout,\n signal: true,\n }\n )\n\n if (onResponse) {\n await onResponse(response)\n }\n\n let data: any\n if (\n response.headers.get('Content-Type')?.startsWith('application/json')\n ) {\n data = await response.json()\n } else {\n data = await response.text()\n data = JSON.parse(data || '{}')\n }\n\n if (!response.ok) {\n throw new HttpRequestError({\n body,\n details: stringify(data.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n })\n }\n return data\n } catch (err) {\n if (err instanceof HttpRequestError) {\n throw err\n }\n if (err instanceof TimeoutError) {\n throw err\n }\n throw new HttpRequestError({\n body,\n cause: err as Error,\n url,\n })\n }\n },\n }\n}\n"],"mappings":";;;;;AA0DA,SAAgB,iBACd,KACA,UAAgC,EAAE,EACnB;AACf,QAAO,EACL,MAAM,QAAQ,QAAQ;EACpB,MAAM,EACJ,MACA,YAAY,QAAQ,WACpB,aAAa,QAAQ,YACrB,UAAU,QAAQ,WAAW,QAC3B;EAEJ,MAAM,eAAe;GACnB,GAAI,QAAQ,gBAAgB,EAAE;GAC9B,GAAI,OAAO,gBAAgB,EAAE;GAC9B;EAED,MAAM,EAAE,SAAS,QAAQ,QAAQ,YAAY;AAE7C,MAAI;GACF,MAAM,WAAW,MAAM,YACrB,OAAO,EAAE,aAAa;IACpB,MAAM,eAAe,OACjB,MAAM,QAAQ,KAAK,GACjB,KAAK,KAAK,OAAO;KACf,SAAS;KACT,IAAI,EAAE,MAAM,QAAQ,MAAM;KAC1B,GAAG;KACJ,EAAE,GACH;KACE,SAAS;KACT,IAAI,KAAK,MAAM,QAAQ,MAAM;KAC7B,GAAG;KACJ,GACH,KAAA;IACJ,MAAM,OAAoB;KACxB,GAAG;KACH,MAAM,eAAe,UAAU,aAAa,GAAG,KAAA;KAC/C,SAAS;MACP,GAAI,WAAW,QACX,EAAE,gBAAgB,oBAAoB,GACtC,KAAA;MACJ,GAAG;MACJ;KACD,QAAQ,UAAU;KAClB,QAAQ,YAAY,UAAU,IAAI,SAAS;KAC5C;IACD,MAAM,UAAU,IAAI,QAAQ,OAAO,OAAO,KAAK,KAAK;AACpD,QAAI,UACF,OAAM,UAAU,SAAS,KAAK;AAGhC,WADiB,MAAM,MAAM,OAAO,OAAO,KAAK,KAAK;MAGvD;IACE,eAAe,IAAI,aAAa;KAC9B,MAAM,QAAQ,EAAE;KAChB,KAAK,OAAO,OAAO;KACnB;KACD,CAAC;IACF;IACA,QAAQ;IACT,CACF;AAED,OAAI,WACF,OAAM,WAAW,SAAS;GAG5B,IAAI;AACJ,OACE,SAAS,QAAQ,IAAI,eAAe,EAAE,WAAW,mBAAmB,CAEpE,QAAO,MAAM,SAAS,MAAM;QACvB;AACL,WAAO,MAAM,SAAS,MAAM;AAC5B,WAAO,KAAK,MAAM,QAAQ,KAAK;;AAGjC,OAAI,CAAC,SAAS,GACZ,OAAM,IAAI,iBAAiB;IACzB;IACA,SAAS,UAAU,KAAK,MAAM,IAAI,SAAS;IAC3C,SAAS,SAAS;IAClB,QAAQ,SAAS;IACjB;IACD,CAAC;AAEJ,UAAO;WACA,KAAK;AACZ,OAAI,eAAe,iBACjB,OAAM;AAER,OAAI,eAAe,aACjB,OAAM;AAER,SAAM,IAAI,iBAAiB;IACzB;IACA,OAAO;IACP;IACD,CAAC;;IAGP"}
1
+ {"version":3,"file":"getHttpRpcClient.js","names":[],"sources":["../../../src/transports/getHttpRpcClient.ts"],"sourcesContent":["import { HttpRequestError, TimeoutError } from '../errors/request.js'\nimport type { RpcResponse } from '../types/rpc.js'\nimport type { MaybePromise } from '../types/utils.js'\nimport { idCache } from '../utils/idCache.js'\nimport { stringify } from '../utils/stringify.js'\nimport { withTimeout } from '../utils/withTimeout.js'\n\nexport type RpcRequest = {\n jsonrpc?: '2.0'\n method: string\n params?: any\n id?: number\n}\n\nexport type HttpRequestReturnType<\n body extends RpcRequest | RpcRequest[] = RpcRequest,\n> = body extends RpcRequest[] ? RpcResponse[] : RpcResponse\n\nexport type HttpRpcClientOptions = {\n /** Request configuration to pass to `fetch`. */\n fetchOptions?: Omit<RequestInit, 'body'> | undefined\n /** A callback to handle the request. */\n onRequest?:\n | ((\n request: Request,\n init: RequestInit\n ) => MaybePromise<\n void | undefined | (RequestInit & { url?: string | undefined })\n >)\n | undefined\n /** A callback to handle the response. */\n onResponse?: ((response: Response) => Promise<void> | void) | undefined\n /** The timeout (in ms) for the request. */\n timeout?: number | undefined\n}\n\nexport type HttpRequestParameters<\n body extends RpcRequest | RpcRequest[] = RpcRequest,\n> = {\n url?: string\n /** The RPC request body. */\n body?: body\n /** Request configuration to pass to `fetch`. */\n fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined\n /** A callback to handle the response. */\n onRequest?: ((request: Request) => Promise<void> | void) | undefined\n /** A callback to handle the response. */\n onResponse?: ((response: Response) => Promise<void> | void) | undefined\n /** The timeout (in ms) for the request. */\n timeout?: HttpRpcClientOptions['timeout'] | undefined\n}\n\nexport type HttpRpcClient = {\n request<body extends RpcRequest | RpcRequest[]>(\n params: HttpRequestParameters<body>\n ): Promise<HttpRequestReturnType<body>>\n}\n\nexport function getHttpRpcClient(\n url: string,\n options: HttpRpcClientOptions = {}\n): HttpRpcClient {\n return {\n async request(params) {\n const {\n body,\n onRequest = options.onRequest,\n onResponse = options.onResponse,\n timeout = options.timeout ?? 10_000,\n } = params\n\n const fetchOptions = {\n ...(options.fetchOptions ?? {}),\n ...(params.fetchOptions ?? {}),\n }\n\n const { headers, method, signal: signal_ } = fetchOptions\n\n try {\n const response = await withTimeout(\n async ({ signal }) => {\n const preparedBody = body\n ? Array.isArray(body)\n ? body.map((b) => ({\n jsonrpc: '2.0' as const,\n id: b.id ?? idCache.take(),\n ...b,\n }))\n : {\n jsonrpc: '2.0' as const,\n id: body.id ?? idCache.take(),\n ...body,\n }\n : undefined\n const init: RequestInit = {\n ...fetchOptions,\n body: preparedBody ? stringify(preparedBody) : undefined,\n headers: {\n ...(method !== 'GET'\n ? { 'Content-Type': 'application/json' }\n : undefined),\n ...headers,\n },\n method: method || 'POST',\n signal: signal_ || (timeout > 0 ? signal : null),\n }\n const request = new Request(params.url ?? url, init)\n if (onRequest) {\n await onRequest(request, init)\n }\n const response = await fetch(params.url ?? url, init)\n return response\n },\n {\n errorInstance: new TimeoutError({\n body: body ?? {},\n url: params.url ?? url,\n timeout,\n }),\n timeout,\n signal: true,\n }\n )\n\n if (onResponse) {\n await onResponse(response)\n }\n\n let data: any\n if (\n response.headers.get('Content-Type')?.startsWith('application/json')\n ) {\n data = await response.json()\n } else {\n data = await response.text()\n data = JSON.parse(data || '{}')\n }\n\n if (!response.ok) {\n throw new HttpRequestError({\n body,\n details: stringify(data.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n })\n }\n return data\n } catch (err) {\n if (err instanceof HttpRequestError) {\n throw err\n }\n if (err instanceof TimeoutError) {\n throw err\n }\n throw new HttpRequestError({\n body,\n cause: err as Error,\n url,\n })\n }\n },\n }\n}\n"],"mappings":";;;;;AA0DA,SAAgB,iBACd,KACA,UAAgC,CAAC,GAClB;CACf,OAAO,EACL,MAAM,QAAQ,QAAQ;EACpB,MAAM,EACJ,MACA,YAAY,QAAQ,WACpB,aAAa,QAAQ,YACrB,UAAU,QAAQ,WAAW,QAC3B;EAEJ,MAAM,eAAe;GACnB,GAAI,QAAQ,gBAAgB,CAAC;GAC7B,GAAI,OAAO,gBAAgB,CAAC;EAC9B;EAEA,MAAM,EAAE,SAAS,QAAQ,QAAQ,YAAY;EAE7C,IAAI;GACF,MAAM,WAAW,MAAM,YACrB,OAAO,EAAE,aAAa;IACpB,MAAM,eAAe,OACjB,MAAM,QAAQ,IAAI,IAChB,KAAK,KAAK,OAAO;KACf,SAAS;KACT,IAAI,EAAE,MAAM,QAAQ,KAAK;KACzB,GAAG;IACL,EAAE,IACF;KACE,SAAS;KACT,IAAI,KAAK,MAAM,QAAQ,KAAK;KAC5B,GAAG;IACL,IACF,KAAA;IACJ,MAAM,OAAoB;KACxB,GAAG;KACH,MAAM,eAAe,UAAU,YAAY,IAAI,KAAA;KAC/C,SAAS;MACP,GAAI,WAAW,QACX,EAAE,gBAAgB,mBAAmB,IACrC,KAAA;MACJ,GAAG;KACL;KACA,QAAQ,UAAU;KAClB,QAAQ,YAAY,UAAU,IAAI,SAAS;IAC7C;IACA,MAAM,UAAU,IAAI,QAAQ,OAAO,OAAO,KAAK,IAAI;IACnD,IAAI,WACF,MAAM,UAAU,SAAS,IAAI;IAG/B,OAAO,MADgB,MAAM,OAAO,OAAO,KAAK,IAAI;GAEtD,GACA;IACE,eAAe,IAAI,aAAa;KAC9B,MAAM,QAAQ,CAAC;KACf,KAAK,OAAO,OAAO;KACnB;IACF,CAAC;IACD;IACA,QAAQ;GACV,CACF;GAEA,IAAI,YACF,MAAM,WAAW,QAAQ;GAG3B,IAAI;GACJ,IACE,SAAS,QAAQ,IAAI,cAAc,CAAC,EAAE,WAAW,kBAAkB,GAEnE,OAAO,MAAM,SAAS,KAAK;QACtB;IACL,OAAO,MAAM,SAAS,KAAK;IAC3B,OAAO,KAAK,MAAM,QAAQ,IAAI;GAChC;GAEA,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,iBAAiB;IACzB;IACA,SAAS,UAAU,KAAK,KAAK,KAAK,SAAS;IAC3C,SAAS,SAAS;IAClB,QAAQ,SAAS;IACjB;GACF,CAAC;GAEH,OAAO;EACT,SAAS,KAAK;GACZ,IAAI,eAAe,kBACjB,MAAM;GAER,IAAI,eAAe,cACjB,MAAM;GAER,MAAM,IAAI,iBAAiB;IACzB;IACA,OAAO;IACP;GACF,CAAC;EACH;CACF,EACF;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { RpcMethods } from "./types.js";
2
-
3
2
  //#region src/transports/getRpcProviderMethods.d.ts
4
3
  type providers = "blockchair" | "ankr" | "blockcypher" | "mempool" | string;
5
4
  declare function getRpcProviderMethods(key: providers): RpcMethods | null;
@@ -1 +1 @@
1
- {"version":3,"file":"getRpcProviderMethods.d.ts","names":[],"sources":["../../../src/transports/getRpcProviderMethods.ts"],"mappings":";;;KAMK,SAAA;AAAA,iBAEW,qBAAA,CAAsB,GAAA,EAAK,SAAA,GAAY,UAAA"}
1
+ {"version":3,"file":"getRpcProviderMethods.d.ts","names":[],"sources":["../../../src/transports/getRpcProviderMethods.ts"],"mappings":";;KAMK;iBAEW,sBAAsB,KAAK,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRpcProviderMethods.js","names":[],"sources":["../../../src/transports/getRpcProviderMethods.ts"],"sourcesContent":["import { ankrMethods } from './ankr/methods.js'\nimport { blockchairMethods } from './blockchair/methods.js'\nimport { blockcypherMethods } from './blockcypher/methods.js'\nimport { mempoolMethods } from './mempool/methods.js'\nimport type { RpcMethods } from './types.js'\n\ntype providers = 'blockchair' | 'ankr' | 'blockcypher' | 'mempool' | string\n\nexport function getRpcProviderMethods(key: providers): RpcMethods | null {\n switch (key) {\n case 'blockchair':\n return blockchairMethods\n case 'ankr':\n return ankrMethods\n case 'blockcypher':\n return blockcypherMethods\n case 'mempool':\n return mempoolMethods\n default:\n return null\n }\n}\n"],"mappings":";;;;;AAQA,SAAgB,sBAAsB,KAAmC;AACvE,SAAQ,KAAR;EACE,KAAK,aACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO"}
1
+ {"version":3,"file":"getRpcProviderMethods.js","names":[],"sources":["../../../src/transports/getRpcProviderMethods.ts"],"sourcesContent":["import { ankrMethods } from './ankr/methods.js'\nimport { blockchairMethods } from './blockchair/methods.js'\nimport { blockcypherMethods } from './blockcypher/methods.js'\nimport { mempoolMethods } from './mempool/methods.js'\nimport type { RpcMethods } from './types.js'\n\ntype providers = 'blockchair' | 'ankr' | 'blockcypher' | 'mempool' | string\n\nexport function getRpcProviderMethods(key: providers): RpcMethods | null {\n switch (key) {\n case 'blockchair':\n return blockchairMethods\n case 'ankr':\n return ankrMethods\n case 'blockcypher':\n return blockcypherMethods\n case 'mempool':\n return mempoolMethods\n default:\n return null\n }\n}\n"],"mappings":";;;;;AAQA,SAAgB,sBAAsB,KAAmC;CACvE,QAAQ,KAAR;EACE,KAAK,cACH,OAAO;EACT,KAAK,QACH,OAAO;EACT,KAAK,eACH,OAAO;EACT,KAAK,WACH,OAAO;EACT,SACE,OAAO;CACX;AACF"}
@@ -3,31 +3,42 @@ import { ErrorType } from "../errors/utils.js";
3
3
  import { BtcRpcRequestFn, RpcSchema } from "../types/request.js";
4
4
  import { CreateTransportErrorType, Transport, TransportConfig } from "../types/transport.js";
5
5
  import { UrlRequiredErrorType } from "../errors/transport.js";
6
-
7
6
  //#region src/transports/http.d.ts
8
7
  type HttpTransportConfig<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = {
9
8
  /**
10
- * Whether to enable Batch JSON-RPC.
11
- * @link https://www.jsonrpc.org/specification#batch
12
- */
9
+ * Whether to enable Batch JSON-RPC.
10
+ * @link https://www.jsonrpc.org/specification#batch
11
+ */
13
12
  batch?: boolean | {
14
- /** The maximum number of JSON-RPC requests to send in a batch. @default 1_000 */batchSize?: number | undefined; /** The maximum number of milliseconds to wait before sending a batch. @default 0 */
13
+ /** The maximum number of JSON-RPC requests to send in a batch. @default 1_000 */
14
+ batchSize?: number | undefined;
15
+ /** The maximum number of milliseconds to wait before sending a batch. @default 0 */
15
16
  wait?: number | undefined;
16
17
  } | undefined;
17
18
  /**
18
- * Request configuration to pass to `fetch`.
19
- * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
20
- */
21
- fetchOptions?: HttpRpcClientOptions["fetchOptions"] | undefined; /** A callback to handle the response from `fetch`. */
22
- onFetchRequest?: HttpRpcClientOptions["onRequest"] | undefined; /** A callback to handle the response from `fetch`. */
23
- onFetchResponse?: HttpRpcClientOptions["onResponse"] | undefined; /** The key of the HTTP transport. */
24
- key?: TransportConfig["key"] | undefined; /** Methods to include or exclude from executing RPC requests. */
25
- methods?: TransportConfig["methods"] | undefined; /** The name of the HTTP transport. */
26
- name?: TransportConfig["name"] | undefined; /** Whether to return JSON RPC errors as responses instead of throwing. */
27
- raw?: raw | boolean | undefined; /** The max number of times to retry. */
28
- retryCount?: TransportConfig["retryCount"] | undefined; /** The base delay (in ms) between retries. */
29
- retryDelay?: TransportConfig["retryDelay"] | undefined; /** Typed JSON-RPC schema for the transport. */
30
- rpcSchema?: rpcSchema | RpcSchema | undefined; /** The timeout (in ms) for the HTTP request. Default: 10_000 */
19
+ * Request configuration to pass to `fetch`.
20
+ * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
21
+ */
22
+ fetchOptions?: HttpRpcClientOptions["fetchOptions"] | undefined;
23
+ /** A callback to handle the response from `fetch`. */
24
+ onFetchRequest?: HttpRpcClientOptions["onRequest"] | undefined;
25
+ /** A callback to handle the response from `fetch`. */
26
+ onFetchResponse?: HttpRpcClientOptions["onResponse"] | undefined;
27
+ /** The key of the HTTP transport. */
28
+ key?: TransportConfig["key"] | undefined;
29
+ /** Methods to include or exclude from executing RPC requests. */
30
+ methods?: TransportConfig["methods"] | undefined;
31
+ /** The name of the HTTP transport. */
32
+ name?: TransportConfig["name"] | undefined;
33
+ /** Whether to return JSON RPC errors as responses instead of throwing. */
34
+ raw?: raw | boolean | undefined;
35
+ /** The max number of times to retry. */
36
+ retryCount?: TransportConfig["retryCount"] | undefined;
37
+ /** The base delay (in ms) between retries. */
38
+ retryDelay?: TransportConfig["retryDelay"] | undefined;
39
+ /** Typed JSON-RPC schema for the transport. */
40
+ rpcSchema?: rpcSchema | RpcSchema | undefined;
41
+ /** The timeout (in ms) for the HTTP request. Default: 10_000 */
31
42
  timeout?: TransportConfig["timeout"] | undefined;
32
43
  };
33
44
  type HttpTransport<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = Transport<"http", {
@@ -36,8 +47,8 @@ type HttpTransport<rpcSchema extends RpcSchema | undefined = undefined, raw exte
36
47
  }, BtcRpcRequestFn<rpcSchema, raw>>;
37
48
  type HttpTransportErrorType = CreateTransportErrorType | UrlRequiredErrorType | ErrorType;
38
49
  /**
39
- * @description Creates a HTTP transport that connects to a JSON-RPC API.
40
- */
50
+ * @description Creates a HTTP transport that connects to a JSON-RPC API.
51
+ */
41
52
  declare function http<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false>(url?: string | undefined, config?: HttpTransportConfig<rpcSchema, raw>): HttpTransport<rpcSchema, raw>;
42
53
  //#endregion
43
54
  export { HttpTransport, HttpTransportConfig, HttpTransportErrorType, http };
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","names":[],"sources":["../../../src/transports/http.ts"],"mappings":";;;;;;;KAsBY,mBAAA,mBACQ,SAAA;;;;;EAOlB,KAAA;IAmBM,iFAfA,SAAA,uBAmBC;IAjBD,IAAA;EAAA;;;;;EAON,YAAA,GAAe,oBAAA,8BAoBL;EAlBV,cAAA,GAAiB,oBAAA;EAEjB,eAAA,GAAkB,oBAAA;EAElB,GAAA,GAAM,eAAA;EAEN,OAAA,GAAU,eAAA;EAEV,IAAA,GAAO,eAAA;EAEP,GAAA,GAAM,GAAA;EAEN,UAAA,GAAa,eAAA;EAEb,UAAA,GAAa,eAAA;EAEb,SAAA,GAAY,SAAA,GAAY,SAAA;EAExB,OAAA,GAAU,eAAA;AAAA;AAAA,KAGA,aAAA,mBACQ,SAAA,yDAEhB,SAAA;EAGA,YAAA,GAAe,mBAAA;EACf,GAAA;AAAA,GAEF,eAAA,CAAgB,SAAA,EAAW,GAAA;AAAA,KAGjB,sBAAA,GACR,wBAAA,GACA,oBAAA,GACA,SAAA;;;;iBAKY,IAAA,mBACI,SAAA,sDAAA,CAIlB,GAAA,uBACA,MAAA,GAAQ,mBAAA,CAAoB,SAAA,EAAW,GAAA,IACtC,aAAA,CAAc,SAAA,EAAW,GAAA"}
1
+ {"version":3,"file":"http.d.ts","names":[],"sources":["../../../src/transports/http.ts"],"mappings":";;;;;;KAsBY,oBACV,kBAAkB,mCAClB;;;;;EAMA;;IAIM;;IAEA;;;;;;EAON,eAAe;;EAEf,iBAAiB;;EAEjB,kBAAkB;;EAElB,MAAM;;EAEN,UAAU;;EAEV,OAAO;;EAEP,MAAM;;EAEN,aAAa;;EAEb,aAAa;;EAEb,YAAY,YAAY;;EAExB,UAAU;;KAGA,cACV,kBAAkB,mCAClB,+BACE;EAGA,eAAe;EACf;GAEF,gBAAgB,WAAW;KAGjB,yBACR,2BACA,uBACA;;;;iBAKY,KACd,kBAAkB,mCAClB,6BAGA,0BACA,SAAQ,oBAAoB,WAAW,OACtC,cAAc,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","names":[],"sources":["../../../src/transports/http.ts"],"sourcesContent":["import { RpcRequestError } from '../errors/request.js'\nimport {\n UrlRequiredError,\n type UrlRequiredErrorType,\n} from '../errors/transport.js'\nimport type { ErrorType } from '../errors/utils.js'\nimport { createTransport } from '../factories/createTransport.js'\nimport type { BtcRpcRequestFn, RpcSchema } from '../types/request.js'\nimport type {\n CreateTransportErrorType,\n Transport,\n TransportConfig,\n} from '../types/transport.js'\nimport { createBatchScheduler } from '../utils/createBatchScheduler.js'\nimport { idCache } from '../utils/idCache.js'\nimport {\n getHttpRpcClient,\n type HttpRpcClientOptions,\n type RpcRequest,\n} from './getHttpRpcClient.js'\nimport { UTXOAPISchemaMethods } from './types.js'\n\nexport type HttpTransportConfig<\n rpcSchema extends RpcSchema | undefined = undefined,\n raw extends boolean = false,\n> = {\n /**\n * Whether to enable Batch JSON-RPC.\n * @link https://www.jsonrpc.org/specification#batch\n */\n batch?:\n | boolean\n | {\n /** The maximum number of JSON-RPC requests to send in a batch. @default 1_000 */\n batchSize?: number | undefined\n /** The maximum number of milliseconds to wait before sending a batch. @default 0 */\n wait?: number | undefined\n }\n | undefined\n /**\n * Request configuration to pass to `fetch`.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch\n */\n fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined\n /** A callback to handle the response from `fetch`. */\n onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined\n /** A callback to handle the response from `fetch`. */\n onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined\n /** The key of the HTTP transport. */\n key?: TransportConfig['key'] | undefined\n /** Methods to include or exclude from executing RPC requests. */\n methods?: TransportConfig['methods'] | undefined\n /** The name of the HTTP transport. */\n name?: TransportConfig['name'] | undefined\n /** Whether to return JSON RPC errors as responses instead of throwing. */\n raw?: raw | boolean | undefined\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount'] | undefined\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay'] | undefined\n /** Typed JSON-RPC schema for the transport. */\n rpcSchema?: rpcSchema | RpcSchema | undefined\n /** The timeout (in ms) for the HTTP request. Default: 10_000 */\n timeout?: TransportConfig['timeout'] | undefined\n}\n\nexport type HttpTransport<\n rpcSchema extends RpcSchema | undefined = undefined,\n raw extends boolean = false,\n> = Transport<\n 'http',\n {\n fetchOptions?: HttpTransportConfig['fetchOptions'] | undefined\n url?: string | undefined\n },\n BtcRpcRequestFn<rpcSchema, raw>\n>\n\nexport type HttpTransportErrorType =\n | CreateTransportErrorType\n | UrlRequiredErrorType\n | ErrorType\n\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nexport function http<\n rpcSchema extends RpcSchema | undefined = undefined,\n raw extends boolean = false,\n>(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string | undefined,\n config: HttpTransportConfig<rpcSchema, raw> = {}\n): HttpTransport<rpcSchema, raw> {\n const {\n batch,\n fetchOptions,\n key = 'http',\n methods = { exclude: UTXOAPISchemaMethods },\n name = 'HTTP JSON-RPC',\n onFetchRequest,\n onFetchResponse,\n retryDelay,\n raw,\n } = config\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const { batchSize = 1000, wait = 0 } =\n typeof batch === 'object' ? batch : {}\n const retryCount = config.retryCount ?? retryCount_\n const timeout = timeout_ ?? config.timeout ?? 10_000\n const url_ = url || chain?.rpcUrls.default.http[0]\n if (!url_) {\n throw new UrlRequiredError()\n }\n\n const rpcClient = getHttpRpcClient(url_, {\n fetchOptions,\n onRequest: onFetchRequest,\n onResponse: onFetchResponse,\n timeout,\n })\n\n return createTransport(\n {\n key,\n methods,\n name,\n async request({ method, params }) {\n const body = {\n jsonrpc: '2.0' as const,\n id: idCache.take(),\n method,\n params,\n }\n\n const { schedule } = createBatchScheduler({\n id: url_,\n wait,\n shouldSplitBatch(requests) {\n return requests.length > batchSize\n },\n fn: (body: RpcRequest[]) =>\n rpcClient.request({\n body,\n }),\n sort: (a, b) => a.id - b.id,\n })\n\n const fn = async (body: RpcRequest) =>\n batch\n ? schedule(body)\n : [\n await rpcClient.request({\n body,\n }),\n ]\n\n const [{ error, result }] = await fn(body)\n\n if (raw) {\n return { error, result }\n }\n if (error) {\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n })\n }\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n },\n {\n fetchOptions,\n url: url_,\n }\n )\n }\n}\n"],"mappings":";;;;;;;;;;;AAsFA,SAAgB,KAKd,KACA,SAA8C,EAAE,EACjB;CAC/B,MAAM,EACJ,OACA,cACA,MAAM,QACN,UAAU,EAAE,SAAS,sBAAsB,EAC3C,OAAO,iBACP,gBACA,iBACA,YACA,QACE;AACJ,SAAQ,EAAE,OAAO,YAAY,aAAa,SAAS,eAAe;EAChE,MAAM,EAAE,YAAY,KAAM,OAAO,MAC/B,OAAO,UAAU,WAAW,QAAQ,EAAE;EACxC,MAAM,aAAa,OAAO,cAAc;EACxC,MAAM,UAAU,YAAY,OAAO,WAAW;EAC9C,MAAM,OAAO,OAAO,OAAO,QAAQ,QAAQ,KAAK;AAChD,MAAI,CAAC,KACH,OAAM,IAAI,kBAAkB;EAG9B,MAAM,YAAY,iBAAiB,MAAM;GACvC;GACA,WAAW;GACX,YAAY;GACZ;GACD,CAAC;AAEF,SAAO,gBACL;GACE;GACA;GACA;GACA,MAAM,QAAQ,EAAE,QAAQ,UAAU;IAChC,MAAM,OAAO;KACX,SAAS;KACT,IAAI,QAAQ,MAAM;KAClB;KACA;KACD;IAED,MAAM,EAAE,aAAa,qBAAqB;KACxC,IAAI;KACJ;KACA,iBAAiB,UAAU;AACzB,aAAO,SAAS,SAAS;;KAE3B,KAAK,SACH,UAAU,QAAQ,EAChB,MACD,CAAC;KACJ,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE;KAC1B,CAAC;IAEF,MAAM,KAAK,OAAO,SAChB,QACI,SAAS,KAAK,GACd,CACE,MAAM,UAAU,QAAQ,EACtB,MACD,CAAC,CACH;IAEP,MAAM,CAAC,EAAE,OAAO,YAAY,MAAM,GAAG,KAAK;AAE1C,QAAI,IACF,QAAO;KAAE;KAAO;KAAQ;AAE1B,QAAI,MACF,OAAM,IAAI,gBAAgB;KACxB;KACA;KACA,KAAK;KACN,CAAC;AAEJ,WAAO;;GAET;GACA;GACA;GACA,MAAM;GACP,EACD;GACE;GACA,KAAK;GACN,CACF"}
1
+ {"version":3,"file":"http.js","names":[],"sources":["../../../src/transports/http.ts"],"sourcesContent":["import { RpcRequestError } from '../errors/request.js'\nimport {\n UrlRequiredError,\n type UrlRequiredErrorType,\n} from '../errors/transport.js'\nimport type { ErrorType } from '../errors/utils.js'\nimport { createTransport } from '../factories/createTransport.js'\nimport type { BtcRpcRequestFn, RpcSchema } from '../types/request.js'\nimport type {\n CreateTransportErrorType,\n Transport,\n TransportConfig,\n} from '../types/transport.js'\nimport { createBatchScheduler } from '../utils/createBatchScheduler.js'\nimport { idCache } from '../utils/idCache.js'\nimport {\n getHttpRpcClient,\n type HttpRpcClientOptions,\n type RpcRequest,\n} from './getHttpRpcClient.js'\nimport { UTXOAPISchemaMethods } from './types.js'\n\nexport type HttpTransportConfig<\n rpcSchema extends RpcSchema | undefined = undefined,\n raw extends boolean = false,\n> = {\n /**\n * Whether to enable Batch JSON-RPC.\n * @link https://www.jsonrpc.org/specification#batch\n */\n batch?:\n | boolean\n | {\n /** The maximum number of JSON-RPC requests to send in a batch. @default 1_000 */\n batchSize?: number | undefined\n /** The maximum number of milliseconds to wait before sending a batch. @default 0 */\n wait?: number | undefined\n }\n | undefined\n /**\n * Request configuration to pass to `fetch`.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/fetch\n */\n fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined\n /** A callback to handle the response from `fetch`. */\n onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined\n /** A callback to handle the response from `fetch`. */\n onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined\n /** The key of the HTTP transport. */\n key?: TransportConfig['key'] | undefined\n /** Methods to include or exclude from executing RPC requests. */\n methods?: TransportConfig['methods'] | undefined\n /** The name of the HTTP transport. */\n name?: TransportConfig['name'] | undefined\n /** Whether to return JSON RPC errors as responses instead of throwing. */\n raw?: raw | boolean | undefined\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount'] | undefined\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay'] | undefined\n /** Typed JSON-RPC schema for the transport. */\n rpcSchema?: rpcSchema | RpcSchema | undefined\n /** The timeout (in ms) for the HTTP request. Default: 10_000 */\n timeout?: TransportConfig['timeout'] | undefined\n}\n\nexport type HttpTransport<\n rpcSchema extends RpcSchema | undefined = undefined,\n raw extends boolean = false,\n> = Transport<\n 'http',\n {\n fetchOptions?: HttpTransportConfig['fetchOptions'] | undefined\n url?: string | undefined\n },\n BtcRpcRequestFn<rpcSchema, raw>\n>\n\nexport type HttpTransportErrorType =\n | CreateTransportErrorType\n | UrlRequiredErrorType\n | ErrorType\n\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nexport function http<\n rpcSchema extends RpcSchema | undefined = undefined,\n raw extends boolean = false,\n>(\n /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\n url?: string | undefined,\n config: HttpTransportConfig<rpcSchema, raw> = {}\n): HttpTransport<rpcSchema, raw> {\n const {\n batch,\n fetchOptions,\n key = 'http',\n methods = { exclude: UTXOAPISchemaMethods },\n name = 'HTTP JSON-RPC',\n onFetchRequest,\n onFetchResponse,\n retryDelay,\n raw,\n } = config\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const { batchSize = 1000, wait = 0 } =\n typeof batch === 'object' ? batch : {}\n const retryCount = config.retryCount ?? retryCount_\n const timeout = timeout_ ?? config.timeout ?? 10_000\n const url_ = url || chain?.rpcUrls.default.http[0]\n if (!url_) {\n throw new UrlRequiredError()\n }\n\n const rpcClient = getHttpRpcClient(url_, {\n fetchOptions,\n onRequest: onFetchRequest,\n onResponse: onFetchResponse,\n timeout,\n })\n\n return createTransport(\n {\n key,\n methods,\n name,\n async request({ method, params }) {\n const body = {\n jsonrpc: '2.0' as const,\n id: idCache.take(),\n method,\n params,\n }\n\n const { schedule } = createBatchScheduler({\n id: url_,\n wait,\n shouldSplitBatch(requests) {\n return requests.length > batchSize\n },\n fn: (body: RpcRequest[]) =>\n rpcClient.request({\n body,\n }),\n sort: (a, b) => a.id - b.id,\n })\n\n const fn = async (body: RpcRequest) =>\n batch\n ? schedule(body)\n : [\n await rpcClient.request({\n body,\n }),\n ]\n\n const [{ error, result }] = await fn(body)\n\n if (raw) {\n return { error, result }\n }\n if (error) {\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n })\n }\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n },\n {\n fetchOptions,\n url: url_,\n }\n )\n }\n}\n"],"mappings":";;;;;;;;;;;AAsFA,SAAgB,KAKd,KACA,SAA8C,CAAC,GAChB;CAC/B,MAAM,EACJ,OACA,cACA,MAAM,QACN,UAAU,EAAE,SAAS,qBAAqB,GAC1C,OAAO,iBACP,gBACA,iBACA,YACA,QACE;CACJ,QAAQ,EAAE,OAAO,YAAY,aAAa,SAAS,eAAe;EAChE,MAAM,EAAE,YAAY,KAAM,OAAO,MAC/B,OAAO,UAAU,WAAW,QAAQ,CAAC;EACvC,MAAM,aAAa,OAAO,cAAc;EACxC,MAAM,UAAU,YAAY,OAAO,WAAW;EAC9C,MAAM,OAAO,OAAO,OAAO,QAAQ,QAAQ,KAAK;EAChD,IAAI,CAAC,MACH,MAAM,IAAI,iBAAiB;EAG7B,MAAM,YAAY,iBAAiB,MAAM;GACvC;GACA,WAAW;GACX,YAAY;GACZ;EACF,CAAC;EAED,OAAO,gBACL;GACE;GACA;GACA;GACA,MAAM,QAAQ,EAAE,QAAQ,UAAU;IAChC,MAAM,OAAO;KACX,SAAS;KACT,IAAI,QAAQ,KAAK;KACjB;KACA;IACF;IAEA,MAAM,EAAE,aAAa,qBAAqB;KACxC,IAAI;KACJ;KACA,iBAAiB,UAAU;MACzB,OAAO,SAAS,SAAS;KAC3B;KACA,KAAK,SACH,UAAU,QAAQ,EAChB,KACF,CAAC;KACH,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE;IAC3B,CAAC;IAED,MAAM,KAAK,OAAO,SAChB,QACI,SAAS,IAAI,IACb,CACE,MAAM,UAAU,QAAQ,EACtB,KACF,CAAC,CACH;IAEN,MAAM,CAAC,EAAE,OAAO,YAAY,MAAM,GAAG,IAAI;IAEzC,IAAI,KACF,OAAO;KAAE;KAAO;IAAO;IAEzB,IAAI,OACF,MAAM,IAAI,gBAAgB;KACxB;KACA;KACA,KAAK;IACP,CAAC;IAEH,OAAO;GACT;GACA;GACA;GACA;GACA,MAAM;EACR,GACA;GACE;GACA,KAAK;EACP,CACF;CACF;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { RpcMethodHandler } from "../types.js";
2
-
3
2
  //#region src/transports/mempool/getBalance.d.ts
4
3
  declare const getBalance: RpcMethodHandler<"getBalance">;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.d.ts","names":[],"sources":["../../../../src/transports/mempool/getBalance.ts"],"mappings":";;;cAGa,UAAA,EAAY,gBAAA"}
1
+ {"version":3,"file":"getBalance.d.ts","names":[],"sources":["../../../../src/transports/mempool/getBalance.ts"],"mappings":";;cAGa,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","names":[],"sources":["../../../../src/transports/mempool/getBalance.ts"],"sourcesContent":["import type { RpcMethodHandler } from '../types.js'\nimport type { MempoolBalanceResponse } from './mempool.types.js'\n\nexport const getBalance: RpcMethodHandler<'getBalance'> = async (\n client,\n { baseUrl },\n { address }\n) => {\n const apiUrl = `${baseUrl}/address/${address}`\n const response = (await client.request({\n url: apiUrl,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolBalanceResponse\n const balance =\n response.chain_stats.funded_txo_sum - response.chain_stats.spent_txo_sum\n return {\n result: BigInt(balance),\n }\n}\n"],"mappings":";AAGA,MAAa,aAA6C,OACxD,QACA,EAAE,WACF,EAAE,cACC;CACH,MAAM,SAAS,GAAG,QAAQ,WAAW;CACrC,MAAM,WAAY,MAAM,OAAO,QAAQ;EACrC,KAAK;EACL,cAAc,EAAE,QAAQ,OAAO;EAChC,CAAC;CACF,MAAM,UACJ,SAAS,YAAY,iBAAiB,SAAS,YAAY;AAC7D,QAAO,EACL,QAAQ,OAAO,QAAQ,EACxB"}
1
+ {"version":3,"file":"getBalance.js","names":[],"sources":["../../../../src/transports/mempool/getBalance.ts"],"sourcesContent":["import type { RpcMethodHandler } from '../types.js'\nimport type { MempoolBalanceResponse } from './mempool.types.js'\n\nexport const getBalance: RpcMethodHandler<'getBalance'> = async (\n client,\n { baseUrl },\n { address }\n) => {\n const apiUrl = `${baseUrl}/address/${address}`\n const response = (await client.request({\n url: apiUrl,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolBalanceResponse\n const balance =\n response.chain_stats.funded_txo_sum - response.chain_stats.spent_txo_sum\n return {\n result: BigInt(balance),\n }\n}\n"],"mappings":";AAGA,MAAa,aAA6C,OACxD,QACA,EAAE,WACF,EAAE,cACC;CACH,MAAM,SAAS,GAAG,QAAQ,WAAW;CACrC,MAAM,WAAY,MAAM,OAAO,QAAQ;EACrC,KAAK;EACL,cAAc,EAAE,QAAQ,MAAM;CAChC,CAAC;CACD,MAAM,UACJ,SAAS,YAAY,iBAAiB,SAAS,YAAY;CAC7D,OAAO,EACL,QAAQ,OAAO,OAAO,EACxB;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { RpcMethodHandler } from "../types.js";
2
-
3
2
  //#region src/transports/mempool/getTransactionFee.d.ts
4
3
  declare const getTransactionFee: RpcMethodHandler<"getTransactionFee">;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionFee.d.ts","names":[],"sources":["../../../../src/transports/mempool/getTransactionFee.ts"],"mappings":";;;cAGa,iBAAA,EAAmB,gBAAA"}
1
+ {"version":3,"file":"getTransactionFee.d.ts","names":[],"sources":["../../../../src/transports/mempool/getTransactionFee.ts"],"mappings":";;cAGa,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionFee.js","names":[],"sources":["../../../../src/transports/mempool/getTransactionFee.ts"],"sourcesContent":["import type { RpcMethodHandler } from '../types.js'\nimport type { MempoolTransaction } from './mempool.types.js'\n\nexport const getTransactionFee: RpcMethodHandler<'getTransactionFee'> = async (\n client,\n { baseUrl },\n { txId }\n) => {\n const apiUrl = `${baseUrl}/tx/${txId}`\n\n const response = (await client.request({\n url: apiUrl,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolTransaction\n\n return {\n result: BigInt(response.fee),\n }\n}\n"],"mappings":";AAGA,MAAa,oBAA2D,OACtE,QACA,EAAE,WACF,EAAE,WACC;CACH,MAAM,SAAS,GAAG,QAAQ,MAAM;CAEhC,MAAM,WAAY,MAAM,OAAO,QAAQ;EACrC,KAAK;EACL,cAAc,EAAE,QAAQ,OAAO;EAChC,CAAC;AAEF,QAAO,EACL,QAAQ,OAAO,SAAS,IAAI,EAC7B"}
1
+ {"version":3,"file":"getTransactionFee.js","names":[],"sources":["../../../../src/transports/mempool/getTransactionFee.ts"],"sourcesContent":["import type { RpcMethodHandler } from '../types.js'\nimport type { MempoolTransaction } from './mempool.types.js'\n\nexport const getTransactionFee: RpcMethodHandler<'getTransactionFee'> = async (\n client,\n { baseUrl },\n { txId }\n) => {\n const apiUrl = `${baseUrl}/tx/${txId}`\n\n const response = (await client.request({\n url: apiUrl,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolTransaction\n\n return {\n result: BigInt(response.fee),\n }\n}\n"],"mappings":";AAGA,MAAa,oBAA2D,OACtE,QACA,EAAE,WACF,EAAE,WACC;CACH,MAAM,SAAS,GAAG,QAAQ,MAAM;CAEhC,MAAM,WAAY,MAAM,OAAO,QAAQ;EACrC,KAAK;EACL,cAAc,EAAE,QAAQ,MAAM;CAChC,CAAC;CAED,OAAO,EACL,QAAQ,OAAO,SAAS,GAAG,EAC7B;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { RpcMethodHandler } from "../types.js";
2
-
3
2
  //#region src/transports/mempool/getTransactions.d.ts
4
3
  declare const getTransactions: RpcMethodHandler<"getTransactions">;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactions.d.ts","names":[],"sources":["../../../../src/transports/mempool/getTransactions.ts"],"mappings":";;;cAQa,eAAA,EAAiB,gBAAA"}
1
+ {"version":3,"file":"getTransactions.d.ts","names":[],"sources":["../../../../src/transports/mempool/getTransactions.ts"],"mappings":";;cAQa,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactions.js","names":[],"sources":["../../../../src/transports/mempool/getTransactions.ts"],"sourcesContent":["import { urlWithParams } from '../../utils/url.js'\nimport type { RpcMethodHandler } from '../types.js'\nimport type {\n MempoolBalanceResponse,\n MempoolUTXOTransactionsResponse,\n} from './mempool.types.js'\nimport { mempoolTransactionTransformer } from './utils.js'\n\nexport const getTransactions: RpcMethodHandler<'getTransactions'> = async (\n client,\n { baseUrl },\n { address, limit = 50, offset = 0, afterTxId }\n) => {\n const apiUrlAddress = `${baseUrl}/address/${address}`\n const balanceResponse = (await client.request({\n url: apiUrlAddress,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolBalanceResponse\n const totalTxns =\n balanceResponse.chain_stats.tx_count +\n balanceResponse.mempool_stats.tx_count\n\n const apiUrl = urlWithParams(`${baseUrl}/address/${address}/txs`, {\n after_txid: afterTxId,\n })\n\n const response = (await client.request({\n url: apiUrl,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolUTXOTransactionsResponse\n\n const transactions = response.map(mempoolTransactionTransformer)\n\n const result = {\n transactions,\n total: totalTxns,\n itemsPerPage: limit,\n hasMore: offset + transactions.length < totalTxns,\n }\n\n return {\n result,\n }\n}\n"],"mappings":";;;AAQA,MAAa,kBAAuD,OAClE,QACA,EAAE,WACF,EAAE,SAAS,QAAQ,IAAI,SAAS,GAAG,gBAChC;CACH,MAAM,gBAAgB,GAAG,QAAQ,WAAW;CAC5C,MAAM,kBAAmB,MAAM,OAAO,QAAQ;EAC5C,KAAK;EACL,cAAc,EAAE,QAAQ,OAAO;EAChC,CAAC;CACF,MAAM,YACJ,gBAAgB,YAAY,WAC5B,gBAAgB,cAAc;CAEhC,MAAM,SAAS,cAAc,GAAG,QAAQ,WAAW,QAAQ,OAAO,EAChE,YAAY,WACb,CAAC;CAOF,MAAM,gBALY,MAAM,OAAO,QAAQ;EACrC,KAAK;EACL,cAAc,EAAE,QAAQ,OAAO;EAChC,CAAC,EAE4B,IAAI,8BAA8B;AAShE,QAAO,EACL,QARa;EACb;EACA,OAAO;EACP,cAAc;EACd,SAAS,SAAS,aAAa,SAAS;EACzC,EAIA"}
1
+ {"version":3,"file":"getTransactions.js","names":[],"sources":["../../../../src/transports/mempool/getTransactions.ts"],"sourcesContent":["import { urlWithParams } from '../../utils/url.js'\nimport type { RpcMethodHandler } from '../types.js'\nimport type {\n MempoolBalanceResponse,\n MempoolUTXOTransactionsResponse,\n} from './mempool.types.js'\nimport { mempoolTransactionTransformer } from './utils.js'\n\nexport const getTransactions: RpcMethodHandler<'getTransactions'> = async (\n client,\n { baseUrl },\n { address, limit = 50, offset = 0, afterTxId }\n) => {\n const apiUrlAddress = `${baseUrl}/address/${address}`\n const balanceResponse = (await client.request({\n url: apiUrlAddress,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolBalanceResponse\n const totalTxns =\n balanceResponse.chain_stats.tx_count +\n balanceResponse.mempool_stats.tx_count\n\n const apiUrl = urlWithParams(`${baseUrl}/address/${address}/txs`, {\n after_txid: afterTxId,\n })\n\n const response = (await client.request({\n url: apiUrl,\n fetchOptions: { method: 'GET' },\n })) as unknown as MempoolUTXOTransactionsResponse\n\n const transactions = response.map(mempoolTransactionTransformer)\n\n const result = {\n transactions,\n total: totalTxns,\n itemsPerPage: limit,\n hasMore: offset + transactions.length < totalTxns,\n }\n\n return {\n result,\n }\n}\n"],"mappings":";;;AAQA,MAAa,kBAAuD,OAClE,QACA,EAAE,WACF,EAAE,SAAS,QAAQ,IAAI,SAAS,GAAG,gBAChC;CACH,MAAM,gBAAgB,GAAG,QAAQ,WAAW;CAC5C,MAAM,kBAAmB,MAAM,OAAO,QAAQ;EAC5C,KAAK;EACL,cAAc,EAAE,QAAQ,MAAM;CAChC,CAAC;CACD,MAAM,YACJ,gBAAgB,YAAY,WAC5B,gBAAgB,cAAc;CAEhC,MAAM,SAAS,cAAc,GAAG,QAAQ,WAAW,QAAQ,OAAO,EAChE,YAAY,UACd,CAAC;CAOD,MAAM,gBAAe,MALG,OAAO,QAAQ;EACrC,KAAK;EACL,cAAc,EAAE,QAAQ,MAAM;CAChC,CAAC,EAAA,CAE6B,IAAI,6BAA6B;CAS/D,OAAO,EACL,QAAA;EAPA;EACA,OAAO;EACP,cAAc;EACd,SAAS,SAAS,aAAa,SAAS;CAInC,EACP;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { HttpTransport, HttpTransportConfig } from "../http.js";
2
-
3
2
  //#region src/transports/mempool/mempool.d.ts
4
3
  type MempoolConfig = {
5
4
  baseUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mempool.d.ts","names":[],"sources":["../../../../src/transports/mempool/mempool.ts"],"mappings":";;;KAKK,aAAA;EACH,OAAA;AAAA,IACE,mBAAA;AAAA,cAES,OAAA,GAAW,MAAA,GAAS,aAAA,KAAgB,aAAA"}
1
+ {"version":3,"file":"mempool.d.ts","names":[],"sources":["../../../../src/transports/mempool/mempool.ts"],"mappings":";;KAKK;EACH;IACE;cAES,UAAW,SAAS,kBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mempool.js","names":[],"sources":["../../../../src/transports/mempool/mempool.ts"],"sourcesContent":["import type { HttpTransport, HttpTransportConfig } from '../http.js'\nimport type { UTXOMethod } from '../types.js'\nimport { utxo } from '../utxo.js'\nimport { mempoolMethods } from './methods.js'\n\ntype MempoolConfig = {\n baseUrl?: string\n} & HttpTransportConfig\n\nexport const mempool = (config?: MempoolConfig): HttpTransport =>\n utxo(config?.baseUrl || 'https://mempool.space/api', {\n name: 'Mempool.space API',\n key: 'mempool',\n methods: {\n include: Object.keys(mempoolMethods) as UTXOMethod[],\n },\n ...config,\n })\n"],"mappings":";;;AASA,MAAa,WAAW,WACtB,KAAK,QAAQ,WAAW,6BAA6B;CACnD,MAAM;CACN,KAAK;CACL,SAAS,EACP,SAAS,OAAO,KAAK,eAAe,EACrC;CACD,GAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"mempool.js","names":[],"sources":["../../../../src/transports/mempool/mempool.ts"],"sourcesContent":["import type { HttpTransport, HttpTransportConfig } from '../http.js'\nimport type { UTXOMethod } from '../types.js'\nimport { utxo } from '../utxo.js'\nimport { mempoolMethods } from './methods.js'\n\ntype MempoolConfig = {\n baseUrl?: string\n} & HttpTransportConfig\n\nexport const mempool = (config?: MempoolConfig): HttpTransport =>\n utxo(config?.baseUrl || 'https://mempool.space/api', {\n name: 'Mempool.space API',\n key: 'mempool',\n methods: {\n include: Object.keys(mempoolMethods) as UTXOMethod[],\n },\n ...config,\n })\n"],"mappings":";;;AASA,MAAa,WAAW,WACtB,KAAK,QAAQ,WAAW,6BAA6B;CACnD,MAAM;CACN,KAAK;CACL,SAAS,EACP,SAAS,OAAO,KAAK,cAAc,EACrC;CACA,GAAG;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mempool.types.d.ts","names":[],"sources":["../../../../src/transports/mempool/mempool.types.ts"],"mappings":";KAAY,sBAAA;EACV,OAAA;EACA,WAAA;IACE,gBAAA;IACA,cAAA;IACA,eAAA;IACA,aAAA;IACA,QAAA;EAAA;EAEF,aAAA;IACE,gBAAA;IACA,cAAA;IACA,eAAA;IACA,aAAA;IACA,QAAA;EAAA;AAAA;AAAA,KAIQ,UAAA;EACV,IAAA;EACA,IAAA;EACA,OAAA,EAAS,WAAA;EACT,SAAA;EACA,aAAA;EACA,OAAA;EACA,WAAA;EACA,QAAA;AAAA;AAAA,KAGU,WAAA;EACV,YAAA;EACA,gBAAA;EACA,iBAAA;EACA,oBAAA;EACA,KAAA;AAAA;AAAA,KAGU,mBAAA;EACV,IAAA;EACA,IAAA;EACA,MAAA;IACE,SAAA;IACA,YAAA;IACA,UAAA;IACA,UAAA;EAAA;EAEF,KAAA;AAAA;AAAA,KAGU,kBAAA;EACV,IAAA;EACA,OAAA;EACA,QAAA;EACA,GAAA,EAAK,UAAA;EACL,IAAA,EAAM,WAAA;EACN,IAAA;EACA,MAAA;EACA,GAAA;EACA,MAAA;IACE,SAAA;IACA,YAAA;IACA,UAAA;IACA,UAAA;EAAA;AAAA;AAAA,KAIQ,+BAAA,GAAkC,KAAA,CAAM,kBAAA;AAAA,KAExC,oBAAA"}
1
+ {"version":3,"file":"mempool.types.d.ts","names":[],"sources":["../../../../src/transports/mempool/mempool.types.ts"],"mappings":";KAAY;EACV;EACA;IACE;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;;;KAIQ;EACV;EACA;EACA,SAAS;EACT;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA;IACE;IACA;IACA;IACA;;EAEF;;KAGU;EACV;EACA;EACA;EACA,KAAK;EACL,MAAM;EACN;EACA;EACA;EACA;IACE;IACA;IACA;IACA;;;KAIQ,kCAAkC,MAAM;KAExC"}
@@ -1,5 +1,4 @@
1
1
  import { RpcMethods } from "../types.js";
2
-
3
2
  //#region src/transports/mempool/methods.d.ts
4
3
  declare const mempoolMethods: RpcMethods;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"methods.d.ts","names":[],"sources":["../../../../src/transports/mempool/methods.ts"],"mappings":";;;cAKa,cAAA,EAAgB,UAAA"}
1
+ {"version":3,"file":"methods.d.ts","names":[],"sources":["../../../../src/transports/mempool/methods.ts"],"mappings":";;cAKa,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","names":[],"sources":["../../../../src/transports/mempool/methods.ts"],"sourcesContent":["import type { RpcMethods } from '../types.js'\nimport { getBalance } from './getBalance.js'\nimport { getTransactionFee } from './getTransactionFee.js'\nimport { getTransactions } from './getTransactions.js'\n\nexport const mempoolMethods: RpcMethods = {\n getBalance,\n getTransactions,\n getTransactionFee,\n}\n"],"mappings":";;;;AAKA,MAAa,iBAA6B;CACxC;CACA;CACA;CACD"}
1
+ {"version":3,"file":"methods.js","names":[],"sources":["../../../../src/transports/mempool/methods.ts"],"sourcesContent":["import type { RpcMethods } from '../types.js'\nimport { getBalance } from './getBalance.js'\nimport { getTransactionFee } from './getTransactionFee.js'\nimport { getTransactions } from './getTransactions.js'\n\nexport const mempoolMethods: RpcMethods = {\n getBalance,\n getTransactions,\n getTransactionFee,\n}\n"],"mappings":";;;;AAKA,MAAa,iBAA6B;CACxC;CACA;CACA;AACF"}
@@ -1,6 +1,5 @@
1
1
  import { UTXOTransaction } from "../../types/transaction.js";
2
2
  import { MempoolTransaction } from "./mempool.types.js";
3
-
4
3
  //#region src/transports/mempool/utils.d.ts
5
4
  declare const mempoolTransactionTransformer: (txn: MempoolTransaction) => Partial<UTXOTransaction>;
6
5
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../../src/transports/mempool/utils.ts"],"mappings":";;;;cAGa,6BAAA,GACX,GAAA,EAAK,kBAAA,KACJ,OAAA,CAAQ,eAAA"}
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../../src/transports/mempool/utils.ts"],"mappings":";;;cAGa,gCACX,KAAK,uBACJ,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../../src/transports/mempool/utils.ts"],"sourcesContent":["import type { UTXOTransaction } from '../../types/transaction.js'\nimport type { MempoolTransaction } from './mempool.types.js'\n\nexport const mempoolTransactionTransformer = (\n txn: MempoolTransaction\n): Partial<UTXOTransaction> => ({\n hash: txn.txid,\n txid: txn.txid,\n vout: txn.vout.map((vout, index) => ({\n n: index,\n scriptPubKey: {\n address: vout.scriptpubkey_address,\n asm: vout.scriptpubkey_asm,\n type: vout.scriptpubkey_type,\n desc: vout.scriptpubkey,\n hex: vout.scriptpubkey,\n },\n value: vout.value,\n })),\n vin: txn.vin.map((vin) => ({\n scriptSig: {\n asm: vin.scriptsig_asm,\n hex: vin.scriptsig,\n },\n sequence: vin.sequence,\n txinwitness: vin.witness,\n txid: vin.txid,\n vout: vin.vout,\n })),\n})\n"],"mappings":";AAGA,MAAa,iCACX,SAC8B;CAC9B,MAAM,IAAI;CACV,MAAM,IAAI;CACV,MAAM,IAAI,KAAK,KAAK,MAAM,WAAW;EACnC,GAAG;EACH,cAAc;GACZ,SAAS,KAAK;GACd,KAAK,KAAK;GACV,MAAM,KAAK;GACX,MAAM,KAAK;GACX,KAAK,KAAK;GACX;EACD,OAAO,KAAK;EACb,EAAE;CACH,KAAK,IAAI,IAAI,KAAK,SAAS;EACzB,WAAW;GACT,KAAK,IAAI;GACT,KAAK,IAAI;GACV;EACD,UAAU,IAAI;EACd,aAAa,IAAI;EACjB,MAAM,IAAI;EACV,MAAM,IAAI;EACX,EAAE;CACJ"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../../src/transports/mempool/utils.ts"],"sourcesContent":["import type { UTXOTransaction } from '../../types/transaction.js'\nimport type { MempoolTransaction } from './mempool.types.js'\n\nexport const mempoolTransactionTransformer = (\n txn: MempoolTransaction\n): Partial<UTXOTransaction> => ({\n hash: txn.txid,\n txid: txn.txid,\n vout: txn.vout.map((vout, index) => ({\n n: index,\n scriptPubKey: {\n address: vout.scriptpubkey_address,\n asm: vout.scriptpubkey_asm,\n type: vout.scriptpubkey_type,\n desc: vout.scriptpubkey,\n hex: vout.scriptpubkey,\n },\n value: vout.value,\n })),\n vin: txn.vin.map((vin) => ({\n scriptSig: {\n asm: vin.scriptsig_asm,\n hex: vin.scriptsig,\n },\n sequence: vin.sequence,\n txinwitness: vin.witness,\n txid: vin.txid,\n vout: vin.vout,\n })),\n})\n"],"mappings":";AAGA,MAAa,iCACX,SAC8B;CAC9B,MAAM,IAAI;CACV,MAAM,IAAI;CACV,MAAM,IAAI,KAAK,KAAK,MAAM,WAAW;EACnC,GAAG;EACH,cAAc;GACZ,SAAS,KAAK;GACd,KAAK,KAAK;GACV,MAAM,KAAK;GACX,MAAM,KAAK;GACX,KAAK,KAAK;EACZ;EACA,OAAO,KAAK;CACd,EAAE;CACF,KAAK,IAAI,IAAI,KAAK,SAAS;EACzB,WAAW;GACT,KAAK,IAAI;GACT,KAAK,IAAI;EACX;EACA,UAAU,IAAI;EACd,aAAa,IAAI;EACjB,MAAM,IAAI;EACV,MAAM,IAAI;CACZ,EAAE;AACJ"}
@@ -2,7 +2,6 @@ import { BlockStats, BlockStatsKeys } from "../types/blockStats.js";
2
2
  import { UTXO, UTXOTransaction } from "../types/transaction.js";
3
3
  import { xPubAccount } from "../types/xpub.js";
4
4
  import { HttpRpcClient } from "./getHttpRpcClient.js";
5
-
6
5
  //#region src/transports/types.d.ts
7
6
  declare const UTXOAPISchemaMethods: UTXOMethod[];
8
7
  type UTXOAPISchema = [{
@@ -72,25 +71,28 @@ type UTXOSchema = [{
72
71
  }, ...UTXOAPISchema];
73
72
  type UTXOMethod = UTXOSchema[number]["Method"];
74
73
  type SignPsbtParameters = {
75
- /** The PSBT encoded as a hexadecimal string */psbt: string;
74
+ /** The PSBT encoded as a hexadecimal string */
75
+ psbt: string;
76
76
  /**
77
- * Array of objects specifying details about the inputs to be signed
78
- */
77
+ * Array of objects specifying details about the inputs to be signed
78
+ */
79
79
  inputsToSign: {
80
80
  /**
81
- * The SigHash type to use for signing (e.g., SIGHASH_ALL).
82
- * If not specified, a default value is used.
83
- */
84
- sigHash?: number; /** The Bitcoin address associated with the input that will be signed */
85
- address: string; /** An array of indexes in the PSBT corresponding to the inputs that need to be signed */
81
+ * The SigHash type to use for signing (e.g., SIGHASH_ALL).
82
+ * If not specified, a default value is used.
83
+ */
84
+ sigHash?: number;
85
+ /** The Bitcoin address associated with the input that will be signed */
86
+ address: string;
87
+ /** An array of indexes in the PSBT corresponding to the inputs that need to be signed */
86
88
  signingIndexes: number[];
87
89
  }[];
88
90
  /**
89
- * Whether to finalize the PSBT after signing.
90
- * If `true`, the PSBT will be completed and ready for broadcasting.
91
- * If `false` or omitted, the PSBT remains partially signed.
92
- * Some wallets does not support it.
93
- */
91
+ * Whether to finalize the PSBT after signing.
92
+ * If `true`, the PSBT will be completed and ready for broadcasting.
93
+ * If `false` or omitted, the PSBT remains partially signed.
94
+ * Some wallets does not support it.
95
+ */
94
96
  finalize?: boolean;
95
97
  };
96
98
  type SignPsbtReturnType = string;
@@ -118,7 +120,7 @@ type RpcMethodHandler<M extends UTXOMethod = UTXOMethod> = (client: HttpRpcClien
118
120
  }>["Parameters"]) => Promise<RpcResponse<Extract<UTXOSchema[number], {
119
121
  Method: M;
120
122
  }>["ReturnType"]>>;
121
- type RpcMethods = { [key in UTXOMethod]?: RpcMethodHandler<key> };
123
+ type RpcMethods = { [key in UTXOMethod]?: RpcMethodHandler<key>; };
122
124
  //#endregion
123
125
  export { ErrorResult, RpcMethodHandler, RpcMethods, RpcResponse, SignPsbtParameters, SignPsbtReturnType, SuccessResult, UTXOAPISchema, UTXOAPISchemaMethods, UTXOMethod, UTXOSchema, UTXOWalletSchema };
124
126
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/transports/types.ts"],"mappings":";;;;;;cAKa,oBAAA,EAAsB,UAAA;AAAA,KAQvB,aAAA;EAER,MAAA;EACA,UAAA;IAAc,OAAA;EAAA;EACd,UAAA;AAAA;EAGA,MAAA;EACA,UAAA;IACE,OAAA;IACA,MAAA;IACA,KAAA;IACA,SAAA;IACA,SAAA;EAAA;EAEF,UAAA;IACE,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,eAAA;IAC5B,KAAA;IACA,OAAA;EAAA;AAAA;EAIF,MAAA;EACA,UAAA;IACE,IAAA;EAAA;EAEF,UAAA;AAAA;EAGA,MAAA;EACA,UAAA;IACE,OAAA;IACA,QAAA;EAAA;EAEF,UAAA,EAAY,KAAA,CAAM,IAAA;AAAA;EAGlB,MAAA;EACA,UAAA;IACE,OAAA;EAAA;EAEF,UAAA,EAAY,WAAA;AAAA;AAAA,KAIJ,UAAA;EAER,MAAA;EACA,UAAA;EACA,UAAA;AAAA;EAGA,MAAA;EACA,UAAA;EACA,UAAA;AAAA;EAGA,MAAA;EACA,UAAA;EACA,UAAA;AAAA;EAGA,MAAA;EACA,UAAA,oBAA8B,KAAA,CAAM,cAAA;EACpC,UAAA,EAAY,UAAA;AAAA;EAGZ,MAAA;EACA,UAAA;EACA,UAAA;AAAA;EAGA,MAAA;EACA,UAAA;EACA,UAAA,EAAY,eAAA;AAAA,MAEX,aAAA;AAAA,KAGO,UAAA,GAAa,UAAA;AAAA,KAEb,kBAAA;iDAEV,IAAA;;;;EAIA,YAAA;IAxBE;;;;IA6BA,OAAA,WAzBA;IA2BA,OAAA,UAzBA;IA2BA,cAAA;EAAA;;;;;;AAjBJ;EAyBE,QAAA;AAAA;AAAA,KAGU,kBAAA;AAAA,KAEA,gBAAA;EAER,MAAA;EACA,UAAA,EAAY,kBAAA;EACZ,UAAA,EAAY,kBAAA;AAAA;AAAA,KAIJ,aAAA;EACV,MAAA;EACA,MAAA,EAAQ,MAAA;EACR,KAAA;AAAA;AAAA,KAEU,WAAA;EACV,MAAA;EACA,MAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,KAGG,WAAA,8BACR,aAAA,CAAc,MAAA,IACd,WAAA,CAAY,KAAA;AAAA,KAEJ,gBAAA,WAA2B,UAAA,GAAa,UAAA,KAClD,MAAA,EAAQ,aAAA,EACR,MAAA;EAAU,OAAA;EAAiB,MAAA;AAAA,GAC3B,MAAA,EAAQ,OAAA,CAAQ,UAAA;EAAsB,MAAA,EAAQ,CAAA;AAAA,qBAC3C,OAAA,CACH,WAAA,CAAY,OAAA,CAAQ,UAAA;EAAsB,MAAA,EAAQ,CAAA;AAAA;AAAA,KAGxC,UAAA,aACF,UAAA,IAAc,gBAAA,CAAiB,GAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/transports/types.ts"],"mappings":";;;;;cAKa,sBAAsB;KAQvB;EAER;EACA;IAAc;;EACd;;EAGA;EACA;IACE;IACA;IACA;IACA;IACA;;EAEF;IACE,cAAc,MAAM,QAAQ;IAC5B;IACA;;;EAIF;EACA;IACE;;EAEF;;EAGA;EACA;IACE;IACA;;EAEF,YAAY,MAAM;;EAGlB;EACA;IACE;;EAEF,YAAY;;KAIJ;EAER;EACA;EACA;;EAGA;EACA;EACA;;EAGA;EACA;EACA;;EAGA;EACA,8BAA8B,MAAM;EACpC,YAAY;;EAGZ;EACA;EACA;;EAGA;EACA;EACA,YAAY;MAEX;KAGO,aAAa;KAEb;;EAEV;;;;EAIA;;;;;IAKE;;IAEA;;IAEA;;;;;;;;EAQF;;KAGU;KAEA;EAER;EACA,YAAY;EACZ,YAAY;;KAIJ,cAAc;EACxB;EACA,QAAQ;EACR;;KAEU,YAAY;EACtB;EACA;EACA,OAAO;;KAGG,YAAY,cAAc,eAClC,cAAc,UACd,YAAY;KAEJ,iBAAiB,UAAU,aAAa,eAClD,QAAQ,eACR;EAAU;EAAiB;GAC3B,QAAQ,QAAQ;EAAsB,QAAQ;qBAC3C,QACH,YAAY,QAAQ;EAAsB,QAAQ;;KAGxC,gBACT,OAAO,cAAc,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/transports/types.ts"],"sourcesContent":["import type { BlockStats, BlockStatsKeys } from '../types/blockStats.js'\nimport type { UTXO, UTXOTransaction } from '../types/transaction.js'\nimport type { xPubAccount } from '../types/xpub.js'\nimport type { HttpRpcClient } from './getHttpRpcClient.js'\n\nexport const UTXOAPISchemaMethods: UTXOMethod[] = [\n 'getBalance',\n 'getTransactions',\n 'getUTXOs',\n 'getTransactionFee',\n 'getXPubAddresses',\n]\n\nexport type UTXOAPISchema = [\n {\n Method: 'getBalance'\n Parameters: { address: string }\n ReturnType: bigint\n },\n {\n Method: 'getTransactions'\n Parameters: {\n address: string\n offset?: number\n limit?: number\n lastBlock?: string\n afterTxId?: string\n }\n ReturnType: {\n transactions: Array<Partial<UTXOTransaction>>\n total: number\n hasMore?: boolean\n }\n },\n {\n Method: 'getTransactionFee'\n Parameters: {\n txId: string\n }\n ReturnType: bigint\n },\n {\n Method: 'getUTXOs'\n Parameters: {\n address: string\n minValue?: number\n }\n ReturnType: Array<UTXO>\n },\n {\n Method: 'getXPubAddresses'\n Parameters: {\n xPubKey: string\n }\n ReturnType: xPubAccount\n },\n]\n\nexport type UTXOSchema = [\n {\n Method: 'getblockcount'\n Parameters: []\n ReturnType: number\n },\n {\n Method: 'getblockhash'\n Parameters: [number]\n ReturnType: string\n },\n {\n Method: 'getblock'\n Parameters: [string, number]\n ReturnType: string\n },\n {\n Method: 'getblockstats'\n Parameters: [string | number, Array<BlockStatsKeys>?]\n ReturnType: BlockStats\n },\n {\n Method: 'sendrawtransaction'\n Parameters: [string, number?]\n ReturnType: string\n },\n {\n Method: 'getrawtransaction'\n Parameters: [string, boolean, string?]\n ReturnType: UTXOTransaction\n },\n ...UTXOAPISchema,\n]\n\nexport type UTXOMethod = UTXOSchema[number]['Method']\n\nexport type SignPsbtParameters = {\n /** The PSBT encoded as a hexadecimal string */\n psbt: string\n /**\n * Array of objects specifying details about the inputs to be signed\n */\n inputsToSign: {\n /**\n * The SigHash type to use for signing (e.g., SIGHASH_ALL).\n * If not specified, a default value is used.\n */\n sigHash?: number\n /** The Bitcoin address associated with the input that will be signed */\n address: string\n /** An array of indexes in the PSBT corresponding to the inputs that need to be signed */\n signingIndexes: number[]\n }[]\n /**\n * Whether to finalize the PSBT after signing.\n * If `true`, the PSBT will be completed and ready for broadcasting.\n * If `false` or omitted, the PSBT remains partially signed.\n * Some wallets does not support it.\n */\n finalize?: boolean\n}\n\nexport type SignPsbtReturnType = string\n\nexport type UTXOWalletSchema = readonly [\n {\n Method: 'signPsbt'\n Parameters: SignPsbtParameters\n ReturnType: SignPsbtReturnType\n },\n]\n\nexport type SuccessResult<result> = {\n method?: undefined\n result: result\n error?: undefined\n}\nexport type ErrorResult<error> = {\n method?: undefined\n result?: undefined\n error: error\n}\n\nexport type RpcResponse<result = any, error = any> =\n | SuccessResult<result>\n | ErrorResult<error>\n\nexport type RpcMethodHandler<M extends UTXOMethod = UTXOMethod> = (\n client: HttpRpcClient,\n config: { baseUrl: string; apiKey?: string },\n params: Extract<UTXOSchema[number], { Method: M }>['Parameters']\n) => Promise<\n RpcResponse<Extract<UTXOSchema[number], { Method: M }>['ReturnType']>\n>\n\nexport type RpcMethods = {\n [key in UTXOMethod]?: RpcMethodHandler<key>\n}\n"],"mappings":";AAKA,MAAa,uBAAqC;CAChD;CACA;CACA;CACA;CACA;CACD"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/transports/types.ts"],"sourcesContent":["import type { BlockStats, BlockStatsKeys } from '../types/blockStats.js'\nimport type { UTXO, UTXOTransaction } from '../types/transaction.js'\nimport type { xPubAccount } from '../types/xpub.js'\nimport type { HttpRpcClient } from './getHttpRpcClient.js'\n\nexport const UTXOAPISchemaMethods: UTXOMethod[] = [\n 'getBalance',\n 'getTransactions',\n 'getUTXOs',\n 'getTransactionFee',\n 'getXPubAddresses',\n]\n\nexport type UTXOAPISchema = [\n {\n Method: 'getBalance'\n Parameters: { address: string }\n ReturnType: bigint\n },\n {\n Method: 'getTransactions'\n Parameters: {\n address: string\n offset?: number\n limit?: number\n lastBlock?: string\n afterTxId?: string\n }\n ReturnType: {\n transactions: Array<Partial<UTXOTransaction>>\n total: number\n hasMore?: boolean\n }\n },\n {\n Method: 'getTransactionFee'\n Parameters: {\n txId: string\n }\n ReturnType: bigint\n },\n {\n Method: 'getUTXOs'\n Parameters: {\n address: string\n minValue?: number\n }\n ReturnType: Array<UTXO>\n },\n {\n Method: 'getXPubAddresses'\n Parameters: {\n xPubKey: string\n }\n ReturnType: xPubAccount\n },\n]\n\nexport type UTXOSchema = [\n {\n Method: 'getblockcount'\n Parameters: []\n ReturnType: number\n },\n {\n Method: 'getblockhash'\n Parameters: [number]\n ReturnType: string\n },\n {\n Method: 'getblock'\n Parameters: [string, number]\n ReturnType: string\n },\n {\n Method: 'getblockstats'\n Parameters: [string | number, Array<BlockStatsKeys>?]\n ReturnType: BlockStats\n },\n {\n Method: 'sendrawtransaction'\n Parameters: [string, number?]\n ReturnType: string\n },\n {\n Method: 'getrawtransaction'\n Parameters: [string, boolean, string?]\n ReturnType: UTXOTransaction\n },\n ...UTXOAPISchema,\n]\n\nexport type UTXOMethod = UTXOSchema[number]['Method']\n\nexport type SignPsbtParameters = {\n /** The PSBT encoded as a hexadecimal string */\n psbt: string\n /**\n * Array of objects specifying details about the inputs to be signed\n */\n inputsToSign: {\n /**\n * The SigHash type to use for signing (e.g., SIGHASH_ALL).\n * If not specified, a default value is used.\n */\n sigHash?: number\n /** The Bitcoin address associated with the input that will be signed */\n address: string\n /** An array of indexes in the PSBT corresponding to the inputs that need to be signed */\n signingIndexes: number[]\n }[]\n /**\n * Whether to finalize the PSBT after signing.\n * If `true`, the PSBT will be completed and ready for broadcasting.\n * If `false` or omitted, the PSBT remains partially signed.\n * Some wallets does not support it.\n */\n finalize?: boolean\n}\n\nexport type SignPsbtReturnType = string\n\nexport type UTXOWalletSchema = readonly [\n {\n Method: 'signPsbt'\n Parameters: SignPsbtParameters\n ReturnType: SignPsbtReturnType\n },\n]\n\nexport type SuccessResult<result> = {\n method?: undefined\n result: result\n error?: undefined\n}\nexport type ErrorResult<error> = {\n method?: undefined\n result?: undefined\n error: error\n}\n\nexport type RpcResponse<result = any, error = any> =\n | SuccessResult<result>\n | ErrorResult<error>\n\nexport type RpcMethodHandler<M extends UTXOMethod = UTXOMethod> = (\n client: HttpRpcClient,\n config: { baseUrl: string; apiKey?: string },\n params: Extract<UTXOSchema[number], { Method: M }>['Parameters']\n) => Promise<\n RpcResponse<Extract<UTXOSchema[number], { Method: M }>['ReturnType']>\n>\n\nexport type RpcMethods = {\n [key in UTXOMethod]?: RpcMethodHandler<key>\n}\n"],"mappings":";AAKA,MAAa,uBAAqC;CAChD;CACA;CACA;CACA;CACA;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { HttpTransport, HttpTransportConfig } from "./http.js";
2
-
3
2
  //#region src/transports/utxo.d.ts
4
3
  type UTXOHttpTransportConfig = HttpTransportConfig & {
5
4
  includeChainToURL?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","names":[],"sources":["../../../src/transports/utxo.ts"],"mappings":";;;KASK,uBAAA,GAA0B,mBAAA;EAC7B,iBAAA;EACA,MAAA;AAAA;AAAA,iBAGc,IAAA,CACd,GAAA,WACA,MAAA,GAAQ,uBAAA,GACP,aAAA"}
1
+ {"version":3,"file":"utxo.d.ts","names":[],"sources":["../../../src/transports/utxo.ts"],"mappings":";;KASK,0BAA0B;EAC7B;EACA;;iBAGc,KACd,cACA,SAAQ,0BACP"}
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.js","names":[],"sources":["../../../src/transports/utxo.ts"],"sourcesContent":["import { RpcRequestError } from '../errors/request.js'\nimport { UrlRequiredError } from '../errors/transport.js'\nimport { createTransport } from '../factories/createTransport.js'\nimport { idCache } from '../utils/idCache.js'\nimport { getHttpRpcClient } from './getHttpRpcClient.js'\nimport { getRpcProviderMethods } from './getRpcProviderMethods.js'\nimport type { HttpTransport, HttpTransportConfig } from './http.js'\nimport type { UTXOMethod } from './types.js'\n\ntype UTXOHttpTransportConfig = HttpTransportConfig & {\n includeChainToURL?: boolean\n apiKey?: string\n}\n\nexport function utxo(\n url?: string,\n config: UTXOHttpTransportConfig = {}\n): HttpTransport {\n const {\n fetchOptions,\n key = 'utxo',\n name = 'UTXO HTTP API',\n onFetchRequest,\n onFetchResponse,\n retryDelay,\n apiKey,\n methods,\n } = config\n\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const retryCount = config.retryCount ?? retryCount_\n const timeout = timeout_ ?? config.timeout ?? 10_000\n let url_ = url\n if (config.includeChainToURL) {\n const chainName = chain?.name.replace(' ', '-').toLowerCase()\n url_ = `${url}${chainName ? `/${chainName}` : ''}`\n }\n if (!url_) {\n throw new UrlRequiredError()\n }\n\n const client = getHttpRpcClient(url_, {\n fetchOptions,\n onRequest: onFetchRequest,\n onResponse: onFetchResponse,\n timeout,\n })\n\n const rpcMethods = getRpcProviderMethods(key)\n\n return createTransport(\n {\n key,\n name,\n methods,\n async request({ method, params }) {\n const body = {\n jsonrpc: '2.0' as const,\n id: idCache.take(),\n method,\n params,\n }\n const methodHandler = rpcMethods?.[method as UTXOMethod]\n const { error, result } = await (methodHandler?.(\n client,\n { baseUrl: url_, apiKey },\n params\n ) ??\n client.request({\n body,\n }))\n if (error) {\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n })\n }\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n },\n {\n fetchOptions,\n url: url_,\n }\n )\n }\n}\n"],"mappings":";;;;;;;AAcA,SAAgB,KACd,KACA,SAAkC,EAAE,EACrB;CACf,MAAM,EACJ,cACA,MAAM,QACN,OAAO,iBACP,gBACA,iBACA,YACA,QACA,YACE;AAEJ,SAAQ,EAAE,OAAO,YAAY,aAAa,SAAS,eAAe;EAChE,MAAM,aAAa,OAAO,cAAc;EACxC,MAAM,UAAU,YAAY,OAAO,WAAW;EAC9C,IAAI,OAAO;AACX,MAAI,OAAO,mBAAmB;GAC5B,MAAM,YAAY,OAAO,KAAK,QAAQ,KAAK,IAAI,CAAC,aAAa;AAC7D,UAAO,GAAG,MAAM,YAAY,IAAI,cAAc;;AAEhD,MAAI,CAAC,KACH,OAAM,IAAI,kBAAkB;EAG9B,MAAM,SAAS,iBAAiB,MAAM;GACpC;GACA,WAAW;GACX,YAAY;GACZ;GACD,CAAC;EAEF,MAAM,aAAa,sBAAsB,IAAI;AAE7C,SAAO,gBACL;GACE;GACA;GACA;GACA,MAAM,QAAQ,EAAE,QAAQ,UAAU;IAChC,MAAM,OAAO;KACX,SAAS;KACT,IAAI,QAAQ,MAAM;KAClB;KACA;KACD;IACD,MAAM,gBAAgB,aAAa;IACnC,MAAM,EAAE,OAAO,WAAW,OAAO,gBAC/B,QACA;KAAE,SAAS;KAAM;KAAQ,EACzB,OACD,IACC,OAAO,QAAQ,EACb,MACD,CAAC;AACJ,QAAI,MACF,OAAM,IAAI,gBAAgB;KACxB;KACA;KACA,KAAK;KACN,CAAC;AAEJ,WAAO;;GAET;GACA;GACA;GACA,MAAM;GACP,EACD;GACE;GACA,KAAK;GACN,CACF"}
1
+ {"version":3,"file":"utxo.js","names":[],"sources":["../../../src/transports/utxo.ts"],"sourcesContent":["import { RpcRequestError } from '../errors/request.js'\nimport { UrlRequiredError } from '../errors/transport.js'\nimport { createTransport } from '../factories/createTransport.js'\nimport { idCache } from '../utils/idCache.js'\nimport { getHttpRpcClient } from './getHttpRpcClient.js'\nimport { getRpcProviderMethods } from './getRpcProviderMethods.js'\nimport type { HttpTransport, HttpTransportConfig } from './http.js'\nimport type { UTXOMethod } from './types.js'\n\ntype UTXOHttpTransportConfig = HttpTransportConfig & {\n includeChainToURL?: boolean\n apiKey?: string\n}\n\nexport function utxo(\n url?: string,\n config: UTXOHttpTransportConfig = {}\n): HttpTransport {\n const {\n fetchOptions,\n key = 'utxo',\n name = 'UTXO HTTP API',\n onFetchRequest,\n onFetchResponse,\n retryDelay,\n apiKey,\n methods,\n } = config\n\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const retryCount = config.retryCount ?? retryCount_\n const timeout = timeout_ ?? config.timeout ?? 10_000\n let url_ = url\n if (config.includeChainToURL) {\n const chainName = chain?.name.replace(' ', '-').toLowerCase()\n url_ = `${url}${chainName ? `/${chainName}` : ''}`\n }\n if (!url_) {\n throw new UrlRequiredError()\n }\n\n const client = getHttpRpcClient(url_, {\n fetchOptions,\n onRequest: onFetchRequest,\n onResponse: onFetchResponse,\n timeout,\n })\n\n const rpcMethods = getRpcProviderMethods(key)\n\n return createTransport(\n {\n key,\n name,\n methods,\n async request({ method, params }) {\n const body = {\n jsonrpc: '2.0' as const,\n id: idCache.take(),\n method,\n params,\n }\n const methodHandler = rpcMethods?.[method as UTXOMethod]\n const { error, result } = await (methodHandler?.(\n client,\n { baseUrl: url_, apiKey },\n params\n ) ??\n client.request({\n body,\n }))\n if (error) {\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n })\n }\n return result\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n },\n {\n fetchOptions,\n url: url_,\n }\n )\n }\n}\n"],"mappings":";;;;;;;AAcA,SAAgB,KACd,KACA,SAAkC,CAAC,GACpB;CACf,MAAM,EACJ,cACA,MAAM,QACN,OAAO,iBACP,gBACA,iBACA,YACA,QACA,YACE;CAEJ,QAAQ,EAAE,OAAO,YAAY,aAAa,SAAS,eAAe;EAChE,MAAM,aAAa,OAAO,cAAc;EACxC,MAAM,UAAU,YAAY,OAAO,WAAW;EAC9C,IAAI,OAAO;EACX,IAAI,OAAO,mBAAmB;GAC5B,MAAM,YAAY,OAAO,KAAK,QAAQ,KAAK,GAAG,CAAC,CAAC,YAAY;GAC5D,OAAO,GAAG,MAAM,YAAY,IAAI,cAAc;EAChD;EACA,IAAI,CAAC,MACH,MAAM,IAAI,iBAAiB;EAG7B,MAAM,SAAS,iBAAiB,MAAM;GACpC;GACA,WAAW;GACX,YAAY;GACZ;EACF,CAAC;EAED,MAAM,aAAa,sBAAsB,GAAG;EAE5C,OAAO,gBACL;GACE;GACA;GACA;GACA,MAAM,QAAQ,EAAE,QAAQ,UAAU;IAChC,MAAM,OAAO;KACX,SAAS;KACT,IAAI,QAAQ,KAAK;KACjB;KACA;IACF;IACA,MAAM,gBAAgB,aAAa;IACnC,MAAM,EAAE,OAAO,WAAW,OAAO,gBAC/B,QACA;KAAE,SAAS;KAAM;IAAO,GACxB,MACF,KACE,OAAO,QAAQ,EACb,KACF,CAAC;IACH,IAAI,OACF,MAAM,IAAI,gBAAgB;KACxB;KACA;KACA,KAAK;IACP,CAAC;IAEH,OAAO;GACT;GACA;GACA;GACA;GACA,MAAM;EACR,GACA;GACE;GACA,KAAK;EACP,CACF;CACF;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { Address, AddressPurpose, AddressType } from "./address.js";
2
-
3
2
  //#region src/types/account.d.ts
4
3
  interface Account {
5
4
  address: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","names":[],"sources":["../../../src/types/account.ts"],"mappings":";;;UAEiB,OAAA;EACf,OAAA,EAAS,OAAA;EACT,WAAA,EAAa,WAAA;EACb,SAAA;EACA,OAAA,EAAS,cAAA;AAAA"}
1
+ {"version":3,"file":"account.d.ts","names":[],"sources":["../../../src/types/account.ts"],"mappings":";;UAEiB;EACf,SAAS;EACT,aAAa;EACb;EACA,SAAS"}
@@ -1,5 +1,4 @@
1
1
  import { Network } from "./chain.js";
2
-
3
2
  //#region src/types/address.d.ts
4
3
  type Address = string;
5
4
  type AddressPurpose = "payment" | "ordinals" | "stacks";
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","names":[],"sources":["../../../src/types/address.ts"],"mappings":";;;KAEY,OAAA;AAAA,KAEA,cAAA;AAAA,aAEA,WAAA;EACV,KAAA;EACA,IAAA;EACA,MAAA;EACA,KAAA;EACA,IAAA;AAAA;AAAA,KAGU,WAAA;EACV,MAAA;EACA,OAAA,EAAS,OAAA;EACT,OAAA,EAAS,OAAA;EACT,IAAA,EAAM,WAAA;EACN,OAAA,EAAS,cAAA;AAAA"}
1
+ {"version":3,"file":"address.d.ts","names":[],"sources":["../../../src/types/address.ts"],"mappings":";;KAEY;KAEA;aAEA;EACV;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA,SAAS;EACT,SAAS;EACT,MAAM;EACN,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"address.js","names":[],"sources":["../../../src/types/address.ts"],"sourcesContent":["import type { Network } from './chain.js'\n\nexport type Address = string\n\nexport type AddressPurpose = 'payment' | 'ordinals' | 'stacks'\n\nexport enum AddressType {\n p2pkh = 'p2pkh',\n p2sh = 'p2sh',\n p2wpkh = 'p2wpkh',\n p2wsh = 'p2wsh',\n p2tr = 'p2tr',\n}\n\nexport type AddressInfo = {\n bech32: boolean\n network: Network\n address: Address\n type: AddressType\n purpose: AddressPurpose\n}\n"],"mappings":";AAMA,IAAY,cAAL,yBAAA,aAAA;AACL,aAAA,WAAA;AACA,aAAA,UAAA;AACA,aAAA,YAAA;AACA,aAAA,WAAA;AACA,aAAA,UAAA;;KACD"}
1
+ {"version":3,"file":"address.js","names":[],"sources":["../../../src/types/address.ts"],"sourcesContent":["import type { Network } from './chain.js'\n\nexport type Address = string\n\nexport type AddressPurpose = 'payment' | 'ordinals' | 'stacks'\n\nexport enum AddressType {\n p2pkh = 'p2pkh',\n p2sh = 'p2sh',\n p2wpkh = 'p2wpkh',\n p2wsh = 'p2wsh',\n p2tr = 'p2tr',\n}\n\nexport type AddressInfo = {\n bech32: boolean\n network: Network\n address: Address\n type: AddressType\n purpose: AddressPurpose\n}\n"],"mappings":";AAMA,IAAY,cAAL,yBAAA,aAAA;CACL,YAAA,WAAA;CACA,YAAA,UAAA;CACA,YAAA,YAAA;CACA,YAAA,WAAA;CACA,YAAA,UAAA;;AACF,EAAA,CAAA,CAAA"}
@@ -1,22 +1,22 @@
1
1
  //#region src/types/block.d.ts
2
2
  /**
3
- * Specifies a particular block in the blockchain.
4
- *
5
- * - `"latest"`: the latest proposed block
6
- * - `"earliest"`: the earliest/genesis block – lowest numbered block the client has available
7
- * - `"pending"`: pending state/transactions – next block built by the client on top
8
- * of unsafe and containing the set of transactions usually taken from local mempool
9
- * - `"safe"`: the latest safe head block – the most recent block that is safe from
10
- * re-orgs under honest majority and certain synchronicity assumptions
11
- * - `"finalized"`: the latest finalized block – the most recent crypto-economically secure block;
12
- * cannot be re-orged outside of manual intervention driven by community coordination
13
- *
14
- * Using `pending`, while allowed, is not advised, as it may lead
15
- * to internally inconsistent results. Use of `latest` is safe and will not
16
- * lead to inconsistent results. Depending on the backing RPC networks caching system,
17
- * the usage of `pending` may lead to inconsistencies as a result of an
18
- * overly aggressive cache system. This may cause downstream errors/invalid states.
19
- */
3
+ * Specifies a particular block in the blockchain.
4
+ *
5
+ * - `"latest"`: the latest proposed block
6
+ * - `"earliest"`: the earliest/genesis block – lowest numbered block the client has available
7
+ * - `"pending"`: pending state/transactions – next block built by the client on top
8
+ * of unsafe and containing the set of transactions usually taken from local mempool
9
+ * - `"safe"`: the latest safe head block – the most recent block that is safe from
10
+ * re-orgs under honest majority and certain synchronicity assumptions
11
+ * - `"finalized"`: the latest finalized block – the most recent crypto-economically secure block;
12
+ * cannot be re-orged outside of manual intervention driven by community coordination
13
+ *
14
+ * Using `pending`, while allowed, is not advised, as it may lead
15
+ * to internally inconsistent results. Use of `latest` is safe and will not
16
+ * lead to inconsistent results. Depending on the backing RPC networks caching system,
17
+ * the usage of `pending` may lead to inconsistencies as a result of an
18
+ * overly aggressive cache system. This may cause downstream errors/invalid states.
19
+ */
20
20
  type BlockTag = "latest" | "earliest" | "pending" | "safe" | "finalized";
21
21
  //#endregion
22
22
  export { BlockTag };
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","names":[],"sources":["../../../src/types/block.ts"],"mappings":";;AAkBA;;;;;;;;;;;;;;;;;KAAY,QAAA"}
1
+ {"version":3,"file":"block.d.ts","names":[],"sources":["../../../src/types/block.ts"],"mappings":";;;;;;;;;;;;;;;;;;;KAkBY"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockStats.d.ts","names":[],"sources":["../../../src/types/blockStats.ts"],"mappings":";KAAY,UAAA,GAAa,OAAA;EACvB,MAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;EACA,mBAAA;EACA,MAAA;EACA,GAAA;EACA,MAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;EACA,UAAA;EACA,YAAA;EACA,MAAA;EACA,UAAA;EACA,SAAA;EACA,IAAA;EACA,OAAA;EACA,YAAA;EACA,cAAA;EACA,KAAA;EACA,IAAA;EACA,SAAA;EACA,UAAA;EACA,YAAA;EACA,QAAA;EACA,GAAA;EACA,aAAA;EACA,aAAA;EACA,oBAAA;EACA,oBAAA;AAAA;AAAA,KAGU,cAAA,SAAuB,UAAA"}
1
+ {"version":3,"file":"blockStats.d.ts","names":[],"sources":["../../../src/types/blockStats.ts"],"mappings":";KAAY,aAAa;EACvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU,uBAAuB"}
@@ -15,26 +15,37 @@ declare enum Network {
15
15
  Regtest = "regtest"
16
16
  }
17
17
  type Chain<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
18
- /** Collection of block explorers */blockExplorers?: {
18
+ /** Collection of block explorers */
19
+ blockExplorers?: {
19
20
  [key: string]: ChainBlockExplorer;
20
21
  default: ChainBlockExplorer;
21
- } | undefined; /** ID in number form */
22
- id: ChainId; /** Human-readable name */
23
- name: string; /** Collection of RPC endpoints */
22
+ } | undefined;
23
+ /** ID in number form */
24
+ id: ChainId;
25
+ /** Human-readable name */
26
+ name: string;
27
+ /** Collection of RPC endpoints */
24
28
  rpcUrls: {
25
29
  [key: string]: ChainRpcUrls;
26
30
  default: ChainRpcUrls;
27
- }; /** Flag for test networks */
31
+ };
32
+ /** Flag for test networks */
28
33
  testnet?: boolean | undefined;
29
34
  } & ChainConfig<formatters, custom>;
30
35
  type ChainConfig<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
31
- /** Custom chain data. */custom?: custom | undefined; /** Modifies how data is formatted and typed (e.g. blocks and transactions) */
36
+ /** Custom chain data. */
37
+ custom?: custom | undefined;
38
+ /** Modifies how data is formatted and typed (e.g. blocks and transactions) */
32
39
  formatters?: formatters | undefined;
33
40
  };
34
41
  type ChainFormatters = {
35
- /** Modifies how the Block structure is formatted & typed. */block?: ChainFormatter<"block"> | undefined; /** Modifies how the Transaction structure is formatted & typed. */
36
- transaction?: ChainFormatter<"transaction"> | undefined; /** Modifies how the TransactionReceipt structure is formatted & typed. */
37
- transactionReceipt?: ChainFormatter<"transactionReceipt"> | undefined; /** Modifies how the TransactionRequest structure is formatted & typed. */
42
+ /** Modifies how the Block structure is formatted & typed. */
43
+ block?: ChainFormatter<"block"> | undefined;
44
+ /** Modifies how the Transaction structure is formatted & typed. */
45
+ transaction?: ChainFormatter<"transaction"> | undefined;
46
+ /** Modifies how the TransactionReceipt structure is formatted & typed. */
47
+ transactionReceipt?: ChainFormatter<"transactionReceipt"> | undefined;
48
+ /** Modifies how the TransactionRequest structure is formatted & typed. */
38
49
  transactionRequest?: ChainFormatter<"transactionRequest"> | undefined;
39
50
  };
40
51
  type ChainFormatter<type extends string = string> = {