viem 2.5.0 → 2.6.1

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 (615) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/_cjs/accounts/utils/sign.js.map +1 -1
  3. package/_cjs/chains/definitions/berachainTestnet.js +24 -0
  4. package/_cjs/chains/definitions/berachainTestnet.js.map +1 -0
  5. package/_cjs/chains/definitions/holesky.js +8 -0
  6. package/_cjs/chains/definitions/holesky.js.map +1 -1
  7. package/_cjs/chains/definitions/iotex.js +6 -0
  8. package/_cjs/chains/definitions/iotex.js.map +1 -1
  9. package/_cjs/chains/definitions/iotexTestnet.js +1 -0
  10. package/_cjs/chains/definitions/iotexTestnet.js.map +1 -1
  11. package/_cjs/chains/definitions/kcc.js +33 -0
  12. package/_cjs/chains/definitions/kcc.js.map +1 -0
  13. package/_cjs/chains/definitions/oortmainnetDev.js +27 -0
  14. package/_cjs/chains/definitions/oortmainnetDev.js.map +1 -0
  15. package/_cjs/chains/definitions/zkSync.js +3 -2
  16. package/_cjs/chains/definitions/zkSync.js.map +1 -1
  17. package/_cjs/chains/index.js +10 -4
  18. package/_cjs/chains/index.js.map +1 -1
  19. package/_cjs/chains/zksync/actions/sendEip712Transaction.js +52 -0
  20. package/_cjs/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
  21. package/_cjs/chains/zksync/actions/sendTransaction.js +13 -0
  22. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -0
  23. package/_cjs/chains/zksync/actions/signEip712Transaction.js +52 -0
  24. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -0
  25. package/_cjs/chains/zksync/actions/signTransaction.js +13 -0
  26. package/_cjs/chains/zksync/actions/signTransaction.js.map +1 -0
  27. package/_cjs/chains/zksync/chainConfig.js +4 -0
  28. package/_cjs/chains/zksync/chainConfig.js.map +1 -1
  29. package/_cjs/chains/zksync/chains.js +10 -0
  30. package/_cjs/chains/zksync/chains.js.map +1 -0
  31. package/_cjs/chains/zksync/decorators/eip712.js +17 -0
  32. package/_cjs/chains/zksync/decorators/eip712.js.map +1 -0
  33. package/_cjs/chains/zksync/errors/transaction.js +23 -0
  34. package/_cjs/chains/zksync/errors/transaction.js.map +1 -0
  35. package/_cjs/chains/zksync/formatters.js +2 -2
  36. package/_cjs/chains/zksync/formatters.js.map +1 -1
  37. package/_cjs/chains/zksync/index.js +15 -1
  38. package/_cjs/chains/zksync/index.js.map +1 -1
  39. package/_cjs/chains/zksync/serializers.js +6 -35
  40. package/_cjs/chains/zksync/serializers.js.map +1 -1
  41. package/_cjs/chains/zksync/{types.js → types/block.js} +1 -1
  42. package/_cjs/chains/zksync/types/block.js.map +1 -0
  43. package/_cjs/chains/zksync/types/chain.js +3 -0
  44. package/_cjs/chains/zksync/types/chain.js.map +1 -0
  45. package/_cjs/chains/zksync/types/eip712.js +3 -0
  46. package/_cjs/chains/zksync/types/eip712.js.map +1 -0
  47. package/_cjs/chains/zksync/types/fee.js +3 -0
  48. package/_cjs/chains/zksync/types/fee.js.map +1 -0
  49. package/_cjs/chains/zksync/types/log.js +3 -0
  50. package/_cjs/chains/zksync/types/log.js.map +1 -0
  51. package/_cjs/chains/zksync/types/transaction.js +3 -0
  52. package/_cjs/chains/zksync/types/transaction.js.map +1 -0
  53. package/_cjs/chains/zksync/utils/assertEip712Request.js +13 -0
  54. package/_cjs/chains/zksync/utils/assertEip712Request.js.map +1 -0
  55. package/_cjs/chains/zksync/utils/assertEip712Transaction.js +30 -0
  56. package/_cjs/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
  57. package/_cjs/chains/zksync/utils/getEip712Domain.js +54 -0
  58. package/_cjs/chains/zksync/utils/getEip712Domain.js.map +1 -0
  59. package/_cjs/chains/zksync/utils/isEip712Transaction.js +17 -0
  60. package/_cjs/chains/zksync/utils/isEip712Transaction.js.map +1 -0
  61. package/_cjs/errors/chain.js +3 -1
  62. package/_cjs/errors/chain.js.map +1 -1
  63. package/_cjs/errors/version.js +1 -1
  64. package/_esm/accounts/utils/sign.js +1 -0
  65. package/_esm/accounts/utils/sign.js.map +1 -1
  66. package/_esm/chains/definitions/berachainTestnet.js +21 -0
  67. package/_esm/chains/definitions/berachainTestnet.js.map +1 -0
  68. package/_esm/chains/definitions/holesky.js +8 -0
  69. package/_esm/chains/definitions/holesky.js.map +1 -1
  70. package/_esm/chains/definitions/iotex.js +6 -0
  71. package/_esm/chains/definitions/iotex.js.map +1 -1
  72. package/_esm/chains/definitions/iotexTestnet.js +1 -0
  73. package/_esm/chains/definitions/iotexTestnet.js.map +1 -1
  74. package/_esm/chains/definitions/kcc.js +30 -0
  75. package/_esm/chains/definitions/kcc.js.map +1 -0
  76. package/_esm/chains/definitions/oortmainnetDev.js +24 -0
  77. package/_esm/chains/definitions/oortmainnetDev.js.map +1 -0
  78. package/_esm/chains/definitions/zkSync.js +3 -2
  79. package/_esm/chains/definitions/zkSync.js.map +1 -1
  80. package/_esm/chains/index.js +3 -0
  81. package/_esm/chains/index.js.map +1 -1
  82. package/_esm/chains/zksync/actions/sendEip712Transaction.js +91 -0
  83. package/_esm/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
  84. package/_esm/chains/zksync/actions/sendTransaction.js +54 -0
  85. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -0
  86. package/_esm/chains/zksync/actions/signEip712Transaction.js +86 -0
  87. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -0
  88. package/_esm/chains/zksync/actions/signTransaction.js +49 -0
  89. package/_esm/chains/zksync/actions/signTransaction.js.map +1 -0
  90. package/_esm/chains/zksync/chainConfig.js +4 -0
  91. package/_esm/chains/zksync/chainConfig.js.map +1 -1
  92. package/_esm/chains/zksync/chains.js +4 -0
  93. package/_esm/chains/zksync/chains.js.map +1 -0
  94. package/_esm/chains/zksync/decorators/eip712.js +13 -0
  95. package/_esm/chains/zksync/decorators/eip712.js.map +1 -0
  96. package/_esm/chains/zksync/errors/transaction.js +19 -0
  97. package/_esm/chains/zksync/errors/transaction.js.map +1 -0
  98. package/_esm/chains/zksync/formatters.js +2 -2
  99. package/_esm/chains/zksync/formatters.js.map +1 -1
  100. package/_esm/chains/zksync/index.js +6 -0
  101. package/_esm/chains/zksync/index.js.map +1 -1
  102. package/_esm/chains/zksync/serializers.js +5 -35
  103. package/_esm/chains/zksync/serializers.js.map +1 -1
  104. package/_esm/chains/zksync/types/block.js +2 -0
  105. package/_esm/chains/zksync/types/block.js.map +1 -0
  106. package/_esm/chains/zksync/types/chain.js +2 -0
  107. package/_esm/chains/zksync/types/chain.js.map +1 -0
  108. package/_esm/chains/zksync/types/eip712.js +2 -0
  109. package/_esm/chains/zksync/types/eip712.js.map +1 -0
  110. package/_esm/chains/zksync/types/fee.js +2 -0
  111. package/_esm/chains/zksync/types/fee.js.map +1 -0
  112. package/_esm/chains/zksync/types/log.js +2 -0
  113. package/_esm/chains/zksync/types/log.js.map +1 -0
  114. package/_esm/chains/zksync/types/transaction.js +2 -0
  115. package/_esm/chains/zksync/types/transaction.js.map +1 -0
  116. package/_esm/chains/zksync/utils/assertEip712Request.js +9 -0
  117. package/_esm/chains/zksync/utils/assertEip712Request.js.map +1 -0
  118. package/_esm/chains/zksync/utils/assertEip712Transaction.js +26 -0
  119. package/_esm/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
  120. package/_esm/chains/zksync/utils/getEip712Domain.js +52 -0
  121. package/_esm/chains/zksync/utils/getEip712Domain.js.map +1 -0
  122. package/_esm/chains/zksync/utils/isEip712Transaction.js +13 -0
  123. package/_esm/chains/zksync/utils/isEip712Transaction.js.map +1 -0
  124. package/_esm/errors/chain.js +3 -1
  125. package/_esm/errors/chain.js.map +1 -1
  126. package/_esm/errors/version.js +1 -1
  127. package/_types/accounts/utils/sign.d.ts.map +1 -1
  128. package/_types/chains/definitions/acala.d.ts +1 -0
  129. package/_types/chains/definitions/acala.d.ts.map +1 -1
  130. package/_types/chains/definitions/arbitrum.d.ts +1 -0
  131. package/_types/chains/definitions/arbitrum.d.ts.map +1 -1
  132. package/_types/chains/definitions/arbitrumGoerli.d.ts +1 -0
  133. package/_types/chains/definitions/arbitrumGoerli.d.ts.map +1 -1
  134. package/_types/chains/definitions/arbitrumNova.d.ts +1 -0
  135. package/_types/chains/definitions/arbitrumNova.d.ts.map +1 -1
  136. package/_types/chains/definitions/arbitrumSepolia.d.ts +1 -0
  137. package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
  138. package/_types/chains/definitions/astar.d.ts +1 -0
  139. package/_types/chains/definitions/astar.d.ts.map +1 -1
  140. package/_types/chains/definitions/astarZkatana.d.ts +1 -0
  141. package/_types/chains/definitions/astarZkatana.d.ts.map +1 -1
  142. package/_types/chains/definitions/aurora.d.ts +1 -0
  143. package/_types/chains/definitions/aurora.d.ts.map +1 -1
  144. package/_types/chains/definitions/auroraTestnet.d.ts +1 -0
  145. package/_types/chains/definitions/auroraTestnet.d.ts.map +1 -1
  146. package/_types/chains/definitions/avalanche.d.ts +1 -0
  147. package/_types/chains/definitions/avalanche.d.ts.map +1 -1
  148. package/_types/chains/definitions/avalancheFuji.d.ts +1 -0
  149. package/_types/chains/definitions/avalancheFuji.d.ts.map +1 -1
  150. package/_types/chains/definitions/bahamut.d.ts +1 -0
  151. package/_types/chains/definitions/bahamut.d.ts.map +1 -1
  152. package/_types/chains/definitions/base.d.ts +2 -0
  153. package/_types/chains/definitions/base.d.ts.map +1 -1
  154. package/_types/chains/definitions/baseGoerli.d.ts +2 -0
  155. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  156. package/_types/chains/definitions/baseSepolia.d.ts +2 -0
  157. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  158. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -0
  159. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts.map +1 -1
  160. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -0
  161. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts.map +1 -1
  162. package/_types/chains/definitions/berachainTestnet.d.ts +35 -0
  163. package/_types/chains/definitions/berachainTestnet.d.ts.map +1 -0
  164. package/_types/chains/definitions/bitTorrent.d.ts +1 -0
  165. package/_types/chains/definitions/bitTorrent.d.ts.map +1 -1
  166. package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -0
  167. package/_types/chains/definitions/bitTorrentTestnet.d.ts.map +1 -1
  168. package/_types/chains/definitions/blastSepolia.d.ts +1 -0
  169. package/_types/chains/definitions/blastSepolia.d.ts.map +1 -1
  170. package/_types/chains/definitions/boba.d.ts +1 -0
  171. package/_types/chains/definitions/boba.d.ts.map +1 -1
  172. package/_types/chains/definitions/bronos.d.ts +1 -0
  173. package/_types/chains/definitions/bronos.d.ts.map +1 -1
  174. package/_types/chains/definitions/bronosTestnet.d.ts +1 -0
  175. package/_types/chains/definitions/bronosTestnet.d.ts.map +1 -1
  176. package/_types/chains/definitions/bsc.d.ts +1 -0
  177. package/_types/chains/definitions/bsc.d.ts.map +1 -1
  178. package/_types/chains/definitions/bscTestnet.d.ts +1 -0
  179. package/_types/chains/definitions/bscTestnet.d.ts.map +1 -1
  180. package/_types/chains/definitions/bxn.d.ts +1 -0
  181. package/_types/chains/definitions/bxn.d.ts.map +1 -1
  182. package/_types/chains/definitions/bxnTestnet.d.ts +1 -0
  183. package/_types/chains/definitions/bxnTestnet.d.ts.map +1 -1
  184. package/_types/chains/definitions/canto.d.ts +1 -0
  185. package/_types/chains/definitions/canto.d.ts.map +1 -1
  186. package/_types/chains/definitions/celo.d.ts +1 -0
  187. package/_types/chains/definitions/celo.d.ts.map +1 -1
  188. package/_types/chains/definitions/celoAlfajores.d.ts +1 -0
  189. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  190. package/_types/chains/definitions/chiliz.d.ts +1 -0
  191. package/_types/chains/definitions/chiliz.d.ts.map +1 -1
  192. package/_types/chains/definitions/classic.d.ts +1 -0
  193. package/_types/chains/definitions/classic.d.ts.map +1 -1
  194. package/_types/chains/definitions/confluxESpace.d.ts +1 -0
  195. package/_types/chains/definitions/confluxESpace.d.ts.map +1 -1
  196. package/_types/chains/definitions/confluxESpaceTestnet.d.ts +1 -0
  197. package/_types/chains/definitions/confluxESpaceTestnet.d.ts.map +1 -1
  198. package/_types/chains/definitions/coreDao.d.ts +1 -0
  199. package/_types/chains/definitions/coreDao.d.ts.map +1 -1
  200. package/_types/chains/definitions/cronos.d.ts +1 -0
  201. package/_types/chains/definitions/cronos.d.ts.map +1 -1
  202. package/_types/chains/definitions/cronosTestnet.d.ts +1 -0
  203. package/_types/chains/definitions/cronosTestnet.d.ts.map +1 -1
  204. package/_types/chains/definitions/crossbell.d.ts +1 -0
  205. package/_types/chains/definitions/crossbell.d.ts.map +1 -1
  206. package/_types/chains/definitions/defichainEvm.d.ts +1 -0
  207. package/_types/chains/definitions/defichainEvm.d.ts.map +1 -1
  208. package/_types/chains/definitions/defichainEvmTestnet.d.ts +1 -0
  209. package/_types/chains/definitions/defichainEvmTestnet.d.ts.map +1 -1
  210. package/_types/chains/definitions/dfk.d.ts +1 -0
  211. package/_types/chains/definitions/dfk.d.ts.map +1 -1
  212. package/_types/chains/definitions/dogechain.d.ts +1 -0
  213. package/_types/chains/definitions/dogechain.d.ts.map +1 -1
  214. package/_types/chains/definitions/edgeware.d.ts +1 -0
  215. package/_types/chains/definitions/edgeware.d.ts.map +1 -1
  216. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -0
  217. package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
  218. package/_types/chains/definitions/ekta.d.ts +1 -0
  219. package/_types/chains/definitions/ekta.d.ts.map +1 -1
  220. package/_types/chains/definitions/ektaTestnet.d.ts +1 -0
  221. package/_types/chains/definitions/ektaTestnet.d.ts.map +1 -1
  222. package/_types/chains/definitions/eon.d.ts +1 -0
  223. package/_types/chains/definitions/eon.d.ts.map +1 -1
  224. package/_types/chains/definitions/eos.d.ts +1 -0
  225. package/_types/chains/definitions/eos.d.ts.map +1 -1
  226. package/_types/chains/definitions/eosTestnet.d.ts +1 -0
  227. package/_types/chains/definitions/eosTestnet.d.ts.map +1 -1
  228. package/_types/chains/definitions/evmos.d.ts +1 -0
  229. package/_types/chains/definitions/evmos.d.ts.map +1 -1
  230. package/_types/chains/definitions/evmosTestnet.d.ts +1 -0
  231. package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
  232. package/_types/chains/definitions/fantom.d.ts +1 -0
  233. package/_types/chains/definitions/fantom.d.ts.map +1 -1
  234. package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -0
  235. package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -1
  236. package/_types/chains/definitions/fantomTestnet.d.ts +1 -0
  237. package/_types/chains/definitions/fantomTestnet.d.ts.map +1 -1
  238. package/_types/chains/definitions/fibo.d.ts +1 -0
  239. package/_types/chains/definitions/fibo.d.ts.map +1 -1
  240. package/_types/chains/definitions/filecoin.d.ts +1 -0
  241. package/_types/chains/definitions/filecoin.d.ts.map +1 -1
  242. package/_types/chains/definitions/filecoinCalibration.d.ts +1 -0
  243. package/_types/chains/definitions/filecoinCalibration.d.ts.map +1 -1
  244. package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -0
  245. package/_types/chains/definitions/filecoinHyperspace.d.ts.map +1 -1
  246. package/_types/chains/definitions/flare.d.ts +1 -0
  247. package/_types/chains/definitions/flare.d.ts.map +1 -1
  248. package/_types/chains/definitions/flareTestnet.d.ts +1 -0
  249. package/_types/chains/definitions/flareTestnet.d.ts.map +1 -1
  250. package/_types/chains/definitions/foundry.d.ts +1 -0
  251. package/_types/chains/definitions/foundry.d.ts.map +1 -1
  252. package/_types/chains/definitions/fuse.d.ts +1 -0
  253. package/_types/chains/definitions/fuse.d.ts.map +1 -1
  254. package/_types/chains/definitions/fuseSparknet.d.ts +1 -0
  255. package/_types/chains/definitions/fuseSparknet.d.ts.map +1 -1
  256. package/_types/chains/definitions/gnosis.d.ts +1 -0
  257. package/_types/chains/definitions/gnosis.d.ts.map +1 -1
  258. package/_types/chains/definitions/gnosisChiado.d.ts +1 -0
  259. package/_types/chains/definitions/gnosisChiado.d.ts.map +1 -1
  260. package/_types/chains/definitions/gobi.d.ts +1 -0
  261. package/_types/chains/definitions/gobi.d.ts.map +1 -1
  262. package/_types/chains/definitions/goerli.d.ts +1 -0
  263. package/_types/chains/definitions/goerli.d.ts.map +1 -1
  264. package/_types/chains/definitions/haqqMainnet.d.ts +1 -0
  265. package/_types/chains/definitions/haqqMainnet.d.ts.map +1 -1
  266. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -0
  267. package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
  268. package/_types/chains/definitions/hardhat.d.ts +1 -0
  269. package/_types/chains/definitions/hardhat.d.ts.map +1 -1
  270. package/_types/chains/definitions/harmonyOne.d.ts +1 -0
  271. package/_types/chains/definitions/harmonyOne.d.ts.map +1 -1
  272. package/_types/chains/definitions/holesky.d.ts +9 -0
  273. package/_types/chains/definitions/holesky.d.ts.map +1 -1
  274. package/_types/chains/definitions/iotex.d.ts +7 -8
  275. package/_types/chains/definitions/iotex.d.ts.map +1 -1
  276. package/_types/chains/definitions/iotexTestnet.d.ts +2 -1
  277. package/_types/chains/definitions/iotexTestnet.d.ts.map +1 -1
  278. package/_types/chains/definitions/jbc.d.ts +1 -0
  279. package/_types/chains/definitions/jbc.d.ts.map +1 -1
  280. package/_types/chains/definitions/karura.d.ts +1 -0
  281. package/_types/chains/definitions/karura.d.ts.map +1 -1
  282. package/_types/chains/definitions/kava.d.ts +1 -0
  283. package/_types/chains/definitions/kava.d.ts.map +1 -1
  284. package/_types/chains/definitions/kavaTestnet.d.ts +1 -0
  285. package/_types/chains/definitions/kavaTestnet.d.ts.map +1 -1
  286. package/_types/chains/definitions/kcc.d.ts +37 -0
  287. package/_types/chains/definitions/kcc.d.ts.map +1 -0
  288. package/_types/chains/definitions/klaytn.d.ts +1 -0
  289. package/_types/chains/definitions/klaytn.d.ts.map +1 -1
  290. package/_types/chains/definitions/klaytnBaobab.d.ts +1 -0
  291. package/_types/chains/definitions/klaytnBaobab.d.ts.map +1 -1
  292. package/_types/chains/definitions/kroma.d.ts +1 -0
  293. package/_types/chains/definitions/kroma.d.ts.map +1 -1
  294. package/_types/chains/definitions/kromaSepolia.d.ts +1 -0
  295. package/_types/chains/definitions/kromaSepolia.d.ts.map +1 -1
  296. package/_types/chains/definitions/lightlinkPegasus.d.ts +1 -0
  297. package/_types/chains/definitions/lightlinkPegasus.d.ts.map +1 -1
  298. package/_types/chains/definitions/lightlinkPhoenix.d.ts +1 -0
  299. package/_types/chains/definitions/lightlinkPhoenix.d.ts.map +1 -1
  300. package/_types/chains/definitions/linea.d.ts +1 -0
  301. package/_types/chains/definitions/linea.d.ts.map +1 -1
  302. package/_types/chains/definitions/lineaTestnet.d.ts +1 -0
  303. package/_types/chains/definitions/lineaTestnet.d.ts.map +1 -1
  304. package/_types/chains/definitions/localhost.d.ts +1 -0
  305. package/_types/chains/definitions/localhost.d.ts.map +1 -1
  306. package/_types/chains/definitions/lukso.d.ts +1 -0
  307. package/_types/chains/definitions/lukso.d.ts.map +1 -1
  308. package/_types/chains/definitions/mainnet.d.ts +1 -0
  309. package/_types/chains/definitions/mainnet.d.ts.map +1 -1
  310. package/_types/chains/definitions/mandala.d.ts +1 -0
  311. package/_types/chains/definitions/mandala.d.ts.map +1 -1
  312. package/_types/chains/definitions/manta.d.ts +1 -0
  313. package/_types/chains/definitions/manta.d.ts.map +1 -1
  314. package/_types/chains/definitions/mantaTestnet.d.ts +1 -0
  315. package/_types/chains/definitions/mantaTestnet.d.ts.map +1 -1
  316. package/_types/chains/definitions/mantle.d.ts +1 -0
  317. package/_types/chains/definitions/mantle.d.ts.map +1 -1
  318. package/_types/chains/definitions/mantleTestnet.d.ts +1 -0
  319. package/_types/chains/definitions/mantleTestnet.d.ts.map +1 -1
  320. package/_types/chains/definitions/metachain.d.ts +1 -0
  321. package/_types/chains/definitions/metachain.d.ts.map +1 -1
  322. package/_types/chains/definitions/meter.d.ts +1 -0
  323. package/_types/chains/definitions/meter.d.ts.map +1 -1
  324. package/_types/chains/definitions/meterTestnet.d.ts +1 -0
  325. package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
  326. package/_types/chains/definitions/metis.d.ts +1 -0
  327. package/_types/chains/definitions/metis.d.ts.map +1 -1
  328. package/_types/chains/definitions/metisGoerli.d.ts +1 -0
  329. package/_types/chains/definitions/metisGoerli.d.ts.map +1 -1
  330. package/_types/chains/definitions/mev.d.ts +1 -0
  331. package/_types/chains/definitions/mev.d.ts.map +1 -1
  332. package/_types/chains/definitions/mevTestnet.d.ts +1 -0
  333. package/_types/chains/definitions/mevTestnet.d.ts.map +1 -1
  334. package/_types/chains/definitions/modeTestnet.d.ts +1 -0
  335. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  336. package/_types/chains/definitions/moonbaseAlpha.d.ts +1 -0
  337. package/_types/chains/definitions/moonbaseAlpha.d.ts.map +1 -1
  338. package/_types/chains/definitions/moonbeam.d.ts +1 -0
  339. package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
  340. package/_types/chains/definitions/moonbeamDev.d.ts +1 -0
  341. package/_types/chains/definitions/moonbeamDev.d.ts.map +1 -1
  342. package/_types/chains/definitions/moonriver.d.ts +1 -0
  343. package/_types/chains/definitions/moonriver.d.ts.map +1 -1
  344. package/_types/chains/definitions/neonDevnet.d.ts +1 -0
  345. package/_types/chains/definitions/neonDevnet.d.ts.map +1 -1
  346. package/_types/chains/definitions/neonMainnet.d.ts +1 -0
  347. package/_types/chains/definitions/neonMainnet.d.ts.map +1 -1
  348. package/_types/chains/definitions/nexi.d.ts +1 -0
  349. package/_types/chains/definitions/nexi.d.ts.map +1 -1
  350. package/_types/chains/definitions/nexilix.d.ts +1 -0
  351. package/_types/chains/definitions/nexilix.d.ts.map +1 -1
  352. package/_types/chains/definitions/oasisTestnet.d.ts +1 -0
  353. package/_types/chains/definitions/oasisTestnet.d.ts.map +1 -1
  354. package/_types/chains/definitions/oasys.d.ts +1 -0
  355. package/_types/chains/definitions/oasys.d.ts.map +1 -1
  356. package/_types/chains/definitions/okc.d.ts +1 -0
  357. package/_types/chains/definitions/okc.d.ts.map +1 -1
  358. package/_types/chains/definitions/oortmainnetDev.d.ts +39 -0
  359. package/_types/chains/definitions/oortmainnetDev.d.ts.map +1 -0
  360. package/_types/chains/definitions/opBNB.d.ts +1 -0
  361. package/_types/chains/definitions/opBNB.d.ts.map +1 -1
  362. package/_types/chains/definitions/opBNBTestnet.d.ts +1 -0
  363. package/_types/chains/definitions/opBNBTestnet.d.ts.map +1 -1
  364. package/_types/chains/definitions/optimism.d.ts +2 -0
  365. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  366. package/_types/chains/definitions/optimismGoerli.d.ts +2 -0
  367. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  368. package/_types/chains/definitions/optimismSepolia.d.ts +2 -0
  369. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  370. package/_types/chains/definitions/palm.d.ts +1 -0
  371. package/_types/chains/definitions/palm.d.ts.map +1 -1
  372. package/_types/chains/definitions/palmTestnet.d.ts +1 -0
  373. package/_types/chains/definitions/palmTestnet.d.ts.map +1 -1
  374. package/_types/chains/definitions/pgn.d.ts +2 -0
  375. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  376. package/_types/chains/definitions/pgnTestnet.d.ts +2 -0
  377. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  378. package/_types/chains/definitions/plinga.d.ts +1 -0
  379. package/_types/chains/definitions/plinga.d.ts.map +1 -1
  380. package/_types/chains/definitions/polygon.d.ts +1 -0
  381. package/_types/chains/definitions/polygon.d.ts.map +1 -1
  382. package/_types/chains/definitions/polygonMumbai.d.ts +1 -0
  383. package/_types/chains/definitions/polygonMumbai.d.ts.map +1 -1
  384. package/_types/chains/definitions/polygonZkEvm.d.ts +1 -0
  385. package/_types/chains/definitions/polygonZkEvm.d.ts.map +1 -1
  386. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts +1 -0
  387. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts.map +1 -1
  388. package/_types/chains/definitions/pulsechain.d.ts +1 -0
  389. package/_types/chains/definitions/pulsechain.d.ts.map +1 -1
  390. package/_types/chains/definitions/pulsechainV4.d.ts +1 -0
  391. package/_types/chains/definitions/pulsechainV4.d.ts.map +1 -1
  392. package/_types/chains/definitions/qMainnet.d.ts +1 -0
  393. package/_types/chains/definitions/qMainnet.d.ts.map +1 -1
  394. package/_types/chains/definitions/qTestnet.d.ts +1 -0
  395. package/_types/chains/definitions/qTestnet.d.ts.map +1 -1
  396. package/_types/chains/definitions/rollux.d.ts +1 -0
  397. package/_types/chains/definitions/rollux.d.ts.map +1 -1
  398. package/_types/chains/definitions/rolluxTestnet.d.ts +1 -0
  399. package/_types/chains/definitions/rolluxTestnet.d.ts.map +1 -1
  400. package/_types/chains/definitions/ronin.d.ts +1 -0
  401. package/_types/chains/definitions/ronin.d.ts.map +1 -1
  402. package/_types/chains/definitions/rootstock.d.ts +1 -0
  403. package/_types/chains/definitions/rootstock.d.ts.map +1 -1
  404. package/_types/chains/definitions/saigon.d.ts +1 -0
  405. package/_types/chains/definitions/saigon.d.ts.map +1 -1
  406. package/_types/chains/definitions/sapphire.d.ts +1 -0
  407. package/_types/chains/definitions/sapphire.d.ts.map +1 -1
  408. package/_types/chains/definitions/sapphireTestnet.d.ts +1 -0
  409. package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
  410. package/_types/chains/definitions/scroll.d.ts +1 -0
  411. package/_types/chains/definitions/scroll.d.ts.map +1 -1
  412. package/_types/chains/definitions/scrollSepolia.d.ts +1 -0
  413. package/_types/chains/definitions/scrollSepolia.d.ts.map +1 -1
  414. package/_types/chains/definitions/scrollTestnet.d.ts +1 -0
  415. package/_types/chains/definitions/scrollTestnet.d.ts.map +1 -1
  416. package/_types/chains/definitions/sepolia.d.ts +1 -0
  417. package/_types/chains/definitions/sepolia.d.ts.map +1 -1
  418. package/_types/chains/definitions/shardeumSphinx.d.ts +1 -0
  419. package/_types/chains/definitions/shardeumSphinx.d.ts.map +1 -1
  420. package/_types/chains/definitions/shibarium.d.ts +1 -0
  421. package/_types/chains/definitions/shibarium.d.ts.map +1 -1
  422. package/_types/chains/definitions/shimmer.d.ts +1 -0
  423. package/_types/chains/definitions/shimmer.d.ts.map +1 -1
  424. package/_types/chains/definitions/shimmerTestnet.d.ts +1 -0
  425. package/_types/chains/definitions/shimmerTestnet.d.ts.map +1 -1
  426. package/_types/chains/definitions/skale/brawl.d.ts +1 -0
  427. package/_types/chains/definitions/skale/brawl.d.ts.map +1 -1
  428. package/_types/chains/definitions/skale/calypso.d.ts +1 -0
  429. package/_types/chains/definitions/skale/calypso.d.ts.map +1 -1
  430. package/_types/chains/definitions/skale/calypsoTestnet.d.ts +1 -0
  431. package/_types/chains/definitions/skale/calypsoTestnet.d.ts.map +1 -1
  432. package/_types/chains/definitions/skale/chaosTestnet.d.ts +1 -0
  433. package/_types/chains/definitions/skale/chaosTestnet.d.ts.map +1 -1
  434. package/_types/chains/definitions/skale/cryptoBlades.d.ts +1 -0
  435. package/_types/chains/definitions/skale/cryptoBlades.d.ts.map +1 -1
  436. package/_types/chains/definitions/skale/cryptoColosseum.d.ts +1 -0
  437. package/_types/chains/definitions/skale/cryptoColosseum.d.ts.map +1 -1
  438. package/_types/chains/definitions/skale/europa.d.ts +1 -0
  439. package/_types/chains/definitions/skale/europa.d.ts.map +1 -1
  440. package/_types/chains/definitions/skale/europaTestnet.d.ts +1 -0
  441. package/_types/chains/definitions/skale/europaTestnet.d.ts.map +1 -1
  442. package/_types/chains/definitions/skale/exorde.d.ts +1 -0
  443. package/_types/chains/definitions/skale/exorde.d.ts.map +1 -1
  444. package/_types/chains/definitions/skale/humanProtocol.d.ts +1 -0
  445. package/_types/chains/definitions/skale/humanProtocol.d.ts.map +1 -1
  446. package/_types/chains/definitions/skale/nebula.d.ts +1 -0
  447. package/_types/chains/definitions/skale/nebula.d.ts.map +1 -1
  448. package/_types/chains/definitions/skale/nebulaTestnet.d.ts +1 -0
  449. package/_types/chains/definitions/skale/nebulaTestnet.d.ts.map +1 -1
  450. package/_types/chains/definitions/skale/razor.d.ts +1 -0
  451. package/_types/chains/definitions/skale/razor.d.ts.map +1 -1
  452. package/_types/chains/definitions/skale/titan.d.ts +1 -0
  453. package/_types/chains/definitions/skale/titan.d.ts.map +1 -1
  454. package/_types/chains/definitions/skale/titanTestnet.d.ts +1 -0
  455. package/_types/chains/definitions/skale/titanTestnet.d.ts.map +1 -1
  456. package/_types/chains/definitions/songbird.d.ts +1 -0
  457. package/_types/chains/definitions/songbird.d.ts.map +1 -1
  458. package/_types/chains/definitions/songbirdTestnet.d.ts +1 -0
  459. package/_types/chains/definitions/songbirdTestnet.d.ts.map +1 -1
  460. package/_types/chains/definitions/spicy.d.ts +1 -0
  461. package/_types/chains/definitions/spicy.d.ts.map +1 -1
  462. package/_types/chains/definitions/syscoin.d.ts +1 -0
  463. package/_types/chains/definitions/syscoin.d.ts.map +1 -1
  464. package/_types/chains/definitions/syscoinTestnet.d.ts +1 -0
  465. package/_types/chains/definitions/syscoinTestnet.d.ts.map +1 -1
  466. package/_types/chains/definitions/taikoJolnir.d.ts +1 -0
  467. package/_types/chains/definitions/taikoJolnir.d.ts.map +1 -1
  468. package/_types/chains/definitions/taikoKatla.d.ts +1 -0
  469. package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
  470. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -0
  471. package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
  472. package/_types/chains/definitions/taraxa.d.ts +1 -0
  473. package/_types/chains/definitions/taraxa.d.ts.map +1 -1
  474. package/_types/chains/definitions/taraxaTestnet.d.ts +1 -0
  475. package/_types/chains/definitions/taraxaTestnet.d.ts.map +1 -1
  476. package/_types/chains/definitions/telos.d.ts +1 -0
  477. package/_types/chains/definitions/telos.d.ts.map +1 -1
  478. package/_types/chains/definitions/telosTestnet.d.ts +1 -0
  479. package/_types/chains/definitions/telosTestnet.d.ts.map +1 -1
  480. package/_types/chains/definitions/tenet.d.ts +1 -0
  481. package/_types/chains/definitions/tenet.d.ts.map +1 -1
  482. package/_types/chains/definitions/thunderTestnet.d.ts +1 -0
  483. package/_types/chains/definitions/thunderTestnet.d.ts.map +1 -1
  484. package/_types/chains/definitions/vechain.d.ts +1 -0
  485. package/_types/chains/definitions/vechain.d.ts.map +1 -1
  486. package/_types/chains/definitions/wanchain.d.ts +1 -0
  487. package/_types/chains/definitions/wanchain.d.ts.map +1 -1
  488. package/_types/chains/definitions/wanchainTestnet.d.ts +1 -0
  489. package/_types/chains/definitions/wanchainTestnet.d.ts.map +1 -1
  490. package/_types/chains/definitions/wemix.d.ts +1 -0
  491. package/_types/chains/definitions/wemix.d.ts.map +1 -1
  492. package/_types/chains/definitions/wemixTestnet.d.ts +1 -0
  493. package/_types/chains/definitions/wemixTestnet.d.ts.map +1 -1
  494. package/_types/chains/definitions/xdc.d.ts +1 -0
  495. package/_types/chains/definitions/xdc.d.ts.map +1 -1
  496. package/_types/chains/definitions/xdcTestnet.d.ts +1 -0
  497. package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
  498. package/_types/chains/definitions/zetachainAthensTestnet.d.ts +1 -0
  499. package/_types/chains/definitions/zetachainAthensTestnet.d.ts.map +1 -1
  500. package/_types/chains/definitions/zhejiang.d.ts +1 -0
  501. package/_types/chains/definitions/zhejiang.d.ts.map +1 -1
  502. package/_types/chains/definitions/zilliqa.d.ts +1 -0
  503. package/_types/chains/definitions/zilliqa.d.ts.map +1 -1
  504. package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -0
  505. package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -1
  506. package/_types/chains/definitions/zkFair.d.ts +1 -0
  507. package/_types/chains/definitions/zkFair.d.ts.map +1 -1
  508. package/_types/chains/definitions/zkFairTestnet.d.ts +1 -0
  509. package/_types/chains/definitions/zkFairTestnet.d.ts.map +1 -1
  510. package/_types/chains/definitions/zkSync.d.ts +23 -18
  511. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  512. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +20 -16
  513. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  514. package/_types/chains/definitions/zkSyncTestnet.d.ts +20 -16
  515. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  516. package/_types/chains/definitions/zora.d.ts +2 -0
  517. package/_types/chains/definitions/zora.d.ts.map +1 -1
  518. package/_types/chains/definitions/zoraSepolia.d.ts +2 -0
  519. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  520. package/_types/chains/definitions/zoraTestnet.d.ts +2 -0
  521. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  522. package/_types/chains/index.d.ts +3 -0
  523. package/_types/chains/index.d.ts.map +1 -1
  524. package/_types/chains/opStack/chainConfig.d.ts +1 -0
  525. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  526. package/_types/chains/opStack/formatters.d.ts +1 -0
  527. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  528. package/_types/chains/zksync/actions/sendEip712Transaction.d.ts +50 -0
  529. package/_types/chains/zksync/actions/sendEip712Transaction.d.ts.map +1 -0
  530. package/_types/chains/zksync/actions/sendTransaction.d.ts +54 -0
  531. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -0
  532. package/_types/chains/zksync/actions/signEip712Transaction.d.ts +54 -0
  533. package/_types/chains/zksync/actions/signEip712Transaction.d.ts.map +1 -0
  534. package/_types/chains/zksync/actions/signTransaction.d.ts +56 -0
  535. package/_types/chains/zksync/actions/signTransaction.d.ts.map +1 -0
  536. package/_types/chains/zksync/chainConfig.d.ts +20 -16
  537. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  538. package/_types/chains/zksync/chains.d.ts +4 -0
  539. package/_types/chains/zksync/chains.d.ts.map +1 -0
  540. package/_types/chains/zksync/decorators/eip712.d.ts +151 -0
  541. package/_types/chains/zksync/decorators/eip712.d.ts.map +1 -0
  542. package/_types/chains/zksync/errors/transaction.d.ts +9 -0
  543. package/_types/chains/zksync/errors/transaction.d.ts.map +1 -0
  544. package/_types/chains/zksync/formatters.d.ts +12 -9
  545. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  546. package/_types/chains/zksync/index.d.ts +12 -1
  547. package/_types/chains/zksync/index.d.ts.map +1 -1
  548. package/_types/chains/zksync/serializers.d.ts +1 -2
  549. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  550. package/_types/chains/zksync/types/block.d.ts +15 -0
  551. package/_types/chains/zksync/types/block.d.ts.map +1 -0
  552. package/_types/chains/zksync/types/chain.d.ts +9 -0
  553. package/_types/chains/zksync/types/chain.d.ts.map +1 -0
  554. package/_types/chains/zksync/types/eip712.d.ts +27 -0
  555. package/_types/chains/zksync/types/eip712.d.ts.map +1 -0
  556. package/_types/chains/zksync/types/fee.d.ts +6 -0
  557. package/_types/chains/zksync/types/fee.d.ts.map +1 -0
  558. package/_types/chains/zksync/types/log.d.ts +41 -0
  559. package/_types/chains/zksync/types/log.d.ts.map +1 -0
  560. package/_types/chains/zksync/{types.d.ts → types/transaction.d.ts} +35 -71
  561. package/_types/chains/zksync/types/transaction.d.ts.map +1 -0
  562. package/_types/chains/zksync/utils/assertEip712Request.d.ts +8 -0
  563. package/_types/chains/zksync/utils/assertEip712Request.d.ts.map +1 -0
  564. package/_types/chains/zksync/utils/assertEip712Transaction.d.ts +3 -0
  565. package/_types/chains/zksync/utils/assertEip712Transaction.d.ts.map +1 -0
  566. package/_types/chains/zksync/utils/getEip712Domain.d.ts +4 -0
  567. package/_types/chains/zksync/utils/getEip712Domain.d.ts.map +1 -0
  568. package/_types/chains/zksync/utils/isEip712Transaction.d.ts +3 -0
  569. package/_types/chains/zksync/utils/isEip712Transaction.d.ts.map +1 -0
  570. package/_types/errors/chain.d.ts +1 -1
  571. package/_types/errors/chain.d.ts.map +1 -1
  572. package/_types/errors/version.d.ts +1 -1
  573. package/_types/types/chain.d.ts +3 -1
  574. package/_types/types/chain.d.ts.map +1 -1
  575. package/_types/types/transaction.d.ts +2 -0
  576. package/_types/types/transaction.d.ts.map +1 -1
  577. package/accounts/utils/sign.ts +2 -0
  578. package/chains/definitions/berachainTestnet.ts +21 -0
  579. package/chains/definitions/holesky.ts +8 -0
  580. package/chains/definitions/iotex.ts +6 -0
  581. package/chains/definitions/iotexTestnet.ts +1 -0
  582. package/chains/definitions/kcc.ts +30 -0
  583. package/chains/definitions/oortmainnetDev.ts +24 -0
  584. package/chains/definitions/zkSync.ts +3 -2
  585. package/chains/index.ts +3 -0
  586. package/chains/zksync/actions/sendEip712Transaction.ts +129 -0
  587. package/chains/zksync/actions/sendTransaction.ts +78 -0
  588. package/chains/zksync/actions/signEip712Transaction.ts +150 -0
  589. package/chains/zksync/actions/signTransaction.ts +95 -0
  590. package/chains/zksync/chainConfig.ts +4 -0
  591. package/chains/zksync/chains.ts +3 -0
  592. package/chains/zksync/decorators/eip712.ts +186 -0
  593. package/chains/zksync/errors/transaction.ts +21 -0
  594. package/chains/zksync/formatters.ts +6 -5
  595. package/chains/zksync/index.ts +51 -4
  596. package/chains/zksync/serializers.ts +6 -50
  597. package/chains/zksync/types/block.ts +34 -0
  598. package/chains/zksync/types/chain.ts +28 -0
  599. package/chains/zksync/types/eip712.ts +31 -0
  600. package/chains/zksync/types/fee.ts +5 -0
  601. package/chains/zksync/types/log.ts +57 -0
  602. package/chains/zksync/{types.ts → types/transaction.ts} +50 -122
  603. package/chains/zksync/utils/assertEip712Request.ts +18 -0
  604. package/chains/zksync/utils/assertEip712Transaction.ts +35 -0
  605. package/chains/zksync/utils/getEip712Domain.ts +83 -0
  606. package/chains/zksync/utils/isEip712Transaction.ts +17 -0
  607. package/errors/chain.ts +6 -2
  608. package/errors/version.ts +1 -1
  609. package/package.json +1 -1
  610. package/types/chain.ts +5 -0
  611. package/types/transaction.ts +2 -0
  612. package/_cjs/chains/zksync/types.js.map +0 -1
  613. package/_esm/chains/zksync/types.js +0 -2
  614. package/_esm/chains/zksync/types.js.map +0 -1
  615. package/_types/chains/zksync/types.d.ts.map +0 -1
@@ -0,0 +1,186 @@
1
+ import { writeContract } from '../../../actions/wallet/writeContract.js'
2
+ import type { Client } from '../../../clients/createClient.js'
3
+ import type { WalletActions } from '../../../clients/decorators/wallet.js'
4
+ import type { Transport } from '../../../clients/transports/createTransport.js'
5
+ import type { Account } from '../../../types/account.js'
6
+ import {
7
+ type SendTransactionParameters,
8
+ type SendTransactionReturnType,
9
+ sendTransaction,
10
+ } from '../actions/sendTransaction.js'
11
+ import {
12
+ type SignTransactionParameters,
13
+ type SignTransactionReturnType,
14
+ signTransaction,
15
+ } from '../actions/signTransaction.js'
16
+ import type { ChainEIP712 } from '../types/chain.js'
17
+
18
+ export type Eip712WalletActions<
19
+ chain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
20
+ account extends Account | undefined = Account | undefined,
21
+ > = {
22
+ /**
23
+ * Creates, signs, and sends a new transaction to the network.
24
+ *
25
+ * - Docs: https://viem.sh/docs/zksync/actions/sendTransaction
26
+ * - JSON-RPC Methods:
27
+ * - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction)
28
+ * - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction)
29
+ *
30
+ * @param client - Client to use
31
+ * @param parameters - {@link SendTransactionParameters}
32
+ * @returns The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. {@link SendTransactionReturnType}
33
+ *
34
+ * @example
35
+ * import { createWalletClient, custom } from 'viem'
36
+ * import { zkSync } from 'viem/chains'
37
+ * import { eip712WalletActions } from 'viem/zksync'
38
+ *
39
+ * const client = createWalletClient({
40
+ * chain: zkSync,
41
+ * transport: custom(window.ethereum),
42
+ * }).extend(eip712WalletActions())
43
+ * const hash = await client.sendTransaction({
44
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
45
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
46
+ * value: 1000000000000000000n,
47
+ * })
48
+ *
49
+ * @example
50
+ * // Account Hoisting
51
+ * import { createWalletClient, http } from 'viem'
52
+ * import { privateKeyToAccount } from 'viem/accounts'
53
+ * import { zkSync } from 'viem/chains'
54
+ * import { eip712WalletActions } from 'viem/zksync'
55
+ *
56
+ * const client = createWalletClient({
57
+ * account: privateKeyToAccount('0x…'),
58
+ * chain: zkSync,
59
+ * transport: http(),
60
+ * }).extend(eip712WalletActions())
61
+ * const hash = await client.sendTransaction({
62
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
63
+ * value: 1000000000000000000n,
64
+ * })
65
+ */
66
+ sendTransaction: <chainOverride extends ChainEIP712 | undefined = undefined>(
67
+ args: SendTransactionParameters<chain, account, chainOverride>,
68
+ ) => Promise<SendTransactionReturnType>
69
+ /**
70
+ * Signs a transaction.
71
+ *
72
+ * - Docs: https://viem.sh/docs/actions/wallet/signTransaction
73
+ * - JSON-RPC Methods:
74
+ * - JSON-RPC Accounts: [`eth_signTransaction`](https://ethereum.github.io/execution-apis/api-documentation/)
75
+ * - Local Accounts: Signs locally. No JSON-RPC request.
76
+ *
77
+ * @param args - {@link SignTransactionParameters}
78
+ * @returns The signed serialized tranasction. {@link SignTransactionReturnType}
79
+ *
80
+ * @example
81
+ * import { createWalletClient, custom } from 'viem'
82
+ * import { zkSync } from 'viem/chains'
83
+ * import { eip712WalletActions } from 'viem/zksync'
84
+ *
85
+ * const client = createWalletClient({
86
+ * chain: zkSync,
87
+ * transport: custom(window.ethereum),
88
+ * }).extend(eip712WalletActions())
89
+ * const signature = await client.signTransaction({
90
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
91
+ * to: '0x0000000000000000000000000000000000000000',
92
+ * value: 1n,
93
+ * })
94
+ *
95
+ * @example
96
+ * // Account Hoisting
97
+ * import { createWalletClient, http } from 'viem'
98
+ * import { privateKeyToAccount } from 'viem/accounts'
99
+ * import { zkSync } from 'viem/chains'
100
+ * import { eip712WalletActions } from 'viem/zksync'
101
+ *
102
+ * const client = createWalletClient({
103
+ * account: privateKeyToAccount('0x…'),
104
+ * chain: zkSync,
105
+ * transport: custom(window.ethereum),
106
+ * }).extend(eip712WalletActions())
107
+ * const signature = await client.signTransaction({
108
+ * to: '0x0000000000000000000000000000000000000000',
109
+ * value: 1n,
110
+ * })
111
+ */
112
+ signTransaction: <chainOverride extends ChainEIP712 | undefined = undefined>(
113
+ args: SignTransactionParameters<chain, account, chainOverride>,
114
+ ) => Promise<SignTransactionReturnType>
115
+ /**
116
+ * Executes a write function on a contract.
117
+ *
118
+ * - Docs: https://viem.sh/docs/contract/writeContract
119
+ * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/writing-to-contracts
120
+ *
121
+ * A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms) is needed to be broadcast in order to change the state.
122
+ *
123
+ * Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData).
124
+ *
125
+ * __Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract#usage) before you execute it.__
126
+ *
127
+ * @param client - Client to use
128
+ * @param parameters - {@link WriteContractParameters}
129
+ * @returns A [Transaction Hash](https://viem.sh/docs/glossary/terms#hash). {@link WriteContractReturnType}
130
+ *
131
+ * @example
132
+ * import { createWalletClient, custom, parseAbi } from 'viem'
133
+ * import { zkSync } from 'viem/chains'
134
+ * import { eip712WalletActions } from 'viem/zksync'
135
+ *
136
+ * const client = createWalletClient({
137
+ * chain: zkSync,
138
+ * transport: custom(window.ethereum),
139
+ * }).extend(eip712WalletActions())
140
+ * const hash = await client.writeContract({
141
+ * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
142
+ * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),
143
+ * functionName: 'mint',
144
+ * args: [69420],
145
+ * })
146
+ *
147
+ * @example
148
+ * // With Validation
149
+ * import { createWalletClient, http, parseAbi } from 'viem'
150
+ * import { zkSync } from 'viem/chains'
151
+ * import { eip712WalletActions } from 'viem/zksync'
152
+ *
153
+ * const client = createWalletClient({
154
+ * chain: zkSync,
155
+ * transport: http(),
156
+ * }).extend(eip712WalletActions())
157
+ * const { request } = await client.simulateContract({
158
+ * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
159
+ * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),
160
+ * functionName: 'mint',
161
+ * args: [69420],
162
+ * }
163
+ * const hash = await client.writeContract(request)
164
+ */
165
+ writeContract: WalletActions<chain, account>['writeContract']
166
+ }
167
+
168
+ export function eip712WalletActions() {
169
+ return <
170
+ transport extends Transport,
171
+ chain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
172
+ account extends Account | undefined = Account | undefined,
173
+ >(
174
+ client: Client<transport, chain, account>,
175
+ ): Eip712WalletActions<chain, account> => ({
176
+ sendTransaction: (args) => sendTransaction(client, args),
177
+ signTransaction: (args) => signTransaction(client, args),
178
+ writeContract: (args) =>
179
+ writeContract(
180
+ Object.assign(client, {
181
+ sendTransaction: (args: any) => sendTransaction(client, args),
182
+ }),
183
+ args,
184
+ ),
185
+ })
186
+ }
@@ -0,0 +1,21 @@
1
+ import { BaseError } from '../../../errors/base.js'
2
+
3
+ export type InvalidEip712TransactionErrorType =
4
+ InvalidEip712TransactionError & {
5
+ name: 'InvalidEip712TransactionError'
6
+ }
7
+ export class InvalidEip712TransactionError extends BaseError {
8
+ override name = 'InvalidEip712TransactionError'
9
+
10
+ constructor() {
11
+ super(
12
+ [
13
+ 'Transaction is not an EIP712 transaction.',
14
+ '',
15
+ 'Transaction must:',
16
+ ' - include `type: "eip712"`',
17
+ ' - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`',
18
+ ].join('\n'),
19
+ )
20
+ }
21
+ }
@@ -10,16 +10,17 @@ import { defineTransactionReceipt } from '../../utils/formatters/transactionRece
10
10
  import { defineTransactionRequest } from '../../utils/formatters/transactionRequest.js'
11
11
  import type {
12
12
  ZkSyncBlockOverrides,
13
- ZkSyncL2ToL1Log,
14
- ZkSyncLog,
15
13
  ZkSyncRpcBlockOverrides,
14
+ } from './types/block.js'
15
+ import type { ZkSyncL2ToL1Log, ZkSyncLog } from './types/log.js'
16
+ import type {
16
17
  ZkSyncRpcTransaction,
17
18
  ZkSyncRpcTransactionReceiptOverrides,
18
19
  ZkSyncRpcTransactionRequest,
19
20
  ZkSyncTransaction,
20
21
  ZkSyncTransactionReceipt,
21
22
  ZkSyncTransactionRequest,
22
- } from './types.js'
23
+ } from './types/transaction.js'
23
24
 
24
25
  export const formatters = {
25
26
  block: /*#__PURE__*/ defineBlock({
@@ -32,7 +33,7 @@ export const formatters = {
32
33
  } {
33
34
  const transactions = args.transactions?.map((transaction) => {
34
35
  if (typeof transaction === 'string') return transaction
35
- const formatted = formatters.transaction.format(
36
+ const formatted = formatters.transaction?.format(
36
37
  transaction as ZkSyncRpcTransaction,
37
38
  ) as ZkSyncTransaction
38
39
  if (formatted.typeHex === '0x71') formatted.type = 'eip712'
@@ -140,7 +141,7 @@ export const formatters = {
140
141
  }
141
142
  : {}),
142
143
  },
143
- type: args.type === 'eip712' ? '0x71' : '0xff',
144
+ type: '0x71',
144
145
  } as ZkSyncRpcTransactionRequest
145
146
  return {} as ZkSyncRpcTransactionRequest
146
147
  },
@@ -1,18 +1,65 @@
1
+ export {
2
+ type SendTransactionErrorType,
3
+ type SendTransactionParameters,
4
+ type SendTransactionReturnType,
5
+ sendTransaction,
6
+ } from './actions/sendTransaction.js'
7
+ export {
8
+ type SendEip712TransactionErrorType,
9
+ type SendEip712TransactionParameters,
10
+ type SendEip712TransactionReturnType,
11
+ sendEip712Transaction,
12
+ } from './actions/sendEip712Transaction.js'
13
+ export {
14
+ type SignEip712TransactionErrorType,
15
+ type SignEip712TransactionParameters,
16
+ type SignEip712TransactionReturnType,
17
+ signEip712Transaction,
18
+ } from './actions/signEip712Transaction.js'
19
+ export {
20
+ type SignTransactionErrorType,
21
+ type SignTransactionParameters,
22
+ type SignTransactionReturnType,
23
+ signTransaction,
24
+ } from './actions/signTransaction.js'
25
+
26
+ export {
27
+ zkSync,
28
+ zkSyncTestnet,
29
+ zkSyncSepoliaTestnet,
30
+ } from './chains.js'
31
+
1
32
  export { chainConfig } from './chainConfig.js'
2
33
 
34
+ export {
35
+ eip712WalletActions,
36
+ type Eip712WalletActions,
37
+ } from './decorators/eip712.js'
38
+
3
39
  export { serializeTransaction } from './serializers.js'
4
40
 
5
41
  export type {
6
42
  ZkSyncBlock,
7
43
  ZkSyncBlockOverrides,
44
+ ZkSyncRpcBlock,
45
+ ZkSyncRpcBlockOverrides,
46
+ } from './types/block.js'
47
+ export type { ChainEIP712 } from './types/chain.js'
48
+ export type {
49
+ EIP712Domain,
50
+ EIP712DomainFn,
8
51
  ZkSyncEip712Meta,
9
- ZkSyncFeeValues,
52
+ } from './types/eip712.js'
53
+ export type { ZkSyncFeeValues } from './types/fee.js'
54
+ export type {
10
55
  ZkSyncL2ToL1Log,
11
56
  ZkSyncLog,
12
- ZkSyncRpcBlock,
13
- ZkSyncRpcBlockOverrides,
14
57
  ZkSyncRpcL2ToL1Log,
15
58
  ZkSyncRpcLog,
59
+ } from './types/log.js'
60
+ export type {
61
+ TransactionRequestEIP712,
62
+ ZkSyncEIP712TransactionSignable,
16
63
  ZkSyncRpcTransaction,
17
64
  ZkSyncRpcTransactionEIP712,
18
65
  ZkSyncRpcTransactionPriority,
@@ -30,4 +77,4 @@ export type {
30
77
  ZkSyncTransactionSerialized,
31
78
  ZkSyncTransactionSerializedEIP712,
32
79
  ZkSyncTransactionType,
33
- } from './types.js'
80
+ } from './types/transaction.js'
@@ -1,9 +1,5 @@
1
- import { InvalidAddressError } from '../../errors/address.js'
2
- import { BaseError } from '../../errors/base.js'
3
- import { InvalidChainIdError } from '../../errors/chain.js'
4
1
  import type { ChainSerializers } from '../../types/chain.js'
5
2
  import type { TransactionSerializable } from '../../types/transaction.js'
6
- import { isAddress } from '../../utils/address/isAddress.js'
7
3
  import { concatHex } from '../../utils/data/concat.js'
8
4
  import { toHex } from '../../utils/encoding/toHex.js'
9
5
  import { toRlp } from '../../utils/encoding/toRlp.js'
@@ -15,12 +11,14 @@ import type {
15
11
  ZkSyncTransactionSerializable,
16
12
  ZkSyncTransactionSerializableEIP712,
17
13
  ZkSyncTransactionSerializedEIP712,
18
- } from './types.js'
14
+ } from './types/transaction.js'
15
+ import { assertEip712Transaction } from './utils/assertEip712Transaction.js'
16
+ import { isEIP712Transaction } from './utils/isEip712Transaction.js'
19
17
 
20
18
  export const serializeTransaction: SerializeTransactionFn<
21
19
  ZkSyncTransactionSerializable
22
20
  > = (tx, signature) => {
23
- if (isEIP712(tx))
21
+ if (isEIP712Transaction(tx))
24
22
  return serializeTransactionEIP712(tx as ZkSyncTransactionSerializableEIP712)
25
23
  return serializeTransaction_(tx as TransactionSerializable, signature)
26
24
  }
@@ -29,9 +27,6 @@ export const serializers = {
29
27
  transaction: serializeTransaction,
30
28
  } as const satisfies ChainSerializers
31
29
 
32
- //////////////////////////////////////////////////////////////////////////////
33
- // Serializers
34
-
35
30
  export type SerializeTransactionEIP712ReturnType =
36
31
  ZkSyncTransactionSerializedEIP712
37
32
 
@@ -55,7 +50,7 @@ function serializeTransactionEIP712(
55
50
  data,
56
51
  } = transaction
57
52
 
58
- assertTransactionEIP712(transaction)
53
+ assertEip712Transaction(transaction)
59
54
 
60
55
  const serializedTransaction = [
61
56
  nonce ? toHex(nonce) : '0x',
@@ -64,7 +59,7 @@ function serializeTransactionEIP712(
64
59
  gas ? toHex(gas) : '0x',
65
60
  to ?? '0x',
66
61
  value ? toHex(value) : '0x',
67
- data ?? '0x',
62
+ data ?? '0x0',
68
63
  toHex(chainId),
69
64
  toHex(''),
70
65
  toHex(''),
@@ -81,42 +76,3 @@ function serializeTransactionEIP712(
81
76
  toRlp(serializedTransaction),
82
77
  ]) as SerializeTransactionEIP712ReturnType
83
78
  }
84
-
85
- //////////////////////////////////////////////////////////////////////////////
86
- // Utilities
87
-
88
- function isEIP712(transaction: ZkSyncTransactionSerializable) {
89
- if (
90
- 'customSignature' in transaction ||
91
- 'paymaster' in transaction ||
92
- 'paymasterInput' in transaction ||
93
- 'gasPerPubdata' in transaction ||
94
- 'factoryDeps' in transaction
95
- )
96
- return true
97
- return false
98
- }
99
-
100
- export function assertTransactionEIP712(
101
- transaction: ZkSyncTransactionSerializableEIP712,
102
- ) {
103
- const { chainId, to, from, paymaster, paymasterInput } = transaction
104
- if (chainId <= 0) throw new InvalidChainIdError({ chainId })
105
-
106
- if (to && !isAddress(to)) throw new InvalidAddressError({ address: to })
107
- if (from && !isAddress(from)) throw new InvalidAddressError({ address: from })
108
- if (paymaster && !isAddress(paymaster))
109
- throw new InvalidAddressError({ address: paymaster })
110
-
111
- if (paymaster && !paymasterInput) {
112
- throw new BaseError(
113
- '`paymasterInput` must be provided when `paymaster` is defined',
114
- )
115
- }
116
-
117
- if (!paymaster && paymasterInput) {
118
- throw new BaseError(
119
- '`paymaster` must be provided when `paymasterInput` is defined',
120
- )
121
- }
122
- }
@@ -0,0 +1,34 @@
1
+ import type { Block, BlockTag } from '../../../types/block.js'
2
+ import type { Hex } from '../../../types/misc.js'
3
+ import type { RpcBlock } from '../../../types/rpc.js'
4
+ import type { ZkSyncRpcTransaction, ZkSyncTransaction } from './transaction.js'
5
+
6
+ export type ZkSyncBlockOverrides = {
7
+ l1BatchNumber: bigint | null
8
+ l1BatchTimestamp: bigint | null
9
+ }
10
+
11
+ export type ZkSyncBlock<
12
+ TIncludeTransactions extends boolean = boolean,
13
+ TBlockTag extends BlockTag = BlockTag,
14
+ > = Block<
15
+ bigint,
16
+ TIncludeTransactions,
17
+ TBlockTag,
18
+ ZkSyncTransaction<TBlockTag extends 'pending' ? true : false>
19
+ > &
20
+ ZkSyncBlockOverrides
21
+
22
+ export type ZkSyncRpcBlockOverrides = {
23
+ l1BatchNumber: Hex | null
24
+ l1BatchTimestamp: Hex | null
25
+ }
26
+ export type ZkSyncRpcBlock<
27
+ TBlockTag extends BlockTag = BlockTag,
28
+ TIncludeTransactions extends boolean = boolean,
29
+ > = RpcBlock<
30
+ TBlockTag,
31
+ TIncludeTransactions,
32
+ ZkSyncRpcTransaction<TBlockTag extends 'pending' ? true : false>
33
+ > &
34
+ ZkSyncRpcBlockOverrides
@@ -0,0 +1,28 @@
1
+ import type { ChainFormatters } from '../../../types/chain.js'
2
+ import type { Chain, ChainFormatter } from '../../../types/chain.js'
3
+ import type {
4
+ TransactionSerializable,
5
+ TransactionSerializableGeneric,
6
+ } from '../../../types/transaction.js'
7
+ import type { EIP712DomainFn } from './eip712.js'
8
+
9
+ export type ChainEIP712<
10
+ formatters extends ChainFormatters | undefined = ChainFormatters | undefined,
11
+ TransactionSignable = {},
12
+ > = Chain<
13
+ formatters,
14
+ {
15
+ /** Return EIP712 Domain for EIP712 transaction */
16
+ getEip712Domain?:
17
+ | EIP712DomainFn<
18
+ formatters extends ChainFormatters
19
+ ? formatters['transactionRequest'] extends ChainFormatter
20
+ ? TransactionSerializableGeneric &
21
+ Parameters<formatters['transactionRequest']['format']>[0]
22
+ : TransactionSerializable
23
+ : TransactionSerializable,
24
+ TransactionSignable
25
+ >
26
+ | undefined
27
+ }
28
+ >
@@ -0,0 +1,31 @@
1
+ import type { Address, TypedDataDomain } from 'abitype'
2
+ import type { Hex } from '../../../types/misc.js'
3
+ import type { TransactionSerializable } from '../../../types/transaction.js'
4
+
5
+ type PaymasterParams = {
6
+ paymaster: Address
7
+ paymasterInput: number[]
8
+ }
9
+
10
+ export type ZkSyncEip712Meta = {
11
+ gasPerPubdata?: Hex
12
+ factoryDeps?: Hex[]
13
+ customSignature?: Hex
14
+ paymasterParams?: PaymasterParams
15
+ }
16
+
17
+ type EIP712FieldType = 'uint256' | 'bytes' | 'bytes32[]'
18
+ type EIP712Field = { name: string; type: EIP712FieldType }
19
+
20
+ export type EIP712Domain<TransactionSignable> = {
21
+ domain: TypedDataDomain
22
+ types: Record<string, EIP712Field[]>
23
+ primaryType: string
24
+ message: TransactionSignable
25
+ }
26
+
27
+ export type EIP712DomainFn<
28
+ TTransactionSerializable extends
29
+ TransactionSerializable = TransactionSerializable,
30
+ TransactionSignable = {},
31
+ > = (transaction: TTransactionSerializable) => EIP712Domain<TransactionSignable>
@@ -0,0 +1,5 @@
1
+ export type ZkSyncFeeValues<TQuantity = bigint> = {
2
+ gasPrice: TQuantity
3
+ maxFeePerGas: TQuantity
4
+ maxPriorityFeePerGas: TQuantity
5
+ }
@@ -0,0 +1,57 @@
1
+ import type { Abi, AbiEvent } from 'abitype'
2
+ import type { Log as Log_ } from '../../../types/log.js'
3
+ import type { Hex } from '../../../types/misc.js'
4
+ import type { RpcLog as RpcLog_ } from '../../../types/rpc.js'
5
+
6
+ export type ZkSyncLog<
7
+ TQuantity = bigint,
8
+ TIndex = number,
9
+ TPending extends boolean = boolean,
10
+ TAbiEvent extends AbiEvent | undefined = undefined,
11
+ TStrict extends boolean | undefined = undefined,
12
+ TAbi extends Abi | readonly unknown[] | undefined = TAbiEvent extends AbiEvent
13
+ ? [TAbiEvent]
14
+ : undefined,
15
+ TEventName extends string | undefined = TAbiEvent extends AbiEvent
16
+ ? TAbiEvent['name']
17
+ : undefined,
18
+ > = Log_<TQuantity, TIndex, TPending, TAbiEvent, TStrict, TAbi, TEventName> & {
19
+ l1BatchNumber: TQuantity | null
20
+ transactionLogIndex: TIndex
21
+ logType: Hex | null
22
+ }
23
+
24
+ export type ZkSyncRpcLog = RpcLog_ & {
25
+ l1BatchNumber: Hex | null
26
+ // These are returned but doesn't apear in Log structure neither is mentioned in https://era.zksync.io/docs/api/js/types
27
+ transactionLogIndex: Hex
28
+ logType: Hex | null
29
+ }
30
+
31
+ export type ZkSyncL2ToL1Log = {
32
+ blockNumber: bigint
33
+ blockHash: string
34
+ l1BatchNumber: bigint
35
+ transactionIndex: bigint
36
+ shardId: bigint
37
+ isService: boolean
38
+ sender: string
39
+ key: string
40
+ value: string
41
+ transactionHash: string
42
+ logIndex: bigint
43
+ }
44
+
45
+ export type ZkSyncRpcL2ToL1Log = {
46
+ blockNumber: Hex
47
+ blockHash: Hex
48
+ l1BatchNumber: Hex
49
+ transactionIndex: Hex
50
+ shardId: Hex
51
+ isService: boolean
52
+ sender: Hex
53
+ key: Hex
54
+ value: Hex
55
+ transactionHash: Hex
56
+ logIndex: Hex
57
+ }