viem 2.36.0-jxom-erc8010-20250826223301 → 2.36.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 (387) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/_cjs/actions/public/multicall.js.map +1 -1
  3. package/_cjs/actions/public/verifyHash.js +37 -141
  4. package/_cjs/actions/public/verifyHash.js.map +1 -1
  5. package/_cjs/chains/definitions/abstract.js +1 -1
  6. package/_cjs/chains/definitions/abstract.js.map +1 -1
  7. package/_cjs/chains/definitions/abstractTestnet.js +1 -1
  8. package/_cjs/chains/definitions/abstractTestnet.js.map +1 -1
  9. package/_cjs/chains/definitions/zksync.js +1 -1
  10. package/_cjs/chains/definitions/zksync.js.map +1 -1
  11. package/_cjs/chains/definitions/zksyncSepoliaTestnet.js +1 -1
  12. package/_cjs/chains/definitions/zksyncSepoliaTestnet.js.map +1 -1
  13. package/_cjs/constants/abis.js +3 -3
  14. package/_cjs/constants/abis.js.map +1 -1
  15. package/_cjs/constants/contracts.js +2 -2
  16. package/_cjs/constants/contracts.js.map +1 -1
  17. package/_cjs/errors/version.js +1 -1
  18. package/_cjs/errors/version.js.map +1 -1
  19. package/_cjs/index.js +11 -19
  20. package/_cjs/index.js.map +1 -1
  21. package/_cjs/utils/index.js +2 -8
  22. package/_cjs/utils/index.js.map +1 -1
  23. package/_esm/actions/public/multicall.js.map +1 -1
  24. package/_esm/actions/public/verifyHash.js +47 -156
  25. package/_esm/actions/public/verifyHash.js.map +1 -1
  26. package/_esm/chains/definitions/abstract.js +1 -1
  27. package/_esm/chains/definitions/abstract.js.map +1 -1
  28. package/_esm/chains/definitions/abstractTestnet.js +1 -1
  29. package/_esm/chains/definitions/abstractTestnet.js.map +1 -1
  30. package/_esm/chains/definitions/zksync.js +1 -1
  31. package/_esm/chains/definitions/zksync.js.map +1 -1
  32. package/_esm/chains/definitions/zksyncSepoliaTestnet.js +1 -1
  33. package/_esm/chains/definitions/zksyncSepoliaTestnet.js.map +1 -1
  34. package/_esm/constants/abis.js +2 -2
  35. package/_esm/constants/abis.js.map +1 -1
  36. package/_esm/constants/contracts.js +1 -1
  37. package/_esm/constants/contracts.js.map +1 -1
  38. package/_esm/errors/version.js +1 -1
  39. package/_esm/errors/version.js.map +1 -1
  40. package/_esm/index.js +2 -9
  41. package/_esm/index.js.map +1 -1
  42. package/_esm/utils/index.js +0 -3
  43. package/_esm/utils/index.js.map +1 -1
  44. package/_types/actions/public/multicall.d.ts +3 -6
  45. package/_types/actions/public/multicall.d.ts.map +1 -1
  46. package/_types/actions/public/verifyHash.d.ts +0 -42
  47. package/_types/actions/public/verifyHash.d.ts.map +1 -1
  48. package/_types/chains/definitions/0g.d.ts +1 -1
  49. package/_types/chains/definitions/5ireChain.d.ts +1 -1
  50. package/_types/chains/definitions/abey.d.ts +1 -1
  51. package/_types/chains/definitions/abstract.d.ts +1 -1
  52. package/_types/chains/definitions/abstractTestnet.d.ts +1 -1
  53. package/_types/chains/definitions/acala.d.ts +1 -1
  54. package/_types/chains/definitions/acria.d.ts +1 -1
  55. package/_types/chains/definitions/adf.d.ts +1 -1
  56. package/_types/chains/definitions/agungTestnet.d.ts +1 -1
  57. package/_types/chains/definitions/aioz.d.ts +1 -1
  58. package/_types/chains/definitions/alienX.d.ts +1 -1
  59. package/_types/chains/definitions/alienXHalTestnet.d.ts +1 -1
  60. package/_types/chains/definitions/anvil.d.ts +1 -1
  61. package/_types/chains/definitions/arenaz.d.ts +1 -1
  62. package/_types/chains/definitions/areonNetworkTestnet.d.ts +1 -1
  63. package/_types/chains/definitions/auroraTestnet.d.ts +1 -1
  64. package/_types/chains/definitions/auroria.d.ts +1 -1
  65. package/_types/chains/definitions/autheoTestnet.d.ts +1 -1
  66. package/_types/chains/definitions/bahamut.d.ts +1 -1
  67. package/_types/chains/definitions/basecampTestnet.d.ts +1 -1
  68. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -1
  69. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -1
  70. package/_types/chains/definitions/bevmMainnet.d.ts +1 -1
  71. package/_types/chains/definitions/bifrost.d.ts +1 -1
  72. package/_types/chains/definitions/birdlayer.d.ts +1 -1
  73. package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -1
  74. package/_types/chains/definitions/bitkub.d.ts +1 -1
  75. package/_types/chains/definitions/bitkubTestnet.d.ts +1 -1
  76. package/_types/chains/definitions/bitrock.d.ts +1 -1
  77. package/_types/chains/definitions/bobaSepolia.d.ts +1 -1
  78. package/_types/chains/definitions/boolBetaMainnet.d.ts +1 -1
  79. package/_types/chains/definitions/botanixTestnet.d.ts +1 -1
  80. package/_types/chains/definitions/bounceBit.d.ts +1 -1
  81. package/_types/chains/definitions/bounceBitTestnet.d.ts +1 -1
  82. package/_types/chains/definitions/bronos.d.ts +1 -1
  83. package/_types/chains/definitions/bronosTestnet.d.ts +1 -1
  84. package/_types/chains/definitions/bscGreenfield.d.ts +1 -1
  85. package/_types/chains/definitions/bsquared.d.ts +1 -1
  86. package/_types/chains/definitions/bsquaredTestnet.d.ts +1 -1
  87. package/_types/chains/definitions/btr.d.ts +1 -1
  88. package/_types/chains/definitions/btrTestnet.d.ts +1 -1
  89. package/_types/chains/definitions/bxn.d.ts +1 -1
  90. package/_types/chains/definitions/bxnTestnet.d.ts +1 -1
  91. package/_types/chains/definitions/cannon.d.ts +1 -1
  92. package/_types/chains/definitions/chang.d.ts +1 -1
  93. package/_types/chains/definitions/chips.d.ts +1 -1
  94. package/_types/chains/definitions/citreaTestnet.d.ts +1 -1
  95. package/_types/chains/definitions/classic.d.ts +1 -1
  96. package/_types/chains/definitions/coinbit.d.ts +1 -1
  97. package/_types/chains/definitions/coinex.d.ts +1 -1
  98. package/_types/chains/definitions/creditCoin3Mainnet.d.ts +1 -1
  99. package/_types/chains/definitions/creditCoin3Testnet.d.ts +1 -1
  100. package/_types/chains/definitions/cronoszkEVMTestnet.d.ts +1 -1
  101. package/_types/chains/definitions/curtis.d.ts +1 -1
  102. package/_types/chains/definitions/dailyNetwork.d.ts +1 -1
  103. package/_types/chains/definitions/dailyNetworkTestnet.d.ts +1 -1
  104. package/_types/chains/definitions/dbkchain.d.ts +1 -1
  105. package/_types/chains/definitions/degen.d.ts +1 -1
  106. package/_types/chains/definitions/diode.d.ts +1 -1
  107. package/_types/chains/definitions/disChain.d.ts +1 -1
  108. package/_types/chains/definitions/dodochainTestnet.d.ts +1 -1
  109. package/_types/chains/definitions/dreyerxMainnet.d.ts +1 -1
  110. package/_types/chains/definitions/dreyerxTestnet.d.ts +1 -1
  111. package/_types/chains/definitions/dymension.d.ts +1 -1
  112. package/_types/chains/definitions/edexa.d.ts +1 -1
  113. package/_types/chains/definitions/edexaTestnet.d.ts +1 -1
  114. package/_types/chains/definitions/edgeless.d.ts +1 -1
  115. package/_types/chains/definitions/edgelessTestnet.d.ts +1 -1
  116. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -1
  117. package/_types/chains/definitions/eduChain.d.ts +1 -1
  118. package/_types/chains/definitions/ekta.d.ts +1 -1
  119. package/_types/chains/definitions/ektaTestnet.d.ts +1 -1
  120. package/_types/chains/definitions/elastos.d.ts +1 -1
  121. package/_types/chains/definitions/elastosTestnet.d.ts +1 -1
  122. package/_types/chains/definitions/electroneum.d.ts +1 -1
  123. package/_types/chains/definitions/electroneumTestnet.d.ts +1 -1
  124. package/_types/chains/definitions/energy.d.ts +1 -1
  125. package/_types/chains/definitions/enuls.d.ts +1 -1
  126. package/_types/chains/definitions/etherlinkTestnet.d.ts +1 -1
  127. package/_types/chains/definitions/etp.d.ts +1 -1
  128. package/_types/chains/definitions/evmos.d.ts +1 -1
  129. package/_types/chains/definitions/evmosTestnet.d.ts +1 -1
  130. package/_types/chains/definitions/exSat.d.ts +1 -1
  131. package/_types/chains/definitions/exSatTestnet.d.ts +1 -1
  132. package/_types/chains/definitions/excelonMainnet.d.ts +1 -1
  133. package/_types/chains/definitions/expanse.d.ts +1 -1
  134. package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -1
  135. package/_types/chains/definitions/fibo.d.ts +1 -1
  136. package/_types/chains/definitions/filecoinCalibration.d.ts +1 -1
  137. package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -1
  138. package/_types/chains/definitions/flareTestnet.d.ts +1 -1
  139. package/_types/chains/definitions/fluentTestnet.d.ts +1 -1
  140. package/_types/chains/definitions/forta.d.ts +1 -1
  141. package/_types/chains/definitions/foundry.d.ts +1 -1
  142. package/_types/chains/definitions/fuseSparknet.d.ts +1 -1
  143. package/_types/chains/definitions/genesys.d.ts +1 -1
  144. package/_types/chains/definitions/glideL1Protocol.d.ts +1 -1
  145. package/_types/chains/definitions/glideL2Protocol.d.ts +1 -1
  146. package/_types/chains/definitions/goChain.d.ts +1 -1
  147. package/_types/chains/definitions/graphite.d.ts +1 -1
  148. package/_types/chains/definitions/graphiteTestnet.d.ts +1 -1
  149. package/_types/chains/definitions/guruTestnet.d.ts +1 -1
  150. package/_types/chains/definitions/ham.d.ts +1 -1
  151. package/_types/chains/definitions/haqqMainnet.d.ts +1 -1
  152. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -1
  153. package/_types/chains/definitions/hardhat.d.ts +1 -1
  154. package/_types/chains/definitions/hashkeyChainTestnet.d.ts +1 -1
  155. package/_types/chains/definitions/haustTestnet.d.ts +1 -1
  156. package/_types/chains/definitions/hedera.d.ts +1 -1
  157. package/_types/chains/definitions/hederaPreviewnet.d.ts +1 -1
  158. package/_types/chains/definitions/hederaTestnet.d.ts +1 -1
  159. package/_types/chains/definitions/hela.d.ts +1 -1
  160. package/_types/chains/definitions/hemi.d.ts +1 -1
  161. package/_types/chains/definitions/hemiSepolia.d.ts +1 -1
  162. package/_types/chains/definitions/hpb.d.ts +1 -1
  163. package/_types/chains/definitions/huddle01Mainnet.d.ts +1 -1
  164. package/_types/chains/definitions/huddle01Testnet.d.ts +1 -1
  165. package/_types/chains/definitions/humanity.d.ts +1 -1
  166. package/_types/chains/definitions/humanityTestnet.d.ts +1 -1
  167. package/_types/chains/definitions/hychain.d.ts +1 -1
  168. package/_types/chains/definitions/hychainTestnet.d.ts +1 -1
  169. package/_types/chains/definitions/hyperliquidEvmTestnet.d.ts +1 -1
  170. package/_types/chains/definitions/iSunCoin.d.ts +1 -1
  171. package/_types/chains/definitions/idchain.d.ts +1 -1
  172. package/_types/chains/definitions/iotaTestnet.d.ts +1 -1
  173. package/_types/chains/definitions/jocMainnet.d.ts +1 -1
  174. package/_types/chains/definitions/jocTestnet.d.ts +1 -1
  175. package/_types/chains/definitions/juneo.d.ts +1 -1
  176. package/_types/chains/definitions/juneoBCH1Chain.d.ts +1 -1
  177. package/_types/chains/definitions/juneoDAI1Chain.d.ts +1 -1
  178. package/_types/chains/definitions/juneoDOGE1Chain.d.ts +1 -1
  179. package/_types/chains/definitions/juneoEUR1Chain.d.ts +1 -1
  180. package/_types/chains/definitions/juneoGLD1Chain.d.ts +1 -1
  181. package/_types/chains/definitions/juneoLINK1Chain.d.ts +1 -1
  182. package/_types/chains/definitions/juneoLTC1Chain.d.ts +1 -1
  183. package/_types/chains/definitions/juneoSGD1Chain.d.ts +1 -1
  184. package/_types/chains/definitions/juneoSocotraTestnet.d.ts +1 -1
  185. package/_types/chains/definitions/juneoUSD1Chain.d.ts +1 -1
  186. package/_types/chains/definitions/juneoUSDT1Chain.d.ts +1 -1
  187. package/_types/chains/definitions/juneomBTC1Chain.d.ts +1 -1
  188. package/_types/chains/definitions/kakarotSepolia.d.ts +1 -1
  189. package/_types/chains/definitions/kakarotStarknetSepolia.d.ts +1 -1
  190. package/_types/chains/definitions/kardiaChain.d.ts +1 -1
  191. package/_types/chains/definitions/karura.d.ts +1 -1
  192. package/_types/chains/definitions/katana.d.ts +1 -1
  193. package/_types/chains/definitions/kinto.d.ts +1 -1
  194. package/_types/chains/definitions/l3x.d.ts +1 -1
  195. package/_types/chains/definitions/l3xTestnet.d.ts +1 -1
  196. package/_types/chains/definitions/lavita.d.ts +1 -1
  197. package/_types/chains/definitions/lens.d.ts +1 -1
  198. package/_types/chains/definitions/lensTestnet.d.ts +1 -1
  199. package/_types/chains/definitions/lestnet.d.ts +1 -1
  200. package/_types/chains/definitions/localhost.d.ts +1 -1
  201. package/_types/chains/definitions/loop.d.ts +1 -1
  202. package/_types/chains/definitions/lumoz.d.ts +1 -1
  203. package/_types/chains/definitions/lumozTestnet.d.ts +1 -1
  204. package/_types/chains/definitions/lycan.d.ts +1 -1
  205. package/_types/chains/definitions/mandala.d.ts +1 -1
  206. package/_types/chains/definitions/mantraDuKongEVMTestnet.d.ts +1 -1
  207. package/_types/chains/definitions/mapProtocol.d.ts +1 -1
  208. package/_types/chains/definitions/matchain.d.ts +1 -1
  209. package/_types/chains/definitions/matchainTestnet.d.ts +1 -1
  210. package/_types/chains/definitions/mchVerse.d.ts +1 -1
  211. package/_types/chains/definitions/mekong.d.ts +1 -1
  212. package/_types/chains/definitions/memecore.d.ts +1 -1
  213. package/_types/chains/definitions/memecoreFormicariumTestnet.d.ts +1 -1
  214. package/_types/chains/definitions/merlin.d.ts +1 -1
  215. package/_types/chains/definitions/merlinErigonTestnet.d.ts +1 -1
  216. package/_types/chains/definitions/metadium.d.ts +1 -1
  217. package/_types/chains/definitions/meter.d.ts +1 -1
  218. package/_types/chains/definitions/meterTestnet.d.ts +1 -1
  219. package/_types/chains/definitions/mint.d.ts +1 -1
  220. package/_types/chains/definitions/mintSepoliaTestnet.d.ts +1 -1
  221. package/_types/chains/definitions/mitosisTestnet.d.ts +1 -1
  222. package/_types/chains/definitions/moonbeamDev.d.ts +1 -1
  223. package/_types/chains/definitions/morphHolesky.d.ts +1 -1
  224. package/_types/chains/definitions/morphSepolia.d.ts +1 -1
  225. package/_types/chains/definitions/nahmii.d.ts +1 -1
  226. package/_types/chains/definitions/nautilus.d.ts +1 -1
  227. package/_types/chains/definitions/near.d.ts +1 -1
  228. package/_types/chains/definitions/nearTestnet.d.ts +1 -1
  229. package/_types/chains/definitions/neoxMainnet.d.ts +1 -1
  230. package/_types/chains/definitions/neoxT4.d.ts +1 -1
  231. package/_types/chains/definitions/newton.d.ts +1 -1
  232. package/_types/chains/definitions/oasisTestnet.d.ts +1 -1
  233. package/_types/chains/definitions/oasys.d.ts +1 -1
  234. package/_types/chains/definitions/odysseyTestnet.d.ts +1 -1
  235. package/_types/chains/definitions/omax.d.ts +1 -1
  236. package/_types/chains/definitions/omni.d.ts +1 -1
  237. package/_types/chains/definitions/omniOmega.d.ts +1 -1
  238. package/_types/chains/definitions/oneWorld.d.ts +1 -1
  239. package/_types/chains/definitions/oortmainnetDev.d.ts +1 -1
  240. package/_types/chains/definitions/optopia.d.ts +1 -1
  241. package/_types/chains/definitions/optopiaTestnet.d.ts +1 -1
  242. package/_types/chains/definitions/orderly.d.ts +1 -1
  243. package/_types/chains/definitions/orderlySepolia.d.ts +1 -1
  244. package/_types/chains/definitions/plasmaTestnet.d.ts +1 -1
  245. package/_types/chains/definitions/premiumBlock.d.ts +1 -1
  246. package/_types/chains/definitions/pumpfiTestnet.d.ts +1 -1
  247. package/_types/chains/definitions/qMainnet.d.ts +1 -1
  248. package/_types/chains/definitions/qTestnet.d.ts +1 -1
  249. package/_types/chains/definitions/redbellyMainnet.d.ts +1 -1
  250. package/_types/chains/definitions/redbellyTestnet.d.ts +1 -1
  251. package/_types/chains/definitions/reddioSepolia.d.ts +1 -1
  252. package/_types/chains/definitions/rei.d.ts +1 -1
  253. package/_types/chains/definitions/reyaNetwork.d.ts +1 -1
  254. package/_types/chains/definitions/rivalz.d.ts +1 -1
  255. package/_types/chains/definitions/saakuru.d.ts +1 -1
  256. package/_types/chains/definitions/sapphireTestnet.d.ts +1 -1
  257. package/_types/chains/definitions/satoshivm.d.ts +1 -1
  258. package/_types/chains/definitions/satoshivmTestnet.d.ts +1 -1
  259. package/_types/chains/definitions/seiDevnet.d.ts +1 -1
  260. package/_types/chains/definitions/seismicDevnet.d.ts +1 -1
  261. package/_types/chains/definitions/shardeum.d.ts +1 -1
  262. package/_types/chains/definitions/shardeumSphinx.d.ts +1 -1
  263. package/_types/chains/definitions/shiden.d.ts +1 -1
  264. package/_types/chains/definitions/shimmer.d.ts +1 -1
  265. package/_types/chains/definitions/shimmerTestnet.d.ts +1 -1
  266. package/_types/chains/definitions/sidra.d.ts +1 -1
  267. package/_types/chains/definitions/silicon.d.ts +1 -1
  268. package/_types/chains/definitions/siliconSepolia.d.ts +1 -1
  269. package/_types/chains/definitions/sixProtocol.d.ts +1 -1
  270. package/_types/chains/definitions/sketchpad.d.ts +1 -1
  271. package/_types/chains/definitions/songbirdTestnet.d.ts +1 -1
  272. package/_types/chains/definitions/sonicTestnet.d.ts +1 -1
  273. package/_types/chains/definitions/sovaSepolia.d.ts +1 -1
  274. package/_types/chains/definitions/spicy.d.ts +1 -1
  275. package/_types/chains/definitions/step.d.ts +1 -1
  276. package/_types/chains/definitions/storyOdyssey.d.ts +1 -1
  277. package/_types/chains/definitions/storyTestnet.d.ts +1 -1
  278. package/_types/chains/definitions/stratis.d.ts +1 -1
  279. package/_types/chains/definitions/superlumio.d.ts +1 -1
  280. package/_types/chains/definitions/swan.d.ts +1 -1
  281. package/_types/chains/definitions/swanProximaTestnet.d.ts +1 -1
  282. package/_types/chains/definitions/swanSaturnTestnet.d.ts +1 -1
  283. package/_types/chains/definitions/swissdlt.d.ts +1 -1
  284. package/_types/chains/definitions/taikoKatla.d.ts +1 -1
  285. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -1
  286. package/_types/chains/definitions/taraxa.d.ts +1 -1
  287. package/_types/chains/definitions/taraxaTestnet.d.ts +1 -1
  288. package/_types/chains/definitions/telcoinTestnet.d.ts +1 -1
  289. package/_types/chains/definitions/telosTestnet.d.ts +1 -1
  290. package/_types/chains/definitions/tenet.d.ts +1 -1
  291. package/_types/chains/definitions/ternoa.d.ts +1 -1
  292. package/_types/chains/definitions/that.d.ts +1 -1
  293. package/_types/chains/definitions/theta.d.ts +1 -1
  294. package/_types/chains/definitions/thetaTestnet.d.ts +1 -1
  295. package/_types/chains/definitions/thunderTestnet.d.ts +1 -1
  296. package/_types/chains/definitions/tiktrixTestnet.d.ts +1 -1
  297. package/_types/chains/definitions/tomb.d.ts +1 -1
  298. package/_types/chains/definitions/tron.d.ts +1 -1
  299. package/_types/chains/definitions/tronShasta.d.ts +1 -1
  300. package/_types/chains/definitions/ubiq.d.ts +1 -1
  301. package/_types/chains/definitions/ultra.d.ts +1 -1
  302. package/_types/chains/definitions/ultraTestnet.d.ts +1 -1
  303. package/_types/chains/definitions/ultron.d.ts +1 -1
  304. package/_types/chains/definitions/ultronTestnet.d.ts +1 -1
  305. package/_types/chains/definitions/unique.d.ts +1 -1
  306. package/_types/chains/definitions/uniqueOpal.d.ts +1 -1
  307. package/_types/chains/definitions/uniqueQuartz.d.ts +1 -1
  308. package/_types/chains/definitions/vanar.d.ts +1 -1
  309. package/_types/chains/definitions/vechain.d.ts +1 -1
  310. package/_types/chains/definitions/viction.d.ts +1 -1
  311. package/_types/chains/definitions/vision.d.ts +1 -1
  312. package/_types/chains/definitions/visionTestnet.d.ts +1 -1
  313. package/_types/chains/definitions/weavevmAlphanet.d.ts +1 -1
  314. package/_types/chains/definitions/wemix.d.ts +1 -1
  315. package/_types/chains/definitions/wemixTestnet.d.ts +1 -1
  316. package/_types/chains/definitions/westendAssetHub.d.ts +1 -1
  317. package/_types/chains/definitions/whitechainTestnet.d.ts +1 -1
  318. package/_types/chains/definitions/wmcTestnet.d.ts +1 -1
  319. package/_types/chains/definitions/worldLand.d.ts +1 -1
  320. package/_types/chains/definitions/xaiTestnet.d.ts +1 -1
  321. package/_types/chains/definitions/xphereMainnet.d.ts +1 -1
  322. package/_types/chains/definitions/xphereTestnet.d.ts +1 -1
  323. package/_types/chains/definitions/xrOne.d.ts +1 -1
  324. package/_types/chains/definitions/xrSepolia.d.ts +1 -1
  325. package/_types/chains/definitions/yooldoVerse.d.ts +1 -1
  326. package/_types/chains/definitions/yooldoVerseTestnet.d.ts +1 -1
  327. package/_types/chains/definitions/zeniq.d.ts +1 -1
  328. package/_types/chains/definitions/zeroNetwork.d.ts +1 -1
  329. package/_types/chains/definitions/zhejiang.d.ts +1 -1
  330. package/_types/chains/definitions/zilliqa.d.ts +1 -1
  331. package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -1
  332. package/_types/chains/definitions/zkFairTestnet.d.ts +1 -1
  333. package/_types/chains/definitions/zkLinkNova.d.ts +1 -1
  334. package/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts +1 -1
  335. package/_types/chains/definitions/zksync.d.ts +1 -1
  336. package/_types/chains/definitions/zksyncInMemoryNode.d.ts +1 -1
  337. package/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts +1 -1
  338. package/_types/chains/definitions/zksyncLocalHyperchain.d.ts +1 -1
  339. package/_types/chains/definitions/zksyncLocalHyperchainL1.d.ts +1 -1
  340. package/_types/chains/definitions/zksyncLocalNode.d.ts +1 -1
  341. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts +1 -1
  342. package/_types/constants/abis.d.ts +2 -2
  343. package/_types/constants/abis.d.ts.map +1 -1
  344. package/_types/constants/contracts.d.ts +1 -1
  345. package/_types/constants/contracts.d.ts.map +1 -1
  346. package/_types/errors/version.d.ts +1 -1
  347. package/_types/errors/version.d.ts.map +1 -1
  348. package/_types/index.d.ts +2 -9
  349. package/_types/index.d.ts.map +1 -1
  350. package/_types/types/chain.d.ts +1 -1
  351. package/_types/types/chain.d.ts.map +1 -1
  352. package/_types/utils/index.d.ts +0 -3
  353. package/_types/utils/index.d.ts.map +1 -1
  354. package/actions/public/multicall.ts +5 -11
  355. package/actions/public/verifyHash.ts +54 -253
  356. package/chains/definitions/abstract.ts +1 -1
  357. package/chains/definitions/abstractTestnet.ts +1 -1
  358. package/chains/definitions/zksync.ts +1 -1
  359. package/chains/definitions/zksyncSepoliaTestnet.ts +1 -1
  360. package/constants/abis.ts +2 -2
  361. package/constants/contracts.ts +1 -1
  362. package/errors/version.ts +1 -1
  363. package/index.ts +2 -24
  364. package/package.json +1 -1
  365. package/types/chain.ts +1 -1
  366. package/utils/index.ts +0 -18
  367. package/_cjs/utils/signature/isErc8010Signature.js +0 -8
  368. package/_cjs/utils/signature/isErc8010Signature.js.map +0 -1
  369. package/_cjs/utils/signature/parseErc8010Signature.js +0 -24
  370. package/_cjs/utils/signature/parseErc8010Signature.js.map +0 -1
  371. package/_cjs/utils/signature/serializeErc8010Signature.js +0 -23
  372. package/_cjs/utils/signature/serializeErc8010Signature.js.map +0 -1
  373. package/_esm/utils/signature/isErc8010Signature.js +0 -6
  374. package/_esm/utils/signature/isErc8010Signature.js.map +0 -1
  375. package/_esm/utils/signature/parseErc8010Signature.js +0 -28
  376. package/_esm/utils/signature/parseErc8010Signature.js.map +0 -1
  377. package/_esm/utils/signature/serializeErc8010Signature.js +0 -26
  378. package/_esm/utils/signature/serializeErc8010Signature.js.map +0 -1
  379. package/_types/utils/signature/isErc8010Signature.d.ts +0 -8
  380. package/_types/utils/signature/isErc8010Signature.d.ts.map +0 -1
  381. package/_types/utils/signature/parseErc8010Signature.d.ts +0 -27
  382. package/_types/utils/signature/parseErc8010Signature.d.ts.map +0 -1
  383. package/_types/utils/signature/serializeErc8010Signature.d.ts +0 -24
  384. package/_types/utils/signature/serializeErc8010Signature.d.ts.map +0 -1
  385. package/utils/signature/isErc8010Signature.ts +0 -14
  386. package/utils/signature/parseErc8010Signature.ts +0 -64
  387. package/utils/signature/serializeErc8010Signature.ts +0 -48
@@ -1,22 +1,10 @@
1
1
  import type { Address } from 'abitype'
2
- import * as SignatureErc6492 from 'ox/erc6492/SignatureErc6492'
3
- import * as SignatureErc8010 from 'ox/erc8010/SignatureErc8010'
4
2
 
5
3
  import type { Client } from '../../clients/createClient.js'
6
4
  import type { Transport } from '../../clients/transports/createTransport.js'
7
- import {
8
- erc1271Abi,
9
- erc6492SignatureValidatorAbi,
10
- multicall3Abi,
11
- } from '../../constants/abis.js'
12
- import {
13
- erc6492SignatureValidatorByteCode,
14
- multicall3Bytecode,
15
- } from '../../constants/contracts.js'
16
- import {
17
- CallExecutionError,
18
- ContractFunctionExecutionError,
19
- } from '../../errors/contract.js'
5
+ import { universalSignatureValidatorAbi } from '../../constants/abis.js'
6
+ import { universalSignatureValidatorByteCode } from '../../constants/contracts.js'
7
+ import { CallExecutionError } from '../../errors/contract.js'
20
8
  import type { InvalidHexBooleanError } from '../../errors/encoding.js'
21
9
  import type { ErrorType } from '../../errors/utils.js'
22
10
  import type { Chain } from '../../types/chain.js'
@@ -29,18 +17,14 @@ import {
29
17
  import { getAddress } from '../../utils/address/getAddress.js'
30
18
  import { isAddressEqual } from '../../utils/address/isAddressEqual.js'
31
19
  import { type IsHexErrorType, isHex } from '../../utils/data/isHex.js'
32
- import {
33
- bytesToHex,
34
- numberToHex,
35
- type ToHexErrorType,
36
- } from '../../utils/encoding/toHex.js'
20
+ import { bytesToHex, type ToHexErrorType } from '../../utils/encoding/toHex.js'
37
21
  import { getAction } from '../../utils/getAction.js'
38
- import { concatHex, encodeFunctionData, hexToBool } from '../../utils/index.js'
22
+ import { encodeFunctionData, hexToBool } from '../../utils/index.js'
23
+ import { isErc6492Signature } from '../../utils/signature/isErc6492Signature.js'
39
24
  import { recoverAddress } from '../../utils/signature/recoverAddress.js'
25
+ import { serializeErc6492Signature } from '../../utils/signature/serializeErc6492Signature.js'
40
26
  import { serializeSignature } from '../../utils/signature/serializeSignature.js'
41
27
  import { type CallErrorType, type CallParameters, call } from './call.js'
42
- import { getCode } from './getCode.js'
43
- import { readContract } from './readContract.js'
44
28
 
45
29
  export type VerifyHashParameters = Pick<
46
30
  CallParameters,
@@ -48,13 +32,10 @@ export type VerifyHashParameters = Pick<
48
32
  > & {
49
33
  /** The address that signed the original message. */
50
34
  address: Address
51
- /** The address of the ERC-6492 signature verifier contract. */
52
- erc6492VerifierAddress?: Address | undefined
53
35
  /** The hash to be verified. */
54
36
  hash: Hex
55
37
  /** The signature that was generated by signing the message with the address's private key. */
56
38
  signature: Hex | ByteArray | Signature
57
- /** @deprecated use `erc6492VerifierAddress` instead. */
58
39
  universalSignatureVerifierAddress?: Address | undefined
59
40
  } & OneOf<{ factory: Address; factoryData: Hex } | {}>
60
41
 
@@ -81,31 +62,62 @@ export async function verifyHash<chain extends Chain | undefined>(
81
62
  ): Promise<VerifyHashReturnType> {
82
63
  const {
83
64
  address,
65
+ factory,
66
+ factoryData,
84
67
  hash,
85
- erc6492VerifierAddress:
86
- verifierAddress = parameters.universalSignatureVerifierAddress ??
87
- client.chain?.contracts?.erc6492Verifier?.address,
68
+ signature,
69
+ universalSignatureVerifierAddress = client.chain?.contracts
70
+ ?.universalSignatureVerifier?.address,
71
+ ...rest
88
72
  } = parameters
89
73
 
90
- const signature = (() => {
91
- const signature = parameters.signature
74
+ const signatureHex = (() => {
92
75
  if (isHex(signature)) return signature
93
76
  if (typeof signature === 'object' && 'r' in signature && 's' in signature)
94
77
  return serializeSignature(signature)
95
78
  return bytesToHex(signature)
96
79
  })()
97
80
 
98
- try {
99
- if (SignatureErc8010.validate(signature))
100
- return await verifyErc8010(client, {
101
- ...parameters,
102
- signature,
103
- })
104
- return await verifyErc6492(client, {
105
- ...parameters,
106
- verifierAddress,
107
- signature,
81
+ const wrappedSignature = await (async () => {
82
+ // If no `factory` or `factoryData` is provided, it is assumed that the
83
+ // address is not a Smart Account, or the Smart Account is already deployed.
84
+ if (!factory && !factoryData) return signatureHex
85
+
86
+ // If the signature is already wrapped, return the signature.
87
+ if (isErc6492Signature(signatureHex)) return signatureHex
88
+
89
+ // If the Smart Account is not deployed, wrap the signature with a 6492 wrapper
90
+ // to perform counterfactual validation.
91
+ return serializeErc6492Signature({
92
+ address: factory!,
93
+ data: factoryData!,
94
+ signature: signatureHex,
108
95
  })
96
+ })()
97
+
98
+ try {
99
+ const args = universalSignatureVerifierAddress
100
+ ? ({
101
+ to: universalSignatureVerifierAddress,
102
+ data: encodeFunctionData({
103
+ abi: universalSignatureValidatorAbi,
104
+ functionName: 'isValidSig',
105
+ args: [address, hash, wrappedSignature],
106
+ }),
107
+ ...rest,
108
+ } as unknown as CallParameters)
109
+ : ({
110
+ data: encodeDeployData({
111
+ abi: universalSignatureValidatorAbi,
112
+ args: [address, hash, wrappedSignature],
113
+ bytecode: universalSignatureValidatorByteCode,
114
+ }),
115
+ ...rest,
116
+ } as unknown as CallParameters)
117
+
118
+ const { data } = await getAction(client, call, 'call')(args)
119
+
120
+ return hexToBool(data ?? '0x0')
109
121
  } catch (error) {
110
122
  // Fallback attempt to verify the signature via ECDSA recovery.
111
123
  try {
@@ -116,7 +128,7 @@ export async function verifyHash<chain extends Chain | undefined>(
116
128
  if (verified) return true
117
129
  } catch {}
118
130
 
119
- if (error instanceof VerificationError) {
131
+ if (error instanceof CallExecutionError) {
120
132
  // if the execution fails, the signature was not valid and an internal method inside of the validator reverted
121
133
  // this can happen for many reasons, for example if signer can not be recovered from the signature
122
134
  // or if the signature has no valid format
@@ -126,214 +138,3 @@ export async function verifyHash<chain extends Chain | undefined>(
126
138
  throw error
127
139
  }
128
140
  }
129
-
130
- /** @internal */
131
- export async function verifyErc8010(
132
- client: Client,
133
- parameters: verifyErc8010.Parameters,
134
- ) {
135
- const { address, blockNumber, blockTag, hash } = parameters
136
-
137
- const {
138
- authorization,
139
- data: initData,
140
- signature,
141
- } = SignatureErc8010.unwrap(parameters.signature)
142
-
143
- // Check if already delegated
144
- const code = await getCode(client, {
145
- address,
146
- blockNumber,
147
- blockTag,
148
- } as never)
149
-
150
- // If already delegated, perform standard ERC-1271 verification.
151
- if (code === concatHex(['0xef0100', authorization.address]))
152
- return await verifyErc1271(client, {
153
- address,
154
- blockNumber,
155
- blockTag,
156
- hash,
157
- signature,
158
- })
159
-
160
- // Deployless verification.
161
- const results = await getAction(
162
- client,
163
- readContract,
164
- 'readContract',
165
- )({
166
- authorizationList: [
167
- {
168
- address: authorization.address,
169
- chainId: Number(authorization.chainId),
170
- nonce: Number(authorization.nonce),
171
- r: numberToHex(authorization.r, { size: 32 }),
172
- s: numberToHex(authorization.s, { size: 32 }),
173
- yParity: authorization.yParity,
174
- },
175
- ],
176
- abi: multicall3Abi,
177
- blockNumber,
178
- blockTag: 'pending',
179
- code: multicall3Bytecode,
180
- functionName: 'aggregate3',
181
- args: [
182
- [
183
- ...(initData
184
- ? [
185
- {
186
- allowFailure: false,
187
- target: address,
188
- callData: initData,
189
- },
190
- ]
191
- : []),
192
- {
193
- allowFailure: false,
194
- target: address,
195
- callData: encodeFunctionData({
196
- abi: erc1271Abi,
197
- functionName: 'isValidSignature',
198
- args: [hash, signature],
199
- }),
200
- },
201
- ],
202
- ],
203
- })
204
-
205
- const data = results[results.length - 1]?.returnData
206
-
207
- if (data?.startsWith('0x1626ba7e')) return true
208
- throw new VerificationError()
209
- }
210
-
211
- export namespace verifyErc8010 {
212
- export type Parameters = Pick<CallParameters, 'blockNumber' | 'blockTag'> & {
213
- /** The address that signed the original message. */
214
- address: Address
215
- /** The hash to be verified. */
216
- hash: Hex
217
- /** The signature that was generated by signing the message with the address's private key. */
218
- signature: Hex
219
- }
220
- }
221
-
222
- /** @internal */
223
- // biome-ignore lint/correctness/noUnusedVariables: _
224
- async function verifyErc6492(
225
- client: Client,
226
- parameters: verifyErc6492.Parameters,
227
- ) {
228
- const {
229
- address,
230
- factory,
231
- factoryData,
232
- hash,
233
- signature,
234
- verifierAddress,
235
- ...rest
236
- } = parameters
237
-
238
- const wrappedSignature = await (async () => {
239
- // If no `factory` or `factoryData` is provided, it is assumed that the
240
- // address is not a Smart Account, or the Smart Account is already deployed.
241
- if (!factory && !factoryData) return signature
242
-
243
- // If the signature is already wrapped, return the signature.
244
- if (SignatureErc6492.validate(signature)) return signature
245
-
246
- // If the Smart Account is not deployed, wrap the signature with a 6492 wrapper
247
- // to perform counterfactual validation.
248
- return SignatureErc6492.wrap({
249
- data: factoryData!,
250
- signature,
251
- to: factory!,
252
- })
253
- })()
254
-
255
- const args = verifierAddress
256
- ? ({
257
- to: verifierAddress,
258
- data: encodeFunctionData({
259
- abi: erc6492SignatureValidatorAbi,
260
- functionName: 'isValidSig',
261
- args: [address, hash, wrappedSignature],
262
- }),
263
- ...rest,
264
- } as unknown as CallParameters)
265
- : ({
266
- data: encodeDeployData({
267
- abi: erc6492SignatureValidatorAbi,
268
- args: [address, hash, wrappedSignature],
269
- bytecode: erc6492SignatureValidatorByteCode,
270
- }),
271
- ...rest,
272
- } as unknown as CallParameters)
273
-
274
- const { data } = await getAction(
275
- client,
276
- call,
277
- 'call',
278
- )(args).catch((error) => {
279
- if (error instanceof CallExecutionError) throw new VerificationError()
280
- throw error
281
- })
282
-
283
- if (hexToBool(data ?? '0x0')) return true
284
- throw new VerificationError()
285
- }
286
-
287
- export namespace verifyErc6492 {
288
- export type Parameters = Pick<CallParameters, 'blockNumber' | 'blockTag'> & {
289
- /** The address that signed the original message. */
290
- address: Address
291
- /** The hash to be verified. */
292
- hash: Hex
293
- /** The signature that was generated by signing the message with the address's private key. */
294
- signature: Hex
295
- /** The address of the ERC-6492 signature verifier contract. */
296
- verifierAddress?: Address | undefined
297
- } & OneOf<{ factory: Address; factoryData: Hex } | {}>
298
- }
299
-
300
- /** @internal */
301
- export async function verifyErc1271(
302
- client: Client,
303
- parameters: verifyErc1271.Parameters,
304
- ) {
305
- const { address, blockNumber, blockTag, hash, signature } = parameters
306
-
307
- const result = await getAction(
308
- client,
309
- readContract,
310
- 'readContract',
311
- )({
312
- address,
313
- abi: erc1271Abi,
314
- args: [hash, signature],
315
- blockNumber,
316
- blockTag,
317
- functionName: 'isValidSignature',
318
- }).catch((error) => {
319
- if (error instanceof ContractFunctionExecutionError)
320
- throw new VerificationError()
321
- throw error
322
- })
323
-
324
- if (result.startsWith('0x1626ba7e')) return true
325
- throw new VerificationError()
326
- }
327
-
328
- export namespace verifyErc1271 {
329
- export type Parameters = Pick<CallParameters, 'blockNumber' | 'blockTag'> & {
330
- /** The address that signed the original message. */
331
- address: Address
332
- /** The hash to be verified. */
333
- hash: Hex
334
- /** The signature that was generated by signing the message with the address's private key. */
335
- signature: Hex
336
- }
337
- }
338
-
339
- class VerificationError extends Error {}
@@ -31,7 +31,7 @@ export const abstract = /*#__PURE__*/ defineChain({
31
31
  address: '0xAa4De41dba0Ca5dCBb288b7cC6b708F3aaC759E7',
32
32
  blockCreated: 5288,
33
33
  },
34
- erc6492Verifier: {
34
+ universalSignatureVerifier: {
35
35
  address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
36
36
  blockCreated: 5263,
37
37
  },
@@ -29,7 +29,7 @@ export const abstractTestnet = /*#__PURE__*/ defineChain({
29
29
  address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
30
30
  blockCreated: 358349,
31
31
  },
32
- erc6492Verifier: {
32
+ universalSignatureVerifier: {
33
33
  address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
34
34
  blockCreated: 431682,
35
35
  },
@@ -33,7 +33,7 @@ export const zksync = /*#__PURE__*/ defineChain({
33
33
  multicall3: {
34
34
  address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
35
35
  },
36
- erc6492Verifier: {
36
+ universalSignatureVerifier: {
37
37
  address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
38
38
  blockCreated: 45659388,
39
39
  },
@@ -29,7 +29,7 @@ export const zksyncSepoliaTestnet = /*#__PURE__*/ defineChain({
29
29
  multicall3: {
30
30
  address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
31
31
  },
32
- erc6492Verifier: {
32
+ universalSignatureVerifier: {
33
33
  address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
34
34
  blockCreated: 3855712,
35
35
  },
package/constants/abis.ts CHANGED
@@ -274,7 +274,7 @@ export const addressResolverAbi = [
274
274
  // ERC-1271
275
275
  // isValidSignature(bytes32 hash, bytes signature) → bytes4 magicValue
276
276
  /** @internal */
277
- export const erc1271Abi = [
277
+ export const smartAccountAbi = [
278
278
  {
279
279
  name: 'isValidSignature',
280
280
  type: 'function',
@@ -290,7 +290,7 @@ export const erc1271Abi = [
290
290
  // ERC-6492 - universal deployless signature validator contract
291
291
  // constructor(address _signer, bytes32 _hash, bytes _signature) → bytes4 returnValue
292
292
  // returnValue is either 0x1 (valid) or 0x0 (invalid)
293
- export const erc6492SignatureValidatorAbi = [
293
+ export const universalSignatureValidatorAbi = [
294
294
  {
295
295
  inputs: [
296
296
  {
@@ -4,7 +4,7 @@ export const deploylessCallViaBytecodeBytecode =
4
4
  export const deploylessCallViaFactoryBytecode =
5
5
  '0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe'
6
6
 
7
- export const erc6492SignatureValidatorByteCode =
7
+ export const universalSignatureValidatorByteCode =
8
8
  '0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572'
9
9
 
10
10
  export const multicall3Bytecode =
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.36.0-jxom-erc8010-20250826223301'
1
+ export const version = '2.36.0'
package/index.ts CHANGED
@@ -612,19 +612,15 @@ export {
612
612
  erc721Abi,
613
613
  erc1155Abi,
614
614
  erc4626Abi,
615
- erc6492SignatureValidatorAbi,
616
- /** @deprecated use `erc6492SignatureValidatorAbi` instead. */
617
- erc6492SignatureValidatorAbi as universalSignatureValidatorAbi,
618
615
  multicall3Abi,
616
+ universalSignatureValidatorAbi,
619
617
  } from './constants/abis.js'
620
618
  export { ethAddress, zeroAddress } from './constants/address.js'
621
619
  export { zeroHash } from './constants/bytes.js'
622
620
  export {
623
621
  deploylessCallViaBytecodeBytecode,
624
622
  deploylessCallViaFactoryBytecode,
625
- erc6492SignatureValidatorByteCode,
626
- /** @deprecated use `erc6492SignatureValidatorByteCode` instead. */
627
- erc6492SignatureValidatorByteCode as universalSignatureValidatorByteCode,
623
+ universalSignatureValidatorByteCode,
628
624
  } from './constants/contracts.js'
629
625
  export {
630
626
  maxInt8,
@@ -1693,12 +1689,6 @@ export {
1693
1689
  type IsErc6492SignatureReturnType,
1694
1690
  isErc6492Signature,
1695
1691
  } from './utils/signature/isErc6492Signature.js'
1696
- export {
1697
- type IsErc8010SignatureErrorType,
1698
- type IsErc8010SignatureParameters,
1699
- type IsErc8010SignatureReturnType,
1700
- isErc8010Signature,
1701
- } from './utils/signature/isErc8010Signature.js'
1702
1692
  export {
1703
1693
  /** @deprecated Use `ParseCompactSignatureErrorType`. */
1704
1694
  type ParseCompactSignatureErrorType as HexToCompactSignatureErrorType,
@@ -1713,12 +1703,6 @@ export {
1713
1703
  type ParseErc6492SignatureReturnType,
1714
1704
  parseErc6492Signature,
1715
1705
  } from './utils/signature/parseErc6492Signature.js'
1716
- export {
1717
- type ParseErc8010SignatureErrorType,
1718
- type ParseErc8010SignatureParameters,
1719
- type ParseErc8010SignatureReturnType,
1720
- parseErc8010Signature,
1721
- } from './utils/signature/parseErc8010Signature.js'
1722
1706
  export {
1723
1707
  /** @deprecated Use `ParseSignatureErrorType`. */
1724
1708
  type ParseSignatureErrorType as HexToSignatureErrorType,
@@ -1771,12 +1755,6 @@ export {
1771
1755
  type SerializeErc6492SignatureReturnType,
1772
1756
  serializeErc6492Signature,
1773
1757
  } from './utils/signature/serializeErc6492Signature.js'
1774
- export {
1775
- type SerializeErc8010SignatureErrorType,
1776
- type SerializeErc8010SignatureParameters,
1777
- type SerializeErc8010SignatureReturnType,
1778
- serializeErc8010Signature,
1779
- } from './utils/signature/serializeErc8010Signature.js'
1780
1758
  export {
1781
1759
  /** @deprecated Use `SignatureToHexErrorType` instead. */
1782
1760
  type SerializeSignatureErrorType as SignatureToHexErrorType,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.36.0-jxom-erc8010-20250826223301",
4
+ "version": "2.36.0",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/types/chain.ts CHANGED
@@ -42,7 +42,7 @@ export type Chain<
42
42
  ensRegistry?: ChainContract | undefined
43
43
  ensUniversalResolver?: ChainContract | undefined
44
44
  multicall3?: ChainContract | undefined
45
- erc6492Verifier?: ChainContract | undefined
45
+ universalSignatureVerifier?: ChainContract | undefined
46
46
  }
47
47
  >
48
48
  | undefined
package/utils/index.ts CHANGED
@@ -441,24 +441,12 @@ export {
441
441
  type IsErc6492SignatureReturnType,
442
442
  isErc6492Signature,
443
443
  } from './signature/isErc6492Signature.js'
444
- export {
445
- type IsErc8010SignatureErrorType,
446
- type IsErc8010SignatureParameters,
447
- type IsErc8010SignatureReturnType,
448
- isErc8010Signature,
449
- } from './signature/isErc8010Signature.js'
450
444
  export {
451
445
  type ParseErc6492SignatureErrorType,
452
446
  type ParseErc6492SignatureParameters,
453
447
  type ParseErc6492SignatureReturnType,
454
448
  parseErc6492Signature,
455
449
  } from './signature/parseErc6492Signature.js'
456
- export {
457
- type ParseErc8010SignatureErrorType,
458
- type ParseErc8010SignatureParameters,
459
- type ParseErc8010SignatureReturnType,
460
- parseErc8010Signature,
461
- } from './signature/parseErc8010Signature.js'
462
450
  export {
463
451
  type RecoverAddressErrorType,
464
452
  type RecoverAddressParameters,
@@ -489,12 +477,6 @@ export {
489
477
  type SerializeErc6492SignatureReturnType,
490
478
  serializeErc6492Signature,
491
479
  } from './signature/serializeErc6492Signature.js'
492
- export {
493
- type SerializeErc8010SignatureErrorType,
494
- type SerializeErc8010SignatureParameters,
495
- type SerializeErc8010SignatureReturnType,
496
- serializeErc8010Signature,
497
- } from './signature/serializeErc8010Signature.js'
498
480
  export {
499
481
  type VerifyHashErrorType,
500
482
  type VerifyHashParameters,
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isErc8010Signature = isErc8010Signature;
4
- const SignatureErc8010 = require("ox/erc8010/SignatureErc8010");
5
- function isErc8010Signature(signature) {
6
- return SignatureErc8010.validate(signature);
7
- }
8
- //# sourceMappingURL=isErc8010Signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/isErc8010Signature.ts"],"names":[],"mappings":";;AASA,gDAIC;AAbD,gEAA+D;AAS/D,SAAgB,kBAAkB,CAChC,SAAuC;IAEvC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC7C,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseErc8010Signature = parseErc8010Signature;
4
- const SignatureErc8010 = require("ox/erc8010/SignatureErc8010");
5
- const toHex_js_1 = require("../encoding/toHex.js");
6
- const isErc8010Signature_js_1 = require("./isErc8010Signature.js");
7
- function parseErc8010Signature(signature) {
8
- if (!(0, isErc8010Signature_js_1.isErc8010Signature)(signature))
9
- return { signature };
10
- const { authorization: authorization_ox, data, signature: inner, } = SignatureErc8010.unwrap(signature);
11
- return {
12
- authorization: {
13
- address: authorization_ox.address,
14
- chainId: authorization_ox.chainId,
15
- nonce: Number(authorization_ox.nonce),
16
- r: (0, toHex_js_1.numberToHex)(authorization_ox.r, { size: 32 }),
17
- s: (0, toHex_js_1.numberToHex)(authorization_ox.s, { size: 32 }),
18
- yParity: authorization_ox.yParity,
19
- },
20
- data,
21
- signature: inner,
22
- };
23
- }
24
- //# sourceMappingURL=parseErc8010Signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/parseErc8010Signature.ts"],"names":[],"mappings":";;AAyCA,sDAsBC;AA/DD,gEAA+D;AAK/D,mDAAkD;AAClD,mEAGgC;AAgChC,SAAgB,qBAAqB,CACnC,SAA0C;IAE1C,IAAI,CAAC,IAAA,0CAAkB,EAAC,SAAS,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAExD,MAAM,EACJ,aAAa,EAAE,gBAAgB,EAC/B,IAAI,EACJ,SAAS,EAAE,KAAK,GACjB,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO;QACL,aAAa,EAAE;YACb,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACrC,CAAC,EAAE,IAAA,sBAAW,EAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAChD,CAAC,EAAE,IAAA,sBAAW,EAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAChD,OAAO,EAAE,gBAAgB,CAAC,OAAO;SAClC;QACD,IAAI;QACJ,SAAS,EAAE,KAAK;KACjB,CAAA;AACH,CAAC"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeErc8010Signature = serializeErc8010Signature;
4
- const SignatureErc8010 = require("ox/erc8010/SignatureErc8010");
5
- const toBytes_js_1 = require("../encoding/toBytes.js");
6
- function serializeErc8010Signature(parameters) {
7
- const { to = 'hex' } = parameters;
8
- const signature_ = SignatureErc8010.wrap({
9
- ...parameters,
10
- authorization: {
11
- address: parameters.authorization.address,
12
- chainId: parameters.authorization.chainId,
13
- nonce: BigInt(parameters.authorization.nonce),
14
- r: BigInt(parameters.authorization.r),
15
- s: BigInt(parameters.authorization.s),
16
- yParity: parameters.authorization.yParity,
17
- },
18
- });
19
- if (to === 'hex')
20
- return signature_;
21
- return (0, toBytes_js_1.hexToBytes)(signature_);
22
- }
23
- //# sourceMappingURL=serializeErc8010Signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializeErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/serializeErc8010Signature.ts"],"names":[],"mappings":";;AA8BA,8DAiBC;AA/CD,gEAA+D;AAI/D,uDAAmD;AA0BnD,SAAgB,yBAAyB,CACvC,UAAmD;IAEnD,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAA;IACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;QACvC,GAAG,UAAU;QACb,aAAa,EAAE;YACb,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;YACzC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;YACzC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;YAC7C,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACrC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACrC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAQ;SAC3C;KACF,CAAC,CAAA;IACF,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,UAAqD,CAAA;IAC9E,OAAO,IAAA,uBAAU,EAAC,UAAU,CAA4C,CAAA;AAC1E,CAAC"}
@@ -1,6 +0,0 @@
1
- import * as SignatureErc8010 from 'ox/erc8010/SignatureErc8010';
2
- /** Whether or not the signature is an ERC-8010 formatted signature. */
3
- export function isErc8010Signature(signature) {
4
- return SignatureErc8010.validate(signature);
5
- }
6
- //# sourceMappingURL=isErc8010Signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/isErc8010Signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAQ/D,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAChC,SAAuC;IAEvC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC7C,CAAC"}