@bigmi/core 0.8.0 → 0.8.1

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 (270) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/actions/getBalance.js.map +1 -1
  3. package/dist/cjs/actions/getBlock.js +0 -1
  4. package/dist/cjs/actions/getBlock.js.map +1 -1
  5. package/dist/cjs/actions/getBlockCount.js.map +1 -1
  6. package/dist/cjs/actions/getBlockStats.js.map +1 -1
  7. package/dist/cjs/actions/getTransactionFee.js.map +1 -1
  8. package/dist/cjs/actions/getTransactions.js.map +1 -1
  9. package/dist/cjs/actions/getUTXOTransaction.js.map +1 -1
  10. package/dist/cjs/actions/getUTXOs.js.map +1 -1
  11. package/dist/cjs/actions/getXPubAddresses.js.map +1 -1
  12. package/dist/cjs/actions/sendUTXOTransaction.js.map +1 -1
  13. package/dist/cjs/actions/signPsbt.js.map +1 -1
  14. package/dist/cjs/actions/waitForTransaction.js +0 -1
  15. package/dist/cjs/actions/waitForTransaction.js.map +1 -1
  16. package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
  17. package/dist/cjs/chains/bitcoin.js +3 -3
  18. package/dist/cjs/chains/bitcoin.js.map +1 -1
  19. package/dist/cjs/chains/defineChain.js.map +1 -1
  20. package/dist/cjs/chains/signet.js +3 -3
  21. package/dist/cjs/chains/signet.js.map +1 -1
  22. package/dist/cjs/clients/decorators/public.js.map +1 -1
  23. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  24. package/dist/cjs/errors/address.js.map +1 -1
  25. package/dist/cjs/errors/base.js.map +1 -1
  26. package/dist/cjs/errors/block.js.map +1 -1
  27. package/dist/cjs/errors/provider.js.map +1 -1
  28. package/dist/cjs/errors/request.js.map +1 -1
  29. package/dist/cjs/errors/rpc.js +3 -3
  30. package/dist/cjs/errors/rpc.js.map +1 -1
  31. package/dist/cjs/errors/transaction.js.map +1 -1
  32. package/dist/cjs/errors/transport.js.map +1 -1
  33. package/dist/cjs/errors/utxo.js.map +1 -1
  34. package/dist/cjs/factories/createClient.js.map +1 -1
  35. package/dist/cjs/factories/createTransport.js.map +1 -1
  36. package/dist/cjs/test/utils.js.map +1 -1
  37. package/dist/cjs/transports/ankr/ankr.js.map +1 -1
  38. package/dist/cjs/transports/ankr/getBalance.js +2 -2
  39. package/dist/cjs/transports/ankr/getBalance.js.map +1 -1
  40. package/dist/cjs/transports/ankr/getTransactionFee.js.map +1 -1
  41. package/dist/cjs/transports/ankr/getTransactions.js.map +1 -1
  42. package/dist/cjs/transports/ankr/methods.js.map +1 -1
  43. package/dist/cjs/transports/ankr/utils.js.map +1 -1
  44. package/dist/cjs/transports/blockchair/blockchair.js.map +1 -1
  45. package/dist/cjs/transports/blockchair/getBalance.js +2 -2
  46. package/dist/cjs/transports/blockchair/getBalance.js.map +1 -1
  47. package/dist/cjs/transports/blockchair/getTransactionFee.js +2 -2
  48. package/dist/cjs/transports/blockchair/getTransactionFee.js.map +1 -1
  49. package/dist/cjs/transports/blockchair/getUTXOs.js +2 -2
  50. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -1
  51. package/dist/cjs/transports/blockchair/getXPubAddresses.js +2 -2
  52. package/dist/cjs/transports/blockchair/getXPubAddresses.js.map +1 -1
  53. package/dist/cjs/transports/blockchair/methods.js.map +1 -1
  54. package/dist/cjs/transports/blockcypher/blockcypher.js.map +1 -1
  55. package/dist/cjs/transports/blockcypher/getBalance.js.map +1 -1
  56. package/dist/cjs/transports/blockcypher/getTransactionFee.js.map +1 -1
  57. package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -1
  58. package/dist/cjs/transports/blockcypher/methods.js.map +1 -1
  59. package/dist/cjs/transports/blockcypher/utils.js +3 -3
  60. package/dist/cjs/transports/blockcypher/utils.js.map +1 -1
  61. package/dist/cjs/transports/custom.js.map +1 -1
  62. package/dist/cjs/transports/fallback.js +2 -2
  63. package/dist/cjs/transports/fallback.js.map +1 -1
  64. package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
  65. package/dist/cjs/transports/getRpcProviderMethods.js.map +1 -1
  66. package/dist/cjs/transports/http.js.map +1 -1
  67. package/dist/cjs/transports/mempool/getBalance.js.map +1 -1
  68. package/dist/cjs/transports/mempool/getTransactionFee.js.map +1 -1
  69. package/dist/cjs/transports/mempool/getTransactions.js.map +1 -1
  70. package/dist/cjs/transports/mempool/mempool.js.map +1 -1
  71. package/dist/cjs/transports/mempool/methods.js.map +1 -1
  72. package/dist/cjs/transports/mempool/utils.js.map +1 -1
  73. package/dist/cjs/transports/types.js.map +1 -1
  74. package/dist/cjs/transports/utxo.js.map +1 -1
  75. package/dist/cjs/types/address.js.map +1 -1
  76. package/dist/cjs/types/chain.js.map +1 -1
  77. package/dist/cjs/utils/buildRequest.js +3 -3
  78. package/dist/cjs/utils/buildRequest.js.map +1 -1
  79. package/dist/cjs/utils/cancelTransaction.js +0 -1
  80. package/dist/cjs/utils/cancelTransaction.js.map +1 -1
  81. package/dist/cjs/utils/converter.js.map +1 -1
  82. package/dist/cjs/utils/createBatchScheduler.js +1 -1
  83. package/dist/cjs/utils/createBatchScheduler.js.map +1 -1
  84. package/dist/cjs/utils/deepEqual.js.map +1 -1
  85. package/dist/cjs/utils/getAction.js.map +1 -1
  86. package/dist/cjs/utils/getAddressInfo.js +26 -26
  87. package/dist/cjs/utils/getAddressInfo.js.map +1 -1
  88. package/dist/cjs/utils/idCache.js.map +1 -1
  89. package/dist/cjs/utils/isAddress.js.map +1 -1
  90. package/dist/cjs/utils/lru.js.map +1 -1
  91. package/dist/cjs/utils/modifyFee.js +0 -1
  92. package/dist/cjs/utils/modifyFee.js.map +1 -1
  93. package/dist/cjs/utils/observe.js +2 -2
  94. package/dist/cjs/utils/observe.js.map +1 -1
  95. package/dist/cjs/utils/parseAccount.js.map +1 -1
  96. package/dist/cjs/utils/poll.js.map +1 -1
  97. package/dist/cjs/utils/retryUntil.js.map +1 -1
  98. package/dist/cjs/utils/sleep.js.map +1 -1
  99. package/dist/cjs/utils/stringify.js.map +1 -1
  100. package/dist/cjs/utils/uid.js.map +1 -1
  101. package/dist/cjs/utils/url.js.map +1 -1
  102. package/dist/cjs/utils/wait.js.map +1 -1
  103. package/dist/cjs/utils/withDedupe.js +1 -1
  104. package/dist/cjs/utils/withDedupe.js.map +1 -1
  105. package/dist/cjs/utils/withResolvers.js.map +1 -1
  106. package/dist/cjs/utils/withRetry.js.map +1 -1
  107. package/dist/cjs/utils/withTimeout.js.map +1 -1
  108. package/dist/cjs/version.d.ts +1 -1
  109. package/dist/cjs/version.js +1 -1
  110. package/dist/cjs/version.js.map +1 -1
  111. package/dist/esm/actions/getBalance.d.ts.map +1 -1
  112. package/dist/esm/actions/getBalance.js.map +1 -1
  113. package/dist/esm/actions/getBlock.d.ts.map +1 -1
  114. package/dist/esm/actions/getBlock.js.map +1 -1
  115. package/dist/esm/actions/getBlockCount.d.ts.map +1 -1
  116. package/dist/esm/actions/getBlockCount.js.map +1 -1
  117. package/dist/esm/actions/getBlockStats.d.ts.map +1 -1
  118. package/dist/esm/actions/getBlockStats.js.map +1 -1
  119. package/dist/esm/actions/getTransactionFee.d.ts.map +1 -1
  120. package/dist/esm/actions/getTransactionFee.js.map +1 -1
  121. package/dist/esm/actions/getTransactions.d.ts.map +1 -1
  122. package/dist/esm/actions/getTransactions.js.map +1 -1
  123. package/dist/esm/actions/getUTXOTransaction.d.ts.map +1 -1
  124. package/dist/esm/actions/getUTXOTransaction.js.map +1 -1
  125. package/dist/esm/actions/getUTXOs.d.ts.map +1 -1
  126. package/dist/esm/actions/getUTXOs.js.map +1 -1
  127. package/dist/esm/actions/getXPubAddresses.d.ts.map +1 -1
  128. package/dist/esm/actions/getXPubAddresses.js.map +1 -1
  129. package/dist/esm/actions/sendUTXOTransaction.d.ts.map +1 -1
  130. package/dist/esm/actions/sendUTXOTransaction.js.map +1 -1
  131. package/dist/esm/actions/signPsbt.d.ts.map +1 -1
  132. package/dist/esm/actions/signPsbt.js.map +1 -1
  133. package/dist/esm/actions/waitForTransaction.d.ts.map +1 -1
  134. package/dist/esm/actions/waitForTransaction.js.map +1 -1
  135. package/dist/esm/actions/watchBlockNumber.d.ts.map +1 -1
  136. package/dist/esm/actions/watchBlockNumber.js.map +1 -1
  137. package/dist/esm/chains/bitcoin.js +3 -3
  138. package/dist/esm/chains/bitcoin.js.map +1 -1
  139. package/dist/esm/chains/defineChain.d.ts.map +1 -1
  140. package/dist/esm/chains/defineChain.js.map +1 -1
  141. package/dist/esm/chains/signet.js +3 -3
  142. package/dist/esm/chains/signet.js.map +1 -1
  143. package/dist/esm/clients/decorators/public.d.ts.map +1 -1
  144. package/dist/esm/clients/decorators/public.js.map +1 -1
  145. package/dist/esm/clients/decorators/wallet.d.ts.map +1 -1
  146. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  147. package/dist/esm/errors/address.d.ts.map +1 -1
  148. package/dist/esm/errors/address.js.map +1 -1
  149. package/dist/esm/errors/base.d.ts.map +1 -1
  150. package/dist/esm/errors/base.js.map +1 -1
  151. package/dist/esm/errors/block.d.ts.map +1 -1
  152. package/dist/esm/errors/block.js.map +1 -1
  153. package/dist/esm/errors/provider.js.map +1 -1
  154. package/dist/esm/errors/request.d.ts.map +1 -1
  155. package/dist/esm/errors/request.js.map +1 -1
  156. package/dist/esm/errors/rpc.d.ts.map +1 -1
  157. package/dist/esm/errors/rpc.js +3 -3
  158. package/dist/esm/errors/rpc.js.map +1 -1
  159. package/dist/esm/errors/transaction.d.ts.map +1 -1
  160. package/dist/esm/errors/transaction.js.map +1 -1
  161. package/dist/esm/errors/transport.d.ts.map +1 -1
  162. package/dist/esm/errors/transport.js.map +1 -1
  163. package/dist/esm/errors/utxo.d.ts.map +1 -1
  164. package/dist/esm/errors/utxo.js.map +1 -1
  165. package/dist/esm/factories/createClient.d.ts.map +1 -1
  166. package/dist/esm/factories/createClient.js.map +1 -1
  167. package/dist/esm/factories/createTransport.d.ts.map +1 -1
  168. package/dist/esm/factories/createTransport.js.map +1 -1
  169. package/dist/esm/test/utils.js.map +1 -1
  170. package/dist/esm/transports/ankr/ankr.js.map +1 -1
  171. package/dist/esm/transports/ankr/getBalance.js +2 -2
  172. package/dist/esm/transports/ankr/getBalance.js.map +1 -1
  173. package/dist/esm/transports/ankr/getTransactionFee.js.map +1 -1
  174. package/dist/esm/transports/ankr/getTransactions.js.map +1 -1
  175. package/dist/esm/transports/ankr/methods.js.map +1 -1
  176. package/dist/esm/transports/ankr/utils.js.map +1 -1
  177. package/dist/esm/transports/blockchair/blockchair.js.map +1 -1
  178. package/dist/esm/transports/blockchair/getBalance.js +2 -2
  179. package/dist/esm/transports/blockchair/getBalance.js.map +1 -1
  180. package/dist/esm/transports/blockchair/getTransactionFee.js +2 -2
  181. package/dist/esm/transports/blockchair/getTransactionFee.js.map +1 -1
  182. package/dist/esm/transports/blockchair/getUTXOs.js +2 -2
  183. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -1
  184. package/dist/esm/transports/blockchair/getXPubAddresses.js +2 -2
  185. package/dist/esm/transports/blockchair/getXPubAddresses.js.map +1 -1
  186. package/dist/esm/transports/blockchair/methods.js.map +1 -1
  187. package/dist/esm/transports/blockcypher/blockcypher.js.map +1 -1
  188. package/dist/esm/transports/blockcypher/getBalance.js.map +1 -1
  189. package/dist/esm/transports/blockcypher/getTransactionFee.js.map +1 -1
  190. package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -1
  191. package/dist/esm/transports/blockcypher/methods.js.map +1 -1
  192. package/dist/esm/transports/blockcypher/utils.js +3 -3
  193. package/dist/esm/transports/blockcypher/utils.js.map +1 -1
  194. package/dist/esm/transports/custom.d.ts.map +1 -1
  195. package/dist/esm/transports/custom.js.map +1 -1
  196. package/dist/esm/transports/fallback.d.ts.map +1 -1
  197. package/dist/esm/transports/fallback.js +2 -2
  198. package/dist/esm/transports/fallback.js.map +1 -1
  199. package/dist/esm/transports/getHttpRpcClient.d.ts.map +1 -1
  200. package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
  201. package/dist/esm/transports/getRpcProviderMethods.js.map +1 -1
  202. package/dist/esm/transports/http.d.ts.map +1 -1
  203. package/dist/esm/transports/http.js.map +1 -1
  204. package/dist/esm/transports/mempool/getBalance.js.map +1 -1
  205. package/dist/esm/transports/mempool/getTransactionFee.js.map +1 -1
  206. package/dist/esm/transports/mempool/getTransactions.js.map +1 -1
  207. package/dist/esm/transports/mempool/mempool.js.map +1 -1
  208. package/dist/esm/transports/mempool/methods.js.map +1 -1
  209. package/dist/esm/transports/mempool/utils.js.map +1 -1
  210. package/dist/esm/transports/types.d.ts.map +1 -1
  211. package/dist/esm/transports/types.js.map +1 -1
  212. package/dist/esm/transports/utxo.js.map +1 -1
  213. package/dist/esm/types/address.js.map +1 -1
  214. package/dist/esm/types/block.d.ts.map +1 -1
  215. package/dist/esm/types/chain.js.map +1 -1
  216. package/dist/esm/types/client.d.ts.map +1 -1
  217. package/dist/esm/types/request.d.ts.map +1 -1
  218. package/dist/esm/types/utils.d.ts.map +1 -1
  219. package/dist/esm/utils/buildRequest.d.ts.map +1 -1
  220. package/dist/esm/utils/buildRequest.js +4 -4
  221. package/dist/esm/utils/buildRequest.js.map +1 -1
  222. package/dist/esm/utils/cancelTransaction.js.map +1 -1
  223. package/dist/esm/utils/converter.js.map +1 -1
  224. package/dist/esm/utils/createBatchScheduler.d.ts.map +1 -1
  225. package/dist/esm/utils/createBatchScheduler.js +1 -1
  226. package/dist/esm/utils/createBatchScheduler.js.map +1 -1
  227. package/dist/esm/utils/deepEqual.js.map +1 -1
  228. package/dist/esm/utils/getAction.d.ts.map +1 -1
  229. package/dist/esm/utils/getAction.js.map +1 -1
  230. package/dist/esm/utils/getAddressInfo.js +25 -25
  231. package/dist/esm/utils/getAddressInfo.js.map +1 -1
  232. package/dist/esm/utils/idCache.js.map +1 -1
  233. package/dist/esm/utils/isAddress.js.map +1 -1
  234. package/dist/esm/utils/lru.js.map +1 -1
  235. package/dist/esm/utils/modifyFee.js.map +1 -1
  236. package/dist/esm/utils/observe.d.ts.map +1 -1
  237. package/dist/esm/utils/observe.js +2 -2
  238. package/dist/esm/utils/observe.js.map +1 -1
  239. package/dist/esm/utils/parseAccount.d.ts.map +1 -1
  240. package/dist/esm/utils/parseAccount.js.map +1 -1
  241. package/dist/esm/utils/poll.d.ts.map +1 -1
  242. package/dist/esm/utils/poll.js.map +1 -1
  243. package/dist/esm/utils/retryUntil.d.ts.map +1 -1
  244. package/dist/esm/utils/retryUntil.js.map +1 -1
  245. package/dist/esm/utils/sleep.js.map +1 -1
  246. package/dist/esm/utils/stringify.js.map +1 -1
  247. package/dist/esm/utils/uid.js.map +1 -1
  248. package/dist/esm/utils/url.js.map +1 -1
  249. package/dist/esm/utils/wait.js.map +1 -1
  250. package/dist/esm/utils/withDedupe.d.ts.map +1 -1
  251. package/dist/esm/utils/withDedupe.js +1 -1
  252. package/dist/esm/utils/withDedupe.js.map +1 -1
  253. package/dist/esm/utils/withResolvers.d.ts.map +1 -1
  254. package/dist/esm/utils/withResolvers.js.map +1 -1
  255. package/dist/esm/utils/withRetry.d.ts.map +1 -1
  256. package/dist/esm/utils/withRetry.js.map +1 -1
  257. package/dist/esm/utils/withTimeout.d.ts.map +1 -1
  258. package/dist/esm/utils/withTimeout.js.map +1 -1
  259. package/dist/esm/version.d.ts +1 -1
  260. package/dist/esm/version.js +1 -1
  261. package/dist/esm/version.js.map +1 -1
  262. package/package.json +3 -2
  263. package/src/version.ts +1 -1
  264. package/dist/cjs/transports/__mocks__/getTransactionFee.d.ts +0 -7
  265. package/dist/cjs/transports/__mocks__/getTransactionFee.js +0 -11
  266. package/dist/cjs/transports/__mocks__/getTransactionFee.js.map +0 -1
  267. package/dist/esm/transports/__mocks__/getTransactionFee.d.ts +0 -7
  268. package/dist/esm/transports/__mocks__/getTransactionFee.d.ts.map +0 -1
  269. package/dist/esm/transports/__mocks__/getTransactionFee.js +0 -8
  270. package/dist/esm/transports/__mocks__/getTransactionFee.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getAction.d.ts","names":[],"sources":["../../../src/utils/getAction.ts"],"mappings":";;;;;;;;;;;AAeA;;;;;iBAAgB,SAAA,mBACI,SAAA,gBACJ,KAAA,8BACE,OAAA,gCACE,UAAA;EAAA;kBAEH,MAAA,CAAO,SAAA,EAAW,KAAA,EAAO,OAAA,EAAS,SAAA,EAAW,QAAA,0BAAA,CAI5D,MAAA,EAAQ,MAAA,EACR,QAAA,GAAW,CAAA,OAAQ,UAAA,EAAY,UAAA,KAAe,UAAA,EAI9C,IAAA,QAAY,aAAA,SAAsB,aAAA,oBAChC,UAAA,EAAY,UAAA,KAAe,UAAA"}
1
+ {"version":3,"file":"getAction.d.ts","names":[],"sources":["../../../src/utils/getAction.ts"],"mappings":";;;;;;;;;;;AAeA;;;;;iBAAgB,SAAA,mBACI,SAAA,gBACJ,KAAA,8BACE,OAAA,gCACE,UAAA;EAAA;kBAEH,MAAA,CAAO,SAAA,EAAW,KAAA,EAAO,OAAA,EAAS,SAAA,EAAW,QAAA,2BAI5D,MAAA,EAAQ,MAAA,EACR,QAAA,GAAW,CAAA,OAAQ,UAAA,EAAY,UAAA,KAAe,UAAA,EAI9C,IAAA,QAAY,aAAA,SAAsB,aAAA,oBAChC,UAAA,EAAY,UAAA,KAAe,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAction.js","names":[],"sources":["../../../src/utils/getAction.ts"],"sourcesContent":["import type { PublicActions } from '../clients/decorators/public.js'\nimport type { WalletActions } from '../clients/decorators/wallet.js'\nimport type { UTXOSchema } from '../transports/types.js'\nimport type { Account } from '../types/account.js'\nimport type { Chain } from '../types/chain.js'\nimport type { Client } from '../types/client.js'\nimport type { Transport } from '../types/transport.js'\n\n/**\n * Retrieves and returns an action from the client (if exists), and falls\n * back to the tree-shakable action.\n *\n * Useful for extracting overridden actions from a client (ie. if a consumer\n * wants to override the `sendTransaction` implementation).\n */\nexport function getAction<\n transport extends Transport,\n chain extends Chain | undefined,\n account extends Account | undefined,\n rpcSchema extends UTXOSchema | undefined,\n extended extends { [key: string]: unknown },\n client extends Client<transport, chain, account, rpcSchema, extended>,\n parameters,\n returnType,\n>(\n client: client,\n actionFn: (_: any, parameters: parameters) => returnType,\n // Some minifiers drop `Function.prototype.name`, or replace it with short letters,\n // meaning that `actionFn.name` will not always work. For that case, the consumer\n // needs to pass the name explicitly.\n name: keyof PublicActions | keyof WalletActions | (string & {})\n): (parameters: parameters) => returnType {\n const action_implicit = client[actionFn.name]\n if (typeof action_implicit === 'function') {\n return action_implicit as (params: parameters) => returnType\n }\n\n const action_explicit = client[name]\n if (typeof action_explicit === 'function') {\n return action_explicit as (params: parameters) => returnType\n }\n\n return (params) => actionFn(client, params)\n}\n"],"mappings":";;;;;;;;AAeA,SAAgB,UAUd,QACA,UAIA,MACwC;CACxC,MAAM,kBAAkB,OAAO,SAAS;AACxC,KAAI,OAAO,oBAAoB,WAC7B,QAAO;CAGT,MAAM,kBAAkB,OAAO;AAC/B,KAAI,OAAO,oBAAoB,WAC7B,QAAO;AAGT,SAAQ,WAAW,SAAS,QAAQ,OAAO"}
1
+ {"version":3,"file":"getAction.js","names":[],"sources":["../../../src/utils/getAction.ts"],"sourcesContent":["import type { PublicActions } from '../clients/decorators/public.js'\nimport type { WalletActions } from '../clients/decorators/wallet.js'\nimport type { UTXOSchema } from '../transports/types.js'\nimport type { Account } from '../types/account.js'\nimport type { Chain } from '../types/chain.js'\nimport type { Client } from '../types/client.js'\nimport type { Transport } from '../types/transport.js'\n\n/**\n * Retrieves and returns an action from the client (if exists), and falls\n * back to the tree-shakable action.\n *\n * Useful for extracting overridden actions from a client (ie. if a consumer\n * wants to override the `sendTransaction` implementation).\n */\nexport function getAction<\n transport extends Transport,\n chain extends Chain | undefined,\n account extends Account | undefined,\n rpcSchema extends UTXOSchema | undefined,\n extended extends { [key: string]: unknown },\n client extends Client<transport, chain, account, rpcSchema, extended>,\n parameters,\n returnType,\n>(\n client: client,\n actionFn: (_: any, parameters: parameters) => returnType,\n // Some minifiers drop `Function.prototype.name`, or replace it with short letters,\n // meaning that `actionFn.name` will not always work. For that case, the consumer\n // needs to pass the name explicitly.\n name: keyof PublicActions | keyof WalletActions | (string & {})\n): (parameters: parameters) => returnType {\n const action_implicit = client[actionFn.name]\n if (typeof action_implicit === 'function') {\n return action_implicit as (params: parameters) => returnType\n }\n\n const action_explicit = client[name]\n if (typeof action_explicit === 'function') {\n return action_explicit as (params: parameters) => returnType\n }\n\n return (params) => actionFn(client, params)\n}\n"],"mappings":";;;;;;;;AAeA,SAAgB,UAUd,QACA,UAIA,MACwC;CACxC,MAAM,kBAAkB,OAAO,SAAS;CACxC,IAAI,OAAO,oBAAoB,YAC7B,OAAO;CAGT,MAAM,kBAAkB,OAAO;CAC/B,IAAI,OAAO,oBAAoB,YAC7B,OAAO;CAGT,QAAQ,WAAW,SAAS,QAAQ,MAAM;AAC5C"}
@@ -1,25 +1,25 @@
1
- import { ChainId, Network } from "../types/chain.js";
2
- import { AddressType } from "../types/address.js";
1
+ import "../types/chain.js";
2
+ import "../types/address.js";
3
3
  import { sha256 } from "@noble/hashes/sha256";
4
4
  import { bech32, bech32m } from "bech32";
5
5
  import bs58 from "bs58";
6
6
  //#region src/utils/getAddressInfo.ts
7
7
  const addressTypes = {
8
8
  0: {
9
- type: AddressType.p2pkh,
10
- network: Network.Mainnet
9
+ type: "p2pkh",
10
+ network: "mainnet"
11
11
  },
12
12
  111: {
13
- type: AddressType.p2pkh,
14
- network: Network.Testnet
13
+ type: "p2pkh",
14
+ network: "testnet"
15
15
  },
16
16
  5: {
17
- type: AddressType.p2sh,
18
- network: Network.Mainnet
17
+ type: "p2sh",
18
+ network: "mainnet"
19
19
  },
20
20
  196: {
21
- type: AddressType.p2sh,
22
- network: Network.Testnet
21
+ type: "p2sh",
22
+ network: "testnet"
23
23
  }
24
24
  };
25
25
  const parseBech32 = (address) => {
@@ -31,18 +31,18 @@ const parseBech32 = (address) => {
31
31
  throw new Error("Invalid address");
32
32
  }
33
33
  const network = {
34
- bc: Network.Mainnet,
35
- tb: Network.Testnet,
36
- bcrt: Network.Regtest
34
+ bc: "mainnet",
35
+ tb: "testnet",
36
+ bcrt: "regtest"
37
37
  }[decoded.prefix];
38
38
  if (network === void 0) throw new Error("Invalid address");
39
39
  const witnessVersion = decoded.words[0];
40
40
  if (witnessVersion < 0 || witnessVersion > 16) throw new Error("Invalid address");
41
41
  const data = bech32.fromWords(decoded.words.slice(1));
42
42
  let type;
43
- if (data.length === 20) type = AddressType.p2wpkh;
44
- else if (witnessVersion === 1) type = AddressType.p2tr;
45
- else type = AddressType.p2wsh;
43
+ if (data.length === 20) type = "p2wpkh";
44
+ else if (witnessVersion === 1) type = "p2tr";
45
+ else type = "p2wsh";
46
46
  const purpose = getAddressPurpose(type);
47
47
  return {
48
48
  bech32: true,
@@ -78,20 +78,20 @@ const getAddressInfo = (address) => {
78
78
  };
79
79
  const getAddressPurpose = (type) => {
80
80
  switch (type) {
81
- case AddressType.p2tr: return "ordinals";
82
- case AddressType.p2wsh: return "stacks";
83
- case AddressType.p2wpkh:
84
- case AddressType.p2sh:
85
- case AddressType.p2pkh: return "payment";
81
+ case "p2tr": return "ordinals";
82
+ case "p2wsh": return "stacks";
83
+ case "p2wpkh":
84
+ case "p2sh":
85
+ case "p2pkh": return "payment";
86
86
  default: throw new Error("Invalid address type");
87
87
  }
88
88
  };
89
89
  const getAddressChainId = (address) => {
90
90
  switch (getAddressInfo(address).network) {
91
- case Network.Mainnet: return ChainId.BITCOIN_MAINNET;
92
- case Network.Testnet: return ChainId.BITCOIN_TESTNET;
93
- case Network.Regtest: return ChainId.BITCOIN_SIGNET;
94
- default: return ChainId.BITCOIN_MAINNET;
91
+ case "mainnet": return "bitcoin:mainnet";
92
+ case "testnet": return "bitcoin:testnet";
93
+ case "regtest": return "bitcoin:signet";
94
+ default: return "bitcoin:mainnet";
95
95
  }
96
96
  };
97
97
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"getAddressInfo.js","names":[],"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,MAAM,YAAY;EAClB,SAAS,QAAQ;EAClB;CACD,KAAK;EACH,MAAM,YAAY;EAClB,SAAS,QAAQ;EAClB;CACD,GAAG;EACD,MAAM,YAAY;EAClB,SAAS,QAAQ;EAClB;CACD,KAAK;EACH,MAAM,YAAY;EAClB,SAAS,QAAQ;EAClB;CACF;AAED,MAAM,eAAe,YAAkC;CACrD,IAAI;AAEJ,KAAI;AACF,MACE,QAAQ,WAAW,OAAO,IAC1B,QAAQ,WAAW,OAAO,IAC1B,QAAQ,WAAW,SAAS,CAE5B,WAAU,QAAQ,OAAO,QAAQ;MAEjC,WAAU,OAAO,OAAO,QAAQ;UAE3B,QAAQ;AACf,QAAM,IAAI,MAAM,kBAAkB;;CASpC,MAAM,UANiD;EACrD,IAAI,QAAQ;EACZ,IAAI,QAAQ;EACZ,MAAM,QAAQ;EACf,CAE2C,QAAQ;AAEpD,KAAI,YAAY,KAAA,EACd,OAAM,IAAI,MAAM,kBAAkB;CAGpC,MAAM,iBAAiB,QAAQ,MAAM;AAErC,KAAI,iBAAiB,KAAK,iBAAiB,GACzC,OAAM,IAAI,MAAM,kBAAkB;CAEpC,MAAM,OAAO,OAAO,UAAU,QAAQ,MAAM,MAAM,EAAE,CAAC;CAErD,IAAI;AACJ,KAAI,KAAK,WAAW,GAClB,QAAO,YAAY;UACV,mBAAmB,EAC5B,QAAO,YAAY;KAEnB,QAAO,YAAY;CAGrB,MAAM,UAAU,kBAAkB,KAAK;AAEvC,QAAO;EACL,QAAQ;EACR;EACA;EACA;EACA;EACD;;AAGH,MAAa,kBAAkB,YAAkC;CAC/D,IAAI;CACJ,MAAM,SAAS,QAAQ,UAAU,GAAG,EAAE,CAAC,aAAa;AAEpD,KAAI,WAAW,QAAQ,WAAW,KAChC,QAAO,YAAY,QAAQ;AAG7B,KAAI;AACF,YAAU,KAAK,OAAO,QAAQ;UACvB,QAAQ;AACf,QAAM,IAAI,MAAM,kBAAkB;;CAGpC,MAAM,EAAE,WAAW;AAEnB,KAAI,WAAW,GACb,OAAM,IAAI,MAAM,kBAAkB;CAGpC,MAAM,UAAU,QAAQ;CAExB,MAAM,WAAW,QAAQ,MAAM,SAAS,GAAG,OAAO;CAGlD,MAAM,mBAAmB,OAAO,OAFnB,QAAQ,MAAM,GAAG,SAAS,EAAE,CAEG,CAAC,CAAC,MAAM,GAAG,EAAE;AAEzD,KACE,SAAS,MACN,OAAe,UAAkB,UAAU,iBAAiB,OAC9D,CAED,OAAM,IAAI,MAAM,kBAAkB;AAKpC,KAAI,CAFkB,OAAO,KAAK,aAAa,CAAC,IAAI,OAAO,CAExC,SAAS,QAAQ,CAClC,OAAM,IAAI,MAAM,kBAAkB;CAGpC,MAAM,cAAc,aAAa;AAEjC,QAAO;EACL,GAAG;EACH;EACA,QAAQ;EACR,SAAS,kBAAkB,YAAY,KAAK;EAC7C;;AAGH,MAAM,qBAAqB,SAAsC;AAC/D,SAAQ,MAAR;EACE,KAAK,YAAY,KACf,QAAO;EACT,KAAK,YAAY,MACf,QAAO;EACT,KAAK,YAAY;EACjB,KAAK,YAAY;EACjB,KAAK,YAAY,MACf,QAAO;EACT,QACE,OAAM,IAAI,MAAM,uBAAuB;;;AAI7C,MAAa,qBAAqB,YAA8B;AAG9D,SAFoB,eAAe,QAAQ,CAEvB,SAApB;EACE,KAAK,QAAQ,QACX,QAAO,QAAQ;EACjB,KAAK,QAAQ,QACX,QAAO,QAAQ;EACjB,KAAK,QAAQ,QACX,QAAO,QAAQ;EACjB,QACE,QAAO,QAAQ"}
1
+ {"version":3,"file":"getAddressInfo.js","names":[],"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,UAAU,QAAQ,OAAO,OAAO;OAEhC,UAAU,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,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,KAAK,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,mBAAmB,OAAO,OAFnB,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 +1 @@
1
- {"version":3,"file":"idCache.js","names":[],"sources":["../../../src/utils/idCache.ts"],"sourcesContent":["function createIdStore() {\n return {\n current: 0,\n take() {\n return this.current++\n },\n reset() {\n this.current = 0\n },\n }\n}\n\nexport const idCache: { current: number; take(): number; reset(): void } =\n createIdStore()\n"],"mappings":";AAAA,SAAS,gBAAgB;AACvB,QAAO;EACL,SAAS;EACT,OAAO;AACL,UAAO,KAAK;;EAEd,QAAQ;AACN,QAAK,UAAU;;EAElB;;AAGH,MAAa,UACX,eAAe"}
1
+ {"version":3,"file":"idCache.js","names":[],"sources":["../../../src/utils/idCache.ts"],"sourcesContent":["function createIdStore() {\n return {\n current: 0,\n take() {\n return this.current++\n },\n reset() {\n this.current = 0\n },\n }\n}\n\nexport const idCache: { current: number; take(): number; reset(): void } =\n createIdStore()\n"],"mappings":";AAAA,SAAS,gBAAgB;CACvB,OAAO;EACL,SAAS;EACT,OAAO;GACL,OAAO,KAAK;EACd;EACA,QAAQ;GACN,KAAK,UAAU;EACjB;CACF;AACF;AAEA,MAAa,UACX,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"isAddress.js","names":[],"sources":["../../../src/utils/isAddress.ts"],"sourcesContent":["import type { Address } from '../types/address.js'\nimport type { Network } from '../types/chain.js'\nimport { getAddressInfo } from './getAddressInfo.js'\n\nexport const isAddress = (address: string, network?: Network): boolean => {\n try {\n const addressInfo = getAddressInfo(address as Address)\n\n if (network) {\n return network === addressInfo.network\n }\n\n return true\n } catch (_error) {\n return false\n }\n}\n"],"mappings":";;AAIA,MAAa,aAAa,SAAiB,YAA+B;AACxE,KAAI;EACF,MAAM,cAAc,eAAe,QAAmB;AAEtD,MAAI,QACF,QAAO,YAAY,YAAY;AAGjC,SAAO;UACA,QAAQ;AACf,SAAO"}
1
+ {"version":3,"file":"isAddress.js","names":[],"sources":["../../../src/utils/isAddress.ts"],"sourcesContent":["import type { Address } from '../types/address.js'\nimport type { Network } from '../types/chain.js'\nimport { getAddressInfo } from './getAddressInfo.js'\n\nexport const isAddress = (address: string, network?: Network): boolean => {\n try {\n const addressInfo = getAddressInfo(address as Address)\n\n if (network) {\n return network === addressInfo.network\n }\n\n return true\n } catch (_error) {\n return false\n }\n}\n"],"mappings":";;AAIA,MAAa,aAAa,SAAiB,YAA+B;CACxE,IAAI;EACF,MAAM,cAAc,eAAe,OAAkB;EAErD,IAAI,SACF,OAAO,YAAY,YAAY;EAGjC,OAAO;CACT,SAAS,QAAQ;EACf,OAAO;CACT;AACF"}
@@ -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;AACxB,SAAO;AACP,OAAK,UAAU;;CAGjB,IAAa,KAAgC;EAC3C,MAAM,QAAQ,MAAM,IAAI,IAAI;AAE5B,MAAI,MAAM,IAAI,IAAI,IAAI,UAAU,KAAA,GAAW;AACzC,QAAK,OAAO,IAAI;AAChB,SAAM,IAAI,KAAK,MAAM;;AAGvB,SAAO;;CAGT,IAAa,KAAa,OAAoB;AAC5C,QAAM,IAAI,KAAK,MAAM;AACrB,MAAI,KAAK,WAAW,KAAK,OAAO,KAAK,SAAS;GAC5C,MAAM,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC;AACpC,OAAI,SACF,MAAK,OAAO,SAAS;;AAGzB,SAAO"}
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 +1 @@
1
- {"version":3,"file":"modifyFee.js","names":[],"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,IAAI,MAAM;CAC1B,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,UAAU,KAAK;AAGrB,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,MAAM,QAAQ,OAAO;EACrB,MAAM,YAAuB;GAC3B,MAAM,KAAK,SAAS,GAAG;GACvB,OAAO,KAAK,SAAS,GAAG;GACzB;AAGD,MAAI,MAAM,eACR,WAAU,iBAAiB,MAAM;WACxB,MAAM,YACf,WAAU,cAAc,MAAM;AAIhC,MAAI,MAAM,aACR,WAAU,eAAe,MAAM;AAEjC,MAAI,MAAM,cACR,WAAU,gBAAgB,MAAM;AAGlC,UAAQ,SAAS,UAAU;;CAG7B,MAAM,qBAAqB,QAAQ,eAAe,eAAe;AAGjE,MAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,aAAa;GACjB,QAAQ,OAAO;GACf,OAAO,OAAO;GACf;AAMD,MAHE,OAAO,OAAO,WAAW,mBAAmB,UAC5C,OAAO,OAAO,OAAO,OAAO,UAAU,UAAU,mBAAmB,OAAO,EAEvD;AACnB,cAAW,QAAQ,OAAO,QAAQ;AAClC,OAAI,WAAW,QAAQ,EACrB,OAAM,IAAI,MACR,gEACD;;AAIL,UAAQ,UAAU,WAAW;;AAI/B,SAAQ,SAAS,SAAS,GAAG,UAAU;AAErC,UAAQ,iBAAiB,OAAO,WAAW;GAC3C;AAEF,QAAO"}
1
+ {"version":3,"file":"modifyFee.js","names":[],"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,IAAI,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,qBAAqB,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 +1 @@
1
- {"version":3,"file":"observe.d.ts","names":[],"sources":["../../../src/utils/observe.ts"],"mappings":";;;KAEK,QAAA,QAAgB,IAAA;AAAA,KAChB,SAAA,GAAY,MAAA,SAAe,QAAA;AAHE;AAAA,cAMrB,cAAA,EAAgB,GAAA;EAAc,EAAA;EAAY,GAAA,EAAK,SAAA;AAAA;AAJvC;AAAA,cAOR,YAAA,EAAc,GAAA;AAAA,KAEtB,YAAA,mBAA+B,SAAA,KAClC,IAAA,EAAM,SAAA,KACH,YAAA;;;AAPL;;;iBAgBgB,OAAA,mBAA0B,SAAA,CAAA,CACxC,UAAA,UACA,SAAA,EAAW,SAAA,EACX,EAAA,EAAI,YAAA,CAAa,SAAA"}
1
+ {"version":3,"file":"observe.d.ts","names":[],"sources":["../../../src/utils/observe.ts"],"mappings":";;;KAEK,QAAA,QAAgB,IAAA;AAAA,KAChB,SAAA,GAAY,MAAA,SAAe,QAAA;AAHE;AAAA,cAMrB,cAAA,EAAgB,GAAA;EAAc,EAAA;EAAY,GAAA,EAAK,SAAA;AAAA;AAJvC;AAAA,cAOR,YAAA,EAAc,GAAA;AAAA,KAEtB,YAAA,mBAA+B,SAAA,KAClC,IAAA,EAAM,SAAA,KACH,YAAA;;AAV2B;AAGhC;;;iBAgBgB,OAAA,mBAA0B,SAAA,EACxC,UAAA,UACA,SAAA,EAAW,SAAA,EACX,EAAA,EAAI,YAAA,CAAa,SAAA"}
@@ -1,8 +1,8 @@
1
1
  //#region src/utils/observe.ts
2
2
  /** @internal */
3
- const listenersCache = /* @__PURE__ */ new Map();
3
+ const listenersCache = /*#__PURE__*/ new Map();
4
4
  /** @internal */
5
- const cleanupCache = /* @__PURE__ */ new Map();
5
+ const cleanupCache = /*#__PURE__*/ new Map();
6
6
  let callbackCount = 0;
7
7
  /**
8
8
  * @description Sets up an observer for a given function. If another function
@@ -1 +1 @@
1
- {"version":3,"file":"observe.js","names":[],"sources":["../../../src/utils/observe.ts"],"sourcesContent":["import type { MaybePromise } from '../types/utils.js'\n\ntype Callback = ((...args: any[]) => any) | undefined\ntype Callbacks = Record<string, Callback>\n\n/** @internal */\nexport const listenersCache: Map<string, { id: number; fns: Callbacks }[]> =\n /*#__PURE__*/ new Map()\n/** @internal */\nexport const cleanupCache: Map<string, () => void> = /*#__PURE__*/ new Map()\n\ntype EmitFunction<callbacks extends Callbacks> = (\n emit: callbacks\n) => MaybePromise<void | (() => void)>\n\nlet callbackCount = 0\n\n/**\n * @description Sets up an observer for a given function. If another function\n * is set up under the same observer id, the function will only be called once\n * for both instances of the observer.\n */\nexport function observe<callbacks extends Callbacks>(\n observerId: string,\n callbacks: callbacks,\n fn: EmitFunction<callbacks>\n): () => void {\n const callbackId = ++callbackCount\n\n const getListeners = () => listenersCache.get(observerId) || []\n\n const unsubscribe = () => {\n const listeners = getListeners()\n listenersCache.set(\n observerId,\n listeners.filter((cb: any) => cb.id !== callbackId)\n )\n }\n\n const unwatch = () => {\n const cleanup = cleanupCache.get(observerId)\n if (getListeners().length === 1 && cleanup) {\n cleanup()\n }\n unsubscribe()\n }\n\n const listeners = getListeners()\n listenersCache.set(observerId, [\n ...listeners,\n { id: callbackId, fns: callbacks },\n ])\n\n if (listeners && listeners.length > 0) {\n return unwatch\n }\n\n const emit: callbacks = {} as callbacks\n for (const key in callbacks) {\n emit[key] = ((\n ...args: Parameters<NonNullable<callbacks[keyof callbacks]>>\n ) => {\n const listeners = getListeners()\n if (listeners.length === 0) {\n return\n }\n for (const listener of listeners) {\n listener.fns[key]?.(...args)\n }\n }) as callbacks[Extract<keyof callbacks, string>]\n }\n\n const cleanup = fn(emit)\n if (typeof cleanup === 'function') {\n cleanupCache.set(observerId, cleanup)\n }\n\n return unwatch\n}\n"],"mappings":";;AAMA,MAAa,iCACG,IAAI,KAAK;;AAEzB,MAAa,+BAAsD,IAAI,KAAK;AAM5E,IAAI,gBAAgB;;;;;;AAOpB,SAAgB,QACd,YACA,WACA,IACY;CACZ,MAAM,aAAa,EAAE;CAErB,MAAM,qBAAqB,eAAe,IAAI,WAAW,IAAI,EAAE;CAE/D,MAAM,oBAAoB;EACxB,MAAM,YAAY,cAAc;AAChC,iBAAe,IACb,YACA,UAAU,QAAQ,OAAY,GAAG,OAAO,WAAW,CACpD;;CAGH,MAAM,gBAAgB;EACpB,MAAM,UAAU,aAAa,IAAI,WAAW;AAC5C,MAAI,cAAc,CAAC,WAAW,KAAK,QACjC,UAAS;AAEX,eAAa;;CAGf,MAAM,YAAY,cAAc;AAChC,gBAAe,IAAI,YAAY,CAC7B,GAAG,WACH;EAAE,IAAI;EAAY,KAAK;EAAW,CACnC,CAAC;AAEF,KAAI,aAAa,UAAU,SAAS,EAClC,QAAO;CAGT,MAAM,OAAkB,EAAE;AAC1B,MAAK,MAAM,OAAO,UAChB,MAAK,SACH,GAAG,SACA;EACH,MAAM,YAAY,cAAc;AAChC,MAAI,UAAU,WAAW,EACvB;AAEF,OAAK,MAAM,YAAY,UACrB,UAAS,IAAI,OAAO,GAAG,KAAK;;CAKlC,MAAM,UAAU,GAAG,KAAK;AACxB,KAAI,OAAO,YAAY,WACrB,cAAa,IAAI,YAAY,QAAQ;AAGvC,QAAO"}
1
+ {"version":3,"file":"observe.js","names":[],"sources":["../../../src/utils/observe.ts"],"sourcesContent":["import type { MaybePromise } from '../types/utils.js'\n\ntype Callback = ((...args: any[]) => any) | undefined\ntype Callbacks = Record<string, Callback>\n\n/** @internal */\nexport const listenersCache: Map<string, { id: number; fns: Callbacks }[]> =\n /*#__PURE__*/ new Map()\n/** @internal */\nexport const cleanupCache: Map<string, () => void> = /*#__PURE__*/ new Map()\n\ntype EmitFunction<callbacks extends Callbacks> = (\n emit: callbacks\n) => MaybePromise<void | (() => void)>\n\nlet callbackCount = 0\n\n/**\n * @description Sets up an observer for a given function. If another function\n * is set up under the same observer id, the function will only be called once\n * for both instances of the observer.\n */\nexport function observe<callbacks extends Callbacks>(\n observerId: string,\n callbacks: callbacks,\n fn: EmitFunction<callbacks>\n): () => void {\n const callbackId = ++callbackCount\n\n const getListeners = () => listenersCache.get(observerId) || []\n\n const unsubscribe = () => {\n const listeners = getListeners()\n listenersCache.set(\n observerId,\n listeners.filter((cb: any) => cb.id !== callbackId)\n )\n }\n\n const unwatch = () => {\n const cleanup = cleanupCache.get(observerId)\n if (getListeners().length === 1 && cleanup) {\n cleanup()\n }\n unsubscribe()\n }\n\n const listeners = getListeners()\n listenersCache.set(observerId, [\n ...listeners,\n { id: callbackId, fns: callbacks },\n ])\n\n if (listeners && listeners.length > 0) {\n return unwatch\n }\n\n const emit: callbacks = {} as callbacks\n for (const key in callbacks) {\n emit[key] = ((\n ...args: Parameters<NonNullable<callbacks[keyof callbacks]>>\n ) => {\n const listeners = getListeners()\n if (listeners.length === 0) {\n return\n }\n for (const listener of listeners) {\n listener.fns[key]?.(...args)\n }\n }) as callbacks[Extract<keyof callbacks, string>]\n }\n\n const cleanup = fn(emit)\n if (typeof cleanup === 'function') {\n cleanupCache.set(observerId, cleanup)\n }\n\n return unwatch\n}\n"],"mappings":";;AAMA,MAAa,+BACG,IAAI,IAAI;;AAExB,MAAa,6BAAsD,IAAI,IAAI;AAM3E,IAAI,gBAAgB;;;;;;AAOpB,SAAgB,QACd,YACA,WACA,IACY;CACZ,MAAM,aAAa,EAAE;CAErB,MAAM,qBAAqB,eAAe,IAAI,UAAU,KAAK,CAAC;CAE9D,MAAM,oBAAoB;EACxB,MAAM,YAAY,aAAa;EAC/B,eAAe,IACb,YACA,UAAU,QAAQ,OAAY,GAAG,OAAO,UAAU,CACpD;CACF;CAEA,MAAM,gBAAgB;EACpB,MAAM,UAAU,aAAa,IAAI,UAAU;EAC3C,IAAI,aAAa,EAAE,WAAW,KAAK,SACjC,QAAQ;EAEV,YAAY;CACd;CAEA,MAAM,YAAY,aAAa;CAC/B,eAAe,IAAI,YAAY,CAC7B,GAAG,WACH;EAAE,IAAI;EAAY,KAAK;CAAU,CACnC,CAAC;CAED,IAAI,aAAa,UAAU,SAAS,GAClC,OAAO;CAGT,MAAM,OAAkB,CAAC;CACzB,KAAK,MAAM,OAAO,WAChB,KAAK,SACH,GAAG,SACA;EACH,MAAM,YAAY,aAAa;EAC/B,IAAI,UAAU,WAAW,GACvB;EAEF,KAAK,MAAM,YAAY,WACrB,SAAS,IAAI,OAAO,GAAG,IAAI;CAE/B;CAGF,MAAM,UAAU,GAAG,IAAI;CACvB,IAAI,OAAO,YAAY,YACrB,aAAa,IAAI,YAAY,OAAO;CAGtC,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseAccount.d.ts","names":[],"sources":["../../../src/utils/parseAccount.ts"],"mappings":";;;;;KAIY,qBAAA,GAAwB,SAAA;AAAA,iBAEpB,YAAA,0BAAsC,OAAA,GAAU,OAAA,CAAA,CAC9D,OAAA,EAAS,gBAAA,GACR,gBAAA,SAAyB,OAAA,GAAU,OAAA,GAAU,gBAAA"}
1
+ {"version":3,"file":"parseAccount.d.ts","names":[],"sources":["../../../src/utils/parseAccount.ts"],"mappings":";;;;;KAIY,qBAAA,GAAwB,SAAA;AAAA,iBAEpB,YAAA,0BAAsC,OAAA,GAAU,OAAA,EAC9D,OAAA,EAAS,gBAAA,GACR,gBAAA,SAAyB,OAAA,GAAU,OAAA,GAAU,gBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseAccount.js","names":[],"sources":["../../../src/utils/parseAccount.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\nimport type { Account } from '../types/account.js'\nimport type { Address } from '../types/address.js'\n\nexport type ParseAccountErrorType = ErrorType\n\nexport function parseAccount<accountOrAddress extends Address | Account>(\n account: accountOrAddress\n): accountOrAddress extends Address ? Account : accountOrAddress {\n if (typeof account === 'string') {\n return { address: account, type: 'json-rpc' } as any\n }\n return account as any\n}\n"],"mappings":";AAMA,SAAgB,aACd,SAC+D;AAC/D,KAAI,OAAO,YAAY,SACrB,QAAO;EAAE,SAAS;EAAS,MAAM;EAAY;AAE/C,QAAO"}
1
+ {"version":3,"file":"parseAccount.js","names":[],"sources":["../../../src/utils/parseAccount.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\nimport type { Account } from '../types/account.js'\nimport type { Address } from '../types/address.js'\n\nexport type ParseAccountErrorType = ErrorType\n\nexport function parseAccount<accountOrAddress extends Address | Account>(\n account: accountOrAddress\n): accountOrAddress extends Address ? Account : accountOrAddress {\n if (typeof account === 'string') {\n return { address: account, type: 'json-rpc' } as any\n }\n return account as any\n}\n"],"mappings":";AAMA,SAAgB,aACd,SAC+D;CAC/D,IAAI,OAAO,YAAY,UACrB,OAAO;EAAE,SAAS;EAAS,MAAM;CAAW;CAE9C,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"poll.d.ts","names":[],"sources":["../../../src/utils/poll.ts"],"mappings":";KAEK,WAAA;EAEH,WAAA;EAEA,eAAA,KAAoB,IAAA,EAAM,CAAA,iBAAkB,OAAA;EAE5C,QAAA;AAAA;;;;iBAMc,IAAA,GAAA,CACd,EAAA;EAAO;AAAA;EAAY,MAAA;AAAA,MAAyB,OAAA,CAAQ,CAAA;EAClD,WAAA;EAAa,eAAA;EAAiB;AAAA,GAAY,WAAA,CAAY,CAAA"}
1
+ {"version":3,"file":"poll.d.ts","names":[],"sources":["../../../src/utils/poll.ts"],"mappings":";KAEK,WAAA;EAEH,WAAA;EAEA,eAAA,KAAoB,IAAA,EAAM,CAAA,iBAAkB,OAAA;EAE5C,QAAA;AAAA;;;;iBAMc,IAAA,IACd,EAAA;EAAO;AAAA;EAAY,MAAA;AAAA,MAAyB,OAAA,CAAQ,CAAA;EAClD,WAAA;EAAa,eAAA;EAAiB;AAAA,GAAY,WAAA,CAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","names":[],"sources":["../../../src/utils/poll.ts"],"sourcesContent":["import { sleep } from './sleep.js'\n\ntype PollOptions<T> = {\n // Whether or not to emit when the polling starts.\n emitOnBegin?: boolean | undefined\n // The initial wait time (in ms) before polling.\n initialWaitTime?: ((data: T | undefined) => Promise<number>) | undefined\n // The interval (in ms).\n interval: number\n}\n\n/**\n * @description Polls a function at a specified interval.\n */\nexport function poll<T>(\n fn: ({ unpoll }: { unpoll: () => void }) => Promise<T | undefined>,\n { emitOnBegin, initialWaitTime, interval }: PollOptions<T>\n): () => void {\n let active = true\n\n const unwatch = () => {\n active = false\n }\n\n const watch = async () => {\n let data: T | undefined\n if (emitOnBegin) {\n data = await fn({ unpoll: unwatch })\n }\n\n const initialWait = (await initialWaitTime?.(data)) ?? interval\n await sleep(initialWait)\n\n const poll = async () => {\n if (!active) {\n return\n }\n await fn({ unpoll: unwatch })\n await sleep(interval)\n poll()\n }\n\n poll()\n }\n watch()\n\n return unwatch\n}\n"],"mappings":";;;;;AAcA,SAAgB,KACd,IACA,EAAE,aAAa,iBAAiB,YACpB;CACZ,IAAI,SAAS;CAEb,MAAM,gBAAgB;AACpB,WAAS;;CAGX,MAAM,QAAQ,YAAY;EACxB,IAAI;AACJ,MAAI,YACF,QAAO,MAAM,GAAG,EAAE,QAAQ,SAAS,CAAC;AAItC,QAAM,MADe,MAAM,kBAAkB,KAAK,IAAK,SAC/B;EAExB,MAAM,OAAO,YAAY;AACvB,OAAI,CAAC,OACH;AAEF,SAAM,GAAG,EAAE,QAAQ,SAAS,CAAC;AAC7B,SAAM,MAAM,SAAS;AACrB,SAAM;;AAGR,QAAM;;AAER,QAAO;AAEP,QAAO"}
1
+ {"version":3,"file":"poll.js","names":[],"sources":["../../../src/utils/poll.ts"],"sourcesContent":["import { sleep } from './sleep.js'\n\ntype PollOptions<T> = {\n // Whether or not to emit when the polling starts.\n emitOnBegin?: boolean | undefined\n // The initial wait time (in ms) before polling.\n initialWaitTime?: ((data: T | undefined) => Promise<number>) | undefined\n // The interval (in ms).\n interval: number\n}\n\n/**\n * @description Polls a function at a specified interval.\n */\nexport function poll<T>(\n fn: ({ unpoll }: { unpoll: () => void }) => Promise<T | undefined>,\n { emitOnBegin, initialWaitTime, interval }: PollOptions<T>\n): () => void {\n let active = true\n\n const unwatch = () => {\n active = false\n }\n\n const watch = async () => {\n let data: T | undefined\n if (emitOnBegin) {\n data = await fn({ unpoll: unwatch })\n }\n\n const initialWait = (await initialWaitTime?.(data)) ?? interval\n await sleep(initialWait)\n\n const poll = async () => {\n if (!active) {\n return\n }\n await fn({ unpoll: unwatch })\n await sleep(interval)\n poll()\n }\n\n poll()\n }\n watch()\n\n return unwatch\n}\n"],"mappings":";;;;;AAcA,SAAgB,KACd,IACA,EAAE,aAAa,iBAAiB,YACpB;CACZ,IAAI,SAAS;CAEb,MAAM,gBAAgB;EACpB,SAAS;CACX;CAEA,MAAM,QAAQ,YAAY;EACxB,IAAI;EACJ,IAAI,aACF,OAAO,MAAM,GAAG,EAAE,QAAQ,QAAQ,CAAC;EAIrC,MAAM,MADe,MAAM,kBAAkB,IAAI,KAAM,QAChC;EAEvB,MAAM,OAAO,YAAY;GACvB,IAAI,CAAC,QACH;GAEF,MAAM,GAAG,EAAE,QAAQ,QAAQ,CAAC;GAC5B,MAAM,MAAM,QAAQ;GACpB,KAAK;EACP;EAEA,KAAK;CACP;CACA,MAAM;CAEN,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"retryUntil.d.ts","names":[],"sources":["../../../src/utils/retryUntil.ts"],"mappings":";;AAiBA;;;;;;;;;;;;;;iBAAsB,UAAA,GAAA,CACpB,SAAA,QAAiB,OAAA,CAAQ,CAAA,8BACzB,OAAA;+DAEE,OAAA;EAEA,QAAA;AAAA,IAED,OAAA,CAAQ,CAAA"}
1
+ {"version":3,"file":"retryUntil.d.ts","names":[],"sources":["../../../src/utils/retryUntil.ts"],"mappings":";;AAiBA;;;;;;;;;;;;;;iBAAsB,UAAA,IACpB,SAAA,QAAiB,OAAA,CAAQ,CAAA,8BACzB,OAAA;+DAEE,OAAA;EAEA,QAAA;AAAA,IAED,OAAA,CAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"retryUntil.js","names":[],"sources":["../../../src/utils/retryUntil.ts"],"sourcesContent":["import { withRetry } from './withRetry.js'\n\n/**\n * Retries a condition until it's met or timeout is reached.\n * Polls the condition function at regular intervals.\n *\n * @param condition - Function that returns a truthy value when condition is met\n * @param options - Configuration options for retry behavior\n * @returns Promise that resolves to the condition result or undefined if timeout\n *\n * @example\n * // Wait for a value to become available\n * const value = await retryUntil(\n * async () => await checkCondition(),\n * { timeout: 5000, interval: 100 }\n * )\n */\nexport async function retryUntil<T>(\n condition: () => Promise<T | undefined | null | false>,\n options: {\n /** Maximum time to wait in milliseconds (default: 5000ms) */\n timeout?: number\n /** Interval between checks in milliseconds (default: 100ms) */\n interval?: number\n } = {}\n): Promise<T | undefined> {\n const { timeout = 5000, interval = 100 } = options\n const retryCount = Math.ceil(timeout / interval) - 1 // -1 because first attempt is immediate\n\n return Promise.race([\n // The retry logic\n withRetry(\n async () => {\n const result = await condition()\n if (!result) {\n throw new Error('Condition not met')\n }\n return result\n },\n {\n delay: interval,\n retryCount,\n shouldRetry: ({ error }) => error.message === 'Condition not met',\n }\n ).catch(() => undefined),\n\n // Timeout fallback\n new Promise<undefined>((resolve) => {\n setTimeout(() => resolve(undefined), timeout)\n }),\n ])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,eAAsB,WACpB,WACA,UAKI,EAAE,EACkB;CACxB,MAAM,EAAE,UAAU,KAAM,WAAW,QAAQ;CAC3C,MAAM,aAAa,KAAK,KAAK,UAAU,SAAS,GAAG;AAEnD,QAAO,QAAQ,KAAK,CAElB,UACE,YAAY;EACV,MAAM,SAAS,MAAM,WAAW;AAChC,MAAI,CAAC,OACH,OAAM,IAAI,MAAM,oBAAoB;AAEtC,SAAO;IAET;EACE,OAAO;EACP;EACA,cAAc,EAAE,YAAY,MAAM,YAAY;EAC/C,CACF,CAAC,YAAY,KAAA,EAAU,EAGxB,IAAI,SAAoB,YAAY;AAClC,mBAAiB,QAAQ,KAAA,EAAU,EAAE,QAAQ;GAC7C,CACH,CAAC"}
1
+ {"version":3,"file":"retryUntil.js","names":[],"sources":["../../../src/utils/retryUntil.ts"],"sourcesContent":["import { withRetry } from './withRetry.js'\n\n/**\n * Retries a condition until it's met or timeout is reached.\n * Polls the condition function at regular intervals.\n *\n * @param condition - Function that returns a truthy value when condition is met\n * @param options - Configuration options for retry behavior\n * @returns Promise that resolves to the condition result or undefined if timeout\n *\n * @example\n * // Wait for a value to become available\n * const value = await retryUntil(\n * async () => await checkCondition(),\n * { timeout: 5000, interval: 100 }\n * )\n */\nexport async function retryUntil<T>(\n condition: () => Promise<T | undefined | null | false>,\n options: {\n /** Maximum time to wait in milliseconds (default: 5000ms) */\n timeout?: number\n /** Interval between checks in milliseconds (default: 100ms) */\n interval?: number\n } = {}\n): Promise<T | undefined> {\n const { timeout = 5000, interval = 100 } = options\n const retryCount = Math.ceil(timeout / interval) - 1 // -1 because first attempt is immediate\n\n return Promise.race([\n // The retry logic\n withRetry(\n async () => {\n const result = await condition()\n if (!result) {\n throw new Error('Condition not met')\n }\n return result\n },\n {\n delay: interval,\n retryCount,\n shouldRetry: ({ error }) => error.message === 'Condition not met',\n }\n ).catch(() => undefined),\n\n // Timeout fallback\n new Promise<undefined>((resolve) => {\n setTimeout(() => resolve(undefined), timeout)\n }),\n ])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,eAAsB,WACpB,WACA,UAKI,CAAC,GACmB;CACxB,MAAM,EAAE,UAAU,KAAM,WAAW,QAAQ;CAC3C,MAAM,aAAa,KAAK,KAAK,UAAU,QAAQ,IAAI;CAEnD,OAAO,QAAQ,KAAK,CAElB,UACE,YAAY;EACV,MAAM,SAAS,MAAM,UAAU;EAC/B,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,mBAAmB;EAErC,OAAO;CACT,GACA;EACE,OAAO;EACP;EACA,cAAc,EAAE,YAAY,MAAM,YAAY;CAChD,CACF,EAAE,YAAY,KAAA,CAAS,GAGvB,IAAI,SAAoB,YAAY;EAClC,iBAAiB,QAAQ,KAAA,CAAS,GAAG,OAAO;CAC9C,CAAC,CACH,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","names":[],"sources":["../../../src/utils/sleep.ts"],"sourcesContent":["export function sleep(ms: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(() => resolve(null), ms)\n })\n}\n"],"mappings":";AAAA,SAAgB,MAAM,IAA2B;AAC/C,QAAO,IAAI,SAAS,YAAY;AAC9B,mBAAiB,QAAQ,KAAK,EAAE,GAAG;GACnC"}
1
+ {"version":3,"file":"sleep.js","names":[],"sources":["../../../src/utils/sleep.ts"],"sourcesContent":["export function sleep(ms: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(() => resolve(null), ms)\n })\n}\n"],"mappings":";AAAA,SAAgB,MAAM,IAA2B;CAC/C,OAAO,IAAI,SAAS,YAAY;EAC9B,iBAAiB,QAAQ,IAAI,GAAG,EAAE;CACpC,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","names":[],"sources":["../../../src/utils/stringify.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\n\nexport type StringifyErrorType = ErrorType\n\nexport const stringify: typeof JSON.stringify = (value, replacer, space) =>\n JSON.stringify(\n value,\n (key, value_) => {\n const value = typeof value_ === 'bigint' ? value_.toString() : value_\n return typeof replacer === 'function' ? replacer(key, value) : value\n },\n space\n )\n"],"mappings":";AAIA,MAAa,aAAoC,OAAO,UAAU,UAChE,KAAK,UACH,QACC,KAAK,WAAW;CACf,MAAM,QAAQ,OAAO,WAAW,WAAW,OAAO,UAAU,GAAG;AAC/D,QAAO,OAAO,aAAa,aAAa,SAAS,KAAK,MAAM,GAAG;GAEjE,MACD"}
1
+ {"version":3,"file":"stringify.js","names":[],"sources":["../../../src/utils/stringify.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\n\nexport type StringifyErrorType = ErrorType\n\nexport const stringify: typeof JSON.stringify = (value, replacer, space) =>\n JSON.stringify(\n value,\n (key, value_) => {\n const value = typeof value_ === 'bigint' ? value_.toString() : value_\n return typeof replacer === 'function' ? replacer(key, value) : value\n },\n space\n )\n"],"mappings":";AAIA,MAAa,aAAoC,OAAO,UAAU,UAChE,KAAK,UACH,QACC,KAAK,WAAW;CACf,MAAM,QAAQ,OAAO,WAAW,WAAW,OAAO,SAAS,IAAI;CAC/D,OAAO,OAAO,aAAa,aAAa,SAAS,KAAK,KAAK,IAAI;AACjE,GACA,KACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"uid.js","names":[],"sources":["../../../src/utils/uid.ts"],"sourcesContent":["const size = 256\nlet index = size\nlet buffer: string\n\nexport function uid(length = 11): string {\n if (!buffer || index + length > size * 2) {\n buffer = ''\n index = 0\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)\n }\n }\n return buffer.substring(index, index++ + length)\n}\n"],"mappings":";AAAA,MAAM,OAAO;AACb,IAAI,QAAQ;AACZ,IAAI;AAEJ,SAAgB,IAAI,SAAS,IAAY;AACvC,KAAI,CAAC,UAAU,QAAQ,SAAS,OAAO,GAAG;AACxC,WAAS;AACT,UAAQ;AACR,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,IACxB,YAAY,MAAM,KAAK,QAAQ,GAAG,MAAO,GAAG,SAAS,GAAG,CAAC,UAAU,EAAE;;AAGzE,QAAO,OAAO,UAAU,OAAO,UAAU,OAAO"}
1
+ {"version":3,"file":"uid.js","names":[],"sources":["../../../src/utils/uid.ts"],"sourcesContent":["const size = 256\nlet index = size\nlet buffer: string\n\nexport function uid(length = 11): string {\n if (!buffer || index + length > size * 2) {\n buffer = ''\n index = 0\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)\n }\n }\n return buffer.substring(index, index++ + length)\n}\n"],"mappings":";AAAA,MAAM,OAAO;AACb,IAAI,QAAQ;AACZ,IAAI;AAEJ,SAAgB,IAAI,SAAS,IAAY;CACvC,IAAI,CAAC,UAAU,QAAQ,SAAS,OAAO,GAAG;EACxC,SAAS;EACT,QAAQ;EACR,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,KACxB,WAAY,MAAM,KAAK,OAAO,IAAI,MAAO,GAAG,SAAS,EAAE,EAAE,UAAU,CAAC;CAExE;CACA,OAAO,OAAO,UAAU,OAAO,UAAU,MAAM;AACjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","names":[],"sources":["../../../src/utils/url.ts"],"sourcesContent":["export const urlWithParams = (\n url: string,\n params: Record<string, string | number | undefined>\n): string => {\n const _url = new URL(url)\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined) {\n _url.searchParams.set(key, String(value))\n }\n })\n return decodeURIComponent(_url.toString())\n}\n"],"mappings":";AAAA,MAAa,iBACX,KACA,WACW;CACX,MAAM,OAAO,IAAI,IAAI,IAAI;AACzB,QAAO,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,WAAW;AAC/C,MAAI,UAAU,KAAA,EACZ,MAAK,aAAa,IAAI,KAAK,OAAO,MAAM,CAAC;GAE3C;AACF,QAAO,mBAAmB,KAAK,UAAU,CAAC"}
1
+ {"version":3,"file":"url.js","names":[],"sources":["../../../src/utils/url.ts"],"sourcesContent":["export const urlWithParams = (\n url: string,\n params: Record<string, string | number | undefined>\n): string => {\n const _url = new URL(url)\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined) {\n _url.searchParams.set(key, String(value))\n }\n })\n return decodeURIComponent(_url.toString())\n}\n"],"mappings":";AAAA,MAAa,iBACX,KACA,WACW;CACX,MAAM,OAAO,IAAI,IAAI,GAAG;CACxB,OAAO,QAAQ,MAAM,EAAE,SAAS,CAAC,KAAK,WAAW;EAC/C,IAAI,UAAU,KAAA,GACZ,KAAK,aAAa,IAAI,KAAK,OAAO,KAAK,CAAC;CAE5C,CAAC;CACD,OAAO,mBAAmB,KAAK,SAAS,CAAC;AAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","names":[],"sources":["../../../src/utils/wait.ts"],"sourcesContent":["export async function wait(time: number): Promise<void> {\n return new Promise((res) => setTimeout(res, time))\n}\n"],"mappings":";AAAA,eAAsB,KAAK,MAA6B;AACtD,QAAO,IAAI,SAAS,QAAQ,WAAW,KAAK,KAAK,CAAC"}
1
+ {"version":3,"file":"wait.js","names":[],"sources":["../../../src/utils/wait.ts"],"sourcesContent":["export async function wait(time: number): Promise<void> {\n return new Promise((res) => setTimeout(res, time))\n}\n"],"mappings":";AAAA,eAAsB,KAAK,MAA6B;CACtD,OAAO,IAAI,SAAS,QAAQ,WAAW,KAAK,IAAI,CAAC;AACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"withDedupe.d.ts","names":[],"sources":["../../../src/utils/withDedupe.ts"],"mappings":";;;;cAGa,YAAA,EAAc,MAAA,CAAO,OAAA;AAAA,KAE7B,iBAAA;EACH,OAAA;EACA,EAAA;AAAA;;iBAIc,UAAA,MAAA,CACd,EAAA,QAAU,OAAA,CAAQ,IAAA;EAChB,OAAA;EAAgB;AAAA,GAAM,iBAAA,GACvB,OAAA,CAAQ,IAAA"}
1
+ {"version":3,"file":"withDedupe.d.ts","names":[],"sources":["../../../src/utils/withDedupe.ts"],"mappings":";;;;cAGa,YAAA,EAAc,MAAA,CAAO,OAAA;AAAA,KAE7B,iBAAA;EACH,OAAA;EACA,EAAA;AAAA;AAJgC;AAAA,iBAQlB,UAAA,OACd,EAAA,QAAU,OAAA,CAAQ,IAAA;EAChB,OAAA;EAAgB;AAAA,GAAM,iBAAA,GACvB,OAAA,CAAQ,IAAA"}
@@ -1,7 +1,7 @@
1
1
  import { LruMap } from "./lru.js";
2
2
  //#region src/utils/withDedupe.ts
3
3
  /** @internal */
4
- const promiseCache = /* @__PURE__ */ new LruMap(8192);
4
+ const promiseCache = /*#__PURE__*/ new LruMap(8192);
5
5
  /** Deduplicates in-flight promises. */
6
6
  function withDedupe(fn, { enabled = true, id }) {
7
7
  if (!enabled || !id) return fn();
@@ -1 +1 @@
1
- {"version":3,"file":"withDedupe.js","names":[],"sources":["../../../src/utils/withDedupe.ts"],"sourcesContent":["import { LruMap } from './lru.js'\n\n/** @internal */\nexport const promiseCache: LruMap<Promise<any>> = /*#__PURE__*/ new LruMap(8192)\n\ntype WithDedupeOptions = {\n enabled?: boolean | undefined\n id?: string | undefined\n}\n\n/** Deduplicates in-flight promises. */\nexport function withDedupe<data>(\n fn: () => Promise<data>,\n { enabled = true, id }: WithDedupeOptions\n): Promise<data> {\n if (!enabled || !id) {\n return fn()\n }\n if (promiseCache.get(id)) {\n return promiseCache.get(id)!\n }\n const promise = fn().finally(() => promiseCache.delete(id))\n promiseCache.set(id, promise)\n return promise\n}\n"],"mappings":";;;AAGA,MAAa,+BAAmD,IAAI,OAAO,KAAK;;AAQhF,SAAgB,WACd,IACA,EAAE,UAAU,MAAM,MACH;AACf,KAAI,CAAC,WAAW,CAAC,GACf,QAAO,IAAI;AAEb,KAAI,aAAa,IAAI,GAAG,CACtB,QAAO,aAAa,IAAI,GAAG;CAE7B,MAAM,UAAU,IAAI,CAAC,cAAc,aAAa,OAAO,GAAG,CAAC;AAC3D,cAAa,IAAI,IAAI,QAAQ;AAC7B,QAAO"}
1
+ {"version":3,"file":"withDedupe.js","names":[],"sources":["../../../src/utils/withDedupe.ts"],"sourcesContent":["import { LruMap } from './lru.js'\n\n/** @internal */\nexport const promiseCache: LruMap<Promise<any>> = /*#__PURE__*/ new LruMap(8192)\n\ntype WithDedupeOptions = {\n enabled?: boolean | undefined\n id?: string | undefined\n}\n\n/** Deduplicates in-flight promises. */\nexport function withDedupe<data>(\n fn: () => Promise<data>,\n { enabled = true, id }: WithDedupeOptions\n): Promise<data> {\n if (!enabled || !id) {\n return fn()\n }\n if (promiseCache.get(id)) {\n return promiseCache.get(id)!\n }\n const promise = fn().finally(() => promiseCache.delete(id))\n promiseCache.set(id, promise)\n return promise\n}\n"],"mappings":";;;AAGA,MAAa,6BAAmD,IAAI,OAAO,IAAI;;AAQ/E,SAAgB,WACd,IACA,EAAE,UAAU,MAAM,MACH;CACf,IAAI,CAAC,WAAW,CAAC,IACf,OAAO,GAAG;CAEZ,IAAI,aAAa,IAAI,EAAE,GACrB,OAAO,aAAa,IAAI,EAAE;CAE5B,MAAM,UAAU,GAAG,EAAE,cAAc,aAAa,OAAO,EAAE,CAAC;CAC1D,aAAa,IAAI,IAAI,OAAO;CAC5B,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"withResolvers.d.ts","names":[],"sources":["../../../src/utils/withResolvers.ts"],"mappings":";;KACY,oBAAA;EACV,OAAA,EAAS,OAAA,CAAQ,IAAA;EACjB,OAAA,GAAU,KAAA,EAAO,IAAA,GAAO,WAAA,CAAY,IAAA;EACpC,MAAA,GAAS,MAAA;AAAA;;iBAIK,aAAA,MAAA,CAAA,GAAuB,oBAAA,CAAqB,IAAA"}
1
+ {"version":3,"file":"withResolvers.d.ts","names":[],"sources":["../../../src/utils/withResolvers.ts"],"mappings":";;KACY,oBAAA;EACV,OAAA,EAAS,OAAA,CAAQ,IAAA;EACjB,OAAA,GAAU,KAAA,EAAO,IAAA,GAAO,WAAA,CAAY,IAAA;EACpC,MAAA,GAAS,MAAA;AAAA;;iBAIK,aAAA,UAAuB,oBAAA,CAAqB,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withResolvers.js","names":[],"sources":["../../../src/utils/withResolvers.ts"],"sourcesContent":["/** @internal */\nexport type PromiseWithResolvers<type> = {\n promise: Promise<type>\n resolve: (value: type | PromiseLike<type>) => void\n reject: (reason?: unknown) => void\n}\n\n/** @internal */\nexport function withResolvers<type>(): PromiseWithResolvers<type> {\n let resolve: PromiseWithResolvers<type>['resolve'] = () => undefined\n let reject: PromiseWithResolvers<type>['reject'] = () => undefined\n\n const promise = new Promise<type>((resolve_, reject_) => {\n resolve = resolve_\n reject = reject_\n })\n\n return { promise, resolve, reject }\n}\n"],"mappings":";;AAQA,SAAgB,gBAAkD;CAChE,IAAI,gBAAuD,KAAA;CAC3D,IAAI,eAAqD,KAAA;AAOzD,QAAO;EAAE,SALO,IAAI,SAAe,UAAU,YAAY;AACvD,aAAU;AACV,YAAS;IACT;EAEgB;EAAS;EAAQ"}
1
+ {"version":3,"file":"withResolvers.js","names":[],"sources":["../../../src/utils/withResolvers.ts"],"sourcesContent":["/** @internal */\nexport type PromiseWithResolvers<type> = {\n promise: Promise<type>\n resolve: (value: type | PromiseLike<type>) => void\n reject: (reason?: unknown) => void\n}\n\n/** @internal */\nexport function withResolvers<type>(): PromiseWithResolvers<type> {\n let resolve: PromiseWithResolvers<type>['resolve'] = () => undefined\n let reject: PromiseWithResolvers<type>['reject'] = () => undefined\n\n const promise = new Promise<type>((resolve_, reject_) => {\n resolve = resolve_\n reject = reject_\n })\n\n return { promise, resolve, reject }\n}\n"],"mappings":";;AAQA,SAAgB,gBAAkD;CAChE,IAAI,gBAAuD,KAAA;CAC3D,IAAI,eAAqD,KAAA;CAOzD,OAAO;EAAE,SAAA,IALW,SAAe,UAAU,YAAY;GACvD,UAAU;GACV,SAAS;EACX,CAEe;EAAG;EAAS;CAAO;AACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withRetry.d.ts","names":[],"sources":["../../../src/utils/withRetry.ts"],"mappings":";;;KAGY,mBAAA;EAEV,KAAA,KACM,MAAA;IAAU,KAAA;IAAe,KAAA,EAAO,KAAA;EAAA;EAItC,UAAA;EAEA,WAAA;IAEM,KAAA;IACA;EAAA;IAEA,KAAA;IACA,KAAA,EAAO,KAAA;EAAA,MACH,OAAA;AAAA;AAAA,KAIA,kBAAA,GAAqB,SAAA;AAAA,iBAEjB,SAAA,MAAA,CACd,EAAA,QAAU,OAAA,CAAQ,IAAA;EAEhB,KAAA,EAAO,MAAA;EACP,UAAA;EACA;AAAA,IACC,mBAAA,GACF,OAAA,CAAQ,IAAA"}
1
+ {"version":3,"file":"withRetry.d.ts","names":[],"sources":["../../../src/utils/withRetry.ts"],"mappings":";;;KAGY,mBAAA;EAEV,KAAA,KACM,MAAA;IAAU,KAAA;IAAe,KAAA,EAAO,KAAA;EAAA;EAItC,UAAA;EAEA,WAAA;IAEM,KAAA;IACA;EAAA;IAEA,KAAA;IACA,KAAA,EAAO,KAAA;EAAA,MACH,OAAA;AAAA;AAAA,KAIA,kBAAA,GAAqB,SAAA;AAAA,iBAEjB,SAAA,OACd,EAAA,QAAU,OAAA,CAAQ,IAAA;EAEhB,KAAA,EAAO,MAAA;EACP,UAAA;EACA;AAAA,IACC,mBAAA,GACF,OAAA,CAAQ,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withRetry.js","names":[],"sources":["../../../src/utils/withRetry.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\nimport { wait } from './wait.js'\n\nexport type WithRetryParameters = {\n // The delay (in ms) between retries.\n delay?:\n | ((config: { count: number; error: Error }) => number)\n | number\n | undefined\n // The max number of times to retry.\n retryCount?: number | undefined\n // Whether or not to retry when an error is thrown.\n shouldRetry?:\n | (({\n count,\n error,\n }: {\n count: number\n error: Error\n }) => Promise<boolean> | boolean)\n | undefined\n}\n\nexport type WithRetryErrorType = ErrorType\n\nexport function withRetry<data>(\n fn: () => Promise<data>,\n {\n delay: delay_ = 100,\n retryCount = 2,\n shouldRetry = () => true,\n }: WithRetryParameters = {}\n): Promise<data> {\n return new Promise<data>((resolve, reject) => {\n const attemptRetry = async ({ count = 0 } = {}) => {\n const retry = async ({ error }: { error: Error }) => {\n const delay =\n typeof delay_ === 'function' ? delay_({ count, error }) : delay_\n if (delay) {\n await wait(delay)\n }\n attemptRetry({ count: count + 1 })\n }\n\n try {\n const data = await fn()\n resolve(data)\n } catch (err) {\n if (\n count < retryCount &&\n (await shouldRetry({ count, error: err as Error }))\n ) {\n return retry({ error: err as Error })\n }\n reject(err)\n }\n }\n attemptRetry()\n })\n}\n"],"mappings":";;AAyBA,SAAgB,UACd,IACA,EACE,OAAO,SAAS,KAChB,aAAa,GACb,oBAAoB,SACG,EAAE,EACZ;AACf,QAAO,IAAI,SAAe,SAAS,WAAW;EAC5C,MAAM,eAAe,OAAO,EAAE,QAAQ,MAAM,EAAE,KAAK;GACjD,MAAM,QAAQ,OAAO,EAAE,YAA8B;IACnD,MAAM,QACJ,OAAO,WAAW,aAAa,OAAO;KAAE;KAAO;KAAO,CAAC,GAAG;AAC5D,QAAI,MACF,OAAM,KAAK,MAAM;AAEnB,iBAAa,EAAE,OAAO,QAAQ,GAAG,CAAC;;AAGpC,OAAI;AAEF,YADa,MAAM,IAAI,CACV;YACN,KAAK;AACZ,QACE,QAAQ,cACP,MAAM,YAAY;KAAE;KAAO,OAAO;KAAc,CAAC,CAElD,QAAO,MAAM,EAAE,OAAO,KAAc,CAAC;AAEvC,WAAO,IAAI;;;AAGf,gBAAc;GACd"}
1
+ {"version":3,"file":"withRetry.js","names":[],"sources":["../../../src/utils/withRetry.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\nimport { wait } from './wait.js'\n\nexport type WithRetryParameters = {\n // The delay (in ms) between retries.\n delay?:\n | ((config: { count: number; error: Error }) => number)\n | number\n | undefined\n // The max number of times to retry.\n retryCount?: number | undefined\n // Whether or not to retry when an error is thrown.\n shouldRetry?:\n | (({\n count,\n error,\n }: {\n count: number\n error: Error\n }) => Promise<boolean> | boolean)\n | undefined\n}\n\nexport type WithRetryErrorType = ErrorType\n\nexport function withRetry<data>(\n fn: () => Promise<data>,\n {\n delay: delay_ = 100,\n retryCount = 2,\n shouldRetry = () => true,\n }: WithRetryParameters = {}\n): Promise<data> {\n return new Promise<data>((resolve, reject) => {\n const attemptRetry = async ({ count = 0 } = {}) => {\n const retry = async ({ error }: { error: Error }) => {\n const delay =\n typeof delay_ === 'function' ? delay_({ count, error }) : delay_\n if (delay) {\n await wait(delay)\n }\n attemptRetry({ count: count + 1 })\n }\n\n try {\n const data = await fn()\n resolve(data)\n } catch (err) {\n if (\n count < retryCount &&\n (await shouldRetry({ count, error: err as Error }))\n ) {\n return retry({ error: err as Error })\n }\n reject(err)\n }\n }\n attemptRetry()\n })\n}\n"],"mappings":";;AAyBA,SAAgB,UACd,IACA,EACE,OAAO,SAAS,KAChB,aAAa,GACb,oBAAoB,SACG,CAAC,GACX;CACf,OAAO,IAAI,SAAe,SAAS,WAAW;EAC5C,MAAM,eAAe,OAAO,EAAE,QAAQ,MAAM,CAAC,MAAM;GACjD,MAAM,QAAQ,OAAO,EAAE,YAA8B;IACnD,MAAM,QACJ,OAAO,WAAW,aAAa,OAAO;KAAE;KAAO;IAAM,CAAC,IAAI;IAC5D,IAAI,OACF,MAAM,KAAK,KAAK;IAElB,aAAa,EAAE,OAAO,QAAQ,EAAE,CAAC;GACnC;GAEA,IAAI;IAEF,QAAQ,MADW,GAAG,CACV;GACd,SAAS,KAAK;IACZ,IACE,QAAQ,cACP,MAAM,YAAY;KAAE;KAAO,OAAO;IAAa,CAAC,GAEjD,OAAO,MAAM,EAAE,OAAO,IAAa,CAAC;IAEtC,OAAO,GAAG;GACZ;EACF;EACA,aAAa;CACf,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTimeout.d.ts","names":[],"sources":["../../../src/utils/withTimeout.ts"],"mappings":";;;KAEY,oBAAA,GAAuB,SAAA;AAAA,iBAEnB,WAAA,MAAA,CACd,EAAA;EACE;AAAA;EAEA,MAAA,EAAQ,eAAA;AAAA,MACJ,OAAA,CAAQ,IAAA;EAEZ,aAAA;EACA,OAAA;EACA;AAAA;EAGA,aAAA,GAAgB,KAAA;EAEhB,OAAA;EAEA,MAAA;AAAA,IAED,OAAA,CAAQ,IAAA"}
1
+ {"version":3,"file":"withTimeout.d.ts","names":[],"sources":["../../../src/utils/withTimeout.ts"],"mappings":";;;KAEY,oBAAA,GAAuB,SAAA;AAAA,iBAEnB,WAAA,OACd,EAAA;EACE;AAAA;EAEA,MAAA,EAAQ,eAAA;AAAA,MACJ,OAAA,CAAQ,IAAA;EAEZ,aAAA;EACA,OAAA;EACA;AAAA;EAGA,aAAA,GAAgB,KAAA;EAEhB,OAAA;EAEA,MAAA;AAAA,IAED,OAAA,CAAQ,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTimeout.js","names":[],"sources":["../../../src/utils/withTimeout.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\n\nexport type WithTimeoutErrorType = ErrorType\n\nexport function withTimeout<data>(\n fn: ({\n signal,\n }: {\n signal: AbortController['signal'] | null\n }) => Promise<data>,\n {\n errorInstance = new Error('timed out'),\n timeout,\n signal,\n }: {\n // The error instance to throw when the timeout is reached.\n errorInstance?: Error | undefined\n // The timeout (in ms).\n timeout: number\n // Whether or not the timeout should use an abort signal.\n signal?: boolean | undefined\n }\n): Promise<data> {\n return new Promise((resolve, reject) => {\n ;(async () => {\n let timeoutId!: NodeJS.Timeout\n try {\n const controller = new AbortController()\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort()\n } else {\n reject(errorInstance)\n }\n }, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node\n }\n resolve(await fn({ signal: controller?.signal || null }))\n } catch (err) {\n if ((err as Error)?.name === 'AbortError') {\n reject(errorInstance)\n }\n reject(err)\n } finally {\n clearTimeout(timeoutId)\n }\n })()\n })\n}\n"],"mappings":";AAIA,SAAgB,YACd,IAKA,EACE,gCAAgB,IAAI,MAAM,YAAY,EACtC,SACA,UASa;AACf,QAAO,IAAI,SAAS,SAAS,WAAW;AACrC,GAAC,YAAY;GACZ,IAAI;AACJ,OAAI;IACF,MAAM,aAAa,IAAI,iBAAiB;AACxC,QAAI,UAAU,EACZ,aAAY,iBAAiB;AAC3B,SAAI,OACF,YAAW,OAAO;SAElB,QAAO,cAAc;OAEtB,QAAQ;AAEb,YAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,MAAM,CAAC,CAAC;YAClD,KAAK;AACZ,QAAK,KAAe,SAAS,aAC3B,QAAO,cAAc;AAEvB,WAAO,IAAI;aACH;AACR,iBAAa,UAAU;;MAEvB;GACJ"}
1
+ {"version":3,"file":"withTimeout.js","names":[],"sources":["../../../src/utils/withTimeout.ts"],"sourcesContent":["import type { ErrorType } from '../errors/utils.js'\n\nexport type WithTimeoutErrorType = ErrorType\n\nexport function withTimeout<data>(\n fn: ({\n signal,\n }: {\n signal: AbortController['signal'] | null\n }) => Promise<data>,\n {\n errorInstance = new Error('timed out'),\n timeout,\n signal,\n }: {\n // The error instance to throw when the timeout is reached.\n errorInstance?: Error | undefined\n // The timeout (in ms).\n timeout: number\n // Whether or not the timeout should use an abort signal.\n signal?: boolean | undefined\n }\n): Promise<data> {\n return new Promise((resolve, reject) => {\n ;(async () => {\n let timeoutId!: NodeJS.Timeout\n try {\n const controller = new AbortController()\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort()\n } else {\n reject(errorInstance)\n }\n }, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node\n }\n resolve(await fn({ signal: controller?.signal || null }))\n } catch (err) {\n if ((err as Error)?.name === 'AbortError') {\n reject(errorInstance)\n }\n reject(err)\n } finally {\n clearTimeout(timeoutId)\n }\n })()\n })\n}\n"],"mappings":";AAIA,SAAgB,YACd,IAKA,EACE,gCAAgB,IAAI,MAAM,WAAW,GACrC,SACA,UASa;CACf,OAAO,IAAI,SAAS,SAAS,WAAW;EACrC,CAAC,YAAY;GACZ,IAAI;GACJ,IAAI;IACF,MAAM,aAAa,IAAI,gBAAgB;IACvC,IAAI,UAAU,GACZ,YAAY,iBAAiB;KAC3B,IAAI,QACF,WAAW,MAAM;UAEjB,OAAO,aAAa;IAExB,GAAG,OAAO;IAEZ,QAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,KAAK,CAAC,CAAC;GAC1D,SAAS,KAAK;IACZ,IAAK,KAAe,SAAS,cAC3B,OAAO,aAAa;IAEtB,OAAO,GAAG;GACZ,UAAU;IACR,aAAa,SAAS;GACxB;EACF,GAAG;CACL,CAAC;AACH"}
@@ -1,6 +1,6 @@
1
1
  //#region src/version.d.ts
2
2
  declare const name = "@bigmi/core";
3
- declare const version = "0.8.0";
3
+ declare const version = "0.8.1";
4
4
  //#endregion
5
5
  export { name, version };
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -1,6 +1,6 @@
1
1
  //#region src/version.ts
2
2
  const name = "@bigmi/core";
3
- const version = "0.8.0";
3
+ const version = "0.8.1";
4
4
  //#endregion
5
5
  export { name, version };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@bigmi/core'\nexport const version = '0.8.0'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@bigmi/core'\nexport const version = '0.8.1'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigmi/core",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "TypeScript library for Bitcoin apps.",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
@@ -32,13 +32,14 @@
32
32
  "bitcoinjs-lib": "^7.0.1",
33
33
  "bs58": "^6.0.0",
34
34
  "eventemitter3": "^5.0.4",
35
- "zustand": "^5.0.12"
35
+ "zustand": "^5.0.14"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "bs58": "^6.0.0"
39
39
  },
40
40
  "files": [
41
41
  "dist/**",
42
+ "CHANGELOG.md",
42
43
  "!dist/**/*.tsbuildinfo",
43
44
  "src/**/*.ts",
44
45
  "!src/**/*.spec.ts",
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@bigmi/core'
2
- export const version = '0.8.0'
2
+ export const version = '0.8.1'
@@ -1,7 +0,0 @@
1
- //#region src/transports/__mocks__/getTransactionFee.d.ts
2
- declare const VALID_TX_ID = "4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e";
3
- declare const TX_FEE = 4374;
4
- declare const INVALID_TX_ID = "0x00000000000000000000000000000000000000";
5
- //#endregion
6
- export { INVALID_TX_ID, TX_FEE, VALID_TX_ID };
7
- //# sourceMappingURL=getTransactionFee.d.ts.map
@@ -1,11 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/transports/__mocks__/getTransactionFee.ts
3
- const VALID_TX_ID = "4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e";
4
- const TX_FEE = 4374;
5
- const INVALID_TX_ID = "0x00000000000000000000000000000000000000";
6
- //#endregion
7
- exports.INVALID_TX_ID = INVALID_TX_ID;
8
- exports.TX_FEE = TX_FEE;
9
- exports.VALID_TX_ID = VALID_TX_ID;
10
-
11
- //# sourceMappingURL=getTransactionFee.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionFee.js","names":[],"sources":["../../../../src/transports/__mocks__/getTransactionFee.ts"],"sourcesContent":["export const VALID_TX_ID =\n '4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e'\nexport const TX_FEE = 4374\nexport const INVALID_TX_ID = '0x00000000000000000000000000000000000000'\n"],"mappings":";;AAAA,MAAa,cACX;AACF,MAAa,SAAS;AACtB,MAAa,gBAAgB"}
@@ -1,7 +0,0 @@
1
- //#region src/transports/__mocks__/getTransactionFee.d.ts
2
- declare const VALID_TX_ID = "4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e";
3
- declare const TX_FEE = 4374;
4
- declare const INVALID_TX_ID = "0x00000000000000000000000000000000000000";
5
- //#endregion
6
- export { INVALID_TX_ID, TX_FEE, VALID_TX_ID };
7
- //# sourceMappingURL=getTransactionFee.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionFee.d.ts","names":[],"sources":["../../../../src/transports/__mocks__/getTransactionFee.ts"],"mappings":";cAAa,WAAA;AAAA,cAEA,MAAA;AAAA,cACA,aAAA"}
@@ -1,8 +0,0 @@
1
- //#region src/transports/__mocks__/getTransactionFee.ts
2
- const VALID_TX_ID = "4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e";
3
- const TX_FEE = 4374;
4
- const INVALID_TX_ID = "0x00000000000000000000000000000000000000";
5
- //#endregion
6
- export { INVALID_TX_ID, TX_FEE, VALID_TX_ID };
7
-
8
- //# sourceMappingURL=getTransactionFee.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionFee.js","names":[],"sources":["../../../../src/transports/__mocks__/getTransactionFee.ts"],"sourcesContent":["export const VALID_TX_ID =\n '4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e'\nexport const TX_FEE = 4374\nexport const INVALID_TX_ID = '0x00000000000000000000000000000000000000'\n"],"mappings":";AAAA,MAAa,cACX;AACF,MAAa,SAAS;AACtB,MAAa,gBAAgB"}