@bigmi/core 0.1.0 → 0.2.0-beta.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 (575) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +6 -4
  3. package/dist/cjs/actions/getBalance.d.ts +6 -3
  4. package/dist/cjs/actions/getBalance.js.map +1 -1
  5. package/dist/cjs/actions/getBlock.d.ts +4 -1
  6. package/dist/cjs/actions/getBlock.js +3 -3
  7. package/dist/cjs/actions/getBlock.js.map +1 -1
  8. package/dist/cjs/actions/getBlockCount.d.ts +4 -1
  9. package/dist/cjs/actions/getBlockCount.js.map +1 -1
  10. package/dist/cjs/actions/getBlockStats.d.ts +4 -1
  11. package/dist/cjs/actions/getBlockStats.js +3 -3
  12. package/dist/cjs/actions/getBlockStats.js.map +1 -1
  13. package/dist/cjs/actions/getUTXOTransaction.d.ts +4 -1
  14. package/dist/cjs/actions/getUTXOTransaction.js +2 -2
  15. package/dist/cjs/actions/getUTXOTransaction.js.map +1 -1
  16. package/dist/cjs/actions/sendUTXOTransaction.d.ts +4 -1
  17. package/dist/cjs/actions/sendUTXOTransaction.js.map +1 -1
  18. package/dist/cjs/actions/signPsbt.d.ts +5 -2
  19. package/dist/cjs/actions/signPsbt.js.map +1 -1
  20. package/dist/cjs/actions/waitForTransaction.d.ts +3 -1
  21. package/dist/cjs/actions/waitForTransaction.js +16 -14
  22. package/dist/cjs/actions/waitForTransaction.js.map +1 -1
  23. package/dist/cjs/actions/watchBlockNumber.d.ts +3 -1
  24. package/dist/cjs/actions/watchBlockNumber.js +4 -4
  25. package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
  26. package/dist/cjs/chains/bitcoin.d.ts +5 -17
  27. package/dist/cjs/chains/bitcoin.js +2 -2
  28. package/dist/cjs/chains/bitcoin.js.map +1 -1
  29. package/dist/cjs/chains/defineChain.d.ts +3 -0
  30. package/dist/cjs/chains/defineChain.js +12 -0
  31. package/dist/cjs/chains/defineChain.js.map +1 -0
  32. package/dist/cjs/clients/decorators/public.d.ts +18 -0
  33. package/dist/cjs/clients/decorators/public.js +18 -0
  34. package/dist/cjs/clients/decorators/public.js.map +1 -0
  35. package/dist/cjs/clients/decorators/wallet.d.ts +11 -0
  36. package/dist/cjs/clients/decorators/wallet.js +12 -0
  37. package/dist/cjs/clients/decorators/wallet.js.map +1 -0
  38. package/dist/cjs/errors/address.d.ts +9 -0
  39. package/dist/cjs/errors/address.js +17 -0
  40. package/dist/cjs/errors/address.js.map +1 -0
  41. package/dist/cjs/errors/base.d.ts +27 -0
  42. package/dist/cjs/errors/base.js +55 -0
  43. package/dist/cjs/errors/base.js.map +1 -0
  44. package/dist/cjs/errors/block.d.ts +11 -0
  45. package/dist/cjs/errors/block.js +18 -0
  46. package/dist/cjs/errors/block.js.map +1 -0
  47. package/dist/cjs/errors/config.d.ts +61 -0
  48. package/dist/cjs/errors/config.js +65 -0
  49. package/dist/cjs/errors/config.js.map +1 -0
  50. package/dist/cjs/errors/provider.d.ts +4 -0
  51. package/dist/cjs/errors/provider.js +15 -0
  52. package/dist/cjs/errors/provider.js.map +1 -0
  53. package/dist/cjs/errors/request.d.ts +80 -0
  54. package/dist/cjs/errors/request.js +72 -0
  55. package/dist/cjs/errors/request.js.map +1 -0
  56. package/dist/cjs/errors/rpc.d.ts +23 -0
  57. package/dist/cjs/errors/rpc.js +49 -0
  58. package/dist/cjs/errors/rpc.js.map +1 -0
  59. package/dist/cjs/errors/transaction.d.ts +31 -0
  60. package/dist/cjs/errors/transaction.js +40 -0
  61. package/dist/cjs/errors/transaction.js.map +1 -0
  62. package/dist/cjs/errors/transport.d.ts +7 -0
  63. package/dist/cjs/errors/transport.js +13 -0
  64. package/dist/cjs/errors/transport.js.map +1 -0
  65. package/dist/cjs/errors/utils.d.ts +6 -0
  66. package/dist/cjs/errors/utils.js +8 -0
  67. package/dist/cjs/errors/utils.js.map +1 -0
  68. package/dist/cjs/factories/createClient.d.ts +50 -0
  69. package/dist/cjs/factories/createClient.js +45 -0
  70. package/dist/cjs/factories/createClient.js.map +1 -0
  71. package/dist/cjs/factories/createTransport.d.ts +31 -0
  72. package/dist/cjs/factories/createTransport.js +23 -0
  73. package/dist/cjs/factories/createTransport.js.map +1 -0
  74. package/dist/cjs/index.d.ts +37 -4
  75. package/dist/cjs/index.js +63 -5
  76. package/dist/cjs/index.js.map +1 -1
  77. package/dist/cjs/transports/custom.d.ts +16 -0
  78. package/dist/cjs/transports/custom.js +17 -0
  79. package/dist/cjs/transports/custom.js.map +1 -0
  80. package/dist/cjs/transports/fallback.d.ts +56 -0
  81. package/dist/cjs/transports/fallback.js +165 -0
  82. package/dist/cjs/transports/fallback.js.map +1 -0
  83. package/dist/cjs/transports/getHttpRpcClient.d.ts +11 -1
  84. package/dist/cjs/transports/getHttpRpcClient.js +12 -10
  85. package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
  86. package/dist/cjs/transports/http.d.ts +28 -0
  87. package/dist/cjs/transports/http.js +72 -0
  88. package/dist/cjs/transports/http.js.map +1 -0
  89. package/dist/cjs/transports/types.d.ts +20 -5
  90. package/dist/cjs/transports/utxo.d.ts +1 -1
  91. package/dist/cjs/transports/utxo.js +6 -4
  92. package/dist/cjs/transports/utxo.js.map +1 -1
  93. package/dist/cjs/types/account.d.ts +9 -0
  94. package/dist/cjs/types/account.js +3 -0
  95. package/dist/cjs/types/account.js.map +1 -0
  96. package/dist/cjs/types/actions.d.ts +17 -0
  97. package/dist/cjs/types/actions.js +3 -0
  98. package/dist/cjs/types/actions.js.map +1 -0
  99. package/dist/cjs/types/address.d.ts +1 -0
  100. package/dist/cjs/types/address.js +3 -0
  101. package/dist/cjs/types/address.js.map +1 -0
  102. package/dist/cjs/types/base.d.ts +0 -0
  103. package/dist/cjs/types/base.js +2 -0
  104. package/dist/cjs/types/base.js.map +1 -0
  105. package/dist/cjs/types/block.d.ts +1 -0
  106. package/dist/cjs/{clients/types.js → types/block.js} +1 -1
  107. package/dist/cjs/types/block.js.map +1 -0
  108. package/dist/cjs/types/chain.d.ts +37 -0
  109. package/dist/cjs/types/chain.js +3 -0
  110. package/dist/cjs/types/chain.js.map +1 -0
  111. package/dist/cjs/types/client.d.ts +41 -0
  112. package/dist/cjs/types/client.js +3 -0
  113. package/dist/cjs/types/client.js.map +1 -0
  114. package/dist/cjs/types/hash.d.ts +1 -0
  115. package/dist/cjs/types/hash.js +3 -0
  116. package/dist/cjs/types/hash.js.map +1 -0
  117. package/dist/cjs/types/request.d.ts +43 -0
  118. package/dist/cjs/types/request.js +3 -0
  119. package/dist/cjs/types/request.js.map +1 -0
  120. package/dist/cjs/types/rpc.d.ts +34 -0
  121. package/dist/cjs/types/rpc.js +3 -0
  122. package/dist/cjs/types/rpc.js.map +1 -0
  123. package/dist/cjs/types/storage.d.ts +22 -0
  124. package/dist/cjs/types/storage.js +3 -0
  125. package/dist/cjs/types/storage.js.map +1 -0
  126. package/dist/cjs/types/transport.d.ts +29 -0
  127. package/dist/cjs/types/transport.js +3 -0
  128. package/dist/cjs/types/transport.js.map +1 -0
  129. package/dist/cjs/types/utils.d.ts +36 -0
  130. package/dist/cjs/types/utils.js +3 -0
  131. package/dist/cjs/types/utils.js.map +1 -0
  132. package/dist/cjs/utils/buildRequest.d.ts +5 -0
  133. package/dist/cjs/utils/buildRequest.js +102 -0
  134. package/dist/cjs/utils/buildRequest.js.map +1 -0
  135. package/dist/cjs/utils/converter.d.ts +3 -0
  136. package/dist/cjs/utils/converter.js +28 -0
  137. package/dist/cjs/utils/converter.js.map +1 -0
  138. package/dist/cjs/utils/createBatchScheduler.d.ts +20 -0
  139. package/dist/cjs/utils/createBatchScheduler.js +54 -0
  140. package/dist/cjs/utils/createBatchScheduler.js.map +1 -0
  141. package/dist/cjs/utils/deepEqual.d.ts +1 -0
  142. package/dist/cjs/utils/deepEqual.js +52 -0
  143. package/dist/cjs/utils/deepEqual.js.map +1 -0
  144. package/dist/cjs/utils/getAction.d.ts +10 -0
  145. package/dist/cjs/utils/getAction.js +15 -0
  146. package/dist/cjs/utils/getAction.js.map +1 -0
  147. package/dist/cjs/utils/getUTXOAddress.d.ts +3 -2
  148. package/dist/cjs/utils/getUTXOAddress.js.map +1 -1
  149. package/dist/cjs/utils/isUTXOAddress.js.map +1 -1
  150. package/dist/cjs/utils/lru.d.ts +6 -0
  151. package/dist/cjs/utils/lru.js +29 -0
  152. package/dist/cjs/utils/lru.js.map +1 -0
  153. package/dist/cjs/utils/observe.d.ts +1 -1
  154. package/dist/cjs/utils/parseAccount.d.ts +5 -0
  155. package/dist/cjs/utils/parseAccount.js +10 -0
  156. package/dist/cjs/utils/parseAccount.js.map +1 -0
  157. package/dist/cjs/utils/stringify.d.ts +3 -0
  158. package/dist/cjs/utils/stringify.js +9 -0
  159. package/dist/cjs/utils/stringify.js.map +1 -0
  160. package/dist/cjs/utils/uid.d.ts +1 -0
  161. package/dist/cjs/utils/uid.js +17 -0
  162. package/dist/cjs/utils/uid.js.map +1 -0
  163. package/dist/cjs/utils/wait.d.ts +1 -0
  164. package/dist/cjs/utils/wait.js +7 -0
  165. package/dist/cjs/utils/wait.js.map +1 -0
  166. package/dist/cjs/utils/withDedupe.d.ts +8 -0
  167. package/dist/cjs/utils/withDedupe.js +18 -0
  168. package/dist/cjs/utils/withDedupe.js.map +1 -0
  169. package/dist/cjs/utils/withResolvers.d.ts +6 -0
  170. package/dist/cjs/utils/withResolvers.js +13 -0
  171. package/dist/cjs/utils/withResolvers.js.map +1 -0
  172. package/dist/cjs/utils/withRetry.d.ts +14 -0
  173. package/dist/cjs/utils/withRetry.js +30 -0
  174. package/dist/cjs/utils/withRetry.js.map +1 -0
  175. package/dist/cjs/utils/withTimeout.d.ts +9 -0
  176. package/dist/cjs/utils/withTimeout.js +35 -0
  177. package/dist/cjs/utils/withTimeout.js.map +1 -0
  178. package/dist/cjs/version.d.ts +1 -0
  179. package/dist/cjs/version.js +5 -0
  180. package/dist/cjs/version.js.map +1 -0
  181. package/dist/esm/actions/getBalance.d.ts +6 -3
  182. package/dist/esm/actions/getBalance.js.map +1 -1
  183. package/dist/esm/actions/getBlock.d.ts +4 -1
  184. package/dist/esm/actions/getBlock.js +1 -1
  185. package/dist/esm/actions/getBlock.js.map +1 -1
  186. package/dist/esm/actions/getBlockCount.d.ts +4 -1
  187. package/dist/esm/actions/getBlockCount.js.map +1 -1
  188. package/dist/esm/actions/getBlockStats.d.ts +4 -1
  189. package/dist/esm/actions/getBlockStats.js +1 -1
  190. package/dist/esm/actions/getBlockStats.js.map +1 -1
  191. package/dist/esm/actions/getUTXOTransaction.d.ts +4 -1
  192. package/dist/esm/actions/getUTXOTransaction.js +1 -1
  193. package/dist/esm/actions/getUTXOTransaction.js.map +1 -1
  194. package/dist/esm/actions/sendUTXOTransaction.d.ts +4 -1
  195. package/dist/esm/actions/sendUTXOTransaction.js.map +1 -1
  196. package/dist/esm/actions/signPsbt.d.ts +5 -2
  197. package/dist/esm/actions/signPsbt.js.map +1 -1
  198. package/dist/esm/actions/waitForTransaction.d.ts +3 -1
  199. package/dist/esm/actions/waitForTransaction.js +4 -2
  200. package/dist/esm/actions/waitForTransaction.js.map +1 -1
  201. package/dist/esm/actions/watchBlockNumber.d.ts +3 -1
  202. package/dist/esm/actions/watchBlockNumber.js +2 -2
  203. package/dist/esm/actions/watchBlockNumber.js.map +1 -1
  204. package/dist/esm/chains/bitcoin.d.ts +5 -17
  205. package/dist/esm/chains/bitcoin.js +1 -1
  206. package/dist/esm/chains/bitcoin.js.map +1 -1
  207. package/dist/esm/chains/defineChain.d.ts +3 -0
  208. package/dist/esm/chains/defineChain.js +9 -0
  209. package/dist/esm/chains/defineChain.js.map +1 -0
  210. package/dist/esm/clients/decorators/public.d.ts +18 -0
  211. package/dist/esm/clients/decorators/public.js +15 -0
  212. package/dist/esm/clients/decorators/public.js.map +1 -0
  213. package/dist/esm/clients/decorators/wallet.d.ts +14 -0
  214. package/dist/esm/clients/decorators/wallet.js +9 -0
  215. package/dist/esm/clients/decorators/wallet.js.map +1 -0
  216. package/dist/esm/errors/address.d.ts +9 -0
  217. package/dist/esm/errors/address.js +13 -0
  218. package/dist/esm/errors/address.js.map +1 -0
  219. package/dist/esm/errors/base.d.ts +27 -0
  220. package/dist/esm/errors/base.js +50 -0
  221. package/dist/esm/errors/base.js.map +1 -0
  222. package/dist/esm/errors/block.d.ts +11 -0
  223. package/dist/esm/errors/block.js +14 -0
  224. package/dist/esm/errors/block.js.map +1 -0
  225. package/dist/esm/errors/config.d.ts +61 -0
  226. package/dist/esm/errors/config.js +55 -0
  227. package/dist/esm/errors/config.js.map +1 -0
  228. package/dist/esm/errors/provider.d.ts +4 -0
  229. package/dist/esm/errors/provider.js +11 -0
  230. package/dist/esm/errors/provider.js.map +1 -0
  231. package/dist/esm/errors/request.d.ts +80 -0
  232. package/dist/esm/errors/request.js +64 -0
  233. package/dist/esm/errors/request.js.map +1 -0
  234. package/dist/esm/errors/rpc.d.ts +53 -0
  235. package/dist/esm/errors/rpc.js +73 -0
  236. package/dist/esm/errors/rpc.js.map +1 -0
  237. package/dist/esm/errors/transaction.d.ts +31 -0
  238. package/dist/esm/errors/transaction.js +34 -0
  239. package/dist/esm/errors/transaction.js.map +1 -0
  240. package/dist/esm/errors/transport.d.ts +7 -0
  241. package/dist/esm/errors/transport.js +9 -0
  242. package/dist/esm/errors/transport.js.map +1 -0
  243. package/dist/esm/errors/utils.d.ts +6 -0
  244. package/dist/esm/errors/utils.js +3 -0
  245. package/dist/esm/errors/utils.js.map +1 -0
  246. package/dist/esm/factories/createClient.d.ts +85 -0
  247. package/dist/esm/factories/createClient.js +45 -0
  248. package/dist/esm/factories/createClient.js.map +1 -0
  249. package/dist/esm/factories/createTransport.d.ts +42 -0
  250. package/dist/esm/factories/createTransport.js +23 -0
  251. package/dist/esm/factories/createTransport.js.map +1 -0
  252. package/dist/esm/index.d.ts +37 -4
  253. package/dist/esm/index.js +26 -3
  254. package/dist/esm/index.js.map +1 -1
  255. package/dist/esm/transports/custom.d.ts +24 -0
  256. package/dist/esm/transports/custom.js +17 -0
  257. package/dist/esm/transports/custom.js.map +1 -0
  258. package/dist/esm/transports/fallback.d.ts +89 -0
  259. package/dist/esm/transports/fallback.js +172 -0
  260. package/dist/esm/transports/fallback.js.map +1 -0
  261. package/dist/esm/transports/getHttpRpcClient.d.ts +15 -1
  262. package/dist/esm/transports/getHttpRpcClient.js +4 -2
  263. package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
  264. package/dist/esm/transports/http.d.ts +53 -0
  265. package/dist/esm/transports/http.js +74 -0
  266. package/dist/esm/transports/http.js.map +1 -0
  267. package/dist/esm/transports/types.d.ts +36 -5
  268. package/dist/esm/transports/utxo.d.ts +1 -1
  269. package/dist/esm/transports/utxo.js +3 -1
  270. package/dist/esm/transports/utxo.js.map +1 -1
  271. package/dist/esm/types/account.d.ts +9 -0
  272. package/dist/esm/types/account.js +2 -0
  273. package/dist/esm/types/account.js.map +1 -0
  274. package/dist/esm/types/actions.d.ts +20 -0
  275. package/dist/esm/types/actions.js +2 -0
  276. package/dist/esm/types/actions.js.map +1 -0
  277. package/dist/esm/types/address.d.ts +1 -0
  278. package/dist/esm/types/address.js +2 -0
  279. package/dist/esm/types/address.js.map +1 -0
  280. package/dist/esm/types/base.d.ts +0 -0
  281. package/dist/esm/types/base.js +2 -0
  282. package/dist/esm/types/base.js.map +1 -0
  283. package/dist/esm/types/block.d.ts +19 -0
  284. package/dist/esm/types/block.js +2 -0
  285. package/dist/esm/types/block.js.map +1 -0
  286. package/dist/esm/types/chain.d.ts +48 -0
  287. package/dist/esm/types/chain.js +2 -0
  288. package/dist/esm/types/chain.js.map +1 -0
  289. package/dist/esm/types/client.d.ts +68 -0
  290. package/dist/esm/types/client.js +2 -0
  291. package/dist/esm/types/client.js.map +1 -0
  292. package/dist/esm/types/hash.d.ts +1 -0
  293. package/dist/esm/types/hash.js +2 -0
  294. package/dist/esm/types/hash.js.map +1 -0
  295. package/dist/esm/types/request.d.ts +48 -0
  296. package/dist/esm/types/request.js +2 -0
  297. package/dist/esm/types/request.js.map +1 -0
  298. package/dist/esm/types/rpc.d.ts +34 -0
  299. package/dist/esm/types/rpc.js +2 -0
  300. package/dist/esm/types/rpc.js.map +1 -0
  301. package/dist/esm/types/storage.d.ts +22 -0
  302. package/dist/esm/types/storage.js +2 -0
  303. package/dist/esm/types/storage.js.map +1 -0
  304. package/dist/esm/types/transport.d.ts +37 -0
  305. package/dist/esm/types/transport.js +2 -0
  306. package/dist/esm/types/transport.js.map +1 -0
  307. package/dist/esm/types/utils.d.ts +72 -0
  308. package/dist/esm/types/utils.js +2 -0
  309. package/dist/esm/types/utils.js.map +1 -0
  310. package/dist/esm/utils/buildRequest.d.ts +6 -0
  311. package/dist/esm/utils/buildRequest.js +111 -0
  312. package/dist/esm/utils/buildRequest.js.map +1 -0
  313. package/dist/esm/utils/converter.d.ts +3 -0
  314. package/dist/esm/utils/converter.js +23 -0
  315. package/dist/esm/utils/converter.js.map +1 -0
  316. package/dist/esm/utils/createBatchScheduler.d.ts +21 -0
  317. package/dist/esm/utils/createBatchScheduler.js +52 -0
  318. package/dist/esm/utils/createBatchScheduler.js.map +1 -0
  319. package/dist/esm/utils/deepEqual.d.ts +2 -0
  320. package/dist/esm/utils/deepEqual.js +52 -0
  321. package/dist/esm/utils/deepEqual.js.map +1 -0
  322. package/dist/esm/utils/getAction.d.ts +17 -0
  323. package/dist/esm/utils/getAction.js +23 -0
  324. package/dist/esm/utils/getAction.js.map +1 -0
  325. package/dist/esm/utils/getUTXOAddress.d.ts +3 -2
  326. package/dist/esm/utils/getUTXOAddress.js.map +1 -1
  327. package/dist/esm/utils/isUTXOAddress.js.map +1 -1
  328. package/dist/esm/utils/lru.d.ts +11 -0
  329. package/dist/esm/utils/lru.js +30 -0
  330. package/dist/esm/utils/lru.js.map +1 -0
  331. package/dist/esm/utils/observe.d.ts +1 -1
  332. package/dist/esm/utils/parseAccount.d.ts +5 -0
  333. package/dist/esm/utils/parseAccount.js +7 -0
  334. package/dist/esm/utils/parseAccount.js.map +1 -0
  335. package/dist/esm/utils/stringify.d.ts +3 -0
  336. package/dist/esm/utils/stringify.js +5 -0
  337. package/dist/esm/utils/stringify.js.map +1 -0
  338. package/dist/esm/utils/uid.d.ts +1 -0
  339. package/dist/esm/utils/uid.js +14 -0
  340. package/dist/esm/utils/uid.js.map +1 -0
  341. package/dist/esm/utils/wait.d.ts +1 -0
  342. package/dist/esm/utils/wait.js +4 -0
  343. package/dist/esm/utils/wait.js.map +1 -0
  344. package/dist/esm/utils/withDedupe.d.ts +10 -0
  345. package/dist/esm/utils/withDedupe.js +16 -0
  346. package/dist/esm/utils/withDedupe.js.map +1 -0
  347. package/dist/esm/utils/withResolvers.d.ts +8 -0
  348. package/dist/esm/utils/withResolvers.js +11 -0
  349. package/dist/esm/utils/withResolvers.js.map +1 -0
  350. package/dist/esm/utils/withRetry.d.ts +14 -0
  351. package/dist/esm/utils/withRetry.js +27 -0
  352. package/dist/esm/utils/withRetry.js.map +1 -0
  353. package/dist/esm/utils/withTimeout.d.ts +9 -0
  354. package/dist/esm/utils/withTimeout.js +32 -0
  355. package/dist/esm/utils/withTimeout.js.map +1 -0
  356. package/dist/esm/version.d.ts +1 -0
  357. package/dist/esm/version.js +2 -0
  358. package/dist/esm/version.js.map +1 -0
  359. package/dist/types/actions/getBalance.d.ts +6 -3
  360. package/dist/types/actions/getBalance.d.ts.map +1 -1
  361. package/dist/types/actions/getBlock.d.ts +4 -1
  362. package/dist/types/actions/getBlock.d.ts.map +1 -1
  363. package/dist/types/actions/getBlockCount.d.ts +4 -1
  364. package/dist/types/actions/getBlockCount.d.ts.map +1 -1
  365. package/dist/types/actions/getBlockStats.d.ts +4 -1
  366. package/dist/types/actions/getBlockStats.d.ts.map +1 -1
  367. package/dist/types/actions/getUTXOTransaction.d.ts +4 -1
  368. package/dist/types/actions/getUTXOTransaction.d.ts.map +1 -1
  369. package/dist/types/actions/sendUTXOTransaction.d.ts +4 -1
  370. package/dist/types/actions/sendUTXOTransaction.d.ts.map +1 -1
  371. package/dist/types/actions/signPsbt.d.ts +5 -2
  372. package/dist/types/actions/signPsbt.d.ts.map +1 -1
  373. package/dist/types/actions/waitForTransaction.d.ts +3 -1
  374. package/dist/types/actions/waitForTransaction.d.ts.map +1 -1
  375. package/dist/types/actions/watchBlockNumber.d.ts +3 -1
  376. package/dist/types/actions/watchBlockNumber.d.ts.map +1 -1
  377. package/dist/types/chains/bitcoin.d.ts +5 -17
  378. package/dist/types/chains/bitcoin.d.ts.map +1 -1
  379. package/dist/types/chains/defineChain.d.ts +4 -0
  380. package/dist/types/chains/defineChain.d.ts.map +1 -0
  381. package/dist/types/clients/decorators/public.d.ts +19 -0
  382. package/dist/types/clients/decorators/public.d.ts.map +1 -0
  383. package/dist/types/clients/decorators/wallet.d.ts +15 -0
  384. package/dist/types/clients/decorators/wallet.d.ts.map +1 -0
  385. package/dist/types/errors/address.d.ts +10 -0
  386. package/dist/types/errors/address.d.ts.map +1 -0
  387. package/dist/types/errors/base.d.ts +28 -0
  388. package/dist/types/errors/base.d.ts.map +1 -0
  389. package/dist/types/errors/block.d.ts +12 -0
  390. package/dist/types/errors/block.d.ts.map +1 -0
  391. package/dist/types/errors/config.d.ts +62 -0
  392. package/dist/types/errors/config.d.ts.map +1 -0
  393. package/dist/types/errors/provider.d.ts +5 -0
  394. package/dist/types/errors/provider.d.ts.map +1 -0
  395. package/dist/types/errors/request.d.ts +81 -0
  396. package/dist/types/errors/request.d.ts.map +1 -0
  397. package/dist/types/errors/rpc.d.ts +54 -0
  398. package/dist/types/errors/rpc.d.ts.map +1 -0
  399. package/dist/types/errors/transaction.d.ts +32 -0
  400. package/dist/types/errors/transaction.d.ts.map +1 -0
  401. package/dist/types/errors/transport.d.ts +8 -0
  402. package/dist/types/errors/transport.d.ts.map +1 -0
  403. package/dist/types/errors/utils.d.ts +7 -0
  404. package/dist/types/errors/utils.d.ts.map +1 -0
  405. package/dist/types/factories/createClient.d.ts +86 -0
  406. package/dist/types/factories/createClient.d.ts.map +1 -0
  407. package/dist/types/factories/createTransport.d.ts +43 -0
  408. package/dist/types/factories/createTransport.d.ts.map +1 -0
  409. package/dist/types/index.d.ts +37 -4
  410. package/dist/types/index.d.ts.map +1 -1
  411. package/dist/types/transports/custom.d.ts +25 -0
  412. package/dist/types/transports/custom.d.ts.map +1 -0
  413. package/dist/types/transports/fallback.d.ts +90 -0
  414. package/dist/types/transports/fallback.d.ts.map +1 -0
  415. package/dist/types/transports/getHttpRpcClient.d.ts +15 -1
  416. package/dist/types/transports/getHttpRpcClient.d.ts.map +1 -1
  417. package/dist/types/transports/http.d.ts +54 -0
  418. package/dist/types/transports/http.d.ts.map +1 -0
  419. package/dist/types/transports/types.d.ts +36 -5
  420. package/dist/types/transports/types.d.ts.map +1 -1
  421. package/dist/types/transports/utxo.d.ts +1 -1
  422. package/dist/types/transports/utxo.d.ts.map +1 -1
  423. package/dist/types/types/account.d.ts +10 -0
  424. package/dist/types/types/account.d.ts.map +1 -0
  425. package/dist/types/types/actions.d.ts +21 -0
  426. package/dist/types/types/actions.d.ts.map +1 -0
  427. package/dist/types/types/address.d.ts +2 -0
  428. package/dist/types/types/address.d.ts.map +1 -0
  429. package/dist/types/types/base.d.ts +1 -0
  430. package/dist/types/types/base.d.ts.map +1 -0
  431. package/dist/types/types/block.d.ts +20 -0
  432. package/dist/types/types/block.d.ts.map +1 -0
  433. package/dist/types/types/chain.d.ts +49 -0
  434. package/dist/types/types/chain.d.ts.map +1 -0
  435. package/dist/types/types/client.d.ts +69 -0
  436. package/dist/types/types/client.d.ts.map +1 -0
  437. package/dist/types/types/hash.d.ts +2 -0
  438. package/dist/types/types/hash.d.ts.map +1 -0
  439. package/dist/types/types/request.d.ts +49 -0
  440. package/dist/types/types/request.d.ts.map +1 -0
  441. package/dist/types/types/rpc.d.ts +35 -0
  442. package/dist/types/types/rpc.d.ts.map +1 -0
  443. package/dist/types/types/storage.d.ts +23 -0
  444. package/dist/types/types/storage.d.ts.map +1 -0
  445. package/dist/types/types/transport.d.ts +38 -0
  446. package/dist/types/types/transport.d.ts.map +1 -0
  447. package/dist/types/types/utils.d.ts +73 -0
  448. package/dist/types/types/utils.d.ts.map +1 -0
  449. package/dist/types/utils/buildRequest.d.ts +7 -0
  450. package/dist/types/utils/buildRequest.d.ts.map +1 -0
  451. package/dist/types/utils/converter.d.ts +4 -0
  452. package/dist/types/utils/converter.d.ts.map +1 -0
  453. package/dist/types/utils/createBatchScheduler.d.ts +22 -0
  454. package/dist/types/utils/createBatchScheduler.d.ts.map +1 -0
  455. package/dist/types/utils/deepEqual.d.ts +3 -0
  456. package/dist/types/utils/deepEqual.d.ts.map +1 -0
  457. package/dist/types/utils/getAction.d.ts +18 -0
  458. package/dist/types/utils/getAction.d.ts.map +1 -0
  459. package/dist/types/utils/getUTXOAddress.d.ts +3 -2
  460. package/dist/types/utils/getUTXOAddress.d.ts.map +1 -1
  461. package/dist/types/utils/isUTXOAddress.d.ts.map +1 -1
  462. package/dist/types/utils/lru.d.ts +12 -0
  463. package/dist/types/utils/lru.d.ts.map +1 -0
  464. package/dist/types/utils/observe.d.ts +1 -1
  465. package/dist/types/utils/observe.d.ts.map +1 -1
  466. package/dist/types/utils/parseAccount.d.ts +6 -0
  467. package/dist/types/utils/parseAccount.d.ts.map +1 -0
  468. package/dist/types/utils/stringify.d.ts +4 -0
  469. package/dist/types/utils/stringify.d.ts.map +1 -0
  470. package/dist/types/utils/uid.d.ts +2 -0
  471. package/dist/types/utils/uid.d.ts.map +1 -0
  472. package/dist/types/utils/wait.d.ts +2 -0
  473. package/dist/types/utils/wait.d.ts.map +1 -0
  474. package/dist/types/utils/withDedupe.d.ts +11 -0
  475. package/dist/types/utils/withDedupe.d.ts.map +1 -0
  476. package/dist/types/utils/withResolvers.d.ts +9 -0
  477. package/dist/types/utils/withResolvers.d.ts.map +1 -0
  478. package/dist/types/utils/withRetry.d.ts +15 -0
  479. package/dist/types/utils/withRetry.d.ts.map +1 -0
  480. package/dist/types/utils/withTimeout.d.ts +10 -0
  481. package/dist/types/utils/withTimeout.d.ts.map +1 -0
  482. package/dist/types/version.d.ts +2 -0
  483. package/dist/types/version.d.ts.map +1 -0
  484. package/package.json +4 -3
  485. package/package.json.tmp +61 -0
  486. package/src/actions/getBalance.ts +6 -3
  487. package/src/actions/getBlock.ts +7 -7
  488. package/src/actions/getBlockCount.ts +4 -1
  489. package/src/actions/getBlockStats.ts +5 -7
  490. package/src/actions/getUTXOTransaction.ts +5 -7
  491. package/src/actions/sendUTXOTransaction.ts +4 -1
  492. package/src/actions/signPsbt.ts +5 -2
  493. package/src/actions/waitForTransaction.ts +9 -7
  494. package/src/actions/watchBlockNumber.ts +5 -2
  495. package/src/chains/bitcoin.ts +1 -1
  496. package/src/chains/defineChain.ts +14 -0
  497. package/src/clients/decorators/public.ts +62 -0
  498. package/src/clients/decorators/wallet.ts +37 -0
  499. package/src/errors/address.ts +16 -0
  500. package/src/errors/base.ts +85 -0
  501. package/src/errors/block.ts +24 -0
  502. package/src/errors/config.ts +102 -0
  503. package/src/errors/provider.ts +11 -0
  504. package/src/errors/request.ts +134 -0
  505. package/src/errors/rpc.ts +77 -0
  506. package/src/errors/transaction.ts +67 -0
  507. package/src/errors/transport.ts +15 -0
  508. package/src/errors/utils.ts +6 -0
  509. package/src/factories/createClient.ts +199 -0
  510. package/src/factories/createTransport.ts +93 -0
  511. package/src/index.ts +114 -13
  512. package/src/transports/custom.ts +56 -0
  513. package/src/transports/fallback.ts +332 -0
  514. package/src/transports/getHttpRpcClient.ts +28 -4
  515. package/src/transports/http.ts +176 -0
  516. package/src/transports/types.ts +38 -5
  517. package/src/transports/utxo.ts +6 -9
  518. package/src/types/account.ts +10 -0
  519. package/src/types/actions.ts +38 -0
  520. package/src/types/address.ts +1 -0
  521. package/src/types/base.ts +0 -0
  522. package/src/types/block.ts +19 -0
  523. package/src/types/chain.ts +72 -0
  524. package/src/types/client.ts +108 -0
  525. package/src/types/hash.ts +1 -0
  526. package/src/types/request.ts +87 -0
  527. package/src/types/rpc.ts +37 -0
  528. package/src/types/storage.ts +44 -0
  529. package/src/types/transport.ts +54 -0
  530. package/src/types/utils.ts +131 -0
  531. package/src/utils/buildRequest.ts +145 -0
  532. package/src/utils/converter.ts +25 -0
  533. package/src/utils/createBatchScheduler.ts +116 -0
  534. package/src/utils/deepEqual.ts +62 -0
  535. package/src/utils/getAction.ts +45 -0
  536. package/src/utils/getUTXOAddress.ts +4 -3
  537. package/src/utils/isUTXOAddress.ts +2 -1
  538. package/src/utils/lru.ts +35 -0
  539. package/src/utils/observe.ts +1 -1
  540. package/src/utils/parseAccount.ts +14 -0
  541. package/src/utils/stringify.ts +13 -0
  542. package/src/utils/uid.ts +14 -0
  543. package/src/utils/wait.ts +3 -0
  544. package/src/utils/withDedupe.ts +25 -0
  545. package/src/utils/withResolvers.ts +19 -0
  546. package/src/utils/withRetry.ts +60 -0
  547. package/src/utils/withTimeout.ts +47 -0
  548. package/src/version.ts +1 -0
  549. package/tsconfig.json +2 -1
  550. package/dist/cjs/clients/types.d.ts +0 -27
  551. package/dist/cjs/clients/types.js.map +0 -1
  552. package/dist/cjs/decorators/UTXOAPIActions.d.ts +0 -6
  553. package/dist/cjs/decorators/UTXOAPIActions.js +0 -10
  554. package/dist/cjs/decorators/UTXOAPIActions.js.map +0 -1
  555. package/dist/cjs/decorators/UTXOActions.d.ts +0 -10
  556. package/dist/cjs/decorators/UTXOActions.js +0 -14
  557. package/dist/cjs/decorators/UTXOActions.js.map +0 -1
  558. package/dist/esm/clients/types.d.ts +0 -43
  559. package/dist/esm/clients/types.js +0 -2
  560. package/dist/esm/clients/types.js.map +0 -1
  561. package/dist/esm/decorators/UTXOAPIActions.d.ts +0 -6
  562. package/dist/esm/decorators/UTXOAPIActions.js +0 -7
  563. package/dist/esm/decorators/UTXOAPIActions.js.map +0 -1
  564. package/dist/esm/decorators/UTXOActions.d.ts +0 -10
  565. package/dist/esm/decorators/UTXOActions.js +0 -11
  566. package/dist/esm/decorators/UTXOActions.js.map +0 -1
  567. package/dist/types/clients/types.d.ts +0 -44
  568. package/dist/types/clients/types.d.ts.map +0 -1
  569. package/dist/types/decorators/UTXOAPIActions.d.ts +0 -7
  570. package/dist/types/decorators/UTXOAPIActions.d.ts.map +0 -1
  571. package/dist/types/decorators/UTXOActions.d.ts +0 -11
  572. package/dist/types/decorators/UTXOActions.d.ts.map +0 -1
  573. package/src/clients/types.ts +0 -48
  574. package/src/decorators/UTXOAPIActions.ts +0 -20
  575. package/src/decorators/UTXOActions.ts +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,24 @@
1
- import type { HttpRequestReturnType, HttpRpcClientOptions } from 'viem/utils';
1
+ import type { RpcResponse } from '../types/rpc.js';
2
+ import type { MaybePromise } from '../types/utils.js';
2
3
  export type RpcRequest = {
3
4
  jsonrpc?: '2.0';
4
5
  method: string;
5
6
  params?: any;
6
7
  id?: number;
7
8
  };
9
+ export type HttpRequestReturnType<body extends RpcRequest | RpcRequest[] = RpcRequest> = body extends RpcRequest[] ? RpcResponse[] : RpcResponse;
10
+ export type HttpRpcClientOptions = {
11
+ /** Request configuration to pass to `fetch`. */
12
+ fetchOptions?: Omit<RequestInit, 'body'> | undefined;
13
+ /** A callback to handle the request. */
14
+ onRequest?: ((request: Request, init: RequestInit) => MaybePromise<void | undefined | (RequestInit & {
15
+ url?: string | undefined;
16
+ })>) | undefined;
17
+ /** A callback to handle the response. */
18
+ onResponse?: ((response: Response) => Promise<void> | void) | undefined;
19
+ /** The timeout (in ms) for the request. */
20
+ timeout?: number | undefined;
21
+ };
8
22
  export type HttpRequestParameters<body extends RpcRequest | RpcRequest[] = RpcRequest> = {
9
23
  url?: string;
10
24
  /** The RPC request body. */
@@ -1,4 +1,6 @@
1
- import { HttpRequestError, TimeoutError, stringify, withTimeout } from 'viem';
1
+ import { HttpRequestError, TimeoutError } from '../errors/request.js';
2
+ import { stringify } from '../utils/stringify.js';
3
+ import { withTimeout } from '../utils/withTimeout.js';
2
4
  export function getHttpRpcClient(url, options = {}) {
3
5
  return {
4
6
  async request(params) {
@@ -19,7 +21,7 @@ export function getHttpRpcClient(url, options = {}) {
19
21
  : undefined),
20
22
  ...headers,
21
23
  },
22
- method: method,
24
+ method: method || 'POST',
23
25
  signal: signal_ || (timeout > 0 ? signal : null),
24
26
  };
25
27
  const request = new Request(params.url ?? url, init);
@@ -1 +1 @@
1
- {"version":3,"file":"getHttpRpcClient.js","sourceRoot":"","sources":["../../../src/transports/getHttpRpcClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getHttpRpcClient.js","sourceRoot":"","sources":["../../../src/transports/getHttpRpcClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type UrlRequiredErrorType } from '../errors/transport.js';
2
+ import type { ErrorType } from '../errors/utils.js';
3
+ import { type CreateTransportErrorType, type Transport, type TransportConfig } from '../factories/createTransport.js';
4
+ import type { BtcRpcRequestFn, RpcSchema } from '../types/request.js';
5
+ import { type HttpRpcClientOptions } from './getHttpRpcClient.js';
6
+ export type HttpTransportConfig<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = {
7
+ /**
8
+ * Whether to enable Batch JSON-RPC.
9
+ * @link https://www.jsonrpc.org/specification#batch
10
+ */
11
+ batch?: boolean | {
12
+ /** The maximum number of JSON-RPC requests to send in a batch. @default 1_000 */
13
+ batchSize?: number | undefined;
14
+ /** The maximum number of milliseconds to wait before sending a batch. @default 0 */
15
+ wait?: number | undefined;
16
+ } | undefined;
17
+ /**
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;
22
+ /** A callback to handle the response from `fetch`. */
23
+ onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined;
24
+ /** A callback to handle the response from `fetch`. */
25
+ onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined;
26
+ /** The key of the HTTP transport. */
27
+ key?: TransportConfig['key'] | undefined;
28
+ /** Methods to include or exclude from executing RPC requests. */
29
+ methods?: TransportConfig['methods'] | undefined;
30
+ /** The name of the HTTP transport. */
31
+ name?: TransportConfig['name'] | undefined;
32
+ /** Whether to return JSON RPC errors as responses instead of throwing. */
33
+ raw?: raw | boolean | undefined;
34
+ /** The max number of times to retry. */
35
+ retryCount?: TransportConfig['retryCount'] | undefined;
36
+ /** The base delay (in ms) between retries. */
37
+ retryDelay?: TransportConfig['retryDelay'] | undefined;
38
+ /** Typed JSON-RPC schema for the transport. */
39
+ rpcSchema?: rpcSchema | RpcSchema | undefined;
40
+ /** The timeout (in ms) for the HTTP request. Default: 10_000 */
41
+ timeout?: TransportConfig['timeout'] | undefined;
42
+ };
43
+ export type HttpTransport<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = Transport<'http', {
44
+ fetchOptions?: HttpTransportConfig['fetchOptions'] | undefined;
45
+ url?: string | undefined;
46
+ }, BtcRpcRequestFn<rpcSchema, raw>>;
47
+ export type HttpTransportErrorType = CreateTransportErrorType | UrlRequiredErrorType | ErrorType;
48
+ /**
49
+ * @description Creates a HTTP transport that connects to a JSON-RPC API.
50
+ */
51
+ export declare function http<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false>(
52
+ /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
53
+ url?: string | undefined, config?: HttpTransportConfig<rpcSchema, raw>): HttpTransport<rpcSchema, raw>;
@@ -0,0 +1,74 @@
1
+ import { RpcRequestError } from '../errors/request.js';
2
+ import { UrlRequiredError, } from '../errors/transport.js';
3
+ import { createTransport, } from '../factories/createTransport.js';
4
+ import { createBatchScheduler } from '../utils/createBatchScheduler.js';
5
+ import { getHttpRpcClient, } from './getHttpRpcClient.js';
6
+ /**
7
+ * @description Creates a HTTP transport that connects to a JSON-RPC API.
8
+ */
9
+ export function http(
10
+ /** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
11
+ url, config = {}) {
12
+ const { batch, fetchOptions, key = 'http', methods, name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, raw, } = config;
13
+ return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
14
+ const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
15
+ const retryCount = config.retryCount ?? retryCount_;
16
+ const timeout = timeout_ ?? config.timeout ?? 10000;
17
+ const url_ = url || chain?.rpcUrls.default.http[0];
18
+ if (!url_) {
19
+ throw new UrlRequiredError();
20
+ }
21
+ const rpcClient = getHttpRpcClient(url_, {
22
+ fetchOptions,
23
+ onRequest: onFetchRequest,
24
+ onResponse: onFetchResponse,
25
+ timeout,
26
+ });
27
+ return createTransport({
28
+ key,
29
+ methods,
30
+ name,
31
+ async request({ method, params }) {
32
+ const body = { method, params };
33
+ const { schedule } = createBatchScheduler({
34
+ id: url_,
35
+ wait,
36
+ shouldSplitBatch(requests) {
37
+ return requests.length > batchSize;
38
+ },
39
+ fn: (body) => rpcClient.request({
40
+ body,
41
+ }),
42
+ sort: (a, b) => a.id - b.id,
43
+ });
44
+ const fn = async (body) => batch
45
+ ? schedule(body)
46
+ : [
47
+ await rpcClient.request({
48
+ body,
49
+ }),
50
+ ];
51
+ const [{ error, result }] = await fn(body);
52
+ if (raw) {
53
+ return { error, result };
54
+ }
55
+ if (error) {
56
+ throw new RpcRequestError({
57
+ body,
58
+ error,
59
+ url: url_,
60
+ });
61
+ }
62
+ return result;
63
+ },
64
+ retryCount,
65
+ retryDelay,
66
+ timeout,
67
+ type: 'http',
68
+ }, {
69
+ fetchOptions,
70
+ url: url_,
71
+ });
72
+ };
73
+ }
74
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAIL,eAAe,GAChB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAGL,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AA+D9B;;GAEG;AACH,MAAM,UAAU,IAAI;AAIlB,uEAAuE;AACvE,GAAwB,EACxB,SAA8C,EAAE;IAEhD,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,OAAO,EACP,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,EACV,GAAG,GACJ,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACvC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,eAAe,CACpB;YACE,GAAG;YACH,OAAO;YACP,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC;oBACxC,EAAE,EAAE,IAAI;oBACR,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAE1C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;gBAC1B,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -31,9 +31,7 @@ export type UTXOSchema = [
31
31
  Method: 'getrawtransaction';
32
32
  Parameters: [string, boolean, string?];
33
33
  ReturnType: UTXOTransaction;
34
- }
35
- ];
36
- export type UTXOAPISchema = [
34
+ },
37
35
  {
38
36
  Method: 'getBalance';
39
37
  Parameters: {
@@ -42,7 +40,40 @@ export type UTXOAPISchema = [
42
40
  ReturnType: bigint;
43
41
  }
44
42
  ];
45
- export type UTXOAPIMethod = UTXOAPISchema[number]['Method'];
43
+ export type SignPsbtParameters = {
44
+ /** The PSBT encoded as a hexadecimal string */
45
+ psbt: string;
46
+ /**
47
+ * Array of objects specifying details about the inputs to be signed
48
+ */
49
+ inputsToSign: {
50
+ /**
51
+ * The SigHash type to use for signing (e.g., SIGHASH_ALL).
52
+ * If not specified, a default value is used.
53
+ */
54
+ sigHash?: number;
55
+ /** The Bitcoin address associated with the input that will be signed */
56
+ address: string;
57
+ /** An array of indexes in the PSBT corresponding to the inputs that need to be signed */
58
+ signingIndexes: number[];
59
+ }[];
60
+ /**
61
+ * Whether to finalize the PSBT after signing.
62
+ * If `true`, the PSBT will be completed and ready for broadcasting.
63
+ * If `false` or omitted, the PSBT remains partially signed.
64
+ * Some wallets does not support it.
65
+ */
66
+ finalize?: boolean;
67
+ };
68
+ export type SignPsbtReturnType = string;
69
+ export type UTXOWalletSchema = readonly [
70
+ {
71
+ Method: 'signPsbt';
72
+ Parameters: SignPsbtParameters;
73
+ ReturnType: SignPsbtReturnType;
74
+ }
75
+ ];
76
+ export type UTXOMethod = UTXOSchema[number]['Method'];
46
77
  export type SuccessResult<result> = {
47
78
  method?: undefined;
48
79
  result: result;
@@ -56,5 +87,5 @@ export type ErrorResult<error> = {
56
87
  export type RpcResponse<result = any, error = any> = SuccessResult<result> | ErrorResult<error>;
57
88
  export type RpcMethodHandler = (client: HttpRpcClient, baseUrl: string, params: any) => Promise<RpcResponse>;
58
89
  export type RpcMethods = {
59
- [key in UTXOAPIMethod]: RpcMethodHandler;
90
+ [key in UTXOMethod]?: RpcMethodHandler;
60
91
  };
@@ -1,4 +1,4 @@
1
- import { type HttpTransport, type HttpTransportConfig } from 'viem';
1
+ import type { HttpTransport, HttpTransportConfig } from './http.js';
2
2
  type UTXOHttpTransportConfig = HttpTransportConfig & {
3
3
  includeChainToURL?: boolean;
4
4
  };
@@ -1,4 +1,6 @@
1
- import { RpcRequestError, UrlRequiredError, createTransport, } from 'viem';
1
+ import { RpcRequestError } from '../errors/request.js';
2
+ import { UrlRequiredError } from '../errors/transport.js';
3
+ import { createTransport } from '../factories/createTransport.js';
2
4
  import { getHttpRpcClient } from './getHttpRpcClient.js';
3
5
  import { getRpcProviderMethods } from './getRpcProviderMethods.js';
4
6
  export function utxo(url, config = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAOlE,MAAM,UAAU,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAE7C,OAAO,eAAe,CACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAuB,CAAC,CAAA;gBAC3D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAQlE,MAAM,UAAU,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAE7C,OAAO,eAAe,CACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAoB,CAAC,CAAA;gBACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Address } from './address.js';
2
+ export interface Account {
3
+ address: Address;
4
+ addressType: 'p2tr' | 'p2wpkh' | 'p2wsh' | 'p2sh' | 'p2pkh';
5
+ publicKey: string;
6
+ purpose: 'payment' | 'ordinals';
7
+ }
8
+ export interface BtcAccount extends Account {
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { SendUTXOTransactionParameters, SendUTXOTransactionReturnType } from '../actions/sendUTXOTransaction';
2
+ import type { WaitForTransactionReceiptParameters } from '../actions/waitForTransaction';
3
+ import type { SignPsbtParameters, SignPsbtReturnType } from '../transports/types';
4
+ import type { UTXOTransaction } from './transaction';
5
+ export type WaitForTransactionReceiptReturnType = UTXOTransaction;
6
+ export type WithRetryParameters = {
7
+ delay?: ((config: {
8
+ count: number;
9
+ error: Error;
10
+ }) => number) | number | undefined;
11
+ retryCount?: number | undefined;
12
+ };
13
+ export type WalletActions = {
14
+ /**
15
+ * Creates, signs, and sends a new transaction to the network.
16
+ */
17
+ sendUTXOTransaction: (args: SendUTXOTransactionParameters) => Promise<SendUTXOTransactionReturnType>;
18
+ signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>;
19
+ waitForTransactionReceipt: (args: WaitForTransactionReceiptParameters) => Promise<WaitForTransactionReceiptReturnType>;
20
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/types/actions.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type Address = string;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/types/address.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Specifies a particular block in the blockchain.
3
+ *
4
+ * - `"latest"`: the latest proposed block
5
+ * - `"earliest"`: the earliest/genesis block – lowest numbered block the client has available
6
+ * - `"pending"`: pending state/transactions – next block built by the client on top
7
+ * of unsafe and containing the set of transactions usually taken from local mempool
8
+ * - `"safe"`: the latest safe head block – the most recent block that is safe from
9
+ * re-orgs under honest majority and certain synchronicity assumptions
10
+ * - `"finalized"`: the latest finalized block – the most recent crypto-economically secure block;
11
+ * cannot be re-orged outside of manual intervention driven by community coordination
12
+ *
13
+ * Using `pending`, while allowed, is not advised, as it may lead
14
+ * to internally inconsistent results. Use of `latest` is safe and will not
15
+ * lead to inconsistent results. Depending on the backing RPC networks caching system,
16
+ * the usage of `pending` may lead to inconsistencies as a result of an
17
+ * overly aggressive cache system. This may cause downstream errors/invalid states.
18
+ */
19
+ export type BlockTag = 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/types/block.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ export type Chain<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
2
+ /** Collection of block explorers */
3
+ blockExplorers?: {
4
+ [key: string]: ChainBlockExplorer;
5
+ default: ChainBlockExplorer;
6
+ } | undefined;
7
+ /** ID in number form */
8
+ id: number;
9
+ /** Human-readable name */
10
+ name: string;
11
+ /** Collection of RPC endpoints */
12
+ rpcUrls: {
13
+ [key: string]: ChainRpcUrls;
14
+ default: ChainRpcUrls;
15
+ };
16
+ /** Flag for test networks */
17
+ testnet?: boolean | undefined;
18
+ } & ChainConfig<formatters, custom>;
19
+ export type ChainConfig<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
20
+ /** Custom chain data. */
21
+ custom?: custom | undefined;
22
+ /** Modifies how data is formatted and typed (e.g. blocks and transactions) */
23
+ formatters?: formatters | undefined;
24
+ };
25
+ export type ChainFormatters = {
26
+ /** Modifies how the Block structure is formatted & typed. */
27
+ block?: ChainFormatter<'block'> | undefined;
28
+ /** Modifies how the Transaction structure is formatted & typed. */
29
+ transaction?: ChainFormatter<'transaction'> | undefined;
30
+ /** Modifies how the TransactionReceipt structure is formatted & typed. */
31
+ transactionReceipt?: ChainFormatter<'transactionReceipt'> | undefined;
32
+ /** Modifies how the TransactionRequest structure is formatted & typed. */
33
+ transactionRequest?: ChainFormatter<'transactionRequest'> | undefined;
34
+ };
35
+ export type ChainFormatter<type extends string = string> = {
36
+ format: (args: any) => any;
37
+ type: type;
38
+ };
39
+ type ChainBlockExplorer = {
40
+ name: string;
41
+ url: string;
42
+ apiUrl?: string | undefined;
43
+ };
44
+ type ChainRpcUrls = {
45
+ http: readonly string[];
46
+ webSocket?: readonly string[] | undefined;
47
+ };
48
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/types/chain.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import type { ErrorType } from '../errors/utils.js';
2
+ import type { Account } from './account.js';
3
+ import type { Address } from './address.js';
4
+ import type { Chain } from './chain.js';
5
+ import type { BtcRpcRequestFn, RpcSchema } from './request.js';
6
+ import type { BitcoinRpcMethods } from './rpc.js';
7
+ import type { Transport } from './transport.js';
8
+ import type { Prettify } from './utils.js';
9
+ export type ClientConfig<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, accountOrAddress extends Account | Address | undefined = Account | Address | undefined, rpcSchema extends RpcSchema | undefined = undefined> = {
10
+ /** The Account to use for the Client. This will be used for Actions that require an account as an argument. */
11
+ account?: accountOrAddress | Account | Address | undefined;
12
+ /**
13
+ * Time (in ms) that cached data will remain in memory.
14
+ * @default 4_000
15
+ */
16
+ cacheTime?: number | undefined;
17
+ /** Chain for the client. */
18
+ chain?: Chain | undefined | chain;
19
+ /** A key for the client. */
20
+ key?: string | undefined;
21
+ /** A name for the client. */
22
+ name?: string | undefined;
23
+ /**
24
+ * Frequency (in ms) for polling enabled actions & events.
25
+ * @default 4_000
26
+ */
27
+ pollingInterval?: number | undefined;
28
+ /**
29
+ * Typed JSON-RPC schema for the client.
30
+ */
31
+ rpcSchema?: rpcSchema | undefined;
32
+ /** The RPC transport */
33
+ transport: transport;
34
+ /** The type of client. */
35
+ type?: string | undefined;
36
+ };
37
+ export type Client<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, rpcSchema extends RpcSchema | undefined = undefined, extended extends Extended | undefined = Extended | undefined> = Client_Base<transport, chain, account, rpcSchema> & (extended extends Extended ? extended : unknown) & {
38
+ extend: <const client extends Extended>(fn: (client: Client<transport, chain, account, rpcSchema, extended>) => client) => Client<transport, chain, account, rpcSchema, Prettify<client> & (extended extends Extended ? extended : unknown)>;
39
+ };
40
+ type Client_Base<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, rpcSchema extends RpcSchema | undefined = undefined> = {
41
+ /** The Account of the Client. */
42
+ account: account;
43
+ /** Time (in ms) that cached data will remain in memory. */
44
+ cacheTime: number;
45
+ /** Chain for the client. */
46
+ chain: chain;
47
+ /** A key for the client. */
48
+ key: string;
49
+ /** A name for the client. */
50
+ name: string;
51
+ /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */
52
+ pollingInterval: number;
53
+ /** Request function wrapped with friendly error handling */
54
+ request: BtcRpcRequestFn<rpcSchema extends undefined ? BitcoinRpcMethods : rpcSchema>;
55
+ /** The RPC transport */
56
+ transport: ReturnType<transport>['config'] & ReturnType<transport>['value'];
57
+ /** The type of client. */
58
+ type: string;
59
+ /** A unique ID for the client. */
60
+ uid: string;
61
+ };
62
+ type Extended = Prettify<{
63
+ [_ in keyof Client_Base]?: undefined;
64
+ } & {
65
+ [key: string]: unknown;
66
+ }>;
67
+ export type CreateClientErrorType = ErrorType;
68
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/types/client.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type Hash = `0x${string}`;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/types/hash.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import type { ErrorType } from '../errors/utils.js';
2
+ import type { OneOf } from './utils.js';
3
+ export type RpcSchema = readonly {
4
+ Method: string;
5
+ Parameters?: unknown | undefined;
6
+ ReturnType: unknown;
7
+ }[];
8
+ export type RpcSchemaOverride = Omit<RpcSchema[number], 'Method'>;
9
+ type DerivedRpcSchema<rpcSchema extends RpcSchema | undefined> = rpcSchema extends RpcSchema ? rpcSchema : never;
10
+ export type RpcParameters<rpcSchema extends RpcSchema | undefined = undefined> = rpcSchema extends RpcSchema ? {
11
+ [K in keyof rpcSchema]: rpcSchema[K] extends RpcSchema[number] ? {
12
+ method: rpcSchema[K]['Method'];
13
+ params: rpcSchema[K]['Parameters'];
14
+ } : never;
15
+ }[number] : {
16
+ method: string;
17
+ params?: unknown | undefined;
18
+ };
19
+ export type BtcRpcRequestOptions = {
20
+ /** Deduplicate in-flight requests. */
21
+ dedupe?: boolean | undefined;
22
+ /** Methods to include or exclude from executing RPC requests. */
23
+ methods?: OneOf<{
24
+ include?: string[] | undefined;
25
+ } | {
26
+ exclude?: string[] | undefined;
27
+ }> | undefined;
28
+ /** The base delay (in ms) between retries. */
29
+ retryDelay?: number | undefined;
30
+ /** The max number of times to retry. */
31
+ retryCount?: number | undefined;
32
+ /** Unique identifier for the request. */
33
+ uid?: string | undefined;
34
+ };
35
+ export type BtcRpcRequestFn<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = <_parameters extends RpcParameters<DerivedRpcSchema<rpcSchema>> = RpcParameters<DerivedRpcSchema<rpcSchema>>, _returnType = DerivedRpcSchema<rpcSchema> extends RpcSchema ? raw extends true ? OneOf<{
36
+ result: Extract<DerivedRpcSchema<rpcSchema>[number], {
37
+ Method: _parameters['method'];
38
+ }>['ReturnType'];
39
+ } | {
40
+ error: ErrorType;
41
+ }> : Extract<DerivedRpcSchema<rpcSchema>[number], {
42
+ Method: _parameters['method'];
43
+ }>['ReturnType'] : raw extends true ? OneOf<{
44
+ result: unknown;
45
+ } | {
46
+ error: ErrorType;
47
+ }> : unknown>(args: _parameters, options?: BtcRpcRequestOptions | undefined) => Promise<_returnType>;
48
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ export type RpcRequest = {
2
+ jsonrpc?: '2.0' | undefined;
3
+ method: string;
4
+ params?: any | undefined;
5
+ id?: number | undefined;
6
+ };
7
+ export type RpcResponse<result = any, error = any> = {
8
+ jsonrpc: `${number}`;
9
+ id: number;
10
+ } & (SuccessResult<result> | ErrorResult<error>);
11
+ type SuccessResult<result> = {
12
+ method?: undefined;
13
+ result: result;
14
+ error?: undefined;
15
+ };
16
+ type ErrorResult<error> = {
17
+ method?: undefined;
18
+ result?: undefined;
19
+ error: error;
20
+ };
21
+ export type BitcoinRpcMethods = [...WalletRpcSchema];
22
+ export type WalletRpcSchema = [
23
+ {
24
+ Method: 'getAddressInfo';
25
+ Parameters?: undefined;
26
+ ReturnType: string;
27
+ },
28
+ {
29
+ Method: 'getBalance';
30
+ Parameters?: undefined;
31
+ ReturnType: bigint;
32
+ }
33
+ ];
34
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rpc.js.map