viem 2.21.24 → 2.21.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (441) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js +3 -3
  3. package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -1
  4. package/_cjs/actions/public/verifyHash.js +23 -11
  5. package/_cjs/actions/public/verifyHash.js.map +1 -1
  6. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  7. package/_cjs/chains/definitions/abstractTestnet.js +4 -0
  8. package/_cjs/chains/definitions/abstractTestnet.js.map +1 -1
  9. package/_cjs/chains/definitions/zksync.js +4 -0
  10. package/_cjs/chains/definitions/zksync.js.map +1 -1
  11. package/_cjs/chains/definitions/zksyncSepoliaTestnet.js +4 -0
  12. package/_cjs/chains/definitions/zksyncSepoliaTestnet.js.map +1 -1
  13. package/_cjs/clients/decorators/wallet.js.map +1 -1
  14. package/_cjs/constants/abis.js +24 -0
  15. package/_cjs/constants/abis.js.map +1 -1
  16. package/_cjs/errors/version.js +1 -1
  17. package/_cjs/utils/rpc/http.js +2 -3
  18. package/_cjs/utils/rpc/http.js.map +1 -1
  19. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  20. package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js +4 -4
  21. package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -1
  22. package/_esm/actions/public/verifyHash.js +23 -11
  23. package/_esm/actions/public/verifyHash.js.map +1 -1
  24. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  25. package/_esm/chains/definitions/abstractTestnet.js +4 -0
  26. package/_esm/chains/definitions/abstractTestnet.js.map +1 -1
  27. package/_esm/chains/definitions/zksync.js +4 -0
  28. package/_esm/chains/definitions/zksync.js.map +1 -1
  29. package/_esm/chains/definitions/zksyncSepoliaTestnet.js +4 -0
  30. package/_esm/chains/definitions/zksyncSepoliaTestnet.js.map +1 -1
  31. package/_esm/clients/decorators/wallet.js.map +1 -1
  32. package/_esm/constants/abis.js +24 -0
  33. package/_esm/constants/abis.js.map +1 -1
  34. package/_esm/errors/version.js +1 -1
  35. package/_esm/utils/rpc/http.js +2 -3
  36. package/_esm/utils/rpc/http.js.map +1 -1
  37. package/_esm/utils/transaction/getTransactionType.js.map +1 -1
  38. package/_types/actions/public/verifyHash.d.ts +3 -2
  39. package/_types/actions/public/verifyHash.d.ts.map +1 -1
  40. package/_types/actions/wallet/signTransaction.d.ts +4 -4
  41. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  42. package/_types/celo/chainConfig.d.ts +12 -12
  43. package/_types/celo/formatters.d.ts +6 -6
  44. package/_types/chains/definitions/abstractTestnet.d.ts +10 -6
  45. package/_types/chains/definitions/abstractTestnet.d.ts.map +1 -1
  46. package/_types/chains/definitions/acala.d.ts +1 -0
  47. package/_types/chains/definitions/acala.d.ts.map +1 -1
  48. package/_types/chains/definitions/alienX.d.ts +1 -0
  49. package/_types/chains/definitions/alienX.d.ts.map +1 -1
  50. package/_types/chains/definitions/alienXHalTestnet.d.ts +1 -0
  51. package/_types/chains/definitions/alienXHalTestnet.d.ts.map +1 -1
  52. package/_types/chains/definitions/anvil.d.ts +1 -0
  53. package/_types/chains/definitions/anvil.d.ts.map +1 -1
  54. package/_types/chains/definitions/areonNetworkTestnet.d.ts +1 -0
  55. package/_types/chains/definitions/areonNetworkTestnet.d.ts.map +1 -1
  56. package/_types/chains/definitions/auroraTestnet.d.ts +1 -0
  57. package/_types/chains/definitions/auroraTestnet.d.ts.map +1 -1
  58. package/_types/chains/definitions/auroria.d.ts +1 -0
  59. package/_types/chains/definitions/auroria.d.ts.map +1 -1
  60. package/_types/chains/definitions/b3.d.ts +1 -0
  61. package/_types/chains/definitions/b3.d.ts.map +1 -1
  62. package/_types/chains/definitions/b3Sepolia.d.ts +1 -0
  63. package/_types/chains/definitions/b3Sepolia.d.ts.map +1 -1
  64. package/_types/chains/definitions/bahamut.d.ts +1 -0
  65. package/_types/chains/definitions/bahamut.d.ts.map +1 -1
  66. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -0
  67. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts.map +1 -1
  68. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -0
  69. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts.map +1 -1
  70. package/_types/chains/definitions/berachainTestnet.d.ts +1 -0
  71. package/_types/chains/definitions/berachainTestnet.d.ts.map +1 -1
  72. package/_types/chains/definitions/bevmMainnet.d.ts +1 -0
  73. package/_types/chains/definitions/bevmMainnet.d.ts.map +1 -1
  74. package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -0
  75. package/_types/chains/definitions/bitTorrentTestnet.d.ts.map +1 -1
  76. package/_types/chains/definitions/bitkub.d.ts +1 -0
  77. package/_types/chains/definitions/bitkub.d.ts.map +1 -1
  78. package/_types/chains/definitions/bitkubTestnet.d.ts +1 -0
  79. package/_types/chains/definitions/bitkubTestnet.d.ts.map +1 -1
  80. package/_types/chains/definitions/bitlayer.d.ts +1 -0
  81. package/_types/chains/definitions/bitlayer.d.ts.map +1 -1
  82. package/_types/chains/definitions/bitlayerTestnet.d.ts +1 -0
  83. package/_types/chains/definitions/bitlayerTestnet.d.ts.map +1 -1
  84. package/_types/chains/definitions/bobaSepolia.d.ts +1 -0
  85. package/_types/chains/definitions/bobaSepolia.d.ts.map +1 -1
  86. package/_types/chains/definitions/botanixTestnet.d.ts +1 -0
  87. package/_types/chains/definitions/botanixTestnet.d.ts.map +1 -1
  88. package/_types/chains/definitions/bounceBit.d.ts +1 -0
  89. package/_types/chains/definitions/bounceBit.d.ts.map +1 -1
  90. package/_types/chains/definitions/bounceBitTestnet.d.ts +1 -0
  91. package/_types/chains/definitions/bounceBitTestnet.d.ts.map +1 -1
  92. package/_types/chains/definitions/bronos.d.ts +1 -0
  93. package/_types/chains/definitions/bronos.d.ts.map +1 -1
  94. package/_types/chains/definitions/bronosTestnet.d.ts +1 -0
  95. package/_types/chains/definitions/bronosTestnet.d.ts.map +1 -1
  96. package/_types/chains/definitions/bscGreenfield.d.ts +1 -0
  97. package/_types/chains/definitions/bscGreenfield.d.ts.map +1 -1
  98. package/_types/chains/definitions/bsquared.d.ts +1 -0
  99. package/_types/chains/definitions/bsquared.d.ts.map +1 -1
  100. package/_types/chains/definitions/bsquaredTestnet.d.ts +1 -0
  101. package/_types/chains/definitions/bsquaredTestnet.d.ts.map +1 -1
  102. package/_types/chains/definitions/btr.d.ts +1 -0
  103. package/_types/chains/definitions/btr.d.ts.map +1 -1
  104. package/_types/chains/definitions/btrTestnet.d.ts +1 -0
  105. package/_types/chains/definitions/btrTestnet.d.ts.map +1 -1
  106. package/_types/chains/definitions/bxn.d.ts +1 -0
  107. package/_types/chains/definitions/bxn.d.ts.map +1 -1
  108. package/_types/chains/definitions/bxnTestnet.d.ts +1 -0
  109. package/_types/chains/definitions/bxnTestnet.d.ts.map +1 -1
  110. package/_types/chains/definitions/cannon.d.ts +1 -0
  111. package/_types/chains/definitions/cannon.d.ts.map +1 -1
  112. package/_types/chains/definitions/celo.d.ts +12 -12
  113. package/_types/chains/definitions/celoAlfajores.d.ts +12 -12
  114. package/_types/chains/definitions/chiliz.d.ts +1 -0
  115. package/_types/chains/definitions/chiliz.d.ts.map +1 -1
  116. package/_types/chains/definitions/chips.d.ts +1 -0
  117. package/_types/chains/definitions/chips.d.ts.map +1 -1
  118. package/_types/chains/definitions/classic.d.ts +1 -0
  119. package/_types/chains/definitions/classic.d.ts.map +1 -1
  120. package/_types/chains/definitions/cronoszkEVM.d.ts +1 -0
  121. package/_types/chains/definitions/cronoszkEVM.d.ts.map +1 -1
  122. package/_types/chains/definitions/cronoszkEVMTestnet.d.ts +1 -0
  123. package/_types/chains/definitions/cronoszkEVMTestnet.d.ts.map +1 -1
  124. package/_types/chains/definitions/curtis.d.ts +1 -0
  125. package/_types/chains/definitions/curtis.d.ts.map +1 -1
  126. package/_types/chains/definitions/degen.d.ts +1 -0
  127. package/_types/chains/definitions/degen.d.ts.map +1 -1
  128. package/_types/chains/definitions/dodochainTestnet.d.ts +1 -0
  129. package/_types/chains/definitions/dodochainTestnet.d.ts.map +1 -1
  130. package/_types/chains/definitions/dreyerxMainnet.d.ts +1 -0
  131. package/_types/chains/definitions/dreyerxMainnet.d.ts.map +1 -1
  132. package/_types/chains/definitions/dreyerxTestnet.d.ts +1 -0
  133. package/_types/chains/definitions/dreyerxTestnet.d.ts.map +1 -1
  134. package/_types/chains/definitions/edgeless.d.ts +1 -0
  135. package/_types/chains/definitions/edgeless.d.ts.map +1 -1
  136. package/_types/chains/definitions/edgelessTestnet.d.ts +1 -0
  137. package/_types/chains/definitions/edgelessTestnet.d.ts.map +1 -1
  138. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -0
  139. package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
  140. package/_types/chains/definitions/ekta.d.ts +1 -0
  141. package/_types/chains/definitions/ekta.d.ts.map +1 -1
  142. package/_types/chains/definitions/ektaTestnet.d.ts +1 -0
  143. package/_types/chains/definitions/ektaTestnet.d.ts.map +1 -1
  144. package/_types/chains/definitions/elastos.d.ts +1 -0
  145. package/_types/chains/definitions/elastos.d.ts.map +1 -1
  146. package/_types/chains/definitions/elastosTestnet.d.ts +1 -0
  147. package/_types/chains/definitions/elastosTestnet.d.ts.map +1 -1
  148. package/_types/chains/definitions/electroneum.d.ts +1 -0
  149. package/_types/chains/definitions/electroneum.d.ts.map +1 -1
  150. package/_types/chains/definitions/electroneumTestnet.d.ts +1 -0
  151. package/_types/chains/definitions/electroneumTestnet.d.ts.map +1 -1
  152. package/_types/chains/definitions/etherlinkTestnet.d.ts +1 -0
  153. package/_types/chains/definitions/etherlinkTestnet.d.ts.map +1 -1
  154. package/_types/chains/definitions/evmos.d.ts +1 -0
  155. package/_types/chains/definitions/evmos.d.ts.map +1 -1
  156. package/_types/chains/definitions/evmosTestnet.d.ts +1 -0
  157. package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
  158. package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -0
  159. package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -1
  160. package/_types/chains/definitions/fibo.d.ts +1 -0
  161. package/_types/chains/definitions/fibo.d.ts.map +1 -1
  162. package/_types/chains/definitions/filecoinCalibration.d.ts +1 -0
  163. package/_types/chains/definitions/filecoinCalibration.d.ts.map +1 -1
  164. package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -0
  165. package/_types/chains/definitions/filecoinHyperspace.d.ts.map +1 -1
  166. package/_types/chains/definitions/flareTestnet.d.ts +1 -0
  167. package/_types/chains/definitions/flareTestnet.d.ts.map +1 -1
  168. package/_types/chains/definitions/flowMainnet.d.ts +1 -0
  169. package/_types/chains/definitions/flowMainnet.d.ts.map +1 -1
  170. package/_types/chains/definitions/fluence.d.ts +1 -0
  171. package/_types/chains/definitions/fluence.d.ts.map +1 -1
  172. package/_types/chains/definitions/fluenceStage.d.ts +1 -0
  173. package/_types/chains/definitions/fluenceStage.d.ts.map +1 -1
  174. package/_types/chains/definitions/fluenceTestnet.d.ts +1 -0
  175. package/_types/chains/definitions/fluenceTestnet.d.ts.map +1 -1
  176. package/_types/chains/definitions/foundry.d.ts +1 -0
  177. package/_types/chains/definitions/foundry.d.ts.map +1 -1
  178. package/_types/chains/definitions/fuseSparknet.d.ts +1 -0
  179. package/_types/chains/definitions/fuseSparknet.d.ts.map +1 -1
  180. package/_types/chains/definitions/goChain.d.ts +1 -0
  181. package/_types/chains/definitions/goChain.d.ts.map +1 -1
  182. package/_types/chains/definitions/guruTestnet.d.ts +1 -0
  183. package/_types/chains/definitions/guruTestnet.d.ts.map +1 -1
  184. package/_types/chains/definitions/ham.d.ts +1 -0
  185. package/_types/chains/definitions/ham.d.ts.map +1 -1
  186. package/_types/chains/definitions/haqqMainnet.d.ts +1 -0
  187. package/_types/chains/definitions/haqqMainnet.d.ts.map +1 -1
  188. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -0
  189. package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
  190. package/_types/chains/definitions/hardhat.d.ts +1 -0
  191. package/_types/chains/definitions/hardhat.d.ts.map +1 -1
  192. package/_types/chains/definitions/hashkeyChainTestnet.d.ts +1 -0
  193. package/_types/chains/definitions/hashkeyChainTestnet.d.ts.map +1 -1
  194. package/_types/chains/definitions/hedera.d.ts +1 -0
  195. package/_types/chains/definitions/hedera.d.ts.map +1 -1
  196. package/_types/chains/definitions/hederaPreviewnet.d.ts +1 -0
  197. package/_types/chains/definitions/hederaPreviewnet.d.ts.map +1 -1
  198. package/_types/chains/definitions/hederaTestnet.d.ts +1 -0
  199. package/_types/chains/definitions/hederaTestnet.d.ts.map +1 -1
  200. package/_types/chains/definitions/hemiSepolia.d.ts +1 -0
  201. package/_types/chains/definitions/hemiSepolia.d.ts.map +1 -1
  202. package/_types/chains/definitions/hychain.d.ts +1 -0
  203. package/_types/chains/definitions/hychain.d.ts.map +1 -1
  204. package/_types/chains/definitions/hychainTestnet.d.ts +1 -0
  205. package/_types/chains/definitions/hychainTestnet.d.ts.map +1 -1
  206. package/_types/chains/definitions/iota.d.ts +1 -0
  207. package/_types/chains/definitions/iota.d.ts.map +1 -1
  208. package/_types/chains/definitions/iotaTestnet.d.ts +1 -0
  209. package/_types/chains/definitions/iotaTestnet.d.ts.map +1 -1
  210. package/_types/chains/definitions/kakarotSepolia.d.ts +1 -0
  211. package/_types/chains/definitions/kakarotSepolia.d.ts.map +1 -1
  212. package/_types/chains/definitions/kakarotStarknetSepolia.d.ts +1 -0
  213. package/_types/chains/definitions/kakarotStarknetSepolia.d.ts.map +1 -1
  214. package/_types/chains/definitions/karura.d.ts +1 -0
  215. package/_types/chains/definitions/karura.d.ts.map +1 -1
  216. package/_types/chains/definitions/kinto.d.ts +1 -0
  217. package/_types/chains/definitions/kinto.d.ts.map +1 -1
  218. package/_types/chains/definitions/kroma.d.ts +1 -0
  219. package/_types/chains/definitions/kroma.d.ts.map +1 -1
  220. package/_types/chains/definitions/kromaSepolia.d.ts +1 -0
  221. package/_types/chains/definitions/kromaSepolia.d.ts.map +1 -1
  222. package/_types/chains/definitions/l3x.d.ts +1 -0
  223. package/_types/chains/definitions/l3x.d.ts.map +1 -1
  224. package/_types/chains/definitions/l3xTestnet.d.ts +1 -0
  225. package/_types/chains/definitions/l3xTestnet.d.ts.map +1 -1
  226. package/_types/chains/definitions/lightlinkPegasus.d.ts +1 -0
  227. package/_types/chains/definitions/lightlinkPegasus.d.ts.map +1 -1
  228. package/_types/chains/definitions/lightlinkPhoenix.d.ts +1 -0
  229. package/_types/chains/definitions/lightlinkPhoenix.d.ts.map +1 -1
  230. package/_types/chains/definitions/localhost.d.ts +1 -0
  231. package/_types/chains/definitions/localhost.d.ts.map +1 -1
  232. package/_types/chains/definitions/loop.d.ts +1 -0
  233. package/_types/chains/definitions/loop.d.ts.map +1 -1
  234. package/_types/chains/definitions/lycan.d.ts +1 -0
  235. package/_types/chains/definitions/lycan.d.ts.map +1 -1
  236. package/_types/chains/definitions/mandala.d.ts +1 -0
  237. package/_types/chains/definitions/mandala.d.ts.map +1 -1
  238. package/_types/chains/definitions/mapProtocol.d.ts +1 -0
  239. package/_types/chains/definitions/mapProtocol.d.ts.map +1 -1
  240. package/_types/chains/definitions/matchain.d.ts +1 -0
  241. package/_types/chains/definitions/matchain.d.ts.map +1 -1
  242. package/_types/chains/definitions/matchainTestnet.d.ts +1 -0
  243. package/_types/chains/definitions/matchainTestnet.d.ts.map +1 -1
  244. package/_types/chains/definitions/merlin.d.ts +1 -0
  245. package/_types/chains/definitions/merlin.d.ts.map +1 -1
  246. package/_types/chains/definitions/meter.d.ts +1 -0
  247. package/_types/chains/definitions/meter.d.ts.map +1 -1
  248. package/_types/chains/definitions/meterTestnet.d.ts +1 -0
  249. package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
  250. package/_types/chains/definitions/mint.d.ts +1 -0
  251. package/_types/chains/definitions/mint.d.ts.map +1 -1
  252. package/_types/chains/definitions/mintSepoliaTestnet.d.ts +1 -0
  253. package/_types/chains/definitions/mintSepoliaTestnet.d.ts.map +1 -1
  254. package/_types/chains/definitions/moonbeamDev.d.ts +1 -0
  255. package/_types/chains/definitions/moonbeamDev.d.ts.map +1 -1
  256. package/_types/chains/definitions/morphHolesky.d.ts +1 -0
  257. package/_types/chains/definitions/morphHolesky.d.ts.map +1 -1
  258. package/_types/chains/definitions/morphSepolia.d.ts +1 -0
  259. package/_types/chains/definitions/morphSepolia.d.ts.map +1 -1
  260. package/_types/chains/definitions/nautilus.d.ts +1 -0
  261. package/_types/chains/definitions/nautilus.d.ts.map +1 -1
  262. package/_types/chains/definitions/oasisTestnet.d.ts +1 -0
  263. package/_types/chains/definitions/oasisTestnet.d.ts.map +1 -1
  264. package/_types/chains/definitions/oasys.d.ts +1 -0
  265. package/_types/chains/definitions/oasys.d.ts.map +1 -1
  266. package/_types/chains/definitions/odysseyTestnet.d.ts +1 -0
  267. package/_types/chains/definitions/odysseyTestnet.d.ts.map +1 -1
  268. package/_types/chains/definitions/oortmainnetDev.d.ts +1 -0
  269. package/_types/chains/definitions/oortmainnetDev.d.ts.map +1 -1
  270. package/_types/chains/definitions/optopia.d.ts +1 -0
  271. package/_types/chains/definitions/optopia.d.ts.map +1 -1
  272. package/_types/chains/definitions/optopiaTestnet.d.ts +1 -0
  273. package/_types/chains/definitions/optopiaTestnet.d.ts.map +1 -1
  274. package/_types/chains/definitions/orderly.d.ts +1 -0
  275. package/_types/chains/definitions/orderly.d.ts.map +1 -1
  276. package/_types/chains/definitions/orderlySepolia.d.ts +1 -0
  277. package/_types/chains/definitions/orderlySepolia.d.ts.map +1 -1
  278. package/_types/chains/definitions/playfiAlbireo.d.ts +6 -6
  279. package/_types/chains/definitions/plumeTestnet.d.ts +1 -0
  280. package/_types/chains/definitions/plumeTestnet.d.ts.map +1 -1
  281. package/_types/chains/definitions/qMainnet.d.ts +1 -0
  282. package/_types/chains/definitions/qMainnet.d.ts.map +1 -1
  283. package/_types/chains/definitions/qTestnet.d.ts +1 -0
  284. package/_types/chains/definitions/qTestnet.d.ts.map +1 -1
  285. package/_types/chains/definitions/redbellyTestnet.d.ts +1 -0
  286. package/_types/chains/definitions/redbellyTestnet.d.ts.map +1 -1
  287. package/_types/chains/definitions/reyaNetwork.d.ts +1 -0
  288. package/_types/chains/definitions/reyaNetwork.d.ts.map +1 -1
  289. package/_types/chains/definitions/rootstockTestnet.d.ts +1 -0
  290. package/_types/chains/definitions/rootstockTestnet.d.ts.map +1 -1
  291. package/_types/chains/definitions/sapphireTestnet.d.ts +1 -0
  292. package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
  293. package/_types/chains/definitions/satoshivm.d.ts +1 -0
  294. package/_types/chains/definitions/satoshivm.d.ts.map +1 -1
  295. package/_types/chains/definitions/satoshivmTestnet.d.ts +1 -0
  296. package/_types/chains/definitions/satoshivmTestnet.d.ts.map +1 -1
  297. package/_types/chains/definitions/seiDevnet.d.ts +1 -0
  298. package/_types/chains/definitions/seiDevnet.d.ts.map +1 -1
  299. package/_types/chains/definitions/seiTestnet.d.ts +1 -0
  300. package/_types/chains/definitions/seiTestnet.d.ts.map +1 -1
  301. package/_types/chains/definitions/shardeumSphinx.d.ts +1 -0
  302. package/_types/chains/definitions/shardeumSphinx.d.ts.map +1 -1
  303. package/_types/chains/definitions/shimmer.d.ts +1 -0
  304. package/_types/chains/definitions/shimmer.d.ts.map +1 -1
  305. package/_types/chains/definitions/shimmerTestnet.d.ts +1 -0
  306. package/_types/chains/definitions/shimmerTestnet.d.ts.map +1 -1
  307. package/_types/chains/definitions/silicon.d.ts +1 -0
  308. package/_types/chains/definitions/silicon.d.ts.map +1 -1
  309. package/_types/chains/definitions/siliconSepolia.d.ts +1 -0
  310. package/_types/chains/definitions/siliconSepolia.d.ts.map +1 -1
  311. package/_types/chains/definitions/sketchpad.d.ts +1 -0
  312. package/_types/chains/definitions/sketchpad.d.ts.map +1 -1
  313. package/_types/chains/definitions/songbird.d.ts +1 -0
  314. package/_types/chains/definitions/songbird.d.ts.map +1 -1
  315. package/_types/chains/definitions/songbirdTestnet.d.ts +1 -0
  316. package/_types/chains/definitions/songbirdTestnet.d.ts.map +1 -1
  317. package/_types/chains/definitions/sophonTestnet.d.ts +6 -6
  318. package/_types/chains/definitions/spicy.d.ts +1 -0
  319. package/_types/chains/definitions/spicy.d.ts.map +1 -1
  320. package/_types/chains/definitions/storyTestnet.d.ts +1 -0
  321. package/_types/chains/definitions/storyTestnet.d.ts.map +1 -1
  322. package/_types/chains/definitions/stratis.d.ts +1 -0
  323. package/_types/chains/definitions/stratis.d.ts.map +1 -1
  324. package/_types/chains/definitions/superlumio.d.ts +1 -0
  325. package/_types/chains/definitions/superlumio.d.ts.map +1 -1
  326. package/_types/chains/definitions/superposition.d.ts +1 -0
  327. package/_types/chains/definitions/superposition.d.ts.map +1 -1
  328. package/_types/chains/definitions/swan.d.ts +1 -0
  329. package/_types/chains/definitions/swan.d.ts.map +1 -1
  330. package/_types/chains/definitions/swanProximaTestnet.d.ts +1 -0
  331. package/_types/chains/definitions/swanProximaTestnet.d.ts.map +1 -1
  332. package/_types/chains/definitions/swanSaturnTestnet.d.ts +1 -0
  333. package/_types/chains/definitions/swanSaturnTestnet.d.ts.map +1 -1
  334. package/_types/chains/definitions/taikoHekla.d.ts +1 -0
  335. package/_types/chains/definitions/taikoHekla.d.ts.map +1 -1
  336. package/_types/chains/definitions/taikoKatla.d.ts +1 -0
  337. package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
  338. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -0
  339. package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
  340. package/_types/chains/definitions/taraxa.d.ts +1 -0
  341. package/_types/chains/definitions/taraxa.d.ts.map +1 -1
  342. package/_types/chains/definitions/taraxaTestnet.d.ts +1 -0
  343. package/_types/chains/definitions/taraxaTestnet.d.ts.map +1 -1
  344. package/_types/chains/definitions/telcoinTestnet.d.ts +1 -0
  345. package/_types/chains/definitions/telcoinTestnet.d.ts.map +1 -1
  346. package/_types/chains/definitions/telosTestnet.d.ts +1 -0
  347. package/_types/chains/definitions/telosTestnet.d.ts.map +1 -1
  348. package/_types/chains/definitions/tenet.d.ts +1 -0
  349. package/_types/chains/definitions/tenet.d.ts.map +1 -1
  350. package/_types/chains/definitions/thunderTestnet.d.ts +1 -0
  351. package/_types/chains/definitions/thunderTestnet.d.ts.map +1 -1
  352. package/_types/chains/definitions/tron.d.ts +1 -0
  353. package/_types/chains/definitions/tron.d.ts.map +1 -1
  354. package/_types/chains/definitions/unique.d.ts +1 -0
  355. package/_types/chains/definitions/unique.d.ts.map +1 -1
  356. package/_types/chains/definitions/uniqueOpal.d.ts +1 -0
  357. package/_types/chains/definitions/uniqueOpal.d.ts.map +1 -1
  358. package/_types/chains/definitions/uniqueQuartz.d.ts +1 -0
  359. package/_types/chains/definitions/uniqueQuartz.d.ts.map +1 -1
  360. package/_types/chains/definitions/vechain.d.ts +1 -0
  361. package/_types/chains/definitions/vechain.d.ts.map +1 -1
  362. package/_types/chains/definitions/viction.d.ts +1 -0
  363. package/_types/chains/definitions/viction.d.ts.map +1 -1
  364. package/_types/chains/definitions/vision.d.ts +1 -0
  365. package/_types/chains/definitions/vision.d.ts.map +1 -1
  366. package/_types/chains/definitions/visionTestnet.d.ts +1 -0
  367. package/_types/chains/definitions/visionTestnet.d.ts.map +1 -1
  368. package/_types/chains/definitions/weavevmAlphanet.d.ts +1 -0
  369. package/_types/chains/definitions/weavevmAlphanet.d.ts.map +1 -1
  370. package/_types/chains/definitions/wemix.d.ts +1 -0
  371. package/_types/chains/definitions/wemix.d.ts.map +1 -1
  372. package/_types/chains/definitions/wemixTestnet.d.ts +1 -0
  373. package/_types/chains/definitions/wemixTestnet.d.ts.map +1 -1
  374. package/_types/chains/definitions/worldchain.d.ts +1 -0
  375. package/_types/chains/definitions/worldchain.d.ts.map +1 -1
  376. package/_types/chains/definitions/worldchainSepolia.d.ts +1 -0
  377. package/_types/chains/definitions/worldchainSepolia.d.ts.map +1 -1
  378. package/_types/chains/definitions/xaiTestnet.d.ts +1 -0
  379. package/_types/chains/definitions/xaiTestnet.d.ts.map +1 -1
  380. package/_types/chains/definitions/xrSepolia.d.ts +1 -0
  381. package/_types/chains/definitions/xrSepolia.d.ts.map +1 -1
  382. package/_types/chains/definitions/yooldoVerse.d.ts +1 -0
  383. package/_types/chains/definitions/yooldoVerse.d.ts.map +1 -1
  384. package/_types/chains/definitions/yooldoVerseTestnet.d.ts +1 -0
  385. package/_types/chains/definitions/yooldoVerseTestnet.d.ts.map +1 -1
  386. package/_types/chains/definitions/zhejiang.d.ts +1 -0
  387. package/_types/chains/definitions/zhejiang.d.ts.map +1 -1
  388. package/_types/chains/definitions/zilliqa.d.ts +1 -0
  389. package/_types/chains/definitions/zilliqa.d.ts.map +1 -1
  390. package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -0
  391. package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -1
  392. package/_types/chains/definitions/zkFairTestnet.d.ts +1 -0
  393. package/_types/chains/definitions/zkFairTestnet.d.ts.map +1 -1
  394. package/_types/chains/definitions/zkLinkNova.d.ts +1 -0
  395. package/_types/chains/definitions/zkLinkNova.d.ts.map +1 -1
  396. package/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts +1 -0
  397. package/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts.map +1 -1
  398. package/_types/chains/definitions/zksync.d.ts +10 -6
  399. package/_types/chains/definitions/zksync.d.ts.map +1 -1
  400. package/_types/chains/definitions/zksyncInMemoryNode.d.ts +7 -6
  401. package/_types/chains/definitions/zksyncInMemoryNode.d.ts.map +1 -1
  402. package/_types/chains/definitions/zksyncLocalNode.d.ts +7 -6
  403. package/_types/chains/definitions/zksyncLocalNode.d.ts.map +1 -1
  404. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts +10 -6
  405. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts.map +1 -1
  406. package/_types/clients/decorators/wallet.d.ts +2 -2
  407. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  408. package/_types/constants/abis.d.ts +17 -0
  409. package/_types/constants/abis.d.ts.map +1 -1
  410. package/_types/errors/version.d.ts +1 -1
  411. package/_types/types/chain.d.ts +1 -0
  412. package/_types/types/chain.d.ts.map +1 -1
  413. package/_types/types/transaction.d.ts +1 -1
  414. package/_types/types/transaction.d.ts.map +1 -1
  415. package/_types/utils/rpc/http.d.ts +7 -2
  416. package/_types/utils/rpc/http.d.ts.map +1 -1
  417. package/_types/utils/transaction/getTransactionType.d.ts +6 -9
  418. package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
  419. package/_types/zksync/chainConfig.d.ts +6 -6
  420. package/_types/zksync/formatters.d.ts +6 -6
  421. package/account-abstraction/actions/bundler/prepareUserOperation.ts +7 -7
  422. package/actions/public/verifyHash.ts +35 -19
  423. package/actions/wallet/signTransaction.ts +7 -4
  424. package/chains/definitions/abstractTestnet.ts +4 -0
  425. package/chains/definitions/zksync.ts +4 -0
  426. package/chains/definitions/zksyncSepoliaTestnet.ts +4 -0
  427. package/clients/decorators/wallet.ts +10 -3
  428. package/constants/abis.ts +24 -0
  429. package/errors/version.ts +1 -1
  430. package/package.json +1 -1
  431. package/types/chain.ts +1 -0
  432. package/types/transaction.ts +1 -1
  433. package/utils/rpc/http.ts +19 -4
  434. package/utils/transaction/getTransactionType.ts +11 -57
  435. package/_cjs/utils/data/isBytesEqual.js +0 -12
  436. package/_cjs/utils/data/isBytesEqual.js.map +0 -1
  437. package/_esm/utils/data/isBytesEqual.js +0 -9
  438. package/_esm/utils/data/isBytesEqual.js.map +0 -1
  439. package/_types/utils/data/isBytesEqual.d.ts +0 -7
  440. package/_types/utils/data/isBytesEqual.d.ts.map +0 -1
  441. package/utils/data/isBytesEqual.ts +0 -17
@@ -5,6 +5,7 @@ import type { Transport } from '../../clients/transports/createTransport.js'
5
5
  import { universalSignatureValidatorAbi } from '../../constants/abis.js'
6
6
  import { universalSignatureValidatorByteCode } from '../../constants/contracts.js'
7
7
  import { CallExecutionError } from '../../errors/contract.js'
8
+ import type { InvalidHexBooleanError } from '../../errors/encoding.js'
8
9
  import type { ErrorType } from '../../errors/utils.js'
9
10
  import type { Chain } from '../../types/chain.js'
10
11
  import type { ByteArray, Hex, Signature } from '../../types/misc.js'
@@ -15,13 +16,10 @@ import {
15
16
  } from '../../utils/abi/encodeDeployData.js'
16
17
  import { getAddress } from '../../utils/address/getAddress.js'
17
18
  import { isAddressEqual } from '../../utils/address/isAddressEqual.js'
18
- import {
19
- type IsBytesEqualErrorType,
20
- isBytesEqual,
21
- } from '../../utils/data/isBytesEqual.js'
22
19
  import { type IsHexErrorType, isHex } from '../../utils/data/isHex.js'
23
20
  import { type ToHexErrorType, bytesToHex } from '../../utils/encoding/toHex.js'
24
21
  import { getAction } from '../../utils/getAction.js'
22
+ import { encodeFunctionData, hexToBool } from '../../utils/index.js'
25
23
  import { isErc6492Signature } from '../../utils/signature/isErc6492Signature.js'
26
24
  import { recoverAddress } from '../../utils/signature/recoverAddress.js'
27
25
  import { serializeErc6492Signature } from '../../utils/signature/serializeErc6492Signature.js'
@@ -38,6 +36,7 @@ export type VerifyHashParameters = Pick<
38
36
  hash: Hex
39
37
  /** The signature that was generated by signing the message with the address's private key. */
40
38
  signature: Hex | ByteArray | Signature
39
+ universalSignatureVerifierAddress?: Address | undefined
41
40
  } & OneOf<{ factory: Address; factoryData: Hex } | {}>
42
41
 
43
42
  export type VerifyHashReturnType = boolean
@@ -46,7 +45,7 @@ export type VerifyHashErrorType =
46
45
  | CallErrorType
47
46
  | IsHexErrorType
48
47
  | ToHexErrorType
49
- | IsBytesEqualErrorType
48
+ | InvalidHexBooleanError
50
49
  | EncodeDeployDataErrorType
51
50
  | ErrorType
52
51
 
@@ -61,7 +60,16 @@ export async function verifyHash<chain extends Chain | undefined>(
61
60
  client: Client<Transport, chain>,
62
61
  parameters: VerifyHashParameters,
63
62
  ): Promise<VerifyHashReturnType> {
64
- const { address, factory, factoryData, hash, signature, ...rest } = parameters
63
+ const {
64
+ address,
65
+ factory,
66
+ factoryData,
67
+ hash,
68
+ signature,
69
+ universalSignatureVerifierAddress = client.chain?.contracts
70
+ ?.universalSignatureVerifier?.address,
71
+ ...rest
72
+ } = parameters
65
73
 
66
74
  const signatureHex = (() => {
67
75
  if (isHex(signature)) return signature
@@ -88,20 +96,28 @@ export async function verifyHash<chain extends Chain | undefined>(
88
96
  })()
89
97
 
90
98
  try {
91
- const { data } = await getAction(
92
- client,
93
- call,
94
- 'call',
95
- )({
96
- data: encodeDeployData({
97
- abi: universalSignatureValidatorAbi,
98
- args: [address, hash, wrappedSignature],
99
- bytecode: universalSignatureValidatorByteCode,
100
- }),
101
- ...rest,
102
- } as unknown as CallParameters)
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)
103
119
 
104
- return isBytesEqual(data ?? '0x0', '0x1')
120
+ return hexToBool(data ?? '0x0')
105
121
  } catch (error) {
106
122
  // Fallback attempt to verify the signature via ECDSA recovery.
107
123
  try {
@@ -38,9 +38,10 @@ import {
38
38
  type AssertRequestErrorType,
39
39
  assertRequest,
40
40
  } from '../../utils/transaction/assertRequest.js'
41
+ import type { GetTransactionType } from '../../utils/transaction/getTransactionType.js'
41
42
  import { type GetChainIdErrorType, getChainId } from '../public/getChainId.js'
42
43
 
43
- type SignTransactionRequest<
44
+ export type SignTransactionRequest<
44
45
  chain extends Chain | undefined = Chain | undefined,
45
46
  chainOverride extends Chain | undefined = Chain | undefined,
46
47
  ///
@@ -60,7 +61,9 @@ export type SignTransactionParameters<
60
61
  GetChainParameter<chain, chainOverride> &
61
62
  GetTransactionRequestKzgParameter<request>
62
63
 
63
- export type SignTransactionReturnType = TransactionSerialized
64
+ export type SignTransactionReturnType<
65
+ request extends SignTransactionRequest = SignTransactionRequest,
66
+ > = TransactionSerialized<GetTransactionType<request>>
64
67
 
65
68
  export type SignTransactionErrorType =
66
69
  | ParseAccountErrorType
@@ -126,7 +129,7 @@ export async function signTransaction<
126
129
  >(
127
130
  client: Client<Transport, chain, account>,
128
131
  parameters: SignTransactionParameters<chain, account, chainOverride, request>,
129
- ): Promise<SignTransactionReturnType> {
132
+ ): Promise<SignTransactionReturnType<request>> {
130
133
  const {
131
134
  account: account_ = client.account,
132
135
  chain = client.chain,
@@ -162,7 +165,7 @@ export async function signTransaction<
162
165
  chainId,
163
166
  } as TransactionSerializable,
164
167
  { serializer: client.chain?.serializers?.transaction },
165
- ) as Promise<SignTransactionReturnType>
168
+ ) as Promise<SignTransactionReturnType<request>>
166
169
 
167
170
  return await client.request(
168
171
  {
@@ -25,5 +25,9 @@ export const abstractTestnet = /*#__PURE__*/ defineChain({
25
25
  address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
26
26
  blockCreated: 358349,
27
27
  },
28
+ universalSignatureVerifier: {
29
+ address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
30
+ blockCreated: 431682,
31
+ },
28
32
  },
29
33
  })
@@ -33,5 +33,9 @@ export const zksync = /*#__PURE__*/ defineChain({
33
33
  multicall3: {
34
34
  address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
35
35
  },
36
+ universalSignatureVerifier: {
37
+ address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
38
+ blockCreated: 45659388,
39
+ },
36
40
  },
37
41
  })
@@ -29,6 +29,10 @@ export const zksyncSepoliaTestnet = /*#__PURE__*/ defineChain({
29
29
  multicall3: {
30
30
  address: '0xF9cda624FBC7e059355ce98a31693d299FACd963',
31
31
  },
32
+ universalSignatureVerifier: {
33
+ address: '0xfB688330379976DA81eB64Fe4BF50d7401763B9C',
34
+ blockCreated: 3855712,
35
+ },
32
36
  },
33
37
  testnet: true,
34
38
  })
@@ -55,6 +55,7 @@ import {
55
55
  } from '../../actions/wallet/signMessage.js'
56
56
  import {
57
57
  type SignTransactionParameters,
58
+ type SignTransactionRequest,
58
59
  type SignTransactionReturnType,
59
60
  signTransaction,
60
61
  } from '../../actions/wallet/signTransaction.js'
@@ -469,9 +470,15 @@ export type WalletActions<
469
470
  * })
470
471
  * const signature = await client.signTransaction(request)
471
472
  */
472
- signTransaction: <chainOverride extends Chain | undefined>(
473
- args: SignTransactionParameters<chain, account, chainOverride>,
474
- ) => Promise<SignTransactionReturnType>
473
+ signTransaction: <
474
+ chainOverride extends Chain | undefined,
475
+ const request extends SignTransactionRequest<
476
+ chain,
477
+ chainOverride
478
+ > = SignTransactionRequest<chain, chainOverride>,
479
+ >(
480
+ args: SignTransactionParameters<chain, account, chainOverride, request>,
481
+ ) => Promise<SignTransactionReturnType<request>>
475
482
  /**
476
483
  * Signs typed data and calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`.
477
484
  *
package/constants/abis.ts CHANGED
@@ -224,6 +224,30 @@ export const universalSignatureValidatorAbi = [
224
224
  stateMutability: 'nonpayable',
225
225
  type: 'constructor',
226
226
  },
227
+ {
228
+ inputs: [
229
+ {
230
+ name: '_signer',
231
+ type: 'address',
232
+ },
233
+ {
234
+ name: '_hash',
235
+ type: 'bytes32',
236
+ },
237
+ {
238
+ name: '_signature',
239
+ type: 'bytes',
240
+ },
241
+ ],
242
+ outputs: [
243
+ {
244
+ type: 'bool',
245
+ },
246
+ ],
247
+ stateMutability: 'nonpayable',
248
+ type: 'function',
249
+ name: 'isValidSig',
250
+ },
227
251
  ] as const
228
252
 
229
253
  /** [ERC-20 Token Standard](https://ethereum.org/en/developers/docs/standards/tokens/erc-20) */
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.21.24'
1
+ export const version = '2.21.25'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.21.24",
4
+ "version": "2.21.25",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
package/types/chain.ts CHANGED
@@ -40,6 +40,7 @@ export type Chain<
40
40
  ensRegistry?: ChainContract | undefined
41
41
  ensUniversalResolver?: ChainContract | undefined
42
42
  multicall3?: ChainContract | undefined
43
+ universalSignatureVerifier?: ChainContract | undefined
43
44
  }
44
45
  >
45
46
  | undefined
@@ -216,7 +216,7 @@ export type TransactionRequestBase<
216
216
  /** Contract code or a hashed method call with encoded args */
217
217
  data?: Hex | undefined
218
218
  /** Transaction sender */
219
- from: Address
219
+ from?: Address | undefined
220
220
  /** Gas provided for transaction execution */
221
221
  gas?: quantity | undefined
222
222
  /** Unique number identifying this transaction */
package/utils/rpc/http.ts CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  } from '../../errors/request.js'
7
7
  import type { ErrorType } from '../../errors/utils.js'
8
8
  import type { RpcRequest, RpcResponse } from '../../types/rpc.js'
9
+ import type { MaybePromise } from '../../types/utils.js'
9
10
  import {
10
11
  type WithTimeoutErrorType,
11
12
  withTimeout,
@@ -17,7 +18,14 @@ export type HttpRpcClientOptions = {
17
18
  /** Request configuration to pass to `fetch`. */
18
19
  fetchOptions?: Omit<RequestInit, 'body'> | undefined
19
20
  /** A callback to handle the request. */
20
- onRequest?: ((request: Request) => Promise<void> | void) | undefined
21
+ onRequest?:
22
+ | ((
23
+ request: Request,
24
+ init: RequestInit,
25
+ ) => MaybePromise<
26
+ void | undefined | (RequestInit & { url?: string | undefined })
27
+ >)
28
+ | undefined
21
29
  /** A callback to handle the response. */
22
30
  onResponse?: ((response: Response) => Promise<void> | void) | undefined
23
31
  /** The timeout (in ms) for the request. */
@@ -32,7 +40,14 @@ export type HttpRequestParameters<
32
40
  /** Request configuration to pass to `fetch`. */
33
41
  fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined
34
42
  /** A callback to handle the response. */
35
- onRequest?: ((request: Request) => Promise<void> | void) | undefined
43
+ onRequest?:
44
+ | ((
45
+ request: Request,
46
+ init: RequestInit,
47
+ ) => MaybePromise<
48
+ void | undefined | (RequestInit & { url?: string | undefined })
49
+ >)
50
+ | undefined
36
51
  /** A callback to handle the response. */
37
52
  onResponse?: ((response: Response) => Promise<void> | void) | undefined
38
53
  /** The timeout (in ms) for the request. */
@@ -101,8 +116,8 @@ export function getHttpRpcClient(
101
116
  signal: signal_ || (timeout > 0 ? signal : null),
102
117
  }
103
118
  const request = new Request(url, init)
104
- if (onRequest) await onRequest(request)
105
- const response = await fetch(url, init)
119
+ const args = (await onRequest?.(request, init)) ?? { ...init, url }
120
+ const response = await fetch(args.url ?? url, args)
106
121
  return response
107
122
  },
108
123
  {
@@ -9,62 +9,24 @@ import type {
9
9
  FeeValuesLegacy,
10
10
  } from '../../index.js'
11
11
  import type {
12
- TransactionRequestEIP1559,
13
- TransactionRequestEIP2930,
14
- TransactionRequestEIP4844,
15
- TransactionRequestEIP7702,
16
12
  TransactionRequestGeneric,
17
- TransactionRequestLegacy,
18
- TransactionSerializableEIP1559,
19
13
  TransactionSerializableEIP2930,
20
14
  TransactionSerializableEIP4844,
21
15
  TransactionSerializableEIP7702,
22
16
  TransactionSerializableGeneric,
23
- TransactionSerializableLegacy,
24
17
  } from '../../types/transaction.js'
25
- import type {
26
- Assign,
27
- ExactPartial,
28
- IsNever,
29
- OneOf,
30
- ValueOf,
31
- } from '../../types/utils.js'
18
+ import type { Assign, ExactPartial, IsNever, OneOf } from '../../types/utils.js'
32
19
 
33
20
  export type GetTransactionType<
34
21
  transaction extends OneOf<
35
22
  TransactionSerializableGeneric | TransactionRequestGeneric
36
23
  > = TransactionSerializableGeneric,
37
24
  result =
38
- | (transaction extends
39
- | MatchKeys<TransactionSerializableLegacy, transaction>
40
- | MatchKeys<TransactionRequestLegacy, transaction>
41
- | LegacyProperties
42
- ? 'legacy'
43
- : never)
44
- | (transaction extends
45
- | MatchKeys<TransactionSerializableEIP1559, transaction>
46
- | MatchKeys<TransactionRequestEIP1559, transaction>
47
- | EIP1559Properties
48
- ? 'eip1559'
49
- : never)
50
- | (transaction extends
51
- | MatchKeys<TransactionSerializableEIP2930, transaction>
52
- | MatchKeys<TransactionRequestEIP2930, transaction>
53
- | EIP2930Properties
54
- ? 'eip2930'
55
- : never)
56
- | (transaction extends
57
- | MatchKeys<TransactionSerializableEIP4844, transaction>
58
- | MatchKeys<TransactionRequestEIP4844, transaction>
59
- | EIP4844Properties
60
- ? 'eip4844'
61
- : never)
62
- | (transaction extends
63
- | MatchKeys<TransactionSerializableEIP7702, transaction>
64
- | MatchKeys<TransactionRequestEIP7702, transaction>
65
- | EIP7702Properties
66
- ? 'eip7702'
67
- : never)
25
+ | (transaction extends LegacyProperties ? 'legacy' : never)
26
+ | (transaction extends EIP1559Properties ? 'eip1559' : never)
27
+ | (transaction extends EIP2930Properties ? 'eip2930' : never)
28
+ | (transaction extends EIP4844Properties ? 'eip4844' : never)
29
+ | (transaction extends EIP7702Properties ? 'eip7702' : never)
68
30
  | (transaction['type'] extends TransactionSerializableGeneric['type']
69
31
  ? Extract<transaction['type'], string>
70
32
  : never),
@@ -115,14 +77,6 @@ export function getTransactionType<
115
77
  ////////////////////////////////////////////////////////////////////////////////////////////
116
78
  // Types
117
79
 
118
- type MatchKeys<T extends object, U extends object> = ValueOf<
119
- Required<{
120
- [K in keyof U]: K extends keyof T ? K : undefined
121
- }>
122
- > extends string
123
- ? T
124
- : never
125
-
126
80
  type BaseProperties = {
127
81
  accessList?: undefined
128
82
  authorizationList?: undefined
@@ -151,13 +105,13 @@ type EIP1559Properties = Assign<
151
105
  }
152
106
  >
153
107
  type EIP2930Properties = Assign<
154
- BaseProperties,
155
- ExactPartial<FeeValuesLegacy> & {
108
+ ExactPartial<LegacyProperties>,
109
+ {
156
110
  accessList: TransactionSerializableEIP2930['accessList']
157
111
  }
158
112
  >
159
113
  type EIP4844Properties = Assign<
160
- BaseProperties,
114
+ ExactPartial<EIP1559Properties>,
161
115
  ExactPartial<FeeValuesEIP4844> &
162
116
  OneOf<
163
117
  | {
@@ -173,8 +127,8 @@ type EIP4844Properties = Assign<
173
127
  >
174
128
  >
175
129
  type EIP7702Properties = Assign<
176
- BaseProperties,
177
- ExactPartial<FeeValuesEIP1559> & {
130
+ ExactPartial<EIP1559Properties>,
131
+ {
178
132
  authorizationList: TransactionSerializableEIP7702['authorizationList']
179
133
  }
180
134
  >
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBytesEqual = isBytesEqual;
4
- const utils_1 = require("@noble/curves/abstract/utils");
5
- const toBytes_js_1 = require("../encoding/toBytes.js");
6
- const isHex_js_1 = require("./isHex.js");
7
- function isBytesEqual(a_, b_) {
8
- const a = (0, isHex_js_1.isHex)(a_) ? (0, toBytes_js_1.toBytes)(a_) : a_;
9
- const b = (0, isHex_js_1.isHex)(b_) ? (0, toBytes_js_1.toBytes)(b_) : b_;
10
- return (0, utils_1.equalBytes)(a, b);
11
- }
12
- //# sourceMappingURL=isBytesEqual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBytesEqual.js","sourceRoot":"","sources":["../../../utils/data/isBytesEqual.ts"],"names":[],"mappings":";;AAYA,oCAIC;AAhBD,wDAAyD;AAIzD,uDAAuE;AACvE,yCAAuD;AAOvD,SAAgB,YAAY,CAAC,EAAmB,EAAE,EAAmB;IACnE,MAAM,CAAC,GAAG,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,MAAM,CAAC,GAAG,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,OAAO,IAAA,kBAAU,EAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC"}
@@ -1,9 +0,0 @@
1
- import { equalBytes } from '@noble/curves/abstract/utils';
2
- import { toBytes } from '../encoding/toBytes.js';
3
- import { isHex } from './isHex.js';
4
- export function isBytesEqual(a_, b_) {
5
- const a = isHex(a_) ? toBytes(a_) : a_;
6
- const b = isHex(b_) ? toBytes(b_) : b_;
7
- return equalBytes(a, b);
8
- }
9
- //# sourceMappingURL=isBytesEqual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBytesEqual.js","sourceRoot":"","sources":["../../../utils/data/isBytesEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAIzD,OAAO,EAAyB,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAuB,KAAK,EAAE,MAAM,YAAY,CAAA;AAOvD,MAAM,UAAU,YAAY,CAAC,EAAmB,EAAE,EAAmB;IACnE,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { ErrorType } from '../../errors/utils.js';
2
- import type { ByteArray, Hex } from '../../types/misc.js';
3
- import { type ToBytesErrorType } from '../encoding/toBytes.js';
4
- import { type IsHexErrorType } from './isHex.js';
5
- export type IsBytesEqualErrorType = IsHexErrorType | ToBytesErrorType | ErrorType;
6
- export declare function isBytesEqual(a_: ByteArray | Hex, b_: ByteArray | Hex): boolean;
7
- //# sourceMappingURL=isBytesEqual.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBytesEqual.d.ts","sourceRoot":"","sources":["../../../utils/data/isBytesEqual.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,YAAY,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,gBAAgB,GAChB,SAAS,CAAA;AAEb,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,GAAG,EAAE,EAAE,EAAE,SAAS,GAAG,GAAG,WAIpE"}
@@ -1,17 +0,0 @@
1
- import { equalBytes } from '@noble/curves/abstract/utils'
2
-
3
- import type { ErrorType } from '../../errors/utils.js'
4
- import type { ByteArray, Hex } from '../../types/misc.js'
5
- import { type ToBytesErrorType, toBytes } from '../encoding/toBytes.js'
6
- import { type IsHexErrorType, isHex } from './isHex.js'
7
-
8
- export type IsBytesEqualErrorType =
9
- | IsHexErrorType
10
- | ToBytesErrorType
11
- | ErrorType
12
-
13
- export function isBytesEqual(a_: ByteArray | Hex, b_: ByteArray | Hex) {
14
- const a = isHex(a_) ? toBytes(a_) : a_
15
- const b = isHex(b_) ? toBytes(b_) : b_
16
- return equalBytes(a, b)
17
- }