@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,62 @@
1
+ import {
2
+ type GetBalanceParameters,
3
+ type GetBalanceReturnType,
4
+ getBalance,
5
+ } from '../../actions/getBalance.js'
6
+ import {
7
+ type GetBlockParameters,
8
+ type GetBlockReturnType,
9
+ getBlock,
10
+ } from '../../actions/getBlock.js'
11
+ import {
12
+ type GetBlockCountReturnType,
13
+ getBlockCount,
14
+ } from '../../actions/getBlockCount.js'
15
+ import {
16
+ type GetBlockStatsParameters,
17
+ type GetBlockStatsReturnType,
18
+ getBlockStats,
19
+ } from '../../actions/getBlockStats.js'
20
+ import {
21
+ type GetUTXOTransactionParameters,
22
+ type GetUTXOTransactionReturnType,
23
+ getUTXOTransaction,
24
+ } from '../../actions/getUTXOTransaction.js'
25
+
26
+ import type { Client } from '../../factories/createClient.js'
27
+ import type { Transport } from '../../factories/createTransport.js'
28
+ import type { UTXOSchema } from '../../transports/types.js'
29
+ import type { Account } from '../../types/account.js'
30
+
31
+ import type { Chain } from '../../types/chain.js'
32
+
33
+ export type PublicActions = {
34
+ getBalance: (args: GetBalanceParameters) => Promise<GetBalanceReturnType>
35
+
36
+ getBlockCount: () => Promise<GetBlockCountReturnType>
37
+
38
+ getBlockStats: (
39
+ args: GetBlockStatsParameters
40
+ ) => Promise<GetBlockStatsReturnType>
41
+
42
+ getUTXOTransaction: (
43
+ args: GetUTXOTransactionParameters
44
+ ) => Promise<GetUTXOTransactionReturnType>
45
+
46
+ getBlock: (args: GetBlockParameters) => Promise<GetBlockReturnType>
47
+ }
48
+
49
+ export function publicActions<
50
+ transport extends Transport,
51
+ chain extends Chain | undefined = Chain | undefined,
52
+ account extends Account | undefined = Account | undefined,
53
+ schema extends UTXOSchema = UTXOSchema,
54
+ >(client: Client<transport, chain, account, schema>): PublicActions {
55
+ return {
56
+ getBlock: (args) => getBlock(client, args),
57
+ getBalance: (args) => getBalance(client, args),
58
+ getBlockCount: () => getBlockCount(client),
59
+ getBlockStats: (args) => getBlockStats(client, args),
60
+ getUTXOTransaction: (args) => getUTXOTransaction(client, args),
61
+ }
62
+ }
@@ -0,0 +1,37 @@
1
+ import {
2
+ type SendUTXOTransactionParameters,
3
+ type SendUTXOTransactionReturnType,
4
+ sendUTXOTransaction,
5
+ } from '../../actions/sendUTXOTransaction.js'
6
+ import { signPsbt } from '../../actions/signPsbt.js'
7
+ import type { Transport } from '../../factories/createTransport.js'
8
+ import type { Account } from '../../types/account.js'
9
+ import type { Client } from '../../types/client.js'
10
+
11
+ import type {
12
+ SignPsbtParameters,
13
+ SignPsbtReturnType,
14
+ } from '../../transports/types.js'
15
+ import type { Chain } from '../../types/chain.js'
16
+
17
+ export type WalletActions = {
18
+ /**
19
+ * Creates, signs, and sends a new transaction to the network.
20
+ */
21
+ sendUTXOTransaction: (
22
+ args: SendUTXOTransactionParameters
23
+ ) => Promise<SendUTXOTransactionReturnType>
24
+
25
+ signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>
26
+ }
27
+
28
+ export function walletActions<
29
+ transport extends Transport,
30
+ chain extends Chain | undefined = Chain | undefined,
31
+ account extends Account | undefined = Account | undefined,
32
+ >(client: Client<transport, chain, account>): WalletActions {
33
+ return {
34
+ sendUTXOTransaction: (args) => sendUTXOTransaction(client, args),
35
+ signPbst: (args) => signPsbt(client, args),
36
+ }
37
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseError } from './base.js'
2
+
3
+ export type InvalidAddressErrorType = InvalidAddressError & {
4
+ name: 'InvalidAddressError'
5
+ }
6
+ export class InvalidAddressError extends BaseError {
7
+ constructor({ address }: { address: string }) {
8
+ super(`Address "${address}" is invalid.`, {
9
+ metaMessages: [
10
+ '- Address must be a hex value of 20 bytes (40 hex characters).',
11
+ '- Address must match its checksum counterpart.',
12
+ ],
13
+ name: 'InvalidAddressError',
14
+ })
15
+ }
16
+ }
@@ -0,0 +1,85 @@
1
+ import { version } from '../version.js'
2
+
3
+ type ErrorConfig = {
4
+ version?: string | undefined
5
+ }
6
+
7
+ let errorConfig: ErrorConfig = {
8
+ version: `bigmi@${version}`,
9
+ }
10
+
11
+ export function setErrorConfig(config: ErrorConfig) {
12
+ errorConfig = config
13
+ }
14
+
15
+ type BaseErrorParameters = {
16
+ cause?: BaseError | Error | undefined
17
+ details?: string | undefined
18
+ docsSlug?: string | undefined
19
+ metaMessages?: string[] | undefined
20
+ name?: string | undefined
21
+ }
22
+
23
+ export type BaseErrorType = BaseError & { name: 'BaseError' }
24
+ export class BaseError extends Error {
25
+ code?: number
26
+ details: string
27
+ docsPath?: string | undefined
28
+ metaMessages?: string[] | undefined
29
+ shortMessage: string
30
+ version: string
31
+
32
+ override name = 'BaseError'
33
+
34
+ constructor(shortMessage: string, args: BaseErrorParameters = {}) {
35
+ const details = (() => {
36
+ if (args.cause instanceof BaseError) {
37
+ return args.cause.details
38
+ }
39
+ if (args.cause?.message) {
40
+ return args.cause.message
41
+ }
42
+ return args.details!
43
+ })()
44
+
45
+ const message = [
46
+ shortMessage || 'An error occurred.',
47
+ '',
48
+ ...(args.metaMessages ? [...args.metaMessages, ''] : []),
49
+ ...(details ? [`Details: ${details}`] : []),
50
+ ...(errorConfig.version ? [`Version: ${errorConfig.version}`] : []),
51
+ ].join('\n')
52
+
53
+ super(message, args.cause ? { cause: args.cause } : undefined)
54
+
55
+ this.details = details
56
+ this.metaMessages = args.metaMessages
57
+ this.name = args.name ?? this.name
58
+ this.shortMessage = shortMessage
59
+ this.version = version
60
+ }
61
+
62
+ walk(): Error
63
+ walk(fn: (err: unknown) => boolean): Error | null
64
+ walk(fn?: any): any {
65
+ return walk(this, fn)
66
+ }
67
+ }
68
+
69
+ function walk(
70
+ err: unknown,
71
+ fn?: ((err: unknown) => boolean) | undefined
72
+ ): unknown {
73
+ if (fn?.(err)) {
74
+ return err
75
+ }
76
+ if (
77
+ err &&
78
+ typeof err === 'object' &&
79
+ 'cause' in err &&
80
+ err.cause !== undefined
81
+ ) {
82
+ return walk(err.cause, fn)
83
+ }
84
+ return fn ? null : err
85
+ }
@@ -0,0 +1,24 @@
1
+ import type { Hash } from '../types/hash.js'
2
+ import { BaseError } from './base.js'
3
+
4
+ export type BlockNotFoundErrorType = BlockNotFoundError & {
5
+ name: 'BlockNotFoundError'
6
+ }
7
+ export class BlockNotFoundError extends BaseError {
8
+ constructor({
9
+ blockHash,
10
+ blockNumber,
11
+ }: {
12
+ blockHash?: Hash | undefined
13
+ blockNumber?: bigint | undefined
14
+ }) {
15
+ let identifier = 'Block'
16
+ if (blockHash) {
17
+ identifier = `Block at hash "${blockHash}"`
18
+ }
19
+ if (blockNumber) {
20
+ identifier = `Block at number "${blockNumber}"`
21
+ }
22
+ super(`${identifier} could not be found.`, { name: 'BlockNotFoundError' })
23
+ }
24
+ }
@@ -0,0 +1,102 @@
1
+ import type { Address } from '../types/address.js'
2
+
3
+ import { BaseError } from './base.js'
4
+
5
+ export type ChainNotConfiguredErrorType = ChainNotConfiguredError & {
6
+ name: 'ChainNotConfiguredError'
7
+ }
8
+ export class ChainNotConfiguredError extends BaseError {
9
+ override name = 'ChainNotConfiguredError'
10
+ constructor() {
11
+ super('Chain not configured.')
12
+ }
13
+ }
14
+
15
+ export type ConnectorAlreadyConnectedErrorType =
16
+ ConnectorAlreadyConnectedError & {
17
+ name: 'ConnectorAlreadyConnectedError'
18
+ }
19
+ export class ConnectorAlreadyConnectedError extends BaseError {
20
+ override name = 'ConnectorAlreadyConnectedError'
21
+ constructor() {
22
+ super('Connector already connected.')
23
+ }
24
+ }
25
+
26
+ export type ConnectorNotConnectedErrorType = ConnectorNotConnectedError & {
27
+ name: 'ConnectorNotConnectedError'
28
+ }
29
+ export class ConnectorNotConnectedError extends BaseError {
30
+ override name = 'ConnectorNotConnectedError'
31
+ constructor() {
32
+ super('Connector not connected.')
33
+ }
34
+ }
35
+
36
+ export type ConnectorNotFoundErrorType = ConnectorNotFoundError & {
37
+ name: 'ConnectorNotFoundError'
38
+ }
39
+ export class ConnectorNotFoundError extends BaseError {
40
+ override name = 'ConnectorNotFoundError'
41
+ constructor() {
42
+ super('Connector not found.')
43
+ }
44
+ }
45
+
46
+ export type ConnectorAccountNotFoundErrorType =
47
+ ConnectorAccountNotFoundError & {
48
+ name: 'ConnectorAccountNotFoundError'
49
+ }
50
+ export class ConnectorAccountNotFoundError extends BaseError {
51
+ override name = 'ConnectorAccountNotFoundError'
52
+ constructor({
53
+ address,
54
+ connector,
55
+ }: {
56
+ address: Address
57
+ connector: string
58
+ }) {
59
+ super(`Account "${address}" not found for connector "${connector}".`)
60
+ }
61
+ }
62
+
63
+ export type ConnectorChainMismatchErrorType = ConnectorAccountNotFoundError & {
64
+ name: 'ConnectorChainMismatchError'
65
+ }
66
+ export class ConnectorChainMismatchError extends BaseError {
67
+ override name = 'ConnectorChainMismatchError'
68
+ constructor({
69
+ connectionChainId,
70
+ connectorChainId,
71
+ }: {
72
+ connectionChainId: number
73
+ connectorChainId: number
74
+ }) {
75
+ super(
76
+ `The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`,
77
+ {
78
+ metaMessages: [
79
+ `Current Chain ID: ${connectorChainId}`,
80
+ `Expected Chain ID: ${connectionChainId}`,
81
+ ],
82
+ }
83
+ )
84
+ }
85
+ }
86
+
87
+ export type ConnectorUnavailableReconnectingErrorType =
88
+ ConnectorUnavailableReconnectingError & {
89
+ name: 'ConnectorUnavailableReconnectingError'
90
+ }
91
+ export class ConnectorUnavailableReconnectingError extends BaseError {
92
+ override name = 'ConnectorUnavailableReconnectingError'
93
+ constructor({ connector }: { connector: { name: string } }) {
94
+ super(`Connector "${connector.name}" unavailable while reconnecting.`, {
95
+ details: [
96
+ 'During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uid`.',
97
+ 'All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.',
98
+ 'This error commonly occurs for connectors that asynchronously inject after reconnection has already started.',
99
+ ].join(' '),
100
+ })
101
+ }
102
+ }
@@ -0,0 +1,11 @@
1
+ import { BaseError } from './base.js'
2
+
3
+ export class ProviderNotFoundError extends BaseError {
4
+ constructor(message?: string) {
5
+ const name = 'ProviderNotFoundError'
6
+ const defaultMessage = 'The provider for this connector was not found'
7
+ super(`${name}: ${message || defaultMessage}`, {
8
+ name,
9
+ })
10
+ }
11
+ }
@@ -0,0 +1,134 @@
1
+ import { stringify } from '../utils/stringify.js'
2
+
3
+ import { BaseError } from './base.js'
4
+ import { getUrl } from './utils.js'
5
+
6
+ export type HttpRequestErrorType = HttpRequestError & {
7
+ name: 'HttpRequestError'
8
+ }
9
+ export class HttpRequestError extends BaseError {
10
+ body?: { [x: string]: unknown } | { [y: string]: unknown }[] | undefined
11
+ headers?: Headers | undefined
12
+ status?: number | undefined
13
+ url: string
14
+
15
+ constructor({
16
+ body,
17
+ cause,
18
+ details,
19
+ headers,
20
+ status,
21
+ url,
22
+ }: {
23
+ body?: { [x: string]: unknown } | { [y: string]: unknown }[] | undefined
24
+ cause?: Error | undefined
25
+ details?: string | undefined
26
+ headers?: Headers | undefined
27
+ status?: number | undefined
28
+ url: string
29
+ }) {
30
+ super('HTTP request failed.', {
31
+ cause,
32
+ details,
33
+ metaMessages: [
34
+ status && `Status: ${status}`,
35
+ `URL: ${getUrl(url)}`,
36
+ body && `Request body: ${stringify(body)}`,
37
+ ].filter(Boolean) as string[],
38
+ name: 'HttpRequestError',
39
+ })
40
+ this.body = body
41
+ this.headers = headers
42
+ this.status = status
43
+ this.url = url
44
+ }
45
+ }
46
+
47
+ export type WebSocketRequestErrorType = WebSocketRequestError & {
48
+ name: 'WebSocketRequestError'
49
+ }
50
+ export class WebSocketRequestError extends BaseError {
51
+ constructor({
52
+ body,
53
+ cause,
54
+ details,
55
+ url,
56
+ }: {
57
+ body?: { [key: string]: unknown } | undefined
58
+ cause?: Error | undefined
59
+ details?: string | undefined
60
+ url: string
61
+ }) {
62
+ super('WebSocket request failed.', {
63
+ cause,
64
+ details,
65
+ metaMessages: [
66
+ `URL: ${getUrl(url)}`,
67
+ body && `Request body: ${stringify(body)}`,
68
+ ].filter(Boolean) as string[],
69
+ name: 'WebSocketRequestError',
70
+ })
71
+ }
72
+ }
73
+
74
+ export type RpcRequestErrorType = RpcRequestError & {
75
+ name: 'RpcRequestError'
76
+ }
77
+ export class RpcRequestError extends BaseError {
78
+ override code: number
79
+ data?: unknown
80
+
81
+ constructor({
82
+ body,
83
+ error,
84
+ url,
85
+ }: {
86
+ body: { [x: string]: unknown } | { [y: string]: unknown }[]
87
+ error: { code: number; data?: unknown; message: string }
88
+ url: string
89
+ }) {
90
+ super('RPC Request failed.', {
91
+ cause: error as any,
92
+ details: error.message,
93
+ metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
94
+ name: 'RpcRequestError',
95
+ })
96
+ this.code = error.code
97
+ this.data = error.data
98
+ }
99
+ }
100
+
101
+ export type SocketClosedErrorType = SocketClosedError & {
102
+ name: 'SocketClosedError'
103
+ }
104
+ export class SocketClosedError extends BaseError {
105
+ constructor({
106
+ url,
107
+ }: {
108
+ url?: string | undefined
109
+ } = {}) {
110
+ super('The socket has been closed.', {
111
+ metaMessages: [url && `URL: ${getUrl(url)}`].filter(Boolean) as string[],
112
+ name: 'SocketClosedError',
113
+ })
114
+ }
115
+ }
116
+
117
+ export type TimeoutErrorType = TimeoutError & {
118
+ name: 'TimeoutError'
119
+ }
120
+ export class TimeoutError extends BaseError {
121
+ constructor({
122
+ body,
123
+ url,
124
+ }: {
125
+ body: { [x: string]: unknown } | { [y: string]: unknown }[]
126
+ url: string
127
+ }) {
128
+ super('The request took too long to respond.', {
129
+ details: 'The request timed out.',
130
+ metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
131
+ name: 'TimeoutError',
132
+ })
133
+ }
134
+ }
@@ -0,0 +1,77 @@
1
+ import { BaseError } from './base.js'
2
+
3
+ /**
4
+ * @enum {number} RpcErrorCode
5
+ * @description JSON-RPC error codes
6
+ * @see https://www.jsonrpc.org/specification#error_object
7
+ */
8
+ export enum RpcErrorCode {
9
+ /**
10
+ * Parse error Invalid JSON
11
+ **/
12
+ PARSE_ERROR = -32700,
13
+ /**
14
+ * The JSON sent is not a valid Request object.
15
+ **/
16
+ INVALID_REQUEST = -32600,
17
+ /**
18
+ * The method does not exist/is not available.
19
+ **/
20
+ METHOD_NOT_FOUND = -32601,
21
+ /**
22
+ * Invalid method parameter(s).
23
+ */
24
+ INVALID_PARAMS = -32602,
25
+ /**
26
+ * Internal JSON-RPC error.
27
+ * This is a generic error, used when the server encounters an error in performing the request.
28
+ **/
29
+ INTERNAL_ERROR = -32603,
30
+ /**
31
+ * user rejected/canceled the request
32
+ */
33
+ USER_REJECTION = -32000,
34
+ /**
35
+ * method is not supported for the address provided
36
+ */
37
+ METHOD_NOT_SUPPORTED = -32001,
38
+ /**
39
+ * The client does not have permission to access the requested resource.
40
+ */
41
+ ACCESS_DENIED = -32002,
42
+ }
43
+
44
+ export class UserRejectedRequestError extends BaseError {
45
+ override code = RpcErrorCode.USER_REJECTION
46
+ constructor(message?: string) {
47
+ const name = 'UserRejectedRequestError'
48
+ const errMessage =
49
+ message || 'The user rejected your request, please try again'
50
+ super(`${name}: ${errMessage}`, {
51
+ name,
52
+ })
53
+ }
54
+ }
55
+
56
+ export class MethodNotSupportedRpcError extends BaseError {
57
+ override code = RpcErrorCode.METHOD_NOT_SUPPORTED
58
+ constructor(method?: string) {
59
+ const name = 'MethodNotSupportedError'
60
+ const message = `The method ${method} you are calling is not supported`
61
+ super(`${name}: ${message}`, {
62
+ name,
63
+ })
64
+ }
65
+ }
66
+
67
+ export class ParseError extends BaseError {
68
+ override code = RpcErrorCode.PARSE_ERROR
69
+ constructor(message?: string) {
70
+ const name = 'ParseError'
71
+ const errMessage =
72
+ message || 'Invalid JSON, there was an error parsing your request.'
73
+ super(`${name}: ${errMessage}`, {
74
+ name,
75
+ })
76
+ }
77
+ }
@@ -0,0 +1,67 @@
1
+ import type { BlockTag } from '../types/block.js'
2
+ import type { Hash } from '../types/hash.js'
3
+ import { BaseError } from './base.js'
4
+
5
+ export type TransactionNotFoundErrorType = TransactionNotFoundError & {
6
+ name: 'TransactionNotFoundError'
7
+ }
8
+ export class TransactionNotFoundError extends BaseError {
9
+ constructor({
10
+ blockHash,
11
+ blockNumber,
12
+ blockTag,
13
+ hash,
14
+ index,
15
+ }: {
16
+ blockHash?: Hash | undefined
17
+ blockNumber?: bigint | undefined
18
+ blockTag?: BlockTag | undefined
19
+ hash?: Hash | undefined
20
+ index?: number | undefined
21
+ }) {
22
+ let identifier = 'Transaction'
23
+ if (blockTag && index !== undefined) {
24
+ identifier = `Transaction at block time "${blockTag}" at index "${index}"`
25
+ }
26
+ if (blockHash && index !== undefined) {
27
+ identifier = `Transaction at block hash "${blockHash}" at index "${index}"`
28
+ }
29
+ if (blockNumber && index !== undefined) {
30
+ identifier = `Transaction at block number "${blockNumber}" at index "${index}"`
31
+ }
32
+ if (hash) {
33
+ identifier = `Transaction with hash "${hash}"`
34
+ }
35
+ super(`${identifier} could not be found.`, {
36
+ name: 'TransactionNotFoundError',
37
+ })
38
+ }
39
+ }
40
+
41
+ export type TransactionReceiptNotFoundErrorType =
42
+ TransactionReceiptNotFoundError & {
43
+ name: 'TransactionReceiptNotFoundError'
44
+ }
45
+ export class TransactionReceiptNotFoundError extends BaseError {
46
+ constructor({ hash }: { hash: Hash }) {
47
+ super(
48
+ `Transaction receipt with hash "${hash}" could not be found. The Transaction may not be processed on a block yet.`,
49
+ {
50
+ name: 'TransactionReceiptNotFoundError',
51
+ }
52
+ )
53
+ }
54
+ }
55
+
56
+ export type WaitForTransactionReceiptTimeoutErrorType =
57
+ WaitForTransactionReceiptTimeoutError & {
58
+ name: 'WaitForTransactionReceiptTimeoutError'
59
+ }
60
+ export class WaitForTransactionReceiptTimeoutError extends BaseError {
61
+ constructor({ hash }: { hash: Hash }) {
62
+ super(
63
+ `Timed out while waiting for transaction with hash "${hash}" to be confirmed.`,
64
+ { name: 'WaitForTransactionReceiptTimeoutError' }
65
+ )
66
+ }
67
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseError } from './base.js'
2
+
3
+ export type UrlRequiredErrorType = UrlRequiredError & {
4
+ name: 'UrlRequiredError'
5
+ }
6
+ export class UrlRequiredError extends BaseError {
7
+ constructor() {
8
+ super(
9
+ 'No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.',
10
+ {
11
+ name: 'UrlRequiredError',
12
+ }
13
+ )
14
+ }
15
+ }
@@ -0,0 +1,6 @@
1
+ import type { Address } from '../types/address.js'
2
+
3
+ export type ErrorType<name extends string = 'Error'> = Error & { name: name }
4
+
5
+ export const getContractAddress = (address: Address) => address
6
+ export const getUrl = (url: string) => url