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,258 @@
1
+ import { expect, test } from 'vp/test'
2
+ import {
3
+ CircularReferenceError,
4
+ InvalidAbiItemError,
5
+ InvalidAbiParameterError,
6
+ InvalidAbiParametersError,
7
+ InvalidAbiTypeParameterError,
8
+ InvalidFunctionModifierError,
9
+ InvalidModifierError,
10
+ InvalidParameterError,
11
+ InvalidParenthesisError,
12
+ InvalidSignatureError,
13
+ InvalidStructSignatureError,
14
+ SolidityProtectedKeywordError,
15
+ UnknownSignatureError,
16
+ UnknownSolidityTypeError,
17
+ UnknownTypeError,
18
+ } from './errors.js'
19
+
20
+ test('InvalidAbiItemError', () => {
21
+ expect(new InvalidAbiItemError({ signature: 'address' }))
22
+ .toMatchInlineSnapshot(`
23
+ [AbiItem.InvalidAbiItemError: Failed to parse ABI item.
24
+
25
+ Details: parseAbiItem("address")
26
+ See: https://oxlib.sh/api/AbiItem/from]
27
+ `)
28
+ })
29
+
30
+ test('UnknownTypeError', () => {
31
+ expect(new UnknownTypeError({ type: 'Foo' })).toMatchInlineSnapshot(`
32
+ [HumanReadableAbi.UnknownTypeError: Unknown type.
33
+
34
+ Type "Foo" is not a valid ABI type. Perhaps you forgot to include a struct signature?]
35
+ `)
36
+ })
37
+
38
+ test('UnknownSolidityTypeError', () => {
39
+ expect(new UnknownSolidityTypeError({ type: 'Foo' })).toMatchInlineSnapshot(`
40
+ [HumanReadableAbi.UnknownSolidityTypeError: Unknown type.
41
+
42
+ Type "Foo" is not a valid ABI type.]
43
+ `)
44
+ })
45
+
46
+ test('InvalidAbiParamterError', () => {
47
+ expect(new InvalidAbiParameterError({ param: 'address owner' }))
48
+ .toMatchInlineSnapshot(`
49
+ [AbiParameter.InvalidAbiParameterError: Failed to parse ABI parameter.
50
+
51
+ Details: parseAbiParameter("address owner")
52
+ See: https://oxlib.sh/api/AbiParameter/from]
53
+ `)
54
+ })
55
+
56
+ test('InvalidAbiParamtersError', () => {
57
+ expect(new InvalidAbiParametersError({ params: 'address owner' }))
58
+ .toMatchInlineSnapshot(`
59
+ [AbiParameters.InvalidAbiParametersError: Failed to parse ABI parameters.
60
+
61
+ Details: parseAbiParameters("address owner")
62
+ See: https://oxlib.sh/api/AbiParameters/from]
63
+ `)
64
+ })
65
+
66
+ test('InvalidParameterError', () => {
67
+ expect(
68
+ new InvalidParameterError({
69
+ param: 'address',
70
+ }),
71
+ ).toMatchInlineSnapshot(`
72
+ [HumanReadableAbi.InvalidParameterError: Invalid ABI parameter.
73
+
74
+ Details: address]
75
+ `)
76
+ })
77
+
78
+ test('SolidityProtectedKeywordError', () => {
79
+ expect(
80
+ new SolidityProtectedKeywordError({
81
+ param: 'address',
82
+ name: 'address',
83
+ }),
84
+ ).toMatchInlineSnapshot(`
85
+ [HumanReadableAbi.SolidityProtectedKeywordError: Invalid ABI parameter.
86
+
87
+ "address" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html
88
+
89
+ Details: address]
90
+ `)
91
+ })
92
+
93
+ test('InvalidModifierError', () => {
94
+ expect(
95
+ new InvalidModifierError({
96
+ param: 'address',
97
+ modifier: 'calldata',
98
+ type: 'event',
99
+ }),
100
+ ).toMatchInlineSnapshot(`
101
+ [HumanReadableAbi.InvalidModifierError: Invalid ABI parameter.
102
+
103
+ Modifier "calldata" not allowed in "event" type.
104
+
105
+ Details: address]
106
+ `)
107
+
108
+ expect(
109
+ new InvalidModifierError({
110
+ param: 'address',
111
+ modifier: 'calldata',
112
+ }),
113
+ ).toMatchInlineSnapshot(`
114
+ [HumanReadableAbi.InvalidModifierError: Invalid ABI parameter.
115
+
116
+ Modifier "calldata" not allowed.
117
+
118
+ Details: address]
119
+ `)
120
+ })
121
+
122
+ test('InvalidFunctionModifierError', () => {
123
+ expect(
124
+ new InvalidFunctionModifierError({
125
+ param: 'address',
126
+ modifier: 'calldata',
127
+ type: 'function',
128
+ }),
129
+ ).toMatchInlineSnapshot(`
130
+ [HumanReadableAbi.InvalidFunctionModifierError: Invalid ABI parameter.
131
+
132
+ Modifier "calldata" not allowed in "function" type.
133
+ Data location can only be specified for array, struct, or mapping types, but "calldata" was given.
134
+
135
+ Details: address]
136
+ `)
137
+ })
138
+
139
+ test('InvalidAbiTypeParameterError', () => {
140
+ expect(
141
+ new InvalidAbiTypeParameterError({
142
+ abiParameter: { type: 'address' },
143
+ }),
144
+ ).toMatchInlineSnapshot(`
145
+ [HumanReadableAbi.InvalidAbiTypeParameterError: Invalid ABI parameter.
146
+
147
+ ABI parameter type is invalid.
148
+
149
+ Details: {
150
+ "type": "address"
151
+ }]
152
+ `)
153
+ })
154
+
155
+ test('InvalidSignatureError', () => {
156
+ expect(
157
+ new InvalidSignatureError({
158
+ signature: 'function name??()',
159
+ type: 'function',
160
+ }),
161
+ ).toMatchInlineSnapshot(`
162
+ [Abi.InvalidSignatureError: Invalid function signature.
163
+
164
+ Details: function name??()]
165
+ `)
166
+
167
+ expect(
168
+ new InvalidSignatureError({
169
+ signature: 'function name??()',
170
+ type: 'struct',
171
+ }),
172
+ ).toMatchInlineSnapshot(`
173
+ [Abi.InvalidSignatureError: Invalid struct signature.
174
+
175
+ Details: function name??()]
176
+ `)
177
+
178
+ expect(
179
+ new InvalidSignatureError({
180
+ signature: 'function name??()',
181
+ type: 'error',
182
+ }),
183
+ ).toMatchInlineSnapshot(`
184
+ [Abi.InvalidSignatureError: Invalid error signature.
185
+
186
+ Details: function name??()]
187
+ `)
188
+
189
+ expect(
190
+ new InvalidSignatureError({
191
+ signature: 'function name??()',
192
+ type: 'event',
193
+ }),
194
+ ).toMatchInlineSnapshot(`
195
+ [Abi.InvalidSignatureError: Invalid event signature.
196
+
197
+ Details: function name??()]
198
+ `)
199
+
200
+ expect(
201
+ new InvalidSignatureError({
202
+ signature: 'function name??()',
203
+ type: 'constructor',
204
+ }),
205
+ ).toMatchInlineSnapshot(`
206
+ [Abi.InvalidSignatureError: Invalid constructor signature.
207
+
208
+ Details: function name??()]
209
+ `)
210
+ })
211
+
212
+ test('UnknownSignatureError', () => {
213
+ expect(new UnknownSignatureError({ signature: 'invalid' }))
214
+ .toMatchInlineSnapshot(`
215
+ [Abi.UnknownSignatureError: Unknown signature.
216
+
217
+ Details: invalid]
218
+ `)
219
+ })
220
+
221
+ test('InvalidStructSignatureError', () => {
222
+ expect(new InvalidStructSignatureError({ signature: 'struct Foo{}' }))
223
+ .toMatchInlineSnapshot(`
224
+ [Abi.InvalidStructSignatureError: Invalid struct signature.
225
+
226
+ No properties exist.
227
+
228
+ Details: struct Foo{}]
229
+ `)
230
+ })
231
+
232
+ test('InvalidParenthesisError', () => {
233
+ expect(new InvalidParenthesisError({ current: '(Foo))', depth: -1 }))
234
+ .toMatchInlineSnapshot(`
235
+ [HumanReadableAbi.InvalidParenthesisError: Unbalanced parentheses.
236
+
237
+ "(Foo))" has too many closing parentheses.
238
+
239
+ Details: Depth "-1"]
240
+ `)
241
+
242
+ expect(new InvalidParenthesisError({ current: '((Foo)', depth: 1 }))
243
+ .toMatchInlineSnapshot(`
244
+ [HumanReadableAbi.InvalidParenthesisError: Unbalanced parentheses.
245
+
246
+ "((Foo)" has too many opening parentheses.
247
+
248
+ Details: Depth "1"]
249
+ `)
250
+ })
251
+
252
+ test('CircularReferenceError', () => {
253
+ expect(new CircularReferenceError({ type: 'Foo' })).toMatchInlineSnapshot(`
254
+ [Abi.CircularReferenceError: Circular reference detected.
255
+
256
+ Struct "Foo" is a circular reference.]
257
+ `)
258
+ })
@@ -0,0 +1,205 @@
1
+ import type { AbiItemType, AbiParameter } from 'abitype'
2
+ import { BaseError } from '../../Errors.js'
3
+ import type { Modifier } from './types/signatures.js'
4
+
5
+ export class InvalidAbiItemError extends BaseError {
6
+ override name = 'AbiItem.InvalidAbiItemError'
7
+
8
+ constructor({ signature }: { signature: string | object }) {
9
+ super('Failed to parse ABI item.', {
10
+ details: `parseAbiItem(${JSON.stringify(signature, null, 2)})`,
11
+ docsPath: '/api/AbiItem/from',
12
+ })
13
+ }
14
+ }
15
+
16
+ export class UnknownTypeError extends BaseError {
17
+ override name = 'HumanReadableAbi.UnknownTypeError'
18
+
19
+ constructor({ type }: { type: string }) {
20
+ super('Unknown type.', {
21
+ metaMessages: [
22
+ `Type "${type}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`,
23
+ ],
24
+ })
25
+ }
26
+ }
27
+
28
+ export class UnknownSolidityTypeError extends BaseError {
29
+ override name = 'HumanReadableAbi.UnknownSolidityTypeError'
30
+
31
+ constructor({ type }: { type: string }) {
32
+ super('Unknown type.', {
33
+ metaMessages: [`Type "${type}" is not a valid ABI type.`],
34
+ })
35
+ }
36
+ }
37
+
38
+ export class InvalidAbiParameterError extends BaseError {
39
+ override name = 'AbiParameter.InvalidAbiParameterError'
40
+
41
+ constructor({ param }: { param: string | object }) {
42
+ super('Failed to parse ABI parameter.', {
43
+ details: `parseAbiParameter(${JSON.stringify(param, null, 2)})`,
44
+ docsPath: '/api/AbiParameter/from',
45
+ })
46
+ }
47
+ }
48
+
49
+ export class InvalidAbiParametersError extends BaseError {
50
+ override name = 'AbiParameters.InvalidAbiParametersError'
51
+
52
+ constructor({ params }: { params: string | object }) {
53
+ super('Failed to parse ABI parameters.', {
54
+ details: `parseAbiParameters(${JSON.stringify(params, null, 2)})`,
55
+ docsPath: '/api/AbiParameters/from',
56
+ })
57
+ }
58
+ }
59
+
60
+ export class InvalidParameterError extends BaseError {
61
+ override name = 'HumanReadableAbi.InvalidParameterError'
62
+
63
+ constructor({ param }: { param: string }) {
64
+ super('Invalid ABI parameter.', {
65
+ details: param,
66
+ })
67
+ }
68
+ }
69
+
70
+ export class SolidityProtectedKeywordError extends BaseError {
71
+ override name = 'HumanReadableAbi.SolidityProtectedKeywordError'
72
+
73
+ constructor({ param, name }: { param: string; name: string }) {
74
+ super('Invalid ABI parameter.', {
75
+ details: param,
76
+ metaMessages: [
77
+ `"${name}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`,
78
+ ],
79
+ })
80
+ }
81
+ }
82
+
83
+ export class InvalidModifierError extends BaseError {
84
+ override name = 'HumanReadableAbi.InvalidModifierError'
85
+
86
+ constructor({
87
+ param,
88
+ type,
89
+ modifier,
90
+ }: {
91
+ param: string
92
+ type?: AbiItemType | 'struct' | undefined
93
+ modifier: Modifier
94
+ }) {
95
+ super('Invalid ABI parameter.', {
96
+ details: param,
97
+ metaMessages: [
98
+ `Modifier "${modifier}" not allowed${
99
+ type ? ` in "${type}" type` : ''
100
+ }.`,
101
+ ],
102
+ })
103
+ }
104
+ }
105
+
106
+ export class InvalidFunctionModifierError extends BaseError {
107
+ override name = 'HumanReadableAbi.InvalidFunctionModifierError'
108
+
109
+ constructor({
110
+ param,
111
+ type,
112
+ modifier,
113
+ }: {
114
+ param: string
115
+ type?: AbiItemType | 'struct' | undefined
116
+ modifier: Modifier
117
+ }) {
118
+ super('Invalid ABI parameter.', {
119
+ details: param,
120
+ metaMessages: [
121
+ `Modifier "${modifier}" not allowed${
122
+ type ? ` in "${type}" type` : ''
123
+ }.`,
124
+ `Data location can only be specified for array, struct, or mapping types, but "${modifier}" was given.`,
125
+ ],
126
+ })
127
+ }
128
+ }
129
+
130
+ export class InvalidAbiTypeParameterError extends BaseError {
131
+ override name = 'HumanReadableAbi.InvalidAbiTypeParameterError'
132
+
133
+ constructor({
134
+ abiParameter,
135
+ }: {
136
+ abiParameter: AbiParameter & { indexed?: boolean | undefined }
137
+ }) {
138
+ super('Invalid ABI parameter.', {
139
+ details: JSON.stringify(abiParameter, null, 2),
140
+ metaMessages: ['ABI parameter type is invalid.'],
141
+ })
142
+ }
143
+ }
144
+
145
+ export class InvalidSignatureError extends BaseError {
146
+ override name = 'Abi.InvalidSignatureError'
147
+
148
+ constructor({
149
+ signature,
150
+ type,
151
+ }: {
152
+ signature: string
153
+ type: AbiItemType | 'struct'
154
+ }) {
155
+ super(`Invalid ${type} signature.`, {
156
+ details: signature,
157
+ })
158
+ }
159
+ }
160
+
161
+ export class UnknownSignatureError extends BaseError {
162
+ override name = 'Abi.UnknownSignatureError'
163
+
164
+ constructor({ signature }: { signature: string }) {
165
+ super('Unknown signature.', {
166
+ details: signature,
167
+ })
168
+ }
169
+ }
170
+
171
+ export class InvalidStructSignatureError extends BaseError {
172
+ override name = 'Abi.InvalidStructSignatureError'
173
+
174
+ constructor({ signature }: { signature: string }) {
175
+ super('Invalid struct signature.', {
176
+ details: signature,
177
+ metaMessages: ['No properties exist.'],
178
+ })
179
+ }
180
+ }
181
+
182
+ export class InvalidParenthesisError extends BaseError {
183
+ override name = 'HumanReadableAbi.InvalidParenthesisError'
184
+
185
+ constructor({ current, depth }: { current: string; depth: number }) {
186
+ super('Unbalanced parentheses.', {
187
+ metaMessages: [
188
+ `"${current.trim()}" has too many ${
189
+ depth > 0 ? 'opening' : 'closing'
190
+ } parentheses.`,
191
+ ],
192
+ details: `Depth "${depth}"`,
193
+ })
194
+ }
195
+ }
196
+
197
+ export class CircularReferenceError extends BaseError {
198
+ override name = 'Abi.CircularReferenceError'
199
+
200
+ constructor({ type }: { type: string }) {
201
+ super('Circular reference detected.', {
202
+ metaMessages: [`Struct "${type}" is a circular reference.`],
203
+ })
204
+ }
205
+ }
@@ -0,0 +1,144 @@
1
+ import { expectTypeOf, test } from 'vp/test'
2
+
3
+ import type { Abi } from 'abitype'
4
+ import { seaportAbi } from '../../../../test/abis/json.js'
5
+ import type { FormatAbi } from './formatAbi.js'
6
+ import { formatAbi } from './formatAbi.js'
7
+
8
+ test('FormatAbi', () => {
9
+ expectTypeOf<FormatAbi<[]>>().toEqualTypeOf<never>()
10
+
11
+ expectTypeOf<
12
+ FormatAbi<
13
+ readonly [
14
+ {
15
+ readonly name: 'foo'
16
+ readonly type: 'function'
17
+ readonly stateMutability: 'nonpayable'
18
+ readonly inputs: readonly []
19
+ readonly outputs: readonly []
20
+ },
21
+ {
22
+ readonly name: 'bar'
23
+ readonly type: 'function'
24
+ readonly stateMutability: 'nonpayable'
25
+ readonly inputs: readonly [
26
+ {
27
+ readonly type: 'tuple'
28
+ readonly components: readonly [
29
+ {
30
+ readonly name: 'name'
31
+ readonly type: 'string'
32
+ },
33
+ ]
34
+ },
35
+ {
36
+ readonly type: 'bytes32'
37
+ },
38
+ ]
39
+ readonly outputs: readonly []
40
+ },
41
+ ]
42
+ >
43
+ >().toEqualTypeOf<
44
+ readonly ['function foo()', 'function bar((string name), bytes32)']
45
+ >()
46
+
47
+ expectTypeOf<
48
+ FormatAbi<
49
+ readonly [
50
+ {
51
+ readonly name: 'balanceOf'
52
+ readonly type: 'function'
53
+ readonly stateMutability: 'view'
54
+ readonly inputs: readonly [
55
+ {
56
+ readonly name: 'owner'
57
+ readonly type: 'address'
58
+ },
59
+ ]
60
+ readonly outputs: readonly [
61
+ {
62
+ readonly type: 'uint256'
63
+ },
64
+ ]
65
+ },
66
+ {
67
+ readonly name: 'Transfer'
68
+ readonly type: 'event'
69
+ readonly inputs: readonly [
70
+ {
71
+ readonly name: 'from'
72
+ readonly type: 'address'
73
+ readonly indexed: true
74
+ },
75
+ {
76
+ readonly name: 'to'
77
+ readonly type: 'address'
78
+ readonly indexed: true
79
+ },
80
+ {
81
+ readonly name: 'amount'
82
+ readonly type: 'uint256'
83
+ },
84
+ ]
85
+ },
86
+ ]
87
+ >
88
+ >().toEqualTypeOf<
89
+ readonly [
90
+ 'function balanceOf(address owner) view returns (uint256)',
91
+ 'event Transfer(address indexed from, address indexed to, uint256 amount)',
92
+ ]
93
+ >()
94
+ })
95
+
96
+ test('formatAbi', () => {
97
+ expectTypeOf(formatAbi([])).toEqualTypeOf<never>()
98
+
99
+ // Array
100
+ const res = formatAbi([
101
+ {
102
+ name: 'bar',
103
+ type: 'function',
104
+ stateMutability: 'nonpayable',
105
+ inputs: [
106
+ {
107
+ type: 'tuple',
108
+ components: [
109
+ {
110
+ name: 'name',
111
+ type: 'string',
112
+ },
113
+ ],
114
+ },
115
+ {
116
+ type: 'bytes32',
117
+ },
118
+ ],
119
+ outputs: [],
120
+ },
121
+ ])
122
+ expectTypeOf<typeof res>().toEqualTypeOf<
123
+ readonly ['function bar((string name), bytes32)']
124
+ >()
125
+
126
+ const abi2 = [
127
+ {
128
+ type: 'function',
129
+ name: 'foo',
130
+ inputs: [],
131
+ outputs: [],
132
+ stateMutability: 'view',
133
+ },
134
+ ]
135
+ expectTypeOf(formatAbi(abi2)).toEqualTypeOf<readonly string[]>()
136
+
137
+ const param = abi2 as Abi
138
+ expectTypeOf(formatAbi(param)).toEqualTypeOf<readonly string[]>()
139
+
140
+ const getOrderType = formatAbi(seaportAbi)[10]
141
+ expectTypeOf<
142
+ typeof getOrderType
143
+ >().toEqualTypeOf<'function getOrderHash((address offerer, address zone, (uint8 itemType, address token, uint256 identifierOrCriteria, uint256 startAmount, uint256 endAmount)[] offer, (uint8 itemType, address token, uint256 identifierOrCriteria, uint256 startAmount, uint256 endAmount, address recipient)[] consideration, uint8 orderType, uint256 startTime, uint256 endTime, bytes32 zoneHash, uint256 salt, bytes32 conduitKey, uint256 counter) order) view returns (bytes32 orderHash)'>()
144
+ })
@@ -0,0 +1,23 @@
1
+ import { expect, test } from 'vp/test'
2
+
3
+ import { seaportAbi } from '../../../../test/abis/json.js'
4
+ import { formatAbi } from './formatAbi.js'
5
+
6
+ const customSolidityErrorsAbi = [
7
+ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
8
+ { inputs: [], name: 'ApprovalCallerNotOwnerNorApproved', type: 'error' },
9
+ { inputs: [], name: 'ApprovalQueryForNonexistentToken', type: 'error' },
10
+ ] as const
11
+
12
+ test('formatAbi', () => {
13
+ const result = formatAbi(seaportAbi)
14
+ expect(result).toMatchSnapshot()
15
+
16
+ expect(formatAbi(customSolidityErrorsAbi)).toMatchInlineSnapshot(`
17
+ [
18
+ "constructor()",
19
+ "error ApprovalCallerNotOwnerNorApproved()",
20
+ "error ApprovalQueryForNonexistentToken()",
21
+ ]
22
+ `)
23
+ })
@@ -0,0 +1,37 @@
1
+ import type { Abi } from 'abitype'
2
+ import { type FormatAbiItem, formatAbiItem } from './formatAbiItem.js'
3
+
4
+ /**
5
+ * Parses JSON ABI into human-readable ABI
6
+ *
7
+ * @param abi - ABI
8
+ * @returns Human-readable ABI
9
+ */
10
+ export type FormatAbi<abi extends Abi | readonly unknown[]> = Abi extends abi
11
+ ? readonly string[]
12
+ : abi extends readonly []
13
+ ? never
14
+ : abi extends Abi
15
+ ? {
16
+ [key in keyof abi]: FormatAbiItem<abi[key]>
17
+ }
18
+ : readonly string[]
19
+
20
+ /**
21
+ * Parses JSON ABI into human-readable ABI
22
+ *
23
+ * @param abi - ABI
24
+ * @returns Human-readable ABI
25
+ */
26
+ export function formatAbi<const abi extends Abi | readonly unknown[]>(
27
+ abi: abi,
28
+ ): FormatAbi<abi> {
29
+ const signatures = []
30
+ const length = abi.length
31
+ for (let i = 0; i < length; i++) {
32
+ const abiItem = abi[i]!
33
+ const signature = formatAbiItem(abiItem as Abi[number])
34
+ signatures.push(signature)
35
+ }
36
+ return signatures as unknown as FormatAbi<abi>
37
+ }