ox 1.0.0-beta.2 → 1.0.0-beta.20

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 (664) 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 +3 -1
  237. package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
  238. package/dist/tempo/TransactionReceipt.js.map +1 -1
  239. package/dist/tempo/TransactionRequest.d.ts +18 -3
  240. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  241. package/dist/tempo/TransactionRequest.js +72 -35
  242. package/dist/tempo/TransactionRequest.js.map +1 -1
  243. package/dist/tempo/TxEnvelopeTempo.d.ts +2 -3
  244. package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  245. package/dist/tempo/TxEnvelopeTempo.js +5 -6
  246. package/dist/tempo/TxEnvelopeTempo.js.map +1 -1
  247. package/dist/tempo/index.d.ts +6 -26
  248. package/dist/tempo/index.d.ts.map +1 -1
  249. package/dist/tempo/index.js +6 -26
  250. package/dist/tempo/index.js.map +1 -1
  251. package/dist/zod/Abi.d.ts +214 -0
  252. package/dist/zod/Abi.d.ts.map +1 -0
  253. package/dist/zod/Abi.js +5 -0
  254. package/dist/zod/Abi.js.map +1 -0
  255. package/dist/zod/AbiConstructor.d.ts +58 -0
  256. package/dist/zod/AbiConstructor.d.ts.map +1 -0
  257. package/dist/zod/AbiConstructor.js +18 -0
  258. package/dist/zod/AbiConstructor.js.map +1 -0
  259. package/dist/zod/AbiError.d.ts +20 -0
  260. package/dist/zod/AbiError.d.ts.map +1 -0
  261. package/dist/zod/AbiError.js +9 -0
  262. package/dist/zod/AbiError.js.map +1 -0
  263. package/dist/zod/AbiEvent.d.ts +23 -0
  264. package/dist/zod/AbiEvent.d.ts.map +1 -0
  265. package/dist/zod/AbiEvent.js +11 -0
  266. package/dist/zod/AbiEvent.js.map +1 -0
  267. package/dist/zod/AbiFallback.d.ts +16 -0
  268. package/dist/zod/AbiFallback.d.ts.map +1 -0
  269. package/dist/zod/AbiFallback.js +16 -0
  270. package/dist/zod/AbiFallback.js.map +1 -0
  271. package/dist/zod/AbiFunction.d.ts +109 -0
  272. package/dist/zod/AbiFunction.d.ts.map +1 -0
  273. package/dist/zod/AbiFunction.js +26 -0
  274. package/dist/zod/AbiFunction.js.map +1 -0
  275. package/dist/zod/AbiItem.d.ts +216 -0
  276. package/dist/zod/AbiItem.d.ts.map +1 -0
  277. package/dist/zod/AbiItem.js +26 -0
  278. package/dist/zod/AbiItem.js.map +1 -0
  279. package/dist/zod/AbiParameter.d.ts +32 -0
  280. package/dist/zod/AbiParameter.d.ts.map +1 -0
  281. package/dist/zod/AbiParameter.js +28 -0
  282. package/dist/zod/AbiParameter.js.map +1 -0
  283. package/dist/zod/AbiParameters.d.ts +30 -0
  284. package/dist/zod/AbiParameters.d.ts.map +1 -0
  285. package/dist/zod/AbiParameters.js +6 -0
  286. package/dist/zod/AbiParameters.js.map +1 -0
  287. package/dist/zod/AbiReceive.d.ts +6 -0
  288. package/dist/zod/AbiReceive.d.ts.map +1 -0
  289. package/dist/zod/AbiReceive.js +7 -0
  290. package/dist/zod/AbiReceive.js.map +1 -0
  291. package/dist/zod/AccountProof.d.ts +20 -0
  292. package/dist/zod/AccountProof.d.ts.map +1 -1
  293. package/dist/zod/AccountProof.js +24 -14
  294. package/dist/zod/AccountProof.js.map +1 -1
  295. package/dist/zod/Authorization.d.ts +43 -0
  296. package/dist/zod/Authorization.d.ts.map +1 -1
  297. package/dist/zod/Authorization.js +36 -16
  298. package/dist/zod/Authorization.js.map +1 -1
  299. package/dist/zod/BigInt.d.ts +2 -0
  300. package/dist/zod/BigInt.d.ts.map +1 -1
  301. package/dist/zod/BigInt.js +6 -1
  302. package/dist/zod/BigInt.js.map +1 -1
  303. package/dist/zod/Block.d.ts +219 -0
  304. package/dist/zod/Block.d.ts.map +1 -1
  305. package/dist/zod/Block.js +24 -20
  306. package/dist/zod/Block.js.map +1 -1
  307. package/dist/zod/BlockOverrides.d.ts +16 -0
  308. package/dist/zod/BlockOverrides.d.ts.map +1 -1
  309. package/dist/zod/BlockOverrides.js +15 -10
  310. package/dist/zod/BlockOverrides.js.map +1 -1
  311. package/dist/zod/Filter.d.ts +14 -0
  312. package/dist/zod/Filter.d.ts.map +1 -1
  313. package/dist/zod/Filter.js +24 -19
  314. package/dist/zod/Filter.js.map +1 -1
  315. package/dist/zod/Log.d.ts +15 -2
  316. package/dist/zod/Log.d.ts.map +1 -1
  317. package/dist/zod/Log.js +18 -13
  318. package/dist/zod/Log.js.map +1 -1
  319. package/dist/zod/Number.d.ts +2 -0
  320. package/dist/zod/Number.d.ts.map +1 -1
  321. package/dist/zod/Number.js +6 -1
  322. package/dist/zod/Number.js.map +1 -1
  323. package/dist/zod/RpcSchema.d.ts +318 -112
  324. package/dist/zod/RpcSchema.d.ts.map +1 -1
  325. package/dist/zod/RpcSchema.js +30 -82
  326. package/dist/zod/RpcSchema.js.map +1 -1
  327. package/dist/zod/Signature.d.ts +6 -0
  328. package/dist/zod/Signature.d.ts.map +1 -1
  329. package/dist/zod/Signature.js +9 -1
  330. package/dist/zod/Signature.js.map +1 -1
  331. package/dist/zod/Solidity.d.ts +15 -0
  332. package/dist/zod/Solidity.d.ts.map +1 -0
  333. package/dist/zod/Solidity.js +41 -0
  334. package/dist/zod/Solidity.js.map +1 -0
  335. package/dist/zod/StateOverrides.d.ts +32 -0
  336. package/dist/zod/StateOverrides.d.ts.map +1 -1
  337. package/dist/zod/StateOverrides.js +25 -18
  338. package/dist/zod/StateOverrides.js.map +1 -1
  339. package/dist/zod/Transaction.d.ts +312 -0
  340. package/dist/zod/Transaction.d.ts.map +1 -1
  341. package/dist/zod/Transaction.js +138 -93
  342. package/dist/zod/Transaction.js.map +1 -1
  343. package/dist/zod/TransactionEnvelope.d.ts +222 -0
  344. package/dist/zod/TransactionEnvelope.d.ts.map +1 -1
  345. package/dist/zod/TransactionEnvelope.js +19 -3
  346. package/dist/zod/TransactionEnvelope.js.map +1 -1
  347. package/dist/zod/TransactionReceipt.d.ts +32 -1
  348. package/dist/zod/TransactionReceipt.d.ts.map +1 -1
  349. package/dist/zod/TransactionReceipt.js +24 -19
  350. package/dist/zod/TransactionReceipt.js.map +1 -1
  351. package/dist/zod/TransactionRequest.d.ts +34 -0
  352. package/dist/zod/TransactionRequest.d.ts.map +1 -1
  353. package/dist/zod/TransactionRequest.js +28 -23
  354. package/dist/zod/TransactionRequest.js.map +1 -1
  355. package/dist/zod/TxEnvelopeEip1559.d.ts +44 -0
  356. package/dist/zod/TxEnvelopeEip1559.d.ts.map +1 -1
  357. package/dist/zod/TxEnvelopeEip1559.js +23 -14
  358. package/dist/zod/TxEnvelopeEip1559.js.map +1 -1
  359. package/dist/zod/TxEnvelopeEip2930.d.ts +42 -0
  360. package/dist/zod/TxEnvelopeEip2930.d.ts.map +1 -1
  361. package/dist/zod/TxEnvelopeEip2930.js +21 -12
  362. package/dist/zod/TxEnvelopeEip2930.js.map +1 -1
  363. package/dist/zod/TxEnvelopeEip4844.d.ts +58 -0
  364. package/dist/zod/TxEnvelopeEip4844.d.ts.map +1 -1
  365. package/dist/zod/TxEnvelopeEip4844.js +29 -20
  366. package/dist/zod/TxEnvelopeEip4844.js.map +1 -1
  367. package/dist/zod/TxEnvelopeEip7702.d.ts +60 -0
  368. package/dist/zod/TxEnvelopeEip7702.d.ts.map +1 -1
  369. package/dist/zod/TxEnvelopeEip7702.js +25 -16
  370. package/dist/zod/TxEnvelopeEip7702.js.map +1 -1
  371. package/dist/zod/TxEnvelopeLegacy.d.ts +34 -0
  372. package/dist/zod/TxEnvelopeLegacy.d.ts.map +1 -1
  373. package/dist/zod/TxEnvelopeLegacy.js +19 -10
  374. package/dist/zod/TxEnvelopeLegacy.js.map +1 -1
  375. package/dist/zod/TypedData.d.ts +226 -0
  376. package/dist/zod/TypedData.d.ts.map +1 -0
  377. package/dist/zod/TypedData.js +84 -0
  378. package/dist/zod/TypedData.js.map +1 -0
  379. package/dist/zod/Uint.d.ts +4 -0
  380. package/dist/zod/Uint.d.ts.map +1 -1
  381. package/dist/zod/Uint.js +14 -1
  382. package/dist/zod/Uint.js.map +1 -1
  383. package/dist/zod/Withdrawal.d.ts +7 -0
  384. package/dist/zod/Withdrawal.d.ts.map +1 -1
  385. package/dist/zod/Withdrawal.js +11 -6
  386. package/dist/zod/Withdrawal.js.map +1 -1
  387. package/dist/zod/internal/Integer.d.ts +15 -0
  388. package/dist/zod/internal/Integer.d.ts.map +1 -1
  389. package/dist/zod/internal/Integer.js +39 -0
  390. package/dist/zod/internal/Integer.js.map +1 -1
  391. package/dist/zod/internal/TransactionEnvelope.d.ts +38 -28
  392. package/dist/zod/internal/TransactionEnvelope.d.ts.map +1 -1
  393. package/dist/zod/internal/TransactionEnvelope.js +22 -15
  394. package/dist/zod/internal/TransactionEnvelope.js.map +1 -1
  395. package/dist/zod/internal/rpcSchemas/Eth.d.ts +260 -123
  396. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
  397. package/dist/zod/internal/rpcSchemas/Eth.js +17 -6
  398. package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
  399. package/dist/zod/internal/rpcSchemas/Wallet.d.ts +1 -1
  400. package/dist/zod/tempo/AuthorizationTempo.d.ts +405 -12
  401. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
  402. package/dist/zod/tempo/AuthorizationTempo.js +20 -0
  403. package/dist/zod/tempo/AuthorizationTempo.js.map +1 -1
  404. package/dist/zod/tempo/KeyAuthorization.d.ts +838 -69
  405. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
  406. package/dist/zod/tempo/KeyAuthorization.js +49 -8
  407. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  408. package/dist/zod/tempo/RpcSchemaTempo.d.ts +218 -36
  409. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  410. package/dist/zod/tempo/SignatureEnvelope.d.ts +0 -6
  411. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  412. package/dist/zod/tempo/SignatureEnvelope.js +0 -2
  413. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  414. package/dist/zod/tempo/Transaction.d.ts +2203 -192
  415. package/dist/zod/tempo/Transaction.d.ts.map +1 -1
  416. package/dist/zod/tempo/Transaction.js +113 -33
  417. package/dist/zod/tempo/Transaction.js.map +1 -1
  418. package/dist/zod/tempo/TransactionReceipt.d.ts +34 -1
  419. package/dist/zod/tempo/TransactionReceipt.d.ts.map +1 -1
  420. package/dist/zod/tempo/TransactionReceipt.js +26 -21
  421. package/dist/zod/tempo/TransactionReceipt.js.map +1 -1
  422. package/dist/zod/tempo/TransactionRequest.d.ts +1049 -57
  423. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  424. package/dist/zod/tempo/TransactionRequest.js +141 -26
  425. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  426. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +225 -18
  427. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  428. package/dist/zod/tempo/TxEnvelopeTempo.js +1 -1
  429. package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -1
  430. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +0 -3
  431. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -1
  432. package/dist/zod/tempo/z.d.ts +0 -1
  433. package/dist/zod/tempo/z.d.ts.map +1 -1
  434. package/dist/zod/tempo/z.js +0 -1
  435. package/dist/zod/tempo/z.js.map +1 -1
  436. package/dist/zod/z.d.ts +15 -3
  437. package/dist/zod/z.d.ts.map +1 -1
  438. package/dist/zod/z.js +15 -3
  439. package/dist/zod/z.js.map +1 -1
  440. package/package.json +66 -11
  441. package/src/CHANGELOG.md +18 -0
  442. package/src/core/Abi.bench.ts +30 -0
  443. package/src/core/Abi.ts +13 -4
  444. package/src/core/AbiConstructor.ts +3 -2
  445. package/src/core/AbiError.ts +6 -2
  446. package/src/core/AbiEvent.ts +6 -2
  447. package/src/core/AbiFunction.ts +6 -2
  448. package/src/core/AbiItem.bench.ts +19 -0
  449. package/src/core/AbiItem.ts +20 -10
  450. package/src/core/AbiParameter.bench.ts +35 -0
  451. package/src/core/AbiParameter.ts +126 -0
  452. package/src/core/AbiParameters.bench.ts +22 -0
  453. package/src/core/AbiParameters.ts +77 -8
  454. package/src/core/AccountProof.ts +7 -4
  455. package/src/core/Authorization.ts +11 -4
  456. package/src/core/Block.ts +24 -13
  457. package/src/core/BlockOverrides.ts +18 -13
  458. package/src/core/Filter.ts +8 -5
  459. package/src/core/Log.ts +10 -6
  460. package/src/core/Rlp.ts +66 -3
  461. package/src/core/RpcSchema.ts +2 -2
  462. package/src/core/Signature.ts +6 -2
  463. package/src/core/StateOverrides.ts +10 -5
  464. package/src/core/Transaction.ts +37 -26
  465. package/src/core/TransactionReceipt.ts +17 -8
  466. package/src/core/TransactionRequest.ts +21 -11
  467. package/src/core/TxEnvelope.ts +9 -2
  468. package/src/core/TxEnvelopeEip1559.ts +21 -12
  469. package/src/core/TxEnvelopeEip2930.ts +17 -10
  470. package/src/core/TxEnvelopeEip4844.ts +25 -14
  471. package/src/core/TxEnvelopeEip7702.ts +21 -12
  472. package/src/core/TxEnvelopeLegacy.ts +20 -9
  473. package/src/core/Withdrawal.ts +9 -5
  474. package/src/core/_test/Abi.test.ts +4 -0
  475. package/src/core/_test/AbiItem.test.ts +3 -0
  476. package/src/core/_test/AbiParameter.test-d.ts +41 -0
  477. package/src/core/_test/AbiParameter.test.ts +84 -0
  478. package/src/core/_test/AbiParameters.decode.test.ts +88 -12
  479. package/src/core/_test/AbiParameters.encode.test.ts +68 -0
  480. package/src/core/_test/AbiParameters.test.ts +7 -0
  481. package/src/core/_test/AccountProof.test.ts +56 -0
  482. package/src/core/_test/Authorization.test.ts +29 -0
  483. package/src/core/_test/Block.test.ts +98 -0
  484. package/src/core/_test/BlockOverrides.test.ts +50 -0
  485. package/src/core/_test/Filter.test.ts +32 -0
  486. package/src/core/_test/Log.test.ts +42 -0
  487. package/src/core/_test/Rlp.test.ts +101 -0
  488. package/src/core/_test/RpcSchema.test-d.ts +12 -0
  489. package/src/core/_test/Signature.test.ts +14 -0
  490. package/src/core/_test/StateOverrides.test.ts +51 -0
  491. package/src/core/_test/Transaction.test.ts +64 -0
  492. package/src/core/_test/TransactionEnvelopeEip1559.test.ts +41 -0
  493. package/src/core/_test/TransactionEnvelopeEip2930.test.ts +38 -0
  494. package/src/core/_test/TransactionEnvelopeEip4844.test.ts +47 -0
  495. package/src/core/_test/TransactionEnvelopeEip7702.test.ts +71 -0
  496. package/src/core/_test/TransactionEnvelopeLegacy.test.ts +38 -0
  497. package/src/core/_test/TransactionReceipt.test.ts +54 -0
  498. package/src/core/_test/Withdrawal.test.ts +33 -0
  499. package/src/core/_test/index.test.ts +1 -0
  500. package/src/core/internal/abiParameters.ts +21 -3
  501. package/src/core/internal/human-readable/_snap/formatAbi.test.ts.snap +74 -0
  502. package/src/core/internal/human-readable/_snap/parseAbi.test.ts.snap +2353 -0
  503. package/src/core/internal/human-readable/errors.test.ts +258 -0
  504. package/src/core/internal/human-readable/errors.ts +205 -0
  505. package/src/core/internal/human-readable/formatAbi.test-d.ts +144 -0
  506. package/src/core/internal/human-readable/formatAbi.test.ts +23 -0
  507. package/src/core/internal/human-readable/formatAbi.ts +37 -0
  508. package/src/core/internal/human-readable/formatAbiItem.test-d.ts +115 -0
  509. package/src/core/internal/human-readable/formatAbiItem.test.ts +102 -0
  510. package/src/core/internal/human-readable/formatAbiItem.ts +136 -0
  511. package/src/core/internal/human-readable/formatAbiParameter.test-d.ts +125 -0
  512. package/src/core/internal/human-readable/formatAbiParameter.test.ts +126 -0
  513. package/src/core/internal/human-readable/formatAbiParameter.ts +86 -0
  514. package/src/core/internal/human-readable/formatAbiParameters.test-d.ts +92 -0
  515. package/src/core/internal/human-readable/formatAbiParameters.test.ts +32 -0
  516. package/src/core/internal/human-readable/formatAbiParameters.ts +46 -0
  517. package/src/core/internal/human-readable/human-readable.bench-d.ts +58 -0
  518. package/src/core/internal/human-readable/integration.test.ts +68 -0
  519. package/src/core/internal/human-readable/parseAbi.test-d.ts +188 -0
  520. package/src/core/internal/human-readable/parseAbi.test.ts +82 -0
  521. package/src/core/internal/human-readable/parseAbi.ts +59 -0
  522. package/src/core/internal/human-readable/parseAbiItem.test-d.ts +183 -0
  523. package/src/core/internal/human-readable/parseAbiItem.test.ts +264 -0
  524. package/src/core/internal/human-readable/parseAbiItem.ts +91 -0
  525. package/src/core/internal/human-readable/parseAbiParameter.test-d.ts +68 -0
  526. package/src/core/internal/human-readable/parseAbiParameter.test.ts +207 -0
  527. package/src/core/internal/human-readable/parseAbiParameter.ts +95 -0
  528. package/src/core/internal/human-readable/parseAbiParameters.test-d.ts +160 -0
  529. package/src/core/internal/human-readable/parseAbiParameters.test.ts +80 -0
  530. package/src/core/internal/human-readable/parseAbiParameters.ts +123 -0
  531. package/src/core/internal/human-readable/regex.ts +15 -0
  532. package/src/core/internal/human-readable/runtime/cache.ts +96 -0
  533. package/src/core/internal/human-readable/runtime/signatures.test.ts +236 -0
  534. package/src/core/internal/human-readable/runtime/signatures.ts +106 -0
  535. package/src/core/internal/human-readable/runtime/structs.test.ts +210 -0
  536. package/src/core/internal/human-readable/runtime/structs.ts +97 -0
  537. package/src/core/internal/human-readable/runtime/utils.test.ts +717 -0
  538. package/src/core/internal/human-readable/runtime/utils.ts +344 -0
  539. package/src/core/internal/human-readable/types/signatures.test-d.ts +255 -0
  540. package/src/core/internal/human-readable/types/signatures.ts +369 -0
  541. package/src/core/internal/human-readable/types/structs.test-d.ts +221 -0
  542. package/src/core/internal/human-readable/types/structs.ts +88 -0
  543. package/src/core/internal/human-readable/types/utils.test-d.ts +1029 -0
  544. package/src/core/internal/human-readable/types/utils.ts +392 -0
  545. package/src/core/internal/human-readable/types.ts +69 -0
  546. package/src/core/internal/quantity.ts +29 -0
  547. package/src/core/internal/rpcSchemas/eth.ts +76 -10
  548. package/src/erc4337/UserOperation.ts +26 -11
  549. package/src/erc4337/UserOperationGas.ts +19 -8
  550. package/src/erc4337/UserOperationReceipt.ts +14 -4
  551. package/src/index.ts +38 -0
  552. package/src/tempo/AuthorizationTempo.ts +11 -4
  553. package/src/tempo/Channel.test.ts +2 -23
  554. package/src/tempo/Channel.ts +10 -22
  555. package/src/tempo/KeyAuthorization.test.ts +22 -0
  556. package/src/tempo/KeyAuthorization.ts +20 -14
  557. package/src/tempo/MultisigConfig.test.ts +54 -37
  558. package/src/tempo/MultisigConfig.ts +59 -134
  559. package/src/tempo/PoolId.test.ts +7 -41
  560. package/src/tempo/PoolId.ts +15 -10
  561. package/src/tempo/RpcSchemaTempo.ts +1 -1
  562. package/src/tempo/SignatureEnvelope.test.ts +118 -17
  563. package/src/tempo/SignatureEnvelope.ts +81 -73
  564. package/src/tempo/Transaction.test.ts +0 -15
  565. package/src/tempo/Transaction.ts +78 -19
  566. package/src/tempo/TransactionReceipt.ts +9 -1
  567. package/src/tempo/TransactionRequest.test.ts +174 -1
  568. package/src/tempo/TransactionRequest.ts +98 -39
  569. package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
  570. package/src/tempo/TxEnvelopeTempo.ts +7 -7
  571. package/src/tempo/e2e.test.ts +221 -43
  572. package/src/tempo/index.ts +6 -26
  573. package/src/version.ts +1 -1
  574. package/src/zod/Abi.ts +5 -0
  575. package/src/zod/AbiConstructor.ts +24 -0
  576. package/src/zod/AbiError.ts +9 -0
  577. package/src/zod/AbiEvent.ts +11 -0
  578. package/src/zod/AbiFallback.ts +22 -0
  579. package/src/zod/AbiFunction.ts +32 -0
  580. package/src/zod/AbiItem.ts +28 -0
  581. package/src/zod/AbiParameter.ts +36 -0
  582. package/src/zod/AbiParameters.ts +7 -0
  583. package/src/zod/AbiReceive.ts +7 -0
  584. package/src/zod/AccountProof.ts +36 -14
  585. package/src/zod/Authorization.ts +65 -18
  586. package/src/zod/BigInt.ts +12 -1
  587. package/src/zod/Block.ts +68 -26
  588. package/src/zod/BlockOverrides.ts +24 -10
  589. package/src/zod/Filter.ts +26 -21
  590. package/src/zod/Log.ts +23 -13
  591. package/src/zod/Number.ts +12 -1
  592. package/src/zod/RpcSchema.ts +123 -29
  593. package/src/zod/Signature.ts +18 -3
  594. package/src/zod/Solidity.ts +83 -0
  595. package/src/zod/StateOverrides.ts +31 -19
  596. package/src/zod/Transaction.ts +254 -101
  597. package/src/zod/TransactionEnvelope.ts +27 -3
  598. package/src/zod/TransactionReceipt.ts +34 -19
  599. package/src/zod/TransactionRequest.ts +42 -23
  600. package/src/zod/TxEnvelopeEip1559.ts +34 -13
  601. package/src/zod/TxEnvelopeEip2930.ts +32 -11
  602. package/src/zod/TxEnvelopeEip4844.ts +40 -19
  603. package/src/zod/TxEnvelopeEip7702.ts +46 -15
  604. package/src/zod/TxEnvelopeLegacy.ts +30 -9
  605. package/src/zod/TypedData.ts +111 -0
  606. package/src/zod/Uint.ts +19 -0
  607. package/src/zod/Withdrawal.ts +18 -6
  608. package/src/zod/_test/Abi.test-d.ts +46 -0
  609. package/src/zod/_test/Abi.test.ts +163 -0
  610. package/src/zod/_test/AccountProof.test.ts +32 -0
  611. package/src/zod/_test/Authorization.test.ts +42 -0
  612. package/src/zod/_test/BigInt.test.ts +9 -1
  613. package/src/zod/_test/Block.test.ts +54 -0
  614. package/src/zod/_test/BlockOverrides.test.ts +35 -0
  615. package/src/zod/_test/Filter.test.ts +34 -0
  616. package/src/zod/_test/Log.test.ts +49 -0
  617. package/src/zod/_test/Number.test.ts +8 -1
  618. package/src/zod/_test/RpcSchema.test-d.ts +46 -0
  619. package/src/zod/_test/RpcSchema.test.ts +70 -0
  620. package/src/zod/_test/Signature.test.ts +10 -0
  621. package/src/zod/_test/StateOverrides.test.ts +26 -0
  622. package/src/zod/_test/Transaction.test.ts +30 -0
  623. package/src/zod/_test/TransactionEnvelope.test.ts +34 -0
  624. package/src/zod/_test/TransactionReceipt.test.ts +45 -1
  625. package/src/zod/_test/TransactionRequest.test.ts +31 -0
  626. package/src/zod/_test/TxEnvelope.test.ts +32 -0
  627. package/src/zod/_test/TypedData.test-d.ts +20 -0
  628. package/src/zod/_test/TypedData.test.ts +87 -0
  629. package/src/zod/_test/Uint.test.ts +15 -0
  630. package/src/zod/_test/Withdrawal.test.ts +35 -0
  631. package/src/zod/_test/z.test-d.ts +6 -0
  632. package/src/zod/_test/z.test.ts +17 -0
  633. package/src/zod/internal/Integer.ts +58 -0
  634. package/src/zod/internal/TransactionEnvelope.ts +33 -17
  635. package/src/zod/internal/rpcSchemas/Eth.ts +20 -6
  636. package/src/zod/tempo/AuthorizationTempo.ts +25 -0
  637. package/src/zod/tempo/KeyAuthorization.ts +58 -8
  638. package/src/zod/tempo/SignatureEnvelope.ts +0 -2
  639. package/src/zod/tempo/Transaction.ts +148 -33
  640. package/src/zod/tempo/TransactionReceipt.ts +36 -21
  641. package/src/zod/tempo/TransactionRequest.ts +154 -28
  642. package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
  643. package/src/zod/tempo/_test/AuthorizationTempo.test.ts +24 -0
  644. package/src/zod/tempo/_test/KeyAuthorization.test.ts +85 -0
  645. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
  646. package/src/zod/tempo/_test/Transaction.test.ts +178 -0
  647. package/src/zod/tempo/_test/TransactionReceipt.test.ts +26 -0
  648. package/src/zod/tempo/_test/TransactionRequest.test.ts +73 -0
  649. package/src/zod/tempo/z.ts +0 -1
  650. package/src/zod/z.ts +16 -2
  651. package/dist/tempo/TokenId.d.ts +0 -87
  652. package/dist/tempo/TokenId.d.ts.map +0 -1
  653. package/dist/tempo/TokenId.js +0 -123
  654. package/dist/tempo/TokenId.js.map +0 -1
  655. package/dist/zod/tempo/TokenId.d.ts +0 -6
  656. package/dist/zod/tempo/TokenId.d.ts.map +0 -1
  657. package/dist/zod/tempo/TokenId.js +0 -14
  658. package/dist/zod/tempo/TokenId.js.map +0 -1
  659. package/src/tempo/TokenId.bench.ts +0 -36
  660. package/src/tempo/TokenId.test.ts +0 -79
  661. package/src/tempo/TokenId.ts +0 -141
  662. package/src/zod/tempo/TokenId.ts +0 -15
  663. package/src/zod/tempo/_test/TokenId.test-d.ts +0 -17
  664. package/src/zod/tempo/_test/TokenId.test.ts +0 -21
@@ -0,0 +1,392 @@
1
+ import type {
2
+ AbiParameter,
3
+ AbiStateMutability,
4
+ AbiType,
5
+ SolidityFixedArrayRange,
6
+ } from 'abitype'
7
+ import type { ResolvedRegister } from 'abitype'
8
+ import type { Error, IsUnknown, Merge, Pretty, Trim } from '../types.js'
9
+ import type {
10
+ ErrorSignature,
11
+ EventModifier,
12
+ EventSignature,
13
+ FallbackSignature,
14
+ FunctionModifier,
15
+ FunctionSignature,
16
+ IsConstructorSignature,
17
+ IsErrorSignature,
18
+ IsEventSignature,
19
+ IsFunctionSignature,
20
+ Modifier,
21
+ ReceiveSignature,
22
+ Scope,
23
+ ValidateName,
24
+ } from './signatures.js'
25
+ import type { StructLookup } from './structs.js'
26
+
27
+ export type ParseSignature<
28
+ signature extends string,
29
+ structs extends StructLookup | unknown = unknown,
30
+ > =
31
+ | (IsErrorSignature<signature> extends true
32
+ ? signature extends ErrorSignature<infer name, infer parameters>
33
+ ? {
34
+ readonly name: name
35
+ readonly type: 'error'
36
+ readonly inputs: ParseAbiParameters<
37
+ SplitParameters<parameters>,
38
+ { structs: structs }
39
+ >
40
+ }
41
+ : never
42
+ : never)
43
+ | (IsEventSignature<signature> extends true
44
+ ? signature extends EventSignature<infer name, infer parameters>
45
+ ? {
46
+ readonly name: name
47
+ readonly type: 'event'
48
+ readonly inputs: ParseAbiParameters<
49
+ SplitParameters<parameters>,
50
+ { modifier: EventModifier; structs: structs }
51
+ >
52
+ }
53
+ : never
54
+ : never)
55
+ | (IsFunctionSignature<signature> extends true
56
+ ? signature extends FunctionSignature<infer name, infer tail>
57
+ ? {
58
+ readonly name: name
59
+ readonly type: 'function'
60
+ readonly stateMutability: _ParseFunctionParametersAndStateMutability<signature>['StateMutability']
61
+ readonly inputs: ParseAbiParameters<
62
+ SplitParameters<
63
+ _ParseFunctionParametersAndStateMutability<signature>['Inputs']
64
+ >,
65
+ { modifier: FunctionModifier; structs: structs }
66
+ >
67
+ readonly outputs: tail extends
68
+ | `${string}returns (${infer returns})`
69
+ | `${string}returns(${infer returns})`
70
+ ? ParseAbiParameters<
71
+ SplitParameters<returns>,
72
+ { modifier: FunctionModifier; structs: structs }
73
+ >
74
+ : readonly []
75
+ }
76
+ : never
77
+ : never)
78
+ | (IsConstructorSignature<signature> extends true
79
+ ? {
80
+ readonly type: 'constructor'
81
+ readonly stateMutability: _ParseConstructorParametersAndStateMutability<signature>['StateMutability']
82
+ readonly inputs: ParseAbiParameters<
83
+ SplitParameters<
84
+ _ParseConstructorParametersAndStateMutability<signature>['Inputs']
85
+ >,
86
+ { structs: structs }
87
+ >
88
+ }
89
+ : never)
90
+ | (signature extends FallbackSignature<infer stateMutability>
91
+ ? {
92
+ readonly type: 'fallback'
93
+ readonly stateMutability: stateMutability extends `${string}payable`
94
+ ? 'payable'
95
+ : 'nonpayable'
96
+ }
97
+ : never)
98
+ | (signature extends ReceiveSignature
99
+ ? {
100
+ readonly type: 'receive'
101
+ readonly stateMutability: 'payable'
102
+ }
103
+ : never)
104
+
105
+ type ParseOptions = {
106
+ modifier?: Modifier
107
+ structs?: StructLookup | unknown
108
+ }
109
+ type DefaultParseOptions = object
110
+
111
+ export type ParseAbiParameters<
112
+ signatures extends readonly string[],
113
+ options extends ParseOptions = DefaultParseOptions,
114
+ > = signatures extends ['']
115
+ ? readonly []
116
+ : readonly [
117
+ ...{
118
+ [key in keyof signatures]: ParseAbiParameter<signatures[key], options>
119
+ },
120
+ ]
121
+
122
+ export type ParseAbiParameter<
123
+ signature extends string,
124
+ options extends ParseOptions = DefaultParseOptions,
125
+ > = (
126
+ signature extends `(${string})${string}`
127
+ ? _ParseTuple<signature, options>
128
+ : // Convert string to shallow AbiParameter (structs resolved yet)
129
+ // Check for `${Type} ${nameOrModifier}` format (e.g. `uint256 foo`, `uint256 indexed`, `uint256 indexed foo`)
130
+ signature extends `${infer type} ${infer tail}`
131
+ ? Trim<tail> extends infer trimmed extends string
132
+ ? // TODO: data location modifiers only allowed for struct/array types
133
+ { readonly type: Trim<type> } & _SplitNameOrModifier<trimmed, options>
134
+ : never
135
+ : // Must be `${Type}` format (e.g. `uint256`)
136
+ { readonly type: signature }
137
+ ) extends infer shallowParameter extends AbiParameter & {
138
+ type: string
139
+ indexed?: boolean
140
+ }
141
+ ? // Resolve struct types
142
+ // Starting with plain struct types (e.g. `Foo`)
143
+ (
144
+ shallowParameter['type'] extends keyof options['structs']
145
+ ? {
146
+ readonly type: 'tuple'
147
+ readonly components: options['structs'][shallowParameter['type']]
148
+ } & (IsUnknown<shallowParameter['name']> extends false
149
+ ? { readonly name: shallowParameter['name'] }
150
+ : object) &
151
+ (shallowParameter['indexed'] extends true
152
+ ? { readonly indexed: true }
153
+ : object)
154
+ : // Resolve tuple structs (e.g. `Foo[]`, `Foo[2]`, `Foo[][2]`, etc.)
155
+ shallowParameter['type'] extends `${infer type extends string &
156
+ keyof options['structs']}[${infer tail}]`
157
+ ? {
158
+ readonly type: `tuple[${tail}]`
159
+ readonly components: options['structs'][type]
160
+ } & (IsUnknown<shallowParameter['name']> extends false
161
+ ? { readonly name: shallowParameter['name'] }
162
+ : object) &
163
+ (shallowParameter['indexed'] extends true
164
+ ? { readonly indexed: true }
165
+ : object)
166
+ : // Not a struct, just return
167
+ shallowParameter
168
+ ) extends infer Parameter extends AbiParameter & {
169
+ type: string
170
+ indexed?: boolean
171
+ }
172
+ ? Pretty<_ValidateAbiParameter<Parameter>>
173
+ : never
174
+ : never
175
+
176
+ export type SplitParameters<
177
+ signature extends string,
178
+ result extends unknown[] = [],
179
+ current extends string = '',
180
+ depth extends readonly number[] = [],
181
+ > = signature extends ''
182
+ ? current extends ''
183
+ ? [...result] // empty string was passed in to `SplitParameters`
184
+ : depth['length'] extends 0
185
+ ? [...result, Trim<current>]
186
+ : Error<`Unbalanced parentheses. "${current}" has too many opening parentheses.`>
187
+ : signature extends `${infer char}${infer tail}`
188
+ ? char extends ','
189
+ ? depth['length'] extends 0
190
+ ? SplitParameters<tail, [...result, Trim<current>], ''>
191
+ : SplitParameters<tail, result, `${current}${char}`, depth>
192
+ : char extends '('
193
+ ? SplitParameters<tail, result, `${current}${char}`, [...depth, 1]>
194
+ : char extends ')'
195
+ ? depth['length'] extends 0
196
+ ? Error<`Unbalanced parentheses. "${current}" has too many closing parentheses.`>
197
+ : SplitParameters<tail, result, `${current}${char}`, Pop<depth>>
198
+ : SplitParameters<tail, result, `${current}${char}`, depth>
199
+ : []
200
+ type Pop<type extends readonly number[]> = type extends [...infer head, any]
201
+ ? head
202
+ : []
203
+
204
+ export type _ValidateAbiParameter<abiParameter extends AbiParameter> =
205
+ // Validate `name`
206
+ (
207
+ abiParameter extends { name: string }
208
+ ? ValidateName<abiParameter['name']> extends infer name
209
+ ? name extends abiParameter['name']
210
+ ? abiParameter
211
+ : // Add `Error` as `name`
212
+ Merge<abiParameter, { readonly name: name }>
213
+ : never
214
+ : abiParameter
215
+ ) extends infer parameter
216
+ ? // Validate `type` against `AbiType`
217
+ (
218
+ ResolvedRegister['strictAbiType'] extends true
219
+ ? parameter extends { type: AbiType }
220
+ ? parameter
221
+ : Merge<
222
+ parameter,
223
+ {
224
+ readonly type: Error<`Type "${parameter extends {
225
+ type: string
226
+ }
227
+ ? parameter['type']
228
+ : string}" is not a valid ABI type.`>
229
+ }
230
+ >
231
+ : parameter
232
+ ) extends infer parameter2 extends { type: unknown }
233
+ ? // Convert `(u)int` to `(u)int256`
234
+ parameter2['type'] extends `${infer prefix extends
235
+ | 'u'
236
+ | ''}int${infer suffix extends `[${string}]` | ''}`
237
+ ? Pretty<
238
+ Merge<parameter2, { readonly type: `${prefix}int256${suffix}` }>
239
+ >
240
+ : parameter2
241
+ : never
242
+ : never
243
+
244
+ export type _ParseFunctionParametersAndStateMutability<
245
+ signature extends string,
246
+ > = signature extends
247
+ | `${infer head}returns (${string})`
248
+ | `${infer head}returns(${string})`
249
+ ? _ParseFunctionParametersAndStateMutability<Trim<head>>
250
+ : signature extends `function ${string}(${infer parameters})`
251
+ ? { Inputs: parameters; StateMutability: 'nonpayable' }
252
+ : signature extends `function ${string}(${infer parameters}) ${infer scopeOrStateMutability extends
253
+ Scope | AbiStateMutability | `${Scope} ${AbiStateMutability}`}`
254
+ ? {
255
+ Inputs: parameters
256
+ StateMutability: _ParseStateMutability<scopeOrStateMutability>
257
+ }
258
+ : signature extends `function ${string}(${infer tail}`
259
+ ? _UnwrapNameOrModifier<tail> extends {
260
+ nameOrModifier: infer scopeOrStateMutability extends string
261
+ End: infer parameters
262
+ }
263
+ ? {
264
+ Inputs: parameters
265
+ StateMutability: _ParseStateMutability<scopeOrStateMutability>
266
+ }
267
+ : never
268
+ : never
269
+
270
+ type _ParseStateMutability<signature extends string> =
271
+ signature extends `${Scope} ${infer stateMutability extends AbiStateMutability}`
272
+ ? stateMutability
273
+ : signature extends AbiStateMutability
274
+ ? signature
275
+ : 'nonpayable'
276
+
277
+ type _ParseConstructorParametersAndStateMutability<signature extends string> =
278
+ signature extends `constructor(${infer parameters}) payable`
279
+ ? { Inputs: parameters; StateMutability: 'payable' }
280
+ : signature extends `constructor(${infer parameters})`
281
+ ? { Inputs: parameters; StateMutability: 'nonpayable' }
282
+ : never
283
+
284
+ export type _ParseTuple<
285
+ signature extends `(${string})${string}`,
286
+ options extends ParseOptions = DefaultParseOptions,
287
+ > =
288
+ /** Tuples without name or modifier (e.g. `(string)`, `(string foo)`) */
289
+ signature extends `(${infer parameters})`
290
+ ? {
291
+ readonly type: 'tuple'
292
+ readonly components: ParseAbiParameters<
293
+ SplitParameters<parameters>,
294
+ Omit<options, 'modifier'>
295
+ >
296
+ }
297
+ : // Array or fixed-length array tuples (e.g. `(string)[]`, `(string)[5]`)
298
+ signature extends `(${infer head})[${'' | `${SolidityFixedArrayRange}`}]`
299
+ ? signature extends `(${head})[${infer size}]`
300
+ ? {
301
+ readonly type: `tuple[${size}]`
302
+ readonly components: ParseAbiParameters<
303
+ SplitParameters<head>,
304
+ Omit<options, 'modifier'>
305
+ >
306
+ }
307
+ : never
308
+ : // Array or fixed-length array tuples with name and/or modifier attached (e.g. `(string)[] foo`, `(string)[5] foo`)
309
+ signature extends `(${infer parameters})[${
310
+ | ''
311
+ | `${SolidityFixedArrayRange}`}] ${infer nameOrModifier}`
312
+ ? signature extends `(${parameters})[${infer size}] ${nameOrModifier}`
313
+ ? nameOrModifier extends `${string}) ${string}`
314
+ ? _UnwrapNameOrModifier<nameOrModifier> extends infer parts extends
315
+ {
316
+ nameOrModifier: string
317
+ End: string
318
+ }
319
+ ? {
320
+ readonly type: 'tuple'
321
+ readonly components: ParseAbiParameters<
322
+ SplitParameters<`${parameters})[${size}] ${parts['End']}`>,
323
+ Omit<options, 'modifier'>
324
+ >
325
+ } & _SplitNameOrModifier<parts['nameOrModifier'], options>
326
+ : never
327
+ : {
328
+ readonly type: `tuple[${size}]`
329
+ readonly components: ParseAbiParameters<
330
+ SplitParameters<parameters>,
331
+ Omit<options, 'modifier'>
332
+ >
333
+ } & _SplitNameOrModifier<nameOrModifier, options>
334
+ : never
335
+ : // Tuples with name and/or modifier attached (e.g. `(string) foo`, `(string bar) foo`)
336
+ signature extends `(${infer parameters}) ${infer nameOrModifier}`
337
+ ? // Check that `nameOrModifier` didn't get matched to `baz) bar) foo` (e.g. `(((string) baz) bar) foo`)
338
+ nameOrModifier extends `${string}) ${string}`
339
+ ? _UnwrapNameOrModifier<nameOrModifier> extends infer parts extends
340
+ {
341
+ nameOrModifier: string
342
+ End: string
343
+ }
344
+ ? {
345
+ readonly type: 'tuple'
346
+ readonly components: ParseAbiParameters<
347
+ SplitParameters<`${parameters}) ${parts['End']}`>,
348
+ Omit<options, 'modifier'>
349
+ >
350
+ } & _SplitNameOrModifier<parts['nameOrModifier'], options>
351
+ : never
352
+ : {
353
+ readonly type: 'tuple'
354
+ readonly components: ParseAbiParameters<
355
+ SplitParameters<parameters>,
356
+ Omit<options, 'modifier'>
357
+ >
358
+ } & _SplitNameOrModifier<nameOrModifier, options>
359
+ : never
360
+
361
+ // Split name and modifier (e.g. `indexed foo` => `{ name: 'foo', indexed: true }`)
362
+ export type _SplitNameOrModifier<
363
+ signature extends string,
364
+ options extends ParseOptions = DefaultParseOptions,
365
+ > =
366
+ Trim<signature> extends infer trimmed
367
+ ? options extends { modifier: Modifier }
368
+ ? // TODO: Check that modifier is allowed
369
+ trimmed extends `${infer mod extends options['modifier']} ${infer name}`
370
+ ? Pretty<
371
+ { readonly name: Trim<name> } & (mod extends 'indexed'
372
+ ? { readonly indexed: true }
373
+ : object)
374
+ >
375
+ : trimmed extends options['modifier']
376
+ ? trimmed extends 'indexed'
377
+ ? { readonly indexed: true }
378
+ : object
379
+ : { readonly name: trimmed }
380
+ : { readonly name: trimmed }
381
+ : never
382
+
383
+ // `baz) bar) foo` (e.g. `(((string) baz) bar) foo`)
384
+ export type _UnwrapNameOrModifier<
385
+ signature extends string,
386
+ current extends string = '',
387
+ > = signature extends `${infer head}) ${infer tail}`
388
+ ? _UnwrapNameOrModifier<
389
+ tail,
390
+ `${current}${current extends '' ? '' : ') '}${head}`
391
+ >
392
+ : { End: Trim<current>; nameOrModifier: Trim<signature> }
@@ -0,0 +1,69 @@
1
+ /** @internal */
2
+ export type Error<messages extends string | string[]> = messages extends string
3
+ ? [`Error: ${messages}`]
4
+ : {
5
+ [key in keyof messages]: messages[key] extends infer message extends
6
+ string
7
+ ? `Error: ${message}`
8
+ : never
9
+ }
10
+
11
+ /** @internal */
12
+ export type Filter<
13
+ items extends readonly unknown[],
14
+ item,
15
+ acc extends readonly unknown[] = [],
16
+ > = items extends readonly [
17
+ infer head,
18
+ ...infer tail extends readonly unknown[],
19
+ ]
20
+ ? [head] extends [item]
21
+ ? Filter<tail, item, acc>
22
+ : Filter<tail, item, [...acc, head]>
23
+ : readonly [...acc]
24
+
25
+ /** @internal */
26
+ export type IsNarrowable<type, type2> =
27
+ IsUnknown<type> extends true
28
+ ? false
29
+ : IsNever<
30
+ (type extends type2 ? true : false) &
31
+ (type2 extends type ? false : true)
32
+ > extends true
33
+ ? false
34
+ : true
35
+
36
+ /** @internal */
37
+ export type IsNever<type> = [type] extends [never] ? true : false
38
+
39
+ /** @internal */
40
+ export type IsUnknown<type> = unknown extends type ? true : false
41
+
42
+ /** @internal */
43
+ export type Join<
44
+ array extends readonly unknown[],
45
+ separator extends string | number,
46
+ > = array extends readonly [infer head, ...infer tail]
47
+ ? tail['length'] extends 0
48
+ ? `${head & string}`
49
+ : `${head & string}${separator}${Join<tail, separator>}`
50
+ : never
51
+
52
+ /** @internal */
53
+ export type Merge<object1, object2> = Omit<object1, keyof object2> & object2
54
+
55
+ /** @internal */
56
+ export type Pretty<type> = { [key in keyof type]: type[key] } & unknown
57
+
58
+ /** @internal */
59
+ export type Trim<type, chars extends string = ' '> = TrimLeft<
60
+ TrimRight<type, chars>,
61
+ chars
62
+ >
63
+ type TrimLeft<t, chars extends string = ' '> = t extends `${chars}${infer tail}`
64
+ ? TrimLeft<tail>
65
+ : t
66
+ type TrimRight<
67
+ t,
68
+ chars extends string = ' ',
69
+ > = t extends `${infer head}${chars}` ? TrimRight<head> : t
@@ -58,6 +58,35 @@ export function toNumber(
58
58
  return Number(value)
59
59
  }
60
60
 
61
+ /**
62
+ * Converts a "numberish" value (`Hex.Hex | bigint | number`) to an RPC quantity
63
+ * (`Hex.Hex`). Hex values are passed through unchanged; numbers and bigints are
64
+ * encoded via {@link ox#Hex.(fromNumber:function)}.
65
+ *
66
+ * @internal
67
+ */
68
+ export function fromNumberish(
69
+ value: Hex.Hex | bigint | number,
70
+ options?: Hex.fromNumber.Options,
71
+ ): Hex.Hex {
72
+ if (typeof value === 'string') return value
73
+ return Hex.fromNumber(value, options)
74
+ }
75
+
76
+ /**
77
+ * Converts an optional "numberish" value to an RPC quantity (`Hex.Hex | undefined`).
78
+ * Returns `undefined` for both `undefined` and `null`.
79
+ *
80
+ * @internal
81
+ */
82
+ export function fromNumberishOptional(
83
+ value: Hex.Hex | bigint | number | undefined | null,
84
+ options?: Hex.fromNumber.Options,
85
+ ): Hex.Hex | undefined {
86
+ if (value === undefined || value === null) return undefined
87
+ return fromNumberish(value, options)
88
+ }
89
+
61
90
  /**
62
91
  * Converts an optional `bigint` to an RPC quantity (`Hex.Hex | undefined`).
63
92
  *
@@ -87,13 +87,28 @@ export type Eth = RpcSchema.From<
87
87
  | [transaction: TransactionRequest.Rpc]
88
88
  | [
89
89
  transaction: TransactionRequest.Rpc,
90
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
90
+ block:
91
+ | Block.Number<Hex.Hex>
92
+ | Block.Tag
93
+ | Block.Identifier<Hex.Hex>,
91
94
  ]
92
95
  | [
93
96
  transaction: TransactionRequest.Rpc,
94
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
97
+ block:
98
+ | Block.Number<Hex.Hex>
99
+ | Block.Tag
100
+ | Block.Identifier<Hex.Hex>,
95
101
  stateOverrides: StateOverrides.Rpc,
96
102
  ]
103
+ | [
104
+ transaction: TransactionRequest.Rpc,
105
+ block:
106
+ | Block.Number<Hex.Hex>
107
+ | Block.Tag
108
+ | Block.Identifier<Hex.Hex>,
109
+ stateOverrides: StateOverrides.Rpc,
110
+ blockOverrides: BlockOverrides.Rpc,
111
+ ]
97
112
  }
98
113
  ReturnType: Hex.Hex
99
114
  }
@@ -148,12 +163,27 @@ export type Eth = RpcSchema.From<
148
163
  | [transaction: TransactionRequest.Rpc]
149
164
  | [
150
165
  transaction: TransactionRequest.Rpc,
151
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
166
+ block:
167
+ | Block.Number<Hex.Hex>
168
+ | Block.Tag
169
+ | Block.Identifier<Hex.Hex>,
170
+ ]
171
+ | [
172
+ transaction: TransactionRequest.Rpc,
173
+ block:
174
+ | Block.Number<Hex.Hex>
175
+ | Block.Tag
176
+ | Block.Identifier<Hex.Hex>,
177
+ stateOverrides: StateOverrides.Rpc,
152
178
  ]
153
179
  | [
154
180
  transaction: TransactionRequest.Rpc,
155
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
181
+ block:
182
+ | Block.Number<Hex.Hex>
183
+ | Block.Tag
184
+ | Block.Identifier<Hex.Hex>,
156
185
  stateOverrides: StateOverrides.Rpc,
186
+ blockOverrides: BlockOverrides.Rpc,
157
187
  ]
158
188
  }
159
189
  ReturnType: Hex.Hex
@@ -188,6 +218,26 @@ export type Eth = RpcSchema.From<
188
218
  }
189
219
  ReturnType: Fee.FeeHistoryRpc
190
220
  }
221
+ /**
222
+ * Fills the defaults (nonce, gas, gasPrice, or 1559 fields) on a given unsigned transaction, and returns the unsigned transaction along with its raw form
223
+ *
224
+ * @example
225
+ * ```
226
+ * request({ method: 'eth_fillTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
227
+ * // { raw: '0x...', tx: { ... } }
228
+ * ```
229
+ */
230
+ | {
231
+ Request: {
232
+ method: 'eth_fillTransaction'
233
+ params: [transaction: TransactionRequest.Rpc]
234
+ }
235
+ ReturnType: {
236
+ capabilities?: Record<string, unknown> | undefined
237
+ raw: Hex.Hex
238
+ tx: Transaction.Rpc
239
+ }
240
+ }
191
241
  /**
192
242
  * Returns the current price of gas expressed in wei
193
243
  *
@@ -217,7 +267,7 @@ export type Eth = RpcSchema.From<
217
267
  method: 'eth_getBalance'
218
268
  params: [
219
269
  address: Address.Address,
220
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
270
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier<Hex.Hex>,
221
271
  ]
222
272
  }
223
273
  ReturnType: Hex.Hex
@@ -317,7 +367,7 @@ export type Eth = RpcSchema.From<
317
367
  method: 'eth_getCode'
318
368
  params: [
319
369
  address: Address.Address,
320
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
370
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier<Hex.Hex>,
321
371
  ]
322
372
  }
323
373
  ReturnType: Hex.Hex
@@ -390,11 +440,27 @@ export type Eth = RpcSchema.From<
390
440
  /** An array of storage-keys that should be proofed and included. */
391
441
  storageKeys: Hex.Hex[],
392
442
  /** Block identifier to pull the proof from. */
393
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
443
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier<Hex.Hex>,
394
444
  ]
395
445
  }
396
446
  ReturnType: AccountProof.Rpc
397
447
  }
448
+ /**
449
+ * Returns the raw, serialized transaction specified by hash
450
+ *
451
+ * @example
452
+ * ```
453
+ * request({ method: 'eth_getRawTransactionByHash', params: ['0x...'] })
454
+ * // '0x...'
455
+ * ```
456
+ */
457
+ | {
458
+ Request: {
459
+ method: 'eth_getRawTransactionByHash'
460
+ params: [hash: Hex.Hex]
461
+ }
462
+ ReturnType: Hex.Hex | null
463
+ }
398
464
  /**
399
465
  * Returns the value from a storage position at an address
400
466
  *
@@ -410,7 +476,7 @@ export type Eth = RpcSchema.From<
410
476
  params: [
411
477
  address: Address.Address,
412
478
  index: Hex.Hex,
413
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
479
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier<Hex.Hex>,
414
480
  ]
415
481
  }
416
482
  ReturnType: Hex.Hex
@@ -477,7 +543,7 @@ export type Eth = RpcSchema.From<
477
543
  method: 'eth_getTransactionCount'
478
544
  params: [
479
545
  address: Address.Address,
480
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
546
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier<Hex.Hex>,
481
547
  ]
482
548
  }
483
549
  ReturnType: Hex.Hex
@@ -690,7 +756,7 @@ export type Eth = RpcSchema.From<
690
756
  traceTransfers?: boolean | undefined
691
757
  validation?: boolean | undefined
692
758
  },
693
- block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier,
759
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Identifier<Hex.Hex>,
694
760
  ]
695
761
  }
696
762
  ReturnType: readonly (Block.Rpc & {