viem 0.0.0-w-20230725184008 → 0.0.0-w-20230810155401

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 (438) hide show
  1. package/README.md +6 -0
  2. package/chains/utils/package.json +5 -0
  3. package/dist/cjs/accounts/index.js +6 -2
  4. package/dist/cjs/accounts/index.js.map +1 -1
  5. package/dist/cjs/accounts/utils/privateKeyToAddress.js +12 -0
  6. package/dist/cjs/accounts/utils/privateKeyToAddress.js.map +1 -0
  7. package/dist/cjs/accounts/utils/signMessage.js +1 -1
  8. package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
  9. package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
  10. package/dist/cjs/accounts/utils/signTypedData.js +1 -1
  11. package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
  12. package/dist/cjs/actions/ens/getEnsAddress.js +18 -13
  13. package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
  14. package/dist/cjs/actions/index.js.map +1 -1
  15. package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
  16. package/dist/cjs/actions/public/createEventFilter.js +16 -8
  17. package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
  18. package/dist/cjs/actions/public/estimateContractGas.js +1 -1
  19. package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
  20. package/dist/cjs/actions/public/estimateGas.js +3 -1
  21. package/dist/cjs/actions/public/estimateGas.js.map +1 -1
  22. package/dist/cjs/actions/public/getBlock.js +3 -1
  23. package/dist/cjs/actions/public/getBlock.js.map +1 -1
  24. package/dist/cjs/actions/public/getBlockNumber.js +2 -2
  25. package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
  26. package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
  27. package/dist/cjs/actions/public/getFilterLogs.js +1 -1
  28. package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
  29. package/dist/cjs/actions/public/getLogs.js +16 -10
  30. package/dist/cjs/actions/public/getLogs.js.map +1 -1
  31. package/dist/cjs/actions/public/getTransaction.js +2 -1
  32. package/dist/cjs/actions/public/getTransaction.js.map +1 -1
  33. package/dist/cjs/actions/public/watchBlockNumber.js +1 -1
  34. package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
  35. package/dist/cjs/actions/public/watchBlocks.js +2 -1
  36. package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
  37. package/dist/cjs/actions/public/watchContractEvent.js +135 -65
  38. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  39. package/dist/cjs/actions/public/watchEvent.js +138 -59
  40. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  41. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  42. package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
  43. package/dist/cjs/chains/{formatters/celo.js → celo/formatters.js} +1 -1
  44. package/dist/cjs/chains/celo/formatters.js.map +1 -0
  45. package/dist/cjs/chains/{serializers/celo.js → celo/serializers.js} +1 -1
  46. package/dist/cjs/chains/celo/serializers.js.map +1 -0
  47. package/dist/cjs/{types/formatter.js → chains/celo/types.js} +1 -1
  48. package/dist/cjs/chains/celo/types.js.map +1 -0
  49. package/dist/cjs/chains/index.js +30 -15
  50. package/dist/cjs/chains/index.js.map +1 -1
  51. package/dist/cjs/chains/optimism/fees.js +7 -0
  52. package/dist/cjs/chains/optimism/fees.js.map +1 -0
  53. package/dist/cjs/chains/{formatters/optimism.js → optimism/formatters.js} +13 -1
  54. package/dist/cjs/chains/optimism/formatters.js.map +1 -0
  55. package/dist/cjs/{types/serializer.js → chains/optimism/types.js} +1 -1
  56. package/dist/cjs/chains/optimism/types.js.map +1 -0
  57. package/dist/cjs/chains/utils.js +11 -0
  58. package/dist/cjs/chains/utils.js.map +1 -0
  59. package/dist/cjs/clients/createClient.js +2 -1
  60. package/dist/cjs/clients/createClient.js.map +1 -1
  61. package/dist/cjs/clients/createPublicClient.js.map +1 -1
  62. package/dist/cjs/clients/createTestClient.js.map +1 -1
  63. package/dist/cjs/clients/createWalletClient.js.map +1 -1
  64. package/dist/cjs/clients/decorators/public.js.map +1 -1
  65. package/dist/cjs/constants/abis.js +12 -2
  66. package/dist/cjs/constants/abis.js.map +1 -1
  67. package/dist/cjs/constants/number.js +101 -0
  68. package/dist/cjs/constants/number.js.map +1 -0
  69. package/dist/cjs/contract.js.map +1 -1
  70. package/dist/cjs/errors/abi.js +8 -1
  71. package/dist/cjs/errors/abi.js.map +1 -1
  72. package/dist/cjs/errors/contract.js +56 -32
  73. package/dist/cjs/errors/contract.js.map +1 -1
  74. package/dist/cjs/errors/node.js +1 -1
  75. package/dist/cjs/errors/node.js.map +1 -1
  76. package/dist/cjs/errors/version.js +1 -1
  77. package/dist/cjs/errors/version.js.map +1 -1
  78. package/dist/cjs/index.js +110 -7
  79. package/dist/cjs/index.js.map +1 -1
  80. package/dist/cjs/public.js.map +1 -1
  81. package/dist/cjs/utils/abi/encodeAbiParameters.js +11 -14
  82. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  83. package/dist/cjs/utils/abi/encodePacked.js +2 -0
  84. package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
  85. package/dist/cjs/utils/chain.js +5 -3
  86. package/dist/cjs/utils/chain.js.map +1 -1
  87. package/dist/cjs/utils/formatters/block.js.map +1 -1
  88. package/dist/cjs/utils/formatters/extract.js.map +1 -1
  89. package/dist/cjs/utils/formatters/formatter.js +1 -0
  90. package/dist/cjs/utils/formatters/formatter.js.map +1 -1
  91. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  92. package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
  93. package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
  94. package/dist/cjs/utils/hash/hashFunction.js +3 -2
  95. package/dist/cjs/utils/hash/hashFunction.js.map +1 -1
  96. package/dist/cjs/utils/promise/withCache.js +3 -3
  97. package/dist/cjs/utils/promise/withCache.js.map +1 -1
  98. package/dist/cjs/utils/signature/hexToSignature.js +12 -0
  99. package/dist/cjs/utils/signature/hexToSignature.js.map +1 -0
  100. package/dist/cjs/utils/signature/signatureToHex.js.map +1 -0
  101. package/dist/cjs/utils/transaction/prepareRequest.js +19 -12
  102. package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
  103. package/dist/cjs/utils/unit/parseUnits.js +2 -1
  104. package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
  105. package/dist/esm/accounts/index.js +3 -1
  106. package/dist/esm/accounts/index.js.map +1 -1
  107. package/dist/esm/accounts/utils/privateKeyToAddress.js +15 -0
  108. package/dist/esm/accounts/utils/privateKeyToAddress.js.map +1 -0
  109. package/dist/esm/accounts/utils/signMessage.js +1 -1
  110. package/dist/esm/accounts/utils/signMessage.js.map +1 -1
  111. package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
  112. package/dist/esm/accounts/utils/signTypedData.js +1 -1
  113. package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
  114. package/dist/esm/actions/ens/getEnsAddress.js +19 -14
  115. package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
  116. package/dist/esm/actions/index.js.map +1 -1
  117. package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
  118. package/dist/esm/actions/public/createEventFilter.js +16 -8
  119. package/dist/esm/actions/public/createEventFilter.js.map +1 -1
  120. package/dist/esm/actions/public/estimateContractGas.js +1 -1
  121. package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
  122. package/dist/esm/actions/public/estimateGas.js +4 -2
  123. package/dist/esm/actions/public/estimateGas.js.map +1 -1
  124. package/dist/esm/actions/public/getBlock.js +3 -1
  125. package/dist/esm/actions/public/getBlock.js.map +1 -1
  126. package/dist/esm/actions/public/getBlockNumber.js +2 -2
  127. package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
  128. package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
  129. package/dist/esm/actions/public/getFilterLogs.js +1 -1
  130. package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
  131. package/dist/esm/actions/public/getLogs.js +16 -10
  132. package/dist/esm/actions/public/getLogs.js.map +1 -1
  133. package/dist/esm/actions/public/getTransaction.js +2 -1
  134. package/dist/esm/actions/public/getTransaction.js.map +1 -1
  135. package/dist/esm/actions/public/watchBlockNumber.js +1 -1
  136. package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
  137. package/dist/esm/actions/public/watchBlocks.js +2 -1
  138. package/dist/esm/actions/public/watchBlocks.js.map +1 -1
  139. package/dist/esm/actions/public/watchContractEvent.js +145 -71
  140. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  141. package/dist/esm/actions/public/watchEvent.js +148 -65
  142. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  143. package/dist/esm/actions/wallet/sendTransaction.js +1 -1
  144. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  145. package/dist/esm/actions/wallet/writeContract.js.map +1 -1
  146. package/dist/esm/chains/{formatters/celo.js → celo/formatters.js} +2 -2
  147. package/dist/esm/chains/celo/formatters.js.map +1 -0
  148. package/dist/esm/chains/{serializers/celo.js → celo/serializers.js} +1 -1
  149. package/dist/esm/chains/celo/serializers.js.map +1 -0
  150. package/dist/esm/chains/celo/types.js +2 -0
  151. package/dist/esm/chains/celo/types.js.map +1 -0
  152. package/dist/esm/chains/index.js +22 -7
  153. package/dist/esm/chains/index.js.map +1 -1
  154. package/dist/esm/chains/optimism/fees.js +4 -0
  155. package/dist/esm/chains/optimism/fees.js.map +1 -0
  156. package/dist/esm/chains/{formatters/optimism.js → optimism/formatters.js} +15 -2
  157. package/dist/esm/chains/optimism/formatters.js.map +1 -0
  158. package/dist/esm/chains/optimism/types.js +2 -0
  159. package/dist/esm/chains/optimism/types.js.map +1 -0
  160. package/dist/esm/chains/utils.js +4 -0
  161. package/dist/esm/chains/utils.js.map +1 -0
  162. package/dist/esm/clients/createClient.js +2 -1
  163. package/dist/esm/clients/createClient.js.map +1 -1
  164. package/dist/esm/clients/createPublicClient.js.map +1 -1
  165. package/dist/esm/clients/createTestClient.js.map +1 -1
  166. package/dist/esm/clients/createWalletClient.js.map +1 -1
  167. package/dist/esm/clients/decorators/public.js.map +1 -1
  168. package/dist/esm/constants/abis.js +11 -1
  169. package/dist/esm/constants/abis.js.map +1 -1
  170. package/dist/esm/constants/number.js +97 -0
  171. package/dist/esm/constants/number.js.map +1 -0
  172. package/dist/esm/contract.js.map +1 -1
  173. package/dist/esm/errors/abi.js +8 -1
  174. package/dist/esm/errors/abi.js.map +1 -1
  175. package/dist/esm/errors/contract.js +56 -32
  176. package/dist/esm/errors/contract.js.map +1 -1
  177. package/dist/esm/errors/node.js +1 -1
  178. package/dist/esm/errors/node.js.map +1 -1
  179. package/dist/esm/errors/version.js +1 -1
  180. package/dist/esm/errors/version.js.map +1 -1
  181. package/dist/esm/index.js +4 -1
  182. package/dist/esm/index.js.map +1 -1
  183. package/dist/esm/public.js.map +1 -1
  184. package/dist/esm/utils/abi/encodeAbiParameters.js +13 -14
  185. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  186. package/dist/esm/utils/abi/encodePacked.js +2 -0
  187. package/dist/esm/utils/abi/encodePacked.js.map +1 -1
  188. package/dist/esm/utils/chain.js +5 -3
  189. package/dist/esm/utils/chain.js.map +1 -1
  190. package/dist/esm/utils/formatters/block.js.map +1 -1
  191. package/dist/esm/utils/formatters/extract.js.map +1 -1
  192. package/dist/esm/utils/formatters/formatter.js +1 -0
  193. package/dist/esm/utils/formatters/formatter.js.map +1 -1
  194. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  195. package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
  196. package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
  197. package/dist/esm/utils/hash/hashFunction.js +3 -2
  198. package/dist/esm/utils/hash/hashFunction.js.map +1 -1
  199. package/dist/esm/utils/promise/withCache.js +3 -3
  200. package/dist/esm/utils/promise/withCache.js.map +1 -1
  201. package/dist/esm/utils/signature/hexToSignature.js +18 -0
  202. package/dist/esm/utils/signature/hexToSignature.js.map +1 -0
  203. package/dist/esm/utils/signature/signatureToHex.js +21 -0
  204. package/dist/esm/utils/signature/signatureToHex.js.map +1 -0
  205. package/dist/esm/utils/transaction/prepareRequest.js +20 -13
  206. package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
  207. package/dist/esm/utils/unit/parseUnits.js +2 -1
  208. package/dist/esm/utils/unit/parseUnits.js.map +1 -1
  209. package/dist/types/accounts/index.d.ts +3 -1
  210. package/dist/types/accounts/index.d.ts.map +1 -1
  211. package/dist/types/accounts/utils/privateKeyToAddress.d.ts +11 -0
  212. package/dist/types/accounts/utils/privateKeyToAddress.d.ts.map +1 -0
  213. package/dist/types/accounts/utils/signTransaction.d.ts +2 -2
  214. package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
  215. package/dist/types/actions/ens/getEnsAddress.d.ts +3 -1
  216. package/dist/types/actions/ens/getEnsAddress.d.ts.map +1 -1
  217. package/dist/types/actions/index.d.ts +5 -1
  218. package/dist/types/actions/index.d.ts.map +1 -1
  219. package/dist/types/actions/public/createContractEventFilter.d.ts +5 -5
  220. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  221. package/dist/types/actions/public/createEventFilter.d.ts +20 -7
  222. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  223. package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
  224. package/dist/types/actions/public/getBlock.d.ts +5 -5
  225. package/dist/types/actions/public/getBlock.d.ts.map +1 -1
  226. package/dist/types/actions/public/getBlockNumber.d.ts +4 -2
  227. package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
  228. package/dist/types/actions/public/getFilterChanges.d.ts +5 -8
  229. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  230. package/dist/types/actions/public/getFilterLogs.d.ts +5 -4
  231. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  232. package/dist/types/actions/public/getLogs.d.ts +17 -6
  233. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  234. package/dist/types/actions/public/getTransaction.d.ts +4 -4
  235. package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
  236. package/dist/types/actions/public/getTransactionReceipt.d.ts +1 -1
  237. package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
  238. package/dist/types/actions/public/simulateContract.d.ts +2 -2
  239. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  240. package/dist/types/actions/public/watchBlocks.d.ts +10 -10
  241. package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
  242. package/dist/types/actions/public/watchContractEvent.d.ts +35 -9
  243. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  244. package/dist/types/actions/public/watchEvent.d.ts +48 -14
  245. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  246. package/dist/types/actions/wallet/deployContract.d.ts +1 -1
  247. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  248. package/dist/types/actions/wallet/sendTransaction.d.ts +2 -2
  249. package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
  250. package/dist/types/actions/wallet/writeContract.d.ts +4 -2
  251. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  252. package/dist/types/chains/{formatters/celo.d.ts → celo/formatters.d.ts} +30 -85
  253. package/dist/types/chains/celo/formatters.d.ts.map +1 -0
  254. package/dist/types/chains/{serializers/celo.d.ts → celo/serializers.d.ts} +4 -4
  255. package/dist/types/chains/celo/serializers.d.ts.map +1 -0
  256. package/dist/types/chains/celo/types.d.ts +60 -0
  257. package/dist/types/chains/celo/types.d.ts.map +1 -0
  258. package/dist/types/chains/index.d.ts +2527 -2722
  259. package/dist/types/chains/index.d.ts.map +1 -1
  260. package/dist/types/chains/optimism/fees.d.ts +4 -0
  261. package/dist/types/chains/optimism/fees.d.ts.map +1 -0
  262. package/dist/types/chains/{formatters/optimism.d.ts → optimism/formatters.d.ts} +79 -54
  263. package/dist/types/chains/optimism/formatters.d.ts.map +1 -0
  264. package/dist/types/chains/optimism/types.d.ts +53 -0
  265. package/dist/types/chains/optimism/types.d.ts.map +1 -0
  266. package/dist/types/chains/utils.d.ts +6 -0
  267. package/dist/types/chains/utils.d.ts.map +1 -0
  268. package/dist/types/clients/createClient.d.ts +7 -0
  269. package/dist/types/clients/createClient.d.ts.map +1 -1
  270. package/dist/types/clients/createPublicClient.d.ts +1 -1
  271. package/dist/types/clients/createPublicClient.d.ts.map +1 -1
  272. package/dist/types/clients/createTestClient.d.ts +1 -1
  273. package/dist/types/clients/createTestClient.d.ts.map +1 -1
  274. package/dist/types/clients/createWalletClient.d.ts +1 -1
  275. package/dist/types/clients/createWalletClient.d.ts.map +1 -1
  276. package/dist/types/clients/decorators/public.d.ts +11 -10
  277. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  278. package/dist/types/constants/abis.d.ts +16 -1
  279. package/dist/types/constants/abis.d.ts.map +1 -1
  280. package/dist/types/constants/number.d.ts +97 -0
  281. package/dist/types/constants/number.d.ts.map +1 -0
  282. package/dist/types/contract.d.ts +5 -1
  283. package/dist/types/contract.d.ts.map +1 -1
  284. package/dist/types/errors/abi.d.ts +1 -0
  285. package/dist/types/errors/abi.d.ts.map +1 -1
  286. package/dist/types/errors/contract.d.ts +1 -0
  287. package/dist/types/errors/contract.d.ts.map +1 -1
  288. package/dist/types/errors/node.d.ts.map +1 -1
  289. package/dist/types/errors/version.d.ts +1 -1
  290. package/dist/types/errors/version.d.ts.map +1 -1
  291. package/dist/types/index.d.ts +24 -6
  292. package/dist/types/index.d.ts.map +1 -1
  293. package/dist/types/public.d.ts +5 -1
  294. package/dist/types/public.d.ts.map +1 -1
  295. package/dist/types/types/block.d.ts +7 -7
  296. package/dist/types/types/block.d.ts.map +1 -1
  297. package/dist/types/types/chain.d.ts +52 -8
  298. package/dist/types/types/chain.d.ts.map +1 -1
  299. package/dist/types/types/contract.d.ts +1 -1
  300. package/dist/types/types/contract.d.ts.map +1 -1
  301. package/dist/types/types/filter.d.ts +7 -3
  302. package/dist/types/types/filter.d.ts.map +1 -1
  303. package/dist/types/types/log.d.ts +8 -8
  304. package/dist/types/types/log.d.ts.map +1 -1
  305. package/dist/types/types/misc.d.ts.map +1 -1
  306. package/dist/types/types/rpc.d.ts +3 -3
  307. package/dist/types/types/rpc.d.ts.map +1 -1
  308. package/dist/types/types/transaction.d.ts +8 -8
  309. package/dist/types/types/transaction.d.ts.map +1 -1
  310. package/dist/types/types/utils.d.ts +10 -0
  311. package/dist/types/types/utils.d.ts.map +1 -1
  312. package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
  313. package/dist/types/utils/chain.d.ts +3 -6
  314. package/dist/types/utils/chain.d.ts.map +1 -1
  315. package/dist/types/utils/formatters/block.d.ts +18 -4
  316. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  317. package/dist/types/utils/formatters/extract.d.ts +2 -2
  318. package/dist/types/utils/formatters/extract.d.ts.map +1 -1
  319. package/dist/types/utils/formatters/formatter.d.ts +2 -1
  320. package/dist/types/utils/formatters/formatter.d.ts.map +1 -1
  321. package/dist/types/utils/formatters/transaction.d.ts +15 -4
  322. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  323. package/dist/types/utils/formatters/transactionReceipt.d.ts +4 -4
  324. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  325. package/dist/types/utils/formatters/transactionRequest.d.ts +5 -5
  326. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  327. package/dist/types/utils/hash/hashFunction.d.ts +1 -1
  328. package/dist/types/utils/hash/hashFunction.d.ts.map +1 -1
  329. package/dist/types/utils/promise/withCache.d.ts +3 -3
  330. package/dist/types/utils/promise/withCache.d.ts.map +1 -1
  331. package/dist/types/utils/signature/hexToSignature.d.ts +13 -0
  332. package/dist/types/utils/signature/hexToSignature.d.ts.map +1 -0
  333. package/dist/types/utils/signature/signatureToHex.d.ts +17 -0
  334. package/dist/types/utils/signature/signatureToHex.d.ts.map +1 -0
  335. package/dist/types/utils/transaction/prepareRequest.d.ts +6 -11
  336. package/dist/types/utils/transaction/prepareRequest.d.ts.map +1 -1
  337. package/dist/types/utils/unit/parseUnits.d.ts.map +1 -1
  338. package/package.json +9 -2
  339. package/src/accounts/index.ts +7 -1
  340. package/src/accounts/utils/privateKeyToAddress.ts +20 -0
  341. package/src/accounts/utils/signMessage.ts +1 -1
  342. package/src/accounts/utils/signTransaction.ts +2 -2
  343. package/src/accounts/utils/signTypedData.ts +1 -1
  344. package/src/actions/ens/getEnsAddress.ts +24 -15
  345. package/src/actions/index.ts +6 -2
  346. package/src/actions/public/createContractEventFilter.ts +30 -7
  347. package/src/actions/public/createEventFilter.ts +78 -24
  348. package/src/actions/public/estimateContractGas.ts +1 -1
  349. package/src/actions/public/estimateGas.ts +11 -2
  350. package/src/actions/public/getBlock.ts +18 -8
  351. package/src/actions/public/getBlockNumber.ts +5 -3
  352. package/src/actions/public/getFilterChanges.ts +46 -10
  353. package/src/actions/public/getFilterLogs.ts +26 -10
  354. package/src/actions/public/getLogs.ts +73 -18
  355. package/src/actions/public/getTransaction.ts +15 -8
  356. package/src/actions/public/simulateContract.ts +2 -2
  357. package/src/actions/public/watchBlockNumber.ts +1 -1
  358. package/src/actions/public/watchBlocks.ts +37 -18
  359. package/src/actions/public/watchContractEvent.ts +208 -90
  360. package/src/actions/public/watchEvent.ts +262 -104
  361. package/src/actions/wallet/deployContract.ts +1 -1
  362. package/src/actions/wallet/sendTransaction.ts +9 -6
  363. package/src/actions/wallet/writeContract.ts +11 -7
  364. package/src/chains/{formatters/celo.ts → celo/formatters.ts} +29 -48
  365. package/src/chains/{serializers/celo.ts → celo/serializers.ts} +5 -5
  366. package/src/chains/celo/types.ts +111 -0
  367. package/src/chains/index.ts +22 -7
  368. package/src/chains/optimism/fees.ts +5 -0
  369. package/src/chains/optimism/formatters.ts +74 -0
  370. package/src/chains/optimism/types.ts +102 -0
  371. package/src/chains/utils.ts +41 -0
  372. package/src/clients/createClient.ts +9 -0
  373. package/src/clients/createPublicClient.ts +7 -1
  374. package/src/clients/createTestClient.ts +7 -1
  375. package/src/clients/createWalletClient.ts +7 -1
  376. package/src/clients/decorators/public.ts +117 -28
  377. package/src/constants/abis.ts +11 -1
  378. package/src/constants/number.ts +98 -0
  379. package/src/contract.ts +6 -2
  380. package/src/errors/abi.ts +5 -1
  381. package/src/errors/contract.ts +52 -31
  382. package/src/errors/node.ts +2 -1
  383. package/src/errors/version.ts +1 -1
  384. package/src/index.ts +133 -11
  385. package/src/public.ts +6 -2
  386. package/src/types/block.ts +25 -10
  387. package/src/types/chain.ts +91 -14
  388. package/src/types/contract.ts +7 -3
  389. package/src/types/filter.ts +32 -26
  390. package/src/types/log.ts +13 -8
  391. package/src/types/misc.ts +3 -0
  392. package/src/types/rpc.ts +16 -6
  393. package/src/types/transaction.ts +22 -11
  394. package/src/types/utils.ts +11 -0
  395. package/src/utils/abi/encodeAbiParameters.ts +14 -17
  396. package/src/utils/abi/encodePacked.ts +1 -0
  397. package/src/utils/chain.ts +21 -10
  398. package/src/utils/formatters/block.ts +34 -5
  399. package/src/utils/formatters/extract.ts +2 -2
  400. package/src/utils/formatters/formatter.ts +3 -2
  401. package/src/utils/formatters/transaction.ts +28 -3
  402. package/src/utils/formatters/transactionReceipt.ts +9 -3
  403. package/src/utils/formatters/transactionRequest.ts +9 -3
  404. package/src/utils/hash/hashFunction.ts +3 -2
  405. package/src/utils/promise/withCache.ts +5 -5
  406. package/src/utils/signature/hexToSignature.ts +20 -0
  407. package/src/utils/signature/signatureToHex.ts +26 -0
  408. package/src/utils/transaction/prepareRequest.ts +55 -30
  409. package/src/utils/unit/parseUnits.ts +2 -1
  410. package/dist/cjs/accounts/utils/signatureToHex.js.map +0 -1
  411. package/dist/cjs/chains/formatters/celo.js.map +0 -1
  412. package/dist/cjs/chains/formatters/optimism.js.map +0 -1
  413. package/dist/cjs/chains/serializers/celo.js.map +0 -1
  414. package/dist/cjs/types/formatter.js.map +0 -1
  415. package/dist/cjs/types/serializer.js.map +0 -1
  416. package/dist/esm/accounts/utils/signatureToHex.js +0 -7
  417. package/dist/esm/accounts/utils/signatureToHex.js.map +0 -1
  418. package/dist/esm/chains/formatters/celo.js.map +0 -1
  419. package/dist/esm/chains/formatters/optimism.js.map +0 -1
  420. package/dist/esm/chains/serializers/celo.js.map +0 -1
  421. package/dist/esm/types/formatter.js +0 -2
  422. package/dist/esm/types/formatter.js.map +0 -1
  423. package/dist/esm/types/serializer.js +0 -2
  424. package/dist/esm/types/serializer.js.map +0 -1
  425. package/dist/types/accounts/utils/signatureToHex.d.ts +0 -3
  426. package/dist/types/accounts/utils/signatureToHex.d.ts.map +0 -1
  427. package/dist/types/chains/formatters/celo.d.ts.map +0 -1
  428. package/dist/types/chains/formatters/optimism.d.ts.map +0 -1
  429. package/dist/types/chains/serializers/celo.d.ts.map +0 -1
  430. package/dist/types/types/formatter.d.ts +0 -14
  431. package/dist/types/types/formatter.d.ts.map +0 -1
  432. package/dist/types/types/serializer.d.ts +0 -7
  433. package/dist/types/types/serializer.d.ts.map +0 -1
  434. package/src/accounts/utils/signatureToHex.ts +0 -12
  435. package/src/chains/formatters/optimism.ts +0 -91
  436. package/src/types/formatter.ts +0 -33
  437. package/src/types/serializer.ts +0 -19
  438. /package/dist/cjs/{accounts/utils → utils/signature}/signatureToHex.js +0 -0
@@ -155,6 +155,17 @@ export type OptionalNullable<T> = {
155
155
  [K in keyof T as T[K] extends NonNullable<unknown> ? never : K]?: T[K]
156
156
  }
157
157
 
158
+ /**
159
+ * @description Make properties K of type T never.
160
+ *
161
+ * @example
162
+ * NeverBy<{ a: string, b: boolean, c: number }, 'a' | 'c'>
163
+ * => { a: never, b: boolean, c: never }
164
+ */
165
+ export type NeverBy<T, K extends keyof T> = {
166
+ [U in keyof T]: U extends K ? never : T[U]
167
+ }
168
+
158
169
  /**
159
170
  * @description Constructs a type by excluding `undefined` from `T`.
160
171
  *
@@ -194,28 +194,25 @@ function encodeBytes<TParam extends AbiParameter>(
194
194
  value: Hex,
195
195
  { param }: { param: TParam },
196
196
  ): PreparedParam {
197
- const [_, size_] = param.type.split('bytes')
198
- if (!size_) {
199
- const partsLength = Math.ceil(size(value) / 32)
200
- const parts: Hex[] = []
201
- for (let i = 0; i < partsLength; i++) {
202
- parts.push(
203
- padHex(slice(value, i * 32, (i + 1) * 32), {
204
- dir: 'right',
205
- }),
206
- )
207
- }
197
+ const [, paramSize] = param.type.split('bytes')
198
+ const bytesSize = size(value)
199
+ if (!paramSize) {
200
+ let value_ = value
201
+ // If the size is not divisible by 32 bytes, pad the end
202
+ // with empty bytes to the ceiling 32 bytes.
203
+ if (bytesSize % 32 !== 0)
204
+ value_ = padHex(value_, {
205
+ dir: 'right',
206
+ size: Math.ceil((value.length - 2) / 2 / 32) * 32,
207
+ })
208
208
  return {
209
209
  dynamic: true,
210
- encoded: concat([
211
- padHex(numberToHex(size(value), { size: 32 })),
212
- ...parts,
213
- ]),
210
+ encoded: concat([padHex(numberToHex(bytesSize, { size: 32 })), value_]),
214
211
  }
215
212
  }
216
- if (size(value) !== parseInt(size_))
213
+ if (bytesSize !== parseInt(paramSize))
217
214
  throw new AbiEncodingBytesSizeMismatchError({
218
- expectedSize: parseInt(size_),
215
+ expectedSize: parseInt(paramSize),
219
216
  value,
220
217
  })
221
218
  return { dynamic: false, encoded: padHex(value, { dir: 'right' }) }
@@ -104,6 +104,7 @@ function encode<TPackedAbiType extends PackedAbiType | unknown>(
104
104
  for (let i = 0; i < value.length; i++) {
105
105
  data.push(encode(childType, value[i], true))
106
106
  }
107
+ if (data.length === 0) return '0x'
107
108
  return concat(data)
108
109
  }
109
110
 
@@ -3,8 +3,13 @@ import {
3
3
  ChainMismatchError,
4
4
  ChainNotFoundError,
5
5
  } from '../errors/chain.js'
6
- import type { Chain, ChainContract } from '../types/chain.js'
7
- import type { Formatters } from '../types/formatter.js'
6
+ import type {
7
+ Chain,
8
+ ChainConfig,
9
+ ChainContract,
10
+ ChainFormatters,
11
+ } from '../types/chain.js'
12
+ import type { Assign } from '../types/utils.js'
8
13
 
9
14
  export type AssertCurrentChainParameters = {
10
15
  chain?: Chain
@@ -21,17 +26,23 @@ export function assertCurrentChain({
21
26
  }
22
27
 
23
28
  export function defineChain<
24
- TChain extends Chain,
25
- TFormatters extends Formatters,
29
+ chain extends Chain,
30
+ formatters extends ChainFormatters,
26
31
  >(
27
- chain: TChain,
28
- config?: Pick<Chain<TFormatters>, 'formatters' | 'serializers'>,
29
- ) {
32
+ chain: chain,
33
+ config: ChainConfig<formatters> = {},
34
+ ): Assign<chain, ChainConfig<formatters>> {
35
+ const {
36
+ fees = chain.fees,
37
+ formatters = chain.formatters,
38
+ serializers = chain.serializers,
39
+ } = config
30
40
  return {
31
41
  ...chain,
32
- formatters: config?.formatters,
33
- serializers: config?.serializers,
34
- }
42
+ fees,
43
+ formatters,
44
+ serializers,
45
+ } as unknown as Assign<chain, ChainConfig<formatters>>
35
46
  }
36
47
 
37
48
  export function getChainContractAddress({
@@ -1,14 +1,43 @@
1
- import type { Block } from '../../types/block.js'
1
+ import type { Block, BlockTag } from '../../types/block.js'
2
2
  import type { Chain } from '../../types/chain.js'
3
- import type { ExtractFormatterReturnType } from '../../types/formatter.js'
3
+ import type {
4
+ ExtractChainFormatterExclude,
5
+ ExtractChainFormatterReturnType,
6
+ } from '../../types/chain.js'
7
+ import type { Hash } from '../../types/misc.js'
4
8
  import type { RpcBlock } from '../../types/rpc.js'
9
+ import type { Prettify } from '../../types/utils.js'
5
10
 
6
11
  import { defineFormatter } from './formatter.js'
7
- import { formatTransaction } from './transaction.js'
12
+ import { type FormattedTransaction, formatTransaction } from './transaction.js'
13
+
14
+ type BlockPendingDependencies = 'hash' | 'logsBloom' | 'nonce' | 'number'
8
15
 
9
16
  export type FormattedBlock<
10
- TChain extends Chain | undefined = Chain | undefined,
11
- > = ExtractFormatterReturnType<TChain, 'block', Block>
17
+ TChain extends { formatters?: Chain['formatters'] } | undefined =
18
+ | { formatters?: Chain['formatters'] }
19
+ | undefined,
20
+ TIncludeTransactions extends boolean = boolean,
21
+ TBlockTag extends BlockTag = BlockTag,
22
+ _FormatterReturnType = ExtractChainFormatterReturnType<
23
+ TChain,
24
+ 'block',
25
+ Block<bigint, TIncludeTransactions>
26
+ >,
27
+ _ExcludedPendingDependencies extends string = BlockPendingDependencies &
28
+ ExtractChainFormatterExclude<TChain, 'block'>,
29
+ _Formatted = Omit<_FormatterReturnType, BlockPendingDependencies> & {
30
+ [K in _ExcludedPendingDependencies]: never
31
+ } & Pick<
32
+ Block<bigint, TIncludeTransactions, TBlockTag>,
33
+ BlockPendingDependencies
34
+ >,
35
+ _Transactions = TIncludeTransactions extends true
36
+ ? Prettify<FormattedTransaction<TChain, TBlockTag>>[]
37
+ : Hash[],
38
+ > = Omit<_Formatted, 'transactions'> & {
39
+ transactions: _Transactions
40
+ }
12
41
 
13
42
  export function formatBlock(block: Partial<RpcBlock>) {
14
43
  const transactions = block.transactions?.map((transaction) => {
@@ -1,11 +1,11 @@
1
- import type { Formatter } from '../../types/formatter.js'
1
+ import type { ChainFormatter } from '../../types/chain.js'
2
2
 
3
3
  /**
4
4
  * @description Picks out the keys from `value` that exist in the formatter.
5
5
  */
6
6
  export function extract(
7
7
  value: Record<string, unknown>,
8
- { format }: { format?: Formatter['format'] },
8
+ { format }: { format?: ChainFormatter['format'] },
9
9
  ) {
10
10
  if (!format) return {}
11
11
  const keys = Object.keys(format({}))
@@ -16,8 +16,9 @@ export function defineFormatter<TType extends string, TParameters, TReturnType>(
16
16
  format: (_: TOverrideParameters) => TOverrideReturnType
17
17
  }) => {
18
18
  return {
19
- format: (args: TParameters & TOverrideParameters) => {
20
- const formatted = format(args)
19
+ exclude,
20
+ format: (args: Assign<TParameters, TOverrideParameters>) => {
21
+ const formatted = format(args as any)
21
22
  if (exclude) {
22
23
  for (const key of exclude) {
23
24
  delete (formatted as any)[key]
@@ -1,13 +1,38 @@
1
+ import type { BlockTag } from '../../types/block.js'
1
2
  import type { Chain } from '../../types/chain.js'
2
- import type { ExtractFormatterReturnType } from '../../types/formatter.js'
3
+ import type {
4
+ ExtractChainFormatterExclude,
5
+ ExtractChainFormatterReturnType,
6
+ } from '../../types/chain.js'
3
7
  import type { RpcTransaction } from '../../types/rpc.js'
4
8
  import type { Transaction } from '../../types/transaction.js'
9
+ import type { UnionOmit } from '../../types/utils.js'
5
10
  import { hexToNumber } from '../encoding/fromHex.js'
6
11
  import { defineFormatter } from './formatter.js'
7
12
 
13
+ type TransactionPendingDependencies =
14
+ | 'blockHash'
15
+ | 'blockNumber'
16
+ | 'transactionIndex'
17
+
8
18
  export type FormattedTransaction<
9
- TChain extends Chain | undefined = Chain | undefined,
10
- > = ExtractFormatterReturnType<TChain, 'transaction', Transaction>
19
+ TChain extends { formatters?: Chain['formatters'] } | undefined =
20
+ | { formatters?: Chain['formatters'] }
21
+ | undefined,
22
+ TBlockTag extends BlockTag = BlockTag,
23
+ _FormatterReturnType = ExtractChainFormatterReturnType<
24
+ TChain,
25
+ 'transaction',
26
+ Transaction
27
+ >,
28
+ _ExcludedPendingDependencies extends string = TransactionPendingDependencies &
29
+ ExtractChainFormatterExclude<TChain, 'transaction'>,
30
+ > = UnionOmit<_FormatterReturnType, TransactionPendingDependencies> & {
31
+ [K in _ExcludedPendingDependencies]: never
32
+ } & Pick<
33
+ Transaction<bigint, number, TBlockTag extends 'pending' ? true : false>,
34
+ TransactionPendingDependencies
35
+ >
11
36
 
12
37
  export const transactionType = {
13
38
  '0x0': 'legacy',
@@ -1,5 +1,7 @@
1
- import type { Chain } from '../../types/chain.js'
2
- import type { ExtractFormatterReturnType } from '../../types/formatter.js'
1
+ import type {
2
+ Chain,
3
+ ExtractChainFormatterReturnType,
4
+ } from '../../types/chain.js'
3
5
  import type { RpcTransactionReceipt } from '../../types/rpc.js'
4
6
  import type { TransactionReceipt } from '../../types/transaction.js'
5
7
  import { hexToNumber } from '../encoding/fromHex.js'
@@ -10,7 +12,11 @@ import { transactionType } from './transaction.js'
10
12
 
11
13
  export type FormattedTransactionReceipt<
12
14
  TChain extends Chain | undefined = Chain | undefined,
13
- > = ExtractFormatterReturnType<TChain, 'transactionReceipt', TransactionReceipt>
15
+ > = ExtractChainFormatterReturnType<
16
+ TChain,
17
+ 'transactionReceipt',
18
+ TransactionReceipt
19
+ >
14
20
 
15
21
  const statuses = {
16
22
  '0x0': 'reverted',
@@ -1,5 +1,7 @@
1
- import type { Chain } from '../../types/chain.js'
2
- import type { ExtractFormatterParameters } from '../../types/formatter.js'
1
+ import type {
2
+ Chain,
3
+ ExtractChainFormatterParameters,
4
+ } from '../../types/chain.js'
3
5
  import type { RpcTransactionRequest } from '../../types/rpc.js'
4
6
  import type { TransactionRequest } from '../../types/transaction.js'
5
7
  import { numberToHex } from '../encoding/toHex.js'
@@ -7,7 +9,11 @@ import { defineFormatter } from './formatter.js'
7
9
 
8
10
  export type FormattedTransactionRequest<
9
11
  TChain extends Chain | undefined = Chain | undefined,
10
- > = ExtractFormatterParameters<TChain, 'transactionRequest', TransactionRequest>
12
+ > = ExtractChainFormatterParameters<
13
+ TChain,
14
+ 'transactionRequest',
15
+ TransactionRequest
16
+ >
11
17
 
12
18
  export function formatTransactionRequest(
13
19
  transactionRequest: Partial<TransactionRequest>,
@@ -1,3 +1,4 @@
1
+ import { formatAbiItem } from '../abi/formatAbiItem.js'
1
2
  import {
2
3
  extractFunctionName,
3
4
  extractFunctionParams,
@@ -15,6 +16,6 @@ export function hashFunction(def: string) {
15
16
  return hash(`${name}(${params.map(({ type }) => type).join(',')})`)
16
17
  }
17
18
 
18
- export function hashAbiItem(def: AbiFunction | AbiEvent) {
19
- return hash(`${def.name}(${def.inputs.map(({ type }) => type).join(',')})`)
19
+ export function hashAbiItem(abiItem: AbiFunction | AbiEvent) {
20
+ return hash(formatAbiItem(abiItem))
20
21
  }
@@ -27,8 +27,8 @@ export function getCache<TData>(cacheKey: string) {
27
27
  export type WithCacheParameters = {
28
28
  /** The key to cache the data against. */
29
29
  cacheKey: string
30
- /** The maximum age (in ms) of the cached value. Default: Infinity (no expiry) */
31
- maxAge?: number
30
+ /** The time that cached data will remain in memory. Default: Infinity (no expiry) */
31
+ cacheTime?: number
32
32
  }
33
33
 
34
34
  /**
@@ -37,7 +37,7 @@ export type WithCacheParameters = {
37
37
  */
38
38
  export async function withCache<TData>(
39
39
  fn: () => Promise<TData>,
40
- { cacheKey, maxAge = Infinity }: WithCacheParameters,
40
+ { cacheKey, cacheTime = Infinity }: WithCacheParameters,
41
41
  ) {
42
42
  const cache = getCache<TData>(cacheKey)
43
43
 
@@ -45,9 +45,9 @@ export async function withCache<TData>(
45
45
  // and do not invoke the promise.
46
46
  // If the max age is 0, the cache is disabled.
47
47
  const response = cache.response.get()
48
- if (response && maxAge > 0) {
48
+ if (response && cacheTime > 0) {
49
49
  const age = new Date().getTime() - response.created.getTime()
50
- if (age < maxAge) return response.data
50
+ if (age < cacheTime) return response.data
51
51
  }
52
52
 
53
53
  let promise = cache.promise.get()
@@ -0,0 +1,20 @@
1
+ import { secp256k1 } from '@noble/curves/secp256k1'
2
+
3
+ import type { Hex, Signature } from '../../types/misc.js'
4
+ import { numberToHex } from '../../utils/encoding/toHex.js'
5
+
6
+ /**
7
+ * @description Parses a hex formatted signature into a structured signature.
8
+ *
9
+ * @param signatureHex Signature in hex format.
10
+ * @returns The structured signature.
11
+ *
12
+ * @example
13
+ * hexToSignature('0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c')
14
+ * // { r: '0x...', s: '0x...', v: 28n }
15
+ */
16
+ export function hexToSignature(signatureHex: Hex): Signature {
17
+ const { r, s } = secp256k1.Signature.fromCompact(signatureHex.slice(2, 130))
18
+ const v = BigInt(`0x${signatureHex.slice(130)}`)
19
+ return { r: numberToHex(r), s: numberToHex(s), v }
20
+ }
@@ -0,0 +1,26 @@
1
+ import { secp256k1 } from '@noble/curves/secp256k1'
2
+
3
+ import type { Hex, Signature } from '../../types/misc.js'
4
+ import { hexToBigInt } from '../../utils/encoding/fromHex.js'
5
+ import { toHex } from '../../utils/encoding/toHex.js'
6
+
7
+ /**
8
+ * @description Converts a signature into hex format.
9
+ *
10
+ * @param signature The signature to convert.
11
+ * @returns The signature in hex format.
12
+ *
13
+ * @example
14
+ * signatureToHex({
15
+ * r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',
16
+ * s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',
17
+ * v: 28n
18
+ * })
19
+ * // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
20
+ */
21
+ export function signatureToHex({ r, s, v }: Signature): Hex {
22
+ return `0x${new secp256k1.Signature(
23
+ hexToBigInt(r),
24
+ hexToBigInt(s),
25
+ ).toCompactHex()}${toHex(v).slice(2)}`
26
+ }
@@ -15,24 +15,34 @@ import type { Transport } from '../../clients/transports/createTransport.js'
15
15
  import { AccountNotFoundError } from '../../errors/account.js'
16
16
  import { BaseError } from '../../errors/base.js'
17
17
  import type { GetAccountParameter } from '../../types/account.js'
18
- import type { Chain } from '../../types/chain.js'
19
-
18
+ import type { Chain, GetChain } from '../../types/chain.js'
19
+ import type { UnionOmit } from '../../types/utils.js'
20
+ import type { FormattedTransactionRequest } from '../index.js'
20
21
  import { type AssertRequestParameters, assertRequest } from './assertRequest.js'
21
22
 
22
23
  export type PrepareRequestParameters<
23
- TAccount extends Account | undefined = undefined,
24
- > = GetAccountParameter<TAccount> & {
25
- gas?: SendTransactionParameters['gas']
26
- gasPrice?: SendTransactionParameters['gasPrice']
27
- maxFeePerGas?: SendTransactionParameters['maxFeePerGas']
28
- maxPriorityFeePerGas?: SendTransactionParameters['maxPriorityFeePerGas']
29
- nonce?: SendTransactionParameters['nonce']
30
- }
24
+ TChain extends Chain | undefined = Chain | undefined,
25
+ TAccount extends Account | undefined = Account | undefined,
26
+ TChainOverride extends Chain | undefined = Chain | undefined,
27
+ > = UnionOmit<
28
+ FormattedTransactionRequest<
29
+ TChainOverride extends Chain ? TChainOverride : TChain
30
+ >,
31
+ 'from'
32
+ > &
33
+ GetAccountParameter<TAccount> &
34
+ GetChain<TChain, TChainOverride>
31
35
 
32
36
  export type PrepareRequestReturnType<
33
- TAccount extends Account | undefined = undefined,
34
- TParameters extends PrepareRequestParameters<TAccount> = PrepareRequestParameters<TAccount>,
35
- > = TParameters & {
37
+ TChain extends Chain | undefined = Chain | undefined,
38
+ TAccount extends Account | undefined = Account | undefined,
39
+ TChainOverride extends Chain | undefined = Chain | undefined,
40
+ TArgs extends PrepareRequestParameters<
41
+ TChain,
42
+ TAccount,
43
+ TChainOverride
44
+ > = PrepareRequestParameters<TChain, TAccount, TChainOverride>,
45
+ > = TArgs & {
36
46
  from: Address
37
47
  gas: SendTransactionParameters['gas']
38
48
  gasPrice?: SendTransactionParameters['gasPrice']
@@ -41,18 +51,18 @@ export type PrepareRequestReturnType<
41
51
  nonce: SendTransactionParameters['nonce']
42
52
  }
43
53
 
44
- export const defaultTip = 1_500_000_000n // 1.5 gwei
45
-
46
54
  export async function prepareRequest<
47
55
  TChain extends Chain | undefined,
48
56
  TAccount extends Account | undefined,
49
- TParameters extends PrepareRequestParameters<TAccount>,
57
+ TChainOverride extends Chain | undefined,
58
+ TArgs extends PrepareRequestParameters<TChain, TAccount, TChainOverride>,
50
59
  >(
51
60
  client: Client<Transport, TChain, TAccount>,
52
- args: TParameters,
53
- ): Promise<PrepareRequestReturnType<TAccount, TParameters>> {
61
+ args: TArgs,
62
+ ): Promise<PrepareRequestReturnType<TChain, TAccount, TChainOverride, TArgs>> {
54
63
  const {
55
64
  account: account_,
65
+ chain = client.chain,
56
66
  gas,
57
67
  gasPrice,
58
68
  maxFeePerGas,
@@ -72,38 +82,48 @@ export async function prepareRequest<
72
82
  blockTag: 'pending',
73
83
  })
74
84
 
75
- if (typeof block.baseFeePerGas === 'bigint') {
76
- if (typeof gasPrice !== 'undefined')
77
- throw new BaseError('Chain does not support legacy `gasPrice`.')
85
+ if (
86
+ typeof block.baseFeePerGas === 'bigint' &&
87
+ typeof gasPrice === 'undefined'
88
+ ) {
89
+ let defaultPriorityFee = 1_500_000_000n // 1.5 gwei
90
+ if (typeof chain?.fees?.defaultPriorityFee !== 'undefined') {
91
+ defaultPriorityFee =
92
+ typeof chain.fees.defaultPriorityFee === 'bigint'
93
+ ? chain.fees.defaultPriorityFee
94
+ : await chain.fees.defaultPriorityFee({
95
+ block,
96
+ request: request as PrepareRequestParameters,
97
+ })
98
+ }
78
99
 
79
100
  // EIP-1559 fees
80
101
  if (typeof maxFeePerGas === 'undefined') {
81
102
  // Set a buffer of 1.2x on top of the base fee to account for fluctuations.
82
- request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip
103
+ request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee
83
104
  request.maxFeePerGas =
84
105
  (block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas
85
106
  } else {
86
107
  if (
87
108
  typeof maxPriorityFeePerGas === 'undefined' &&
88
- maxFeePerGas < defaultTip
109
+ maxFeePerGas < defaultPriorityFee
89
110
  )
90
111
  throw new BaseError(
91
112
  '`maxFeePerGas` cannot be less than the default `maxPriorityFeePerGas` (1.5 gwei).',
92
113
  )
93
114
  request.maxFeePerGas = maxFeePerGas
94
- request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultTip
115
+ request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee
95
116
  }
96
- } else {
117
+ } else if (typeof gasPrice === 'undefined') {
118
+ // Legacy fees
97
119
  if (
98
120
  typeof maxFeePerGas !== 'undefined' ||
99
121
  typeof maxPriorityFeePerGas !== 'undefined'
100
122
  )
101
123
  throw new BaseError('Chain does not support EIP-1559 fees.')
102
124
 
103
- // Legacy fees
104
- if (typeof gasPrice === 'undefined')
105
- // Set a buffer of 1.2x on top of the base fee to account for fluctuations.
106
- request.gasPrice = ((await getGasPrice(client)) * 120n) / 100n
125
+ // Set a buffer of 1.2x on top of the base fee to account for fluctuations.
126
+ request.gasPrice = ((await getGasPrice(client)) * 120n) / 100n
107
127
  }
108
128
 
109
129
  if (typeof gas === 'undefined')
@@ -114,5 +134,10 @@ export async function prepareRequest<
114
134
 
115
135
  assertRequest(request as AssertRequestParameters)
116
136
 
117
- return request as PrepareRequestReturnType<TAccount, TParameters>
137
+ return request as PrepareRequestReturnType<
138
+ TChain,
139
+ TAccount,
140
+ TChainOverride,
141
+ TArgs
142
+ >
118
143
  }
@@ -9,7 +9,8 @@ export function parseUnits(value: string, decimals: number) {
9
9
 
10
10
  // round off if the fraction is larger than the number of decimals.
11
11
  if (decimals === 0) {
12
- integer = `${Math.round(Number(`${integer}.${fraction}`))}`
12
+ if (Math.round(Number(`.${fraction}`)) === 1)
13
+ integer = `${BigInt(integer) + 1n}`
13
14
  fraction = ''
14
15
  } else if (fraction.length > decimals) {
15
16
  const [left, unit, right] = [
@@ -1 +0,0 @@
1
- {"version":3,"file":"signatureToHex.js","sourceRoot":"","sources":["../../../../src/accounts/utils/signatureToHex.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAGnD,gEAA6D;AAC7D,4DAAqD;AAErD,SAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa;IACnD,OAAO,KAAK,IAAI,qBAAS,CAAC,SAAS,CACjC,IAAA,wBAAW,EAAC,CAAC,CAAC,EACd,IAAA,wBAAW,EAAC,CAAC,CAAC,CACf,CAAC,YAAY,EAAE,GAAG,IAAA,gBAAK,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACxC,CAAC;AALD,wCAKC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/formatters/celo.ts"],"names":[],"mappings":";;;AAMA,gEAA6D;AAC7D,4DAA2D;AAC3D,8DAA6D;AAC7D,0EAG8C;AAC9C,wFAAuF;AACvF,wFAAuF;AAsC1E,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAgB,IAAA,sBAAW,EAAC;QAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjE,MAAM,CAAC,IAAqC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,OAAO;oBACL,GAAG,IAAA,kCAAiB,EAAC,WAAW,CAAC;oBACjC,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,UAAU,EAAE,WAAW,CAAC,UAAU;wBAChC,CAAC,CAAC,IAAA,wBAAW,EAAC,WAAW,CAAC,UAAU,CAAC;wBACrC,CAAC,CAAC,IAAI;oBACR,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;iBACrD,CAAA;YACH,CAAC,CAAkE,CAAA;YACnE,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAgB,IAAA,kCAAiB,EAAC;QAC3C,MAAM,CAAC,IAA2C;YAChD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAgB,IAAA,gDAAwB,EAAC;QACzD,MAAM,CAAC,IAAkD;YACvD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAgB,IAAA,gDAAwB,EAAC;QACzD,MAAM,CAAC,IAA+C;YACpD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EACR,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;oBACpC,CAAC,CAAC,IAAA,sBAAW,EAAC,IAAI,CAAC,UAAU,CAAC;oBAC9B,CAAC,CAAC,SAAS;gBACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimism.js","sourceRoot":"","sources":["../../../../src/chains/formatters/optimism.ts"],"names":[],"mappings":";;;AAYA,gEAA6D;AAC7D,8DAA6D;AAC7D,0EAG8C;AAsCjC,QAAA,kBAAkB,GAAG;IAChC,KAAK,EAAgB,IAAA,sBAAW,EAAC;QAC/B,MAAM,CAAC,IAAyC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,MAAM,SAAS,GAAG,IAAA,kCAAiB,EACjC,WAA6B,CACY,CAAA;gBAC3C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE;oBAChC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;wBAC/B,CAAC,CAAC,IAAA,wBAAW,EAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,CAAC,CAAC,SAAS,CAAA;oBACb,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,SAAS,CAAA;iBAC3B;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAsD,CAAA;YACvD,OAAO;gBACL,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAgB,IAAA,kCAAiB,EAAC;QAC3C,MAAM,CAAC,IAA+C;YACpD,MAAM,WAAW,GAAG,EAA4C,CAAA;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAA;aAC7B;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/serializers/celo.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { secp256k1 } from '@noble/curves/secp256k1';
2
- import { hexToBigInt } from '../../utils/encoding/fromHex.js';
3
- import { toHex } from '../../utils/encoding/toHex.js';
4
- export function signatureToHex({ r, s, v }) {
5
- return `0x${new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).toCompactHex()}${toHex(v).slice(2)}`;
6
- }
7
- //# sourceMappingURL=signatureToHex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signatureToHex.js","sourceRoot":"","sources":["../../../../src/accounts/utils/signatureToHex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,UAAU,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa;IACnD,OAAO,KAAK,IAAI,SAAS,CAAC,SAAS,CACjC,WAAW,CAAC,CAAC,CAAC,EACd,WAAW,CAAC,CAAC,CAAC,CACf,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACxC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/formatters/celo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAsCvF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;QAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjE,MAAM,CAAC,IAAqC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,OAAO;oBACL,GAAG,iBAAiB,CAAC,WAAW,CAAC;oBACjC,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,UAAU,EAAE,WAAW,CAAC,UAAU;wBAChC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC;wBACrC,CAAC,CAAC,IAAI;oBACR,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;iBACrD,CAAA;YACH,CAAC,CAAkE,CAAA;YACnE,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC;QAC3C,MAAM,CAAC,IAA2C;YAChD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QACzD,MAAM,CAAC,IAAkD;YACvD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,wBAAwB,CAAC;QACzD,MAAM,CAAC,IAA+C;YACpD,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EACR,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW;oBACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC9B,CAAC,CAAC,SAAS;gBACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAA;QACH,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimism.js","sourceRoot":"","sources":["../../../../src/chains/formatters/optimism.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,MAAM,0BAA0B,CAAA;AAW1D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAsC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;QAC/B,MAAM,CAAC,IAAyC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,MAAM,SAAS,GAAG,iBAAiB,CACjC,WAA6B,CACY,CAAA;gBAC3C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE;oBAChC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;wBAC/B,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,CAAC,CAAC,SAAS,CAAA;oBACb,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,SAAS,CAAA;iBAC3B;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAsD,CAAA;YACvD,OAAO;gBACL,YAAY;aACb,CAAA;QACH,CAAC;KACF,CAAC;IACF,WAAW,EAAE,aAAa,CAAC,iBAAiB,CAAC;QAC3C,MAAM,CAAC,IAA+C;YACpD,MAAM,WAAW,GAAG,EAA4C,CAAA;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAA;aAC7B;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;KACF,CAAC;CAC2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../../src/chains/serializers/celo.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=serializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import type { Hex, Signature } from '../../types/misc.js';
2
- export declare function signatureToHex({ r, s, v }: Signature): Hex;
3
- //# sourceMappingURL=signatureToHex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signatureToHex.d.ts","sourceRoot":"","sources":["../../../../src/accounts/utils/signatureToHex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIzD,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,GAAG,CAK1D"}