viem 0.0.0-main.20240128T060353 → 0.0.0-main.20240128T234036

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 (563) hide show
  1. package/_cjs/chains/zksync/actions/sendEip712Transaction.js +52 -0
  2. package/_cjs/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
  3. package/_cjs/chains/zksync/actions/sendTransaction.js +13 -0
  4. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -0
  5. package/_cjs/chains/zksync/actions/signEip712Transaction.js +52 -0
  6. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -0
  7. package/_cjs/chains/zksync/actions/signTransaction.js +13 -0
  8. package/_cjs/chains/zksync/actions/signTransaction.js.map +1 -0
  9. package/_cjs/chains/zksync/chainConfig.js +4 -0
  10. package/_cjs/chains/zksync/chainConfig.js.map +1 -1
  11. package/_cjs/chains/zksync/chains.js +10 -0
  12. package/_cjs/chains/zksync/chains.js.map +1 -0
  13. package/_cjs/chains/zksync/decorators/eip712.js +17 -0
  14. package/_cjs/chains/zksync/decorators/eip712.js.map +1 -0
  15. package/_cjs/chains/zksync/errors/transaction.js +23 -0
  16. package/_cjs/chains/zksync/errors/transaction.js.map +1 -0
  17. package/_cjs/chains/zksync/formatters.js +2 -2
  18. package/_cjs/chains/zksync/formatters.js.map +1 -1
  19. package/_cjs/chains/zksync/index.js +15 -1
  20. package/_cjs/chains/zksync/index.js.map +1 -1
  21. package/_cjs/chains/zksync/serializers.js +6 -35
  22. package/_cjs/chains/zksync/serializers.js.map +1 -1
  23. package/_cjs/chains/zksync/{types.js → types/block.js} +1 -1
  24. package/_cjs/chains/zksync/types/block.js.map +1 -0
  25. package/_cjs/chains/zksync/types/chain.js +3 -0
  26. package/_cjs/chains/zksync/types/chain.js.map +1 -0
  27. package/_cjs/chains/zksync/types/eip712.js +3 -0
  28. package/_cjs/chains/zksync/types/eip712.js.map +1 -0
  29. package/_cjs/chains/zksync/types/fee.js +3 -0
  30. package/_cjs/chains/zksync/types/fee.js.map +1 -0
  31. package/_cjs/chains/zksync/types/log.js +3 -0
  32. package/_cjs/chains/zksync/types/log.js.map +1 -0
  33. package/_cjs/chains/zksync/types/transaction.js +3 -0
  34. package/_cjs/chains/zksync/types/transaction.js.map +1 -0
  35. package/_cjs/chains/zksync/utils/assertEip712Request.js +13 -0
  36. package/_cjs/chains/zksync/utils/assertEip712Request.js.map +1 -0
  37. package/_cjs/chains/zksync/utils/assertEip712Transaction.js +30 -0
  38. package/_cjs/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
  39. package/_cjs/chains/zksync/utils/getEip712Domain.js +54 -0
  40. package/_cjs/chains/zksync/utils/getEip712Domain.js.map +1 -0
  41. package/_cjs/chains/zksync/utils/isEip712Transaction.js +17 -0
  42. package/_cjs/chains/zksync/utils/isEip712Transaction.js.map +1 -0
  43. package/_cjs/clients/createClient.js.map +1 -1
  44. package/_cjs/errors/chain.js +3 -1
  45. package/_cjs/errors/chain.js.map +1 -1
  46. package/_cjs/errors/version.js +1 -1
  47. package/_esm/chains/zksync/actions/sendEip712Transaction.js +91 -0
  48. package/_esm/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
  49. package/_esm/chains/zksync/actions/sendTransaction.js +54 -0
  50. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -0
  51. package/_esm/chains/zksync/actions/signEip712Transaction.js +86 -0
  52. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -0
  53. package/_esm/chains/zksync/actions/signTransaction.js +49 -0
  54. package/_esm/chains/zksync/actions/signTransaction.js.map +1 -0
  55. package/_esm/chains/zksync/chainConfig.js +4 -0
  56. package/_esm/chains/zksync/chainConfig.js.map +1 -1
  57. package/_esm/chains/zksync/chains.js +4 -0
  58. package/_esm/chains/zksync/chains.js.map +1 -0
  59. package/_esm/chains/zksync/decorators/eip712.js +13 -0
  60. package/_esm/chains/zksync/decorators/eip712.js.map +1 -0
  61. package/_esm/chains/zksync/errors/transaction.js +19 -0
  62. package/_esm/chains/zksync/errors/transaction.js.map +1 -0
  63. package/_esm/chains/zksync/formatters.js +2 -2
  64. package/_esm/chains/zksync/formatters.js.map +1 -1
  65. package/_esm/chains/zksync/index.js +6 -0
  66. package/_esm/chains/zksync/index.js.map +1 -1
  67. package/_esm/chains/zksync/serializers.js +5 -35
  68. package/_esm/chains/zksync/serializers.js.map +1 -1
  69. package/_esm/chains/zksync/types/block.js +2 -0
  70. package/_esm/chains/zksync/types/block.js.map +1 -0
  71. package/_esm/chains/zksync/types/chain.js +2 -0
  72. package/_esm/chains/zksync/types/chain.js.map +1 -0
  73. package/_esm/chains/zksync/types/eip712.js +2 -0
  74. package/_esm/chains/zksync/types/eip712.js.map +1 -0
  75. package/_esm/chains/zksync/types/fee.js +2 -0
  76. package/_esm/chains/zksync/types/fee.js.map +1 -0
  77. package/_esm/chains/zksync/types/log.js +2 -0
  78. package/_esm/chains/zksync/types/log.js.map +1 -0
  79. package/_esm/chains/zksync/types/transaction.js +2 -0
  80. package/_esm/chains/zksync/types/transaction.js.map +1 -0
  81. package/_esm/chains/zksync/utils/assertEip712Request.js +9 -0
  82. package/_esm/chains/zksync/utils/assertEip712Request.js.map +1 -0
  83. package/_esm/chains/zksync/utils/assertEip712Transaction.js +26 -0
  84. package/_esm/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
  85. package/_esm/chains/zksync/utils/getEip712Domain.js +52 -0
  86. package/_esm/chains/zksync/utils/getEip712Domain.js.map +1 -0
  87. package/_esm/chains/zksync/utils/isEip712Transaction.js +13 -0
  88. package/_esm/chains/zksync/utils/isEip712Transaction.js.map +1 -0
  89. package/_esm/clients/createClient.js.map +1 -1
  90. package/_esm/errors/chain.js +3 -1
  91. package/_esm/errors/chain.js.map +1 -1
  92. package/_esm/errors/version.js +1 -1
  93. package/_types/chains/definitions/acala.d.ts +1 -0
  94. package/_types/chains/definitions/acala.d.ts.map +1 -1
  95. package/_types/chains/definitions/arbitrum.d.ts +1 -0
  96. package/_types/chains/definitions/arbitrum.d.ts.map +1 -1
  97. package/_types/chains/definitions/arbitrumGoerli.d.ts +1 -0
  98. package/_types/chains/definitions/arbitrumGoerli.d.ts.map +1 -1
  99. package/_types/chains/definitions/arbitrumNova.d.ts +1 -0
  100. package/_types/chains/definitions/arbitrumNova.d.ts.map +1 -1
  101. package/_types/chains/definitions/arbitrumSepolia.d.ts +1 -0
  102. package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
  103. package/_types/chains/definitions/astar.d.ts +1 -0
  104. package/_types/chains/definitions/astar.d.ts.map +1 -1
  105. package/_types/chains/definitions/astarZkatana.d.ts +1 -0
  106. package/_types/chains/definitions/astarZkatana.d.ts.map +1 -1
  107. package/_types/chains/definitions/aurora.d.ts +1 -0
  108. package/_types/chains/definitions/aurora.d.ts.map +1 -1
  109. package/_types/chains/definitions/auroraTestnet.d.ts +1 -0
  110. package/_types/chains/definitions/auroraTestnet.d.ts.map +1 -1
  111. package/_types/chains/definitions/avalanche.d.ts +1 -0
  112. package/_types/chains/definitions/avalanche.d.ts.map +1 -1
  113. package/_types/chains/definitions/avalancheFuji.d.ts +1 -0
  114. package/_types/chains/definitions/avalancheFuji.d.ts.map +1 -1
  115. package/_types/chains/definitions/bahamut.d.ts +1 -0
  116. package/_types/chains/definitions/bahamut.d.ts.map +1 -1
  117. package/_types/chains/definitions/base.d.ts +1 -0
  118. package/_types/chains/definitions/base.d.ts.map +1 -1
  119. package/_types/chains/definitions/baseGoerli.d.ts +1 -0
  120. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  121. package/_types/chains/definitions/baseSepolia.d.ts +1 -0
  122. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  123. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -0
  124. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts.map +1 -1
  125. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -0
  126. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts.map +1 -1
  127. package/_types/chains/definitions/berachainTestnet.d.ts +1 -0
  128. package/_types/chains/definitions/berachainTestnet.d.ts.map +1 -1
  129. package/_types/chains/definitions/bitTorrent.d.ts +1 -0
  130. package/_types/chains/definitions/bitTorrent.d.ts.map +1 -1
  131. package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -0
  132. package/_types/chains/definitions/bitTorrentTestnet.d.ts.map +1 -1
  133. package/_types/chains/definitions/blastSepolia.d.ts +1 -0
  134. package/_types/chains/definitions/blastSepolia.d.ts.map +1 -1
  135. package/_types/chains/definitions/boba.d.ts +1 -0
  136. package/_types/chains/definitions/boba.d.ts.map +1 -1
  137. package/_types/chains/definitions/bronos.d.ts +1 -0
  138. package/_types/chains/definitions/bronos.d.ts.map +1 -1
  139. package/_types/chains/definitions/bronosTestnet.d.ts +1 -0
  140. package/_types/chains/definitions/bronosTestnet.d.ts.map +1 -1
  141. package/_types/chains/definitions/bsc.d.ts +1 -0
  142. package/_types/chains/definitions/bsc.d.ts.map +1 -1
  143. package/_types/chains/definitions/bscTestnet.d.ts +1 -0
  144. package/_types/chains/definitions/bscTestnet.d.ts.map +1 -1
  145. package/_types/chains/definitions/bxn.d.ts +1 -0
  146. package/_types/chains/definitions/bxn.d.ts.map +1 -1
  147. package/_types/chains/definitions/bxnTestnet.d.ts +1 -0
  148. package/_types/chains/definitions/bxnTestnet.d.ts.map +1 -1
  149. package/_types/chains/definitions/canto.d.ts +1 -0
  150. package/_types/chains/definitions/canto.d.ts.map +1 -1
  151. package/_types/chains/definitions/celo.d.ts +1 -0
  152. package/_types/chains/definitions/celo.d.ts.map +1 -1
  153. package/_types/chains/definitions/celoAlfajores.d.ts +1 -0
  154. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  155. package/_types/chains/definitions/chiliz.d.ts +1 -0
  156. package/_types/chains/definitions/chiliz.d.ts.map +1 -1
  157. package/_types/chains/definitions/classic.d.ts +1 -0
  158. package/_types/chains/definitions/classic.d.ts.map +1 -1
  159. package/_types/chains/definitions/confluxESpace.d.ts +1 -0
  160. package/_types/chains/definitions/confluxESpace.d.ts.map +1 -1
  161. package/_types/chains/definitions/confluxESpaceTestnet.d.ts +1 -0
  162. package/_types/chains/definitions/confluxESpaceTestnet.d.ts.map +1 -1
  163. package/_types/chains/definitions/coreDao.d.ts +1 -0
  164. package/_types/chains/definitions/coreDao.d.ts.map +1 -1
  165. package/_types/chains/definitions/cronos.d.ts +1 -0
  166. package/_types/chains/definitions/cronos.d.ts.map +1 -1
  167. package/_types/chains/definitions/cronosTestnet.d.ts +1 -0
  168. package/_types/chains/definitions/cronosTestnet.d.ts.map +1 -1
  169. package/_types/chains/definitions/crossbell.d.ts +1 -0
  170. package/_types/chains/definitions/crossbell.d.ts.map +1 -1
  171. package/_types/chains/definitions/defichainEvm.d.ts +1 -0
  172. package/_types/chains/definitions/defichainEvm.d.ts.map +1 -1
  173. package/_types/chains/definitions/defichainEvmTestnet.d.ts +1 -0
  174. package/_types/chains/definitions/defichainEvmTestnet.d.ts.map +1 -1
  175. package/_types/chains/definitions/dfk.d.ts +1 -0
  176. package/_types/chains/definitions/dfk.d.ts.map +1 -1
  177. package/_types/chains/definitions/dogechain.d.ts +1 -0
  178. package/_types/chains/definitions/dogechain.d.ts.map +1 -1
  179. package/_types/chains/definitions/edgeware.d.ts +1 -0
  180. package/_types/chains/definitions/edgeware.d.ts.map +1 -1
  181. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -0
  182. package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
  183. package/_types/chains/definitions/ekta.d.ts +1 -0
  184. package/_types/chains/definitions/ekta.d.ts.map +1 -1
  185. package/_types/chains/definitions/ektaTestnet.d.ts +1 -0
  186. package/_types/chains/definitions/ektaTestnet.d.ts.map +1 -1
  187. package/_types/chains/definitions/eon.d.ts +1 -0
  188. package/_types/chains/definitions/eon.d.ts.map +1 -1
  189. package/_types/chains/definitions/eos.d.ts +1 -0
  190. package/_types/chains/definitions/eos.d.ts.map +1 -1
  191. package/_types/chains/definitions/eosTestnet.d.ts +1 -0
  192. package/_types/chains/definitions/eosTestnet.d.ts.map +1 -1
  193. package/_types/chains/definitions/evmos.d.ts +1 -0
  194. package/_types/chains/definitions/evmos.d.ts.map +1 -1
  195. package/_types/chains/definitions/evmosTestnet.d.ts +1 -0
  196. package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
  197. package/_types/chains/definitions/fantom.d.ts +1 -0
  198. package/_types/chains/definitions/fantom.d.ts.map +1 -1
  199. package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -0
  200. package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -1
  201. package/_types/chains/definitions/fantomTestnet.d.ts +1 -0
  202. package/_types/chains/definitions/fantomTestnet.d.ts.map +1 -1
  203. package/_types/chains/definitions/fibo.d.ts +1 -0
  204. package/_types/chains/definitions/fibo.d.ts.map +1 -1
  205. package/_types/chains/definitions/filecoin.d.ts +1 -0
  206. package/_types/chains/definitions/filecoin.d.ts.map +1 -1
  207. package/_types/chains/definitions/filecoinCalibration.d.ts +1 -0
  208. package/_types/chains/definitions/filecoinCalibration.d.ts.map +1 -1
  209. package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -0
  210. package/_types/chains/definitions/filecoinHyperspace.d.ts.map +1 -1
  211. package/_types/chains/definitions/flare.d.ts +1 -0
  212. package/_types/chains/definitions/flare.d.ts.map +1 -1
  213. package/_types/chains/definitions/flareTestnet.d.ts +1 -0
  214. package/_types/chains/definitions/flareTestnet.d.ts.map +1 -1
  215. package/_types/chains/definitions/foundry.d.ts +1 -0
  216. package/_types/chains/definitions/foundry.d.ts.map +1 -1
  217. package/_types/chains/definitions/fuse.d.ts +1 -0
  218. package/_types/chains/definitions/fuse.d.ts.map +1 -1
  219. package/_types/chains/definitions/fuseSparknet.d.ts +1 -0
  220. package/_types/chains/definitions/fuseSparknet.d.ts.map +1 -1
  221. package/_types/chains/definitions/gnosis.d.ts +1 -0
  222. package/_types/chains/definitions/gnosis.d.ts.map +1 -1
  223. package/_types/chains/definitions/gnosisChiado.d.ts +1 -0
  224. package/_types/chains/definitions/gnosisChiado.d.ts.map +1 -1
  225. package/_types/chains/definitions/gobi.d.ts +1 -0
  226. package/_types/chains/definitions/gobi.d.ts.map +1 -1
  227. package/_types/chains/definitions/goerli.d.ts +1 -0
  228. package/_types/chains/definitions/goerli.d.ts.map +1 -1
  229. package/_types/chains/definitions/haqqMainnet.d.ts +1 -0
  230. package/_types/chains/definitions/haqqMainnet.d.ts.map +1 -1
  231. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -0
  232. package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
  233. package/_types/chains/definitions/hardhat.d.ts +1 -0
  234. package/_types/chains/definitions/hardhat.d.ts.map +1 -1
  235. package/_types/chains/definitions/harmonyOne.d.ts +1 -0
  236. package/_types/chains/definitions/harmonyOne.d.ts.map +1 -1
  237. package/_types/chains/definitions/holesky.d.ts +1 -0
  238. package/_types/chains/definitions/holesky.d.ts.map +1 -1
  239. package/_types/chains/definitions/iotex.d.ts +1 -0
  240. package/_types/chains/definitions/iotex.d.ts.map +1 -1
  241. package/_types/chains/definitions/iotexTestnet.d.ts +1 -0
  242. package/_types/chains/definitions/iotexTestnet.d.ts.map +1 -1
  243. package/_types/chains/definitions/jbc.d.ts +1 -0
  244. package/_types/chains/definitions/jbc.d.ts.map +1 -1
  245. package/_types/chains/definitions/karura.d.ts +1 -0
  246. package/_types/chains/definitions/karura.d.ts.map +1 -1
  247. package/_types/chains/definitions/kava.d.ts +1 -0
  248. package/_types/chains/definitions/kava.d.ts.map +1 -1
  249. package/_types/chains/definitions/kavaTestnet.d.ts +1 -0
  250. package/_types/chains/definitions/kavaTestnet.d.ts.map +1 -1
  251. package/_types/chains/definitions/kcc.d.ts +1 -0
  252. package/_types/chains/definitions/kcc.d.ts.map +1 -1
  253. package/_types/chains/definitions/klaytn.d.ts +1 -0
  254. package/_types/chains/definitions/klaytn.d.ts.map +1 -1
  255. package/_types/chains/definitions/klaytnBaobab.d.ts +1 -0
  256. package/_types/chains/definitions/klaytnBaobab.d.ts.map +1 -1
  257. package/_types/chains/definitions/kroma.d.ts +1 -0
  258. package/_types/chains/definitions/kroma.d.ts.map +1 -1
  259. package/_types/chains/definitions/kromaSepolia.d.ts +1 -0
  260. package/_types/chains/definitions/kromaSepolia.d.ts.map +1 -1
  261. package/_types/chains/definitions/lightlinkPegasus.d.ts +1 -0
  262. package/_types/chains/definitions/lightlinkPegasus.d.ts.map +1 -1
  263. package/_types/chains/definitions/lightlinkPhoenix.d.ts +1 -0
  264. package/_types/chains/definitions/lightlinkPhoenix.d.ts.map +1 -1
  265. package/_types/chains/definitions/linea.d.ts +1 -0
  266. package/_types/chains/definitions/linea.d.ts.map +1 -1
  267. package/_types/chains/definitions/lineaTestnet.d.ts +1 -0
  268. package/_types/chains/definitions/lineaTestnet.d.ts.map +1 -1
  269. package/_types/chains/definitions/localhost.d.ts +1 -0
  270. package/_types/chains/definitions/localhost.d.ts.map +1 -1
  271. package/_types/chains/definitions/lukso.d.ts +1 -0
  272. package/_types/chains/definitions/lukso.d.ts.map +1 -1
  273. package/_types/chains/definitions/mainnet.d.ts +1 -0
  274. package/_types/chains/definitions/mainnet.d.ts.map +1 -1
  275. package/_types/chains/definitions/mandala.d.ts +1 -0
  276. package/_types/chains/definitions/mandala.d.ts.map +1 -1
  277. package/_types/chains/definitions/manta.d.ts +1 -0
  278. package/_types/chains/definitions/manta.d.ts.map +1 -1
  279. package/_types/chains/definitions/mantaTestnet.d.ts +1 -0
  280. package/_types/chains/definitions/mantaTestnet.d.ts.map +1 -1
  281. package/_types/chains/definitions/mantle.d.ts +1 -0
  282. package/_types/chains/definitions/mantle.d.ts.map +1 -1
  283. package/_types/chains/definitions/mantleTestnet.d.ts +1 -0
  284. package/_types/chains/definitions/mantleTestnet.d.ts.map +1 -1
  285. package/_types/chains/definitions/metachain.d.ts +1 -0
  286. package/_types/chains/definitions/metachain.d.ts.map +1 -1
  287. package/_types/chains/definitions/meter.d.ts +1 -0
  288. package/_types/chains/definitions/meter.d.ts.map +1 -1
  289. package/_types/chains/definitions/meterTestnet.d.ts +1 -0
  290. package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
  291. package/_types/chains/definitions/metis.d.ts +1 -0
  292. package/_types/chains/definitions/metis.d.ts.map +1 -1
  293. package/_types/chains/definitions/metisGoerli.d.ts +1 -0
  294. package/_types/chains/definitions/metisGoerli.d.ts.map +1 -1
  295. package/_types/chains/definitions/mev.d.ts +1 -0
  296. package/_types/chains/definitions/mev.d.ts.map +1 -1
  297. package/_types/chains/definitions/mevTestnet.d.ts +1 -0
  298. package/_types/chains/definitions/mevTestnet.d.ts.map +1 -1
  299. package/_types/chains/definitions/modeTestnet.d.ts +1 -0
  300. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  301. package/_types/chains/definitions/moonbaseAlpha.d.ts +1 -0
  302. package/_types/chains/definitions/moonbaseAlpha.d.ts.map +1 -1
  303. package/_types/chains/definitions/moonbeam.d.ts +1 -0
  304. package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
  305. package/_types/chains/definitions/moonbeamDev.d.ts +1 -0
  306. package/_types/chains/definitions/moonbeamDev.d.ts.map +1 -1
  307. package/_types/chains/definitions/moonriver.d.ts +1 -0
  308. package/_types/chains/definitions/moonriver.d.ts.map +1 -1
  309. package/_types/chains/definitions/neonDevnet.d.ts +1 -0
  310. package/_types/chains/definitions/neonDevnet.d.ts.map +1 -1
  311. package/_types/chains/definitions/neonMainnet.d.ts +1 -0
  312. package/_types/chains/definitions/neonMainnet.d.ts.map +1 -1
  313. package/_types/chains/definitions/nexi.d.ts +1 -0
  314. package/_types/chains/definitions/nexi.d.ts.map +1 -1
  315. package/_types/chains/definitions/nexilix.d.ts +1 -0
  316. package/_types/chains/definitions/nexilix.d.ts.map +1 -1
  317. package/_types/chains/definitions/oasisTestnet.d.ts +1 -0
  318. package/_types/chains/definitions/oasisTestnet.d.ts.map +1 -1
  319. package/_types/chains/definitions/oasys.d.ts +1 -0
  320. package/_types/chains/definitions/oasys.d.ts.map +1 -1
  321. package/_types/chains/definitions/okc.d.ts +1 -0
  322. package/_types/chains/definitions/okc.d.ts.map +1 -1
  323. package/_types/chains/definitions/opBNB.d.ts +1 -0
  324. package/_types/chains/definitions/opBNB.d.ts.map +1 -1
  325. package/_types/chains/definitions/opBNBTestnet.d.ts +1 -0
  326. package/_types/chains/definitions/opBNBTestnet.d.ts.map +1 -1
  327. package/_types/chains/definitions/optimism.d.ts +1 -0
  328. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  329. package/_types/chains/definitions/optimismGoerli.d.ts +1 -0
  330. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  331. package/_types/chains/definitions/optimismSepolia.d.ts +1 -0
  332. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  333. package/_types/chains/definitions/palm.d.ts +1 -0
  334. package/_types/chains/definitions/palm.d.ts.map +1 -1
  335. package/_types/chains/definitions/palmTestnet.d.ts +1 -0
  336. package/_types/chains/definitions/palmTestnet.d.ts.map +1 -1
  337. package/_types/chains/definitions/pgn.d.ts +1 -0
  338. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  339. package/_types/chains/definitions/pgnTestnet.d.ts +1 -0
  340. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  341. package/_types/chains/definitions/plinga.d.ts +1 -0
  342. package/_types/chains/definitions/plinga.d.ts.map +1 -1
  343. package/_types/chains/definitions/polygon.d.ts +1 -0
  344. package/_types/chains/definitions/polygon.d.ts.map +1 -1
  345. package/_types/chains/definitions/polygonMumbai.d.ts +1 -0
  346. package/_types/chains/definitions/polygonMumbai.d.ts.map +1 -1
  347. package/_types/chains/definitions/polygonZkEvm.d.ts +1 -0
  348. package/_types/chains/definitions/polygonZkEvm.d.ts.map +1 -1
  349. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts +1 -0
  350. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts.map +1 -1
  351. package/_types/chains/definitions/pulsechain.d.ts +1 -0
  352. package/_types/chains/definitions/pulsechain.d.ts.map +1 -1
  353. package/_types/chains/definitions/pulsechainV4.d.ts +1 -0
  354. package/_types/chains/definitions/pulsechainV4.d.ts.map +1 -1
  355. package/_types/chains/definitions/qMainnet.d.ts +1 -0
  356. package/_types/chains/definitions/qMainnet.d.ts.map +1 -1
  357. package/_types/chains/definitions/qTestnet.d.ts +1 -0
  358. package/_types/chains/definitions/qTestnet.d.ts.map +1 -1
  359. package/_types/chains/definitions/rollux.d.ts +1 -0
  360. package/_types/chains/definitions/rollux.d.ts.map +1 -1
  361. package/_types/chains/definitions/rolluxTestnet.d.ts +1 -0
  362. package/_types/chains/definitions/rolluxTestnet.d.ts.map +1 -1
  363. package/_types/chains/definitions/ronin.d.ts +1 -0
  364. package/_types/chains/definitions/ronin.d.ts.map +1 -1
  365. package/_types/chains/definitions/rootstock.d.ts +1 -0
  366. package/_types/chains/definitions/rootstock.d.ts.map +1 -1
  367. package/_types/chains/definitions/saigon.d.ts +1 -0
  368. package/_types/chains/definitions/saigon.d.ts.map +1 -1
  369. package/_types/chains/definitions/sapphire.d.ts +1 -0
  370. package/_types/chains/definitions/sapphire.d.ts.map +1 -1
  371. package/_types/chains/definitions/sapphireTestnet.d.ts +1 -0
  372. package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
  373. package/_types/chains/definitions/scroll.d.ts +1 -0
  374. package/_types/chains/definitions/scroll.d.ts.map +1 -1
  375. package/_types/chains/definitions/scrollSepolia.d.ts +1 -0
  376. package/_types/chains/definitions/scrollSepolia.d.ts.map +1 -1
  377. package/_types/chains/definitions/scrollTestnet.d.ts +1 -0
  378. package/_types/chains/definitions/scrollTestnet.d.ts.map +1 -1
  379. package/_types/chains/definitions/sepolia.d.ts +1 -0
  380. package/_types/chains/definitions/sepolia.d.ts.map +1 -1
  381. package/_types/chains/definitions/shardeumSphinx.d.ts +1 -0
  382. package/_types/chains/definitions/shardeumSphinx.d.ts.map +1 -1
  383. package/_types/chains/definitions/shibarium.d.ts +1 -0
  384. package/_types/chains/definitions/shibarium.d.ts.map +1 -1
  385. package/_types/chains/definitions/shimmer.d.ts +1 -0
  386. package/_types/chains/definitions/shimmer.d.ts.map +1 -1
  387. package/_types/chains/definitions/shimmerTestnet.d.ts +1 -0
  388. package/_types/chains/definitions/shimmerTestnet.d.ts.map +1 -1
  389. package/_types/chains/definitions/skale/brawl.d.ts +1 -0
  390. package/_types/chains/definitions/skale/brawl.d.ts.map +1 -1
  391. package/_types/chains/definitions/skale/calypso.d.ts +1 -0
  392. package/_types/chains/definitions/skale/calypso.d.ts.map +1 -1
  393. package/_types/chains/definitions/skale/calypsoTestnet.d.ts +1 -0
  394. package/_types/chains/definitions/skale/calypsoTestnet.d.ts.map +1 -1
  395. package/_types/chains/definitions/skale/chaosTestnet.d.ts +1 -0
  396. package/_types/chains/definitions/skale/chaosTestnet.d.ts.map +1 -1
  397. package/_types/chains/definitions/skale/cryptoBlades.d.ts +1 -0
  398. package/_types/chains/definitions/skale/cryptoBlades.d.ts.map +1 -1
  399. package/_types/chains/definitions/skale/cryptoColosseum.d.ts +1 -0
  400. package/_types/chains/definitions/skale/cryptoColosseum.d.ts.map +1 -1
  401. package/_types/chains/definitions/skale/europa.d.ts +1 -0
  402. package/_types/chains/definitions/skale/europa.d.ts.map +1 -1
  403. package/_types/chains/definitions/skale/europaTestnet.d.ts +1 -0
  404. package/_types/chains/definitions/skale/europaTestnet.d.ts.map +1 -1
  405. package/_types/chains/definitions/skale/exorde.d.ts +1 -0
  406. package/_types/chains/definitions/skale/exorde.d.ts.map +1 -1
  407. package/_types/chains/definitions/skale/humanProtocol.d.ts +1 -0
  408. package/_types/chains/definitions/skale/humanProtocol.d.ts.map +1 -1
  409. package/_types/chains/definitions/skale/nebula.d.ts +1 -0
  410. package/_types/chains/definitions/skale/nebula.d.ts.map +1 -1
  411. package/_types/chains/definitions/skale/nebulaTestnet.d.ts +1 -0
  412. package/_types/chains/definitions/skale/nebulaTestnet.d.ts.map +1 -1
  413. package/_types/chains/definitions/skale/razor.d.ts +1 -0
  414. package/_types/chains/definitions/skale/razor.d.ts.map +1 -1
  415. package/_types/chains/definitions/skale/titan.d.ts +1 -0
  416. package/_types/chains/definitions/skale/titan.d.ts.map +1 -1
  417. package/_types/chains/definitions/skale/titanTestnet.d.ts +1 -0
  418. package/_types/chains/definitions/skale/titanTestnet.d.ts.map +1 -1
  419. package/_types/chains/definitions/songbird.d.ts +1 -0
  420. package/_types/chains/definitions/songbird.d.ts.map +1 -1
  421. package/_types/chains/definitions/songbirdTestnet.d.ts +1 -0
  422. package/_types/chains/definitions/songbirdTestnet.d.ts.map +1 -1
  423. package/_types/chains/definitions/spicy.d.ts +1 -0
  424. package/_types/chains/definitions/spicy.d.ts.map +1 -1
  425. package/_types/chains/definitions/syscoin.d.ts +1 -0
  426. package/_types/chains/definitions/syscoin.d.ts.map +1 -1
  427. package/_types/chains/definitions/syscoinTestnet.d.ts +1 -0
  428. package/_types/chains/definitions/syscoinTestnet.d.ts.map +1 -1
  429. package/_types/chains/definitions/taikoJolnir.d.ts +1 -0
  430. package/_types/chains/definitions/taikoJolnir.d.ts.map +1 -1
  431. package/_types/chains/definitions/taikoKatla.d.ts +1 -0
  432. package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
  433. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -0
  434. package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
  435. package/_types/chains/definitions/taraxa.d.ts +1 -0
  436. package/_types/chains/definitions/taraxa.d.ts.map +1 -1
  437. package/_types/chains/definitions/taraxaTestnet.d.ts +1 -0
  438. package/_types/chains/definitions/taraxaTestnet.d.ts.map +1 -1
  439. package/_types/chains/definitions/telos.d.ts +1 -0
  440. package/_types/chains/definitions/telos.d.ts.map +1 -1
  441. package/_types/chains/definitions/telosTestnet.d.ts +1 -0
  442. package/_types/chains/definitions/telosTestnet.d.ts.map +1 -1
  443. package/_types/chains/definitions/tenet.d.ts +1 -0
  444. package/_types/chains/definitions/tenet.d.ts.map +1 -1
  445. package/_types/chains/definitions/thunderTestnet.d.ts +1 -0
  446. package/_types/chains/definitions/thunderTestnet.d.ts.map +1 -1
  447. package/_types/chains/definitions/vechain.d.ts +1 -0
  448. package/_types/chains/definitions/vechain.d.ts.map +1 -1
  449. package/_types/chains/definitions/wanchain.d.ts +1 -0
  450. package/_types/chains/definitions/wanchain.d.ts.map +1 -1
  451. package/_types/chains/definitions/wanchainTestnet.d.ts +1 -0
  452. package/_types/chains/definitions/wanchainTestnet.d.ts.map +1 -1
  453. package/_types/chains/definitions/wemix.d.ts +1 -0
  454. package/_types/chains/definitions/wemix.d.ts.map +1 -1
  455. package/_types/chains/definitions/wemixTestnet.d.ts +1 -0
  456. package/_types/chains/definitions/wemixTestnet.d.ts.map +1 -1
  457. package/_types/chains/definitions/xdc.d.ts +1 -0
  458. package/_types/chains/definitions/xdc.d.ts.map +1 -1
  459. package/_types/chains/definitions/xdcTestnet.d.ts +1 -0
  460. package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
  461. package/_types/chains/definitions/zetachainAthensTestnet.d.ts +1 -0
  462. package/_types/chains/definitions/zetachainAthensTestnet.d.ts.map +1 -1
  463. package/_types/chains/definitions/zhejiang.d.ts +1 -0
  464. package/_types/chains/definitions/zhejiang.d.ts.map +1 -1
  465. package/_types/chains/definitions/zilliqa.d.ts +1 -0
  466. package/_types/chains/definitions/zilliqa.d.ts.map +1 -1
  467. package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -0
  468. package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -1
  469. package/_types/chains/definitions/zkFair.d.ts +1 -0
  470. package/_types/chains/definitions/zkFair.d.ts.map +1 -1
  471. package/_types/chains/definitions/zkFairTestnet.d.ts +1 -0
  472. package/_types/chains/definitions/zkFairTestnet.d.ts.map +1 -1
  473. package/_types/chains/definitions/zkSync.d.ts +19 -16
  474. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  475. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +19 -16
  476. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  477. package/_types/chains/definitions/zkSyncTestnet.d.ts +19 -16
  478. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  479. package/_types/chains/definitions/zora.d.ts +1 -0
  480. package/_types/chains/definitions/zora.d.ts.map +1 -1
  481. package/_types/chains/definitions/zoraSepolia.d.ts +1 -0
  482. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  483. package/_types/chains/definitions/zoraTestnet.d.ts +1 -0
  484. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  485. package/_types/chains/zksync/actions/sendEip712Transaction.d.ts +50 -0
  486. package/_types/chains/zksync/actions/sendEip712Transaction.d.ts.map +1 -0
  487. package/_types/chains/zksync/actions/sendTransaction.d.ts +54 -0
  488. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -0
  489. package/_types/chains/zksync/actions/signEip712Transaction.d.ts +54 -0
  490. package/_types/chains/zksync/actions/signEip712Transaction.d.ts.map +1 -0
  491. package/_types/chains/zksync/actions/signTransaction.d.ts +56 -0
  492. package/_types/chains/zksync/actions/signTransaction.d.ts.map +1 -0
  493. package/_types/chains/zksync/chainConfig.d.ts +19 -16
  494. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  495. package/_types/chains/zksync/chains.d.ts +4 -0
  496. package/_types/chains/zksync/chains.d.ts.map +1 -0
  497. package/_types/chains/zksync/decorators/eip712.d.ts +151 -0
  498. package/_types/chains/zksync/decorators/eip712.d.ts.map +1 -0
  499. package/_types/chains/zksync/errors/transaction.d.ts +9 -0
  500. package/_types/chains/zksync/errors/transaction.d.ts.map +1 -0
  501. package/_types/chains/zksync/formatters.d.ts +11 -9
  502. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  503. package/_types/chains/zksync/index.d.ts +12 -1
  504. package/_types/chains/zksync/index.d.ts.map +1 -1
  505. package/_types/chains/zksync/serializers.d.ts +1 -2
  506. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  507. package/_types/chains/zksync/types/block.d.ts +15 -0
  508. package/_types/chains/zksync/types/block.d.ts.map +1 -0
  509. package/_types/chains/zksync/types/chain.d.ts +9 -0
  510. package/_types/chains/zksync/types/chain.d.ts.map +1 -0
  511. package/_types/chains/zksync/types/eip712.d.ts +27 -0
  512. package/_types/chains/zksync/types/eip712.d.ts.map +1 -0
  513. package/_types/chains/zksync/types/fee.d.ts +6 -0
  514. package/_types/chains/zksync/types/fee.d.ts.map +1 -0
  515. package/_types/chains/zksync/types/log.d.ts +41 -0
  516. package/_types/chains/zksync/types/log.d.ts.map +1 -0
  517. package/_types/chains/zksync/{types.d.ts → types/transaction.d.ts} +35 -71
  518. package/_types/chains/zksync/types/transaction.d.ts.map +1 -0
  519. package/_types/chains/zksync/utils/assertEip712Request.d.ts +8 -0
  520. package/_types/chains/zksync/utils/assertEip712Request.d.ts.map +1 -0
  521. package/_types/chains/zksync/utils/assertEip712Transaction.d.ts +3 -0
  522. package/_types/chains/zksync/utils/assertEip712Transaction.d.ts.map +1 -0
  523. package/_types/chains/zksync/utils/getEip712Domain.d.ts +4 -0
  524. package/_types/chains/zksync/utils/getEip712Domain.d.ts.map +1 -0
  525. package/_types/chains/zksync/utils/isEip712Transaction.d.ts +3 -0
  526. package/_types/chains/zksync/utils/isEip712Transaction.d.ts.map +1 -0
  527. package/_types/clients/createClient.d.ts +2 -2
  528. package/_types/clients/createClient.d.ts.map +1 -1
  529. package/_types/errors/chain.d.ts +1 -1
  530. package/_types/errors/chain.d.ts.map +1 -1
  531. package/_types/errors/version.d.ts +1 -1
  532. package/_types/types/chain.d.ts +3 -1
  533. package/_types/types/chain.d.ts.map +1 -1
  534. package/chains/zksync/actions/sendEip712Transaction.ts +129 -0
  535. package/chains/zksync/actions/sendTransaction.ts +78 -0
  536. package/chains/zksync/actions/signEip712Transaction.ts +150 -0
  537. package/chains/zksync/actions/signTransaction.ts +95 -0
  538. package/chains/zksync/chainConfig.ts +4 -0
  539. package/chains/zksync/chains.ts +3 -0
  540. package/chains/zksync/decorators/eip712.ts +186 -0
  541. package/chains/zksync/errors/transaction.ts +21 -0
  542. package/chains/zksync/formatters.ts +6 -5
  543. package/chains/zksync/index.ts +51 -4
  544. package/chains/zksync/serializers.ts +6 -50
  545. package/chains/zksync/types/block.ts +34 -0
  546. package/chains/zksync/types/chain.ts +28 -0
  547. package/chains/zksync/types/eip712.ts +31 -0
  548. package/chains/zksync/types/fee.ts +5 -0
  549. package/chains/zksync/types/log.ts +57 -0
  550. package/chains/zksync/{types.ts → types/transaction.ts} +50 -122
  551. package/chains/zksync/utils/assertEip712Request.ts +18 -0
  552. package/chains/zksync/utils/assertEip712Transaction.ts +35 -0
  553. package/chains/zksync/utils/getEip712Domain.ts +83 -0
  554. package/chains/zksync/utils/isEip712Transaction.ts +17 -0
  555. package/clients/createClient.ts +8 -4
  556. package/errors/chain.ts +6 -2
  557. package/errors/version.ts +1 -1
  558. package/package.json +1 -1
  559. package/types/chain.ts +5 -0
  560. package/_cjs/chains/zksync/types.js.map +0 -1
  561. package/_esm/chains/zksync/types.js +0 -2
  562. package/_esm/chains/zksync/types.js.map +0 -1
  563. package/_types/chains/zksync/types.d.ts.map +0 -1
@@ -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
+ }
@@ -1,15 +1,11 @@
1
- import type { Abi, AbiEvent, Address } from 'abitype'
2
- import type { Block, BlockTag } from '../../types/block.js'
3
- import type { FeeValuesEIP1559 } from '../../types/fee.js'
4
- import type { Log as Log_ } from '../../types/log.js'
5
- import type { Hex } from '../../types/misc.js'
1
+ import type { Address } from 'abitype'
2
+ import type { FeeValuesEIP1559 } from '../../../types/fee.js'
3
+ import type { Hex } from '../../../types/misc.js'
6
4
  import type {
7
5
  Index,
8
6
  Quantity,
9
- RpcBlock,
10
- RpcLog as RpcLog_,
11
7
  RpcTransactionRequest as RpcTransactionRequest_,
12
- } from '../../types/rpc.js'
8
+ } from '../../../types/rpc.js'
13
9
  import type {
14
10
  Transaction as Transaction_,
15
11
  TransactionBase,
@@ -23,121 +19,20 @@ import type {
23
19
  TransactionSerializableEIP1559,
24
20
  TransactionSerialized,
25
21
  TransactionType,
26
- } from '../../types/transaction.js'
27
- import type { UnionOmit } from '../../types/utils.js'
22
+ } from '../../../types/transaction.js'
23
+ import type { OneOf, UnionOmit } from '../../../types/utils.js'
24
+ import type { ZkSyncEip712Meta } from './eip712.js'
25
+ import type { ZkSyncFeeValues } from './fee.js'
26
+ import type {
27
+ ZkSyncL2ToL1Log,
28
+ ZkSyncLog,
29
+ ZkSyncRpcL2ToL1Log,
30
+ ZkSyncRpcLog,
31
+ } from './log.js'
28
32
 
29
33
  type EIP712Type = '0x71'
30
34
  type PriorityType = '0xff'
31
35
 
32
- // Types
33
- // https://era.zksync.io/docs/api/js/types
34
-
35
- export type ZkSyncLog<
36
- TQuantity = bigint,
37
- TIndex = number,
38
- TPending extends boolean = boolean,
39
- TAbiEvent extends AbiEvent | undefined = undefined,
40
- TStrict extends boolean | undefined = undefined,
41
- TAbi extends Abi | readonly unknown[] | undefined = TAbiEvent extends AbiEvent
42
- ? [TAbiEvent]
43
- : undefined,
44
- TEventName extends string | undefined = TAbiEvent extends AbiEvent
45
- ? TAbiEvent['name']
46
- : undefined,
47
- > = Log_<TQuantity, TIndex, TPending, TAbiEvent, TStrict, TAbi, TEventName> & {
48
- l1BatchNumber: TQuantity | null
49
- transactionLogIndex: TIndex
50
- logType: Hex | null
51
- }
52
-
53
- export type ZkSyncRpcLog = RpcLog_ & {
54
- l1BatchNumber: Hex | null
55
- // These are returned but doesn't apear in Log structure neither is mentioned in https://era.zksync.io/docs/api/js/types
56
- transactionLogIndex: Hex
57
- logType: Hex | null
58
- }
59
-
60
- type PaymasterParams = {
61
- paymaster: Address
62
- paymasterInput: number[]
63
- }
64
-
65
- export type ZkSyncEip712Meta = {
66
- gasPerPubdata?: Hex
67
- factoryDeps?: Hex[]
68
- customSignature?: Hex
69
- paymasterParams?: PaymasterParams
70
- }
71
-
72
- export type ZkSyncL2ToL1Log = {
73
- blockNumber: bigint
74
- blockHash: string
75
- l1BatchNumber: bigint
76
- transactionIndex: bigint
77
- shardId: bigint
78
- isService: boolean
79
- sender: string
80
- key: string
81
- value: string
82
- transactionHash: string
83
- logIndex: bigint
84
- }
85
-
86
- export type ZkSyncRpcL2ToL1Log = {
87
- blockNumber: Hex
88
- blockHash: Hex
89
- l1BatchNumber: Hex
90
- transactionIndex: Hex
91
- shardId: Hex
92
- isService: boolean
93
- sender: Hex
94
- key: Hex
95
- value: Hex
96
- transactionHash: Hex
97
- logIndex: Hex
98
- }
99
-
100
- export type ZkSyncFeeValues<TQuantity = bigint> = {
101
- gasPrice: TQuantity
102
- maxFeePerGas: TQuantity
103
- maxPriorityFeePerGas: TQuantity
104
- }
105
-
106
- // Block
107
- // https://era.zksync.io/docs/api/js/types#block
108
-
109
- export type ZkSyncBlockOverrides = {
110
- l1BatchNumber: bigint | null
111
- l1BatchTimestamp: bigint | null
112
- }
113
-
114
- export type ZkSyncBlock<
115
- TIncludeTransactions extends boolean = boolean,
116
- TBlockTag extends BlockTag = BlockTag,
117
- > = Block<
118
- bigint,
119
- TIncludeTransactions,
120
- TBlockTag,
121
- ZkSyncTransaction<TBlockTag extends 'pending' ? true : false>
122
- > &
123
- ZkSyncBlockOverrides
124
-
125
- // Block (RPC)
126
-
127
- export type ZkSyncRpcBlockOverrides = {
128
- l1BatchNumber: Hex | null
129
- l1BatchTimestamp: Hex | null
130
- }
131
- export type ZkSyncRpcBlock<
132
- TBlockTag extends BlockTag = BlockTag,
133
- TIncludeTransactions extends boolean = boolean,
134
- > = RpcBlock<
135
- TBlockTag,
136
- TIncludeTransactions,
137
- ZkSyncRpcTransaction<TBlockTag extends 'pending' ? true : false>
138
- > &
139
- ZkSyncRpcBlockOverrides
140
-
141
36
  // Transaction
142
37
  // https://era.zksync.io/docs/api/js/types#transactionresponse
143
38
 
@@ -291,9 +186,9 @@ export type ZkSyncTransactionReceipt<
291
186
 
292
187
  // Serializers
293
188
 
294
- export type ZkSyncTransactionSerializable =
295
- | TransactionSerializable
296
- | ZkSyncTransactionSerializableEIP712
189
+ export type ZkSyncTransactionSerializable = OneOf<
190
+ TransactionSerializable | ZkSyncTransactionSerializableEIP712
191
+ >
297
192
 
298
193
  export type ZkSyncTransactionSerialized<
299
194
  TType extends TransactionType = 'eip712',
@@ -315,3 +210,36 @@ export type ZkSyncTransactionSerializableEIP712<
315
210
  customSignature?: Hex
316
211
  type?: 'eip712'
317
212
  }
213
+
214
+ // EIP712 Signer
215
+
216
+ export type ZkSyncEIP712TransactionSignable = {
217
+ txType: bigint
218
+ from: bigint
219
+ to: bigint
220
+ gasLimit: bigint
221
+ gasPerPubdataByteLimit: bigint
222
+ maxFeePerGas: bigint
223
+ maxPriorityFeePerGas: bigint
224
+ paymaster: bigint
225
+ nonce: bigint
226
+ value: bigint
227
+ data: Hex
228
+ factoryDeps: Hex[]
229
+ paymasterInput: Hex
230
+ }
231
+
232
+ export type TransactionRequestEIP712<
233
+ TQuantity = bigint,
234
+ TIndex = number,
235
+ TTransactionType = 'eip712',
236
+ > = TransactionRequestBase<TQuantity, TIndex> &
237
+ Partial<FeeValuesEIP1559<TQuantity>> & {
238
+ accessList?: never
239
+ gasPerPubdata?: bigint
240
+ factoryDeps?: Hex[]
241
+ paymaster?: Address
242
+ paymasterInput?: Hex
243
+ customSignature?: Hex
244
+ type?: TTransactionType
245
+ }
@@ -0,0 +1,18 @@
1
+ import type { ErrorType } from '../../../errors/utils.js'
2
+ import { type AssertRequestErrorType, assertRequest } from '../../../index.js'
3
+ import type { SendTransactionParameters } from '../actions/sendTransaction.js'
4
+ import type { zkSync } from '../chains.js'
5
+ import { InvalidEip712TransactionError } from '../errors/transaction.js'
6
+ import { isEIP712Transaction } from './isEip712Transaction.js'
7
+
8
+ export type AssertEip712RequestParameters = Partial<
9
+ SendTransactionParameters<typeof zkSync>
10
+ >
11
+
12
+ export type AssertEip712RequestErrorType = AssertRequestErrorType | ErrorType
13
+
14
+ export function assertEip712Request(args: AssertEip712RequestParameters) {
15
+ if (!isEIP712Transaction(args as any))
16
+ throw new InvalidEip712TransactionError()
17
+ assertRequest(args as any)
18
+ }
@@ -0,0 +1,35 @@
1
+ import { InvalidAddressError } from '../../../errors/address.js'
2
+ import { BaseError } from '../../../errors/base.js'
3
+ import { InvalidChainIdError } from '../../../errors/chain.js'
4
+ import { isAddress } from '../../../utils/address/isAddress.js'
5
+ import { InvalidEip712TransactionError } from '../errors/transaction.js'
6
+ import type {
7
+ ZkSyncTransactionSerializable,
8
+ ZkSyncTransactionSerializableEIP712,
9
+ } from '../types/transaction.js'
10
+ import { isEIP712Transaction } from './isEip712Transaction.js'
11
+
12
+ export function assertEip712Transaction(
13
+ transaction: Partial<ZkSyncTransactionSerializable>,
14
+ ) {
15
+ const { chainId, to, from, paymaster, paymasterInput } =
16
+ transaction as ZkSyncTransactionSerializableEIP712
17
+
18
+ if (!isEIP712Transaction(transaction))
19
+ throw new InvalidEip712TransactionError()
20
+ if (!chainId || chainId <= 0) throw new InvalidChainIdError({ chainId })
21
+ if (to && !isAddress(to)) throw new InvalidAddressError({ address: to })
22
+ if (from && !isAddress(from)) throw new InvalidAddressError({ address: from })
23
+ if (paymaster && !isAddress(paymaster))
24
+ throw new InvalidAddressError({ address: paymaster })
25
+ if (paymaster && !paymasterInput) {
26
+ throw new BaseError(
27
+ '`paymasterInput` must be provided when `paymaster` is defined',
28
+ )
29
+ }
30
+ if (!paymaster && paymasterInput) {
31
+ throw new BaseError(
32
+ '`paymaster` must be provided when `paymasterInput` is defined',
33
+ )
34
+ }
35
+ }
@@ -0,0 +1,83 @@
1
+ import type { EIP712DomainFn } from '../types/eip712.js'
2
+ import type {
3
+ ZkSyncEIP712TransactionSignable,
4
+ ZkSyncTransactionSerializable,
5
+ ZkSyncTransactionSerializableEIP712,
6
+ } from '../types/transaction.js'
7
+ import { assertEip712Transaction } from './assertEip712Transaction.js'
8
+
9
+ export const getEip712Domain: EIP712DomainFn<
10
+ ZkSyncTransactionSerializable,
11
+ ZkSyncEIP712TransactionSignable
12
+ > = (transaction) => {
13
+ assertEip712Transaction(transaction)
14
+
15
+ const message = transactionToMessage(
16
+ transaction as ZkSyncTransactionSerializableEIP712,
17
+ )
18
+
19
+ return {
20
+ domain: {
21
+ name: 'zkSync',
22
+ version: '2',
23
+ chainId: transaction.chainId,
24
+ },
25
+ types: {
26
+ Transaction: [
27
+ { name: 'txType', type: 'uint256' },
28
+ { name: 'from', type: 'uint256' },
29
+ { name: 'to', type: 'uint256' },
30
+ { name: 'gasLimit', type: 'uint256' },
31
+ { name: 'gasPerPubdataByteLimit', type: 'uint256' },
32
+ { name: 'maxFeePerGas', type: 'uint256' },
33
+ { name: 'maxPriorityFeePerGas', type: 'uint256' },
34
+ { name: 'paymaster', type: 'uint256' },
35
+ { name: 'nonce', type: 'uint256' },
36
+ { name: 'value', type: 'uint256' },
37
+ { name: 'data', type: 'bytes' },
38
+ { name: 'factoryDeps', type: 'bytes32[]' },
39
+ { name: 'paymasterInput', type: 'bytes' },
40
+ ],
41
+ },
42
+ primaryType: 'Transaction',
43
+ message: message,
44
+ }
45
+ }
46
+
47
+ //////////////////////////////////////////////////////////////////////////////
48
+ // Utilities
49
+
50
+ function transactionToMessage(
51
+ transaction: ZkSyncTransactionSerializableEIP712,
52
+ ): ZkSyncEIP712TransactionSignable {
53
+ const {
54
+ gas,
55
+ nonce,
56
+ to,
57
+ from,
58
+ value,
59
+ maxFeePerGas,
60
+ maxPriorityFeePerGas,
61
+ factoryDeps,
62
+ paymaster,
63
+ paymasterInput,
64
+ gasPerPubdata,
65
+ data,
66
+ } = transaction
67
+
68
+ return {
69
+ txType: 113n,
70
+ from: BigInt(from),
71
+ to: to ? BigInt(to) : 0n,
72
+ gasLimit: gas ?? 0n,
73
+ gasPerPubdataByteLimit: gasPerPubdata ?? 0n,
74
+ maxFeePerGas: maxFeePerGas ?? 0n,
75
+ maxPriorityFeePerGas: maxPriorityFeePerGas ?? 0n,
76
+ paymaster: paymaster ? BigInt(paymaster) : 0n,
77
+ nonce: nonce ? BigInt(nonce) : 0n,
78
+ value: value ?? 0n,
79
+ data: data ? data : '0x0',
80
+ factoryDeps: factoryDeps ?? [],
81
+ paymasterInput: paymasterInput ? paymasterInput : '0x0',
82
+ }
83
+ }
@@ -0,0 +1,17 @@
1
+ import type { ZkSyncTransactionSerializable } from '../types/transaction.js'
2
+
3
+ export function isEIP712Transaction(
4
+ transaction: Partial<ZkSyncTransactionSerializable>,
5
+ ) {
6
+ if (transaction.type === 'eip712') return true
7
+ if (
8
+ ('customSignature' in transaction && transaction.customSignature) ||
9
+ ('paymaster' in transaction && transaction.paymaster) ||
10
+ ('paymasterInput' in transaction && transaction.paymasterInput) ||
11
+ ('gasPerPubdata' in transaction &&
12
+ typeof transaction.gasPerPubdata === 'bigint') ||
13
+ ('factoryDeps' in transaction && transaction.factoryDeps)
14
+ )
15
+ return true
16
+ return false
17
+ }
@@ -60,8 +60,11 @@ export type ClientConfig<
60
60
  // They are allowed to be extended, but must conform to their parameter & return type interfaces.
61
61
  // Example: an extended `call` action must accept `CallParameters` as parameters,
62
62
  // and conform to the `CallReturnType` return type.
63
- type ExtendableProtectedActions = Pick<
64
- PublicActions,
63
+ type ExtendableProtectedActions<
64
+ chain extends Chain | undefined = Chain | undefined,
65
+ account extends Account | undefined = Account | undefined,
66
+ > = Pick<
67
+ PublicActions<Transport, chain>,
65
68
  | 'call'
66
69
  | 'createContractEventFilter'
67
70
  | 'createEventFilter'
@@ -86,7 +89,7 @@ type ExtendableProtectedActions = Pick<
86
89
  | 'watchBlockNumber'
87
90
  | 'watchContractEvent'
88
91
  > &
89
- Pick<WalletActions, 'sendTransaction' | 'writeContract'>
92
+ Pick<WalletActions<chain, account>, 'sendTransaction' | 'writeContract'>
90
93
 
91
94
  // TODO: Move `transport` to slot index 2 since `chain` and `account` used more frequently.
92
95
  // Otherwise, we end up with a lot of `Client<Transport, chain, account>` in actions.
@@ -99,7 +102,8 @@ export type Client<
99
102
  > = Client_Base<transport, chain, account, rpcSchema> &
100
103
  (extended extends Extended ? extended : unknown) & {
101
104
  extend: <
102
- const client extends Extended & Partial<ExtendableProtectedActions>,
105
+ const client extends Extended &
106
+ Partial<ExtendableProtectedActions<chain, account>>,
103
107
  >(
104
108
  fn: (
105
109
  client: Client<transport, chain, account, rpcSchema, extended>,
package/errors/chain.ts CHANGED
@@ -96,7 +96,11 @@ export type InvalidChainIdErrorType = InvalidChainIdError & {
96
96
  export class InvalidChainIdError extends BaseError {
97
97
  override name = 'InvalidChainIdError'
98
98
 
99
- constructor({ chainId }: { chainId: number }) {
100
- super(`Chain ID "${chainId}" is invalid.`)
99
+ constructor({ chainId }: { chainId?: number }) {
100
+ super(
101
+ typeof chainId === 'number'
102
+ ? `Chain ID "${chainId}" is invalid.`
103
+ : 'Chain ID is invalid.',
104
+ )
101
105
  }
102
106
  }
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20240128T060353'
1
+ export const version = '0.0.0-main.20240128T234036'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "0.0.0-main.20240128T060353",
4
+ "version": "0.0.0-main.20240128T234036",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",
package/types/chain.ts CHANGED
@@ -16,6 +16,9 @@ import type { SerializeTransactionFn } from '../utils/transaction/serializeTrans
16
16
 
17
17
  export type Chain<
18
18
  formatters extends ChainFormatters | undefined = ChainFormatters | undefined,
19
+ custom extends Record<string, unknown> | undefined =
20
+ | Record<string, unknown>
21
+ | undefined,
19
22
  > = {
20
23
  /** Collection of block explorers */
21
24
  blockExplorers?:
@@ -55,6 +58,8 @@ export type Chain<
55
58
  /** Flag for test networks */
56
59
  testnet?: boolean | undefined
57
60
 
61
+ /** Custom chain data. */
62
+ custom?: custom
58
63
  /**
59
64
  * Modifies how chain data structures (ie. Blocks, Transactions, etc)
60
65
  * are formatted & typed.
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../chains/zksync/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../chains/zksync/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../chains/zksync/types.ts"],"names":[],"mappings":"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"}