ox 1.0.0-beta.2 → 1.0.0-beta.21

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 (666) hide show
  1. package/dist/core/Abi.d.ts +6 -2
  2. package/dist/core/Abi.d.ts.map +1 -1
  3. package/dist/core/Abi.js +6 -3
  4. package/dist/core/Abi.js.map +1 -1
  5. package/dist/core/AbiConstructor.d.ts +2 -1
  6. package/dist/core/AbiConstructor.d.ts.map +1 -1
  7. package/dist/core/AbiConstructor.js +2 -2
  8. package/dist/core/AbiConstructor.js.map +1 -1
  9. package/dist/core/AbiError.d.ts +3 -1
  10. package/dist/core/AbiError.d.ts.map +1 -1
  11. package/dist/core/AbiError.js +2 -2
  12. package/dist/core/AbiError.js.map +1 -1
  13. package/dist/core/AbiEvent.d.ts +3 -1
  14. package/dist/core/AbiEvent.d.ts.map +1 -1
  15. package/dist/core/AbiEvent.js +2 -2
  16. package/dist/core/AbiEvent.js.map +1 -1
  17. package/dist/core/AbiFunction.d.ts +3 -1
  18. package/dist/core/AbiFunction.d.ts.map +1 -1
  19. package/dist/core/AbiFunction.js +2 -2
  20. package/dist/core/AbiFunction.js.map +1 -1
  21. package/dist/core/AbiItem.d.ts +6 -3
  22. package/dist/core/AbiItem.d.ts.map +1 -1
  23. package/dist/core/AbiItem.js +9 -7
  24. package/dist/core/AbiItem.js.map +1 -1
  25. package/dist/core/AbiParameter.d.ts +88 -0
  26. package/dist/core/AbiParameter.d.ts.map +1 -0
  27. package/dist/core/AbiParameter.js +82 -0
  28. package/dist/core/AbiParameter.js.map +1 -0
  29. package/dist/core/AbiParameters.d.ts +58 -2
  30. package/dist/core/AbiParameters.d.ts.map +1 -1
  31. package/dist/core/AbiParameters.js +60 -6
  32. package/dist/core/AbiParameters.js.map +1 -1
  33. package/dist/core/AccountProof.d.ts +3 -1
  34. package/dist/core/AccountProof.d.ts.map +1 -1
  35. package/dist/core/AccountProof.js +3 -4
  36. package/dist/core/AccountProof.js.map +1 -1
  37. package/dist/core/Authorization.d.ts +6 -2
  38. package/dist/core/Authorization.d.ts.map +1 -1
  39. package/dist/core/Authorization.js +3 -2
  40. package/dist/core/Authorization.js.map +1 -1
  41. package/dist/core/Block.d.ts +3 -1
  42. package/dist/core/Block.d.ts.map +1 -1
  43. package/dist/core/Block.js +12 -13
  44. package/dist/core/Block.js.map +1 -1
  45. package/dist/core/BlockOverrides.d.ts +5 -1
  46. package/dist/core/BlockOverrides.d.ts.map +1 -1
  47. package/dist/core/BlockOverrides.js +12 -12
  48. package/dist/core/BlockOverrides.js.map +1 -1
  49. package/dist/core/Filter.d.ts +3 -1
  50. package/dist/core/Filter.d.ts.map +1 -1
  51. package/dist/core/Filter.js +4 -4
  52. package/dist/core/Filter.js.map +1 -1
  53. package/dist/core/Log.d.ts +4 -2
  54. package/dist/core/Log.d.ts.map +1 -1
  55. package/dist/core/Log.js +4 -4
  56. package/dist/core/Log.js.map +1 -1
  57. package/dist/core/Rlp.d.ts +27 -5
  58. package/dist/core/Rlp.d.ts.map +1 -1
  59. package/dist/core/Rlp.js +40 -4
  60. package/dist/core/Rlp.js.map +1 -1
  61. package/dist/core/RpcSchema.d.ts +2 -2
  62. package/dist/core/Signature.d.ts +3 -1
  63. package/dist/core/Signature.d.ts.map +1 -1
  64. package/dist/core/Signature.js +2 -1
  65. package/dist/core/Signature.js.map +1 -1
  66. package/dist/core/StateOverrides.d.ts +5 -1
  67. package/dist/core/StateOverrides.d.ts.map +1 -1
  68. package/dist/core/StateOverrides.js +4 -4
  69. package/dist/core/StateOverrides.js.map +1 -1
  70. package/dist/core/Transaction.d.ts +3 -1
  71. package/dist/core/Transaction.d.ts.map +1 -1
  72. package/dist/core/Transaction.js +26 -26
  73. package/dist/core/Transaction.js.map +1 -1
  74. package/dist/core/TransactionReceipt.d.ts +3 -1
  75. package/dist/core/TransactionReceipt.d.ts.map +1 -1
  76. package/dist/core/TransactionReceipt.js +8 -8
  77. package/dist/core/TransactionReceipt.js.map +1 -1
  78. package/dist/core/TransactionRequest.d.ts +3 -1
  79. package/dist/core/TransactionRequest.d.ts.map +1 -1
  80. package/dist/core/TransactionRequest.js +11 -10
  81. package/dist/core/TransactionRequest.js.map +1 -1
  82. package/dist/core/TxEnvelope.d.ts +3 -1
  83. package/dist/core/TxEnvelope.d.ts.map +1 -1
  84. package/dist/core/TxEnvelope.js.map +1 -1
  85. package/dist/core/TxEnvelopeEip1559.d.ts +3 -1
  86. package/dist/core/TxEnvelopeEip1559.d.ts.map +1 -1
  87. package/dist/core/TxEnvelopeEip1559.js +12 -11
  88. package/dist/core/TxEnvelopeEip1559.js.map +1 -1
  89. package/dist/core/TxEnvelopeEip2930.d.ts +3 -1
  90. package/dist/core/TxEnvelopeEip2930.d.ts.map +1 -1
  91. package/dist/core/TxEnvelopeEip2930.js +10 -9
  92. package/dist/core/TxEnvelopeEip2930.js.map +1 -1
  93. package/dist/core/TxEnvelopeEip4844.d.ts +3 -1
  94. package/dist/core/TxEnvelopeEip4844.d.ts.map +1 -1
  95. package/dist/core/TxEnvelopeEip4844.js +16 -13
  96. package/dist/core/TxEnvelopeEip4844.js.map +1 -1
  97. package/dist/core/TxEnvelopeEip7702.d.ts +3 -1
  98. package/dist/core/TxEnvelopeEip7702.d.ts.map +1 -1
  99. package/dist/core/TxEnvelopeEip7702.js +12 -11
  100. package/dist/core/TxEnvelopeEip7702.js.map +1 -1
  101. package/dist/core/TxEnvelopeLegacy.d.ts +7 -1
  102. package/dist/core/TxEnvelopeLegacy.d.ts.map +1 -1
  103. package/dist/core/TxEnvelopeLegacy.js +9 -8
  104. package/dist/core/TxEnvelopeLegacy.js.map +1 -1
  105. package/dist/core/Withdrawal.d.ts +4 -2
  106. package/dist/core/Withdrawal.d.ts.map +1 -1
  107. package/dist/core/Withdrawal.js +4 -4
  108. package/dist/core/Withdrawal.js.map +1 -1
  109. package/dist/core/internal/abiParameters.d.ts.map +1 -1
  110. package/dist/core/internal/abiParameters.js +21 -3
  111. package/dist/core/internal/abiParameters.js.map +1 -1
  112. package/dist/core/internal/human-readable/errors.d.ts +103 -0
  113. package/dist/core/internal/human-readable/errors.d.ts.map +1 -0
  114. package/dist/core/internal/human-readable/errors.js +142 -0
  115. package/dist/core/internal/human-readable/errors.js.map +1 -0
  116. package/dist/core/internal/human-readable/formatAbi.d.ts +19 -0
  117. package/dist/core/internal/human-readable/formatAbi.d.ts.map +1 -0
  118. package/dist/core/internal/human-readable/formatAbi.js +18 -0
  119. package/dist/core/internal/human-readable/formatAbi.js.map +1 -0
  120. package/dist/core/internal/human-readable/formatAbiItem.d.ts +23 -0
  121. package/dist/core/internal/human-readable/formatAbiItem.d.ts.map +1 -0
  122. package/dist/core/internal/human-readable/formatAbiItem.js +25 -0
  123. package/dist/core/internal/human-readable/formatAbiItem.js.map +1 -0
  124. package/dist/core/internal/human-readable/formatAbiParameter.d.ts +41 -0
  125. package/dist/core/internal/human-readable/formatAbiParameter.d.ts.map +1 -0
  126. package/dist/core/internal/human-readable/formatAbiParameter.js +36 -0
  127. package/dist/core/internal/human-readable/formatAbiParameter.js.map +1 -0
  128. package/dist/core/internal/human-readable/formatAbiParameters.d.ts +26 -0
  129. package/dist/core/internal/human-readable/formatAbiParameters.d.ts.map +1 -0
  130. package/dist/core/internal/human-readable/formatAbiParameters.js +19 -0
  131. package/dist/core/internal/human-readable/formatAbiParameters.js.map +1 -0
  132. package/dist/core/internal/human-readable/parseAbi.d.ts +22 -0
  133. package/dist/core/internal/human-readable/parseAbi.d.ts.map +1 -0
  134. package/dist/core/internal/human-readable/parseAbi.js +22 -0
  135. package/dist/core/internal/human-readable/parseAbi.js.map +1 -0
  136. package/dist/core/internal/human-readable/parseAbiItem.d.ts +23 -0
  137. package/dist/core/internal/human-readable/parseAbiItem.d.ts.map +1 -0
  138. package/dist/core/internal/human-readable/parseAbiItem.js +30 -0
  139. package/dist/core/internal/human-readable/parseAbiItem.js.map +1 -0
  140. package/dist/core/internal/human-readable/parseAbiParameter.d.ts +28 -0
  141. package/dist/core/internal/human-readable/parseAbiParameter.d.ts.map +1 -0
  142. package/dist/core/internal/human-readable/parseAbiParameter.js +32 -0
  143. package/dist/core/internal/human-readable/parseAbiParameter.js.map +1 -0
  144. package/dist/core/internal/human-readable/parseAbiParameters.d.ts +38 -0
  145. package/dist/core/internal/human-readable/parseAbiParameters.d.ts.map +1 -0
  146. package/dist/core/internal/human-readable/parseAbiParameters.js +39 -0
  147. package/dist/core/internal/human-readable/parseAbiParameters.js.map +1 -0
  148. package/dist/core/internal/human-readable/regex.d.ts +9 -0
  149. package/dist/core/internal/human-readable/regex.d.ts.map +1 -0
  150. package/dist/core/internal/human-readable/regex.js +12 -0
  151. package/dist/core/internal/human-readable/regex.js.map +1 -0
  152. package/dist/core/internal/human-readable/runtime/cache.d.ts +22 -0
  153. package/dist/core/internal/human-readable/runtime/cache.d.ts.map +1 -0
  154. package/dist/core/internal/human-readable/runtime/cache.js +86 -0
  155. package/dist/core/internal/human-readable/runtime/cache.js.map +1 -0
  156. package/dist/core/internal/human-readable/runtime/signatures.d.ts +39 -0
  157. package/dist/core/internal/human-readable/runtime/signatures.d.ts.map +1 -0
  158. package/dist/core/internal/human-readable/runtime/signatures.js +67 -0
  159. package/dist/core/internal/human-readable/runtime/signatures.js.map +1 -0
  160. package/dist/core/internal/human-readable/runtime/structs.d.ts +3 -0
  161. package/dist/core/internal/human-readable/runtime/structs.d.ts.map +1 -0
  162. package/dist/core/internal/human-readable/runtime/structs.js +79 -0
  163. package/dist/core/internal/human-readable/runtime/structs.js.map +1 -0
  164. package/dist/core/internal/human-readable/runtime/utils.d.ts +205 -0
  165. package/dist/core/internal/human-readable/runtime/utils.d.ts.map +1 -0
  166. package/dist/core/internal/human-readable/runtime/utils.js +232 -0
  167. package/dist/core/internal/human-readable/runtime/utils.js.map +1 -0
  168. package/dist/core/internal/human-readable/types/signatures.d.ts +38 -0
  169. package/dist/core/internal/human-readable/types/signatures.d.ts.map +1 -0
  170. package/dist/core/internal/human-readable/types/signatures.js +2 -0
  171. package/dist/core/internal/human-readable/types/signatures.js.map +1 -0
  172. package/dist/core/internal/human-readable/types/structs.d.ts +48 -0
  173. package/dist/core/internal/human-readable/types/structs.d.ts.map +1 -0
  174. package/dist/core/internal/human-readable/types/structs.js +2 -0
  175. package/dist/core/internal/human-readable/types/structs.js.map +1 -0
  176. package/dist/core/internal/human-readable/types/utils.d.ts +163 -0
  177. package/dist/core/internal/human-readable/types/utils.d.ts.map +1 -0
  178. package/dist/core/internal/human-readable/types/utils.js +2 -0
  179. package/dist/core/internal/human-readable/types/utils.js.map +1 -0
  180. package/dist/core/internal/human-readable/types.d.ts +29 -0
  181. package/dist/core/internal/human-readable/types.d.ts.map +1 -0
  182. package/dist/core/internal/human-readable/types.js +2 -0
  183. package/dist/core/internal/human-readable/types.js.map +1 -0
  184. package/dist/core/internal/quantity.d.ts +15 -0
  185. package/dist/core/internal/quantity.d.ts.map +1 -1
  186. package/dist/core/internal/quantity.js +23 -0
  187. package/dist/core/internal/quantity.js.map +1 -1
  188. package/dist/core/internal/rpcSchemas/eth.d.ts +56 -10
  189. package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  190. package/dist/erc4337/UserOperation.d.ts +3 -1
  191. package/dist/erc4337/UserOperation.d.ts.map +1 -1
  192. package/dist/erc4337/UserOperation.js +11 -10
  193. package/dist/erc4337/UserOperation.js.map +1 -1
  194. package/dist/erc4337/UserOperationGas.d.ts +5 -1
  195. package/dist/erc4337/UserOperationGas.d.ts.map +1 -1
  196. package/dist/erc4337/UserOperationGas.js +8 -8
  197. package/dist/erc4337/UserOperationGas.js.map +1 -1
  198. package/dist/erc4337/UserOperationReceipt.d.ts +5 -1
  199. package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -1
  200. package/dist/erc4337/UserOperationReceipt.js +4 -4
  201. package/dist/erc4337/UserOperationReceipt.js.map +1 -1
  202. package/dist/index.d.ts +37 -0
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.js +37 -0
  205. package/dist/index.js.map +1 -1
  206. package/dist/tempo/AuthorizationTempo.d.ts +6 -2
  207. package/dist/tempo/AuthorizationTempo.d.ts.map +1 -1
  208. package/dist/tempo/AuthorizationTempo.js +3 -2
  209. package/dist/tempo/AuthorizationTempo.js.map +1 -1
  210. package/dist/tempo/Channel.d.ts +8 -14
  211. package/dist/tempo/Channel.d.ts.map +1 -1
  212. package/dist/tempo/Channel.js +4 -8
  213. package/dist/tempo/Channel.js.map +1 -1
  214. package/dist/tempo/KeyAuthorization.d.ts +8 -6
  215. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  216. package/dist/tempo/KeyAuthorization.js +10 -8
  217. package/dist/tempo/KeyAuthorization.js.map +1 -1
  218. package/dist/tempo/MultisigConfig.d.ts +37 -85
  219. package/dist/tempo/MultisigConfig.d.ts.map +1 -1
  220. package/dist/tempo/MultisigConfig.js +39 -83
  221. package/dist/tempo/MultisigConfig.js.map +1 -1
  222. package/dist/tempo/PoolId.d.ts +8 -7
  223. package/dist/tempo/PoolId.d.ts.map +1 -1
  224. package/dist/tempo/PoolId.js +10 -6
  225. package/dist/tempo/PoolId.js.map +1 -1
  226. package/dist/tempo/RpcSchemaTempo.d.ts +1 -1
  227. package/dist/tempo/RpcSchemaTempo.d.ts.map +1 -1
  228. package/dist/tempo/SignatureEnvelope.d.ts +35 -31
  229. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
  230. package/dist/tempo/SignatureEnvelope.js +56 -51
  231. package/dist/tempo/SignatureEnvelope.js.map +1 -1
  232. package/dist/tempo/Transaction.d.ts +19 -6
  233. package/dist/tempo/Transaction.d.ts.map +1 -1
  234. package/dist/tempo/Transaction.js +41 -13
  235. package/dist/tempo/Transaction.js.map +1 -1
  236. package/dist/tempo/TransactionReceipt.d.ts +5 -3
  237. package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
  238. package/dist/tempo/TransactionReceipt.js +8 -1
  239. package/dist/tempo/TransactionReceipt.js.map +1 -1
  240. package/dist/tempo/TransactionRequest.d.ts +18 -3
  241. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  242. package/dist/tempo/TransactionRequest.js +72 -35
  243. package/dist/tempo/TransactionRequest.js.map +1 -1
  244. package/dist/tempo/TxEnvelopeTempo.d.ts +2 -3
  245. package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  246. package/dist/tempo/TxEnvelopeTempo.js +5 -6
  247. package/dist/tempo/TxEnvelopeTempo.js.map +1 -1
  248. package/dist/tempo/index.d.ts +6 -26
  249. package/dist/tempo/index.d.ts.map +1 -1
  250. package/dist/tempo/index.js +6 -26
  251. package/dist/tempo/index.js.map +1 -1
  252. package/dist/zod/Abi.d.ts +214 -0
  253. package/dist/zod/Abi.d.ts.map +1 -0
  254. package/dist/zod/Abi.js +5 -0
  255. package/dist/zod/Abi.js.map +1 -0
  256. package/dist/zod/AbiConstructor.d.ts +58 -0
  257. package/dist/zod/AbiConstructor.d.ts.map +1 -0
  258. package/dist/zod/AbiConstructor.js +18 -0
  259. package/dist/zod/AbiConstructor.js.map +1 -0
  260. package/dist/zod/AbiError.d.ts +20 -0
  261. package/dist/zod/AbiError.d.ts.map +1 -0
  262. package/dist/zod/AbiError.js +9 -0
  263. package/dist/zod/AbiError.js.map +1 -0
  264. package/dist/zod/AbiEvent.d.ts +23 -0
  265. package/dist/zod/AbiEvent.d.ts.map +1 -0
  266. package/dist/zod/AbiEvent.js +11 -0
  267. package/dist/zod/AbiEvent.js.map +1 -0
  268. package/dist/zod/AbiFallback.d.ts +16 -0
  269. package/dist/zod/AbiFallback.d.ts.map +1 -0
  270. package/dist/zod/AbiFallback.js +16 -0
  271. package/dist/zod/AbiFallback.js.map +1 -0
  272. package/dist/zod/AbiFunction.d.ts +109 -0
  273. package/dist/zod/AbiFunction.d.ts.map +1 -0
  274. package/dist/zod/AbiFunction.js +26 -0
  275. package/dist/zod/AbiFunction.js.map +1 -0
  276. package/dist/zod/AbiItem.d.ts +216 -0
  277. package/dist/zod/AbiItem.d.ts.map +1 -0
  278. package/dist/zod/AbiItem.js +26 -0
  279. package/dist/zod/AbiItem.js.map +1 -0
  280. package/dist/zod/AbiParameter.d.ts +32 -0
  281. package/dist/zod/AbiParameter.d.ts.map +1 -0
  282. package/dist/zod/AbiParameter.js +28 -0
  283. package/dist/zod/AbiParameter.js.map +1 -0
  284. package/dist/zod/AbiParameters.d.ts +30 -0
  285. package/dist/zod/AbiParameters.d.ts.map +1 -0
  286. package/dist/zod/AbiParameters.js +6 -0
  287. package/dist/zod/AbiParameters.js.map +1 -0
  288. package/dist/zod/AbiReceive.d.ts +6 -0
  289. package/dist/zod/AbiReceive.d.ts.map +1 -0
  290. package/dist/zod/AbiReceive.js +7 -0
  291. package/dist/zod/AbiReceive.js.map +1 -0
  292. package/dist/zod/AccountProof.d.ts +20 -0
  293. package/dist/zod/AccountProof.d.ts.map +1 -1
  294. package/dist/zod/AccountProof.js +24 -14
  295. package/dist/zod/AccountProof.js.map +1 -1
  296. package/dist/zod/Authorization.d.ts +43 -0
  297. package/dist/zod/Authorization.d.ts.map +1 -1
  298. package/dist/zod/Authorization.js +36 -16
  299. package/dist/zod/Authorization.js.map +1 -1
  300. package/dist/zod/BigInt.d.ts +2 -0
  301. package/dist/zod/BigInt.d.ts.map +1 -1
  302. package/dist/zod/BigInt.js +6 -1
  303. package/dist/zod/BigInt.js.map +1 -1
  304. package/dist/zod/Block.d.ts +219 -0
  305. package/dist/zod/Block.d.ts.map +1 -1
  306. package/dist/zod/Block.js +24 -20
  307. package/dist/zod/Block.js.map +1 -1
  308. package/dist/zod/BlockOverrides.d.ts +16 -0
  309. package/dist/zod/BlockOverrides.d.ts.map +1 -1
  310. package/dist/zod/BlockOverrides.js +15 -10
  311. package/dist/zod/BlockOverrides.js.map +1 -1
  312. package/dist/zod/Filter.d.ts +14 -0
  313. package/dist/zod/Filter.d.ts.map +1 -1
  314. package/dist/zod/Filter.js +24 -19
  315. package/dist/zod/Filter.js.map +1 -1
  316. package/dist/zod/Log.d.ts +15 -2
  317. package/dist/zod/Log.d.ts.map +1 -1
  318. package/dist/zod/Log.js +18 -13
  319. package/dist/zod/Log.js.map +1 -1
  320. package/dist/zod/Number.d.ts +2 -0
  321. package/dist/zod/Number.d.ts.map +1 -1
  322. package/dist/zod/Number.js +6 -1
  323. package/dist/zod/Number.js.map +1 -1
  324. package/dist/zod/RpcSchema.d.ts +318 -112
  325. package/dist/zod/RpcSchema.d.ts.map +1 -1
  326. package/dist/zod/RpcSchema.js +30 -82
  327. package/dist/zod/RpcSchema.js.map +1 -1
  328. package/dist/zod/Signature.d.ts +6 -0
  329. package/dist/zod/Signature.d.ts.map +1 -1
  330. package/dist/zod/Signature.js +9 -1
  331. package/dist/zod/Signature.js.map +1 -1
  332. package/dist/zod/Solidity.d.ts +15 -0
  333. package/dist/zod/Solidity.d.ts.map +1 -0
  334. package/dist/zod/Solidity.js +41 -0
  335. package/dist/zod/Solidity.js.map +1 -0
  336. package/dist/zod/StateOverrides.d.ts +32 -0
  337. package/dist/zod/StateOverrides.d.ts.map +1 -1
  338. package/dist/zod/StateOverrides.js +25 -18
  339. package/dist/zod/StateOverrides.js.map +1 -1
  340. package/dist/zod/Transaction.d.ts +312 -0
  341. package/dist/zod/Transaction.d.ts.map +1 -1
  342. package/dist/zod/Transaction.js +138 -93
  343. package/dist/zod/Transaction.js.map +1 -1
  344. package/dist/zod/TransactionEnvelope.d.ts +222 -0
  345. package/dist/zod/TransactionEnvelope.d.ts.map +1 -1
  346. package/dist/zod/TransactionEnvelope.js +19 -3
  347. package/dist/zod/TransactionEnvelope.js.map +1 -1
  348. package/dist/zod/TransactionReceipt.d.ts +32 -1
  349. package/dist/zod/TransactionReceipt.d.ts.map +1 -1
  350. package/dist/zod/TransactionReceipt.js +24 -19
  351. package/dist/zod/TransactionReceipt.js.map +1 -1
  352. package/dist/zod/TransactionRequest.d.ts +34 -0
  353. package/dist/zod/TransactionRequest.d.ts.map +1 -1
  354. package/dist/zod/TransactionRequest.js +28 -23
  355. package/dist/zod/TransactionRequest.js.map +1 -1
  356. package/dist/zod/TxEnvelopeEip1559.d.ts +44 -0
  357. package/dist/zod/TxEnvelopeEip1559.d.ts.map +1 -1
  358. package/dist/zod/TxEnvelopeEip1559.js +23 -14
  359. package/dist/zod/TxEnvelopeEip1559.js.map +1 -1
  360. package/dist/zod/TxEnvelopeEip2930.d.ts +42 -0
  361. package/dist/zod/TxEnvelopeEip2930.d.ts.map +1 -1
  362. package/dist/zod/TxEnvelopeEip2930.js +21 -12
  363. package/dist/zod/TxEnvelopeEip2930.js.map +1 -1
  364. package/dist/zod/TxEnvelopeEip4844.d.ts +58 -0
  365. package/dist/zod/TxEnvelopeEip4844.d.ts.map +1 -1
  366. package/dist/zod/TxEnvelopeEip4844.js +29 -20
  367. package/dist/zod/TxEnvelopeEip4844.js.map +1 -1
  368. package/dist/zod/TxEnvelopeEip7702.d.ts +60 -0
  369. package/dist/zod/TxEnvelopeEip7702.d.ts.map +1 -1
  370. package/dist/zod/TxEnvelopeEip7702.js +25 -16
  371. package/dist/zod/TxEnvelopeEip7702.js.map +1 -1
  372. package/dist/zod/TxEnvelopeLegacy.d.ts +34 -0
  373. package/dist/zod/TxEnvelopeLegacy.d.ts.map +1 -1
  374. package/dist/zod/TxEnvelopeLegacy.js +19 -10
  375. package/dist/zod/TxEnvelopeLegacy.js.map +1 -1
  376. package/dist/zod/TypedData.d.ts +226 -0
  377. package/dist/zod/TypedData.d.ts.map +1 -0
  378. package/dist/zod/TypedData.js +84 -0
  379. package/dist/zod/TypedData.js.map +1 -0
  380. package/dist/zod/Uint.d.ts +4 -0
  381. package/dist/zod/Uint.d.ts.map +1 -1
  382. package/dist/zod/Uint.js +14 -1
  383. package/dist/zod/Uint.js.map +1 -1
  384. package/dist/zod/Withdrawal.d.ts +7 -0
  385. package/dist/zod/Withdrawal.d.ts.map +1 -1
  386. package/dist/zod/Withdrawal.js +11 -6
  387. package/dist/zod/Withdrawal.js.map +1 -1
  388. package/dist/zod/internal/Integer.d.ts +15 -0
  389. package/dist/zod/internal/Integer.d.ts.map +1 -1
  390. package/dist/zod/internal/Integer.js +39 -0
  391. package/dist/zod/internal/Integer.js.map +1 -1
  392. package/dist/zod/internal/TransactionEnvelope.d.ts +38 -28
  393. package/dist/zod/internal/TransactionEnvelope.d.ts.map +1 -1
  394. package/dist/zod/internal/TransactionEnvelope.js +22 -15
  395. package/dist/zod/internal/TransactionEnvelope.js.map +1 -1
  396. package/dist/zod/internal/rpcSchemas/Eth.d.ts +260 -123
  397. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
  398. package/dist/zod/internal/rpcSchemas/Eth.js +17 -6
  399. package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
  400. package/dist/zod/internal/rpcSchemas/Wallet.d.ts +1 -1
  401. package/dist/zod/tempo/AuthorizationTempo.d.ts +405 -12
  402. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
  403. package/dist/zod/tempo/AuthorizationTempo.js +20 -0
  404. package/dist/zod/tempo/AuthorizationTempo.js.map +1 -1
  405. package/dist/zod/tempo/KeyAuthorization.d.ts +838 -69
  406. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
  407. package/dist/zod/tempo/KeyAuthorization.js +49 -8
  408. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  409. package/dist/zod/tempo/RpcSchemaTempo.d.ts +218 -36
  410. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  411. package/dist/zod/tempo/SignatureEnvelope.d.ts +0 -6
  412. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  413. package/dist/zod/tempo/SignatureEnvelope.js +0 -2
  414. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  415. package/dist/zod/tempo/Transaction.d.ts +2203 -192
  416. package/dist/zod/tempo/Transaction.d.ts.map +1 -1
  417. package/dist/zod/tempo/Transaction.js +113 -33
  418. package/dist/zod/tempo/Transaction.js.map +1 -1
  419. package/dist/zod/tempo/TransactionReceipt.d.ts +34 -1
  420. package/dist/zod/tempo/TransactionReceipt.d.ts.map +1 -1
  421. package/dist/zod/tempo/TransactionReceipt.js +26 -21
  422. package/dist/zod/tempo/TransactionReceipt.js.map +1 -1
  423. package/dist/zod/tempo/TransactionRequest.d.ts +1049 -57
  424. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  425. package/dist/zod/tempo/TransactionRequest.js +141 -26
  426. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  427. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +225 -18
  428. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  429. package/dist/zod/tempo/TxEnvelopeTempo.js +1 -1
  430. package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -1
  431. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +0 -3
  432. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -1
  433. package/dist/zod/tempo/z.d.ts +0 -1
  434. package/dist/zod/tempo/z.d.ts.map +1 -1
  435. package/dist/zod/tempo/z.js +0 -1
  436. package/dist/zod/tempo/z.js.map +1 -1
  437. package/dist/zod/z.d.ts +15 -3
  438. package/dist/zod/z.d.ts.map +1 -1
  439. package/dist/zod/z.js +15 -3
  440. package/dist/zod/z.js.map +1 -1
  441. package/package.json +66 -11
  442. package/src/CHANGELOG.md +18 -0
  443. package/src/core/Abi.bench.ts +30 -0
  444. package/src/core/Abi.ts +13 -4
  445. package/src/core/AbiConstructor.ts +3 -2
  446. package/src/core/AbiError.ts +6 -2
  447. package/src/core/AbiEvent.ts +6 -2
  448. package/src/core/AbiFunction.ts +6 -2
  449. package/src/core/AbiItem.bench.ts +19 -0
  450. package/src/core/AbiItem.ts +20 -10
  451. package/src/core/AbiParameter.bench.ts +35 -0
  452. package/src/core/AbiParameter.ts +126 -0
  453. package/src/core/AbiParameters.bench.ts +22 -0
  454. package/src/core/AbiParameters.ts +77 -8
  455. package/src/core/AccountProof.ts +7 -4
  456. package/src/core/Authorization.ts +11 -4
  457. package/src/core/Block.ts +24 -13
  458. package/src/core/BlockOverrides.ts +18 -13
  459. package/src/core/Filter.ts +8 -5
  460. package/src/core/Log.ts +10 -6
  461. package/src/core/Rlp.ts +66 -3
  462. package/src/core/RpcSchema.ts +2 -2
  463. package/src/core/Signature.ts +6 -2
  464. package/src/core/StateOverrides.ts +10 -5
  465. package/src/core/Transaction.ts +37 -26
  466. package/src/core/TransactionReceipt.ts +17 -8
  467. package/src/core/TransactionRequest.ts +21 -11
  468. package/src/core/TxEnvelope.ts +9 -2
  469. package/src/core/TxEnvelopeEip1559.ts +21 -12
  470. package/src/core/TxEnvelopeEip2930.ts +17 -10
  471. package/src/core/TxEnvelopeEip4844.ts +25 -14
  472. package/src/core/TxEnvelopeEip7702.ts +21 -12
  473. package/src/core/TxEnvelopeLegacy.ts +20 -9
  474. package/src/core/Withdrawal.ts +9 -5
  475. package/src/core/_test/Abi.test.ts +4 -0
  476. package/src/core/_test/AbiItem.test.ts +3 -0
  477. package/src/core/_test/AbiParameter.test-d.ts +41 -0
  478. package/src/core/_test/AbiParameter.test.ts +84 -0
  479. package/src/core/_test/AbiParameters.decode.test.ts +88 -12
  480. package/src/core/_test/AbiParameters.encode.test.ts +68 -0
  481. package/src/core/_test/AbiParameters.test.ts +7 -0
  482. package/src/core/_test/AccountProof.test.ts +56 -0
  483. package/src/core/_test/Authorization.test.ts +29 -0
  484. package/src/core/_test/Block.test.ts +98 -0
  485. package/src/core/_test/BlockOverrides.test.ts +50 -0
  486. package/src/core/_test/Filter.test.ts +32 -0
  487. package/src/core/_test/Log.test.ts +42 -0
  488. package/src/core/_test/Rlp.test.ts +101 -0
  489. package/src/core/_test/RpcSchema.test-d.ts +12 -0
  490. package/src/core/_test/Signature.test.ts +14 -0
  491. package/src/core/_test/StateOverrides.test.ts +51 -0
  492. package/src/core/_test/Transaction.test.ts +64 -0
  493. package/src/core/_test/TransactionEnvelopeEip1559.test.ts +41 -0
  494. package/src/core/_test/TransactionEnvelopeEip2930.test.ts +38 -0
  495. package/src/core/_test/TransactionEnvelopeEip4844.test.ts +47 -0
  496. package/src/core/_test/TransactionEnvelopeEip7702.test.ts +71 -0
  497. package/src/core/_test/TransactionEnvelopeLegacy.test.ts +38 -0
  498. package/src/core/_test/TransactionReceipt.test.ts +54 -0
  499. package/src/core/_test/Withdrawal.test.ts +33 -0
  500. package/src/core/_test/index.test.ts +1 -0
  501. package/src/core/internal/abiParameters.ts +21 -3
  502. package/src/core/internal/human-readable/_snap/formatAbi.test.ts.snap +74 -0
  503. package/src/core/internal/human-readable/_snap/parseAbi.test.ts.snap +2353 -0
  504. package/src/core/internal/human-readable/errors.test.ts +258 -0
  505. package/src/core/internal/human-readable/errors.ts +205 -0
  506. package/src/core/internal/human-readable/formatAbi.test-d.ts +144 -0
  507. package/src/core/internal/human-readable/formatAbi.test.ts +23 -0
  508. package/src/core/internal/human-readable/formatAbi.ts +37 -0
  509. package/src/core/internal/human-readable/formatAbiItem.test-d.ts +115 -0
  510. package/src/core/internal/human-readable/formatAbiItem.test.ts +102 -0
  511. package/src/core/internal/human-readable/formatAbiItem.ts +136 -0
  512. package/src/core/internal/human-readable/formatAbiParameter.test-d.ts +125 -0
  513. package/src/core/internal/human-readable/formatAbiParameter.test.ts +126 -0
  514. package/src/core/internal/human-readable/formatAbiParameter.ts +86 -0
  515. package/src/core/internal/human-readable/formatAbiParameters.test-d.ts +92 -0
  516. package/src/core/internal/human-readable/formatAbiParameters.test.ts +32 -0
  517. package/src/core/internal/human-readable/formatAbiParameters.ts +46 -0
  518. package/src/core/internal/human-readable/human-readable.bench-d.ts +58 -0
  519. package/src/core/internal/human-readable/integration.test.ts +68 -0
  520. package/src/core/internal/human-readable/parseAbi.test-d.ts +188 -0
  521. package/src/core/internal/human-readable/parseAbi.test.ts +82 -0
  522. package/src/core/internal/human-readable/parseAbi.ts +59 -0
  523. package/src/core/internal/human-readable/parseAbiItem.test-d.ts +183 -0
  524. package/src/core/internal/human-readable/parseAbiItem.test.ts +264 -0
  525. package/src/core/internal/human-readable/parseAbiItem.ts +91 -0
  526. package/src/core/internal/human-readable/parseAbiParameter.test-d.ts +68 -0
  527. package/src/core/internal/human-readable/parseAbiParameter.test.ts +207 -0
  528. package/src/core/internal/human-readable/parseAbiParameter.ts +95 -0
  529. package/src/core/internal/human-readable/parseAbiParameters.test-d.ts +160 -0
  530. package/src/core/internal/human-readable/parseAbiParameters.test.ts +80 -0
  531. package/src/core/internal/human-readable/parseAbiParameters.ts +123 -0
  532. package/src/core/internal/human-readable/regex.ts +15 -0
  533. package/src/core/internal/human-readable/runtime/cache.ts +96 -0
  534. package/src/core/internal/human-readable/runtime/signatures.test.ts +236 -0
  535. package/src/core/internal/human-readable/runtime/signatures.ts +106 -0
  536. package/src/core/internal/human-readable/runtime/structs.test.ts +210 -0
  537. package/src/core/internal/human-readable/runtime/structs.ts +97 -0
  538. package/src/core/internal/human-readable/runtime/utils.test.ts +717 -0
  539. package/src/core/internal/human-readable/runtime/utils.ts +344 -0
  540. package/src/core/internal/human-readable/types/signatures.test-d.ts +255 -0
  541. package/src/core/internal/human-readable/types/signatures.ts +369 -0
  542. package/src/core/internal/human-readable/types/structs.test-d.ts +221 -0
  543. package/src/core/internal/human-readable/types/structs.ts +88 -0
  544. package/src/core/internal/human-readable/types/utils.test-d.ts +1029 -0
  545. package/src/core/internal/human-readable/types/utils.ts +392 -0
  546. package/src/core/internal/human-readable/types.ts +69 -0
  547. package/src/core/internal/quantity.ts +29 -0
  548. package/src/core/internal/rpcSchemas/eth.ts +76 -10
  549. package/src/erc4337/UserOperation.ts +26 -11
  550. package/src/erc4337/UserOperationGas.ts +19 -8
  551. package/src/erc4337/UserOperationReceipt.ts +14 -4
  552. package/src/index.ts +38 -0
  553. package/src/tempo/AuthorizationTempo.ts +11 -4
  554. package/src/tempo/Channel.test.ts +2 -23
  555. package/src/tempo/Channel.ts +10 -22
  556. package/src/tempo/KeyAuthorization.test.ts +22 -0
  557. package/src/tempo/KeyAuthorization.ts +20 -14
  558. package/src/tempo/MultisigConfig.test.ts +54 -37
  559. package/src/tempo/MultisigConfig.ts +59 -134
  560. package/src/tempo/PoolId.test.ts +7 -41
  561. package/src/tempo/PoolId.ts +15 -10
  562. package/src/tempo/RpcSchemaTempo.ts +1 -1
  563. package/src/tempo/SignatureEnvelope.test.ts +118 -17
  564. package/src/tempo/SignatureEnvelope.ts +81 -73
  565. package/src/tempo/Transaction.test.ts +0 -15
  566. package/src/tempo/Transaction.ts +78 -19
  567. package/src/tempo/TransactionReceipt.test.ts +76 -0
  568. package/src/tempo/TransactionReceipt.ts +19 -5
  569. package/src/tempo/TransactionRequest.test.ts +174 -1
  570. package/src/tempo/TransactionRequest.ts +98 -39
  571. package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
  572. package/src/tempo/TxEnvelopeTempo.ts +7 -7
  573. package/src/tempo/e2e.test.ts +228 -50
  574. package/src/tempo/index.ts +6 -26
  575. package/src/version.ts +1 -1
  576. package/src/zod/Abi.ts +5 -0
  577. package/src/zod/AbiConstructor.ts +24 -0
  578. package/src/zod/AbiError.ts +9 -0
  579. package/src/zod/AbiEvent.ts +11 -0
  580. package/src/zod/AbiFallback.ts +22 -0
  581. package/src/zod/AbiFunction.ts +32 -0
  582. package/src/zod/AbiItem.ts +28 -0
  583. package/src/zod/AbiParameter.ts +36 -0
  584. package/src/zod/AbiParameters.ts +7 -0
  585. package/src/zod/AbiReceive.ts +7 -0
  586. package/src/zod/AccountProof.ts +36 -14
  587. package/src/zod/Authorization.ts +65 -18
  588. package/src/zod/BigInt.ts +12 -1
  589. package/src/zod/Block.ts +68 -26
  590. package/src/zod/BlockOverrides.ts +24 -10
  591. package/src/zod/Filter.ts +26 -21
  592. package/src/zod/Log.ts +23 -13
  593. package/src/zod/Number.ts +12 -1
  594. package/src/zod/RpcSchema.ts +123 -29
  595. package/src/zod/Signature.ts +18 -3
  596. package/src/zod/Solidity.ts +83 -0
  597. package/src/zod/StateOverrides.ts +31 -19
  598. package/src/zod/Transaction.ts +254 -101
  599. package/src/zod/TransactionEnvelope.ts +27 -3
  600. package/src/zod/TransactionReceipt.ts +34 -19
  601. package/src/zod/TransactionRequest.ts +42 -23
  602. package/src/zod/TxEnvelopeEip1559.ts +34 -13
  603. package/src/zod/TxEnvelopeEip2930.ts +32 -11
  604. package/src/zod/TxEnvelopeEip4844.ts +40 -19
  605. package/src/zod/TxEnvelopeEip7702.ts +46 -15
  606. package/src/zod/TxEnvelopeLegacy.ts +30 -9
  607. package/src/zod/TypedData.ts +111 -0
  608. package/src/zod/Uint.ts +19 -0
  609. package/src/zod/Withdrawal.ts +18 -6
  610. package/src/zod/_test/Abi.test-d.ts +46 -0
  611. package/src/zod/_test/Abi.test.ts +163 -0
  612. package/src/zod/_test/AccountProof.test.ts +32 -0
  613. package/src/zod/_test/Authorization.test.ts +42 -0
  614. package/src/zod/_test/BigInt.test.ts +9 -1
  615. package/src/zod/_test/Block.test.ts +54 -0
  616. package/src/zod/_test/BlockOverrides.test.ts +35 -0
  617. package/src/zod/_test/Filter.test.ts +34 -0
  618. package/src/zod/_test/Log.test.ts +49 -0
  619. package/src/zod/_test/Number.test.ts +8 -1
  620. package/src/zod/_test/RpcSchema.test-d.ts +46 -0
  621. package/src/zod/_test/RpcSchema.test.ts +70 -0
  622. package/src/zod/_test/Signature.test.ts +10 -0
  623. package/src/zod/_test/StateOverrides.test.ts +26 -0
  624. package/src/zod/_test/Transaction.test.ts +30 -0
  625. package/src/zod/_test/TransactionEnvelope.test.ts +34 -0
  626. package/src/zod/_test/TransactionReceipt.test.ts +45 -1
  627. package/src/zod/_test/TransactionRequest.test.ts +31 -0
  628. package/src/zod/_test/TxEnvelope.test.ts +32 -0
  629. package/src/zod/_test/TypedData.test-d.ts +20 -0
  630. package/src/zod/_test/TypedData.test.ts +87 -0
  631. package/src/zod/_test/Uint.test.ts +15 -0
  632. package/src/zod/_test/Withdrawal.test.ts +35 -0
  633. package/src/zod/_test/z.test-d.ts +6 -0
  634. package/src/zod/_test/z.test.ts +17 -0
  635. package/src/zod/internal/Integer.ts +58 -0
  636. package/src/zod/internal/TransactionEnvelope.ts +33 -17
  637. package/src/zod/internal/rpcSchemas/Eth.ts +20 -6
  638. package/src/zod/tempo/AuthorizationTempo.ts +25 -0
  639. package/src/zod/tempo/KeyAuthorization.ts +58 -8
  640. package/src/zod/tempo/SignatureEnvelope.ts +0 -2
  641. package/src/zod/tempo/Transaction.ts +148 -33
  642. package/src/zod/tempo/TransactionReceipt.ts +36 -21
  643. package/src/zod/tempo/TransactionRequest.ts +154 -28
  644. package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
  645. package/src/zod/tempo/_test/AuthorizationTempo.test.ts +24 -0
  646. package/src/zod/tempo/_test/KeyAuthorization.test.ts +85 -0
  647. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
  648. package/src/zod/tempo/_test/Transaction.test.ts +178 -0
  649. package/src/zod/tempo/_test/TransactionReceipt.test.ts +26 -0
  650. package/src/zod/tempo/_test/TransactionRequest.test.ts +73 -0
  651. package/src/zod/tempo/z.ts +0 -1
  652. package/src/zod/z.ts +16 -2
  653. package/dist/tempo/TokenId.d.ts +0 -87
  654. package/dist/tempo/TokenId.d.ts.map +0 -1
  655. package/dist/tempo/TokenId.js +0 -123
  656. package/dist/tempo/TokenId.js.map +0 -1
  657. package/dist/zod/tempo/TokenId.d.ts +0 -6
  658. package/dist/zod/tempo/TokenId.d.ts.map +0 -1
  659. package/dist/zod/tempo/TokenId.js +0 -14
  660. package/dist/zod/tempo/TokenId.js.map +0 -1
  661. package/src/tempo/TokenId.bench.ts +0 -36
  662. package/src/tempo/TokenId.test.ts +0 -79
  663. package/src/tempo/TokenId.ts +0 -141
  664. package/src/zod/tempo/TokenId.ts +0 -15
  665. package/src/zod/tempo/_test/TokenId.test-d.ts +0 -17
  666. package/src/zod/tempo/_test/TokenId.test.ts +0 -21
@@ -3,6 +3,8 @@ import * as Address from './Address.js'
3
3
  import * as Bytes from './Bytes.js'
4
4
  import * as Errors from './Errors.js'
5
5
  import * as Hex from './Hex.js'
6
+ import * as formatAbiParameters from './internal/human-readable/formatAbiParameters.js'
7
+ import * as parseAbiParameters from './internal/human-readable/parseAbiParameters.js'
6
8
  import * as internal from './internal/abiParameters.js'
7
9
  import * as Cursor from './internal/cursor.js'
8
10
  import * as Solidity from './Solidity.js'
@@ -13,6 +15,16 @@ export type AbiParameters = readonly abitype.AbiParameter[]
13
15
  /** A parameter on an {@link ox#AbiParameters.AbiParameters}. */
14
16
  export type Parameter = abitype.AbiParameter
15
17
 
18
+ export {
19
+ InvalidAbiParametersError,
20
+ InvalidAbiTypeParameterError,
21
+ InvalidFunctionModifierError,
22
+ InvalidModifierError,
23
+ InvalidParameterError,
24
+ SolidityProtectedKeywordError,
25
+ } from './internal/human-readable/errors.js'
26
+ export { InvalidParenthesisError } from './internal/human-readable/errors.js'
27
+
16
28
  /** A packed ABI type. */
17
29
  export type PackedAbiType =
18
30
  | abitype.SolidityAddress
@@ -97,7 +109,9 @@ export function decode(
97
109
  for (let i = 0; i < parameters.length; ++i) {
98
110
  const param = parameters[i] as Parameter
99
111
  try {
100
- cursor.setPosition(consumed)
112
+ // Zero-width types (e.g. `uint256[0]`, empty tuples) at the end of the
113
+ // data consume no bytes, so the cursor may already be exhausted.
114
+ if (consumed < bytes.length) cursor.setPosition(consumed)
101
115
  const [data_, consumed_] = internal.decodeParameter(cursor, param, {
102
116
  checksumAddress,
103
117
  staticPosition: 0,
@@ -386,11 +400,18 @@ export function format<
386
400
  Parameter | abitype.AbiEventParameter,
387
401
  ...(readonly (Parameter | abitype.AbiEventParameter)[]),
388
402
  ],
389
- ): abitype.FormatAbiParameters<parameters> {
390
- return abitype.formatAbiParameters(parameters)
403
+ ): format.ReturnType<parameters> {
404
+ return formatAbiParameters.formatAbiParameters(parameters)
391
405
  }
392
406
 
393
407
  export declare namespace format {
408
+ type ReturnType<
409
+ parameters extends readonly [
410
+ Parameter | abitype.AbiEventParameter,
411
+ ...(readonly (Parameter | abitype.AbiEventParameter)[]),
412
+ ] = readonly [Parameter, ...(readonly Parameter[])],
413
+ > = formatAbiParameters.FormatAbiParameters<parameters>
414
+
394
415
  type ErrorType = Errors.GlobalErrorType
395
416
  }
396
417
 
@@ -416,6 +437,22 @@ export declare namespace format {
416
437
  *
417
438
  * parameters
418
439
  * //^?
440
+ * //
441
+ * //
442
+ * //
443
+ * //
444
+ * //
445
+ * //
446
+ * //
447
+ * //
448
+ * //
449
+ * //
450
+ * //
451
+ * //
452
+ * //
453
+ * //
454
+ * //
455
+ * //
419
456
  * ```
420
457
  *
421
458
  * @example
@@ -432,6 +469,22 @@ export declare namespace format {
432
469
  *
433
470
  * parameters
434
471
  * //^?
472
+ * //
473
+ * //
474
+ * //
475
+ * //
476
+ * //
477
+ * //
478
+ * //
479
+ * //
480
+ * //
481
+ * //
482
+ * //
483
+ * //
484
+ * //
485
+ * //
486
+ * //
487
+ * //
435
488
  * ```
436
489
  *
437
490
  * @example
@@ -447,6 +500,22 @@ export declare namespace format {
447
500
  *
448
501
  * parameters
449
502
  * //^?
503
+ * //
504
+ * //
505
+ * //
506
+ * //
507
+ * //
508
+ * //
509
+ * //
510
+ * //
511
+ * //
512
+ * //
513
+ * //
514
+ * //
515
+ * //
516
+ * //
517
+ * //
518
+ * //
450
519
  * ```
451
520
  *
452
521
  *
@@ -460,9 +529,9 @@ export function from<
460
529
  parameters: parameters | AbiParameters | string | readonly string[],
461
530
  ): from.ReturnType<parameters> {
462
531
  if (Array.isArray(parameters) && typeof parameters[0] === 'string')
463
- return abitype.parseAbiParameters(parameters) as never
532
+ return parseAbiParameters.parseAbiParameters(parameters) as never
464
533
  if (typeof parameters === 'string')
465
- return abitype.parseAbiParameters(parameters) as never
534
+ return parseAbiParameters.parseAbiParameters(parameters) as never
466
535
  return parameters as never
467
536
  }
468
537
 
@@ -470,9 +539,9 @@ export declare namespace from {
470
539
  type ReturnType<
471
540
  parameters extends AbiParameters | string | readonly string[],
472
541
  > = parameters extends string
473
- ? abitype.ParseAbiParameters<parameters>
542
+ ? parseAbiParameters.ParseAbiParameters<parameters>
474
543
  : parameters extends readonly string[]
475
- ? abitype.ParseAbiParameters<parameters>
544
+ ? parseAbiParameters.ParseAbiParameters<parameters>
476
545
  : parameters
477
546
 
478
547
  type ErrorType = Errors.GlobalErrorType
@@ -519,7 +588,7 @@ export class DataSizeTooSmallError extends Errors.BaseError {
519
588
  }) {
520
589
  super(`Data size of ${size} bytes is too small for given parameters.`, {
521
590
  metaMessages: [
522
- `Params: (${abitype.formatAbiParameters(parameters as readonly [Parameter])})`,
591
+ `Params: (${formatAbiParameters.formatAbiParameters(parameters as readonly [Parameter])})`,
523
592
  `Data: ${data} (${size} bytes)`,
524
593
  ],
525
594
  })
@@ -130,22 +130,25 @@ export declare namespace fromRpc {
130
130
  * @param proof - The account proof to convert.
131
131
  * @returns An RPC account proof.
132
132
  */
133
- export function toRpc(proof: AccountProof): Rpc {
133
+ export function toRpc(proof: toRpc.Input): Rpc {
134
134
  return {
135
135
  address: proof.address,
136
- balance: Hex.fromNumber(proof.balance),
136
+ balance: Quantity.fromNumberish(proof.balance),
137
137
  codeHash: proof.codeHash,
138
- nonce: Hex.fromNumber(proof.nonce),
138
+ nonce: Quantity.fromNumberish(proof.nonce),
139
139
  storageHash: proof.storageHash,
140
140
  accountProof: proof.accountProof,
141
141
  storageProof: proof.storageProof.map((slot) => ({
142
142
  key: slot.key,
143
143
  proof: slot.proof,
144
- value: Quantity.fromBigInt(slot.value)!,
144
+ value: Quantity.fromNumberish(slot.value),
145
145
  })),
146
146
  }
147
147
  }
148
148
 
149
149
  export declare namespace toRpc {
150
+ /** Numberish input accepted by {@link ox#AccountProof.(toRpc:function)}. */
151
+ type Input = AccountProof<Hex.Hex | bigint | number, Hex.Hex | number>
152
+
150
153
  type ErrorType = Errors.GlobalErrorType
151
154
  }
@@ -2,6 +2,7 @@ import type * as Address from './Address.js'
2
2
  import type * as Errors from './Errors.js'
3
3
  import * as Hash from './Hash.js'
4
4
  import * as Hex from './Hex.js'
5
+ import * as Quantity from './internal/quantity.js'
5
6
  import type { Compute, Mutable, Undefined } from './internal/types.js'
6
7
  import * as Rlp from './Rlp.js'
7
8
  import * as Signature from './Signature.js'
@@ -497,18 +498,21 @@ export declare namespace hash {
497
498
  * @param authorization - An Authorization.
498
499
  * @returns An RPC-formatted Authorization.
499
500
  */
500
- export function toRpc(authorization: Signed): Rpc {
501
+ export function toRpc(authorization: toRpc.Input): Rpc {
501
502
  const { address, chainId, nonce, ...signature } = authorization
502
503
 
503
504
  return {
504
505
  address,
505
- chainId: Hex.fromNumber(chainId),
506
- nonce: Hex.fromNumber(nonce),
506
+ chainId: Quantity.fromNumberish(chainId),
507
+ nonce: Quantity.fromNumberish(nonce),
507
508
  ...Signature.toRpc(signature),
508
509
  }
509
510
  }
510
511
 
511
512
  export declare namespace toRpc {
513
+ /** Numberish input accepted by {@link ox#Authorization.(toRpc:function)}. */
514
+ type Input = Signed<Hex.Hex | bigint | number, Hex.Hex | number>
515
+
512
516
  type ErrorType = Errors.GlobalErrorType
513
517
  }
514
518
 
@@ -534,11 +538,14 @@ export declare namespace toRpc {
534
538
  * @param authorizationList - An Authorization List.
535
539
  * @returns An RPC-formatted Authorization List.
536
540
  */
537
- export function toRpcList(authorizationList: ListSigned): ListRpc {
541
+ export function toRpcList(authorizationList: toRpcList.Input): ListRpc {
538
542
  return authorizationList.map(toRpc)
539
543
  }
540
544
 
541
545
  export declare namespace toRpcList {
546
+ /** Numberish input accepted by {@link ox#Authorization.(toRpcList:function)}. */
547
+ type Input = ListSigned<Hex.Hex | bigint | number, Hex.Hex | number>
548
+
542
549
  type ErrorType = Errors.GlobalErrorType
543
550
  }
544
551
 
package/src/core/Block.ts CHANGED
@@ -148,7 +148,7 @@ export function toRpc<
148
148
  includeTransactions extends boolean = false,
149
149
  blockTag extends Tag = 'latest',
150
150
  >(
151
- block: Block<includeTransactions, blockTag>,
151
+ block: toRpc.Input<includeTransactions, blockTag>,
152
152
  _options: toRpc.Options<includeTransactions, blockTag> = {},
153
153
  ): Rpc<boolean, blockTag> {
154
154
  const transactions = block.transactions.map((transaction) => {
@@ -156,30 +156,30 @@ export function toRpc<
156
156
  return Transaction.toRpc(transaction as any) as any
157
157
  })
158
158
  return {
159
- baseFeePerGas: Quantity.fromBigInt(block.baseFeePerGas),
160
- blobGasUsed: Quantity.fromBigInt(block.blobGasUsed),
161
- excessBlobGas: Quantity.fromBigInt(block.excessBlobGas),
159
+ baseFeePerGas: Quantity.fromNumberishOptional(block.baseFeePerGas),
160
+ blobGasUsed: Quantity.fromNumberishOptional(block.blobGasUsed),
161
+ excessBlobGas: Quantity.fromNumberishOptional(block.excessBlobGas),
162
162
  extraData: block.extraData,
163
- difficulty: Quantity.fromBigInt(block.difficulty),
164
- gasLimit: Hex.fromNumber(block.gasLimit),
165
- gasUsed: Hex.fromNumber(block.gasUsed),
163
+ difficulty: Quantity.fromNumberishOptional(block.difficulty),
164
+ gasLimit: Quantity.fromNumberish(block.gasLimit),
165
+ gasUsed: Quantity.fromNumberish(block.gasUsed),
166
166
  hash: block.hash,
167
167
  logsBloom: block.logsBloom,
168
168
  miner: block.miner,
169
169
  mixHash: block.mixHash,
170
170
  nonce: block.nonce,
171
- number: (typeof block.number === 'bigint'
172
- ? Hex.fromNumber(block.number)
173
- : null) as never,
171
+ number: (block.number === null
172
+ ? null
173
+ : Quantity.fromNumberish(block.number)) as never,
174
174
  parentBeaconBlockRoot: block.parentBeaconBlockRoot,
175
175
  parentHash: block.parentHash,
176
176
  receiptsRoot: block.receiptsRoot,
177
177
  sealFields: block.sealFields,
178
178
  sha3Uncles: block.sha3Uncles,
179
- size: Hex.fromNumber(block.size),
179
+ size: Quantity.fromNumberish(block.size),
180
180
  stateRoot: block.stateRoot,
181
- timestamp: Hex.fromNumber(block.timestamp),
182
- totalDifficulty: Quantity.fromBigInt(block.totalDifficulty),
181
+ timestamp: Quantity.fromNumberish(block.timestamp),
182
+ totalDifficulty: Quantity.fromNumberishOptional(block.totalDifficulty),
183
183
  transactions,
184
184
  transactionsRoot: block.transactionsRoot,
185
185
  uncles: block.uncles,
@@ -189,6 +189,17 @@ export function toRpc<
189
189
  }
190
190
 
191
191
  export declare namespace toRpc {
192
+ /** Numberish input accepted by {@link ox#Block.(toRpc:function)}. */
193
+ type Input<
194
+ includeTransactions extends boolean = false,
195
+ blockTag extends Tag = 'latest',
196
+ > = Block<
197
+ includeTransactions,
198
+ blockTag,
199
+ Hex.Hex | bigint | number,
200
+ Hex.Hex | number
201
+ >
202
+
192
203
  type Options<
193
204
  includeTransactions extends boolean = false,
194
205
  blockTag extends Tag = 'latest',
@@ -113,23 +113,28 @@ export function fromRpc(rpcBlockOverrides: Rpc): BlockOverrides {
113
113
  * @param blockOverrides - The block overrides to convert.
114
114
  * @returns An instantiated {@link ox#BlockOverrides.Rpc}.
115
115
  */
116
- export function toRpc(blockOverrides: BlockOverrides): Rpc {
116
+ export function toRpc(blockOverrides: toRpc.Input): Rpc {
117
117
  const rpc: Rpc = {}
118
- if (typeof blockOverrides.baseFeePerGas === 'bigint')
119
- rpc.baseFeePerGas = Quantity.fromBigInt(blockOverrides.baseFeePerGas)
120
- if (typeof blockOverrides.blobBaseFee === 'bigint')
121
- rpc.blobBaseFee = Quantity.fromBigInt(blockOverrides.blobBaseFee)
118
+ if (blockOverrides.baseFeePerGas !== undefined)
119
+ rpc.baseFeePerGas = Quantity.fromNumberish(blockOverrides.baseFeePerGas)
120
+ if (blockOverrides.blobBaseFee !== undefined)
121
+ rpc.blobBaseFee = Quantity.fromNumberish(blockOverrides.blobBaseFee)
122
122
  if (typeof blockOverrides.feeRecipient === 'string')
123
123
  rpc.feeRecipient = blockOverrides.feeRecipient
124
- if (typeof blockOverrides.gasLimit === 'bigint')
125
- rpc.gasLimit = Quantity.fromBigInt(blockOverrides.gasLimit)
126
- if (typeof blockOverrides.number === 'bigint')
127
- rpc.number = Quantity.fromBigInt(blockOverrides.number)
128
- if (typeof blockOverrides.prevRandao === 'bigint')
129
- rpc.prevRandao = Quantity.fromBigInt(blockOverrides.prevRandao)
130
- if (typeof blockOverrides.time === 'bigint')
131
- rpc.time = Quantity.fromBigInt(blockOverrides.time)
124
+ if (blockOverrides.gasLimit !== undefined)
125
+ rpc.gasLimit = Quantity.fromNumberish(blockOverrides.gasLimit)
126
+ if (blockOverrides.number !== undefined)
127
+ rpc.number = Quantity.fromNumberish(blockOverrides.number)
128
+ if (blockOverrides.prevRandao !== undefined)
129
+ rpc.prevRandao = Quantity.fromNumberish(blockOverrides.prevRandao)
130
+ if (blockOverrides.time !== undefined)
131
+ rpc.time = Quantity.fromNumberish(blockOverrides.time)
132
132
  if (blockOverrides.withdrawals !== undefined)
133
133
  rpc.withdrawals = blockOverrides.withdrawals.map(Withdrawal.toRpc)
134
134
  return rpc
135
135
  }
136
+
137
+ export declare namespace toRpc {
138
+ /** Numberish input accepted by {@link ox#BlockOverrides.(toRpc:function)}. */
139
+ type Input = BlockOverrides<Hex.Hex | bigint | number, Hex.Hex | number>
140
+ }
@@ -123,7 +123,7 @@ export declare namespace fromRpc {
123
123
  * @param filter - The filter to convert.
124
124
  * @returns An RPC filter.
125
125
  */
126
- export function toRpc(filter: Filter): Rpc {
126
+ export function toRpc(filter: toRpc.Input): Rpc {
127
127
  const { address, topics, fromBlock, toBlock, blockHash } = filter
128
128
  return {
129
129
  ...(typeof address !== 'undefined' ? { address } : {}),
@@ -132,20 +132,23 @@ export function toRpc(filter: Filter): Rpc {
132
132
  ...(typeof fromBlock !== 'undefined'
133
133
  ? {
134
134
  fromBlock:
135
- typeof fromBlock === 'bigint'
136
- ? Hex.fromNumber(fromBlock)
137
- : fromBlock,
135
+ typeof fromBlock === 'string'
136
+ ? fromBlock
137
+ : Hex.fromNumber(fromBlock),
138
138
  }
139
139
  : {}),
140
140
  ...(typeof toBlock !== 'undefined'
141
141
  ? {
142
142
  toBlock:
143
- typeof toBlock === 'bigint' ? Hex.fromNumber(toBlock) : toBlock,
143
+ typeof toBlock === 'string' ? toBlock : Hex.fromNumber(toBlock),
144
144
  }
145
145
  : {}),
146
146
  } as unknown as Rpc
147
147
  }
148
148
 
149
149
  export declare namespace toRpc {
150
+ /** Numberish input accepted by {@link ox#Filter.(toRpc:function)}. */
151
+ type Input = Filter<Hex.Hex | bigint | number>
152
+
150
153
  type ErrorType = Errors.GlobalErrorType
151
154
  }
package/src/core/Log.ts CHANGED
@@ -23,7 +23,7 @@ export type Log<
23
23
  /** Index of this log within its block or `null` if pending */
24
24
  logIndex: pending extends true ? null : numberType
25
25
  /** List of topics associated with this log */
26
- topics: [Hex.Hex, ...(readonly Hex.Hex[])]
26
+ topics: Hex.Hex[]
27
27
  /** Hash of the transaction that created this log or `null` if pending */
28
28
  transactionHash: pending extends true ? null : Hex.Hex
29
29
  /** Index of the transaction that created this log or `null` if pending */
@@ -217,31 +217,35 @@ export declare namespace fromRpc {
217
217
  * @returns An RPC log.
218
218
  */
219
219
  export function toRpc<
220
- const log extends Log<boolean>,
220
+ const log extends toRpc.Input,
221
221
  pending extends boolean = false,
222
222
  >(log: log, _options: toRpc.Options<pending> = {}): Rpc<pending> {
223
223
  return {
224
224
  address: log.address,
225
225
  blockHash: log.blockHash,
226
- blockNumber: Quantity.fromBigInt(log.blockNumber) ?? null,
226
+ blockNumber: Quantity.fromNumberishOptional(log.blockNumber) ?? null,
227
227
  ...('blockTimestamp' in log
228
228
  ? {
229
229
  blockTimestamp:
230
230
  log.blockTimestamp === null
231
231
  ? null
232
- : Quantity.fromBigInt(log.blockTimestamp),
232
+ : Quantity.fromNumberishOptional(log.blockTimestamp),
233
233
  }
234
234
  : {}),
235
235
  data: log.data,
236
- logIndex: Quantity.fromNumber(log.logIndex) ?? null,
236
+ logIndex: Quantity.fromNumberishOptional(log.logIndex) ?? null,
237
237
  topics: log.topics,
238
238
  transactionHash: log.transactionHash,
239
- transactionIndex: Quantity.fromNumber(log.transactionIndex) ?? null,
239
+ transactionIndex:
240
+ Quantity.fromNumberishOptional(log.transactionIndex) ?? null,
240
241
  removed: log.removed,
241
242
  } as Rpc as never
242
243
  }
243
244
 
244
245
  export declare namespace toRpc {
246
+ /** Numberish input accepted by {@link ox#Log.(toRpc:function)}. */
247
+ type Input = Log<boolean, Hex.Hex | bigint | number, Hex.Hex | number>
248
+
245
249
  type Options<pending extends boolean = false> = {
246
250
  pending?: pending | boolean | undefined
247
251
  }
package/src/core/Rlp.ts CHANGED
@@ -5,6 +5,9 @@ import * as internal_bytes from './internal/bytes.js'
5
5
  import * as Cursor from './internal/cursor.js'
6
6
  import type { ExactPartial, RecursiveArray } from './internal/types.js'
7
7
 
8
+ /** Maximum nesting depth permitted when decoding an RLP value. */
9
+ const depthLimit = 1_024
10
+
8
11
  /**
9
12
  * Decodes a Recursive-Length Prefix (RLP) value into a {@link ox#Bytes.Bytes} value.
10
13
  *
@@ -68,6 +71,12 @@ export function to<
68
71
  })
69
72
  const result = decodeRlpCursor(cursor, to_)
70
73
 
74
+ // RLP payloads encode exactly one item (Yellow Paper, Appendix B).
75
+ if (cursor.position < cursor.bytes.length)
76
+ throw new TrailingBytesError({
77
+ count: cursor.bytes.length - cursor.position,
78
+ })
79
+
71
80
  return result as to.ReturnType<to>
72
81
  }
73
82
 
@@ -82,6 +91,7 @@ export declare namespace to {
82
91
  | decodeRlpCursor.ErrorType
83
92
  | Cursor.create.ErrorType
84
93
  | Hex.InvalidLengthError
94
+ | TrailingBytesError
85
95
  | Errors.GlobalErrorType
86
96
  }
87
97
 
@@ -91,7 +101,11 @@ export declare namespace to {
91
101
  export function decodeRlpCursor<to extends 'Hex' | 'Bytes' = 'Hex'>(
92
102
  cursor: Cursor.Cursor,
93
103
  to: to | 'Hex' | 'Bytes' | undefined = 'Hex',
104
+ depth = 0,
94
105
  ): decodeRlpCursor.ReturnType<to> {
106
+ if (depth >= depthLimit)
107
+ throw new DepthLimitExceededError({ limit: depthLimit })
108
+
95
109
  if (cursor.bytes.length === 0)
96
110
  return (
97
111
  to === 'Hex' ? Hex.fromBytes(cursor.bytes) : cursor.bytes
@@ -111,7 +125,12 @@ export function decodeRlpCursor<to extends 'Hex' | 'Bytes' = 'Hex'>(
111
125
 
112
126
  // list
113
127
  const length = readLength(cursor, prefix, 0xc0)
114
- return readList(cursor, length, to) as {} as decodeRlpCursor.ReturnType<to>
128
+ return readList(
129
+ cursor,
130
+ length,
131
+ to,
132
+ depth + 1,
133
+ ) as {} as decodeRlpCursor.ReturnType<to>
115
134
  }
116
135
 
117
136
  /** @internal */
@@ -121,6 +140,7 @@ export declare namespace decodeRlpCursor {
121
140
  | Hex.fromBytes.ErrorType
122
141
  | readLength.ErrorType
123
142
  | readList.ErrorType
143
+ | DepthLimitExceededError
124
144
  | Errors.GlobalErrorType
125
145
  }
126
146
 
@@ -149,17 +169,27 @@ export function readList<to extends 'Hex' | 'Bytes'>(
149
169
  cursor: Cursor.Cursor,
150
170
  length: number,
151
171
  to: to | 'Hex' | 'Bytes',
172
+ depth = 0,
152
173
  ) {
153
174
  const position = cursor.position
154
175
  const value: decodeRlpCursor.ReturnType<to>[] = []
155
176
  while (cursor.position - position < length)
156
- value.push(decodeRlpCursor(cursor, to))
177
+ value.push(decodeRlpCursor(cursor, to, depth))
178
+ // Items must consume exactly the declared list length.
179
+ if (cursor.position - position !== length)
180
+ throw new ListBoundaryExceededError({
181
+ consumed: cursor.position - position,
182
+ declared: length,
183
+ })
157
184
  return value
158
185
  }
159
186
 
160
187
  /** @internal */
161
188
  export declare namespace readList {
162
- type ErrorType = Errors.GlobalErrorType
189
+ type ErrorType =
190
+ | DepthLimitExceededError
191
+ | ListBoundaryExceededError
192
+ | Errors.GlobalErrorType
163
193
  }
164
194
 
165
195
  /**
@@ -643,3 +673,36 @@ function writeBigEndian(
643
673
  function invalidNibble(hex: Hex.Hex): Errors.BaseError {
644
674
  return new Errors.BaseError(`Invalid hex string \`${hex}\`.`)
645
675
  }
676
+
677
+ /** Thrown when an RLP value nests deeper than the decode depth limit. */
678
+ export class DepthLimitExceededError extends Errors.BaseError {
679
+ override readonly name = 'Rlp.DepthLimitExceededError'
680
+
681
+ constructor({ limit }: { limit: number }) {
682
+ super(`RLP depth limit of \`${limit}\` exceeded.`)
683
+ }
684
+ }
685
+
686
+ /** Thrown when RLP list items overrun the list's declared length. */
687
+ export class ListBoundaryExceededError extends Errors.BaseError {
688
+ override readonly name = 'Rlp.ListBoundaryExceededError'
689
+
690
+ constructor({ consumed, declared }: { consumed: number; declared: number }) {
691
+ super(
692
+ `RLP list items consumed \`${consumed}\` bytes but the list declared a length of \`${declared}\`.`,
693
+ )
694
+ }
695
+ }
696
+
697
+ /** Thrown when an RLP payload contains bytes after the decoded item. */
698
+ export class TrailingBytesError extends Errors.BaseError {
699
+ override readonly name = 'Rlp.TrailingBytesError'
700
+
701
+ constructor({ count }: { count: number }) {
702
+ super(
703
+ `RLP payload encodes a single item, but \`${count}\` trailing ${
704
+ count === 1 ? 'byte remains' : 'bytes remain'
705
+ }.`,
706
+ )
707
+ }
708
+ }
@@ -289,7 +289,7 @@ export type FromViem<schema extends readonly ViemSchemaItem[]> = {
289
289
  * Each method's name comes from its key. Both `params` and `ReturnType` are
290
290
  * derived from the Zod schema's input (wire) type, since raw JSON-RPC clients
291
291
  * send and receive wire values. Decode wire results to their native
292
- * representation explicitly via {@link ox#zod/RpcSchema.decodeReturns}.
292
+ * representation explicitly via `zod.RpcSchema.decodeReturns`.
293
293
  *
294
294
  * @example
295
295
  * ```ts twoslash
@@ -331,7 +331,7 @@ export type Schema = Generic | FromZod.Namespace
331
331
 
332
332
  /**
333
333
  * Resolves a {@link ox#RpcSchema.Schema} input to an Ox {@link ox#RpcSchema.Generic}.
334
- * A Zod namespace is converted via {@link ox#RpcSchema.FromZod}; a `Generic` is
334
+ * A Zod namespace is converted via {@link ox#RpcSchema.(FromZod:type)}; a `Generic` is
335
335
  * passed through; otherwise falls back to {@link ox#RpcSchema.Default}.
336
336
  */
337
337
  export type ToGeneric<schema extends Schema | undefined> =
@@ -2,6 +2,7 @@ import { secp256k1 } from '@noble/curves/secp256k1.js'
2
2
  import * as Bytes from './Bytes.js'
3
3
  import * as Errors from './Errors.js'
4
4
  import * as Hex from './Hex.js'
5
+ import * as Quantity from './internal/quantity.js'
5
6
  import type { Compute, ExactPartial, OneOf } from './internal/types.js'
6
7
  import * as Json from './Json.js'
7
8
  import * as Solidity from './Solidity.js'
@@ -806,16 +807,19 @@ export declare namespace toLegacy {
806
807
  * @param signature - The {@link ox#Signature.Signature} to convert.
807
808
  * @returns The converted {@link ox#Signature.Rpc}.
808
809
  */
809
- export function toRpc(signature: Signature): Rpc {
810
+ export function toRpc(signature: toRpc.Input): Rpc {
810
811
  const { r, s, yParity } = signature
811
812
  return {
812
813
  r,
813
814
  s,
814
- yParity: yParity === 0 ? '0x0' : '0x1',
815
+ yParity: Quantity.fromNumberish(yParity),
815
816
  }
816
817
  }
817
818
 
818
819
  export declare namespace toRpc {
820
+ /** Numberish input accepted by {@link ox#Signature.(toRpc:function)}. */
821
+ type Input = Signature<true, Hex.Hex | number>
822
+
819
823
  type ErrorType = Errors.GlobalErrorType
820
824
  }
821
825
 
@@ -110,20 +110,20 @@ export function fromRpc(rpcStateOverrides: Rpc): StateOverrides {
110
110
  * @param stateOverrides - The state overrides to convert.
111
111
  * @returns An instantiated {@link ox#StateOverrides.Rpc}.
112
112
  */
113
- export function toRpc(stateOverrides: StateOverrides): Rpc {
113
+ export function toRpc(stateOverrides: toRpc.Input): Rpc {
114
114
  const rpcStateOverrides: Rpc = {}
115
115
  for (const [address, accountOverrides] of Object.entries(stateOverrides)) {
116
116
  const accountOverridesRpc: RpcAccountOverrides = {}
117
- if (typeof accountOverrides.balance === 'bigint')
118
- accountOverridesRpc.balance = Quantity.fromBigInt(
117
+ if (accountOverrides.balance !== undefined)
118
+ accountOverridesRpc.balance = Quantity.fromNumberish(
119
119
  accountOverrides.balance,
120
120
  )
121
121
  if (accountOverrides.code) accountOverridesRpc.code = accountOverrides.code
122
122
  if (accountOverrides.movePrecompileToAddress)
123
123
  accountOverridesRpc.movePrecompileToAddress =
124
124
  accountOverrides.movePrecompileToAddress
125
- if (typeof accountOverrides.nonce === 'bigint')
126
- accountOverridesRpc.nonce = Quantity.fromBigInt(accountOverrides.nonce)
125
+ if (accountOverrides.nonce !== undefined)
126
+ accountOverridesRpc.nonce = Quantity.fromNumberish(accountOverrides.nonce)
127
127
  if (accountOverrides.state)
128
128
  accountOverridesRpc.state = accountOverrides.state
129
129
  if (accountOverrides.stateDiff)
@@ -132,3 +132,8 @@ export function toRpc(stateOverrides: StateOverrides): Rpc {
132
132
  }
133
133
  return rpcStateOverrides
134
134
  }
135
+
136
+ export declare namespace toRpc {
137
+ /** Numberish input accepted by {@link ox#StateOverrides.(toRpc:function)}. */
138
+ type Input = StateOverrides<Hex.Hex | bigint | number>
139
+ }