ox 1.0.0-beta.8 → 1.0.0

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 (413) hide show
  1. package/CHANGELOG.md +1143 -0
  2. package/dist/core/Abi.d.ts +6 -2
  3. package/dist/core/Abi.d.ts.map +1 -1
  4. package/dist/core/Abi.js +6 -3
  5. package/dist/core/Abi.js.map +1 -1
  6. package/dist/core/AbiConstructor.d.ts +2 -1
  7. package/dist/core/AbiConstructor.d.ts.map +1 -1
  8. package/dist/core/AbiConstructor.js +2 -2
  9. package/dist/core/AbiConstructor.js.map +1 -1
  10. package/dist/core/AbiError.d.ts +3 -1
  11. package/dist/core/AbiError.d.ts.map +1 -1
  12. package/dist/core/AbiError.js +2 -2
  13. package/dist/core/AbiError.js.map +1 -1
  14. package/dist/core/AbiEvent.d.ts +3 -1
  15. package/dist/core/AbiEvent.d.ts.map +1 -1
  16. package/dist/core/AbiEvent.js +2 -2
  17. package/dist/core/AbiEvent.js.map +1 -1
  18. package/dist/core/AbiFunction.d.ts +3 -1
  19. package/dist/core/AbiFunction.d.ts.map +1 -1
  20. package/dist/core/AbiFunction.js +2 -2
  21. package/dist/core/AbiFunction.js.map +1 -1
  22. package/dist/core/AbiItem.d.ts +6 -3
  23. package/dist/core/AbiItem.d.ts.map +1 -1
  24. package/dist/core/AbiItem.js +9 -7
  25. package/dist/core/AbiItem.js.map +1 -1
  26. package/dist/core/AbiParameter.d.ts +88 -0
  27. package/dist/core/AbiParameter.d.ts.map +1 -0
  28. package/dist/core/AbiParameter.js +82 -0
  29. package/dist/core/AbiParameter.js.map +1 -0
  30. package/dist/core/AbiParameters.d.ts +58 -2
  31. package/dist/core/AbiParameters.d.ts.map +1 -1
  32. package/dist/core/AbiParameters.js +60 -6
  33. package/dist/core/AbiParameters.js.map +1 -1
  34. package/dist/core/Rlp.d.ts +27 -5
  35. package/dist/core/Rlp.d.ts.map +1 -1
  36. package/dist/core/Rlp.js +40 -4
  37. package/dist/core/Rlp.js.map +1 -1
  38. package/dist/core/RpcSchema.d.ts +2 -2
  39. package/dist/core/internal/abiParameters.d.ts.map +1 -1
  40. package/dist/core/internal/abiParameters.js +21 -3
  41. package/dist/core/internal/abiParameters.js.map +1 -1
  42. package/dist/core/internal/human-readable/errors.d.ts +103 -0
  43. package/dist/core/internal/human-readable/errors.d.ts.map +1 -0
  44. package/dist/core/internal/human-readable/errors.js +142 -0
  45. package/dist/core/internal/human-readable/errors.js.map +1 -0
  46. package/dist/core/internal/human-readable/formatAbi.d.ts +19 -0
  47. package/dist/core/internal/human-readable/formatAbi.d.ts.map +1 -0
  48. package/dist/core/internal/human-readable/formatAbi.js +18 -0
  49. package/dist/core/internal/human-readable/formatAbi.js.map +1 -0
  50. package/dist/core/internal/human-readable/formatAbiItem.d.ts +23 -0
  51. package/dist/core/internal/human-readable/formatAbiItem.d.ts.map +1 -0
  52. package/dist/core/internal/human-readable/formatAbiItem.js +25 -0
  53. package/dist/core/internal/human-readable/formatAbiItem.js.map +1 -0
  54. package/dist/core/internal/human-readable/formatAbiParameter.d.ts +41 -0
  55. package/dist/core/internal/human-readable/formatAbiParameter.d.ts.map +1 -0
  56. package/dist/core/internal/human-readable/formatAbiParameter.js +36 -0
  57. package/dist/core/internal/human-readable/formatAbiParameter.js.map +1 -0
  58. package/dist/core/internal/human-readable/formatAbiParameters.d.ts +26 -0
  59. package/dist/core/internal/human-readable/formatAbiParameters.d.ts.map +1 -0
  60. package/dist/core/internal/human-readable/formatAbiParameters.js +19 -0
  61. package/dist/core/internal/human-readable/formatAbiParameters.js.map +1 -0
  62. package/dist/core/internal/human-readable/parseAbi.d.ts +22 -0
  63. package/dist/core/internal/human-readable/parseAbi.d.ts.map +1 -0
  64. package/dist/core/internal/human-readable/parseAbi.js +22 -0
  65. package/dist/core/internal/human-readable/parseAbi.js.map +1 -0
  66. package/dist/core/internal/human-readable/parseAbiItem.d.ts +23 -0
  67. package/dist/core/internal/human-readable/parseAbiItem.d.ts.map +1 -0
  68. package/dist/core/internal/human-readable/parseAbiItem.js +30 -0
  69. package/dist/core/internal/human-readable/parseAbiItem.js.map +1 -0
  70. package/dist/core/internal/human-readable/parseAbiParameter.d.ts +28 -0
  71. package/dist/core/internal/human-readable/parseAbiParameter.d.ts.map +1 -0
  72. package/dist/core/internal/human-readable/parseAbiParameter.js +32 -0
  73. package/dist/core/internal/human-readable/parseAbiParameter.js.map +1 -0
  74. package/dist/core/internal/human-readable/parseAbiParameters.d.ts +38 -0
  75. package/dist/core/internal/human-readable/parseAbiParameters.d.ts.map +1 -0
  76. package/dist/core/internal/human-readable/parseAbiParameters.js +39 -0
  77. package/dist/core/internal/human-readable/parseAbiParameters.js.map +1 -0
  78. package/dist/core/internal/human-readable/regex.d.ts +9 -0
  79. package/dist/core/internal/human-readable/regex.d.ts.map +1 -0
  80. package/dist/core/internal/human-readable/regex.js +12 -0
  81. package/dist/core/internal/human-readable/regex.js.map +1 -0
  82. package/dist/core/internal/human-readable/runtime/cache.d.ts +22 -0
  83. package/dist/core/internal/human-readable/runtime/cache.d.ts.map +1 -0
  84. package/dist/core/internal/human-readable/runtime/cache.js +86 -0
  85. package/dist/core/internal/human-readable/runtime/cache.js.map +1 -0
  86. package/dist/core/internal/human-readable/runtime/signatures.d.ts +39 -0
  87. package/dist/core/internal/human-readable/runtime/signatures.d.ts.map +1 -0
  88. package/dist/core/internal/human-readable/runtime/signatures.js +67 -0
  89. package/dist/core/internal/human-readable/runtime/signatures.js.map +1 -0
  90. package/dist/core/internal/human-readable/runtime/structs.d.ts +3 -0
  91. package/dist/core/internal/human-readable/runtime/structs.d.ts.map +1 -0
  92. package/dist/core/internal/human-readable/runtime/structs.js +79 -0
  93. package/dist/core/internal/human-readable/runtime/structs.js.map +1 -0
  94. package/dist/core/internal/human-readable/runtime/utils.d.ts +205 -0
  95. package/dist/core/internal/human-readable/runtime/utils.d.ts.map +1 -0
  96. package/dist/core/internal/human-readable/runtime/utils.js +232 -0
  97. package/dist/core/internal/human-readable/runtime/utils.js.map +1 -0
  98. package/dist/core/internal/human-readable/types/signatures.d.ts +38 -0
  99. package/dist/core/internal/human-readable/types/signatures.d.ts.map +1 -0
  100. package/dist/core/internal/human-readable/types/signatures.js +2 -0
  101. package/dist/core/internal/human-readable/types/signatures.js.map +1 -0
  102. package/dist/core/internal/human-readable/types/structs.d.ts +48 -0
  103. package/dist/core/internal/human-readable/types/structs.d.ts.map +1 -0
  104. package/dist/core/internal/human-readable/types/structs.js +2 -0
  105. package/dist/core/internal/human-readable/types/structs.js.map +1 -0
  106. package/dist/core/internal/human-readable/types/utils.d.ts +163 -0
  107. package/dist/core/internal/human-readable/types/utils.d.ts.map +1 -0
  108. package/dist/core/internal/human-readable/types/utils.js +2 -0
  109. package/dist/core/internal/human-readable/types/utils.js.map +1 -0
  110. package/dist/core/internal/human-readable/types.d.ts +29 -0
  111. package/dist/core/internal/human-readable/types.d.ts.map +1 -0
  112. package/dist/core/internal/human-readable/types.js +2 -0
  113. package/dist/core/internal/human-readable/types.js.map +1 -0
  114. package/dist/core/internal/rpcSchemas/eth.d.ts +36 -0
  115. package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  116. package/dist/erc4337/EntryPoint.d.ts +1072 -1
  117. package/dist/erc4337/EntryPoint.d.ts.map +1 -1
  118. package/dist/erc4337/EntryPoint.js +872 -0
  119. package/dist/erc4337/EntryPoint.js.map +1 -1
  120. package/dist/erc4337/RpcSchema.d.ts +2 -2
  121. package/dist/erc4337/RpcSchema.d.ts.map +1 -1
  122. package/dist/erc4337/UserOperation.d.ts +39 -10
  123. package/dist/erc4337/UserOperation.d.ts.map +1 -1
  124. package/dist/erc4337/UserOperation.js +62 -48
  125. package/dist/erc4337/UserOperation.js.map +1 -1
  126. package/dist/erc4337/UserOperationGas.d.ts +9 -5
  127. package/dist/erc4337/UserOperationGas.d.ts.map +1 -1
  128. package/dist/erc4337/UserOperationGas.js +17 -15
  129. package/dist/erc4337/UserOperationGas.js.map +1 -1
  130. package/dist/erc4337/UserOperationReceipt.d.ts +4 -4
  131. package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -1
  132. package/dist/erc4337/UserOperationReceipt.js.map +1 -1
  133. package/dist/index.d.ts +37 -0
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +37 -0
  136. package/dist/index.js.map +1 -1
  137. package/dist/tempo/Channel.d.ts +8 -14
  138. package/dist/tempo/Channel.d.ts.map +1 -1
  139. package/dist/tempo/Channel.js +4 -8
  140. package/dist/tempo/Channel.js.map +1 -1
  141. package/dist/tempo/KeyAuthorization.d.ts +5 -5
  142. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  143. package/dist/tempo/KeyAuthorization.js +4 -4
  144. package/dist/tempo/KeyAuthorization.js.map +1 -1
  145. package/dist/tempo/MultisigConfig.d.ts +37 -85
  146. package/dist/tempo/MultisigConfig.d.ts.map +1 -1
  147. package/dist/tempo/MultisigConfig.js +39 -83
  148. package/dist/tempo/MultisigConfig.js.map +1 -1
  149. package/dist/tempo/PoolId.d.ts +8 -7
  150. package/dist/tempo/PoolId.d.ts.map +1 -1
  151. package/dist/tempo/PoolId.js +10 -6
  152. package/dist/tempo/PoolId.js.map +1 -1
  153. package/dist/tempo/SignatureEnvelope.d.ts +32 -30
  154. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
  155. package/dist/tempo/SignatureEnvelope.js +56 -51
  156. package/dist/tempo/SignatureEnvelope.js.map +1 -1
  157. package/dist/tempo/Transaction.d.ts +16 -5
  158. package/dist/tempo/Transaction.d.ts.map +1 -1
  159. package/dist/tempo/Transaction.js +34 -7
  160. package/dist/tempo/Transaction.js.map +1 -1
  161. package/dist/tempo/TransactionReceipt.d.ts +3 -3
  162. package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
  163. package/dist/tempo/TransactionReceipt.js +8 -1
  164. package/dist/tempo/TransactionReceipt.js.map +1 -1
  165. package/dist/tempo/TransactionRequest.d.ts +15 -2
  166. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  167. package/dist/tempo/TransactionRequest.js +65 -29
  168. package/dist/tempo/TransactionRequest.js.map +1 -1
  169. package/dist/tempo/TxEnvelopeTempo.d.ts +2 -3
  170. package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  171. package/dist/tempo/TxEnvelopeTempo.js +5 -6
  172. package/dist/tempo/TxEnvelopeTempo.js.map +1 -1
  173. package/dist/tempo/index.d.ts +6 -26
  174. package/dist/tempo/index.d.ts.map +1 -1
  175. package/dist/tempo/index.js +6 -26
  176. package/dist/tempo/index.js.map +1 -1
  177. package/dist/zod/Abi.d.ts +214 -0
  178. package/dist/zod/Abi.d.ts.map +1 -0
  179. package/dist/zod/Abi.js +5 -0
  180. package/dist/zod/Abi.js.map +1 -0
  181. package/dist/zod/AbiConstructor.d.ts +58 -0
  182. package/dist/zod/AbiConstructor.d.ts.map +1 -0
  183. package/dist/zod/AbiConstructor.js +18 -0
  184. package/dist/zod/AbiConstructor.js.map +1 -0
  185. package/dist/zod/AbiError.d.ts +20 -0
  186. package/dist/zod/AbiError.d.ts.map +1 -0
  187. package/dist/zod/AbiError.js +9 -0
  188. package/dist/zod/AbiError.js.map +1 -0
  189. package/dist/zod/AbiEvent.d.ts +23 -0
  190. package/dist/zod/AbiEvent.d.ts.map +1 -0
  191. package/dist/zod/AbiEvent.js +11 -0
  192. package/dist/zod/AbiEvent.js.map +1 -0
  193. package/dist/zod/AbiFallback.d.ts +16 -0
  194. package/dist/zod/AbiFallback.d.ts.map +1 -0
  195. package/dist/zod/AbiFallback.js +16 -0
  196. package/dist/zod/AbiFallback.js.map +1 -0
  197. package/dist/zod/AbiFunction.d.ts +109 -0
  198. package/dist/zod/AbiFunction.d.ts.map +1 -0
  199. package/dist/zod/AbiFunction.js +26 -0
  200. package/dist/zod/AbiFunction.js.map +1 -0
  201. package/dist/zod/AbiItem.d.ts +216 -0
  202. package/dist/zod/AbiItem.d.ts.map +1 -0
  203. package/dist/zod/AbiItem.js +26 -0
  204. package/dist/zod/AbiItem.js.map +1 -0
  205. package/dist/zod/AbiParameter.d.ts +32 -0
  206. package/dist/zod/AbiParameter.d.ts.map +1 -0
  207. package/dist/zod/AbiParameter.js +28 -0
  208. package/dist/zod/AbiParameter.js.map +1 -0
  209. package/dist/zod/AbiParameters.d.ts +30 -0
  210. package/dist/zod/AbiParameters.d.ts.map +1 -0
  211. package/dist/zod/AbiParameters.js +6 -0
  212. package/dist/zod/AbiParameters.js.map +1 -0
  213. package/dist/zod/AbiReceive.d.ts +6 -0
  214. package/dist/zod/AbiReceive.d.ts.map +1 -0
  215. package/dist/zod/AbiReceive.js +7 -0
  216. package/dist/zod/AbiReceive.js.map +1 -0
  217. package/dist/zod/RpcSchema.d.ts +6 -5
  218. package/dist/zod/RpcSchema.d.ts.map +1 -1
  219. package/dist/zod/Solidity.d.ts +15 -0
  220. package/dist/zod/Solidity.d.ts.map +1 -0
  221. package/dist/zod/Solidity.js +41 -0
  222. package/dist/zod/Solidity.js.map +1 -0
  223. package/dist/zod/TypedData.d.ts +226 -0
  224. package/dist/zod/TypedData.d.ts.map +1 -0
  225. package/dist/zod/TypedData.js +84 -0
  226. package/dist/zod/TypedData.js.map +1 -0
  227. package/dist/zod/internal/rpcSchemas/Eth.d.ts +1 -0
  228. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
  229. package/dist/zod/internal/rpcSchemas/Eth.js +5 -0
  230. package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
  231. package/dist/zod/tempo/AuthorizationTempo.d.ts +0 -20
  232. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
  233. package/dist/zod/tempo/KeyAuthorization.d.ts +503 -67
  234. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
  235. package/dist/zod/tempo/KeyAuthorization.js +32 -15
  236. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  237. package/dist/zod/tempo/RpcSchemaTempo.d.ts +216 -34
  238. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  239. package/dist/zod/tempo/SignatureEnvelope.d.ts +0 -6
  240. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  241. package/dist/zod/tempo/SignatureEnvelope.js +0 -2
  242. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  243. package/dist/zod/tempo/Transaction.d.ts +1479 -333
  244. package/dist/zod/tempo/Transaction.d.ts.map +1 -1
  245. package/dist/zod/tempo/Transaction.js +65 -16
  246. package/dist/zod/tempo/Transaction.js.map +1 -1
  247. package/dist/zod/tempo/TransactionRequest.d.ts +410 -57
  248. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  249. package/dist/zod/tempo/TransactionRequest.js +81 -18
  250. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  251. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +225 -18
  252. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
  253. package/dist/zod/tempo/TxEnvelopeTempo.js +1 -1
  254. package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -1
  255. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +0 -3
  256. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -1
  257. package/dist/zod/tempo/z.d.ts +0 -1
  258. package/dist/zod/tempo/z.d.ts.map +1 -1
  259. package/dist/zod/tempo/z.js +0 -1
  260. package/dist/zod/tempo/z.js.map +1 -1
  261. package/dist/zod/z.d.ts +12 -0
  262. package/dist/zod/z.d.ts.map +1 -1
  263. package/dist/zod/z.js +12 -0
  264. package/dist/zod/z.js.map +1 -1
  265. package/package.json +67 -11
  266. package/src/core/Abi.bench.ts +30 -0
  267. package/src/core/Abi.ts +13 -4
  268. package/src/core/AbiConstructor.ts +3 -2
  269. package/src/core/AbiError.ts +6 -2
  270. package/src/core/AbiEvent.ts +6 -2
  271. package/src/core/AbiFunction.ts +6 -2
  272. package/src/core/AbiItem.bench.ts +19 -0
  273. package/src/core/AbiItem.ts +20 -10
  274. package/src/core/AbiParameter.bench.ts +35 -0
  275. package/src/core/AbiParameter.ts +126 -0
  276. package/src/core/AbiParameters.bench.ts +22 -0
  277. package/src/core/AbiParameters.ts +77 -8
  278. package/src/core/Rlp.ts +66 -3
  279. package/src/core/RpcSchema.ts +2 -2
  280. package/src/core/_test/Abi.test.ts +4 -0
  281. package/src/core/_test/AbiItem.test.ts +3 -0
  282. package/src/core/_test/AbiParameter.test-d.ts +41 -0
  283. package/src/core/_test/AbiParameter.test.ts +84 -0
  284. package/src/core/_test/AbiParameters.decode.test.ts +88 -12
  285. package/src/core/_test/AbiParameters.encode.test.ts +68 -0
  286. package/src/core/_test/AbiParameters.test.ts +7 -0
  287. package/src/core/_test/Rlp.test.ts +101 -0
  288. package/src/core/_test/index.test.ts +1 -0
  289. package/src/core/internal/abiParameters.ts +21 -3
  290. package/src/core/internal/human-readable/_snap/formatAbi.test.ts.snap +74 -0
  291. package/src/core/internal/human-readable/_snap/parseAbi.test.ts.snap +2353 -0
  292. package/src/core/internal/human-readable/errors.test.ts +258 -0
  293. package/src/core/internal/human-readable/errors.ts +205 -0
  294. package/src/core/internal/human-readable/formatAbi.test-d.ts +144 -0
  295. package/src/core/internal/human-readable/formatAbi.test.ts +23 -0
  296. package/src/core/internal/human-readable/formatAbi.ts +37 -0
  297. package/src/core/internal/human-readable/formatAbiItem.test-d.ts +115 -0
  298. package/src/core/internal/human-readable/formatAbiItem.test.ts +102 -0
  299. package/src/core/internal/human-readable/formatAbiItem.ts +136 -0
  300. package/src/core/internal/human-readable/formatAbiParameter.test-d.ts +125 -0
  301. package/src/core/internal/human-readable/formatAbiParameter.test.ts +126 -0
  302. package/src/core/internal/human-readable/formatAbiParameter.ts +86 -0
  303. package/src/core/internal/human-readable/formatAbiParameters.test-d.ts +92 -0
  304. package/src/core/internal/human-readable/formatAbiParameters.test.ts +32 -0
  305. package/src/core/internal/human-readable/formatAbiParameters.ts +46 -0
  306. package/src/core/internal/human-readable/human-readable.bench-d.ts +58 -0
  307. package/src/core/internal/human-readable/integration.test.ts +68 -0
  308. package/src/core/internal/human-readable/parseAbi.test-d.ts +188 -0
  309. package/src/core/internal/human-readable/parseAbi.test.ts +82 -0
  310. package/src/core/internal/human-readable/parseAbi.ts +59 -0
  311. package/src/core/internal/human-readable/parseAbiItem.test-d.ts +183 -0
  312. package/src/core/internal/human-readable/parseAbiItem.test.ts +264 -0
  313. package/src/core/internal/human-readable/parseAbiItem.ts +91 -0
  314. package/src/core/internal/human-readable/parseAbiParameter.test-d.ts +68 -0
  315. package/src/core/internal/human-readable/parseAbiParameter.test.ts +207 -0
  316. package/src/core/internal/human-readable/parseAbiParameter.ts +95 -0
  317. package/src/core/internal/human-readable/parseAbiParameters.test-d.ts +160 -0
  318. package/src/core/internal/human-readable/parseAbiParameters.test.ts +80 -0
  319. package/src/core/internal/human-readable/parseAbiParameters.ts +123 -0
  320. package/src/core/internal/human-readable/regex.ts +15 -0
  321. package/src/core/internal/human-readable/runtime/cache.ts +96 -0
  322. package/src/core/internal/human-readable/runtime/signatures.test.ts +236 -0
  323. package/src/core/internal/human-readable/runtime/signatures.ts +106 -0
  324. package/src/core/internal/human-readable/runtime/structs.test.ts +210 -0
  325. package/src/core/internal/human-readable/runtime/structs.ts +97 -0
  326. package/src/core/internal/human-readable/runtime/utils.test.ts +717 -0
  327. package/src/core/internal/human-readable/runtime/utils.ts +344 -0
  328. package/src/core/internal/human-readable/types/signatures.test-d.ts +255 -0
  329. package/src/core/internal/human-readable/types/signatures.ts +369 -0
  330. package/src/core/internal/human-readable/types/structs.test-d.ts +221 -0
  331. package/src/core/internal/human-readable/types/structs.ts +88 -0
  332. package/src/core/internal/human-readable/types/utils.test-d.ts +1029 -0
  333. package/src/core/internal/human-readable/types/utils.ts +392 -0
  334. package/src/core/internal/human-readable/types.ts +69 -0
  335. package/src/core/internal/rpcSchemas/eth.ts +36 -0
  336. package/src/erc4337/EntryPoint.ts +875 -1
  337. package/src/erc4337/RpcSchema.ts +4 -2
  338. package/src/erc4337/UserOperation.ts +130 -60
  339. package/src/erc4337/UserOperationGas.ts +36 -28
  340. package/src/erc4337/UserOperationReceipt.ts +15 -7
  341. package/src/erc4337/_test/EntryPoint.test.ts +48 -0
  342. package/src/erc4337/_test/RpcSchema.test-d.ts +56 -0
  343. package/src/erc4337/_test/UserOperation.snap-d.ts +31 -0
  344. package/src/erc4337/_test/UserOperation.test.ts +221 -5
  345. package/src/erc4337/_test/UserOperationGas.test.ts +30 -1
  346. package/src/index.ts +38 -0
  347. package/src/tempo/Channel.test.ts +2 -23
  348. package/src/tempo/Channel.ts +10 -22
  349. package/src/tempo/KeyAuthorization.test.ts +22 -0
  350. package/src/tempo/KeyAuthorization.ts +9 -9
  351. package/src/tempo/MultisigConfig.test.ts +54 -37
  352. package/src/tempo/MultisigConfig.ts +59 -134
  353. package/src/tempo/PoolId.test.ts +7 -41
  354. package/src/tempo/PoolId.ts +15 -10
  355. package/src/tempo/SignatureEnvelope.test.ts +118 -17
  356. package/src/tempo/SignatureEnvelope.ts +77 -72
  357. package/src/tempo/Transaction.test.ts +0 -15
  358. package/src/tempo/Transaction.ts +63 -12
  359. package/src/tempo/TransactionReceipt.test.ts +76 -0
  360. package/src/tempo/TransactionReceipt.ts +11 -5
  361. package/src/tempo/TransactionRequest.test.ts +174 -1
  362. package/src/tempo/TransactionRequest.ts +84 -32
  363. package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
  364. package/src/tempo/TxEnvelopeTempo.ts +7 -7
  365. package/src/tempo/e2e.test.ts +228 -50
  366. package/src/tempo/index.ts +6 -26
  367. package/src/version.ts +1 -1
  368. package/src/zod/Abi.ts +5 -0
  369. package/src/zod/AbiConstructor.ts +24 -0
  370. package/src/zod/AbiError.ts +9 -0
  371. package/src/zod/AbiEvent.ts +11 -0
  372. package/src/zod/AbiFallback.ts +22 -0
  373. package/src/zod/AbiFunction.ts +32 -0
  374. package/src/zod/AbiItem.ts +28 -0
  375. package/src/zod/AbiParameter.ts +36 -0
  376. package/src/zod/AbiParameters.ts +7 -0
  377. package/src/zod/AbiReceive.ts +7 -0
  378. package/src/zod/RpcSchema.ts +5 -5
  379. package/src/zod/Solidity.ts +83 -0
  380. package/src/zod/TypedData.ts +111 -0
  381. package/src/zod/_test/Abi.test-d.ts +46 -0
  382. package/src/zod/_test/Abi.test.ts +163 -0
  383. package/src/zod/_test/TypedData.test-d.ts +20 -0
  384. package/src/zod/_test/TypedData.test.ts +87 -0
  385. package/src/zod/_test/z.test-d.ts +6 -0
  386. package/src/zod/_test/z.test.ts +17 -0
  387. package/src/zod/internal/rpcSchemas/Eth.ts +6 -0
  388. package/src/zod/tempo/KeyAuthorization.ts +34 -15
  389. package/src/zod/tempo/SignatureEnvelope.ts +0 -2
  390. package/src/zod/tempo/Transaction.ts +84 -22
  391. package/src/zod/tempo/TransactionRequest.ts +86 -20
  392. package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
  393. package/src/zod/tempo/_test/KeyAuthorization.test.ts +53 -0
  394. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
  395. package/src/zod/tempo/_test/Transaction.test.ts +155 -0
  396. package/src/zod/tempo/_test/TransactionRequest.test.ts +44 -0
  397. package/src/zod/tempo/z.ts +0 -1
  398. package/src/zod/z.ts +12 -0
  399. package/dist/tempo/TokenId.d.ts +0 -87
  400. package/dist/tempo/TokenId.d.ts.map +0 -1
  401. package/dist/tempo/TokenId.js +0 -123
  402. package/dist/tempo/TokenId.js.map +0 -1
  403. package/dist/zod/tempo/TokenId.d.ts +0 -6
  404. package/dist/zod/tempo/TokenId.d.ts.map +0 -1
  405. package/dist/zod/tempo/TokenId.js +0 -14
  406. package/dist/zod/tempo/TokenId.js.map +0 -1
  407. package/src/CHANGELOG.md +0 -820
  408. package/src/tempo/TokenId.bench.ts +0 -36
  409. package/src/tempo/TokenId.test.ts +0 -79
  410. package/src/tempo/TokenId.ts +0 -141
  411. package/src/zod/tempo/TokenId.ts +0 -15
  412. package/src/zod/tempo/_test/TokenId.test-d.ts +0 -17
  413. 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
@@ -218,6 +218,26 @@ export type Eth = RpcSchema.From<
218
218
  }
219
219
  ReturnType: Fee.FeeHistoryRpc
220
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
+ }
221
241
  /**
222
242
  * Returns the current price of gas expressed in wei
223
243
  *
@@ -425,6 +445,22 @@ export type Eth = RpcSchema.From<
425
445
  }
426
446
  ReturnType: AccountProof.Rpc
427
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
+ }
428
464
  /**
429
465
  * Returns the value from a storage position at an address
430
466
  *