viem 2.4.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (684) hide show
  1. package/CHANGELOG.md +24 -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/kcc.js +33 -0
  6. package/_cjs/chains/definitions/kcc.js.map +1 -0
  7. package/_cjs/chains/definitions/zkSync.js +3 -2
  8. package/_cjs/chains/definitions/zkSync.js.map +1 -1
  9. package/_cjs/chains/index.js +8 -4
  10. package/_cjs/chains/index.js.map +1 -1
  11. package/_cjs/chains/zksync/actions/sendEip712Transaction.js +52 -0
  12. package/_cjs/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
  13. package/_cjs/chains/zksync/actions/sendTransaction.js +13 -0
  14. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -0
  15. package/_cjs/chains/zksync/actions/signEip712Transaction.js +52 -0
  16. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -0
  17. package/_cjs/chains/zksync/actions/signTransaction.js +13 -0
  18. package/_cjs/chains/zksync/actions/signTransaction.js.map +1 -0
  19. package/_cjs/chains/zksync/chainConfig.js +4 -0
  20. package/_cjs/chains/zksync/chainConfig.js.map +1 -1
  21. package/_cjs/chains/zksync/chains.js +10 -0
  22. package/_cjs/chains/zksync/chains.js.map +1 -0
  23. package/_cjs/chains/zksync/decorators/eip712.js +17 -0
  24. package/_cjs/chains/zksync/decorators/eip712.js.map +1 -0
  25. package/_cjs/chains/zksync/errors/transaction.js +23 -0
  26. package/_cjs/chains/zksync/errors/transaction.js.map +1 -0
  27. package/_cjs/chains/zksync/formatters.js +2 -2
  28. package/_cjs/chains/zksync/formatters.js.map +1 -1
  29. package/_cjs/chains/zksync/index.js +15 -1
  30. package/_cjs/chains/zksync/index.js.map +1 -1
  31. package/_cjs/chains/zksync/serializers.js +6 -35
  32. package/_cjs/chains/zksync/serializers.js.map +1 -1
  33. package/_cjs/chains/zksync/{types.js → types/block.js} +1 -1
  34. package/_cjs/chains/zksync/types/block.js.map +1 -0
  35. package/_cjs/chains/zksync/types/chain.js +3 -0
  36. package/_cjs/chains/zksync/types/chain.js.map +1 -0
  37. package/_cjs/chains/zksync/types/eip712.js +3 -0
  38. package/_cjs/chains/zksync/types/eip712.js.map +1 -0
  39. package/_cjs/chains/zksync/types/fee.js +3 -0
  40. package/_cjs/chains/zksync/types/fee.js.map +1 -0
  41. package/_cjs/chains/zksync/types/log.js +3 -0
  42. package/_cjs/chains/zksync/types/log.js.map +1 -0
  43. package/_cjs/chains/zksync/types/transaction.js +3 -0
  44. package/_cjs/chains/zksync/types/transaction.js.map +1 -0
  45. package/_cjs/chains/zksync/utils/assertEip712Request.js +13 -0
  46. package/_cjs/chains/zksync/utils/assertEip712Request.js.map +1 -0
  47. package/_cjs/chains/zksync/utils/assertEip712Transaction.js +30 -0
  48. package/_cjs/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
  49. package/_cjs/chains/zksync/utils/getEip712Domain.js +54 -0
  50. package/_cjs/chains/zksync/utils/getEip712Domain.js.map +1 -0
  51. package/_cjs/chains/zksync/utils/isEip712Transaction.js +17 -0
  52. package/_cjs/chains/zksync/utils/isEip712Transaction.js.map +1 -0
  53. package/_cjs/clients/transports/http.js +8 -5
  54. package/_cjs/clients/transports/http.js.map +1 -1
  55. package/_cjs/clients/transports/ipc.js +77 -0
  56. package/_cjs/clients/transports/ipc.js.map +1 -0
  57. package/_cjs/clients/transports/webSocket.js +11 -7
  58. package/_cjs/clients/transports/webSocket.js.map +1 -1
  59. package/_cjs/errors/chain.js +3 -1
  60. package/_cjs/errors/chain.js.map +1 -1
  61. package/_cjs/errors/version.js +1 -1
  62. package/_cjs/node/index.js +8 -0
  63. package/_cjs/node/index.js.map +1 -0
  64. package/_cjs/utils/index.js +13 -6
  65. package/_cjs/utils/index.js.map +1 -1
  66. package/_cjs/utils/rpc/compat.js +35 -0
  67. package/_cjs/utils/rpc/compat.js.map +1 -0
  68. package/_cjs/utils/rpc/http.js +74 -0
  69. package/_cjs/utils/rpc/http.js.map +1 -0
  70. package/_cjs/utils/rpc/id.js +17 -0
  71. package/_cjs/utils/rpc/id.js.map +1 -0
  72. package/_cjs/utils/rpc/ipc.js +75 -0
  73. package/_cjs/utils/rpc/ipc.js.map +1 -0
  74. package/_cjs/utils/rpc/socket.js +85 -0
  75. package/_cjs/utils/rpc/socket.js.map +1 -0
  76. package/_cjs/utils/rpc/webSocket.js +50 -0
  77. package/_cjs/utils/rpc/webSocket.js.map +1 -0
  78. package/_esm/accounts/utils/sign.js +1 -0
  79. package/_esm/accounts/utils/sign.js.map +1 -1
  80. package/_esm/chains/definitions/berachainTestnet.js +21 -0
  81. package/_esm/chains/definitions/berachainTestnet.js.map +1 -0
  82. package/_esm/chains/definitions/kcc.js +30 -0
  83. package/_esm/chains/definitions/kcc.js.map +1 -0
  84. package/_esm/chains/definitions/zkSync.js +3 -2
  85. package/_esm/chains/definitions/zkSync.js.map +1 -1
  86. package/_esm/chains/index.js +2 -0
  87. package/_esm/chains/index.js.map +1 -1
  88. package/_esm/chains/zksync/actions/sendEip712Transaction.js +91 -0
  89. package/_esm/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
  90. package/_esm/chains/zksync/actions/sendTransaction.js +54 -0
  91. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -0
  92. package/_esm/chains/zksync/actions/signEip712Transaction.js +86 -0
  93. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -0
  94. package/_esm/chains/zksync/actions/signTransaction.js +49 -0
  95. package/_esm/chains/zksync/actions/signTransaction.js.map +1 -0
  96. package/_esm/chains/zksync/chainConfig.js +4 -0
  97. package/_esm/chains/zksync/chainConfig.js.map +1 -1
  98. package/_esm/chains/zksync/chains.js +4 -0
  99. package/_esm/chains/zksync/chains.js.map +1 -0
  100. package/_esm/chains/zksync/decorators/eip712.js +13 -0
  101. package/_esm/chains/zksync/decorators/eip712.js.map +1 -0
  102. package/_esm/chains/zksync/errors/transaction.js +19 -0
  103. package/_esm/chains/zksync/errors/transaction.js.map +1 -0
  104. package/_esm/chains/zksync/formatters.js +2 -2
  105. package/_esm/chains/zksync/formatters.js.map +1 -1
  106. package/_esm/chains/zksync/index.js +6 -0
  107. package/_esm/chains/zksync/index.js.map +1 -1
  108. package/_esm/chains/zksync/serializers.js +5 -35
  109. package/_esm/chains/zksync/serializers.js.map +1 -1
  110. package/_esm/chains/zksync/types/block.js +2 -0
  111. package/_esm/chains/zksync/types/block.js.map +1 -0
  112. package/_esm/chains/zksync/types/chain.js +2 -0
  113. package/_esm/chains/zksync/types/chain.js.map +1 -0
  114. package/_esm/chains/zksync/types/eip712.js +2 -0
  115. package/_esm/chains/zksync/types/eip712.js.map +1 -0
  116. package/_esm/chains/zksync/types/fee.js +2 -0
  117. package/_esm/chains/zksync/types/fee.js.map +1 -0
  118. package/_esm/chains/zksync/types/log.js +2 -0
  119. package/_esm/chains/zksync/types/log.js.map +1 -0
  120. package/_esm/chains/zksync/types/transaction.js +2 -0
  121. package/_esm/chains/zksync/types/transaction.js.map +1 -0
  122. package/_esm/chains/zksync/utils/assertEip712Request.js +9 -0
  123. package/_esm/chains/zksync/utils/assertEip712Request.js.map +1 -0
  124. package/_esm/chains/zksync/utils/assertEip712Transaction.js +26 -0
  125. package/_esm/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
  126. package/_esm/chains/zksync/utils/getEip712Domain.js +52 -0
  127. package/_esm/chains/zksync/utils/getEip712Domain.js.map +1 -0
  128. package/_esm/chains/zksync/utils/isEip712Transaction.js +13 -0
  129. package/_esm/chains/zksync/utils/isEip712Transaction.js.map +1 -0
  130. package/_esm/clients/transports/http.js +8 -5
  131. package/_esm/clients/transports/http.js.map +1 -1
  132. package/_esm/clients/transports/ipc.js +77 -0
  133. package/_esm/clients/transports/ipc.js.map +1 -0
  134. package/_esm/clients/transports/webSocket.js +10 -6
  135. package/_esm/clients/transports/webSocket.js.map +1 -1
  136. package/_esm/errors/chain.js +3 -1
  137. package/_esm/errors/chain.js.map +1 -1
  138. package/_esm/errors/version.js +1 -1
  139. package/_esm/node/index.js +3 -0
  140. package/_esm/node/index.js.map +1 -0
  141. package/_esm/utils/index.js +4 -1
  142. package/_esm/utils/index.js.map +1 -1
  143. package/_esm/utils/rpc/compat.js +86 -0
  144. package/_esm/utils/rpc/compat.js.map +1 -0
  145. package/_esm/utils/rpc/http.js +70 -0
  146. package/_esm/utils/rpc/http.js.map +1 -0
  147. package/_esm/utils/rpc/id.js +13 -0
  148. package/_esm/utils/rpc/id.js.map +1 -0
  149. package/_esm/utils/rpc/ipc.js +71 -0
  150. package/_esm/utils/rpc/ipc.js.map +1 -0
  151. package/_esm/utils/rpc/socket.js +90 -0
  152. package/_esm/utils/rpc/socket.js.map +1 -0
  153. package/_esm/utils/rpc/webSocket.js +48 -0
  154. package/_esm/utils/rpc/webSocket.js.map +1 -0
  155. package/_types/accounts/utils/sign.d.ts.map +1 -1
  156. package/_types/chains/definitions/acala.d.ts +1 -0
  157. package/_types/chains/definitions/acala.d.ts.map +1 -1
  158. package/_types/chains/definitions/arbitrum.d.ts +1 -0
  159. package/_types/chains/definitions/arbitrum.d.ts.map +1 -1
  160. package/_types/chains/definitions/arbitrumGoerli.d.ts +1 -0
  161. package/_types/chains/definitions/arbitrumGoerli.d.ts.map +1 -1
  162. package/_types/chains/definitions/arbitrumNova.d.ts +1 -0
  163. package/_types/chains/definitions/arbitrumNova.d.ts.map +1 -1
  164. package/_types/chains/definitions/arbitrumSepolia.d.ts +1 -0
  165. package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
  166. package/_types/chains/definitions/astar.d.ts +1 -0
  167. package/_types/chains/definitions/astar.d.ts.map +1 -1
  168. package/_types/chains/definitions/astarZkatana.d.ts +1 -0
  169. package/_types/chains/definitions/astarZkatana.d.ts.map +1 -1
  170. package/_types/chains/definitions/aurora.d.ts +1 -0
  171. package/_types/chains/definitions/aurora.d.ts.map +1 -1
  172. package/_types/chains/definitions/auroraTestnet.d.ts +1 -0
  173. package/_types/chains/definitions/auroraTestnet.d.ts.map +1 -1
  174. package/_types/chains/definitions/avalanche.d.ts +1 -0
  175. package/_types/chains/definitions/avalanche.d.ts.map +1 -1
  176. package/_types/chains/definitions/avalancheFuji.d.ts +1 -0
  177. package/_types/chains/definitions/avalancheFuji.d.ts.map +1 -1
  178. package/_types/chains/definitions/bahamut.d.ts +1 -0
  179. package/_types/chains/definitions/bahamut.d.ts.map +1 -1
  180. package/_types/chains/definitions/base.d.ts +2 -0
  181. package/_types/chains/definitions/base.d.ts.map +1 -1
  182. package/_types/chains/definitions/baseGoerli.d.ts +2 -0
  183. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  184. package/_types/chains/definitions/baseSepolia.d.ts +2 -0
  185. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  186. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -0
  187. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts.map +1 -1
  188. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -0
  189. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts.map +1 -1
  190. package/_types/chains/definitions/berachainTestnet.d.ts +35 -0
  191. package/_types/chains/definitions/berachainTestnet.d.ts.map +1 -0
  192. package/_types/chains/definitions/bitTorrent.d.ts +1 -0
  193. package/_types/chains/definitions/bitTorrent.d.ts.map +1 -1
  194. package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -0
  195. package/_types/chains/definitions/bitTorrentTestnet.d.ts.map +1 -1
  196. package/_types/chains/definitions/blastSepolia.d.ts +1 -0
  197. package/_types/chains/definitions/blastSepolia.d.ts.map +1 -1
  198. package/_types/chains/definitions/boba.d.ts +1 -0
  199. package/_types/chains/definitions/boba.d.ts.map +1 -1
  200. package/_types/chains/definitions/bronos.d.ts +1 -0
  201. package/_types/chains/definitions/bronos.d.ts.map +1 -1
  202. package/_types/chains/definitions/bronosTestnet.d.ts +1 -0
  203. package/_types/chains/definitions/bronosTestnet.d.ts.map +1 -1
  204. package/_types/chains/definitions/bsc.d.ts +1 -0
  205. package/_types/chains/definitions/bsc.d.ts.map +1 -1
  206. package/_types/chains/definitions/bscTestnet.d.ts +1 -0
  207. package/_types/chains/definitions/bscTestnet.d.ts.map +1 -1
  208. package/_types/chains/definitions/bxn.d.ts +1 -0
  209. package/_types/chains/definitions/bxn.d.ts.map +1 -1
  210. package/_types/chains/definitions/bxnTestnet.d.ts +1 -0
  211. package/_types/chains/definitions/bxnTestnet.d.ts.map +1 -1
  212. package/_types/chains/definitions/canto.d.ts +1 -0
  213. package/_types/chains/definitions/canto.d.ts.map +1 -1
  214. package/_types/chains/definitions/celo.d.ts +1 -0
  215. package/_types/chains/definitions/celo.d.ts.map +1 -1
  216. package/_types/chains/definitions/celoAlfajores.d.ts +1 -0
  217. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  218. package/_types/chains/definitions/chiliz.d.ts +1 -0
  219. package/_types/chains/definitions/chiliz.d.ts.map +1 -1
  220. package/_types/chains/definitions/classic.d.ts +1 -0
  221. package/_types/chains/definitions/classic.d.ts.map +1 -1
  222. package/_types/chains/definitions/confluxESpace.d.ts +1 -0
  223. package/_types/chains/definitions/confluxESpace.d.ts.map +1 -1
  224. package/_types/chains/definitions/confluxESpaceTestnet.d.ts +1 -0
  225. package/_types/chains/definitions/confluxESpaceTestnet.d.ts.map +1 -1
  226. package/_types/chains/definitions/coreDao.d.ts +1 -0
  227. package/_types/chains/definitions/coreDao.d.ts.map +1 -1
  228. package/_types/chains/definitions/cronos.d.ts +1 -0
  229. package/_types/chains/definitions/cronos.d.ts.map +1 -1
  230. package/_types/chains/definitions/cronosTestnet.d.ts +1 -0
  231. package/_types/chains/definitions/cronosTestnet.d.ts.map +1 -1
  232. package/_types/chains/definitions/crossbell.d.ts +1 -0
  233. package/_types/chains/definitions/crossbell.d.ts.map +1 -1
  234. package/_types/chains/definitions/defichainEvm.d.ts +1 -0
  235. package/_types/chains/definitions/defichainEvm.d.ts.map +1 -1
  236. package/_types/chains/definitions/defichainEvmTestnet.d.ts +1 -0
  237. package/_types/chains/definitions/defichainEvmTestnet.d.ts.map +1 -1
  238. package/_types/chains/definitions/dfk.d.ts +1 -0
  239. package/_types/chains/definitions/dfk.d.ts.map +1 -1
  240. package/_types/chains/definitions/dogechain.d.ts +1 -0
  241. package/_types/chains/definitions/dogechain.d.ts.map +1 -1
  242. package/_types/chains/definitions/edgeware.d.ts +1 -0
  243. package/_types/chains/definitions/edgeware.d.ts.map +1 -1
  244. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -0
  245. package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
  246. package/_types/chains/definitions/ekta.d.ts +1 -0
  247. package/_types/chains/definitions/ekta.d.ts.map +1 -1
  248. package/_types/chains/definitions/ektaTestnet.d.ts +1 -0
  249. package/_types/chains/definitions/ektaTestnet.d.ts.map +1 -1
  250. package/_types/chains/definitions/eon.d.ts +1 -0
  251. package/_types/chains/definitions/eon.d.ts.map +1 -1
  252. package/_types/chains/definitions/eos.d.ts +1 -0
  253. package/_types/chains/definitions/eos.d.ts.map +1 -1
  254. package/_types/chains/definitions/eosTestnet.d.ts +1 -0
  255. package/_types/chains/definitions/eosTestnet.d.ts.map +1 -1
  256. package/_types/chains/definitions/evmos.d.ts +1 -0
  257. package/_types/chains/definitions/evmos.d.ts.map +1 -1
  258. package/_types/chains/definitions/evmosTestnet.d.ts +1 -0
  259. package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
  260. package/_types/chains/definitions/fantom.d.ts +1 -0
  261. package/_types/chains/definitions/fantom.d.ts.map +1 -1
  262. package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -0
  263. package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -1
  264. package/_types/chains/definitions/fantomTestnet.d.ts +1 -0
  265. package/_types/chains/definitions/fantomTestnet.d.ts.map +1 -1
  266. package/_types/chains/definitions/fibo.d.ts +1 -0
  267. package/_types/chains/definitions/fibo.d.ts.map +1 -1
  268. package/_types/chains/definitions/filecoin.d.ts +1 -0
  269. package/_types/chains/definitions/filecoin.d.ts.map +1 -1
  270. package/_types/chains/definitions/filecoinCalibration.d.ts +1 -0
  271. package/_types/chains/definitions/filecoinCalibration.d.ts.map +1 -1
  272. package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -0
  273. package/_types/chains/definitions/filecoinHyperspace.d.ts.map +1 -1
  274. package/_types/chains/definitions/flare.d.ts +1 -0
  275. package/_types/chains/definitions/flare.d.ts.map +1 -1
  276. package/_types/chains/definitions/flareTestnet.d.ts +1 -0
  277. package/_types/chains/definitions/flareTestnet.d.ts.map +1 -1
  278. package/_types/chains/definitions/foundry.d.ts +1 -0
  279. package/_types/chains/definitions/foundry.d.ts.map +1 -1
  280. package/_types/chains/definitions/fuse.d.ts +1 -0
  281. package/_types/chains/definitions/fuse.d.ts.map +1 -1
  282. package/_types/chains/definitions/fuseSparknet.d.ts +1 -0
  283. package/_types/chains/definitions/fuseSparknet.d.ts.map +1 -1
  284. package/_types/chains/definitions/gnosis.d.ts +1 -0
  285. package/_types/chains/definitions/gnosis.d.ts.map +1 -1
  286. package/_types/chains/definitions/gnosisChiado.d.ts +1 -0
  287. package/_types/chains/definitions/gnosisChiado.d.ts.map +1 -1
  288. package/_types/chains/definitions/gobi.d.ts +1 -0
  289. package/_types/chains/definitions/gobi.d.ts.map +1 -1
  290. package/_types/chains/definitions/goerli.d.ts +1 -0
  291. package/_types/chains/definitions/goerli.d.ts.map +1 -1
  292. package/_types/chains/definitions/haqqMainnet.d.ts +1 -0
  293. package/_types/chains/definitions/haqqMainnet.d.ts.map +1 -1
  294. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -0
  295. package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
  296. package/_types/chains/definitions/hardhat.d.ts +1 -0
  297. package/_types/chains/definitions/hardhat.d.ts.map +1 -1
  298. package/_types/chains/definitions/harmonyOne.d.ts +1 -0
  299. package/_types/chains/definitions/harmonyOne.d.ts.map +1 -1
  300. package/_types/chains/definitions/holesky.d.ts +1 -0
  301. package/_types/chains/definitions/holesky.d.ts.map +1 -1
  302. package/_types/chains/definitions/iotex.d.ts +1 -0
  303. package/_types/chains/definitions/iotex.d.ts.map +1 -1
  304. package/_types/chains/definitions/iotexTestnet.d.ts +1 -0
  305. package/_types/chains/definitions/iotexTestnet.d.ts.map +1 -1
  306. package/_types/chains/definitions/jbc.d.ts +1 -0
  307. package/_types/chains/definitions/jbc.d.ts.map +1 -1
  308. package/_types/chains/definitions/karura.d.ts +1 -0
  309. package/_types/chains/definitions/karura.d.ts.map +1 -1
  310. package/_types/chains/definitions/kava.d.ts +1 -0
  311. package/_types/chains/definitions/kava.d.ts.map +1 -1
  312. package/_types/chains/definitions/kavaTestnet.d.ts +1 -0
  313. package/_types/chains/definitions/kavaTestnet.d.ts.map +1 -1
  314. package/_types/chains/definitions/kcc.d.ts +37 -0
  315. package/_types/chains/definitions/kcc.d.ts.map +1 -0
  316. package/_types/chains/definitions/klaytn.d.ts +1 -0
  317. package/_types/chains/definitions/klaytn.d.ts.map +1 -1
  318. package/_types/chains/definitions/klaytnBaobab.d.ts +1 -0
  319. package/_types/chains/definitions/klaytnBaobab.d.ts.map +1 -1
  320. package/_types/chains/definitions/kroma.d.ts +1 -0
  321. package/_types/chains/definitions/kroma.d.ts.map +1 -1
  322. package/_types/chains/definitions/kromaSepolia.d.ts +1 -0
  323. package/_types/chains/definitions/kromaSepolia.d.ts.map +1 -1
  324. package/_types/chains/definitions/lightlinkPegasus.d.ts +1 -0
  325. package/_types/chains/definitions/lightlinkPegasus.d.ts.map +1 -1
  326. package/_types/chains/definitions/lightlinkPhoenix.d.ts +1 -0
  327. package/_types/chains/definitions/lightlinkPhoenix.d.ts.map +1 -1
  328. package/_types/chains/definitions/linea.d.ts +1 -0
  329. package/_types/chains/definitions/linea.d.ts.map +1 -1
  330. package/_types/chains/definitions/lineaTestnet.d.ts +1 -0
  331. package/_types/chains/definitions/lineaTestnet.d.ts.map +1 -1
  332. package/_types/chains/definitions/localhost.d.ts +1 -0
  333. package/_types/chains/definitions/localhost.d.ts.map +1 -1
  334. package/_types/chains/definitions/lukso.d.ts +1 -0
  335. package/_types/chains/definitions/lukso.d.ts.map +1 -1
  336. package/_types/chains/definitions/mainnet.d.ts +1 -0
  337. package/_types/chains/definitions/mainnet.d.ts.map +1 -1
  338. package/_types/chains/definitions/mandala.d.ts +1 -0
  339. package/_types/chains/definitions/mandala.d.ts.map +1 -1
  340. package/_types/chains/definitions/manta.d.ts +1 -0
  341. package/_types/chains/definitions/manta.d.ts.map +1 -1
  342. package/_types/chains/definitions/mantaTestnet.d.ts +1 -0
  343. package/_types/chains/definitions/mantaTestnet.d.ts.map +1 -1
  344. package/_types/chains/definitions/mantle.d.ts +1 -0
  345. package/_types/chains/definitions/mantle.d.ts.map +1 -1
  346. package/_types/chains/definitions/mantleTestnet.d.ts +1 -0
  347. package/_types/chains/definitions/mantleTestnet.d.ts.map +1 -1
  348. package/_types/chains/definitions/metachain.d.ts +1 -0
  349. package/_types/chains/definitions/metachain.d.ts.map +1 -1
  350. package/_types/chains/definitions/meter.d.ts +1 -0
  351. package/_types/chains/definitions/meter.d.ts.map +1 -1
  352. package/_types/chains/definitions/meterTestnet.d.ts +1 -0
  353. package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
  354. package/_types/chains/definitions/metis.d.ts +1 -0
  355. package/_types/chains/definitions/metis.d.ts.map +1 -1
  356. package/_types/chains/definitions/metisGoerli.d.ts +1 -0
  357. package/_types/chains/definitions/metisGoerli.d.ts.map +1 -1
  358. package/_types/chains/definitions/mev.d.ts +1 -0
  359. package/_types/chains/definitions/mev.d.ts.map +1 -1
  360. package/_types/chains/definitions/mevTestnet.d.ts +1 -0
  361. package/_types/chains/definitions/mevTestnet.d.ts.map +1 -1
  362. package/_types/chains/definitions/modeTestnet.d.ts +1 -0
  363. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  364. package/_types/chains/definitions/moonbaseAlpha.d.ts +1 -0
  365. package/_types/chains/definitions/moonbaseAlpha.d.ts.map +1 -1
  366. package/_types/chains/definitions/moonbeam.d.ts +1 -0
  367. package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
  368. package/_types/chains/definitions/moonbeamDev.d.ts +1 -0
  369. package/_types/chains/definitions/moonbeamDev.d.ts.map +1 -1
  370. package/_types/chains/definitions/moonriver.d.ts +1 -0
  371. package/_types/chains/definitions/moonriver.d.ts.map +1 -1
  372. package/_types/chains/definitions/neonDevnet.d.ts +1 -0
  373. package/_types/chains/definitions/neonDevnet.d.ts.map +1 -1
  374. package/_types/chains/definitions/neonMainnet.d.ts +1 -0
  375. package/_types/chains/definitions/neonMainnet.d.ts.map +1 -1
  376. package/_types/chains/definitions/nexi.d.ts +1 -0
  377. package/_types/chains/definitions/nexi.d.ts.map +1 -1
  378. package/_types/chains/definitions/nexilix.d.ts +1 -0
  379. package/_types/chains/definitions/nexilix.d.ts.map +1 -1
  380. package/_types/chains/definitions/oasisTestnet.d.ts +1 -0
  381. package/_types/chains/definitions/oasisTestnet.d.ts.map +1 -1
  382. package/_types/chains/definitions/oasys.d.ts +1 -0
  383. package/_types/chains/definitions/oasys.d.ts.map +1 -1
  384. package/_types/chains/definitions/okc.d.ts +1 -0
  385. package/_types/chains/definitions/okc.d.ts.map +1 -1
  386. package/_types/chains/definitions/opBNB.d.ts +1 -0
  387. package/_types/chains/definitions/opBNB.d.ts.map +1 -1
  388. package/_types/chains/definitions/opBNBTestnet.d.ts +1 -0
  389. package/_types/chains/definitions/opBNBTestnet.d.ts.map +1 -1
  390. package/_types/chains/definitions/optimism.d.ts +2 -0
  391. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  392. package/_types/chains/definitions/optimismGoerli.d.ts +2 -0
  393. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  394. package/_types/chains/definitions/optimismSepolia.d.ts +2 -0
  395. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  396. package/_types/chains/definitions/palm.d.ts +1 -0
  397. package/_types/chains/definitions/palm.d.ts.map +1 -1
  398. package/_types/chains/definitions/palmTestnet.d.ts +1 -0
  399. package/_types/chains/definitions/palmTestnet.d.ts.map +1 -1
  400. package/_types/chains/definitions/pgn.d.ts +2 -0
  401. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  402. package/_types/chains/definitions/pgnTestnet.d.ts +2 -0
  403. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  404. package/_types/chains/definitions/plinga.d.ts +1 -0
  405. package/_types/chains/definitions/plinga.d.ts.map +1 -1
  406. package/_types/chains/definitions/polygon.d.ts +1 -0
  407. package/_types/chains/definitions/polygon.d.ts.map +1 -1
  408. package/_types/chains/definitions/polygonMumbai.d.ts +1 -0
  409. package/_types/chains/definitions/polygonMumbai.d.ts.map +1 -1
  410. package/_types/chains/definitions/polygonZkEvm.d.ts +1 -0
  411. package/_types/chains/definitions/polygonZkEvm.d.ts.map +1 -1
  412. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts +1 -0
  413. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts.map +1 -1
  414. package/_types/chains/definitions/pulsechain.d.ts +1 -0
  415. package/_types/chains/definitions/pulsechain.d.ts.map +1 -1
  416. package/_types/chains/definitions/pulsechainV4.d.ts +1 -0
  417. package/_types/chains/definitions/pulsechainV4.d.ts.map +1 -1
  418. package/_types/chains/definitions/qMainnet.d.ts +1 -0
  419. package/_types/chains/definitions/qMainnet.d.ts.map +1 -1
  420. package/_types/chains/definitions/qTestnet.d.ts +1 -0
  421. package/_types/chains/definitions/qTestnet.d.ts.map +1 -1
  422. package/_types/chains/definitions/rollux.d.ts +1 -0
  423. package/_types/chains/definitions/rollux.d.ts.map +1 -1
  424. package/_types/chains/definitions/rolluxTestnet.d.ts +1 -0
  425. package/_types/chains/definitions/rolluxTestnet.d.ts.map +1 -1
  426. package/_types/chains/definitions/ronin.d.ts +1 -0
  427. package/_types/chains/definitions/ronin.d.ts.map +1 -1
  428. package/_types/chains/definitions/rootstock.d.ts +1 -0
  429. package/_types/chains/definitions/rootstock.d.ts.map +1 -1
  430. package/_types/chains/definitions/saigon.d.ts +1 -0
  431. package/_types/chains/definitions/saigon.d.ts.map +1 -1
  432. package/_types/chains/definitions/sapphire.d.ts +1 -0
  433. package/_types/chains/definitions/sapphire.d.ts.map +1 -1
  434. package/_types/chains/definitions/sapphireTestnet.d.ts +1 -0
  435. package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
  436. package/_types/chains/definitions/scroll.d.ts +1 -0
  437. package/_types/chains/definitions/scroll.d.ts.map +1 -1
  438. package/_types/chains/definitions/scrollSepolia.d.ts +1 -0
  439. package/_types/chains/definitions/scrollSepolia.d.ts.map +1 -1
  440. package/_types/chains/definitions/scrollTestnet.d.ts +1 -0
  441. package/_types/chains/definitions/scrollTestnet.d.ts.map +1 -1
  442. package/_types/chains/definitions/sepolia.d.ts +1 -0
  443. package/_types/chains/definitions/sepolia.d.ts.map +1 -1
  444. package/_types/chains/definitions/shardeumSphinx.d.ts +1 -0
  445. package/_types/chains/definitions/shardeumSphinx.d.ts.map +1 -1
  446. package/_types/chains/definitions/shibarium.d.ts +1 -0
  447. package/_types/chains/definitions/shibarium.d.ts.map +1 -1
  448. package/_types/chains/definitions/shimmer.d.ts +1 -0
  449. package/_types/chains/definitions/shimmer.d.ts.map +1 -1
  450. package/_types/chains/definitions/shimmerTestnet.d.ts +1 -0
  451. package/_types/chains/definitions/shimmerTestnet.d.ts.map +1 -1
  452. package/_types/chains/definitions/skale/brawl.d.ts +1 -0
  453. package/_types/chains/definitions/skale/brawl.d.ts.map +1 -1
  454. package/_types/chains/definitions/skale/calypso.d.ts +1 -0
  455. package/_types/chains/definitions/skale/calypso.d.ts.map +1 -1
  456. package/_types/chains/definitions/skale/calypsoTestnet.d.ts +1 -0
  457. package/_types/chains/definitions/skale/calypsoTestnet.d.ts.map +1 -1
  458. package/_types/chains/definitions/skale/chaosTestnet.d.ts +1 -0
  459. package/_types/chains/definitions/skale/chaosTestnet.d.ts.map +1 -1
  460. package/_types/chains/definitions/skale/cryptoBlades.d.ts +1 -0
  461. package/_types/chains/definitions/skale/cryptoBlades.d.ts.map +1 -1
  462. package/_types/chains/definitions/skale/cryptoColosseum.d.ts +1 -0
  463. package/_types/chains/definitions/skale/cryptoColosseum.d.ts.map +1 -1
  464. package/_types/chains/definitions/skale/europa.d.ts +1 -0
  465. package/_types/chains/definitions/skale/europa.d.ts.map +1 -1
  466. package/_types/chains/definitions/skale/europaTestnet.d.ts +1 -0
  467. package/_types/chains/definitions/skale/europaTestnet.d.ts.map +1 -1
  468. package/_types/chains/definitions/skale/exorde.d.ts +1 -0
  469. package/_types/chains/definitions/skale/exorde.d.ts.map +1 -1
  470. package/_types/chains/definitions/skale/humanProtocol.d.ts +1 -0
  471. package/_types/chains/definitions/skale/humanProtocol.d.ts.map +1 -1
  472. package/_types/chains/definitions/skale/nebula.d.ts +1 -0
  473. package/_types/chains/definitions/skale/nebula.d.ts.map +1 -1
  474. package/_types/chains/definitions/skale/nebulaTestnet.d.ts +1 -0
  475. package/_types/chains/definitions/skale/nebulaTestnet.d.ts.map +1 -1
  476. package/_types/chains/definitions/skale/razor.d.ts +1 -0
  477. package/_types/chains/definitions/skale/razor.d.ts.map +1 -1
  478. package/_types/chains/definitions/skale/titan.d.ts +1 -0
  479. package/_types/chains/definitions/skale/titan.d.ts.map +1 -1
  480. package/_types/chains/definitions/skale/titanTestnet.d.ts +1 -0
  481. package/_types/chains/definitions/skale/titanTestnet.d.ts.map +1 -1
  482. package/_types/chains/definitions/songbird.d.ts +1 -0
  483. package/_types/chains/definitions/songbird.d.ts.map +1 -1
  484. package/_types/chains/definitions/songbirdTestnet.d.ts +1 -0
  485. package/_types/chains/definitions/songbirdTestnet.d.ts.map +1 -1
  486. package/_types/chains/definitions/spicy.d.ts +1 -0
  487. package/_types/chains/definitions/spicy.d.ts.map +1 -1
  488. package/_types/chains/definitions/syscoin.d.ts +1 -0
  489. package/_types/chains/definitions/syscoin.d.ts.map +1 -1
  490. package/_types/chains/definitions/syscoinTestnet.d.ts +1 -0
  491. package/_types/chains/definitions/syscoinTestnet.d.ts.map +1 -1
  492. package/_types/chains/definitions/taikoJolnir.d.ts +1 -0
  493. package/_types/chains/definitions/taikoJolnir.d.ts.map +1 -1
  494. package/_types/chains/definitions/taikoKatla.d.ts +1 -0
  495. package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
  496. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -0
  497. package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
  498. package/_types/chains/definitions/taraxa.d.ts +1 -0
  499. package/_types/chains/definitions/taraxa.d.ts.map +1 -1
  500. package/_types/chains/definitions/taraxaTestnet.d.ts +1 -0
  501. package/_types/chains/definitions/taraxaTestnet.d.ts.map +1 -1
  502. package/_types/chains/definitions/telos.d.ts +1 -0
  503. package/_types/chains/definitions/telos.d.ts.map +1 -1
  504. package/_types/chains/definitions/telosTestnet.d.ts +1 -0
  505. package/_types/chains/definitions/telosTestnet.d.ts.map +1 -1
  506. package/_types/chains/definitions/tenet.d.ts +1 -0
  507. package/_types/chains/definitions/tenet.d.ts.map +1 -1
  508. package/_types/chains/definitions/thunderTestnet.d.ts +1 -0
  509. package/_types/chains/definitions/thunderTestnet.d.ts.map +1 -1
  510. package/_types/chains/definitions/vechain.d.ts +1 -0
  511. package/_types/chains/definitions/vechain.d.ts.map +1 -1
  512. package/_types/chains/definitions/wanchain.d.ts +1 -0
  513. package/_types/chains/definitions/wanchain.d.ts.map +1 -1
  514. package/_types/chains/definitions/wanchainTestnet.d.ts +1 -0
  515. package/_types/chains/definitions/wanchainTestnet.d.ts.map +1 -1
  516. package/_types/chains/definitions/wemix.d.ts +1 -0
  517. package/_types/chains/definitions/wemix.d.ts.map +1 -1
  518. package/_types/chains/definitions/wemixTestnet.d.ts +1 -0
  519. package/_types/chains/definitions/wemixTestnet.d.ts.map +1 -1
  520. package/_types/chains/definitions/xdc.d.ts +1 -0
  521. package/_types/chains/definitions/xdc.d.ts.map +1 -1
  522. package/_types/chains/definitions/xdcTestnet.d.ts +1 -0
  523. package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
  524. package/_types/chains/definitions/zetachainAthensTestnet.d.ts +1 -0
  525. package/_types/chains/definitions/zetachainAthensTestnet.d.ts.map +1 -1
  526. package/_types/chains/definitions/zhejiang.d.ts +1 -0
  527. package/_types/chains/definitions/zhejiang.d.ts.map +1 -1
  528. package/_types/chains/definitions/zilliqa.d.ts +1 -0
  529. package/_types/chains/definitions/zilliqa.d.ts.map +1 -1
  530. package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -0
  531. package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -1
  532. package/_types/chains/definitions/zkFair.d.ts +1 -0
  533. package/_types/chains/definitions/zkFair.d.ts.map +1 -1
  534. package/_types/chains/definitions/zkFairTestnet.d.ts +1 -0
  535. package/_types/chains/definitions/zkFairTestnet.d.ts.map +1 -1
  536. package/_types/chains/definitions/zkSync.d.ts +23 -18
  537. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  538. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +20 -16
  539. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  540. package/_types/chains/definitions/zkSyncTestnet.d.ts +20 -16
  541. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  542. package/_types/chains/definitions/zora.d.ts +2 -0
  543. package/_types/chains/definitions/zora.d.ts.map +1 -1
  544. package/_types/chains/definitions/zoraSepolia.d.ts +2 -0
  545. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  546. package/_types/chains/definitions/zoraTestnet.d.ts +2 -0
  547. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  548. package/_types/chains/index.d.ts +2 -0
  549. package/_types/chains/index.d.ts.map +1 -1
  550. package/_types/chains/opStack/chainConfig.d.ts +1 -0
  551. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  552. package/_types/chains/opStack/formatters.d.ts +1 -0
  553. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  554. package/_types/chains/zksync/actions/sendEip712Transaction.d.ts +50 -0
  555. package/_types/chains/zksync/actions/sendEip712Transaction.d.ts.map +1 -0
  556. package/_types/chains/zksync/actions/sendTransaction.d.ts +54 -0
  557. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -0
  558. package/_types/chains/zksync/actions/signEip712Transaction.d.ts +54 -0
  559. package/_types/chains/zksync/actions/signEip712Transaction.d.ts.map +1 -0
  560. package/_types/chains/zksync/actions/signTransaction.d.ts +56 -0
  561. package/_types/chains/zksync/actions/signTransaction.d.ts.map +1 -0
  562. package/_types/chains/zksync/chainConfig.d.ts +20 -16
  563. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  564. package/_types/chains/zksync/chains.d.ts +4 -0
  565. package/_types/chains/zksync/chains.d.ts.map +1 -0
  566. package/_types/chains/zksync/decorators/eip712.d.ts +151 -0
  567. package/_types/chains/zksync/decorators/eip712.d.ts.map +1 -0
  568. package/_types/chains/zksync/errors/transaction.d.ts +9 -0
  569. package/_types/chains/zksync/errors/transaction.d.ts.map +1 -0
  570. package/_types/chains/zksync/formatters.d.ts +12 -9
  571. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  572. package/_types/chains/zksync/index.d.ts +12 -1
  573. package/_types/chains/zksync/index.d.ts.map +1 -1
  574. package/_types/chains/zksync/serializers.d.ts +1 -2
  575. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  576. package/_types/chains/zksync/types/block.d.ts +15 -0
  577. package/_types/chains/zksync/types/block.d.ts.map +1 -0
  578. package/_types/chains/zksync/types/chain.d.ts +9 -0
  579. package/_types/chains/zksync/types/chain.d.ts.map +1 -0
  580. package/_types/chains/zksync/types/eip712.d.ts +27 -0
  581. package/_types/chains/zksync/types/eip712.d.ts.map +1 -0
  582. package/_types/chains/zksync/types/fee.d.ts +6 -0
  583. package/_types/chains/zksync/types/fee.d.ts.map +1 -0
  584. package/_types/chains/zksync/types/log.d.ts +41 -0
  585. package/_types/chains/zksync/types/log.d.ts.map +1 -0
  586. package/_types/chains/zksync/{types.d.ts → types/transaction.d.ts} +35 -71
  587. package/_types/chains/zksync/types/transaction.d.ts.map +1 -0
  588. package/_types/chains/zksync/utils/assertEip712Request.d.ts +8 -0
  589. package/_types/chains/zksync/utils/assertEip712Request.d.ts.map +1 -0
  590. package/_types/chains/zksync/utils/assertEip712Transaction.d.ts +3 -0
  591. package/_types/chains/zksync/utils/assertEip712Transaction.d.ts.map +1 -0
  592. package/_types/chains/zksync/utils/getEip712Domain.d.ts +4 -0
  593. package/_types/chains/zksync/utils/getEip712Domain.d.ts.map +1 -0
  594. package/_types/chains/zksync/utils/isEip712Transaction.d.ts +3 -0
  595. package/_types/chains/zksync/utils/isEip712Transaction.d.ts.map +1 -0
  596. package/_types/clients/transports/http.d.ts +2 -2
  597. package/_types/clients/transports/http.d.ts.map +1 -1
  598. package/_types/clients/transports/ipc.d.ts +46 -0
  599. package/_types/clients/transports/ipc.d.ts.map +1 -0
  600. package/_types/clients/transports/webSocket.d.ts +6 -1
  601. package/_types/clients/transports/webSocket.d.ts.map +1 -1
  602. package/_types/errors/chain.d.ts +1 -1
  603. package/_types/errors/chain.d.ts.map +1 -1
  604. package/_types/errors/version.d.ts +1 -1
  605. package/_types/node/index.d.ts +3 -0
  606. package/_types/node/index.d.ts.map +1 -0
  607. package/_types/types/chain.d.ts +3 -1
  608. package/_types/types/chain.d.ts.map +1 -1
  609. package/_types/types/rpc.d.ts +35 -0
  610. package/_types/types/rpc.d.ts.map +1 -1
  611. package/_types/types/transaction.d.ts +2 -0
  612. package/_types/types/transaction.d.ts.map +1 -1
  613. package/_types/utils/buildRequest.d.ts +2 -2
  614. package/_types/utils/buildRequest.d.ts.map +1 -1
  615. package/_types/utils/index.d.ts +4 -1
  616. package/_types/utils/index.d.ts.map +1 -1
  617. package/_types/utils/rpc/compat.d.ts +78 -0
  618. package/_types/utils/rpc/compat.d.ts.map +1 -0
  619. package/_types/utils/rpc/http.d.ts +20 -0
  620. package/_types/utils/rpc/http.d.ts.map +1 -0
  621. package/_types/utils/rpc/id.d.ts +11 -0
  622. package/_types/utils/rpc/id.d.ts.map +1 -0
  623. package/_types/utils/rpc/ipc.d.ts +8 -0
  624. package/_types/utils/rpc/ipc.d.ts.map +1 -0
  625. package/_types/utils/rpc/socket.d.ts +45 -0
  626. package/_types/utils/rpc/socket.d.ts.map +1 -0
  627. package/_types/utils/rpc/webSocket.d.ts +3 -0
  628. package/_types/utils/rpc/webSocket.d.ts.map +1 -0
  629. package/accounts/utils/sign.ts +2 -0
  630. package/chains/definitions/berachainTestnet.ts +21 -0
  631. package/chains/definitions/kcc.ts +30 -0
  632. package/chains/definitions/zkSync.ts +3 -2
  633. package/chains/index.ts +2 -0
  634. package/chains/zksync/actions/sendEip712Transaction.ts +129 -0
  635. package/chains/zksync/actions/sendTransaction.ts +78 -0
  636. package/chains/zksync/actions/signEip712Transaction.ts +150 -0
  637. package/chains/zksync/actions/signTransaction.ts +95 -0
  638. package/chains/zksync/chainConfig.ts +4 -0
  639. package/chains/zksync/chains.ts +3 -0
  640. package/chains/zksync/decorators/eip712.ts +186 -0
  641. package/chains/zksync/errors/transaction.ts +21 -0
  642. package/chains/zksync/formatters.ts +6 -5
  643. package/chains/zksync/index.ts +51 -4
  644. package/chains/zksync/serializers.ts +6 -50
  645. package/chains/zksync/types/block.ts +34 -0
  646. package/chains/zksync/types/chain.ts +28 -0
  647. package/chains/zksync/types/eip712.ts +31 -0
  648. package/chains/zksync/types/fee.ts +5 -0
  649. package/chains/zksync/types/log.ts +57 -0
  650. package/chains/zksync/{types.ts → types/transaction.ts} +50 -122
  651. package/chains/zksync/utils/assertEip712Request.ts +18 -0
  652. package/chains/zksync/utils/assertEip712Transaction.ts +35 -0
  653. package/chains/zksync/utils/getEip712Domain.ts +83 -0
  654. package/chains/zksync/utils/isEip712Transaction.ts +17 -0
  655. package/clients/transports/http.ts +15 -6
  656. package/clients/transports/ipc.ts +144 -0
  657. package/clients/transports/webSocket.ts +16 -6
  658. package/errors/chain.ts +6 -2
  659. package/errors/version.ts +1 -1
  660. package/node/index.ts +11 -0
  661. package/node/package.json +6 -0
  662. package/package.json +9 -1
  663. package/types/chain.ts +5 -0
  664. package/types/rpc.ts +44 -0
  665. package/types/transaction.ts +2 -0
  666. package/utils/buildRequest.ts +2 -2
  667. package/utils/index.ts +19 -8
  668. package/utils/rpc/compat.ts +117 -0
  669. package/utils/rpc/http.ts +132 -0
  670. package/utils/rpc/id.ts +13 -0
  671. package/utils/rpc/ipc.ts +89 -0
  672. package/utils/rpc/socket.ts +162 -0
  673. package/utils/rpc/webSocket.ts +63 -0
  674. package/_cjs/chains/zksync/types.js.map +0 -1
  675. package/_cjs/utils/rpc.js +0 -154
  676. package/_cjs/utils/rpc.js.map +0 -1
  677. package/_esm/chains/zksync/types.js +0 -2
  678. package/_esm/chains/zksync/types.js.map +0 -1
  679. package/_esm/utils/rpc.js +0 -160
  680. package/_esm/utils/rpc.js.map +0 -1
  681. package/_types/chains/zksync/types.d.ts.map +0 -1
  682. package/_types/utils/rpc.d.ts +0 -80
  683. package/_types/utils/rpc.d.ts.map +0 -1
  684. package/utils/rpc.ts +0 -318
@@ -0,0 +1,150 @@
1
+ import type { Account } from '../../../accounts/types.js'
2
+ import { parseAccount } from '../../../accounts/utils/parseAccount.js'
3
+ import { getChainId } from '../../../actions/public/getChainId.js'
4
+ import type {
5
+ SignTransactionErrorType,
6
+ SignTransactionReturnType,
7
+ } from '../../../actions/wallet/signTransaction.js'
8
+ import { signTypedData } from '../../../actions/wallet/signTypedData.js'
9
+ import type { Client } from '../../../clients/createClient.js'
10
+ import type { Transport } from '../../../clients/transports/createTransport.js'
11
+ import { AccountNotFoundError } from '../../../errors/account.js'
12
+ import { BaseError } from '../../../errors/base.js'
13
+ import type { GetAccountParameter } from '../../../types/account.js'
14
+ import type {
15
+ ExtractChainFormatterParameters,
16
+ GetChainParameter,
17
+ } from '../../../types/chain.js'
18
+ import type { UnionOmit } from '../../../types/utils.js'
19
+ import { assertCurrentChain } from '../../../utils/chain/assertCurrentChain.js'
20
+ import { getAction } from '../../../utils/getAction.js'
21
+ import type { ChainEIP712 } from '../types/chain.js'
22
+ import type { TransactionRequestEIP712 } from '../types/transaction.js'
23
+ import {
24
+ type AssertEip712RequestParameters,
25
+ assertEip712Request,
26
+ } from '../utils/assertEip712Request.js'
27
+
28
+ type FormattedTransactionRequest<
29
+ TChain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
30
+ > = ExtractChainFormatterParameters<
31
+ TChain,
32
+ 'transactionRequest',
33
+ TransactionRequestEIP712
34
+ >
35
+
36
+ export type SignEip712TransactionParameters<
37
+ TChain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
38
+ TAccount extends Account | undefined = Account | undefined,
39
+ TChainOverride extends ChainEIP712 | undefined = ChainEIP712 | undefined,
40
+ > = UnionOmit<
41
+ FormattedTransactionRequest<
42
+ TChainOverride extends ChainEIP712 ? TChainOverride : TChain
43
+ >,
44
+ 'from'
45
+ > &
46
+ GetAccountParameter<TAccount> &
47
+ GetChainParameter<TChain, TChainOverride>
48
+
49
+ export type SignEip712TransactionReturnType = SignTransactionReturnType
50
+
51
+ export type SignEip712TransactionErrorType = SignTransactionErrorType
52
+
53
+ /**
54
+ * Signs an EIP712 transaction.
55
+ *
56
+ * @param args - {@link SignTransactionParameters}
57
+ * @returns The signed serialized tranasction. {@link SignTransactionReturnType}
58
+ *
59
+ * @example
60
+ * import { createWalletClient, custom } from 'viem'
61
+ * import { zkSync } from 'viem/chains'
62
+ * import { signEip712Transaction } from 'viem/zksync'
63
+ *
64
+ * const client = createWalletClient({
65
+ * chain: zkSync,
66
+ * transport: custom(window.ethereum),
67
+ * })
68
+ * const signature = await signEip712Transaction(client, {
69
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
70
+ * to: '0x0000000000000000000000000000000000000000',
71
+ * value: 1n,
72
+ * })
73
+ *
74
+ * @example
75
+ * // Account Hoisting
76
+ * import { createWalletClient, http } from 'viem'
77
+ * import { privateKeyToAccount } from 'viem/accounts'
78
+ * import { zkSync } from 'viem/chains'
79
+ * import { signEip712Transaction } from 'viem/zksync'
80
+ *
81
+ * const client = createWalletClient({
82
+ * account: privateKeyToAccount('0x…'),
83
+ * chain: zkSync,
84
+ * transport: custom(window.ethereum),
85
+ * })
86
+ * const signature = await signEip712Transaction(client, {
87
+ * to: '0x0000000000000000000000000000000000000000',
88
+ * value: 1n,
89
+ * })
90
+ */
91
+ export async function signEip712Transaction<
92
+ TChain extends ChainEIP712 | undefined,
93
+ TAccount extends Account | undefined,
94
+ TChainOverride extends ChainEIP712 | undefined,
95
+ >(
96
+ client: Client<Transport, TChain, TAccount>,
97
+ args: SignEip712TransactionParameters<TChain, TAccount, TChainOverride>,
98
+ ): Promise<SignEip712TransactionReturnType> {
99
+ const {
100
+ account: account_ = client.account,
101
+ chain = client.chain,
102
+ ...transaction
103
+ } = args
104
+
105
+ if (!account_)
106
+ throw new AccountNotFoundError({
107
+ docsPath: '/docs/actions/wallet/signTransaction',
108
+ })
109
+ const account = parseAccount(account_)
110
+
111
+ assertEip712Request({
112
+ account,
113
+ chain,
114
+ ...(args as AssertEip712RequestParameters),
115
+ })
116
+
117
+ if (!chain?.custom?.getEip712Domain)
118
+ throw new BaseError('`getEip712Domain` not found on chain.')
119
+ if (!chain?.serializers?.transaction)
120
+ throw new BaseError('transaction serializer not found on chain.')
121
+
122
+ const chainId = await getAction(client, getChainId, 'getChainId')({})
123
+ if (chain !== null)
124
+ assertCurrentChain({
125
+ currentChainId: chainId,
126
+ chain: chain,
127
+ })
128
+
129
+ const eip712Domain = chain?.custom.getEip712Domain({
130
+ ...transaction,
131
+ chainId,
132
+ from: account.address,
133
+ type: 'eip712',
134
+ })
135
+
136
+ const customSignature = await signTypedData(client, {
137
+ ...eip712Domain,
138
+ account,
139
+ })
140
+
141
+ return chain?.serializers?.transaction(
142
+ {
143
+ chainId,
144
+ ...transaction,
145
+ customSignature,
146
+ type: 'eip712',
147
+ },
148
+ { r: '0x0', s: '0x0', v: 0n },
149
+ )
150
+ }
@@ -0,0 +1,95 @@
1
+ import type { Account } from '../../../accounts/types.js'
2
+ import { signTransaction as signTransaction_ } from '../../../actions/wallet/signTransaction.js'
3
+ import type {
4
+ SignTransactionErrorType as SignTransactionErrorType_,
5
+ SignTransactionReturnType as SignTransactionReturnType_,
6
+ } from '../../../actions/wallet/signTransaction.js'
7
+ import type { Client } from '../../../clients/createClient.js'
8
+ import type { Transport } from '../../../clients/transports/createTransport.js'
9
+ import type { GetAccountParameter } from '../../../types/account.js'
10
+ import type {
11
+ ExtractChainFormatterParameters,
12
+ GetChainParameter,
13
+ } from '../../../types/chain.js'
14
+ import type { UnionOmit } from '../../../types/utils.js'
15
+ import type { ChainEIP712 } from '../types/chain.js'
16
+ import type { TransactionRequestEIP712 } from '../types/transaction.js'
17
+ import { isEIP712Transaction } from '../utils/isEip712Transaction.js'
18
+ import { signEip712Transaction } from './signEip712Transaction.js'
19
+
20
+ type FormattedTransactionRequest<
21
+ TChain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
22
+ > = ExtractChainFormatterParameters<
23
+ TChain,
24
+ 'transactionRequest',
25
+ TransactionRequestEIP712
26
+ >
27
+
28
+ export type SignTransactionParameters<
29
+ TChain extends ChainEIP712 | undefined = ChainEIP712 | undefined,
30
+ TAccount extends Account | undefined = Account | undefined,
31
+ TChainOverride extends ChainEIP712 | undefined = ChainEIP712 | undefined,
32
+ > = UnionOmit<
33
+ FormattedTransactionRequest<
34
+ TChainOverride extends ChainEIP712 ? TChainOverride : TChain
35
+ >,
36
+ 'from'
37
+ > &
38
+ GetAccountParameter<TAccount> &
39
+ GetChainParameter<TChain, TChainOverride>
40
+
41
+ export type SignTransactionReturnType = SignTransactionReturnType_
42
+
43
+ export type SignTransactionErrorType = SignTransactionErrorType_
44
+
45
+ /**
46
+ * Signs a transaction.
47
+ *
48
+ * - Docs: https://viem.sh/docs/zksync/actions/signTransaction
49
+ *
50
+ * @param args - {@link SignTransactionParameters}
51
+ * @returns The signed serialized tranasction. {@link SignTransactionReturnType}
52
+ *
53
+ * @example
54
+ * import { createWalletClient, custom } from 'viem'
55
+ * import { zkSync } from 'viem/chains'
56
+ * import { signTransaction } from 'viem/zksync'
57
+ *
58
+ * const client = createWalletClient({
59
+ * chain: zkSync,
60
+ * transport: custom(window.ethereum),
61
+ * })
62
+ * const signature = await signTransaction(client, {
63
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
64
+ * to: '0x0000000000000000000000000000000000000000',
65
+ * value: 1n,
66
+ * })
67
+ *
68
+ * @example
69
+ * // Account Hoisting
70
+ * import { createWalletClient, http } from 'viem'
71
+ * import { privateKeyToAccount } from 'viem/accounts'
72
+ * import { zkSync } from 'viem/chains'
73
+ * import { signTransaction } from 'viem/zksync'
74
+ *
75
+ * const client = createWalletClient({
76
+ * account: privateKeyToAccount('0x…'),
77
+ * chain: zkSync,
78
+ * transport: custom(window.ethereum),
79
+ * })
80
+ * const signature = await signTransaction(client, {
81
+ * to: '0x0000000000000000000000000000000000000000',
82
+ * value: 1n,
83
+ * })
84
+ */
85
+ export async function signTransaction<
86
+ TChain extends ChainEIP712 | undefined,
87
+ TAccount extends Account | undefined,
88
+ TChainOverride extends ChainEIP712 | undefined,
89
+ >(
90
+ client: Client<Transport, TChain, TAccount>,
91
+ args: SignTransactionParameters<TChain, TAccount, TChainOverride>,
92
+ ): Promise<SignTransactionReturnType> {
93
+ if (isEIP712Transaction(args)) return signEip712Transaction(client, args)
94
+ return await signTransaction_(client, args as any)
95
+ }
@@ -1,7 +1,11 @@
1
1
  import { formatters } from './formatters.js'
2
2
  import { serializers } from './serializers.js'
3
+ import { getEip712Domain } from './utils/getEip712Domain.js'
3
4
 
4
5
  export const chainConfig = {
5
6
  formatters,
6
7
  serializers,
8
+ custom: {
9
+ getEip712Domain,
10
+ },
7
11
  } as const
@@ -0,0 +1,3 @@
1
+ export { zkSync } from '../definitions/zkSync.js'
2
+ export { zkSyncTestnet } from '../definitions/zkSyncTestnet.js'
3
+ export { zkSyncSepoliaTestnet } from '../definitions/zkSyncSepoliaTestnet.js'
@@ -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
- }