viem 0.0.0-main.20231026T203612 → 0.0.0-main.20231026T205555

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/_cjs/actions/public/call.js +3 -3
  2. package/_cjs/actions/public/call.js.map +1 -1
  3. package/_cjs/actions/public/estimateGas.js +3 -3
  4. package/_cjs/actions/public/estimateGas.js.map +1 -1
  5. package/_cjs/actions/test/sendUnsignedTransaction.js +3 -3
  6. package/_cjs/actions/test/sendUnsignedTransaction.js.map +1 -1
  7. package/_cjs/actions/wallet/sendTransaction.js +3 -2
  8. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  9. package/_cjs/chains/definitions/zkSync.js +3 -0
  10. package/_cjs/chains/definitions/zkSync.js.map +1 -1
  11. package/_cjs/chains/definitions/zkSyncTestnet.js +3 -0
  12. package/_cjs/chains/definitions/zkSyncTestnet.js.map +1 -1
  13. package/_cjs/chains/utils/index.js +3 -1
  14. package/_cjs/chains/utils/index.js.map +1 -1
  15. package/_cjs/chains/zksync/formatters.js +125 -0
  16. package/_cjs/chains/zksync/formatters.js.map +1 -0
  17. package/_cjs/chains/zksync/types.js +3 -0
  18. package/_cjs/chains/zksync/types.js.map +1 -0
  19. package/_cjs/clients/decorators/public.js.map +1 -1
  20. package/_cjs/clients/decorators/wallet.js.map +1 -1
  21. package/_cjs/errors/node.js +11 -11
  22. package/_cjs/errors/node.js.map +1 -1
  23. package/_cjs/errors/rpc.js +18 -18
  24. package/_cjs/errors/rpc.js.map +1 -1
  25. package/_cjs/errors/version.js +1 -1
  26. package/_cjs/utils/formatters/extract.js +15 -7
  27. package/_cjs/utils/formatters/extract.js.map +1 -1
  28. package/_esm/actions/public/call.js +3 -3
  29. package/_esm/actions/public/call.js.map +1 -1
  30. package/_esm/actions/public/estimateGas.js +3 -3
  31. package/_esm/actions/public/estimateGas.js.map +1 -1
  32. package/_esm/actions/test/sendUnsignedTransaction.js +3 -3
  33. package/_esm/actions/test/sendUnsignedTransaction.js.map +1 -1
  34. package/_esm/actions/wallet/sendTransaction.js +3 -2
  35. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  36. package/_esm/chains/definitions/zkSync.js +3 -0
  37. package/_esm/chains/definitions/zkSync.js.map +1 -1
  38. package/_esm/chains/definitions/zkSyncTestnet.js +3 -0
  39. package/_esm/chains/definitions/zkSyncTestnet.js.map +1 -1
  40. package/_esm/chains/utils/index.js +1 -0
  41. package/_esm/chains/utils/index.js.map +1 -1
  42. package/_esm/chains/zksync/formatters.js +123 -0
  43. package/_esm/chains/zksync/formatters.js.map +1 -0
  44. package/_esm/chains/zksync/types.js +2 -0
  45. package/_esm/chains/zksync/types.js.map +1 -0
  46. package/_esm/clients/decorators/public.js.map +1 -1
  47. package/_esm/clients/decorators/wallet.js.map +1 -1
  48. package/_esm/errors/node.js +22 -11
  49. package/_esm/errors/node.js.map +1 -1
  50. package/_esm/errors/rpc.js +36 -18
  51. package/_esm/errors/rpc.js.map +1 -1
  52. package/_esm/errors/version.js +1 -1
  53. package/_esm/utils/formatters/extract.js +16 -9
  54. package/_esm/utils/formatters/extract.js.map +1 -1
  55. package/_types/actions/public/simulateContract.d.ts +1 -1
  56. package/_types/actions/public/simulateContract.d.ts.map +1 -1
  57. package/_types/actions/wallet/deployContract.d.ts +1 -1
  58. package/_types/actions/wallet/deployContract.d.ts.map +1 -1
  59. package/_types/actions/wallet/prepareTransactionRequest.d.ts +1 -1
  60. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  61. package/_types/actions/wallet/sendTransaction.d.ts +1 -1
  62. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  63. package/_types/actions/wallet/signTransaction.d.ts +1 -1
  64. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  65. package/_types/actions/wallet/writeContract.d.ts +1 -1
  66. package/_types/actions/wallet/writeContract.d.ts.map +1 -1
  67. package/_types/chains/definitions/arbitrum.d.ts +1 -1
  68. package/_types/chains/definitions/arbitrum.d.ts.map +1 -1
  69. package/_types/chains/definitions/arbitrumGoerli.d.ts +1 -1
  70. package/_types/chains/definitions/arbitrumGoerli.d.ts.map +1 -1
  71. package/_types/chains/definitions/arbitrumNova.d.ts +1 -1
  72. package/_types/chains/definitions/arbitrumNova.d.ts.map +1 -1
  73. package/_types/chains/definitions/arbitrumSepolia.d.ts +1 -1
  74. package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
  75. package/_types/chains/definitions/astarZkatana.d.ts +1 -1
  76. package/_types/chains/definitions/astarZkatana.d.ts.map +1 -1
  77. package/_types/chains/definitions/aurora.d.ts +1 -1
  78. package/_types/chains/definitions/aurora.d.ts.map +1 -1
  79. package/_types/chains/definitions/auroraTestnet.d.ts +1 -1
  80. package/_types/chains/definitions/auroraTestnet.d.ts.map +1 -1
  81. package/_types/chains/definitions/avalanche.d.ts +1 -1
  82. package/_types/chains/definitions/avalanche.d.ts.map +1 -1
  83. package/_types/chains/definitions/avalancheFuji.d.ts +1 -1
  84. package/_types/chains/definitions/avalancheFuji.d.ts.map +1 -1
  85. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -1
  86. package/_types/chains/definitions/bearNetworkChainMainnet.d.ts.map +1 -1
  87. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -1
  88. package/_types/chains/definitions/bearNetworkChainTestnet.d.ts.map +1 -1
  89. package/_types/chains/definitions/boba.d.ts +1 -1
  90. package/_types/chains/definitions/boba.d.ts.map +1 -1
  91. package/_types/chains/definitions/bronos.d.ts +1 -1
  92. package/_types/chains/definitions/bronos.d.ts.map +1 -1
  93. package/_types/chains/definitions/bronosTestnet.d.ts +1 -1
  94. package/_types/chains/definitions/bronosTestnet.d.ts.map +1 -1
  95. package/_types/chains/definitions/bsc.d.ts +1 -1
  96. package/_types/chains/definitions/bsc.d.ts.map +1 -1
  97. package/_types/chains/definitions/bscTestnet.d.ts +1 -1
  98. package/_types/chains/definitions/bscTestnet.d.ts.map +1 -1
  99. package/_types/chains/definitions/bxn.d.ts +1 -1
  100. package/_types/chains/definitions/bxn.d.ts.map +1 -1
  101. package/_types/chains/definitions/bxnTestnet.d.ts +1 -1
  102. package/_types/chains/definitions/bxnTestnet.d.ts.map +1 -1
  103. package/_types/chains/definitions/canto.d.ts +1 -1
  104. package/_types/chains/definitions/canto.d.ts.map +1 -1
  105. package/_types/chains/definitions/classic.d.ts +1 -1
  106. package/_types/chains/definitions/classic.d.ts.map +1 -1
  107. package/_types/chains/definitions/confluxESpace.d.ts +1 -1
  108. package/_types/chains/definitions/confluxESpace.d.ts.map +1 -1
  109. package/_types/chains/definitions/coreDao.d.ts +1 -1
  110. package/_types/chains/definitions/coreDao.d.ts.map +1 -1
  111. package/_types/chains/definitions/cronos.d.ts +1 -1
  112. package/_types/chains/definitions/cronos.d.ts.map +1 -1
  113. package/_types/chains/definitions/cronosTestnet.d.ts +1 -1
  114. package/_types/chains/definitions/cronosTestnet.d.ts.map +1 -1
  115. package/_types/chains/definitions/crossbell.d.ts +1 -1
  116. package/_types/chains/definitions/crossbell.d.ts.map +1 -1
  117. package/_types/chains/definitions/dfk.d.ts +1 -1
  118. package/_types/chains/definitions/dfk.d.ts.map +1 -1
  119. package/_types/chains/definitions/dogechain.d.ts +1 -1
  120. package/_types/chains/definitions/dogechain.d.ts.map +1 -1
  121. package/_types/chains/definitions/edgeware.d.ts +1 -1
  122. package/_types/chains/definitions/edgeware.d.ts.map +1 -1
  123. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -1
  124. package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
  125. package/_types/chains/definitions/ekta.d.ts +1 -1
  126. package/_types/chains/definitions/ekta.d.ts.map +1 -1
  127. package/_types/chains/definitions/ektaTestnet.d.ts +1 -1
  128. package/_types/chains/definitions/ektaTestnet.d.ts.map +1 -1
  129. package/_types/chains/definitions/eon.d.ts +1 -1
  130. package/_types/chains/definitions/eon.d.ts.map +1 -1
  131. package/_types/chains/definitions/eos.d.ts +1 -1
  132. package/_types/chains/definitions/eos.d.ts.map +1 -1
  133. package/_types/chains/definitions/eosTestnet.d.ts +1 -1
  134. package/_types/chains/definitions/eosTestnet.d.ts.map +1 -1
  135. package/_types/chains/definitions/evmos.d.ts +1 -1
  136. package/_types/chains/definitions/evmos.d.ts.map +1 -1
  137. package/_types/chains/definitions/evmosTestnet.d.ts +1 -1
  138. package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
  139. package/_types/chains/definitions/fantom.d.ts +1 -1
  140. package/_types/chains/definitions/fantom.d.ts.map +1 -1
  141. package/_types/chains/definitions/fantomTestnet.d.ts +1 -1
  142. package/_types/chains/definitions/fantomTestnet.d.ts.map +1 -1
  143. package/_types/chains/definitions/fibo.d.ts +1 -1
  144. package/_types/chains/definitions/fibo.d.ts.map +1 -1
  145. package/_types/chains/definitions/filecoin.d.ts +1 -1
  146. package/_types/chains/definitions/filecoin.d.ts.map +1 -1
  147. package/_types/chains/definitions/filecoinCalibration.d.ts +1 -1
  148. package/_types/chains/definitions/filecoinCalibration.d.ts.map +1 -1
  149. package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -1
  150. package/_types/chains/definitions/filecoinHyperspace.d.ts.map +1 -1
  151. package/_types/chains/definitions/flare.d.ts +1 -1
  152. package/_types/chains/definitions/flare.d.ts.map +1 -1
  153. package/_types/chains/definitions/flareTestnet.d.ts +1 -1
  154. package/_types/chains/definitions/flareTestnet.d.ts.map +1 -1
  155. package/_types/chains/definitions/foundry.d.ts +1 -1
  156. package/_types/chains/definitions/foundry.d.ts.map +1 -1
  157. package/_types/chains/definitions/fuse.d.ts +1 -1
  158. package/_types/chains/definitions/fuse.d.ts.map +1 -1
  159. package/_types/chains/definitions/fuseSparknet.d.ts +1 -1
  160. package/_types/chains/definitions/fuseSparknet.d.ts.map +1 -1
  161. package/_types/chains/definitions/gnosis.d.ts +1 -1
  162. package/_types/chains/definitions/gnosis.d.ts.map +1 -1
  163. package/_types/chains/definitions/gnosisChiado.d.ts +1 -1
  164. package/_types/chains/definitions/gnosisChiado.d.ts.map +1 -1
  165. package/_types/chains/definitions/gobi.d.ts +1 -1
  166. package/_types/chains/definitions/gobi.d.ts.map +1 -1
  167. package/_types/chains/definitions/goerli.d.ts +1 -1
  168. package/_types/chains/definitions/goerli.d.ts.map +1 -1
  169. package/_types/chains/definitions/haqqMainnet.d.ts +1 -1
  170. package/_types/chains/definitions/haqqMainnet.d.ts.map +1 -1
  171. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -1
  172. package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
  173. package/_types/chains/definitions/hardhat.d.ts +1 -1
  174. package/_types/chains/definitions/hardhat.d.ts.map +1 -1
  175. package/_types/chains/definitions/harmonyOne.d.ts +1 -1
  176. package/_types/chains/definitions/harmonyOne.d.ts.map +1 -1
  177. package/_types/chains/definitions/holesky.d.ts +1 -1
  178. package/_types/chains/definitions/holesky.d.ts.map +1 -1
  179. package/_types/chains/definitions/iotex.d.ts +1 -1
  180. package/_types/chains/definitions/iotex.d.ts.map +1 -1
  181. package/_types/chains/definitions/iotexTestnet.d.ts +1 -1
  182. package/_types/chains/definitions/iotexTestnet.d.ts.map +1 -1
  183. package/_types/chains/definitions/klaytn.d.ts +1 -1
  184. package/_types/chains/definitions/klaytn.d.ts.map +1 -1
  185. package/_types/chains/definitions/kroma.d.ts +1 -1
  186. package/_types/chains/definitions/kroma.d.ts.map +1 -1
  187. package/_types/chains/definitions/kromaSepolia.d.ts +1 -1
  188. package/_types/chains/definitions/kromaSepolia.d.ts.map +1 -1
  189. package/_types/chains/definitions/linea.d.ts +1 -1
  190. package/_types/chains/definitions/linea.d.ts.map +1 -1
  191. package/_types/chains/definitions/lineaTestnet.d.ts +1 -1
  192. package/_types/chains/definitions/lineaTestnet.d.ts.map +1 -1
  193. package/_types/chains/definitions/localhost.d.ts +1 -1
  194. package/_types/chains/definitions/localhost.d.ts.map +1 -1
  195. package/_types/chains/definitions/mainnet.d.ts +1 -1
  196. package/_types/chains/definitions/mainnet.d.ts.map +1 -1
  197. package/_types/chains/definitions/manta.d.ts +1 -1
  198. package/_types/chains/definitions/manta.d.ts.map +1 -1
  199. package/_types/chains/definitions/mantaTestnet.d.ts +1 -1
  200. package/_types/chains/definitions/mantaTestnet.d.ts.map +1 -1
  201. package/_types/chains/definitions/mantle.d.ts +1 -1
  202. package/_types/chains/definitions/mantle.d.ts.map +1 -1
  203. package/_types/chains/definitions/mantleTestnet.d.ts +1 -1
  204. package/_types/chains/definitions/mantleTestnet.d.ts.map +1 -1
  205. package/_types/chains/definitions/meter.d.ts +1 -1
  206. package/_types/chains/definitions/meter.d.ts.map +1 -1
  207. package/_types/chains/definitions/meterTestnet.d.ts +1 -1
  208. package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
  209. package/_types/chains/definitions/metis.d.ts +1 -1
  210. package/_types/chains/definitions/metis.d.ts.map +1 -1
  211. package/_types/chains/definitions/metisGoerli.d.ts +1 -1
  212. package/_types/chains/definitions/metisGoerli.d.ts.map +1 -1
  213. package/_types/chains/definitions/mev.d.ts +1 -1
  214. package/_types/chains/definitions/mev.d.ts.map +1 -1
  215. package/_types/chains/definitions/mevTestnet.d.ts +1 -1
  216. package/_types/chains/definitions/mevTestnet.d.ts.map +1 -1
  217. package/_types/chains/definitions/modeTestnet.d.ts +1 -1
  218. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  219. package/_types/chains/definitions/moonbaseAlpha.d.ts +1 -1
  220. package/_types/chains/definitions/moonbaseAlpha.d.ts.map +1 -1
  221. package/_types/chains/definitions/moonbeam.d.ts +1 -1
  222. package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
  223. package/_types/chains/definitions/moonbeamDev.d.ts +1 -1
  224. package/_types/chains/definitions/moonbeamDev.d.ts.map +1 -1
  225. package/_types/chains/definitions/moonriver.d.ts +1 -1
  226. package/_types/chains/definitions/moonriver.d.ts.map +1 -1
  227. package/_types/chains/definitions/neonDevnet.d.ts +1 -1
  228. package/_types/chains/definitions/neonDevnet.d.ts.map +1 -1
  229. package/_types/chains/definitions/nexi.d.ts +1 -1
  230. package/_types/chains/definitions/nexi.d.ts.map +1 -1
  231. package/_types/chains/definitions/nexilix.d.ts +1 -1
  232. package/_types/chains/definitions/nexilix.d.ts.map +1 -1
  233. package/_types/chains/definitions/oasys.d.ts +1 -1
  234. package/_types/chains/definitions/oasys.d.ts.map +1 -1
  235. package/_types/chains/definitions/okc.d.ts +1 -1
  236. package/_types/chains/definitions/okc.d.ts.map +1 -1
  237. package/_types/chains/definitions/opBNB.d.ts +1 -1
  238. package/_types/chains/definitions/opBNB.d.ts.map +1 -1
  239. package/_types/chains/definitions/opBNBTestnet.d.ts +1 -1
  240. package/_types/chains/definitions/opBNBTestnet.d.ts.map +1 -1
  241. package/_types/chains/definitions/plinga.d.ts +1 -1
  242. package/_types/chains/definitions/plinga.d.ts.map +1 -1
  243. package/_types/chains/definitions/polygon.d.ts +1 -1
  244. package/_types/chains/definitions/polygon.d.ts.map +1 -1
  245. package/_types/chains/definitions/polygonMumbai.d.ts +1 -1
  246. package/_types/chains/definitions/polygonMumbai.d.ts.map +1 -1
  247. package/_types/chains/definitions/polygonZkEvm.d.ts +1 -1
  248. package/_types/chains/definitions/polygonZkEvm.d.ts.map +1 -1
  249. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts +1 -1
  250. package/_types/chains/definitions/polygonZkEvmTestnet.d.ts.map +1 -1
  251. package/_types/chains/definitions/pulsechain.d.ts +1 -1
  252. package/_types/chains/definitions/pulsechain.d.ts.map +1 -1
  253. package/_types/chains/definitions/pulsechainV4.d.ts +1 -1
  254. package/_types/chains/definitions/pulsechainV4.d.ts.map +1 -1
  255. package/_types/chains/definitions/qMainnet.d.ts +1 -1
  256. package/_types/chains/definitions/qMainnet.d.ts.map +1 -1
  257. package/_types/chains/definitions/qTestnet.d.ts +1 -1
  258. package/_types/chains/definitions/qTestnet.d.ts.map +1 -1
  259. package/_types/chains/definitions/rollux.d.ts +1 -1
  260. package/_types/chains/definitions/rollux.d.ts.map +1 -1
  261. package/_types/chains/definitions/rolluxTestnet.d.ts +1 -1
  262. package/_types/chains/definitions/rolluxTestnet.d.ts.map +1 -1
  263. package/_types/chains/definitions/ronin.d.ts +1 -1
  264. package/_types/chains/definitions/ronin.d.ts.map +1 -1
  265. package/_types/chains/definitions/saigon.d.ts +1 -1
  266. package/_types/chains/definitions/saigon.d.ts.map +1 -1
  267. package/_types/chains/definitions/scroll.d.ts +1 -1
  268. package/_types/chains/definitions/scroll.d.ts.map +1 -1
  269. package/_types/chains/definitions/scrollSepolia.d.ts +1 -1
  270. package/_types/chains/definitions/scrollSepolia.d.ts.map +1 -1
  271. package/_types/chains/definitions/scrollTestnet.d.ts +1 -1
  272. package/_types/chains/definitions/scrollTestnet.d.ts.map +1 -1
  273. package/_types/chains/definitions/sepolia.d.ts +1 -1
  274. package/_types/chains/definitions/sepolia.d.ts.map +1 -1
  275. package/_types/chains/definitions/shardeumSphinx.d.ts +1 -1
  276. package/_types/chains/definitions/shardeumSphinx.d.ts.map +1 -1
  277. package/_types/chains/definitions/skale/brawl.d.ts +1 -1
  278. package/_types/chains/definitions/skale/brawl.d.ts.map +1 -1
  279. package/_types/chains/definitions/skale/calypso.d.ts +1 -1
  280. package/_types/chains/definitions/skale/calypso.d.ts.map +1 -1
  281. package/_types/chains/definitions/skale/calypsoTestnet.d.ts +1 -1
  282. package/_types/chains/definitions/skale/calypsoTestnet.d.ts.map +1 -1
  283. package/_types/chains/definitions/skale/chaosTestnet.d.ts +1 -1
  284. package/_types/chains/definitions/skale/chaosTestnet.d.ts.map +1 -1
  285. package/_types/chains/definitions/skale/cryptoBlades.d.ts +1 -1
  286. package/_types/chains/definitions/skale/cryptoBlades.d.ts.map +1 -1
  287. package/_types/chains/definitions/skale/cryptoColosseum.d.ts +1 -1
  288. package/_types/chains/definitions/skale/cryptoColosseum.d.ts.map +1 -1
  289. package/_types/chains/definitions/skale/europa.d.ts +1 -1
  290. package/_types/chains/definitions/skale/europa.d.ts.map +1 -1
  291. package/_types/chains/definitions/skale/europaTestnet.d.ts +1 -1
  292. package/_types/chains/definitions/skale/europaTestnet.d.ts.map +1 -1
  293. package/_types/chains/definitions/skale/exorde.d.ts +1 -1
  294. package/_types/chains/definitions/skale/exorde.d.ts.map +1 -1
  295. package/_types/chains/definitions/skale/humanProtocol.d.ts +1 -1
  296. package/_types/chains/definitions/skale/humanProtocol.d.ts.map +1 -1
  297. package/_types/chains/definitions/skale/nebula.d.ts +1 -1
  298. package/_types/chains/definitions/skale/nebula.d.ts.map +1 -1
  299. package/_types/chains/definitions/skale/nebulaTestnet.d.ts +1 -1
  300. package/_types/chains/definitions/skale/nebulaTestnet.d.ts.map +1 -1
  301. package/_types/chains/definitions/skale/razor.d.ts +1 -1
  302. package/_types/chains/definitions/skale/razor.d.ts.map +1 -1
  303. package/_types/chains/definitions/skale/titan.d.ts +1 -1
  304. package/_types/chains/definitions/skale/titan.d.ts.map +1 -1
  305. package/_types/chains/definitions/skale/titanTestnet.d.ts +1 -1
  306. package/_types/chains/definitions/skale/titanTestnet.d.ts.map +1 -1
  307. package/_types/chains/definitions/songbird.d.ts +1 -1
  308. package/_types/chains/definitions/songbird.d.ts.map +1 -1
  309. package/_types/chains/definitions/songbirdTestnet.d.ts +1 -1
  310. package/_types/chains/definitions/songbirdTestnet.d.ts.map +1 -1
  311. package/_types/chains/definitions/syscoin.d.ts +1 -1
  312. package/_types/chains/definitions/syscoin.d.ts.map +1 -1
  313. package/_types/chains/definitions/syscoinTestnet.d.ts +1 -1
  314. package/_types/chains/definitions/syscoinTestnet.d.ts.map +1 -1
  315. package/_types/chains/definitions/taikoJolnir.d.ts +1 -1
  316. package/_types/chains/definitions/taikoJolnir.d.ts.map +1 -1
  317. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -1
  318. package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
  319. package/_types/chains/definitions/taraxa.d.ts +1 -1
  320. package/_types/chains/definitions/taraxa.d.ts.map +1 -1
  321. package/_types/chains/definitions/taraxaTestnet.d.ts +1 -1
  322. package/_types/chains/definitions/taraxaTestnet.d.ts.map +1 -1
  323. package/_types/chains/definitions/telos.d.ts +1 -1
  324. package/_types/chains/definitions/telos.d.ts.map +1 -1
  325. package/_types/chains/definitions/telosTestnet.d.ts +1 -1
  326. package/_types/chains/definitions/telosTestnet.d.ts.map +1 -1
  327. package/_types/chains/definitions/thunderTestnet.d.ts +1 -1
  328. package/_types/chains/definitions/thunderTestnet.d.ts.map +1 -1
  329. package/_types/chains/definitions/vechain.d.ts +1 -1
  330. package/_types/chains/definitions/vechain.d.ts.map +1 -1
  331. package/_types/chains/definitions/wanchain.d.ts +1 -1
  332. package/_types/chains/definitions/wanchain.d.ts.map +1 -1
  333. package/_types/chains/definitions/wanchainTestnet.d.ts +1 -1
  334. package/_types/chains/definitions/wanchainTestnet.d.ts.map +1 -1
  335. package/_types/chains/definitions/xdc.d.ts +1 -1
  336. package/_types/chains/definitions/xdc.d.ts.map +1 -1
  337. package/_types/chains/definitions/xdcTestnet.d.ts +1 -1
  338. package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
  339. package/_types/chains/definitions/zetachainAthensTestnet.d.ts +1 -1
  340. package/_types/chains/definitions/zetachainAthensTestnet.d.ts.map +1 -1
  341. package/_types/chains/definitions/zhejiang.d.ts +1 -1
  342. package/_types/chains/definitions/zhejiang.d.ts.map +1 -1
  343. package/_types/chains/definitions/zkSync.d.ts +484 -1
  344. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  345. package/_types/chains/definitions/zkSyncTestnet.d.ts +484 -1
  346. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  347. package/_types/chains/utils/index.d.ts +2 -0
  348. package/_types/chains/utils/index.d.ts.map +1 -1
  349. package/_types/chains/zksync/formatters.d.ts +487 -0
  350. package/_types/chains/zksync/formatters.d.ts.map +1 -0
  351. package/_types/chains/zksync/types.d.ts +145 -0
  352. package/_types/chains/zksync/types.d.ts.map +1 -0
  353. package/_types/clients/decorators/public.d.ts +4 -4
  354. package/_types/clients/decorators/public.d.ts.map +1 -1
  355. package/_types/clients/decorators/wallet.d.ts +5 -5
  356. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  357. package/_types/errors/version.d.ts +1 -1
  358. package/_types/utils/chain.d.ts +1 -1
  359. package/_types/utils/chain.d.ts.map +1 -1
  360. package/_types/utils/formatters/block.d.ts +1 -1
  361. package/_types/utils/formatters/extract.d.ts +2 -2
  362. package/_types/utils/formatters/extract.d.ts.map +1 -1
  363. package/_types/utils/formatters/formatter.d.ts +1 -1
  364. package/_types/utils/formatters/transaction.d.ts +1 -1
  365. package/_types/utils/formatters/transactionReceipt.d.ts +1 -1
  366. package/_types/utils/formatters/transactionRequest.d.ts +1 -1
  367. package/actions/public/call.ts +4 -4
  368. package/actions/public/estimateGas.ts +4 -4
  369. package/actions/public/simulateContract.ts +1 -1
  370. package/actions/test/sendUnsignedTransaction.ts +4 -4
  371. package/actions/wallet/deployContract.ts +1 -1
  372. package/actions/wallet/prepareTransactionRequest.ts +1 -1
  373. package/actions/wallet/sendTransaction.ts +5 -4
  374. package/actions/wallet/signTransaction.ts +1 -1
  375. package/actions/wallet/writeContract.ts +1 -1
  376. package/chains/definitions/zkSync.ts +32 -26
  377. package/chains/definitions/zkSyncTestnet.ts +29 -23
  378. package/chains/utils/index.ts +14 -0
  379. package/chains/zksync/formatters.ts +144 -0
  380. package/chains/zksync/types.ts +285 -0
  381. package/clients/decorators/public.ts +8 -4
  382. package/clients/decorators/wallet.ts +7 -5
  383. package/errors/version.ts +1 -1
  384. package/package.json +1 -1
  385. package/utils/chain.ts +1 -1
  386. package/utils/formatters/extract.ts +20 -9
  387. package/utils/formatters/formatter.ts +1 -1
@@ -0,0 +1,144 @@
1
+ import { type ChainFormatters } from '../../types/chain.js'
2
+ import type { Hash } from '../../types/misc.js'
3
+ import { hexToBigInt, hexToNumber } from '../../utils/encoding/fromHex.js'
4
+ import { hexToBytes } from '../../utils/encoding/toBytes.js'
5
+ import { toHex } from '../../utils/encoding/toHex.js'
6
+ import { defineBlock } from '../../utils/formatters/block.js'
7
+ import { formatLog } from '../../utils/formatters/log.js'
8
+ import { defineTransaction } from '../../utils/formatters/transaction.js'
9
+ import { defineTransactionReceipt } from '../../utils/formatters/transactionReceipt.js'
10
+ import { defineTransactionRequest } from '../../utils/formatters/transactionRequest.js'
11
+ import type {
12
+ L2ToL1Log,
13
+ Log,
14
+ ZkSyncBlockOverrides,
15
+ ZkSyncRpcBlockOverrides,
16
+ ZkSyncRpcTransaction,
17
+ ZkSyncRpcTransactionReceiptOverrides,
18
+ ZkSyncRpcTransactionRequest,
19
+ ZkSyncTransaction,
20
+ ZkSyncTransactionReceipt,
21
+ ZkSyncTransactionReceiptOverrides,
22
+ ZkSyncTransactionRequest,
23
+ } from './types.js'
24
+
25
+ export const formattersZkSync = {
26
+ block: /*#__PURE__*/ defineBlock({
27
+ format(
28
+ args: ZkSyncRpcBlockOverrides & {
29
+ transactions: Hash[] | ZkSyncRpcTransaction[]
30
+ },
31
+ ): ZkSyncBlockOverrides & {
32
+ transactions: Hash[] | ZkSyncTransaction[]
33
+ } {
34
+ const transactions = args.transactions?.map((transaction) => {
35
+ if (typeof transaction === 'string') return transaction
36
+ const formatted = formattersZkSync.transaction.format(
37
+ transaction as ZkSyncRpcTransaction,
38
+ ) as ZkSyncTransaction
39
+ if (formatted.typeHex === '0x71') formatted.type = 'eip712'
40
+ else if (formatted.typeHex === '0xff') formatted.type = 'priority'
41
+ return formatted
42
+ }) as Hash[] | ZkSyncTransaction[]
43
+ return {
44
+ l1BatchNumber: hexToBigInt(args.l1BatchNumber),
45
+ l1BatchTimestamp: hexToBigInt(args.l1BatchTimestamp),
46
+ transactions,
47
+ }
48
+ },
49
+ }),
50
+ transaction: /*#__PURE__*/ defineTransaction({
51
+ format(args: ZkSyncRpcTransaction): ZkSyncTransaction {
52
+ const transaction = {} as ZkSyncTransaction
53
+ if (args.type === '0x71') transaction.type = 'eip712'
54
+ else if (args.type === '0xff') transaction.type = 'priority'
55
+ return {
56
+ ...transaction,
57
+ l1BatchNumber: args.l1BatchNumber
58
+ ? hexToBigInt(args.l1BatchNumber)
59
+ : null,
60
+ l1BatchTxIndex: args.l1BatchTxIndex
61
+ ? hexToBigInt(args.l1BatchTxIndex)
62
+ : null,
63
+ } as ZkSyncTransaction
64
+ },
65
+ }),
66
+ transactionReceipt: /*#__PURE__*/ defineTransactionReceipt({
67
+ format(
68
+ args: ZkSyncRpcTransactionReceiptOverrides,
69
+ ): ZkSyncTransactionReceiptOverrides {
70
+ return {
71
+ l1BatchNumber: args.l1BatchNumber
72
+ ? hexToBigInt(args.l1BatchNumber)
73
+ : null,
74
+ l1BatchTxIndex: args.l1BatchTxIndex
75
+ ? hexToBigInt(args.l1BatchTxIndex)
76
+ : null,
77
+ logs: args.logs.map((log) => {
78
+ return {
79
+ ...formatLog(log),
80
+ l1BatchNumber: log.l1BatchNumber
81
+ ? hexToBigInt(log.l1BatchNumber)
82
+ : null,
83
+ transactionLogIndex: hexToNumber(log.transactionLogIndex),
84
+ logType: log.logType,
85
+ }
86
+ }) as Log[],
87
+ l2ToL1Logs: args.l2ToL1Logs.map((l2ToL1Log) => {
88
+ return {
89
+ blockNumber: hexToBigInt(l2ToL1Log.blockHash),
90
+ blockHash: l2ToL1Log.blockHash,
91
+ l1BatchNumber: hexToBigInt(l2ToL1Log.l1BatchNumber),
92
+ transactionIndex: hexToBigInt(l2ToL1Log.transactionIndex),
93
+ shardId: hexToBigInt(l2ToL1Log.shardId),
94
+ isService: l2ToL1Log.isService,
95
+ sender: l2ToL1Log.sender,
96
+ key: l2ToL1Log.key,
97
+ value: l2ToL1Log.value,
98
+ transactionHash: l2ToL1Log.transactionHash,
99
+ logIndex: hexToBigInt(l2ToL1Log.logIndex),
100
+ }
101
+ }) as L2ToL1Log[],
102
+ } as ZkSyncTransactionReceipt
103
+ },
104
+ }),
105
+ transactionRequest: /*#__PURE__*/ defineTransactionRequest({
106
+ exclude: [
107
+ 'customSignature',
108
+ 'factoryDeps',
109
+ 'gasPerPubdata',
110
+ 'paymaster',
111
+ 'paymasterInput',
112
+ ],
113
+ format(args: ZkSyncTransactionRequest): ZkSyncRpcTransactionRequest {
114
+ if (
115
+ (args.type === 'eip712' || args.type === 'priority') &&
116
+ (args.gasPerPubdata ||
117
+ (args.paymaster && args.paymasterInput) ||
118
+ args.factoryDeps ||
119
+ args.customSignature)
120
+ )
121
+ return {
122
+ eip712Meta: {
123
+ ...(args.gasPerPubdata
124
+ ? { gasPerPubdata: toHex(args.gasPerPubdata) }
125
+ : {}),
126
+ ...(args.paymaster && args.paymasterInput
127
+ ? {
128
+ paymasterParams: {
129
+ paymaster: args.paymaster,
130
+ paymasterInput: Array.from(hexToBytes(args.paymasterInput)),
131
+ },
132
+ }
133
+ : {}),
134
+ ...(args.factoryDeps ? { factoryDeps: args.factoryDeps } : {}),
135
+ ...(args.customSignature
136
+ ? { customSignature: args.customSignature }
137
+ : {}),
138
+ },
139
+ type: args.type === 'eip712' ? '0x71' : '0xff',
140
+ } as ZkSyncRpcTransactionRequest
141
+ return {} as ZkSyncRpcTransactionRequest
142
+ },
143
+ }),
144
+ } as const satisfies ChainFormatters
@@ -0,0 +1,285 @@
1
+ import type { 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'
6
+ import type {
7
+ Index,
8
+ Quantity,
9
+ RpcBlock,
10
+ RpcLog as RpcLog_,
11
+ RpcTransactionRequest as RpcTransactionRequest_,
12
+ TransactionType,
13
+ } from '../../types/rpc.js'
14
+ import type {
15
+ Transaction as Transaction_,
16
+ TransactionBase,
17
+ TransactionEIP2930,
18
+ TransactionLegacy,
19
+ TransactionReceipt,
20
+ TransactionRequest as TransactionRequest_,
21
+ TransactionRequestBase,
22
+ } from '../../types/transaction.js'
23
+ import type { UnionOmit } from '../../types/utils.js'
24
+
25
+ import type { Abi, AbiEvent } from 'abitype'
26
+
27
+ // Types
28
+ // https://era.zksync.io/docs/api/js/types.html
29
+
30
+ export type Log<
31
+ TQuantity = bigint,
32
+ TIndex = number,
33
+ TPending extends boolean = boolean,
34
+ TAbiEvent extends AbiEvent | undefined = undefined,
35
+ TStrict extends boolean | undefined = undefined,
36
+ TAbi extends Abi | readonly unknown[] | undefined = TAbiEvent extends AbiEvent
37
+ ? [TAbiEvent]
38
+ : undefined,
39
+ TEventName extends string | undefined = TAbiEvent extends AbiEvent
40
+ ? TAbiEvent['name']
41
+ : undefined,
42
+ > = Log_<TQuantity, TIndex, TPending, TAbiEvent, TStrict, TAbi, TEventName> & {
43
+ l1BatchNumber: TQuantity
44
+ transactionLogIndex: TIndex
45
+ logType: Hex | null
46
+ }
47
+
48
+ export type RpcLog = RpcLog_ & {
49
+ l1BatchNumber: Hex | null
50
+ // These are returned but doesn't apear in Log structure neither is mentioned in https://era.zksync.io/docs/api/js/types.html
51
+ transactionLogIndex: Hex
52
+ logType: Hex | null
53
+ }
54
+
55
+ type PaymasterParams = {
56
+ paymaster: Address
57
+ paymasterInput: number[]
58
+ }
59
+
60
+ export type Eip712Meta = {
61
+ gasPerPubdata?: Hex
62
+ factoryDeps?: Hex[]
63
+ customSignature?: Hex
64
+ paymasterParams?: PaymasterParams
65
+ }
66
+
67
+ export type L2ToL1Log = {
68
+ blockNumber: bigint
69
+ blockHash: string
70
+ l1BatchNumber: bigint
71
+ transactionIndex: bigint
72
+ shardId: bigint
73
+ isService: boolean
74
+ sender: string
75
+ key: string
76
+ value: string
77
+ transactionHash: string
78
+ logIndex: bigint
79
+ }
80
+
81
+ export type RpcL2ToL1Log = {
82
+ blockNumber: Hex
83
+ blockHash: Hex
84
+ l1BatchNumber: Hex
85
+ transactionIndex: Hex
86
+ shardId: Hex
87
+ isService: boolean
88
+ sender: Hex
89
+ key: Hex
90
+ value: Hex
91
+ transactionHash: Hex
92
+ logIndex: Hex
93
+ }
94
+
95
+ export type ZkSyncFeeValues<TQuantity = bigint> = {
96
+ gasPrice: TQuantity
97
+ maxFeePerGas: TQuantity
98
+ maxPriorityFeePerGas: TQuantity
99
+ }
100
+
101
+ type EIP712Type = '0x71'
102
+ type PriorityType = '0xff'
103
+
104
+ // Block
105
+ // https://era.zksync.io/docs/api/js/types.html#block
106
+
107
+ export type ZkSyncBlockOverrides = {
108
+ l1BatchNumber: bigint | null
109
+ l1BatchTimestamp: bigint | null
110
+ }
111
+
112
+ export type ZkSyncBlock<
113
+ TIncludeTransactions extends boolean = boolean,
114
+ TBlockTag extends BlockTag = BlockTag,
115
+ > = Block<
116
+ bigint,
117
+ TIncludeTransactions,
118
+ TBlockTag,
119
+ ZkSyncTransaction<TBlockTag extends 'pending' ? true : false>
120
+ > &
121
+ ZkSyncBlockOverrides
122
+
123
+ // Block (RPC)
124
+
125
+ export type ZkSyncRpcBlockOverrides = {
126
+ l1BatchNumber: Hex
127
+ l1BatchTimestamp: Hex
128
+ }
129
+ export type ZkSyncRpcBlock<
130
+ TBlockTag extends BlockTag = BlockTag,
131
+ TIncludeTransactions extends boolean = boolean,
132
+ > = RpcBlock<
133
+ TBlockTag,
134
+ TIncludeTransactions,
135
+ ZkSyncRpcTransaction<TBlockTag extends 'pending' ? true : false>
136
+ > &
137
+ ZkSyncRpcBlockOverrides
138
+
139
+ // Transaction
140
+ // https://era.zksync.io/docs/api/js/types.html#transactionresponse
141
+
142
+ type TransactionOverrides = {
143
+ l1BatchNumber: bigint | null
144
+ l1BatchTxIndex: bigint | null
145
+ }
146
+
147
+ type TransactionPriority<TPending extends boolean = boolean> = TransactionBase<
148
+ bigint,
149
+ number,
150
+ TPending
151
+ > &
152
+ TransactionOverrides &
153
+ FeeValuesEIP1559 & {
154
+ type: 'priority'
155
+ }
156
+
157
+ export type TransactionEIP712<TPending extends boolean = boolean> =
158
+ TransactionBase<bigint, number, TPending> &
159
+ TransactionOverrides &
160
+ FeeValuesEIP1559 & {
161
+ type: 'eip712' | 'priority'
162
+ }
163
+
164
+ type Transaction<TPending extends boolean = boolean> = Transaction_<
165
+ bigint,
166
+ number,
167
+ TPending
168
+ > &
169
+ TransactionOverrides
170
+
171
+ export type ZkSyncTransaction<TPending extends boolean = boolean> =
172
+ | Transaction<TPending>
173
+ | TransactionPriority<TPending>
174
+ | TransactionEIP712<TPending>
175
+
176
+ // Transaction (RPC)
177
+
178
+ type RpcTransactionOverrides = {
179
+ l1BatchNumber: Hex
180
+ l1BatchTxIndex: Hex
181
+ }
182
+
183
+ export type RpcTransactionLegacy<TPending extends boolean = boolean> =
184
+ TransactionLegacy<Quantity, Index, TPending, '0x0'> & RpcTransactionOverrides
185
+
186
+ export type RpcTransactionEIP2930<TPending extends boolean = boolean> =
187
+ TransactionEIP2930<Quantity, Index, TPending, '0x1'> & RpcTransactionOverrides
188
+
189
+ // Cannot use default EIP1559 transaction because the fee `gasPrice` parameter is set to `never`
190
+ export type RpcTransactionEIP1559<TPending extends boolean = boolean> =
191
+ TransactionBase<Quantity, Index, TPending> &
192
+ ZkSyncFeeValues<Quantity> &
193
+ RpcTransactionOverrides & {
194
+ type: '0x2'
195
+ }
196
+
197
+ export type RpcTransactionPriority<TPending extends boolean = boolean> =
198
+ TransactionBase<Quantity, Index, TPending> &
199
+ ZkSyncFeeValues<Quantity> &
200
+ RpcTransactionOverrides & {
201
+ type: PriorityType
202
+ }
203
+
204
+ export type RpcTransactionEIP712<TPending extends boolean = boolean> =
205
+ TransactionBase<Quantity, Index, TPending> &
206
+ ZkSyncFeeValues<Quantity> &
207
+ RpcTransactionOverrides & {
208
+ type: EIP712Type
209
+ }
210
+
211
+ export type ZkSyncRpcTransaction<TPending extends boolean = boolean> =
212
+ UnionOmit<
213
+ | RpcTransactionLegacy<TPending>
214
+ | RpcTransactionEIP2930<TPending>
215
+ | RpcTransactionEIP1559<TPending>
216
+ | RpcTransactionPriority<TPending>
217
+ | RpcTransactionEIP712<TPending>,
218
+ 'typeHex'
219
+ >
220
+
221
+ // Transaction Request
222
+ // https://era.zksync.io/docs/reference/concepts/transactions.html
223
+
224
+ type TransactionRequest = TransactionRequest_ & {
225
+ gasPerPubdata?: undefined
226
+ customSignature?: undefined
227
+ paymaster?: undefined
228
+ paymasterInput?: undefined
229
+ factoryDeps?: undefined
230
+ }
231
+
232
+ export type ZkSyncTransactionRequestEIP712 = Omit<
233
+ TransactionRequestBase,
234
+ 'type'
235
+ > &
236
+ Partial<FeeValuesEIP1559> & {
237
+ gasPerPubdata?: bigint
238
+ customSignature?: Hex
239
+ factoryDeps?: Hex[]
240
+ type: 'eip712' | 'priority'
241
+ } & (
242
+ | { paymaster: Address; paymasterInput: Hex }
243
+ | { paymaster?: undefined; paymasterInput?: undefined }
244
+ )
245
+
246
+ export type ZkSyncTransactionRequest =
247
+ | TransactionRequest
248
+ | ZkSyncTransactionRequestEIP712
249
+
250
+ type RpcTransactionRequest = RpcTransactionRequest_ & { eip712Meta?: undefined }
251
+
252
+ export type RpcTransactionRequestEIP712 = TransactionRequestBase<
253
+ Quantity,
254
+ Index
255
+ > &
256
+ Partial<FeeValuesEIP1559<Quantity>> & {
257
+ eip712Meta: Eip712Meta
258
+ type: EIP712Type | PriorityType
259
+ }
260
+
261
+ export type ZkSyncRpcTransactionRequest =
262
+ | RpcTransactionRequest
263
+ | RpcTransactionRequestEIP712
264
+
265
+ export type ZkSyncTransactionType = TransactionType | 'eip712' | 'priority'
266
+
267
+ // Transaction Receipt
268
+ // https://era.zksync.io/docs/api/js/types.html#transactionreceipt
269
+
270
+ export type ZkSyncRpcTransactionReceiptOverrides = {
271
+ l1BatchNumber: Hex
272
+ l1BatchTxIndex: Hex
273
+ logs: RpcLog[]
274
+ l2ToL1Logs: RpcL2ToL1Log[]
275
+ root: Hex
276
+ }
277
+
278
+ export type ZkSyncTransactionReceiptOverrides = {
279
+ l1BatchNumber: bigint | null
280
+ l1BatchTxIndex: bigint | null
281
+ logs: Log[]
282
+ l2ToL1Logs: L2ToL1Log[]
283
+ }
284
+ export type ZkSyncTransactionReceipt = Omit<TransactionReceipt, 'logs'> &
285
+ ZkSyncTransactionReceiptOverrides
@@ -859,7 +859,7 @@ export type PublicActions<
859
859
  * // { maxFeePerGas: ..., maxPriorityFeePerGas: ... }
860
860
  */
861
861
  estimateFeesPerGas: <
862
- TChainOverride extends Chain | undefined,
862
+ TChainOverride extends Chain | undefined = undefined,
863
863
  TType extends FeeValuesType = 'eip1559',
864
864
  >(
865
865
  args?: EstimateFeesPerGasParameters<TChain, TChainOverride, TType>,
@@ -1115,7 +1115,9 @@ export type PublicActions<
1115
1115
  * const maxPriorityFeePerGas = await client.estimateMaxPriorityFeePerGas()
1116
1116
  * // 10000000n
1117
1117
  */
1118
- estimateMaxPriorityFeePerGas: <TChainOverride extends Chain | undefined,>(
1118
+ estimateMaxPriorityFeePerGas: <
1119
+ TChainOverride extends Chain | undefined = undefined,
1120
+ >(
1119
1121
  args?: EstimateMaxPriorityFeePerGasParameters<TChain, TChainOverride>,
1120
1122
  ) => Promise<EstimateMaxPriorityFeePerGasReturnType>
1121
1123
  /**
@@ -1324,7 +1326,9 @@ export type PublicActions<
1324
1326
  * value: 1n,
1325
1327
  * })
1326
1328
  */
1327
- prepareTransactionRequest: <TChainOverride extends Chain | undefined,>(
1329
+ prepareTransactionRequest: <
1330
+ TChainOverride extends Chain | undefined = undefined,
1331
+ >(
1328
1332
  args: PrepareTransactionRequestParameters<TChain, TAccount, TChainOverride>,
1329
1333
  ) => Promise<PrepareTransactionRequestReturnType>
1330
1334
  /**
@@ -1424,7 +1428,7 @@ export type PublicActions<
1424
1428
  simulateContract: <
1425
1429
  const TAbi extends Abi | readonly unknown[],
1426
1430
  TFunctionName extends string,
1427
- TChainOverride extends Chain | undefined,
1431
+ TChainOverride extends Chain | undefined = undefined,
1428
1432
  >(
1429
1433
  args: SimulateContractParameters<
1430
1434
  TAbi,
@@ -128,7 +128,7 @@ export type WalletActions<
128
128
  */
129
129
  deployContract: <
130
130
  const TAbi extends Abi | readonly unknown[],
131
- TChainOverride extends Chain | undefined,
131
+ TChainOverride extends Chain | undefined = undefined,
132
132
  >(
133
133
  args: DeployContractParameters<TAbi, TChain, TAccount, TChainOverride>,
134
134
  ) => Promise<DeployContractReturnType>
@@ -228,7 +228,9 @@ export type WalletActions<
228
228
  * value: 1n,
229
229
  * })
230
230
  */
231
- prepareTransactionRequest: <TChainOverride extends Chain | undefined,>(
231
+ prepareTransactionRequest: <
232
+ TChainOverride extends Chain | undefined = undefined,
233
+ >(
232
234
  args: PrepareTransactionRequestParameters<TChain, TAccount, TChainOverride>,
233
235
  ) => Promise<PrepareTransactionRequestReturnType>
234
236
  /**
@@ -347,7 +349,7 @@ export type WalletActions<
347
349
  * value: 1000000000000000000n,
348
350
  * })
349
351
  */
350
- sendTransaction: <TChainOverride extends Chain | undefined>(
352
+ sendTransaction: <TChainOverride extends Chain | undefined = undefined>(
351
353
  args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
352
354
  ) => Promise<SendTransactionReturnType>
353
355
  /**
@@ -439,7 +441,7 @@ export type WalletActions<
439
441
  * })
440
442
  * const signature = await client.signTransaction(request)
441
443
  */
442
- signTransaction: <TChainOverride extends Chain | undefined,>(
444
+ signTransaction: <TChainOverride extends Chain | undefined = undefined>(
443
445
  args: SignTransactionParameters<TChain, TAccount, TChainOverride>,
444
446
  ) => Promise<SignTransactionReturnType>
445
447
  /**
@@ -640,7 +642,7 @@ export type WalletActions<
640
642
  writeContract: <
641
643
  const TAbi extends Abi | readonly unknown[],
642
644
  TFunctionName extends string,
643
- TChainOverride extends Chain | undefined,
645
+ TChainOverride extends Chain | undefined = undefined,
644
646
  >(
645
647
  args: WriteContractParameters<
646
648
  TAbi,
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20231026T203612'
1
+ export const version = '0.0.0-main.20231026T205555'
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.20231026T203612",
4
+ "version": "0.0.0-main.20231026T205555",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",
package/utils/chain.ts CHANGED
@@ -36,7 +36,7 @@ export function assertCurrentChain({
36
36
 
37
37
  export function defineChain<
38
38
  const chain extends Chain,
39
- formatters extends ChainFormatters,
39
+ formatters extends ChainFormatters | undefined = undefined,
40
40
  >(
41
41
  chain: chain,
42
42
  config: ChainConfig<formatters> = {},
@@ -4,19 +4,30 @@ import type { ChainFormatter } from '../../types/chain.js'
4
4
  export type ExtractErrorType = ErrorType
5
5
 
6
6
  /**
7
- * @description Picks out the keys from `value` that exist in the formatter.
7
+ * @description Picks out the keys from `value` that exist in the formatter..
8
8
  */
9
9
  export function extract(
10
- value: Record<string, unknown>,
10
+ value_: Record<string, unknown>,
11
11
  { format }: { format?: ChainFormatter['format'] },
12
12
  ) {
13
13
  if (!format) return {}
14
- const keys = Object.keys(format({}))
15
- return keys.reduce((data: Record<string, unknown>, key) => {
16
- // biome-ignore lint/suspicious/noPrototypeBuiltins:
17
- if (value?.hasOwnProperty(key)) {
18
- data[key] = value[key]
14
+
15
+ const value: Record<string, unknown> = {}
16
+ function extract_(formatted: Record<string, any>) {
17
+ const keys = Object.keys(formatted)
18
+ for (const key of keys) {
19
+ if (key in value_) value[key] = value_[key]
20
+ if (
21
+ formatted[key] &&
22
+ typeof formatted[key] === 'object' &&
23
+ !Array.isArray(formatted[key])
24
+ )
25
+ extract_(formatted[key])
19
26
  }
20
- return data
21
- }, {})
27
+ }
28
+
29
+ const formatted = format(value_ || {})
30
+ extract_(formatted)
31
+
32
+ return value
22
33
  }
@@ -10,7 +10,7 @@ export function defineFormatter<TType extends string, TParameters, TReturnType>(
10
10
  return <
11
11
  TOverrideParameters,
12
12
  TOverrideReturnType,
13
- TExclude extends (keyof TParameters)[] = [],
13
+ TExclude extends (keyof TParameters | keyof TOverrideParameters)[] = [],
14
14
  >({
15
15
  exclude,
16
16
  format: overrides,