@bigmi/core 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/actions/getBalance.d.ts +2 -2
  4. package/dist/cjs/actions/getBlock.d.ts +1 -5
  5. package/dist/cjs/actions/getBlockCount.d.ts +0 -1
  6. package/dist/cjs/actions/getBlockStats.d.ts +1 -6
  7. package/dist/cjs/actions/getTransactionFee.d.ts +1 -4
  8. package/dist/cjs/actions/getTransactions.d.ts +1 -7
  9. package/dist/cjs/actions/getUTXOTransaction.d.ts +4 -6
  10. package/dist/cjs/actions/getUTXOs.d.ts +1 -5
  11. package/dist/cjs/actions/getXPubAddresses.d.ts +22 -22
  12. package/dist/cjs/actions/sendUTXOTransaction.d.ts +4 -6
  13. package/dist/cjs/actions/signPsbt.d.ts +0 -1
  14. package/dist/cjs/actions/waitForTransaction.d.ts +43 -49
  15. package/dist/cjs/actions/waitForTransaction.js.map +1 -1
  16. package/dist/cjs/actions/watchBlockNumber.d.ts +14 -16
  17. package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
  18. package/dist/cjs/chains/bitcoin.d.ts +0 -1
  19. package/dist/cjs/chains/bitcoin.js.map +1 -1
  20. package/dist/cjs/chains/defineChain.d.ts +0 -1
  21. package/dist/cjs/chains/signet.d.ts +0 -1
  22. package/dist/cjs/chains/signet.js.map +1 -1
  23. package/dist/cjs/clients/decorators/public.d.ts +0 -1
  24. package/dist/cjs/clients/decorators/wallet.d.ts +2 -3
  25. package/dist/cjs/errors/address.d.ts +1 -4
  26. package/dist/cjs/errors/base.js.map +1 -1
  27. package/dist/cjs/errors/block.d.ts +1 -5
  28. package/dist/cjs/errors/provider.d.ts +0 -1
  29. package/dist/cjs/errors/request.d.ts +5 -28
  30. package/dist/cjs/errors/request.js.map +1 -1
  31. package/dist/cjs/errors/rpc.d.ts +23 -24
  32. package/dist/cjs/errors/transaction.d.ts +3 -14
  33. package/dist/cjs/errors/transport.d.ts +2 -10
  34. package/dist/cjs/errors/transport.js.map +1 -1
  35. package/dist/cjs/errors/utils.d.ts +0 -1
  36. package/dist/cjs/errors/utxo.d.ts +1 -6
  37. package/dist/cjs/factories/createClient.d.ts +49 -30
  38. package/dist/cjs/factories/createTransport.d.ts +3 -13
  39. package/dist/cjs/transports/ankr/ankr.d.ts +0 -1
  40. package/dist/cjs/transports/ankr/getBalance.d.ts +0 -1
  41. package/dist/cjs/transports/ankr/getTransactionFee.d.ts +0 -1
  42. package/dist/cjs/transports/ankr/getTransactions.d.ts +0 -1
  43. package/dist/cjs/transports/ankr/methods.d.ts +0 -1
  44. package/dist/cjs/transports/ankr/utils.d.ts +0 -1
  45. package/dist/cjs/transports/blockchair/blockchair.d.ts +0 -1
  46. package/dist/cjs/transports/blockchair/getBalance.d.ts +0 -1
  47. package/dist/cjs/transports/blockchair/getTransactionFee.d.ts +0 -1
  48. package/dist/cjs/transports/blockchair/getTransactionFee.js.map +1 -1
  49. package/dist/cjs/transports/blockchair/getUTXOs.d.ts +0 -1
  50. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -1
  51. package/dist/cjs/transports/blockchair/getXPubAddresses.d.ts +0 -1
  52. package/dist/cjs/transports/blockchair/getXPubAddresses.js.map +1 -1
  53. package/dist/cjs/transports/blockchair/methods.d.ts +0 -1
  54. package/dist/cjs/transports/blockcypher/blockcypher.d.ts +0 -1
  55. package/dist/cjs/transports/blockcypher/getBalance.d.ts +0 -1
  56. package/dist/cjs/transports/blockcypher/getTransactionFee.d.ts +0 -1
  57. package/dist/cjs/transports/blockcypher/getUTXOs.d.ts +0 -1
  58. package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -1
  59. package/dist/cjs/transports/blockcypher/methods.d.ts +0 -1
  60. package/dist/cjs/transports/blockcypher/utils.d.ts +0 -1
  61. package/dist/cjs/transports/blockcypher/utils.js.map +1 -1
  62. package/dist/cjs/transports/custom.d.ts +11 -7
  63. package/dist/cjs/transports/fallback.d.ts +32 -36
  64. package/dist/cjs/transports/fallback.js.map +1 -1
  65. package/dist/cjs/transports/getHttpRpcClient.d.ts +17 -9
  66. package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
  67. package/dist/cjs/transports/getRpcProviderMethods.d.ts +0 -1
  68. package/dist/cjs/transports/http.d.ts +31 -20
  69. package/dist/cjs/transports/mempool/getBalance.d.ts +0 -1
  70. package/dist/cjs/transports/mempool/getTransactionFee.d.ts +0 -1
  71. package/dist/cjs/transports/mempool/getTransactions.d.ts +0 -1
  72. package/dist/cjs/transports/mempool/getTransactions.js.map +1 -1
  73. package/dist/cjs/transports/mempool/mempool.d.ts +0 -1
  74. package/dist/cjs/transports/mempool/methods.d.ts +0 -1
  75. package/dist/cjs/transports/mempool/utils.d.ts +0 -1
  76. package/dist/cjs/transports/types.d.ts +17 -15
  77. package/dist/cjs/transports/utxo.d.ts +0 -1
  78. package/dist/cjs/transports/utxo.js.map +1 -1
  79. package/dist/cjs/types/account.d.ts +0 -1
  80. package/dist/cjs/types/address.d.ts +0 -1
  81. package/dist/cjs/types/block.d.ts +17 -17
  82. package/dist/cjs/types/chain.d.ts +20 -9
  83. package/dist/cjs/types/client.d.ts +40 -25
  84. package/dist/cjs/types/request.d.ts +12 -8
  85. package/dist/cjs/types/transport.d.ts +16 -11
  86. package/dist/cjs/types/utils.d.ts +31 -31
  87. package/dist/cjs/types/xpub.d.ts +0 -1
  88. package/dist/cjs/utils/buildRequest.d.ts +0 -1
  89. package/dist/cjs/utils/cancelTransaction.d.ts +0 -1
  90. package/dist/cjs/utils/converter.js.map +1 -1
  91. package/dist/cjs/utils/createBatchScheduler.d.ts +1 -8
  92. package/dist/cjs/utils/createBatchScheduler.js.map +1 -1
  93. package/dist/cjs/utils/deepEqual.js.map +1 -1
  94. package/dist/cjs/utils/getAction.d.ts +6 -7
  95. package/dist/cjs/utils/getAddressInfo.d.ts +0 -1
  96. package/dist/cjs/utils/getAddressInfo.js.map +1 -1
  97. package/dist/cjs/utils/isAddress.d.ts +0 -1
  98. package/dist/cjs/utils/lru.d.ts +4 -4
  99. package/dist/cjs/utils/lru.js.map +1 -1
  100. package/dist/cjs/utils/modifyFee.d.ts +0 -1
  101. package/dist/cjs/utils/modifyFee.js.map +1 -1
  102. package/dist/cjs/utils/observe.d.ts +4 -5
  103. package/dist/cjs/utils/observe.js.map +1 -1
  104. package/dist/cjs/utils/parseAccount.d.ts +0 -1
  105. package/dist/cjs/utils/poll.d.ts +4 -10
  106. package/dist/cjs/utils/retryUntil.d.ts +17 -15
  107. package/dist/cjs/utils/retryUntil.js.map +1 -1
  108. package/dist/cjs/utils/stringify.d.ts +0 -1
  109. package/dist/cjs/utils/uid.js.map +1 -1
  110. package/dist/cjs/utils/url.js.map +1 -1
  111. package/dist/cjs/utils/withDedupe.d.ts +1 -5
  112. package/dist/cjs/utils/withDedupe.js.map +1 -1
  113. package/dist/cjs/utils/withRetry.d.ts +2 -10
  114. package/dist/cjs/utils/withTimeout.d.ts +2 -9
  115. package/dist/cjs/utils/withTimeout.js.map +1 -1
  116. package/dist/cjs/version.d.ts +1 -1
  117. package/dist/cjs/version.js +1 -1
  118. package/dist/cjs/version.js.map +1 -1
  119. package/dist/esm/actions/getBalance.d.ts +2 -2
  120. package/dist/esm/actions/getBalance.d.ts.map +1 -1
  121. package/dist/esm/actions/getBlock.d.ts +1 -5
  122. package/dist/esm/actions/getBlock.d.ts.map +1 -1
  123. package/dist/esm/actions/getBlockCount.d.ts +0 -1
  124. package/dist/esm/actions/getBlockCount.d.ts.map +1 -1
  125. package/dist/esm/actions/getBlockStats.d.ts +1 -6
  126. package/dist/esm/actions/getBlockStats.d.ts.map +1 -1
  127. package/dist/esm/actions/getTransactionFee.d.ts +1 -4
  128. package/dist/esm/actions/getTransactionFee.d.ts.map +1 -1
  129. package/dist/esm/actions/getTransactions.d.ts +1 -7
  130. package/dist/esm/actions/getTransactions.d.ts.map +1 -1
  131. package/dist/esm/actions/getUTXOTransaction.d.ts +4 -6
  132. package/dist/esm/actions/getUTXOTransaction.d.ts.map +1 -1
  133. package/dist/esm/actions/getUTXOs.d.ts +1 -5
  134. package/dist/esm/actions/getUTXOs.d.ts.map +1 -1
  135. package/dist/esm/actions/getXPubAddresses.d.ts +22 -22
  136. package/dist/esm/actions/getXPubAddresses.d.ts.map +1 -1
  137. package/dist/esm/actions/sendUTXOTransaction.d.ts +4 -6
  138. package/dist/esm/actions/sendUTXOTransaction.d.ts.map +1 -1
  139. package/dist/esm/actions/signPsbt.d.ts +0 -1
  140. package/dist/esm/actions/signPsbt.d.ts.map +1 -1
  141. package/dist/esm/actions/waitForTransaction.d.ts +43 -49
  142. package/dist/esm/actions/waitForTransaction.d.ts.map +1 -1
  143. package/dist/esm/actions/waitForTransaction.js.map +1 -1
  144. package/dist/esm/actions/watchBlockNumber.d.ts +14 -16
  145. package/dist/esm/actions/watchBlockNumber.d.ts.map +1 -1
  146. package/dist/esm/actions/watchBlockNumber.js.map +1 -1
  147. package/dist/esm/chains/bitcoin.d.ts +0 -1
  148. package/dist/esm/chains/bitcoin.d.ts.map +1 -1
  149. package/dist/esm/chains/defineChain.d.ts +0 -1
  150. package/dist/esm/chains/defineChain.d.ts.map +1 -1
  151. package/dist/esm/chains/signet.d.ts +0 -1
  152. package/dist/esm/chains/signet.d.ts.map +1 -1
  153. package/dist/esm/clients/decorators/public.d.ts +0 -1
  154. package/dist/esm/clients/decorators/public.d.ts.map +1 -1
  155. package/dist/esm/clients/decorators/wallet.d.ts +2 -3
  156. package/dist/esm/clients/decorators/wallet.d.ts.map +1 -1
  157. package/dist/esm/errors/address.d.ts +1 -4
  158. package/dist/esm/errors/address.d.ts.map +1 -1
  159. package/dist/esm/errors/base.d.ts.map +1 -1
  160. package/dist/esm/errors/base.js.map +1 -1
  161. package/dist/esm/errors/block.d.ts +1 -5
  162. package/dist/esm/errors/block.d.ts.map +1 -1
  163. package/dist/esm/errors/provider.d.ts +0 -1
  164. package/dist/esm/errors/provider.d.ts.map +1 -1
  165. package/dist/esm/errors/request.d.ts +5 -28
  166. package/dist/esm/errors/request.d.ts.map +1 -1
  167. package/dist/esm/errors/request.js.map +1 -1
  168. package/dist/esm/errors/rpc.d.ts +23 -24
  169. package/dist/esm/errors/rpc.d.ts.map +1 -1
  170. package/dist/esm/errors/transaction.d.ts +3 -14
  171. package/dist/esm/errors/transaction.d.ts.map +1 -1
  172. package/dist/esm/errors/transport.d.ts +2 -10
  173. package/dist/esm/errors/transport.d.ts.map +1 -1
  174. package/dist/esm/errors/transport.js.map +1 -1
  175. package/dist/esm/errors/utils.d.ts +0 -1
  176. package/dist/esm/errors/utils.d.ts.map +1 -1
  177. package/dist/esm/errors/utxo.d.ts +1 -6
  178. package/dist/esm/errors/utxo.d.ts.map +1 -1
  179. package/dist/esm/factories/createClient.d.ts +49 -30
  180. package/dist/esm/factories/createClient.d.ts.map +1 -1
  181. package/dist/esm/factories/createTransport.d.ts +3 -13
  182. package/dist/esm/factories/createTransport.d.ts.map +1 -1
  183. package/dist/esm/test/utils.d.ts.map +1 -1
  184. package/dist/esm/transports/ankr/ankr.d.ts +0 -1
  185. package/dist/esm/transports/ankr/ankr.d.ts.map +1 -1
  186. package/dist/esm/transports/ankr/ankr.types.d.ts.map +1 -1
  187. package/dist/esm/transports/ankr/getBalance.d.ts +0 -1
  188. package/dist/esm/transports/ankr/getBalance.d.ts.map +1 -1
  189. package/dist/esm/transports/ankr/getTransactionFee.d.ts +0 -1
  190. package/dist/esm/transports/ankr/getTransactionFee.d.ts.map +1 -1
  191. package/dist/esm/transports/ankr/getTransactions.d.ts +0 -1
  192. package/dist/esm/transports/ankr/getTransactions.d.ts.map +1 -1
  193. package/dist/esm/transports/ankr/methods.d.ts +0 -1
  194. package/dist/esm/transports/ankr/methods.d.ts.map +1 -1
  195. package/dist/esm/transports/ankr/utils.d.ts +0 -1
  196. package/dist/esm/transports/ankr/utils.d.ts.map +1 -1
  197. package/dist/esm/transports/blockchair/blockchair.d.ts +0 -1
  198. package/dist/esm/transports/blockchair/blockchair.d.ts.map +1 -1
  199. package/dist/esm/transports/blockchair/blockchair.types.d.ts.map +1 -1
  200. package/dist/esm/transports/blockchair/getBalance.d.ts +0 -1
  201. package/dist/esm/transports/blockchair/getBalance.d.ts.map +1 -1
  202. package/dist/esm/transports/blockchair/getTransactionFee.d.ts +0 -1
  203. package/dist/esm/transports/blockchair/getTransactionFee.d.ts.map +1 -1
  204. package/dist/esm/transports/blockchair/getTransactionFee.js.map +1 -1
  205. package/dist/esm/transports/blockchair/getUTXOs.d.ts +0 -1
  206. package/dist/esm/transports/blockchair/getUTXOs.d.ts.map +1 -1
  207. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -1
  208. package/dist/esm/transports/blockchair/getXPubAddresses.d.ts +0 -1
  209. package/dist/esm/transports/blockchair/getXPubAddresses.d.ts.map +1 -1
  210. package/dist/esm/transports/blockchair/getXPubAddresses.js.map +1 -1
  211. package/dist/esm/transports/blockchair/methods.d.ts +0 -1
  212. package/dist/esm/transports/blockchair/methods.d.ts.map +1 -1
  213. package/dist/esm/transports/blockcypher/blockcypher.d.ts +0 -1
  214. package/dist/esm/transports/blockcypher/blockcypher.d.ts.map +1 -1
  215. package/dist/esm/transports/blockcypher/blockcypher.types.d.ts.map +1 -1
  216. package/dist/esm/transports/blockcypher/getBalance.d.ts +0 -1
  217. package/dist/esm/transports/blockcypher/getBalance.d.ts.map +1 -1
  218. package/dist/esm/transports/blockcypher/getTransactionFee.d.ts +0 -1
  219. package/dist/esm/transports/blockcypher/getTransactionFee.d.ts.map +1 -1
  220. package/dist/esm/transports/blockcypher/getUTXOs.d.ts +0 -1
  221. package/dist/esm/transports/blockcypher/getUTXOs.d.ts.map +1 -1
  222. package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -1
  223. package/dist/esm/transports/blockcypher/methods.d.ts +0 -1
  224. package/dist/esm/transports/blockcypher/methods.d.ts.map +1 -1
  225. package/dist/esm/transports/blockcypher/utils.d.ts +0 -1
  226. package/dist/esm/transports/blockcypher/utils.d.ts.map +1 -1
  227. package/dist/esm/transports/blockcypher/utils.js.map +1 -1
  228. package/dist/esm/transports/custom.d.ts +11 -7
  229. package/dist/esm/transports/custom.d.ts.map +1 -1
  230. package/dist/esm/transports/fallback.d.ts +32 -36
  231. package/dist/esm/transports/fallback.d.ts.map +1 -1
  232. package/dist/esm/transports/fallback.js.map +1 -1
  233. package/dist/esm/transports/getHttpRpcClient.d.ts +17 -9
  234. package/dist/esm/transports/getHttpRpcClient.d.ts.map +1 -1
  235. package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
  236. package/dist/esm/transports/getRpcProviderMethods.d.ts +0 -1
  237. package/dist/esm/transports/getRpcProviderMethods.d.ts.map +1 -1
  238. package/dist/esm/transports/http.d.ts +31 -20
  239. package/dist/esm/transports/http.d.ts.map +1 -1
  240. package/dist/esm/transports/mempool/getBalance.d.ts +0 -1
  241. package/dist/esm/transports/mempool/getBalance.d.ts.map +1 -1
  242. package/dist/esm/transports/mempool/getTransactionFee.d.ts +0 -1
  243. package/dist/esm/transports/mempool/getTransactionFee.d.ts.map +1 -1
  244. package/dist/esm/transports/mempool/getTransactions.d.ts +0 -1
  245. package/dist/esm/transports/mempool/getTransactions.d.ts.map +1 -1
  246. package/dist/esm/transports/mempool/getTransactions.js.map +1 -1
  247. package/dist/esm/transports/mempool/mempool.d.ts +0 -1
  248. package/dist/esm/transports/mempool/mempool.d.ts.map +1 -1
  249. package/dist/esm/transports/mempool/mempool.types.d.ts.map +1 -1
  250. package/dist/esm/transports/mempool/methods.d.ts +0 -1
  251. package/dist/esm/transports/mempool/methods.d.ts.map +1 -1
  252. package/dist/esm/transports/mempool/utils.d.ts +0 -1
  253. package/dist/esm/transports/mempool/utils.d.ts.map +1 -1
  254. package/dist/esm/transports/types.d.ts +17 -15
  255. package/dist/esm/transports/types.d.ts.map +1 -1
  256. package/dist/esm/transports/utxo.d.ts +0 -1
  257. package/dist/esm/transports/utxo.d.ts.map +1 -1
  258. package/dist/esm/transports/utxo.js.map +1 -1
  259. package/dist/esm/types/account.d.ts +0 -1
  260. package/dist/esm/types/account.d.ts.map +1 -1
  261. package/dist/esm/types/address.d.ts +0 -1
  262. package/dist/esm/types/address.d.ts.map +1 -1
  263. package/dist/esm/types/block.d.ts +17 -17
  264. package/dist/esm/types/block.d.ts.map +1 -1
  265. package/dist/esm/types/blockStats.d.ts.map +1 -1
  266. package/dist/esm/types/chain.d.ts +20 -9
  267. package/dist/esm/types/chain.d.ts.map +1 -1
  268. package/dist/esm/types/client.d.ts +40 -25
  269. package/dist/esm/types/client.d.ts.map +1 -1
  270. package/dist/esm/types/hash.d.ts.map +1 -1
  271. package/dist/esm/types/request.d.ts +12 -8
  272. package/dist/esm/types/request.d.ts.map +1 -1
  273. package/dist/esm/types/rpc.d.ts.map +1 -1
  274. package/dist/esm/types/transaction.d.ts.map +1 -1
  275. package/dist/esm/types/transport.d.ts +16 -11
  276. package/dist/esm/types/transport.d.ts.map +1 -1
  277. package/dist/esm/types/utils.d.ts +31 -31
  278. package/dist/esm/types/utils.d.ts.map +1 -1
  279. package/dist/esm/types/xpub.d.ts +0 -1
  280. package/dist/esm/types/xpub.d.ts.map +1 -1
  281. package/dist/esm/utils/buildRequest.d.ts +0 -1
  282. package/dist/esm/utils/buildRequest.d.ts.map +1 -1
  283. package/dist/esm/utils/cancelTransaction.d.ts +0 -1
  284. package/dist/esm/utils/cancelTransaction.d.ts.map +1 -1
  285. package/dist/esm/utils/converter.d.ts.map +1 -1
  286. package/dist/esm/utils/converter.js.map +1 -1
  287. package/dist/esm/utils/createBatchScheduler.d.ts +1 -8
  288. package/dist/esm/utils/createBatchScheduler.d.ts.map +1 -1
  289. package/dist/esm/utils/createBatchScheduler.js.map +1 -1
  290. package/dist/esm/utils/deepEqual.d.ts.map +1 -1
  291. package/dist/esm/utils/deepEqual.js.map +1 -1
  292. package/dist/esm/utils/getAction.d.ts +6 -7
  293. package/dist/esm/utils/getAction.d.ts.map +1 -1
  294. package/dist/esm/utils/getAddressInfo.d.ts +0 -1
  295. package/dist/esm/utils/getAddressInfo.d.ts.map +1 -1
  296. package/dist/esm/utils/getAddressInfo.js.map +1 -1
  297. package/dist/esm/utils/idCache.d.ts.map +1 -1
  298. package/dist/esm/utils/isAddress.d.ts +0 -1
  299. package/dist/esm/utils/isAddress.d.ts.map +1 -1
  300. package/dist/esm/utils/lru.d.ts +4 -4
  301. package/dist/esm/utils/lru.d.ts.map +1 -1
  302. package/dist/esm/utils/lru.js.map +1 -1
  303. package/dist/esm/utils/modifyFee.d.ts +0 -1
  304. package/dist/esm/utils/modifyFee.d.ts.map +1 -1
  305. package/dist/esm/utils/modifyFee.js.map +1 -1
  306. package/dist/esm/utils/observe.d.ts +4 -5
  307. package/dist/esm/utils/observe.d.ts.map +1 -1
  308. package/dist/esm/utils/observe.js.map +1 -1
  309. package/dist/esm/utils/parseAccount.d.ts +0 -1
  310. package/dist/esm/utils/parseAccount.d.ts.map +1 -1
  311. package/dist/esm/utils/poll.d.ts +4 -10
  312. package/dist/esm/utils/poll.d.ts.map +1 -1
  313. package/dist/esm/utils/retryUntil.d.ts +17 -15
  314. package/dist/esm/utils/retryUntil.d.ts.map +1 -1
  315. package/dist/esm/utils/retryUntil.js.map +1 -1
  316. package/dist/esm/utils/sleep.d.ts.map +1 -1
  317. package/dist/esm/utils/stringify.d.ts +0 -1
  318. package/dist/esm/utils/stringify.d.ts.map +1 -1
  319. package/dist/esm/utils/uid.d.ts.map +1 -1
  320. package/dist/esm/utils/uid.js.map +1 -1
  321. package/dist/esm/utils/url.d.ts.map +1 -1
  322. package/dist/esm/utils/url.js.map +1 -1
  323. package/dist/esm/utils/wait.d.ts.map +1 -1
  324. package/dist/esm/utils/withDedupe.d.ts +1 -5
  325. package/dist/esm/utils/withDedupe.d.ts.map +1 -1
  326. package/dist/esm/utils/withDedupe.js.map +1 -1
  327. package/dist/esm/utils/withResolvers.d.ts.map +1 -1
  328. package/dist/esm/utils/withRetry.d.ts +2 -10
  329. package/dist/esm/utils/withRetry.d.ts.map +1 -1
  330. package/dist/esm/utils/withTimeout.d.ts +2 -9
  331. package/dist/esm/utils/withTimeout.d.ts.map +1 -1
  332. package/dist/esm/utils/withTimeout.js.map +1 -1
  333. package/dist/esm/version.d.ts +1 -1
  334. package/dist/esm/version.d.ts.map +1 -1
  335. package/dist/esm/version.js +1 -1
  336. package/dist/esm/version.js.map +1 -1
  337. package/package.json +1 -1
  338. package/src/version.ts +1 -1
@@ -1,5 +1,4 @@
1
1
  import { Network } from "./chain.js";
2
-
3
2
  //#region src/types/address.d.ts
4
3
  type Address = string;
5
4
  type AddressPurpose = "payment" | "ordinals" | "stacks";
@@ -1,22 +1,22 @@
1
1
  //#region src/types/block.d.ts
2
2
  /**
3
- * Specifies a particular block in the blockchain.
4
- *
5
- * - `"latest"`: the latest proposed block
6
- * - `"earliest"`: the earliest/genesis block – lowest numbered block the client has available
7
- * - `"pending"`: pending state/transactions – next block built by the client on top
8
- * of unsafe and containing the set of transactions usually taken from local mempool
9
- * - `"safe"`: the latest safe head block – the most recent block that is safe from
10
- * re-orgs under honest majority and certain synchronicity assumptions
11
- * - `"finalized"`: the latest finalized block – the most recent crypto-economically secure block;
12
- * cannot be re-orged outside of manual intervention driven by community coordination
13
- *
14
- * Using `pending`, while allowed, is not advised, as it may lead
15
- * to internally inconsistent results. Use of `latest` is safe and will not
16
- * lead to inconsistent results. Depending on the backing RPC networks caching system,
17
- * the usage of `pending` may lead to inconsistencies as a result of an
18
- * overly aggressive cache system. This may cause downstream errors/invalid states.
19
- */
3
+ * Specifies a particular block in the blockchain.
4
+ *
5
+ * - `"latest"`: the latest proposed block
6
+ * - `"earliest"`: the earliest/genesis block – lowest numbered block the client has available
7
+ * - `"pending"`: pending state/transactions – next block built by the client on top
8
+ * of unsafe and containing the set of transactions usually taken from local mempool
9
+ * - `"safe"`: the latest safe head block – the most recent block that is safe from
10
+ * re-orgs under honest majority and certain synchronicity assumptions
11
+ * - `"finalized"`: the latest finalized block – the most recent crypto-economically secure block;
12
+ * cannot be re-orged outside of manual intervention driven by community coordination
13
+ *
14
+ * Using `pending`, while allowed, is not advised, as it may lead
15
+ * to internally inconsistent results. Use of `latest` is safe and will not
16
+ * lead to inconsistent results. Depending on the backing RPC networks caching system,
17
+ * the usage of `pending` may lead to inconsistencies as a result of an
18
+ * overly aggressive cache system. This may cause downstream errors/invalid states.
19
+ */
20
20
  type BlockTag = "latest" | "earliest" | "pending" | "safe" | "finalized";
21
21
  //#endregion
22
22
  export { BlockTag };
@@ -15,26 +15,37 @@ declare enum Network {
15
15
  Regtest = "regtest"
16
16
  }
17
17
  type Chain<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
18
- /** Collection of block explorers */blockExplorers?: {
18
+ /** Collection of block explorers */
19
+ blockExplorers?: {
19
20
  [key: string]: ChainBlockExplorer;
20
21
  default: ChainBlockExplorer;
21
- } | undefined; /** ID in number form */
22
- id: ChainId; /** Human-readable name */
23
- name: string; /** Collection of RPC endpoints */
22
+ } | undefined;
23
+ /** ID in number form */
24
+ id: ChainId;
25
+ /** Human-readable name */
26
+ name: string;
27
+ /** Collection of RPC endpoints */
24
28
  rpcUrls: {
25
29
  [key: string]: ChainRpcUrls;
26
30
  default: ChainRpcUrls;
27
- }; /** Flag for test networks */
31
+ };
32
+ /** Flag for test networks */
28
33
  testnet?: boolean | undefined;
29
34
  } & ChainConfig<formatters, custom>;
30
35
  type ChainConfig<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
31
- /** Custom chain data. */custom?: custom | undefined; /** Modifies how data is formatted and typed (e.g. blocks and transactions) */
36
+ /** Custom chain data. */
37
+ custom?: custom | undefined;
38
+ /** Modifies how data is formatted and typed (e.g. blocks and transactions) */
32
39
  formatters?: formatters | undefined;
33
40
  };
34
41
  type ChainFormatters = {
35
- /** Modifies how the Block structure is formatted & typed. */block?: ChainFormatter<"block"> | undefined; /** Modifies how the Transaction structure is formatted & typed. */
36
- transaction?: ChainFormatter<"transaction"> | undefined; /** Modifies how the TransactionReceipt structure is formatted & typed. */
37
- transactionReceipt?: ChainFormatter<"transactionReceipt"> | undefined; /** Modifies how the TransactionRequest structure is formatted & typed. */
42
+ /** Modifies how the Block structure is formatted & typed. */
43
+ block?: ChainFormatter<"block"> | undefined;
44
+ /** Modifies how the Transaction structure is formatted & typed. */
45
+ transaction?: ChainFormatter<"transaction"> | undefined;
46
+ /** Modifies how the TransactionReceipt structure is formatted & typed. */
47
+ transactionReceipt?: ChainFormatter<"transactionReceipt"> | undefined;
48
+ /** Modifies how the TransactionRequest structure is formatted & typed. */
38
49
  transactionRequest?: ChainFormatter<"transactionRequest"> | undefined;
39
50
  };
40
51
  type ChainFormatter<type extends string = string> = {
@@ -6,46 +6,61 @@ import { Account } from "./account.js";
6
6
  import { ErrorType } from "../errors/utils.js";
7
7
  import { BtcRpcRequestFn, RpcSchema } from "./request.js";
8
8
  import { Transport } from "./transport.js";
9
-
10
9
  //#region src/types/client.d.ts
11
10
  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> = {
12
- /** The Account to use for the Client. This will be used for Actions that require an account as an argument. */account?: accountOrAddress | Account | Address | undefined;
11
+ /** The Account to use for the Client. This will be used for Actions that require an account as an argument. */
12
+ account?: accountOrAddress | Account | Address | undefined;
13
13
  /**
14
- * Time (in ms) that cached data will remain in memory.
15
- * @default 4_000
16
- */
17
- cacheTime?: number | undefined; /** Chain for the client. */
18
- chain?: Chain | undefined | chain; /** A key for the client. */
19
- key?: string | undefined; /** A name for the client. */
14
+ * Time (in ms) that cached data will remain in memory.
15
+ * @default 4_000
16
+ */
17
+ cacheTime?: number | undefined;
18
+ /** Chain for the client. */
19
+ chain?: Chain | undefined | chain;
20
+ /** A key for the client. */
21
+ key?: string | undefined;
22
+ /** A name for the client. */
20
23
  name?: string | undefined;
21
24
  /**
22
- * Frequency (in ms) for polling enabled actions & events.
23
- * @default 4_000
24
- */
25
+ * Frequency (in ms) for polling enabled actions & events.
26
+ * @default 4_000
27
+ */
25
28
  pollingInterval?: number | undefined;
26
29
  /**
27
- * Typed JSON-RPC schema for the client.
28
- */
29
- rpcSchema?: rpcSchema | undefined; /** The RPC transport */
30
- transport: transport; /** The type of client. */
30
+ * Typed JSON-RPC schema for the client.
31
+ */
32
+ rpcSchema?: rpcSchema | undefined;
33
+ /** The RPC transport */
34
+ transport: transport;
35
+ /** The type of client. */
31
36
  type?: string | undefined;
32
37
  };
33
38
  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) & {
34
39
  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)>;
35
40
  };
36
41
  type Client_Base<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, rpcSchema extends RpcSchema | undefined = undefined> = {
37
- /** The Account of the Client. */account: account; /** Time (in ms) that cached data will remain in memory. */
38
- cacheTime: number; /** Chain for the client. */
39
- chain: chain; /** A key for the client. */
40
- key: string; /** A name for the client. */
41
- name: string; /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */
42
- pollingInterval: number; /** Request function wrapped with friendly error handling */
43
- request: BtcRpcRequestFn<rpcSchema extends undefined ? BitcoinRpcMethods : rpcSchema>; /** The RPC transport */
44
- transport: ReturnType<transport>["config"] & ReturnType<transport>["value"]; /** The type of client. */
45
- type: string; /** A unique ID for the client. */
42
+ /** The Account of the Client. */
43
+ account: account;
44
+ /** Time (in ms) that cached data will remain in memory. */
45
+ cacheTime: number;
46
+ /** Chain for the client. */
47
+ chain: chain;
48
+ /** A key for the client. */
49
+ key: string;
50
+ /** A name for the client. */
51
+ name: string;
52
+ /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */
53
+ pollingInterval: number;
54
+ /** Request function wrapped with friendly error handling */
55
+ request: BtcRpcRequestFn<rpcSchema extends undefined ? BitcoinRpcMethods : rpcSchema>;
56
+ /** The RPC transport */
57
+ transport: ReturnType<transport>["config"] & ReturnType<transport>["value"];
58
+ /** The type of client. */
59
+ type: string;
60
+ /** A unique ID for the client. */
46
61
  uid: string;
47
62
  };
48
- type Extended = Prettify<{ [_ in keyof Client_Base]?: undefined } & {
63
+ type Extended = Prettify<{ [_ in keyof Client_Base]?: undefined; } & {
49
64
  [key: string]: unknown;
50
65
  }>;
51
66
  type CreateClientErrorType = ErrorType;
@@ -1,7 +1,6 @@
1
1
  import { OneOf } from "./utils.js";
2
2
  import { UTXOMethod } from "../transports/types.js";
3
3
  import { ErrorType } from "../errors/utils.js";
4
-
5
4
  //#region src/types/request.d.ts
6
5
  type RpcSchema = readonly {
7
6
  Method: string;
@@ -13,22 +12,27 @@ type DerivedRpcSchema<rpcSchema extends RpcSchema | undefined> = rpcSchema exten
13
12
  type RpcParameters<rpcSchema extends RpcSchema | undefined = undefined> = rpcSchema extends RpcSchema ? { [K in keyof rpcSchema]: rpcSchema[K] extends RpcSchema[number] ? {
14
13
  method: rpcSchema[K]["Method"];
15
14
  params: rpcSchema[K]["Parameters"];
16
- } : never }[number] : {
15
+ } : never; }[number] : {
17
16
  method: string;
18
17
  params?: unknown | undefined;
19
18
  };
20
19
  type BtcRpcRequestOptions = {
21
- /** Deduplicate in-flight requests. */dedupe?: boolean | undefined; /** Methods to include or exclude from executing RPC requests. */
20
+ /** Deduplicate in-flight requests. */
21
+ dedupe?: boolean | undefined;
22
+ /** Methods to include or exclude from executing RPC requests. */
22
23
  methods?: OneOf<{
23
24
  include?: UTXOMethod[] | undefined;
24
25
  } | {
25
26
  exclude?: UTXOMethod[] | undefined;
26
- }> | undefined; /** The base delay (in ms) between retries. */
27
- retryDelay?: number | undefined; /** The max number of times to retry. */
28
- retryCount?: number | undefined; /** Unique identifier for the request. */
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. */
29
33
  uid?: string | undefined;
30
34
  };
31
- 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<{
35
+ 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<{
32
36
  result: Extract<DerivedRpcSchema<rpcSchema>[number], {
33
37
  Method: _parameters["method"];
34
38
  }>["ReturnType"];
@@ -40,7 +44,7 @@ type BtcRpcRequestFn<rpcSchema extends RpcSchema | undefined = undefined, raw ex
40
44
  result: unknown;
41
45
  } | {
42
46
  error: ErrorType;
43
- }> : unknown)>(args: _parameters, options?: BtcRpcRequestOptions | undefined) => Promise<_returnType>;
47
+ }> : unknown>(args: _parameters, options?: BtcRpcRequestOptions | undefined) => Promise<_returnType>;
44
48
  //#endregion
45
49
  export { BtcRpcRequestFn, BtcRpcRequestOptions, RpcParameters, RpcSchema, RpcSchemaOverride };
46
50
  //# sourceMappingURL=request.d.ts.map
@@ -3,25 +3,30 @@ import { OneOf } from "./utils.js";
3
3
  import { UTXOMethod } from "../transports/types.js";
4
4
  import { ErrorType } from "../errors/utils.js";
5
5
  import { BtcRpcRequestFn, RpcSchema } from "./request.js";
6
-
7
6
  //#region src/types/transport.d.ts
8
7
  type TransportConfig<type extends string = string, rpcRequestFn extends BtcRpcRequestFn = BtcRpcRequestFn> = {
9
- /** The name of the transport. */name: string; /** The key of the transport. */
10
- key: string; /** Methods to include or exclude from executing RPC requests. */
8
+ /** The name of the transport. */
9
+ name: string;
10
+ /** The key of the transport. */
11
+ key: string;
12
+ /** Methods to include or exclude from executing RPC requests. */
11
13
  methods?: OneOf<{
12
14
  include?: UTXOMethod[] | undefined;
13
15
  } | {
14
16
  exclude?: UTXOMethod[] | undefined;
15
- }> | undefined; /** The JSON-RPC request function that matches the EIP-1193 request spec. */
16
- request: rpcRequestFn; /** The base delay (in ms) between retries. */
17
- retryDelay?: number | undefined; /** The max number of times to retry. */
18
- retryCount?: number | undefined; /** The timeout (in ms) for requests. */
19
- timeout?: number | undefined; /** The type of the transport. */
17
+ }> | undefined;
18
+ /** The JSON-RPC request function that matches the EIP-1193 request spec. */
19
+ request: rpcRequestFn;
20
+ /** The base delay (in ms) between retries. */
21
+ retryDelay?: number | undefined;
22
+ /** The max number of times to retry. */
23
+ retryCount?: number | undefined;
24
+ /** The timeout (in ms) for requests. */
25
+ timeout?: number | undefined;
26
+ /** The type of the transport. */
20
27
  type: type;
21
28
  };
22
- type Transport<type extends string = string, rpcAttributes = Record<string, any>, rpcRequestFn extends BtcRpcRequestFn = BtcRpcRequestFn<RpcSchema>> = <chain extends Chain | undefined = Chain>({
23
- chain
24
- }: {
29
+ type Transport<type extends string = string, rpcAttributes = Record<string, any>, rpcRequestFn extends BtcRpcRequestFn = BtcRpcRequestFn<RpcSchema>> = <chain extends Chain | undefined = Chain>({ chain }: {
25
30
  chain?: chain | undefined;
26
31
  pollingInterval?: number | undefined;
27
32
  retryCount?: TransportConfig["retryCount"] | undefined;
@@ -1,36 +1,36 @@
1
1
  //#region src/types/utils.d.ts
2
2
  /** Combines members of an intersection into a readable type. */
3
- type Compute<type> = { [key in keyof type]: type[key] } & unknown;
3
+ type Compute<type> = { [key in keyof type]: type[key]; } & unknown;
4
4
  /**
5
- * Makes all properties of an object optional.
6
- *
7
- * Compatible with [`exactOptionalPropertyTypes`](https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes).
8
- */
9
- type ExactPartial<type> = { [key in keyof type]?: type[key] | undefined };
5
+ * Makes all properties of an object optional.
6
+ *
7
+ * Compatible with [`exactOptionalPropertyTypes`](https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes).
8
+ */
9
+ type ExactPartial<type> = { [key in keyof type]?: type[key] | undefined; };
10
10
  /** Checks if {@link type} can be narrowed further than {@link type2} */
11
11
  type IsNarrowable<type, type2> = IsUnknown<type> extends true ? false : undefined extends type ? false : IsNever<(type extends type2 ? true : false) & (type2 extends type ? false : true)> extends true ? false : true;
12
12
  /**
13
- * @internal
14
- * Checks if {@link type} is `never`
15
- */
13
+ * @internal
14
+ * Checks if {@link type} is `never`
15
+ */
16
16
  type IsNever<type> = [type] extends [never] ? true : false;
17
17
  /**
18
- * @internal
19
- * Checks if {@link type} is `unknown`
20
- */
18
+ * @internal
19
+ * Checks if {@link type} is `unknown`
20
+ */
21
21
  type IsUnknown<type> = unknown extends type ? true : false;
22
22
  /** Merges two object types into new type */
23
- type Merge<obj1, obj2> = Compute<LooseOmit<obj1, keyof obj2 extends infer key extends string ? key : never> & obj2>;
23
+ type Merge<obj1, obj2> = Compute<LooseOmit<obj1, keyof obj2 extends (infer key extends string) ? key : never> & obj2>;
24
24
  /** Removes `readonly` from all properties of an object. */
25
- type Mutable<type extends object> = { -readonly [key in keyof type]: type[key] };
25
+ type Mutable<type extends object> = { -readonly [key in keyof type]: type[key]; };
26
26
  /** Strict version of built-in Omit type */
27
27
  type StrictOmit<type, keys extends keyof type> = Pick<type, Exclude<keyof type, keys>>;
28
28
  /** Makes objects destructurable. */
29
- type OneOf<union extends object, keys extends KeyofUnion<union> = KeyofUnion<union>> = union extends infer Item ? Compute<Item & { [K in Exclude<keys, keyof Item>]?: undefined }> : never;
29
+ type OneOf<union extends object, keys extends KeyofUnion<union> = KeyofUnion<union>> = union extends (infer Item) ? Compute<Item & { [K in Exclude<keys, keyof Item>]?: undefined; }> : never;
30
30
  type KeyofUnion<type> = type extends type ? keyof type : never;
31
31
  /** Makes {@link key} optional in {@link type} while preserving type inference. */
32
32
  type PartialBy<type, key extends keyof type> = ExactPartial<Pick<type, key>> & StrictOmit<type, key>;
33
- type RemoveUndefined<type> = { [key in keyof type]: NonNullable<type[key]> };
33
+ type RemoveUndefined<type> = { [key in keyof type]: NonNullable<type[key]>; };
34
34
  /** Loose version of {@link StrictOmit} */
35
35
  type LooseOmit<type, keys extends string> = Pick<type, Exclude<keyof type, keys>>;
36
36
  type UnionCompute<type> = type extends object ? Compute<type> : type;
@@ -38,23 +38,23 @@ type UnionLooseOmit<type, keys extends string> = type extends any ? LooseOmit<ty
38
38
  type UnionStrictOmit<type, keys extends keyof type> = type extends any ? StrictOmit<type, keys> : never;
39
39
  type UnionExactPartial<type> = type extends object ? ExactPartial<type> : type;
40
40
  /**
41
- * @description Combines members of an intersection into a readable type.
42
- *
43
- * @see {@link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg}
44
- * @example
45
- * Prettify<{ a: string } & { b: string } & { c: number, d: bigint }>
46
- * => { a: string, b: string, c: number, d: bigint }
47
- */
48
- type Prettify<T> = { [K in keyof T]: T[K] } & {};
41
+ * @description Combines members of an intersection into a readable type.
42
+ *
43
+ * @see {@link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg}
44
+ * @example
45
+ * Prettify<{ a: string } & { b: string } & { c: number, d: bigint }>
46
+ * => { a: string, b: string, c: number, d: bigint }
47
+ */
48
+ type Prettify<T> = { [K in keyof T]: T[K]; } & {};
49
49
  /**
50
- * @description Assigns the properties of U onto T.
51
- *
52
- * @example
53
- * Assign<{ a: string, b: number }, { a: undefined, c: boolean }>
54
- * => { a: undefined, b: number, c: boolean }
55
- */
50
+ * @description Assigns the properties of U onto T.
51
+ *
52
+ * @example
53
+ * Assign<{ a: string, b: number }, { a: undefined, c: boolean }>
54
+ * => { a: undefined, b: number, c: boolean }
55
+ */
56
56
  type Assign<T, U> = Assign_<T, U> & U;
57
- type Assign_<T, U> = { [K in keyof T as K extends keyof U ? U[K] extends void ? never : K : K]: K extends keyof U ? U[K] : T[K] };
57
+ type Assign_<T, U> = { [K in keyof T as K extends keyof U ? U[K] extends void ? never : K : K]: K extends keyof U ? U[K] : T[K]; };
58
58
  type MaybePromise<T> = T | Promise<T>;
59
59
  //#endregion
60
60
  export { Assign, Compute, ExactPartial, IsNarrowable, IsNever, IsUnknown, LooseOmit, MaybePromise, Merge, Mutable, OneOf, PartialBy, Prettify, RemoveUndefined, StrictOmit, UnionCompute, UnionExactPartial, UnionLooseOmit, UnionStrictOmit };
@@ -1,5 +1,4 @@
1
1
  import { Address } from "./address.js";
2
-
3
2
  //#region src/types/xpub.d.ts
4
3
  type xPubAccount = {
5
4
  balance: bigint;
@@ -1,6 +1,5 @@
1
1
  import { ErrorType } from "../errors/utils.js";
2
2
  import { BtcRpcRequestFn, BtcRpcRequestOptions, RpcSchema } from "../types/request.js";
3
-
4
3
  //#region src/utils/buildRequest.d.ts
5
4
  type RequestErrorType = ErrorType;
6
5
  declare function buildRequest<request extends BtcRpcRequestFn<RpcSchema>>(request: request, options?: BtcRpcRequestOptions): BtcRpcRequestFn;
@@ -1,5 +1,4 @@
1
1
  import { Psbt } from "bitcoinjs-lib";
2
-
3
2
  //#region src/utils/cancelTransaction.d.ts
4
3
  declare function cancelTransaction(psbt: Psbt, accountAddress: string): Psbt;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","names":[],"sources":["../../../src/utils/converter.ts"],"sourcesContent":["export function hexToBase64(hex: string): string {\n const raw = hex\n .match(/.{1,2}/g)!\n .map((byte: string) => String.fromCharCode(Number.parseInt(byte, 16)))\n .join('')\n return btoa(raw)\n}\n\nexport function base64ToHex(base64: string): string {\n const raw = atob(base64)\n let hex = ''\n for (let i = 0; i < raw.length; i++) {\n const hexByte = raw.charCodeAt(i).toString(16)\n hex += hexByte.length === 2 ? hexByte : `0${hexByte}`\n }\n return hex\n}\n\nexport function base64urlEncode(str: string): string {\n const bytes = new TextEncoder().encode(str)\n const encodedString = btoa(String.fromCharCode(...bytes))\n return encodedString\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n}\n\nexport function stringToHex(value: string): string {\n const hex = Array.from(value)\n .map((char: string) => char.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('')\n\n return `0x${hex}`\n}\n\nexport function hexToUnit8Array(value: string): Uint8Array {\n return new Uint8Array(\n value.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []\n )\n}\n"],"mappings":";;AAAA,SAAgB,YAAY,KAAqB;CAC/C,MAAM,MAAM,IACT,MAAM,SAAS,EACf,KAAK,SAAiB,OAAO,aAAa,OAAO,SAAS,MAAM,EAAE,CAAC,CAAC,EACpE,KAAK,EAAE;CACV,OAAO,KAAK,GAAG;AACjB;AAEA,SAAgB,YAAY,QAAwB;CAClD,MAAM,MAAM,KAAK,MAAM;CACvB,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,MAAM,UAAU,IAAI,WAAW,CAAC,EAAE,SAAS,EAAE;EAC7C,OAAO,QAAQ,WAAW,IAAI,UAAU,IAAI;CAC9C;CACA,OAAO;AACT;AAEA,SAAgB,gBAAgB,KAAqB;CACnD,MAAM,QAAQ,IAAI,YAAY,EAAE,OAAO,GAAG;CAE1C,OADsB,KAAK,OAAO,aAAa,GAAG,KAAK,CACpC,EAChB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,EAAE;AACtB;AAEA,SAAgB,YAAY,OAAuB;CAKjD,OAAO,KAJK,MAAM,KAAK,KAAK,EACzB,KAAK,SAAiB,KAAK,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EACtE,KAAK,EAEM;AAChB;AAEA,SAAgB,gBAAgB,OAA2B;CACzD,OAAO,IAAI,WACT,MAAM,MAAM,SAAS,GAAG,KAAK,SAAS,OAAO,SAAS,MAAM,EAAE,CAAC,KAAK,CAAC,CACvE;AACF"}
1
+ {"version":3,"file":"converter.js","names":[],"sources":["../../../src/utils/converter.ts"],"sourcesContent":["export function hexToBase64(hex: string): string {\n const raw = hex\n .match(/.{1,2}/g)!\n .map((byte: string) => String.fromCharCode(Number.parseInt(byte, 16)))\n .join('')\n return btoa(raw)\n}\n\nexport function base64ToHex(base64: string): string {\n const raw = atob(base64)\n let hex = ''\n for (let i = 0; i < raw.length; i++) {\n const hexByte = raw.charCodeAt(i).toString(16)\n hex += hexByte.length === 2 ? hexByte : `0${hexByte}`\n }\n return hex\n}\n\nexport function base64urlEncode(str: string): string {\n const bytes = new TextEncoder().encode(str)\n const encodedString = btoa(String.fromCharCode(...bytes))\n return encodedString\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '')\n}\n\nexport function stringToHex(value: string): string {\n const hex = Array.from(value)\n .map((char: string) => char.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('')\n\n return `0x${hex}`\n}\n\nexport function hexToUnit8Array(value: string): Uint8Array {\n return new Uint8Array(\n value.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || []\n )\n}\n"],"mappings":";;AAAA,SAAgB,YAAY,KAAqB;CAC/C,MAAM,MAAM,IACT,MAAM,SAAS,CAAC,CAChB,KAAK,SAAiB,OAAO,aAAa,OAAO,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CACrE,KAAK,EAAE;CACV,OAAO,KAAK,GAAG;AACjB;AAEA,SAAgB,YAAY,QAAwB;CAClD,MAAM,MAAM,KAAK,MAAM;CACvB,IAAI,MAAM;CACV,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,MAAM,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE;EAC7C,OAAO,QAAQ,WAAW,IAAI,UAAU,IAAI;CAC9C;CACA,OAAO;AACT;AAEA,SAAgB,gBAAgB,KAAqB;CACnD,MAAM,QAAQ,IAAI,YAAY,CAAC,CAAC,OAAO,GAAG;CAE1C,OADsB,KAAK,OAAO,aAAa,GAAG,KAAK,CACpC,CAAC,CACjB,QAAQ,OAAO,GAAG,CAAC,CACnB,QAAQ,OAAO,GAAG,CAAC,CACnB,QAAQ,OAAO,EAAE;AACtB;AAEA,SAAgB,YAAY,OAAuB;CAKjD,OAAO,KAJK,MAAM,KAAK,KAAK,CAAC,CAC1B,KAAK,SAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CACvE,KAAK,EAEM;AAChB;AAEA,SAAgB,gBAAgB,OAA2B;CACzD,OAAO,IAAI,WACT,MAAM,MAAM,SAAS,CAAC,EAAE,KAAK,SAAS,OAAO,SAAS,MAAM,EAAE,CAAC,KAAK,CAAC,CACvE;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { ErrorType } from "../errors/utils.js";
2
-
3
2
  //#region src/utils/createBatchScheduler.d.ts
4
3
  type Resolved<returnType extends readonly unknown[] = any> = [result: returnType[number], results: returnType];
5
4
  type BatchResultsCompareFn<result = unknown> = (a: result, b: result) => number;
@@ -16,13 +15,7 @@ type CreateBatchSchedulerReturnType<parameters = unknown, returnType extends rea
16
15
  };
17
16
  type CreateBatchSchedulerErrorType = ErrorType;
18
17
  /** @internal */
19
- declare function createBatchScheduler<parameters, returnType extends readonly unknown[]>({
20
- fn,
21
- id,
22
- shouldSplitBatch,
23
- wait,
24
- sort
25
- }: CreateBatchSchedulerArguments<parameters, returnType>): CreateBatchSchedulerReturnType<parameters, returnType>;
18
+ declare function createBatchScheduler<parameters, returnType extends readonly unknown[]>({ fn, id, shouldSplitBatch, wait, sort }: CreateBatchSchedulerArguments<parameters, returnType>): CreateBatchSchedulerReturnType<parameters, returnType>;
26
19
  //#endregion
27
20
  export { CreateBatchSchedulerErrorType, createBatchScheduler };
28
21
  //# sourceMappingURL=createBatchScheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBatchScheduler.js","names":["withResolvers"],"sources":["../../../src/utils/createBatchScheduler.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\nimport { withResolvers } from './withResolvers.js'\n\ntype Resolved<returnType extends readonly unknown[] = any> = [\n result: returnType[number],\n results: returnType,\n]\n\ntype SchedulerItem = {\n args: unknown\n resolve: PromiseWithResolvers<unknown>['resolve']\n reject: PromiseWithResolvers<unknown>['reject']\n}\n\ntype BatchResultsCompareFn<result = unknown> = (a: result, b: result) => number\n\ntype CreateBatchSchedulerArguments<\n parameters = unknown,\n returnType extends readonly unknown[] = readonly unknown[],\n> = {\n fn: (args: parameters[]) => Promise<returnType>\n id: number | string\n shouldSplitBatch?: ((args: parameters[]) => boolean) | undefined\n wait?: number | undefined\n sort?: BatchResultsCompareFn<returnType[number]> | undefined\n}\n\ntype CreateBatchSchedulerReturnType<\n parameters = unknown,\n returnType extends readonly unknown[] = readonly unknown[],\n> = {\n flush: () => void\n schedule: parameters extends undefined\n ? (args?: parameters | undefined) => Promise<Resolved<returnType>>\n : (args: parameters) => Promise<Resolved<returnType>>\n}\n\nexport type CreateBatchSchedulerErrorType = ErrorType\n\nconst schedulerCache = /*#__PURE__*/ new Map<number | string, SchedulerItem[]>()\n\n/** @internal */\nexport function createBatchScheduler<\n parameters,\n returnType extends readonly unknown[],\n>({\n fn,\n id,\n shouldSplitBatch,\n wait = 0,\n sort,\n}: CreateBatchSchedulerArguments<\n parameters,\n returnType\n>): CreateBatchSchedulerReturnType<parameters, returnType> {\n const exec = async () => {\n const scheduler = getScheduler()\n flush()\n\n const args = scheduler.map(({ args }) => args)\n\n if (args.length === 0) {\n return\n }\n\n fn(args as parameters[])\n .then((data) => {\n if (sort && Array.isArray(data)) {\n data.sort(sort)\n }\n for (let i = 0; i < scheduler.length; i++) {\n const { resolve } = scheduler[i]\n resolve?.([data[i], data])\n }\n })\n .catch((err) => {\n for (let i = 0; i < scheduler.length; i++) {\n const { reject } = scheduler[i]\n reject?.(err)\n }\n })\n }\n\n const flush = () => schedulerCache.delete(id)\n\n const getBatchedArgs = () =>\n getScheduler().map(({ args }) => args) as parameters[]\n\n const getScheduler = () => schedulerCache.get(id) || []\n\n const setScheduler = (item: SchedulerItem) =>\n schedulerCache.set(id, [...getScheduler(), item])\n\n return {\n flush,\n async schedule(args: parameters) {\n const { promise, resolve, reject } = withResolvers()\n\n const split = shouldSplitBatch?.([...getBatchedArgs(), args])\n\n if (split) {\n exec()\n }\n\n const hasActiveScheduler = getScheduler().length > 0\n if (hasActiveScheduler) {\n setScheduler({ args, resolve, reject })\n return promise\n }\n\n setScheduler({ args, resolve, reject })\n setTimeout(exec, wait)\n return promise\n },\n } as unknown as CreateBatchSchedulerReturnType<parameters, returnType>\n}\n"],"mappings":";;;AAuCA,MAAM,+BAA+B,IAAI,IAAsC;;AAG/E,SAAgB,qBAGd,EACA,IACA,IACA,kBACA,OAAO,GACP,QAIyD;CACzD,MAAM,OAAO,YAAY;EACvB,MAAM,YAAY,aAAa;EAC/B,MAAM;EAEN,MAAM,OAAO,UAAU,KAAK,EAAE,WAAW,IAAI;EAE7C,IAAI,KAAK,WAAW,GAClB;EAGF,GAAG,IAAoB,EACpB,MAAM,SAAS;GACd,IAAI,QAAQ,MAAM,QAAQ,IAAI,GAC5B,KAAK,KAAK,IAAI;GAEhB,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;IACzC,MAAM,EAAE,YAAY,UAAU;IAC9B,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC;GAC3B;EACF,CAAC,EACA,OAAO,QAAQ;GACd,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;IACzC,MAAM,EAAE,WAAW,UAAU;IAC7B,SAAS,GAAG;GACd;EACF,CAAC;CACL;CAEA,MAAM,cAAc,eAAe,OAAO,EAAE;CAE5C,MAAM,uBACJ,aAAa,EAAE,KAAK,EAAE,WAAW,IAAI;CAEvC,MAAM,qBAAqB,eAAe,IAAI,EAAE,KAAK,CAAC;CAEtD,MAAM,gBAAgB,SACpB,eAAe,IAAI,IAAI,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC;CAElD,OAAO;EACL;EACA,MAAM,SAAS,MAAkB;GAC/B,MAAM,EAAE,SAAS,SAAS,WAAWA,4BAAAA,cAAc;GAInD,IAFc,mBAAmB,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,GAG1D,KAAK;GAIP,IAD2B,aAAa,EAAE,SAAS,GAC3B;IACtB,aAAa;KAAE;KAAM;KAAS;IAAO,CAAC;IACtC,OAAO;GACT;GAEA,aAAa;IAAE;IAAM;IAAS;GAAO,CAAC;GACtC,WAAW,MAAM,IAAI;GACrB,OAAO;EACT;CACF;AACF"}
1
+ {"version":3,"file":"createBatchScheduler.js","names":["withResolvers"],"sources":["../../../src/utils/createBatchScheduler.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\nimport { withResolvers } from './withResolvers.js'\n\ntype Resolved<returnType extends readonly unknown[] = any> = [\n result: returnType[number],\n results: returnType,\n]\n\ntype SchedulerItem = {\n args: unknown\n resolve: PromiseWithResolvers<unknown>['resolve']\n reject: PromiseWithResolvers<unknown>['reject']\n}\n\ntype BatchResultsCompareFn<result = unknown> = (a: result, b: result) => number\n\ntype CreateBatchSchedulerArguments<\n parameters = unknown,\n returnType extends readonly unknown[] = readonly unknown[],\n> = {\n fn: (args: parameters[]) => Promise<returnType>\n id: number | string\n shouldSplitBatch?: ((args: parameters[]) => boolean) | undefined\n wait?: number | undefined\n sort?: BatchResultsCompareFn<returnType[number]> | undefined\n}\n\ntype CreateBatchSchedulerReturnType<\n parameters = unknown,\n returnType extends readonly unknown[] = readonly unknown[],\n> = {\n flush: () => void\n schedule: parameters extends undefined\n ? (args?: parameters | undefined) => Promise<Resolved<returnType>>\n : (args: parameters) => Promise<Resolved<returnType>>\n}\n\nexport type CreateBatchSchedulerErrorType = ErrorType\n\nconst schedulerCache = /*#__PURE__*/ new Map<number | string, SchedulerItem[]>()\n\n/** @internal */\nexport function createBatchScheduler<\n parameters,\n returnType extends readonly unknown[],\n>({\n fn,\n id,\n shouldSplitBatch,\n wait = 0,\n sort,\n}: CreateBatchSchedulerArguments<\n parameters,\n returnType\n>): CreateBatchSchedulerReturnType<parameters, returnType> {\n const exec = async () => {\n const scheduler = getScheduler()\n flush()\n\n const args = scheduler.map(({ args }) => args)\n\n if (args.length === 0) {\n return\n }\n\n fn(args as parameters[])\n .then((data) => {\n if (sort && Array.isArray(data)) {\n data.sort(sort)\n }\n for (let i = 0; i < scheduler.length; i++) {\n const { resolve } = scheduler[i]\n resolve?.([data[i], data])\n }\n })\n .catch((err) => {\n for (let i = 0; i < scheduler.length; i++) {\n const { reject } = scheduler[i]\n reject?.(err)\n }\n })\n }\n\n const flush = () => schedulerCache.delete(id)\n\n const getBatchedArgs = () =>\n getScheduler().map(({ args }) => args) as parameters[]\n\n const getScheduler = () => schedulerCache.get(id) || []\n\n const setScheduler = (item: SchedulerItem) =>\n schedulerCache.set(id, [...getScheduler(), item])\n\n return {\n flush,\n async schedule(args: parameters) {\n const { promise, resolve, reject } = withResolvers()\n\n const split = shouldSplitBatch?.([...getBatchedArgs(), args])\n\n if (split) {\n exec()\n }\n\n const hasActiveScheduler = getScheduler().length > 0\n if (hasActiveScheduler) {\n setScheduler({ args, resolve, reject })\n return promise\n }\n\n setScheduler({ args, resolve, reject })\n setTimeout(exec, wait)\n return promise\n },\n } as unknown as CreateBatchSchedulerReturnType<parameters, returnType>\n}\n"],"mappings":";;;AAuCA,MAAM,+BAA+B,IAAI,IAAsC;;AAG/E,SAAgB,qBAGd,EACA,IACA,IACA,kBACA,OAAO,GACP,QAIyD;CACzD,MAAM,OAAO,YAAY;EACvB,MAAM,YAAY,aAAa;EAC/B,MAAM;EAEN,MAAM,OAAO,UAAU,KAAK,EAAE,WAAW,IAAI;EAE7C,IAAI,KAAK,WAAW,GAClB;EAGF,GAAG,IAAoB,CAAC,CACrB,MAAM,SAAS;GACd,IAAI,QAAQ,MAAM,QAAQ,IAAI,GAC5B,KAAK,KAAK,IAAI;GAEhB,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;IACzC,MAAM,EAAE,YAAY,UAAU;IAC9B,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC;GAC3B;EACF,CAAC,CAAC,CACD,OAAO,QAAQ;GACd,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;IACzC,MAAM,EAAE,WAAW,UAAU;IAC7B,SAAS,GAAG;GACd;EACF,CAAC;CACL;CAEA,MAAM,cAAc,eAAe,OAAO,EAAE;CAE5C,MAAM,uBACJ,aAAa,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI;CAEvC,MAAM,qBAAqB,eAAe,IAAI,EAAE,KAAK,CAAC;CAEtD,MAAM,gBAAgB,SACpB,eAAe,IAAI,IAAI,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC;CAElD,OAAO;EACL;EACA,MAAM,SAAS,MAAkB;GAC/B,MAAM,EAAE,SAAS,SAAS,WAAWA,4BAAAA,cAAc;GAInD,IAFc,mBAAmB,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,GAG1D,KAAK;GAIP,IAD2B,aAAa,CAAC,CAAC,SAAS,GAC3B;IACtB,aAAa;KAAE;KAAM;KAAS;IAAO,CAAC;IACtC,OAAO;GACT;GAEA,aAAa;IAAE;IAAM;IAAS;GAAO,CAAC;GACtC,WAAW,MAAM,IAAI;GACrB,OAAO;EACT;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepEqual.js","names":[],"sources":["../../../src/utils/deepEqual.ts"],"sourcesContent":["/** Forked from https://github.com/epoberezkin/fast-deep-equal */\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false\n }\n\n let length: number\n let i: number\n\n if (Array.isArray(a) && Array.isArray(b)) {\n length = a.length\n if (length !== b.length) {\n return false\n }\n for (i = length; i-- !== 0; ) {\n if (!deepEqual(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf()\n }\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString()\n }\n\n const keys = Object.keys(a)\n length = keys.length\n if (length !== Object.keys(b).length) {\n return false\n }\n\n for (i = length; i-- !== 0; ) {\n if (!Object.hasOwn(b, keys[i]!)) {\n return false\n }\n }\n\n for (i = length; i-- !== 0; ) {\n const key = keys[i]\n\n if (key && !deepEqual(a[key], b[key])) {\n return false\n }\n }\n\n return true\n }\n\n // true if both NaN, false otherwise\n // biome-ignore lint/suspicious/noSelfCompare: allowed in utils\n return a !== a && b !== b\n}\n"],"mappings":";;;AAEA,SAAgB,UAAU,GAAQ,GAAiB;CACjD,IAAI,MAAM,GACR,OAAO;CAGT,IAAI,KAAK,KAAK,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;EAC5D,IAAI,EAAE,gBAAgB,EAAE,aACtB,OAAO;EAGT,IAAI;EACJ,IAAI;EAEJ,IAAI,MAAM,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,GAAG;GACxC,SAAS,EAAE;GACX,IAAI,WAAW,EAAE,QACf,OAAO;GAET,KAAK,IAAI,QAAQ,QAAQ,IACvB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GACvB,OAAO;GAGX,OAAO;EACT;EAEA,IAAI,EAAE,YAAY,OAAO,UAAU,SACjC,OAAO,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAEnC,IAAI,EAAE,aAAa,OAAO,UAAU,UAClC,OAAO,EAAE,SAAS,MAAM,EAAE,SAAS;EAGrC,MAAM,OAAO,OAAO,KAAK,CAAC;EAC1B,SAAS,KAAK;EACd,IAAI,WAAW,OAAO,KAAK,CAAC,EAAE,QAC5B,OAAO;EAGT,KAAK,IAAI,QAAQ,QAAQ,IACvB,IAAI,CAAC,OAAO,OAAO,GAAG,KAAK,EAAG,GAC5B,OAAO;EAIX,KAAK,IAAI,QAAQ,QAAQ,IAAK;GAC5B,MAAM,MAAM,KAAK;GAEjB,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAClC,OAAO;EAEX;EAEA,OAAO;CACT;CAIA,OAAO,MAAM,KAAK,MAAM;AAC1B"}
1
+ {"version":3,"file":"deepEqual.js","names":[],"sources":["../../../src/utils/deepEqual.ts"],"sourcesContent":["/** Forked from https://github.com/epoberezkin/fast-deep-equal */\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false\n }\n\n let length: number\n let i: number\n\n if (Array.isArray(a) && Array.isArray(b)) {\n length = a.length\n if (length !== b.length) {\n return false\n }\n for (i = length; i-- !== 0; ) {\n if (!deepEqual(a[i], b[i])) {\n return false\n }\n }\n return true\n }\n\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf()\n }\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString()\n }\n\n const keys = Object.keys(a)\n length = keys.length\n if (length !== Object.keys(b).length) {\n return false\n }\n\n for (i = length; i-- !== 0; ) {\n if (!Object.hasOwn(b, keys[i]!)) {\n return false\n }\n }\n\n for (i = length; i-- !== 0; ) {\n const key = keys[i]\n\n if (key && !deepEqual(a[key], b[key])) {\n return false\n }\n }\n\n return true\n }\n\n // true if both NaN, false otherwise\n // biome-ignore lint/suspicious/noSelfCompare: allowed in utils\n return a !== a && b !== b\n}\n"],"mappings":";;;AAEA,SAAgB,UAAU,GAAQ,GAAiB;CACjD,IAAI,MAAM,GACR,OAAO;CAGT,IAAI,KAAK,KAAK,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;EAC5D,IAAI,EAAE,gBAAgB,EAAE,aACtB,OAAO;EAGT,IAAI;EACJ,IAAI;EAEJ,IAAI,MAAM,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,GAAG;GACxC,SAAS,EAAE;GACX,IAAI,WAAW,EAAE,QACf,OAAO;GAET,KAAK,IAAI,QAAQ,QAAQ,IACvB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GACvB,OAAO;GAGX,OAAO;EACT;EAEA,IAAI,EAAE,YAAY,OAAO,UAAU,SACjC,OAAO,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAEnC,IAAI,EAAE,aAAa,OAAO,UAAU,UAClC,OAAO,EAAE,SAAS,MAAM,EAAE,SAAS;EAGrC,MAAM,OAAO,OAAO,KAAK,CAAC;EAC1B,SAAS,KAAK;EACd,IAAI,WAAW,OAAO,KAAK,CAAC,CAAC,CAAC,QAC5B,OAAO;EAGT,KAAK,IAAI,QAAQ,QAAQ,IACvB,IAAI,CAAC,OAAO,OAAO,GAAG,KAAK,EAAG,GAC5B,OAAO;EAIX,KAAK,IAAI,QAAQ,QAAQ,IAAK;GAC5B,MAAM,MAAM,KAAK;GAEjB,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAClC,OAAO;EAEX;EAEA,OAAO;CACT;CAIA,OAAO,MAAM,KAAK,MAAM;AAC1B"}
@@ -5,15 +5,14 @@ import { Transport } from "../types/transport.js";
5
5
  import { Client } from "../types/client.js";
6
6
  import { PublicActions } from "../clients/decorators/public.js";
7
7
  import { WalletActions } from "../clients/decorators/wallet.js";
8
-
9
8
  //#region src/utils/getAction.d.ts
10
9
  /**
11
- * Retrieves and returns an action from the client (if exists), and falls
12
- * back to the tree-shakable action.
13
- *
14
- * Useful for extracting overridden actions from a client (ie. if a consumer
15
- * wants to override the `sendTransaction` implementation).
16
- */
10
+ * Retrieves and returns an action from the client (if exists), and falls
11
+ * back to the tree-shakable action.
12
+ *
13
+ * Useful for extracting overridden actions from a client (ie. if a consumer
14
+ * wants to override the `sendTransaction` implementation).
15
+ */
17
16
  declare function getAction<transport extends Transport, chain extends Chain | undefined, account extends Account | undefined, rpcSchema extends UTXOSchema | undefined, extended extends {
18
17
  [key: string]: unknown;
19
18
  }, client extends Client<transport, chain, account, rpcSchema, extended>, parameters, returnType>(client: client, actionFn: (_: any, parameters: parameters) => returnType, name: keyof PublicActions | keyof WalletActions | (string & {})): (parameters: parameters) => returnType;
@@ -1,6 +1,5 @@
1
1
  import { ChainId } from "../types/chain.js";
2
2
  import { Address, AddressInfo } from "../types/address.js";
3
-
4
3
  //#region src/utils/getAddressInfo.d.ts
5
4
  declare const getAddressInfo: (address: Address) => AddressInfo;
6
5
  declare const getAddressChainId: (address: Address) => ChainId;
@@ -1 +1 @@
1
- {"version":3,"file":"getAddressInfo.js","names":["bech32m"],"sources":["../../../src/utils/getAddressInfo.ts"],"sourcesContent":["import { sha256 } from '@noble/hashes/sha256'\nimport { bech32, bech32m, type Decoded } from 'bech32'\nimport bs58 from 'bs58'\n\nimport {\n type Address,\n type AddressInfo,\n type AddressPurpose,\n AddressType,\n} from '../types/address.js'\nimport { ChainId, Network } from '../types/chain.js'\n\nconst addressTypes: {\n [key: number]: { type: AddressType; network: Network }\n} = {\n 0: {\n type: AddressType.p2pkh,\n network: Network.Mainnet,\n },\n 111: {\n type: AddressType.p2pkh,\n network: Network.Testnet,\n },\n 5: {\n type: AddressType.p2sh,\n network: Network.Mainnet,\n },\n 196: {\n type: AddressType.p2sh,\n network: Network.Testnet,\n },\n}\n\nconst parseBech32 = (address: Address): AddressInfo => {\n let decoded: Decoded\n\n try {\n if (\n address.startsWith('bc1p') ||\n address.startsWith('tb1p') ||\n address.startsWith('bcrt1p')\n ) {\n decoded = bech32m.decode(address)\n } else {\n decoded = bech32.decode(address)\n }\n } catch (_error) {\n throw new Error('Invalid address')\n }\n\n const mapPrefixToNetwork: { [key: string]: Network } = {\n bc: Network.Mainnet,\n tb: Network.Testnet,\n bcrt: Network.Regtest,\n }\n\n const network: Network = mapPrefixToNetwork[decoded.prefix]\n\n if (network === undefined) {\n throw new Error('Invalid address')\n }\n\n const witnessVersion = decoded.words[0]\n\n if (witnessVersion < 0 || witnessVersion > 16) {\n throw new Error('Invalid address')\n }\n const data = bech32.fromWords(decoded.words.slice(1))\n\n let type: AddressType\n if (data.length === 20) {\n type = AddressType.p2wpkh\n } else if (witnessVersion === 1) {\n type = AddressType.p2tr\n } else {\n type = AddressType.p2wsh\n }\n\n const purpose = getAddressPurpose(type)\n\n return {\n bech32: true,\n network,\n address,\n type,\n purpose,\n }\n}\n\nexport const getAddressInfo = (address: Address): AddressInfo => {\n let decoded: Uint8Array\n const prefix = address.substring(0, 2).toLowerCase()\n\n if (prefix === 'bc' || prefix === 'tb') {\n return parseBech32(address)\n }\n\n try {\n decoded = bs58.decode(address)\n } catch (_error) {\n throw new Error('Invalid address')\n }\n\n const { length } = decoded\n\n if (length !== 25) {\n throw new Error('Invalid address')\n }\n\n const version = decoded[0]\n\n const checksum = decoded.slice(length - 4, length)\n const body = decoded.slice(0, length - 4)\n\n const expectedChecksum = sha256(sha256(body)).slice(0, 4)\n\n if (\n checksum.some(\n (value: number, index: number) => value !== expectedChecksum[index]\n )\n ) {\n throw new Error('Invalid address')\n }\n\n const validVersions = Object.keys(addressTypes).map(Number)\n\n if (!validVersions.includes(version)) {\n throw new Error('Invalid address')\n }\n\n const addressType = addressTypes[version]\n\n return {\n ...addressType,\n address,\n bech32: false,\n purpose: getAddressPurpose(addressType.type),\n }\n}\n\nconst getAddressPurpose = (type: AddressType): AddressPurpose => {\n switch (type) {\n case AddressType.p2tr:\n return 'ordinals'\n case AddressType.p2wsh:\n return 'stacks'\n case AddressType.p2wpkh:\n case AddressType.p2sh:\n case AddressType.p2pkh:\n return 'payment'\n default:\n throw new Error('Invalid address type')\n }\n}\n\nexport const getAddressChainId = (address: Address): ChainId => {\n const addressInfo = getAddressInfo(address)\n\n switch (addressInfo.network) {\n case Network.Mainnet:\n return ChainId.BITCOIN_MAINNET\n case Network.Testnet:\n return ChainId.BITCOIN_TESTNET\n case Network.Regtest:\n return ChainId.BITCOIN_SIGNET\n default:\n return ChainId.BITCOIN_MAINNET\n }\n}\n"],"mappings":";;;;;;;;;AAYA,MAAM,eAEF;CACF,GAAG;EACD,MAAA;EACA,SAAA;CACF;CACA,KAAK;EACH,MAAA;EACA,SAAA;CACF;CACA,GAAG;EACD,MAAA;EACA,SAAA;CACF;CACA,KAAK;EACH,MAAA;EACA,SAAA;CACF;AACF;AAEA,MAAM,eAAe,YAAkC;CACrD,IAAI;CAEJ,IAAI;EACF,IACE,QAAQ,WAAW,MAAM,KACzB,QAAQ,WAAW,MAAM,KACzB,QAAQ,WAAW,QAAQ,GAE3B,UAAUA,OAAAA,QAAQ,OAAO,OAAO;OAEhC,UAAU,OAAA,OAAO,OAAO,OAAO;CAEnC,SAAS,QAAQ;EACf,MAAM,IAAI,MAAM,iBAAiB;CACnC;CAQA,MAAM,UAAmB;EALvB,IAAA;EACA,IAAA;EACA,MAAA;CAGwC,EAAE,QAAQ;CAEpD,IAAI,YAAY,KAAA,GACd,MAAM,IAAI,MAAM,iBAAiB;CAGnC,MAAM,iBAAiB,QAAQ,MAAM;CAErC,IAAI,iBAAiB,KAAK,iBAAiB,IACzC,MAAM,IAAI,MAAM,iBAAiB;CAEnC,MAAM,OAAO,OAAA,OAAO,UAAU,QAAQ,MAAM,MAAM,CAAC,CAAC;CAEpD,IAAI;CACJ,IAAI,KAAK,WAAW,IAClB,OAAA;MACK,IAAI,mBAAmB,GAC5B,OAAA;MAEA,OAAA;CAGF,MAAM,UAAU,kBAAkB,IAAI;CAEtC,OAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;CACF;AACF;AAEA,MAAa,kBAAkB,YAAkC;CAC/D,IAAI;CACJ,MAAM,SAAS,QAAQ,UAAU,GAAG,CAAC,EAAE,YAAY;CAEnD,IAAI,WAAW,QAAQ,WAAW,MAChC,OAAO,YAAY,OAAO;CAG5B,IAAI;EACF,UAAU,KAAA,QAAK,OAAO,OAAO;CAC/B,SAAS,QAAQ;EACf,MAAM,IAAI,MAAM,iBAAiB;CACnC;CAEA,MAAM,EAAE,WAAW;CAEnB,IAAI,WAAW,IACb,MAAM,IAAI,MAAM,iBAAiB;CAGnC,MAAM,UAAU,QAAQ;CAExB,MAAM,WAAW,QAAQ,MAAM,SAAS,GAAG,MAAM;CAGjD,MAAM,oBAAA,GAAA,qBAAA,SAAA,GAAA,qBAAA,QAFO,QAAQ,MAAM,GAAG,SAAS,CAEG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC;CAExD,IACE,SAAS,MACN,OAAe,UAAkB,UAAU,iBAAiB,MAC/D,GAEA,MAAM,IAAI,MAAM,iBAAiB;CAKnC,IAAI,CAFkB,OAAO,KAAK,YAAY,EAAE,IAAI,MAEnC,EAAE,SAAS,OAAO,GACjC,MAAM,IAAI,MAAM,iBAAiB;CAGnC,MAAM,cAAc,aAAa;CAEjC,OAAO;EACL,GAAG;EACH;EACA,QAAQ;EACR,SAAS,kBAAkB,YAAY,IAAI;CAC7C;AACF;AAEA,MAAM,qBAAqB,SAAsC;CAC/D,QAAQ,MAAR;EACE,KAAA,QACE,OAAO;EACT,KAAA,SACE,OAAO;EACT,KAAA;EACA,KAAA;EACA,KAAA,SACE,OAAO;EACT,SACE,MAAM,IAAI,MAAM,sBAAsB;CAC1C;AACF;AAEA,MAAa,qBAAqB,YAA8B;CAG9D,QAFoB,eAAe,OAEjB,EAAE,SAApB;EACE,KAAA,WACE,OAAA;EACF,KAAA,WACE,OAAA;EACF,KAAA,WACE,OAAA;EACF,SACE,OAAA;CACJ;AACF"}
1
+ {"version":3,"file":"getAddressInfo.js","names":["bech32m"],"sources":["../../../src/utils/getAddressInfo.ts"],"sourcesContent":["import { sha256 } from '@noble/hashes/sha256'\nimport { bech32, bech32m, type Decoded } from 'bech32'\nimport bs58 from 'bs58'\n\nimport {\n type Address,\n type AddressInfo,\n type AddressPurpose,\n AddressType,\n} from '../types/address.js'\nimport { ChainId, Network } from '../types/chain.js'\n\nconst addressTypes: {\n [key: number]: { type: AddressType; network: Network }\n} = {\n 0: {\n type: AddressType.p2pkh,\n network: Network.Mainnet,\n },\n 111: {\n type: AddressType.p2pkh,\n network: Network.Testnet,\n },\n 5: {\n type: AddressType.p2sh,\n network: Network.Mainnet,\n },\n 196: {\n type: AddressType.p2sh,\n network: Network.Testnet,\n },\n}\n\nconst parseBech32 = (address: Address): AddressInfo => {\n let decoded: Decoded\n\n try {\n if (\n address.startsWith('bc1p') ||\n address.startsWith('tb1p') ||\n address.startsWith('bcrt1p')\n ) {\n decoded = bech32m.decode(address)\n } else {\n decoded = bech32.decode(address)\n }\n } catch (_error) {\n throw new Error('Invalid address')\n }\n\n const mapPrefixToNetwork: { [key: string]: Network } = {\n bc: Network.Mainnet,\n tb: Network.Testnet,\n bcrt: Network.Regtest,\n }\n\n const network: Network = mapPrefixToNetwork[decoded.prefix]\n\n if (network === undefined) {\n throw new Error('Invalid address')\n }\n\n const witnessVersion = decoded.words[0]\n\n if (witnessVersion < 0 || witnessVersion > 16) {\n throw new Error('Invalid address')\n }\n const data = bech32.fromWords(decoded.words.slice(1))\n\n let type: AddressType\n if (data.length === 20) {\n type = AddressType.p2wpkh\n } else if (witnessVersion === 1) {\n type = AddressType.p2tr\n } else {\n type = AddressType.p2wsh\n }\n\n const purpose = getAddressPurpose(type)\n\n return {\n bech32: true,\n network,\n address,\n type,\n purpose,\n }\n}\n\nexport const getAddressInfo = (address: Address): AddressInfo => {\n let decoded: Uint8Array\n const prefix = address.substring(0, 2).toLowerCase()\n\n if (prefix === 'bc' || prefix === 'tb') {\n return parseBech32(address)\n }\n\n try {\n decoded = bs58.decode(address)\n } catch (_error) {\n throw new Error('Invalid address')\n }\n\n const { length } = decoded\n\n if (length !== 25) {\n throw new Error('Invalid address')\n }\n\n const version = decoded[0]\n\n const checksum = decoded.slice(length - 4, length)\n const body = decoded.slice(0, length - 4)\n\n const expectedChecksum = sha256(sha256(body)).slice(0, 4)\n\n if (\n checksum.some(\n (value: number, index: number) => value !== expectedChecksum[index]\n )\n ) {\n throw new Error('Invalid address')\n }\n\n const validVersions = Object.keys(addressTypes).map(Number)\n\n if (!validVersions.includes(version)) {\n throw new Error('Invalid address')\n }\n\n const addressType = addressTypes[version]\n\n return {\n ...addressType,\n address,\n bech32: false,\n purpose: getAddressPurpose(addressType.type),\n }\n}\n\nconst getAddressPurpose = (type: AddressType): AddressPurpose => {\n switch (type) {\n case AddressType.p2tr:\n return 'ordinals'\n case AddressType.p2wsh:\n return 'stacks'\n case AddressType.p2wpkh:\n case AddressType.p2sh:\n case AddressType.p2pkh:\n return 'payment'\n default:\n throw new Error('Invalid address type')\n }\n}\n\nexport const getAddressChainId = (address: Address): ChainId => {\n const addressInfo = getAddressInfo(address)\n\n switch (addressInfo.network) {\n case Network.Mainnet:\n return ChainId.BITCOIN_MAINNET\n case Network.Testnet:\n return ChainId.BITCOIN_TESTNET\n case Network.Regtest:\n return ChainId.BITCOIN_SIGNET\n default:\n return ChainId.BITCOIN_MAINNET\n }\n}\n"],"mappings":";;;;;;;;;AAYA,MAAM,eAEF;CACF,GAAG;EACD,MAAA;EACA,SAAA;CACF;CACA,KAAK;EACH,MAAA;EACA,SAAA;CACF;CACA,GAAG;EACD,MAAA;EACA,SAAA;CACF;CACA,KAAK;EACH,MAAA;EACA,SAAA;CACF;AACF;AAEA,MAAM,eAAe,YAAkC;CACrD,IAAI;CAEJ,IAAI;EACF,IACE,QAAQ,WAAW,MAAM,KACzB,QAAQ,WAAW,MAAM,KACzB,QAAQ,WAAW,QAAQ,GAE3B,UAAUA,OAAAA,QAAQ,OAAO,OAAO;OAEhC,UAAU,OAAA,OAAO,OAAO,OAAO;CAEnC,SAAS,QAAQ;EACf,MAAM,IAAI,MAAM,iBAAiB;CACnC;CAQA,MAAM,UAAmB;EALvB,IAAA;EACA,IAAA;EACA,MAAA;CAGwC,EAAE,QAAQ;CAEpD,IAAI,YAAY,KAAA,GACd,MAAM,IAAI,MAAM,iBAAiB;CAGnC,MAAM,iBAAiB,QAAQ,MAAM;CAErC,IAAI,iBAAiB,KAAK,iBAAiB,IACzC,MAAM,IAAI,MAAM,iBAAiB;CAEnC,MAAM,OAAO,OAAA,OAAO,UAAU,QAAQ,MAAM,MAAM,CAAC,CAAC;CAEpD,IAAI;CACJ,IAAI,KAAK,WAAW,IAClB,OAAA;MACK,IAAI,mBAAmB,GAC5B,OAAA;MAEA,OAAA;CAGF,MAAM,UAAU,kBAAkB,IAAI;CAEtC,OAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;CACF;AACF;AAEA,MAAa,kBAAkB,YAAkC;CAC/D,IAAI;CACJ,MAAM,SAAS,QAAQ,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY;CAEnD,IAAI,WAAW,QAAQ,WAAW,MAChC,OAAO,YAAY,OAAO;CAG5B,IAAI;EACF,UAAU,KAAA,QAAK,OAAO,OAAO;CAC/B,SAAS,QAAQ;EACf,MAAM,IAAI,MAAM,iBAAiB;CACnC;CAEA,MAAM,EAAE,WAAW;CAEnB,IAAI,WAAW,IACb,MAAM,IAAI,MAAM,iBAAiB;CAGnC,MAAM,UAAU,QAAQ;CAExB,MAAM,WAAW,QAAQ,MAAM,SAAS,GAAG,MAAM;CAGjD,MAAM,oBAAA,GAAA,qBAAA,OAAA,EAAA,GAAA,qBAAA,OAAA,CAFO,QAAQ,MAAM,GAAG,SAAS,CAEG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;CAExD,IACE,SAAS,MACN,OAAe,UAAkB,UAAU,iBAAiB,MAC/D,GAEA,MAAM,IAAI,MAAM,iBAAiB;CAKnC,IAAI,CAFkB,OAAO,KAAK,YAAY,CAAC,CAAC,IAAI,MAEnC,CAAC,CAAC,SAAS,OAAO,GACjC,MAAM,IAAI,MAAM,iBAAiB;CAGnC,MAAM,cAAc,aAAa;CAEjC,OAAO;EACL,GAAG;EACH;EACA,QAAQ;EACR,SAAS,kBAAkB,YAAY,IAAI;CAC7C;AACF;AAEA,MAAM,qBAAqB,SAAsC;CAC/D,QAAQ,MAAR;EACE,KAAA,QACE,OAAO;EACT,KAAA,SACE,OAAO;EACT,KAAA;EACA,KAAA;EACA,KAAA,SACE,OAAO;EACT,SACE,MAAM,IAAI,MAAM,sBAAsB;CAC1C;AACF;AAEA,MAAa,qBAAqB,YAA8B;CAG9D,QAFoB,eAAe,OAEjB,CAAC,CAAC,SAApB;EACE,KAAA,WACE,OAAA;EACF,KAAA,WACE,OAAA;EACF,KAAA,WACE,OAAA;EACF,SACE,OAAA;CACJ;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { Network } from "../types/chain.js";
2
-
3
2
  //#region src/utils/isAddress.d.ts
4
3
  declare const isAddress: (address: string, network?: Network) => boolean;
5
4
  //#endregion
@@ -1,9 +1,9 @@
1
1
  //#region src/utils/lru.d.ts
2
2
  /**
3
- * Map with a LRU (Least recently used) policy.
4
- *
5
- * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
6
- */
3
+ * Map with a LRU (Least recently used) policy.
4
+ *
5
+ * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
6
+ */
7
7
  declare class LruMap<value = unknown> extends Map<string, value> {
8
8
  maxSize: number;
9
9
  constructor(size: number);
@@ -1 +1 @@
1
- {"version":3,"file":"lru.js","names":[],"sources":["../../../src/utils/lru.ts"],"sourcesContent":["/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap<value = unknown> extends Map<string, value> {\n maxSize: number\n\n constructor(size: number) {\n super()\n this.maxSize = size\n }\n\n override get(key: string): value | undefined {\n const value = super.get(key)\n\n if (super.has(key) && value !== undefined) {\n this.delete(key)\n super.set(key, value)\n }\n\n return value\n }\n\n override set(key: string, value: value): this {\n super.set(key, value)\n if (this.maxSize && this.size > this.maxSize) {\n const firstKey = this.keys().next().value\n if (firstKey) {\n this.delete(firstKey)\n }\n }\n return this\n }\n}\n"],"mappings":";;;;;;;AAKA,IAAa,SAAb,cAA6C,IAAmB;CAG9D,YAAY,MAAc;EACxB,MAAM;EACN,KAAK,UAAU;CACjB;CAEA,IAAa,KAAgC;EAC3C,MAAM,QAAQ,MAAM,IAAI,GAAG;EAE3B,IAAI,MAAM,IAAI,GAAG,KAAK,UAAU,KAAA,GAAW;GACzC,KAAK,OAAO,GAAG;GACf,MAAM,IAAI,KAAK,KAAK;EACtB;EAEA,OAAO;CACT;CAEA,IAAa,KAAa,OAAoB;EAC5C,MAAM,IAAI,KAAK,KAAK;EACpB,IAAI,KAAK,WAAW,KAAK,OAAO,KAAK,SAAS;GAC5C,MAAM,WAAW,KAAK,KAAK,EAAE,KAAK,EAAE;GACpC,IAAI,UACF,KAAK,OAAO,QAAQ;EAExB;EACA,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"lru.js","names":[],"sources":["../../../src/utils/lru.ts"],"sourcesContent":["/**\n * Map with a LRU (Least recently used) policy.\n *\n * @link https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap<value = unknown> extends Map<string, value> {\n maxSize: number\n\n constructor(size: number) {\n super()\n this.maxSize = size\n }\n\n override get(key: string): value | undefined {\n const value = super.get(key)\n\n if (super.has(key) && value !== undefined) {\n this.delete(key)\n super.set(key, value)\n }\n\n return value\n }\n\n override set(key: string, value: value): this {\n super.set(key, value)\n if (this.maxSize && this.size > this.maxSize) {\n const firstKey = this.keys().next().value\n if (firstKey) {\n this.delete(firstKey)\n }\n }\n return this\n }\n}\n"],"mappings":";;;;;;;AAKA,IAAa,SAAb,cAA6C,IAAmB;CAG9D,YAAY,MAAc;EACxB,MAAM;EACN,KAAK,UAAU;CACjB;CAEA,IAAa,KAAgC;EAC3C,MAAM,QAAQ,MAAM,IAAI,GAAG;EAE3B,IAAI,MAAM,IAAI,GAAG,KAAK,UAAU,KAAA,GAAW;GACzC,KAAK,OAAO,GAAG;GACf,MAAM,IAAI,KAAK,KAAK;EACtB;EAEA,OAAO;CACT;CAEA,IAAa,KAAa,OAAoB;EAC5C,MAAM,IAAI,KAAK,KAAK;EACpB,IAAI,KAAK,WAAW,KAAK,OAAO,KAAK,SAAS;GAC5C,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;GACpC,IAAI,UACF,KAAK,OAAO,QAAQ;EAExB;EACA,OAAO;CACT;AACF"}
@@ -1,5 +1,4 @@
1
1
  import { Psbt } from "bitcoinjs-lib";
2
-
3
2
  //#region src/utils/modifyFee.d.ts
4
3
  declare function modifyFee(psbt: Psbt, newFee: bigint, accountAddress: string): Psbt;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"modifyFee.js","names":["Psbt","address"],"sources":["../../../src/utils/modifyFee.ts"],"sourcesContent":["import { address, Psbt } from 'bitcoinjs-lib'\n\ninterface InputData {\n hash: Uint8Array\n index: number\n nonWitnessUtxo?: Uint8Array\n witnessUtxo?: {\n script: Uint8Array\n value: bigint\n }\n redeemScript?: Uint8Array\n witnessScript?: Uint8Array\n}\n\nexport function modifyFee(\n psbt: Psbt,\n newFee: bigint,\n accountAddress: string\n): Psbt {\n const newPsbt = new Psbt()\n const inputs = psbt.data.inputs\n const outputs = psbt.txOutputs\n\n // Add inputs to the new PSBT\n for (let i = 0; i < inputs.length; i++) {\n const input = inputs[i]\n const inputData: InputData = {\n hash: psbt.txInputs[i].hash,\n index: psbt.txInputs[i].index,\n }\n\n // Include UTXO information\n if (input.nonWitnessUtxo) {\n inputData.nonWitnessUtxo = input.nonWitnessUtxo\n } else if (input.witnessUtxo) {\n inputData.witnessUtxo = input.witnessUtxo\n }\n\n // Include scripts if necessary\n if (input.redeemScript) {\n inputData.redeemScript = input.redeemScript\n }\n if (input.witnessScript) {\n inputData.witnessScript = input.witnessScript\n }\n\n newPsbt.addInput(inputData)\n }\n\n const changeOutputScript = address.toOutputScript(accountAddress)\n\n // Add outputs to the new PSBT\n for (const output of outputs) {\n const outputData = {\n script: output.script,\n value: output.value,\n }\n\n const scriptsAreEqual =\n output.script.length === changeOutputScript.length &&\n output.script.every((value, index) => value === changeOutputScript[index])\n\n if (scriptsAreEqual) {\n outputData.value = output.value - newFee\n if (outputData.value < 0) {\n throw new Error(\n 'Insufficient funds to adjust the fee by the specified amount.'\n )\n }\n }\n\n newPsbt.addOutput(outputData)\n }\n\n // Modify the input sequence number to enable RBF\n newPsbt.txInputs.forEach((_, index) => {\n // Set sequence number to less than 0xfffffffe, e.g., 0xfffffffd\n newPsbt.setInputSequence(index, 0xfffffffd)\n })\n\n return newPsbt\n}\n"],"mappings":";;;AAcA,SAAgB,UACd,MACA,QACA,gBACM;CACN,MAAM,UAAU,IAAIA,cAAAA,KAAK;CACzB,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,UAAU,KAAK;CAGrB,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,MAAM,QAAQ,OAAO;EACrB,MAAM,YAAuB;GAC3B,MAAM,KAAK,SAAS,GAAG;GACvB,OAAO,KAAK,SAAS,GAAG;EAC1B;EAGA,IAAI,MAAM,gBACR,UAAU,iBAAiB,MAAM;OAC5B,IAAI,MAAM,aACf,UAAU,cAAc,MAAM;EAIhC,IAAI,MAAM,cACR,UAAU,eAAe,MAAM;EAEjC,IAAI,MAAM,eACR,UAAU,gBAAgB,MAAM;EAGlC,QAAQ,SAAS,SAAS;CAC5B;CAEA,MAAM,qBAAqBC,cAAAA,QAAQ,eAAe,cAAc;CAGhE,KAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,aAAa;GACjB,QAAQ,OAAO;GACf,OAAO,OAAO;EAChB;EAMA,IAHE,OAAO,OAAO,WAAW,mBAAmB,UAC5C,OAAO,OAAO,OAAO,OAAO,UAAU,UAAU,mBAAmB,MAAM,GAEtD;GACnB,WAAW,QAAQ,OAAO,QAAQ;GAClC,IAAI,WAAW,QAAQ,GACrB,MAAM,IAAI,MACR,+DACF;EAEJ;EAEA,QAAQ,UAAU,UAAU;CAC9B;CAGA,QAAQ,SAAS,SAAS,GAAG,UAAU;EAErC,QAAQ,iBAAiB,OAAO,UAAU;CAC5C,CAAC;CAED,OAAO;AACT"}
1
+ {"version":3,"file":"modifyFee.js","names":["Psbt","address"],"sources":["../../../src/utils/modifyFee.ts"],"sourcesContent":["import { address, Psbt } from 'bitcoinjs-lib'\n\ninterface InputData {\n hash: Uint8Array\n index: number\n nonWitnessUtxo?: Uint8Array\n witnessUtxo?: {\n script: Uint8Array\n value: bigint\n }\n redeemScript?: Uint8Array\n witnessScript?: Uint8Array\n}\n\nexport function modifyFee(\n psbt: Psbt,\n newFee: bigint,\n accountAddress: string\n): Psbt {\n const newPsbt = new Psbt()\n const inputs = psbt.data.inputs\n const outputs = psbt.txOutputs\n\n // Add inputs to the new PSBT\n for (let i = 0; i < inputs.length; i++) {\n const input = inputs[i]\n const inputData: InputData = {\n hash: psbt.txInputs[i].hash,\n index: psbt.txInputs[i].index,\n }\n\n // Include UTXO information\n if (input.nonWitnessUtxo) {\n inputData.nonWitnessUtxo = input.nonWitnessUtxo\n } else if (input.witnessUtxo) {\n inputData.witnessUtxo = input.witnessUtxo\n }\n\n // Include scripts if necessary\n if (input.redeemScript) {\n inputData.redeemScript = input.redeemScript\n }\n if (input.witnessScript) {\n inputData.witnessScript = input.witnessScript\n }\n\n newPsbt.addInput(inputData)\n }\n\n const changeOutputScript = address.toOutputScript(accountAddress)\n\n // Add outputs to the new PSBT\n for (const output of outputs) {\n const outputData = {\n script: output.script,\n value: output.value,\n }\n\n const scriptsAreEqual =\n output.script.length === changeOutputScript.length &&\n output.script.every((value, index) => value === changeOutputScript[index])\n\n if (scriptsAreEqual) {\n outputData.value = output.value - newFee\n if (outputData.value < 0) {\n throw new Error(\n 'Insufficient funds to adjust the fee by the specified amount.'\n )\n }\n }\n\n newPsbt.addOutput(outputData)\n }\n\n // Modify the input sequence number to enable RBF\n newPsbt.txInputs.forEach((_, index) => {\n // Set sequence number to less than 0xfffffffe, e.g., 0xfffffffd\n newPsbt.setInputSequence(index, 0xfffffffd)\n })\n\n return newPsbt\n}\n"],"mappings":";;;AAcA,SAAgB,UACd,MACA,QACA,gBACM;CACN,MAAM,UAAU,IAAIA,cAAAA,KAAK;CACzB,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,UAAU,KAAK;CAGrB,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,MAAM,QAAQ,OAAO;EACrB,MAAM,YAAuB;GAC3B,MAAM,KAAK,SAAS,EAAE,CAAC;GACvB,OAAO,KAAK,SAAS,EAAE,CAAC;EAC1B;EAGA,IAAI,MAAM,gBACR,UAAU,iBAAiB,MAAM;OAC5B,IAAI,MAAM,aACf,UAAU,cAAc,MAAM;EAIhC,IAAI,MAAM,cACR,UAAU,eAAe,MAAM;EAEjC,IAAI,MAAM,eACR,UAAU,gBAAgB,MAAM;EAGlC,QAAQ,SAAS,SAAS;CAC5B;CAEA,MAAM,qBAAqBC,cAAAA,QAAQ,eAAe,cAAc;CAGhE,KAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,aAAa;GACjB,QAAQ,OAAO;GACf,OAAO,OAAO;EAChB;EAMA,IAHE,OAAO,OAAO,WAAW,mBAAmB,UAC5C,OAAO,OAAO,OAAO,OAAO,UAAU,UAAU,mBAAmB,MAAM,GAEtD;GACnB,WAAW,QAAQ,OAAO,QAAQ;GAClC,IAAI,WAAW,QAAQ,GACrB,MAAM,IAAI,MACR,+DACF;EAEJ;EAEA,QAAQ,UAAU,UAAU;CAC9B;CAGA,QAAQ,SAAS,SAAS,GAAG,UAAU;EAErC,QAAQ,iBAAiB,OAAO,UAAU;CAC5C,CAAC;CAED,OAAO;AACT"}
@@ -1,5 +1,4 @@
1
1
  import { MaybePromise } from "../types/utils.js";
2
-
3
2
  //#region src/utils/observe.d.ts
4
3
  type Callback = ((...args: any[]) => any) | undefined;
5
4
  type Callbacks = Record<string, Callback>;
@@ -12,10 +11,10 @@ declare const listenersCache: Map<string, {
12
11
  declare const cleanupCache: Map<string, () => void>;
13
12
  type EmitFunction<callbacks extends Callbacks> = (emit: callbacks) => MaybePromise<void | (() => void)>;
14
13
  /**
15
- * @description Sets up an observer for a given function. If another function
16
- * is set up under the same observer id, the function will only be called once
17
- * for both instances of the observer.
18
- */
14
+ * @description Sets up an observer for a given function. If another function
15
+ * is set up under the same observer id, the function will only be called once
16
+ * for both instances of the observer.
17
+ */
19
18
  declare function observe<callbacks extends Callbacks>(observerId: string, callbacks: callbacks, fn: EmitFunction<callbacks>): () => void;
20
19
  //#endregion
21
20
  export { cleanupCache, listenersCache, observe };