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,7 @@ import type * as Address from './Address.js'
3
3
  import * as Authorization from './Authorization.js'
4
4
  import type * as Errors from './Errors.js'
5
5
  import * as Hex from './Hex.js'
6
+ import * as Quantity from './internal/quantity.js'
6
7
  import type { Compute, OneOf, UnionCompute } from './internal/types.js'
7
8
  import * as Signature from './Signature.js'
8
9
 
@@ -373,31 +374,31 @@ export declare namespace fromRpc {
373
374
  * @returns An RPC-formatted transaction.
374
375
  */
375
376
  export function toRpc<pending extends boolean = false>(
376
- transaction: Transaction<pending>,
377
+ transaction: toRpc.Input<pending>,
377
378
  _options?: toRpc.Options<pending>,
378
379
  ): Rpc<pending> {
379
380
  const rpc = {} as Rpc<boolean>
380
381
 
381
382
  rpc.blockHash = transaction.blockHash
382
383
  rpc.blockNumber =
383
- typeof transaction.blockNumber === 'bigint'
384
- ? Hex.fromNumber(transaction.blockNumber)
385
- : null
386
- if (typeof transaction.blockTimestamp === 'bigint')
387
- rpc.blockTimestamp = Hex.fromNumber(transaction.blockTimestamp)
388
- else if (transaction.blockTimestamp === null) rpc.blockTimestamp = null
384
+ transaction.blockNumber == null
385
+ ? null
386
+ : Quantity.fromNumberish(transaction.blockNumber)
387
+ if (transaction.blockTimestamp === null) rpc.blockTimestamp = null
388
+ else if (transaction.blockTimestamp !== undefined)
389
+ rpc.blockTimestamp = Quantity.fromNumberish(transaction.blockTimestamp)
389
390
  rpc.from = transaction.from
390
- rpc.gas = Hex.fromNumber(transaction.gas ?? 0n)
391
+ rpc.gas = Quantity.fromNumberish(transaction.gas ?? 0n)
391
392
  rpc.hash = transaction.hash
392
393
  rpc.input = transaction.input
393
- rpc.nonce = Hex.fromNumber(transaction.nonce ?? 0n)
394
+ rpc.nonce = Quantity.fromNumberish(transaction.nonce ?? 0n)
394
395
  rpc.to = transaction.to
395
396
  rpc.transactionIndex =
396
- typeof transaction.transactionIndex === 'number'
397
- ? Hex.fromNumber(transaction.transactionIndex)
398
- : null
397
+ transaction.transactionIndex == null
398
+ ? null
399
+ : Quantity.fromNumberish(transaction.transactionIndex)
399
400
  rpc.type = (toRpcType as any)[transaction.type] ?? transaction.type
400
- rpc.value = Hex.fromNumber(transaction.value ?? 0n)
401
+ rpc.value = Quantity.fromNumberish(transaction.value ?? 0n)
401
402
 
402
403
  if (transaction.accessList) rpc.accessList = transaction.accessList
403
404
  if (transaction.authorizationList)
@@ -406,26 +407,36 @@ export function toRpc<pending extends boolean = false>(
406
407
  )
407
408
  if (transaction.blobVersionedHashes)
408
409
  rpc.blobVersionedHashes = transaction.blobVersionedHashes
409
- if (transaction.chainId) rpc.chainId = Hex.fromNumber(transaction.chainId)
410
- if (typeof transaction.gasPrice === 'bigint')
411
- rpc.gasPrice = Hex.fromNumber(transaction.gasPrice)
412
- if (typeof transaction.maxFeePerBlobGas === 'bigint')
413
- rpc.maxFeePerBlobGas = Hex.fromNumber(transaction.maxFeePerBlobGas)
414
- if (typeof transaction.maxFeePerGas === 'bigint')
415
- rpc.maxFeePerGas = Hex.fromNumber(transaction.maxFeePerGas)
416
- if (typeof transaction.maxPriorityFeePerGas === 'bigint')
417
- rpc.maxPriorityFeePerGas = Hex.fromNumber(transaction.maxPriorityFeePerGas)
410
+ if (transaction.chainId)
411
+ rpc.chainId = Quantity.fromNumberish(transaction.chainId)
412
+ if (transaction.gasPrice !== undefined)
413
+ rpc.gasPrice = Quantity.fromNumberish(transaction.gasPrice)
414
+ if (transaction.maxFeePerBlobGas !== undefined)
415
+ rpc.maxFeePerBlobGas = Quantity.fromNumberish(transaction.maxFeePerBlobGas)
416
+ if (transaction.maxFeePerGas !== undefined)
417
+ rpc.maxFeePerGas = Quantity.fromNumberish(transaction.maxFeePerGas)
418
+ if (transaction.maxPriorityFeePerGas !== undefined)
419
+ rpc.maxPriorityFeePerGas = Quantity.fromNumberish(
420
+ transaction.maxPriorityFeePerGas,
421
+ )
418
422
  if (typeof transaction.r === 'string') rpc.r = transaction.r
419
423
  if (typeof transaction.s === 'string') rpc.s = transaction.s
420
- if (typeof transaction.v === 'number')
421
- rpc.v = Hex.fromNumber(transaction.v, { size: 1 })
422
- if (typeof transaction.yParity === 'number')
423
- rpc.yParity = transaction.yParity === 0 ? '0x0' : '0x1'
424
+ if (transaction.v !== undefined)
425
+ rpc.v = Quantity.fromNumberish(transaction.v, { size: 1 })
426
+ if (transaction.yParity !== undefined)
427
+ rpc.yParity = Quantity.fromNumberish(transaction.yParity)
424
428
 
425
429
  return rpc as Rpc<pending>
426
430
  }
427
431
 
428
432
  export declare namespace toRpc {
433
+ /** Numberish input accepted by {@link ox#Transaction.(toRpc:function)}. */
434
+ type Input<pending extends boolean = false> = Transaction<
435
+ pending,
436
+ Hex.Hex | bigint | number,
437
+ Hex.Hex | number
438
+ >
439
+
429
440
  type Options<pending extends boolean = false> = {
430
441
  pending?: pending | boolean | undefined
431
442
  }
@@ -1,6 +1,7 @@
1
1
  import type * as Address from './Address.js'
2
2
  import type * as Errors from './Errors.js'
3
3
  import * as Hex from './Hex.js'
4
+ import * as Quantity from './internal/quantity.js'
4
5
  import type { Compute } from './internal/types.js'
5
6
  import * as Log from './Log.js'
6
7
 
@@ -302,32 +303,40 @@ export declare namespace fromRpc {
302
303
  * @param receipt - The receipt to convert.
303
304
  * @returns An RPC receipt.
304
305
  */
305
- export function toRpc(receipt: TransactionReceipt): Rpc {
306
+ export function toRpc(receipt: toRpc.Input): Rpc {
306
307
  return {
307
308
  blobGasPrice: receipt.blobGasPrice
308
- ? Hex.fromNumber(receipt.blobGasPrice)
309
+ ? Quantity.fromNumberish(receipt.blobGasPrice)
309
310
  : undefined,
310
311
  blobGasUsed: receipt.blobGasUsed
311
- ? Hex.fromNumber(receipt.blobGasUsed)
312
+ ? Quantity.fromNumberish(receipt.blobGasUsed)
312
313
  : undefined,
313
314
  blockHash: receipt.blockHash,
314
- blockNumber: Hex.fromNumber(receipt.blockNumber),
315
+ blockNumber: Quantity.fromNumberish(receipt.blockNumber),
315
316
  contractAddress: receipt.contractAddress,
316
- cumulativeGasUsed: Hex.fromNumber(receipt.cumulativeGasUsed),
317
- effectiveGasPrice: Hex.fromNumber(receipt.effectiveGasPrice),
317
+ cumulativeGasUsed: Quantity.fromNumberish(receipt.cumulativeGasUsed),
318
+ effectiveGasPrice: Quantity.fromNumberish(receipt.effectiveGasPrice),
318
319
  from: receipt.from,
319
- gasUsed: Hex.fromNumber(receipt.gasUsed),
320
+ gasUsed: Quantity.fromNumberish(receipt.gasUsed),
320
321
  logs: receipt.logs.map(Log.toRpc as never),
321
322
  logsBloom: receipt.logsBloom,
322
323
  root: receipt.root,
323
324
  status: toRpcStatus[receipt.status],
324
325
  to: receipt.to,
325
326
  transactionHash: receipt.transactionHash,
326
- transactionIndex: Hex.fromNumber(receipt.transactionIndex),
327
+ transactionIndex: Quantity.fromNumberish(receipt.transactionIndex),
327
328
  type: (toRpcType as any)[receipt.type] ?? receipt.type,
328
329
  }
329
330
  }
330
331
 
331
332
  export declare namespace toRpc {
333
+ /** Numberish input accepted by {@link ox#TransactionReceipt.(toRpc:function)}. */
334
+ export type Input = TransactionReceipt<
335
+ Status,
336
+ Type,
337
+ Hex.Hex | bigint | number,
338
+ Hex.Hex | number
339
+ >
340
+
332
341
  export type ErrorType = Hex.fromNumber.ErrorType | Errors.GlobalErrorType
333
342
  }
@@ -4,6 +4,7 @@ import * as Authorization from './Authorization.js'
4
4
  import * as Blobs from './Blobs.js'
5
5
  import * as Errors from './Errors.js'
6
6
  import * as Hex from './Hex.js'
7
+ import * as Quantity from './internal/quantity.js'
7
8
  import type { Compute } from './internal/types.js'
8
9
  import type * as Kzg from './Kzg.js'
9
10
  import * as Transaction from './Transaction.js'
@@ -164,7 +165,7 @@ export declare namespace fromRpc {
164
165
  * @param request - The request to convert.
165
166
  * @returns An RPC request.
166
167
  */
167
- export function toRpc(request: TransactionRequest): Rpc {
168
+ export function toRpc(request: toRpc.Input): Rpc {
168
169
  const request_rpc: Rpc = {}
169
170
 
170
171
  if (typeof request.accessList !== 'undefined')
@@ -177,7 +178,7 @@ export function toRpc(request: TransactionRequest): Rpc {
177
178
  request_rpc.blobVersionedHashes = request.blobVersionedHashes
178
179
  if (typeof request.blobs !== 'undefined') request_rpc.blobs = request.blobs
179
180
  if (typeof request.chainId !== 'undefined')
180
- request_rpc.chainId = Hex.fromNumber(request.chainId)
181
+ request_rpc.chainId = Quantity.fromNumberish(request.chainId)
181
182
  if (typeof request.data !== 'undefined') {
182
183
  request_rpc.data = request.data
183
184
  request_rpc.input = request.data
@@ -187,19 +188,21 @@ export function toRpc(request: TransactionRequest): Rpc {
187
188
  }
188
189
  if (typeof request.from !== 'undefined') request_rpc.from = request.from
189
190
  if (typeof request.gas !== 'undefined')
190
- request_rpc.gas = Hex.fromNumber(request.gas)
191
+ request_rpc.gas = Quantity.fromNumberish(request.gas)
191
192
  if (typeof request.gasPrice !== 'undefined')
192
- request_rpc.gasPrice = Hex.fromNumber(request.gasPrice)
193
+ request_rpc.gasPrice = Quantity.fromNumberish(request.gasPrice)
193
194
  if (typeof request.maxFeePerBlobGas !== 'undefined')
194
- request_rpc.maxFeePerBlobGas = Hex.fromNumber(request.maxFeePerBlobGas)
195
+ request_rpc.maxFeePerBlobGas = Quantity.fromNumberish(
196
+ request.maxFeePerBlobGas,
197
+ )
195
198
  if (typeof request.maxFeePerGas !== 'undefined')
196
- request_rpc.maxFeePerGas = Hex.fromNumber(request.maxFeePerGas)
199
+ request_rpc.maxFeePerGas = Quantity.fromNumberish(request.maxFeePerGas)
197
200
  if (typeof request.maxPriorityFeePerGas !== 'undefined')
198
- request_rpc.maxPriorityFeePerGas = Hex.fromNumber(
201
+ request_rpc.maxPriorityFeePerGas = Quantity.fromNumberish(
199
202
  request.maxPriorityFeePerGas,
200
203
  )
201
204
  if (typeof request.nonce !== 'undefined')
202
- request_rpc.nonce = Hex.fromNumber(request.nonce)
205
+ request_rpc.nonce = Quantity.fromNumberish(request.nonce)
203
206
  if (typeof request.to !== 'undefined') request_rpc.to = request.to
204
207
  if (typeof request.type !== 'undefined')
205
208
  request_rpc.type =
@@ -207,18 +210,25 @@ export function toRpc(request: TransactionRequest): Rpc {
207
210
  request.type as keyof typeof Transaction.toRpcType
208
211
  ] || request.type
209
212
  if (typeof request.value !== 'undefined')
210
- request_rpc.value = Hex.fromNumber(request.value)
213
+ request_rpc.value = Quantity.fromNumberish(request.value)
211
214
  if (typeof request.r !== 'undefined') request_rpc.r = request.r
212
215
  if (typeof request.s !== 'undefined') request_rpc.s = request.s
213
216
  if (typeof request.yParity !== 'undefined')
214
- request_rpc.yParity = Hex.fromNumber(request.yParity)
217
+ request_rpc.yParity = Quantity.fromNumberish(request.yParity)
215
218
  if (typeof request.v !== 'undefined')
216
- request_rpc.v = Hex.fromNumber(request.v)
219
+ request_rpc.v = Quantity.fromNumberish(request.v)
217
220
 
218
221
  return request_rpc
219
222
  }
220
223
 
221
224
  export declare namespace toRpc {
225
+ /** Numberish input accepted by {@link ox#TransactionRequest.(toRpc:function)}. */
226
+ export type Input = TransactionRequest<
227
+ Hex.Hex | bigint | number,
228
+ Hex.Hex | number,
229
+ string
230
+ >
231
+
222
232
  export type ErrorType =
223
233
  | Authorization.toRpcList.ErrorType
224
234
  | Hex.fromNumber.ErrorType
@@ -630,8 +630,8 @@ export declare namespace serialize {
630
630
  * @param envelope - The transaction envelope.
631
631
  * @returns RPC representation.
632
632
  */
633
- export function toRpc<const envelope extends TxEnvelope>(
634
- envelope: envelope | TxEnvelope,
633
+ export function toRpc<const envelope extends toRpc.Input>(
634
+ envelope: envelope | toRpc.Input,
635
635
  ): toRpc.ReturnType<envelope> {
636
636
  const type = getType(envelope) as Type | string
637
637
  if (type === 'legacy')
@@ -648,6 +648,13 @@ export function toRpc<const envelope extends TxEnvelope>(
648
648
  }
649
649
 
650
650
  export declare namespace toRpc {
651
+ /** Numberish input accepted by {@link ox#(TransactionEnvelope:namespace).(toRpc:function)}. */
652
+ export type Input = TxEnvelope<
653
+ boolean,
654
+ Hex.Hex | bigint | number,
655
+ Hex.Hex | number
656
+ >
657
+
651
658
  export type ReturnType<envelope extends Typeable = TxEnvelope> =
652
659
  getType.ReturnType<envelope> extends 'legacy'
653
660
  ? TxEnvelopeLegacy.Rpc
@@ -4,6 +4,7 @@ import type * as Bytes from './Bytes.js'
4
4
  import type * as Errors from './Errors.js'
5
5
  import * as Hash from './Hash.js'
6
6
  import * as Hex from './Hex.js'
7
+ import * as Quantity from './internal/quantity.js'
7
8
  import * as Tx from './internal/tx.js'
8
9
  import type {
9
10
  Assign,
@@ -579,29 +580,31 @@ export declare namespace serialize {
579
580
  * @param envelope - The EIP-1559 transaction envelope to convert.
580
581
  * @returns An RPC-formatted EIP-1559 transaction envelope.
581
582
  */
582
- export function toRpc(envelope: Omit<TxEnvelopeEip1559, 'type'>): Rpc {
583
+ export function toRpc(envelope: toRpc.Input): Rpc {
583
584
  const signature = Signature.extract(envelope)
584
585
 
585
586
  return {
586
587
  ...envelope,
587
- chainId: Hex.fromNumber(envelope.chainId),
588
+ chainId: Quantity.fromNumberish(envelope.chainId),
588
589
  data: envelope.data ?? envelope.input,
589
590
  type: '0x2',
590
- ...(typeof envelope.gas === 'bigint'
591
- ? { gas: Hex.fromNumber(envelope.gas) }
591
+ ...(envelope.gas !== undefined
592
+ ? { gas: Quantity.fromNumberish(envelope.gas) }
592
593
  : {}),
593
- ...(typeof envelope.nonce === 'bigint'
594
- ? { nonce: Hex.fromNumber(envelope.nonce) }
594
+ ...(envelope.nonce !== undefined
595
+ ? { nonce: Quantity.fromNumberish(envelope.nonce) }
595
596
  : {}),
596
- ...(typeof envelope.value === 'bigint'
597
- ? { value: Hex.fromNumber(envelope.value) }
597
+ ...(envelope.value !== undefined
598
+ ? { value: Quantity.fromNumberish(envelope.value) }
598
599
  : {}),
599
- ...(typeof envelope.maxFeePerGas === 'bigint'
600
- ? { maxFeePerGas: Hex.fromNumber(envelope.maxFeePerGas) }
600
+ ...(envelope.maxFeePerGas !== undefined
601
+ ? { maxFeePerGas: Quantity.fromNumberish(envelope.maxFeePerGas) }
601
602
  : {}),
602
- ...(typeof envelope.maxPriorityFeePerGas === 'bigint'
603
+ ...(envelope.maxPriorityFeePerGas !== undefined
603
604
  ? {
604
- maxPriorityFeePerGas: Hex.fromNumber(envelope.maxPriorityFeePerGas),
605
+ maxPriorityFeePerGas: Quantity.fromNumberish(
606
+ envelope.maxPriorityFeePerGas,
607
+ ),
605
608
  }
606
609
  : {}),
607
610
  ...(signature ? Signature.toRpc(signature) : {}),
@@ -609,6 +612,12 @@ export function toRpc(envelope: Omit<TxEnvelopeEip1559, 'type'>): Rpc {
609
612
  }
610
613
 
611
614
  export declare namespace toRpc {
615
+ /** Numberish input accepted by {@link ox#TxEnvelopeEip1559.(toRpc:function)}. */
616
+ export type Input = Omit<
617
+ TxEnvelopeEip1559<boolean, Hex.Hex | bigint | number, Hex.Hex | number>,
618
+ 'type'
619
+ >
620
+
612
621
  export type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
613
622
  }
614
623
 
@@ -4,6 +4,7 @@ import type * as Bytes from './Bytes.js'
4
4
  import type * as Errors from './Errors.js'
5
5
  import * as Hash from './Hash.js'
6
6
  import * as Hex from './Hex.js'
7
+ import * as Quantity from './internal/quantity.js'
7
8
  import * as Tx from './internal/tx.js'
8
9
  import type {
9
10
  Assign,
@@ -545,24 +546,24 @@ export declare namespace serialize {
545
546
  * @param envelope - The EIP-2930 transaction envelope to convert.
546
547
  * @returns An RPC-formatted EIP-2930 transaction envelope.
547
548
  */
548
- export function toRpc(envelope: Omit<TxEnvelopeEip2930, 'type'>): Rpc {
549
+ export function toRpc(envelope: toRpc.Input): Rpc {
549
550
  const signature = Signature.extract(envelope)!
550
551
 
551
552
  return {
552
553
  ...envelope,
553
- chainId: Hex.fromNumber(envelope.chainId),
554
+ chainId: Quantity.fromNumberish(envelope.chainId),
554
555
  data: envelope.data ?? envelope.input,
555
- ...(typeof envelope.gas === 'bigint'
556
- ? { gas: Hex.fromNumber(envelope.gas) }
556
+ ...(envelope.gas !== undefined
557
+ ? { gas: Quantity.fromNumberish(envelope.gas) }
557
558
  : {}),
558
- ...(typeof envelope.nonce === 'bigint'
559
- ? { nonce: Hex.fromNumber(envelope.nonce) }
559
+ ...(envelope.nonce !== undefined
560
+ ? { nonce: Quantity.fromNumberish(envelope.nonce) }
560
561
  : {}),
561
- ...(typeof envelope.value === 'bigint'
562
- ? { value: Hex.fromNumber(envelope.value) }
562
+ ...(envelope.value !== undefined
563
+ ? { value: Quantity.fromNumberish(envelope.value) }
563
564
  : {}),
564
- ...(typeof envelope.gasPrice === 'bigint'
565
- ? { gasPrice: Hex.fromNumber(envelope.gasPrice) }
565
+ ...(envelope.gasPrice !== undefined
566
+ ? { gasPrice: Quantity.fromNumberish(envelope.gasPrice) }
566
567
  : {}),
567
568
  type: '0x1',
568
569
  ...(signature ? Signature.toRpc(signature) : {}),
@@ -570,6 +571,12 @@ export function toRpc(envelope: Omit<TxEnvelopeEip2930, 'type'>): Rpc {
570
571
  }
571
572
 
572
573
  export declare namespace toRpc {
574
+ /** Numberish input accepted by {@link ox#TxEnvelopeEip2930.(toRpc:function)}. */
575
+ export type Input = Omit<
576
+ TxEnvelopeEip2930<boolean, Hex.Hex | bigint | number, Hex.Hex | number>,
577
+ 'type'
578
+ >
579
+
573
580
  export type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
574
581
  }
575
582
 
@@ -4,6 +4,7 @@ import type * as Bytes from './Bytes.js'
4
4
  import * as Errors from './Errors.js'
5
5
  import * as Hash from './Hash.js'
6
6
  import * as Hex from './Hex.js'
7
+ import * as Quantity from './internal/quantity.js'
7
8
  import * as Tx from './internal/tx.js'
8
9
  import type {
9
10
  Assign,
@@ -791,30 +792,34 @@ export declare namespace serialize {
791
792
  * @param envelope - The EIP-4844 transaction envelope to convert.
792
793
  * @returns An RPC-formatted EIP-4844 transaction envelope.
793
794
  */
794
- export function toRpc(envelope: Omit<TxEnvelopeEip4844, 'type'>): Rpc {
795
+ export function toRpc(envelope: toRpc.Input): Rpc {
795
796
  const signature = Signature.extract(envelope)
796
797
 
797
798
  return {
798
799
  ...envelope,
799
- chainId: Hex.fromNumber(envelope.chainId),
800
+ chainId: Quantity.fromNumberish(envelope.chainId),
800
801
  data: envelope.data ?? envelope.input,
801
- ...(typeof envelope.gas === 'bigint'
802
- ? { gas: Hex.fromNumber(envelope.gas) }
802
+ ...(envelope.gas !== undefined
803
+ ? { gas: Quantity.fromNumberish(envelope.gas) }
803
804
  : {}),
804
- ...(typeof envelope.nonce === 'bigint'
805
- ? { nonce: Hex.fromNumber(envelope.nonce) }
805
+ ...(envelope.nonce !== undefined
806
+ ? { nonce: Quantity.fromNumberish(envelope.nonce) }
806
807
  : {}),
807
- ...(typeof envelope.value === 'bigint'
808
- ? { value: Hex.fromNumber(envelope.value) }
808
+ ...(envelope.value !== undefined
809
+ ? { value: Quantity.fromNumberish(envelope.value) }
809
810
  : {}),
810
- ...(typeof envelope.maxFeePerBlobGas === 'bigint'
811
- ? { maxFeePerBlobGas: Hex.fromNumber(envelope.maxFeePerBlobGas) }
811
+ ...(envelope.maxFeePerBlobGas !== undefined
812
+ ? { maxFeePerBlobGas: Quantity.fromNumberish(envelope.maxFeePerBlobGas) }
812
813
  : {}),
813
- ...(typeof envelope.maxFeePerGas === 'bigint'
814
- ? { maxFeePerGas: Hex.fromNumber(envelope.maxFeePerGas) }
814
+ ...(envelope.maxFeePerGas !== undefined
815
+ ? { maxFeePerGas: Quantity.fromNumberish(envelope.maxFeePerGas) }
815
816
  : {}),
816
- ...(typeof envelope.maxPriorityFeePerGas === 'bigint'
817
- ? { maxPriorityFeePerGas: Hex.fromNumber(envelope.maxPriorityFeePerGas) }
817
+ ...(envelope.maxPriorityFeePerGas !== undefined
818
+ ? {
819
+ maxPriorityFeePerGas: Quantity.fromNumberish(
820
+ envelope.maxPriorityFeePerGas,
821
+ ),
822
+ }
818
823
  : {}),
819
824
  type: '0x3',
820
825
  ...(signature ? Signature.toRpc(signature) : {}),
@@ -822,6 +827,12 @@ export function toRpc(envelope: Omit<TxEnvelopeEip4844, 'type'>): Rpc {
822
827
  }
823
828
 
824
829
  export declare namespace toRpc {
830
+ /** Numberish input accepted by {@link ox#TxEnvelopeEip4844.(toRpc:function)}. */
831
+ export type Input = Omit<
832
+ TxEnvelopeEip4844<boolean, Hex.Hex | bigint | number, Hex.Hex | number>,
833
+ 'type'
834
+ >
835
+
825
836
  export type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
826
837
  }
827
838
 
@@ -5,6 +5,7 @@ import type * as Bytes from './Bytes.js'
5
5
  import type * as Errors from './Errors.js'
6
6
  import * as Hash from './Hash.js'
7
7
  import * as Hex from './Hex.js'
8
+ import * as Quantity from './internal/quantity.js'
8
9
  import * as Tx from './internal/tx.js'
9
10
  import type {
10
11
  Assign,
@@ -637,30 +638,32 @@ export declare namespace serialize {
637
638
  * @param envelope - The EIP-7702 transaction envelope to convert.
638
639
  * @returns An RPC-formatted EIP-7702 transaction envelope.
639
640
  */
640
- export function toRpc(envelope: Omit<TxEnvelopeEip7702, 'type'>): Rpc {
641
+ export function toRpc(envelope: toRpc.Input): Rpc {
641
642
  const signature = Signature.extract(envelope)
642
643
 
643
644
  return {
644
645
  ...envelope,
645
646
  authorizationList: Authorization.toRpcList(envelope.authorizationList),
646
- chainId: Hex.fromNumber(envelope.chainId),
647
+ chainId: Quantity.fromNumberish(envelope.chainId),
647
648
  data: envelope.data ?? envelope.input,
648
649
  type: '0x4',
649
- ...(typeof envelope.gas === 'bigint'
650
- ? { gas: Hex.fromNumber(envelope.gas) }
650
+ ...(envelope.gas !== undefined
651
+ ? { gas: Quantity.fromNumberish(envelope.gas) }
651
652
  : {}),
652
- ...(typeof envelope.nonce === 'bigint'
653
- ? { nonce: Hex.fromNumber(envelope.nonce) }
653
+ ...(envelope.nonce !== undefined
654
+ ? { nonce: Quantity.fromNumberish(envelope.nonce) }
654
655
  : {}),
655
- ...(typeof envelope.value === 'bigint'
656
- ? { value: Hex.fromNumber(envelope.value) }
656
+ ...(envelope.value !== undefined
657
+ ? { value: Quantity.fromNumberish(envelope.value) }
657
658
  : {}),
658
- ...(typeof envelope.maxFeePerGas === 'bigint'
659
- ? { maxFeePerGas: Hex.fromNumber(envelope.maxFeePerGas) }
659
+ ...(envelope.maxFeePerGas !== undefined
660
+ ? { maxFeePerGas: Quantity.fromNumberish(envelope.maxFeePerGas) }
660
661
  : {}),
661
- ...(typeof envelope.maxPriorityFeePerGas === 'bigint'
662
+ ...(envelope.maxPriorityFeePerGas !== undefined
662
663
  ? {
663
- maxPriorityFeePerGas: Hex.fromNumber(envelope.maxPriorityFeePerGas),
664
+ maxPriorityFeePerGas: Quantity.fromNumberish(
665
+ envelope.maxPriorityFeePerGas,
666
+ ),
664
667
  }
665
668
  : {}),
666
669
  ...(signature ? Signature.toRpc(signature) : {}),
@@ -668,6 +671,12 @@ export function toRpc(envelope: Omit<TxEnvelopeEip7702, 'type'>): Rpc {
668
671
  }
669
672
 
670
673
  export declare namespace toRpc {
674
+ /** Numberish input accepted by {@link ox#TxEnvelopeEip7702.(toRpc:function)}. */
675
+ export type Input = Omit<
676
+ TxEnvelopeEip7702<boolean, Hex.Hex | bigint | number, Hex.Hex | number>,
677
+ 'type'
678
+ >
679
+
671
680
  export type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
672
681
  }
673
682
 
@@ -3,6 +3,7 @@ import type * as Bytes from './Bytes.js'
3
3
  import type * as Errors from './Errors.js'
4
4
  import * as Hash from './Hash.js'
5
5
  import * as Hex from './Hex.js'
6
+ import * as Quantity from './internal/quantity.js'
6
7
  import * as Tx from './internal/tx.js'
7
8
  import type {
8
9
  Assign,
@@ -579,7 +580,7 @@ export declare namespace serialize {
579
580
  * @param envelope - The legacy transaction envelope to convert.
580
581
  * @returns An RPC-formatted legacy transaction envelope.
581
582
  */
582
- export function toRpc(envelope: Omit<TxEnvelopeLegacy, 'type'>): Rpc {
583
+ export function toRpc(envelope: toRpc.Input): Rpc {
583
584
  const signature = Signature.extract(envelope)!
584
585
 
585
586
  return {
@@ -590,17 +591,17 @@ export function toRpc(envelope: Omit<TxEnvelopeLegacy, 'type'>): Rpc {
590
591
  : undefined,
591
592
  data: envelope.data ?? envelope.input,
592
593
  type: '0x0',
593
- ...(typeof envelope.gas === 'bigint'
594
- ? { gas: Hex.fromNumber(envelope.gas) }
594
+ ...(envelope.gas !== undefined
595
+ ? { gas: Quantity.fromNumberish(envelope.gas) }
595
596
  : {}),
596
- ...(typeof envelope.nonce === 'bigint'
597
- ? { nonce: Hex.fromNumber(envelope.nonce) }
597
+ ...(envelope.nonce !== undefined
598
+ ? { nonce: Quantity.fromNumberish(envelope.nonce) }
598
599
  : {}),
599
- ...(typeof envelope.value === 'bigint'
600
- ? { value: Hex.fromNumber(envelope.value) }
600
+ ...(envelope.value !== undefined
601
+ ? { value: Quantity.fromNumberish(envelope.value) }
601
602
  : {}),
602
- ...(typeof envelope.gasPrice === 'bigint'
603
- ? { gasPrice: Hex.fromNumber(envelope.gasPrice) }
603
+ ...(envelope.gasPrice !== undefined
604
+ ? { gasPrice: Quantity.fromNumberish(envelope.gasPrice) }
604
605
  : {}),
605
606
  ...(signature
606
607
  ? {
@@ -624,6 +625,16 @@ export function toRpc(envelope: Omit<TxEnvelopeLegacy, 'type'>): Rpc {
624
625
  }
625
626
 
626
627
  export declare namespace toRpc {
628
+ /**
629
+ * Numberish input accepted by {@link ox#TxEnvelopeLegacy.(toRpc:function)}.
630
+ * `bigint` fields also accept `Hex.Hex | number`; `chainId`/`v` stay `number`
631
+ * to preserve EIP-155 `v` derivation.
632
+ */
633
+ export type Input = Omit<
634
+ TxEnvelopeLegacy<boolean, Hex.Hex | bigint | number, number>,
635
+ 'type'
636
+ >
637
+
627
638
  export type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
628
639
  }
629
640
 
@@ -1,5 +1,6 @@
1
1
  import type * as Errors from './Errors.js'
2
- import * as Hex from './Hex.js'
2
+ import type * as Hex from './Hex.js'
3
+ import * as Quantity from './internal/quantity.js'
3
4
 
4
5
  /** A Withdrawal as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/withdrawal.yaml). */
5
6
  export type Withdrawal<bigintType = bigint, numberType = number> = {
@@ -73,15 +74,18 @@ export declare namespace fromRpc {
73
74
  * @param withdrawal - The Withdrawal to convert.
74
75
  * @returns An RPC Withdrawal.
75
76
  */
76
- export function toRpc(withdrawal: Withdrawal): Rpc {
77
+ export function toRpc(withdrawal: toRpc.Input): Rpc {
77
78
  return {
78
79
  address: withdrawal.address,
79
- amount: Hex.fromNumber(withdrawal.amount),
80
- index: Hex.fromNumber(withdrawal.index),
81
- validatorIndex: Hex.fromNumber(withdrawal.validatorIndex),
80
+ amount: Quantity.fromNumberish(withdrawal.amount),
81
+ index: Quantity.fromNumberish(withdrawal.index),
82
+ validatorIndex: Quantity.fromNumberish(withdrawal.validatorIndex),
82
83
  }
83
84
  }
84
85
 
85
86
  export declare namespace toRpc {
87
+ /** Numberish input accepted by {@link ox#Withdrawal.(toRpc:function)}. */
88
+ export type Input = Withdrawal<Hex.Hex | bigint | number, Hex.Hex | number>
89
+
86
90
  export type ErrorType = Errors.GlobalErrorType
87
91
  }
@@ -117,6 +117,10 @@ describe('from', () => {
117
117
  test('exports', () => {
118
118
  expect(Object.keys(Abi)).toMatchInlineSnapshot(`
119
119
  [
120
+ "InvalidSignatureError",
121
+ "InvalidStructSignatureError",
122
+ "UnknownSignatureError",
123
+ "CircularReferenceError",
120
124
  "format",
121
125
  "from",
122
126
  ]
@@ -2107,6 +2107,9 @@ describe('getSignatureHash', () => {
2107
2107
  test('exports', () => {
2108
2108
  expect(Object.keys(AbiItem)).toMatchInlineSnapshot(`
2109
2109
  [
2110
+ "InvalidAbiItemError",
2111
+ "UnknownSolidityTypeError",
2112
+ "UnknownTypeError",
2110
2113
  "format",
2111
2114
  "from",
2112
2115
  "fromAbi",