viem 2.7.20 → 2.8.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 (826) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/_cjs/accounts/utils/sign.js +1 -0
  3. package/_cjs/accounts/utils/sign.js.map +1 -1
  4. package/_cjs/accounts/utils/signTransaction.js +11 -2
  5. package/_cjs/accounts/utils/signTransaction.js.map +1 -1
  6. package/_cjs/actions/index.js +4 -2
  7. package/_cjs/actions/index.js.map +1 -1
  8. package/_cjs/actions/public/call.js +3 -1
  9. package/_cjs/actions/public/call.js.map +1 -1
  10. package/_cjs/actions/public/estimateGas.js +3 -1
  11. package/_cjs/actions/public/estimateGas.js.map +1 -1
  12. package/_cjs/actions/public/getBlobBaseFee.js +11 -0
  13. package/_cjs/actions/public/getBlobBaseFee.js.map +1 -0
  14. package/_cjs/actions/public/multicall.js +1 -1
  15. package/_cjs/actions/public/multicall.js.map +1 -1
  16. package/_cjs/actions/wallet/prepareTransactionRequest.js +11 -2
  17. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  18. package/_cjs/actions/wallet/sendRawTransaction.js.map +1 -1
  19. package/_cjs/actions/wallet/sendTransaction.js +7 -8
  20. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  21. package/_cjs/actions/wallet/signTransaction.js +7 -6
  22. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  23. package/_cjs/chains/celo/serializers.js +10 -15
  24. package/_cjs/chains/celo/serializers.js.map +1 -1
  25. package/_cjs/chains/definitions/ancient8Sepolia.js +1 -1
  26. package/_cjs/chains/definitions/ancient8Sepolia.js.map +1 -1
  27. package/_cjs/chains/definitions/anvil.js +1 -1
  28. package/_cjs/chains/definitions/anvil.js.map +1 -1
  29. package/_cjs/chains/definitions/arbitrum.js +1 -1
  30. package/_cjs/chains/definitions/arbitrum.js.map +1 -1
  31. package/_cjs/chains/definitions/arbitrumGoerli.js +1 -1
  32. package/_cjs/chains/definitions/arbitrumGoerli.js.map +1 -1
  33. package/_cjs/chains/definitions/arbitrumNova.js +1 -1
  34. package/_cjs/chains/definitions/arbitrumNova.js.map +1 -1
  35. package/_cjs/chains/definitions/arbitrumSepolia.js +1 -1
  36. package/_cjs/chains/definitions/arbitrumSepolia.js.map +1 -1
  37. package/_cjs/chains/definitions/astarZkEVM.js +1 -1
  38. package/_cjs/chains/definitions/astarZkEVM.js.map +1 -1
  39. package/_cjs/chains/definitions/astarZkatana.js +1 -1
  40. package/_cjs/chains/definitions/astarZkatana.js.map +1 -1
  41. package/_cjs/chains/definitions/astarZkyoto.js +1 -1
  42. package/_cjs/chains/definitions/astarZkyoto.js.map +1 -1
  43. package/_cjs/chains/definitions/avalanche.js +1 -1
  44. package/_cjs/chains/definitions/avalanche.js.map +1 -1
  45. package/_cjs/chains/definitions/avalancheFuji.js +1 -1
  46. package/_cjs/chains/definitions/avalancheFuji.js.map +1 -1
  47. package/_cjs/chains/definitions/baseSepolia.js +1 -1
  48. package/_cjs/chains/definitions/baseSepolia.js.map +1 -1
  49. package/_cjs/chains/definitions/blastSepolia.js +2 -2
  50. package/_cjs/chains/definitions/blastSepolia.js.map +1 -1
  51. package/_cjs/chains/definitions/canto.js +1 -1
  52. package/_cjs/chains/definitions/canto.js.map +1 -1
  53. package/_cjs/chains/definitions/celo.js +1 -1
  54. package/_cjs/chains/definitions/celo.js.map +1 -1
  55. package/_cjs/chains/definitions/celoAlfajores.js +1 -1
  56. package/_cjs/chains/definitions/celoAlfajores.js.map +1 -1
  57. package/_cjs/chains/definitions/chiliz.js +1 -1
  58. package/_cjs/chains/definitions/chiliz.js.map +1 -1
  59. package/_cjs/chains/definitions/confluxESpace.js +1 -1
  60. package/_cjs/chains/definitions/confluxESpace.js.map +1 -1
  61. package/_cjs/chains/definitions/coreDao.js +1 -1
  62. package/_cjs/chains/definitions/coreDao.js.map +1 -1
  63. package/_cjs/chains/definitions/crossbell.js +2 -2
  64. package/_cjs/chains/definitions/crossbell.js.map +1 -1
  65. package/_cjs/chains/definitions/dfk.js +1 -1
  66. package/_cjs/chains/definitions/dfk.js.map +1 -1
  67. package/_cjs/chains/definitions/dogechain.js +1 -1
  68. package/_cjs/chains/definitions/dogechain.js.map +1 -1
  69. package/_cjs/chains/definitions/eon.js +1 -1
  70. package/_cjs/chains/definitions/eon.js.map +1 -1
  71. package/_cjs/chains/definitions/evmos.js +1 -1
  72. package/_cjs/chains/definitions/evmos.js.map +1 -1
  73. package/_cjs/chains/definitions/evmosTestnet.js +1 -1
  74. package/_cjs/chains/definitions/evmosTestnet.js.map +1 -1
  75. package/_cjs/chains/definitions/fantomSonicTestnet.js +1 -1
  76. package/_cjs/chains/definitions/fantomSonicTestnet.js.map +1 -1
  77. package/_cjs/chains/definitions/fantomTestnet.js +1 -1
  78. package/_cjs/chains/definitions/fantomTestnet.js.map +1 -1
  79. package/_cjs/chains/definitions/filecoinCalibration.js +1 -1
  80. package/_cjs/chains/definitions/filecoinCalibration.js.map +1 -1
  81. package/_cjs/chains/definitions/filecoinHyperspace.js +1 -1
  82. package/_cjs/chains/definitions/filecoinHyperspace.js.map +1 -1
  83. package/_cjs/chains/definitions/foundry.js +1 -1
  84. package/_cjs/chains/definitions/foundry.js.map +1 -1
  85. package/_cjs/chains/definitions/gnosisChiado.js +1 -1
  86. package/_cjs/chains/definitions/gnosisChiado.js.map +1 -1
  87. package/_cjs/chains/definitions/gobi.js +1 -1
  88. package/_cjs/chains/definitions/gobi.js.map +1 -1
  89. package/_cjs/chains/definitions/goerli.js +1 -1
  90. package/_cjs/chains/definitions/goerli.js.map +1 -1
  91. package/_cjs/chains/definitions/hardhat.js +1 -1
  92. package/_cjs/chains/definitions/hardhat.js.map +1 -1
  93. package/_cjs/chains/definitions/harmonyOne.js +1 -1
  94. package/_cjs/chains/definitions/harmonyOne.js.map +1 -1
  95. package/_cjs/chains/definitions/iotex.js +1 -1
  96. package/_cjs/chains/definitions/iotex.js.map +1 -1
  97. package/_cjs/chains/definitions/iotexTestnet.js +1 -1
  98. package/_cjs/chains/definitions/iotexTestnet.js.map +1 -1
  99. package/_cjs/chains/definitions/klaytn.js +1 -1
  100. package/_cjs/chains/definitions/klaytn.js.map +1 -1
  101. package/_cjs/chains/definitions/klaytnBaobab.js +1 -1
  102. package/_cjs/chains/definitions/klaytnBaobab.js.map +1 -1
  103. package/_cjs/chains/definitions/lightlinkPegasus.js +1 -1
  104. package/_cjs/chains/definitions/lightlinkPegasus.js.map +1 -1
  105. package/_cjs/chains/definitions/lightlinkPhoenix.js +1 -1
  106. package/_cjs/chains/definitions/lightlinkPhoenix.js.map +1 -1
  107. package/_cjs/chains/definitions/linea.js +1 -1
  108. package/_cjs/chains/definitions/linea.js.map +1 -1
  109. package/_cjs/chains/definitions/lineaTestnet.js +1 -1
  110. package/_cjs/chains/definitions/lineaTestnet.js.map +1 -1
  111. package/_cjs/chains/definitions/liskSepolia.js +1 -1
  112. package/_cjs/chains/definitions/liskSepolia.js.map +1 -1
  113. package/_cjs/chains/definitions/localhost.js +1 -1
  114. package/_cjs/chains/definitions/localhost.js.map +1 -1
  115. package/_cjs/chains/definitions/mainnet.js +2 -2
  116. package/_cjs/chains/definitions/mainnet.js.map +1 -1
  117. package/_cjs/chains/definitions/mantaTestnet.js +1 -1
  118. package/_cjs/chains/definitions/mantaTestnet.js.map +1 -1
  119. package/_cjs/chains/definitions/metachainIstanbul.js +1 -1
  120. package/_cjs/chains/definitions/metachainIstanbul.js.map +1 -1
  121. package/_cjs/chains/definitions/metis.js +1 -1
  122. package/_cjs/chains/definitions/metis.js.map +1 -1
  123. package/_cjs/chains/definitions/neonDevnet.js +1 -1
  124. package/_cjs/chains/definitions/neonDevnet.js.map +1 -1
  125. package/_cjs/chains/definitions/neonMainnet.js +1 -1
  126. package/_cjs/chains/definitions/neonMainnet.js.map +1 -1
  127. package/_cjs/chains/definitions/optimismSepolia.js +1 -1
  128. package/_cjs/chains/definitions/optimismSepolia.js.map +1 -1
  129. package/_cjs/chains/definitions/palm.js +1 -1
  130. package/_cjs/chains/definitions/palm.js.map +1 -1
  131. package/_cjs/chains/definitions/palmTestnet.js +1 -1
  132. package/_cjs/chains/definitions/palmTestnet.js.map +1 -1
  133. package/_cjs/chains/definitions/pgnTestnet.js +1 -1
  134. package/_cjs/chains/definitions/pgnTestnet.js.map +1 -1
  135. package/_cjs/chains/definitions/plumeTestnet.js +30 -0
  136. package/_cjs/chains/definitions/plumeTestnet.js.map +1 -0
  137. package/_cjs/chains/definitions/polygonAmoy.js +1 -1
  138. package/_cjs/chains/definitions/polygonAmoy.js.map +1 -1
  139. package/_cjs/chains/definitions/polygonMumbai.js +1 -1
  140. package/_cjs/chains/definitions/polygonMumbai.js.map +1 -1
  141. package/_cjs/chains/definitions/scroll.js +1 -1
  142. package/_cjs/chains/definitions/scroll.js.map +1 -1
  143. package/_cjs/chains/definitions/scrollSepolia.js +1 -1
  144. package/_cjs/chains/definitions/scrollSepolia.js.map +1 -1
  145. package/_cjs/chains/definitions/scrollTestnet.js +1 -1
  146. package/_cjs/chains/definitions/scrollTestnet.js.map +1 -1
  147. package/_cjs/chains/definitions/sepolia.js +2 -2
  148. package/_cjs/chains/definitions/sepolia.js.map +1 -1
  149. package/_cjs/chains/definitions/skale/brawl.js +1 -1
  150. package/_cjs/chains/definitions/skale/brawl.js.map +1 -1
  151. package/_cjs/chains/definitions/skale/calypso.js +1 -1
  152. package/_cjs/chains/definitions/skale/calypso.js.map +1 -1
  153. package/_cjs/chains/definitions/skale/calypsoTestnet.js +2 -2
  154. package/_cjs/chains/definitions/skale/calypsoTestnet.js.map +1 -1
  155. package/_cjs/chains/definitions/skale/cryptoBlades.js +1 -1
  156. package/_cjs/chains/definitions/skale/cryptoBlades.js.map +1 -1
  157. package/_cjs/chains/definitions/skale/cryptoColosseum.js +1 -1
  158. package/_cjs/chains/definitions/skale/cryptoColosseum.js.map +1 -1
  159. package/_cjs/chains/definitions/skale/europa.js +1 -1
  160. package/_cjs/chains/definitions/skale/europa.js.map +1 -1
  161. package/_cjs/chains/definitions/skale/europaTestnet.js +2 -2
  162. package/_cjs/chains/definitions/skale/europaTestnet.js.map +1 -1
  163. package/_cjs/chains/definitions/skale/exorde.js +1 -1
  164. package/_cjs/chains/definitions/skale/exorde.js.map +1 -1
  165. package/_cjs/chains/definitions/skale/humanProtocol.js +1 -1
  166. package/_cjs/chains/definitions/skale/humanProtocol.js.map +1 -1
  167. package/_cjs/chains/definitions/skale/nebula.js +1 -1
  168. package/_cjs/chains/definitions/skale/nebula.js.map +1 -1
  169. package/_cjs/chains/definitions/skale/nebulaTestnet.js +2 -2
  170. package/_cjs/chains/definitions/skale/nebulaTestnet.js.map +1 -1
  171. package/_cjs/chains/definitions/skale/razor.js +1 -1
  172. package/_cjs/chains/definitions/skale/razor.js.map +1 -1
  173. package/_cjs/chains/definitions/skale/titan.js +1 -1
  174. package/_cjs/chains/definitions/skale/titan.js.map +1 -1
  175. package/_cjs/chains/definitions/skale/titanTestnet.js +2 -2
  176. package/_cjs/chains/definitions/skale/titanTestnet.js.map +1 -1
  177. package/_cjs/chains/definitions/spicy.js +1 -1
  178. package/_cjs/chains/definitions/spicy.js.map +1 -1
  179. package/_cjs/chains/definitions/zhejiang.js +1 -1
  180. package/_cjs/chains/definitions/zhejiang.js.map +1 -1
  181. package/_cjs/chains/definitions/zoraSepolia.js +1 -1
  182. package/_cjs/chains/definitions/zoraSepolia.js.map +1 -1
  183. package/_cjs/chains/index.js +5 -3
  184. package/_cjs/chains/index.js.map +1 -1
  185. package/_cjs/chains/opStack/actions/buildProveWithdrawal.js +22 -2
  186. package/_cjs/chains/opStack/actions/buildProveWithdrawal.js.map +1 -1
  187. package/_cjs/chains/opStack/actions/estimateL1Fee.js +2 -18
  188. package/_cjs/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  189. package/_cjs/chains/opStack/actions/estimateL1Gas.js +2 -18
  190. package/_cjs/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  191. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  192. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  193. package/_cjs/chains/opStack/actions/proveWithdrawal.js +1 -1
  194. package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  195. package/_cjs/chains/opStack/serializers.js +3 -3
  196. package/_cjs/chains/opStack/serializers.js.map +1 -1
  197. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -1
  198. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  199. package/_cjs/chains/zksync/serializers.js +6 -6
  200. package/_cjs/chains/zksync/serializers.js.map +1 -1
  201. package/_cjs/clients/createClient.js +1 -1
  202. package/_cjs/clients/createClient.js.map +1 -1
  203. package/_cjs/clients/decorators/public.js.map +1 -1
  204. package/_cjs/clients/decorators/wallet.js.map +1 -1
  205. package/_cjs/clients/transports/fallback.js +2 -2
  206. package/_cjs/clients/transports/fallback.js.map +1 -1
  207. package/_cjs/clients/transports/http.js +1 -1
  208. package/_cjs/clients/transports/http.js.map +1 -1
  209. package/_cjs/clients/transports/ipc.js +1 -1
  210. package/_cjs/clients/transports/ipc.js.map +1 -1
  211. package/_cjs/clients/transports/webSocket.js +1 -1
  212. package/_cjs/clients/transports/webSocket.js.map +1 -1
  213. package/_cjs/constants/blob.js +11 -0
  214. package/_cjs/constants/blob.js.map +1 -0
  215. package/_cjs/constants/kzg.js +7 -0
  216. package/_cjs/constants/kzg.js.map +1 -0
  217. package/_cjs/errors/blob.js +63 -0
  218. package/_cjs/errors/blob.js.map +1 -0
  219. package/_cjs/errors/transaction.js +1 -0
  220. package/_cjs/errors/transaction.js.map +1 -1
  221. package/_cjs/errors/version.js +1 -1
  222. package/_cjs/errors/version.js.map +1 -1
  223. package/_cjs/index.js +22 -2
  224. package/_cjs/index.js.map +1 -1
  225. package/_cjs/node/index.js +3 -1
  226. package/_cjs/node/index.js.map +1 -1
  227. package/_cjs/node/trustedSetups.js +7 -0
  228. package/_cjs/node/trustedSetups.js.map +1 -0
  229. package/_cjs/types/eip4844.js +3 -0
  230. package/_cjs/types/eip4844.js.map +1 -0
  231. package/_cjs/types/kzg.js +3 -0
  232. package/_cjs/types/kzg.js.map +1 -0
  233. package/_cjs/utils/abi/encodeAbiParameters.js +1 -1
  234. package/_cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  235. package/_cjs/utils/blob/blobsToCommitments.js +20 -0
  236. package/_cjs/utils/blob/blobsToCommitments.js.map +1 -0
  237. package/_cjs/utils/blob/blobsToProofs.js +26 -0
  238. package/_cjs/utils/blob/blobsToProofs.js.map +1 -0
  239. package/_cjs/utils/blob/commitmentToVersionedHash.js +14 -0
  240. package/_cjs/utils/blob/commitmentToVersionedHash.js.map +1 -0
  241. package/_cjs/utils/blob/commitmentsToVersionedHashes.js +19 -0
  242. package/_cjs/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  243. package/_cjs/utils/blob/fromBlobs.js +36 -0
  244. package/_cjs/utils/blob/fromBlobs.js.map +1 -0
  245. package/_cjs/utils/blob/sidecarsToVersionedHashes.js +19 -0
  246. package/_cjs/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  247. package/_cjs/utils/blob/toBlobSidecars.js +22 -0
  248. package/_cjs/utils/blob/toBlobSidecars.js.map +1 -0
  249. package/_cjs/utils/blob/toBlobs.js +48 -0
  250. package/_cjs/utils/blob/toBlobs.js.map +1 -0
  251. package/_cjs/utils/cursor.js +1 -1
  252. package/_cjs/utils/cursor.js.map +1 -1
  253. package/_cjs/utils/encoding/toRlp.js.map +1 -1
  254. package/_cjs/utils/formatters/transaction.js.map +1 -1
  255. package/_cjs/utils/formatters/transactionRequest.js +22 -25
  256. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  257. package/_cjs/utils/kzg/defineKzg.js +11 -0
  258. package/_cjs/utils/kzg/defineKzg.js.map +1 -0
  259. package/_cjs/utils/kzg/setupKzg.js +17 -0
  260. package/_cjs/utils/kzg/setupKzg.js.map +1 -0
  261. package/_cjs/utils/rpc/compat.js +1 -1
  262. package/_cjs/utils/rpc/compat.js.map +1 -1
  263. package/_cjs/utils/rpc/http.js +1 -1
  264. package/_cjs/utils/rpc/http.js.map +1 -1
  265. package/_cjs/utils/rpc/socket.js +1 -1
  266. package/_cjs/utils/rpc/socket.js.map +1 -1
  267. package/_cjs/utils/signature/compactSignatureToSignature.js +3 -3
  268. package/_cjs/utils/signature/compactSignatureToSignature.js.map +1 -1
  269. package/_cjs/utils/signature/hexToSignature.js +6 -1
  270. package/_cjs/utils/signature/hexToSignature.js.map +1 -1
  271. package/_cjs/utils/signature/signatureToCompactSignature.js +3 -3
  272. package/_cjs/utils/signature/signatureToCompactSignature.js.map +1 -1
  273. package/_cjs/utils/signature/signatureToHex.js +9 -3
  274. package/_cjs/utils/signature/signatureToHex.js.map +1 -1
  275. package/_cjs/utils/transaction/assertTransaction.js +26 -1
  276. package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
  277. package/_cjs/utils/transaction/getSerializedTransactionType.js +2 -0
  278. package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  279. package/_cjs/utils/transaction/getTransactionType.js +7 -1
  280. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  281. package/_cjs/utils/transaction/parseTransaction.js +73 -0
  282. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  283. package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
  284. package/_cjs/utils/transaction/serializeTransaction.js +84 -21
  285. package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
  286. package/_esm/accounts/utils/sign.js +1 -0
  287. package/_esm/accounts/utils/sign.js.map +1 -1
  288. package/_esm/accounts/utils/signTransaction.js +13 -2
  289. package/_esm/accounts/utils/signTransaction.js.map +1 -1
  290. package/_esm/actions/index.js +1 -0
  291. package/_esm/actions/index.js.map +1 -1
  292. package/_esm/actions/public/call.js +3 -1
  293. package/_esm/actions/public/call.js.map +1 -1
  294. package/_esm/actions/public/estimateGas.js +3 -1
  295. package/_esm/actions/public/estimateGas.js.map +1 -1
  296. package/_esm/actions/public/getBlobBaseFee.js +27 -0
  297. package/_esm/actions/public/getBlobBaseFee.js.map +1 -0
  298. package/_esm/actions/public/multicall.js +1 -1
  299. package/_esm/actions/public/multicall.js.map +1 -1
  300. package/_esm/actions/wallet/prepareTransactionRequest.js +12 -2
  301. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  302. package/_esm/actions/wallet/sendRawTransaction.js.map +1 -1
  303. package/_esm/actions/wallet/sendTransaction.js +7 -8
  304. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  305. package/_esm/actions/wallet/signTransaction.js +6 -5
  306. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  307. package/_esm/chains/celo/serializers.js +10 -17
  308. package/_esm/chains/celo/serializers.js.map +1 -1
  309. package/_esm/chains/definitions/ancient8Sepolia.js +1 -1
  310. package/_esm/chains/definitions/ancient8Sepolia.js.map +1 -1
  311. package/_esm/chains/definitions/anvil.js +1 -1
  312. package/_esm/chains/definitions/anvil.js.map +1 -1
  313. package/_esm/chains/definitions/arbitrum.js +1 -1
  314. package/_esm/chains/definitions/arbitrum.js.map +1 -1
  315. package/_esm/chains/definitions/arbitrumGoerli.js +1 -1
  316. package/_esm/chains/definitions/arbitrumGoerli.js.map +1 -1
  317. package/_esm/chains/definitions/arbitrumNova.js +1 -1
  318. package/_esm/chains/definitions/arbitrumNova.js.map +1 -1
  319. package/_esm/chains/definitions/arbitrumSepolia.js +1 -1
  320. package/_esm/chains/definitions/arbitrumSepolia.js.map +1 -1
  321. package/_esm/chains/definitions/astarZkEVM.js +1 -1
  322. package/_esm/chains/definitions/astarZkEVM.js.map +1 -1
  323. package/_esm/chains/definitions/astarZkatana.js +1 -1
  324. package/_esm/chains/definitions/astarZkatana.js.map +1 -1
  325. package/_esm/chains/definitions/astarZkyoto.js +1 -1
  326. package/_esm/chains/definitions/astarZkyoto.js.map +1 -1
  327. package/_esm/chains/definitions/avalanche.js +1 -1
  328. package/_esm/chains/definitions/avalanche.js.map +1 -1
  329. package/_esm/chains/definitions/avalancheFuji.js +1 -1
  330. package/_esm/chains/definitions/avalancheFuji.js.map +1 -1
  331. package/_esm/chains/definitions/baseSepolia.js +1 -1
  332. package/_esm/chains/definitions/baseSepolia.js.map +1 -1
  333. package/_esm/chains/definitions/blastSepolia.js +2 -2
  334. package/_esm/chains/definitions/blastSepolia.js.map +1 -1
  335. package/_esm/chains/definitions/canto.js +1 -1
  336. package/_esm/chains/definitions/canto.js.map +1 -1
  337. package/_esm/chains/definitions/celo.js +1 -1
  338. package/_esm/chains/definitions/celo.js.map +1 -1
  339. package/_esm/chains/definitions/celoAlfajores.js +1 -1
  340. package/_esm/chains/definitions/celoAlfajores.js.map +1 -1
  341. package/_esm/chains/definitions/chiliz.js +1 -1
  342. package/_esm/chains/definitions/chiliz.js.map +1 -1
  343. package/_esm/chains/definitions/confluxESpace.js +1 -1
  344. package/_esm/chains/definitions/confluxESpace.js.map +1 -1
  345. package/_esm/chains/definitions/coreDao.js +1 -1
  346. package/_esm/chains/definitions/coreDao.js.map +1 -1
  347. package/_esm/chains/definitions/crossbell.js +2 -2
  348. package/_esm/chains/definitions/crossbell.js.map +1 -1
  349. package/_esm/chains/definitions/dfk.js +1 -1
  350. package/_esm/chains/definitions/dfk.js.map +1 -1
  351. package/_esm/chains/definitions/dogechain.js +1 -1
  352. package/_esm/chains/definitions/dogechain.js.map +1 -1
  353. package/_esm/chains/definitions/eon.js +1 -1
  354. package/_esm/chains/definitions/eon.js.map +1 -1
  355. package/_esm/chains/definitions/evmos.js +1 -1
  356. package/_esm/chains/definitions/evmos.js.map +1 -1
  357. package/_esm/chains/definitions/evmosTestnet.js +1 -1
  358. package/_esm/chains/definitions/evmosTestnet.js.map +1 -1
  359. package/_esm/chains/definitions/fantomSonicTestnet.js +1 -1
  360. package/_esm/chains/definitions/fantomSonicTestnet.js.map +1 -1
  361. package/_esm/chains/definitions/fantomTestnet.js +1 -1
  362. package/_esm/chains/definitions/fantomTestnet.js.map +1 -1
  363. package/_esm/chains/definitions/filecoinCalibration.js +1 -1
  364. package/_esm/chains/definitions/filecoinCalibration.js.map +1 -1
  365. package/_esm/chains/definitions/filecoinHyperspace.js +1 -1
  366. package/_esm/chains/definitions/filecoinHyperspace.js.map +1 -1
  367. package/_esm/chains/definitions/foundry.js +1 -1
  368. package/_esm/chains/definitions/foundry.js.map +1 -1
  369. package/_esm/chains/definitions/gnosisChiado.js +1 -1
  370. package/_esm/chains/definitions/gnosisChiado.js.map +1 -1
  371. package/_esm/chains/definitions/gobi.js +1 -1
  372. package/_esm/chains/definitions/gobi.js.map +1 -1
  373. package/_esm/chains/definitions/goerli.js +1 -1
  374. package/_esm/chains/definitions/goerli.js.map +1 -1
  375. package/_esm/chains/definitions/hardhat.js +1 -1
  376. package/_esm/chains/definitions/hardhat.js.map +1 -1
  377. package/_esm/chains/definitions/harmonyOne.js +1 -1
  378. package/_esm/chains/definitions/harmonyOne.js.map +1 -1
  379. package/_esm/chains/definitions/iotex.js +1 -1
  380. package/_esm/chains/definitions/iotex.js.map +1 -1
  381. package/_esm/chains/definitions/iotexTestnet.js +1 -1
  382. package/_esm/chains/definitions/iotexTestnet.js.map +1 -1
  383. package/_esm/chains/definitions/klaytn.js +1 -1
  384. package/_esm/chains/definitions/klaytn.js.map +1 -1
  385. package/_esm/chains/definitions/klaytnBaobab.js +1 -1
  386. package/_esm/chains/definitions/klaytnBaobab.js.map +1 -1
  387. package/_esm/chains/definitions/lightlinkPegasus.js +1 -1
  388. package/_esm/chains/definitions/lightlinkPegasus.js.map +1 -1
  389. package/_esm/chains/definitions/lightlinkPhoenix.js +1 -1
  390. package/_esm/chains/definitions/lightlinkPhoenix.js.map +1 -1
  391. package/_esm/chains/definitions/linea.js +1 -1
  392. package/_esm/chains/definitions/linea.js.map +1 -1
  393. package/_esm/chains/definitions/lineaTestnet.js +1 -1
  394. package/_esm/chains/definitions/lineaTestnet.js.map +1 -1
  395. package/_esm/chains/definitions/liskSepolia.js +1 -1
  396. package/_esm/chains/definitions/liskSepolia.js.map +1 -1
  397. package/_esm/chains/definitions/localhost.js +1 -1
  398. package/_esm/chains/definitions/localhost.js.map +1 -1
  399. package/_esm/chains/definitions/mainnet.js +2 -2
  400. package/_esm/chains/definitions/mainnet.js.map +1 -1
  401. package/_esm/chains/definitions/mantaTestnet.js +1 -1
  402. package/_esm/chains/definitions/mantaTestnet.js.map +1 -1
  403. package/_esm/chains/definitions/metachainIstanbul.js +1 -1
  404. package/_esm/chains/definitions/metachainIstanbul.js.map +1 -1
  405. package/_esm/chains/definitions/metis.js +1 -1
  406. package/_esm/chains/definitions/metis.js.map +1 -1
  407. package/_esm/chains/definitions/neonDevnet.js +1 -1
  408. package/_esm/chains/definitions/neonDevnet.js.map +1 -1
  409. package/_esm/chains/definitions/neonMainnet.js +1 -1
  410. package/_esm/chains/definitions/neonMainnet.js.map +1 -1
  411. package/_esm/chains/definitions/optimismSepolia.js +1 -1
  412. package/_esm/chains/definitions/optimismSepolia.js.map +1 -1
  413. package/_esm/chains/definitions/palm.js +1 -1
  414. package/_esm/chains/definitions/palm.js.map +1 -1
  415. package/_esm/chains/definitions/palmTestnet.js +1 -1
  416. package/_esm/chains/definitions/palmTestnet.js.map +1 -1
  417. package/_esm/chains/definitions/pgnTestnet.js +1 -1
  418. package/_esm/chains/definitions/pgnTestnet.js.map +1 -1
  419. package/_esm/chains/definitions/plumeTestnet.js +27 -0
  420. package/_esm/chains/definitions/plumeTestnet.js.map +1 -0
  421. package/_esm/chains/definitions/polygonAmoy.js +1 -1
  422. package/_esm/chains/definitions/polygonAmoy.js.map +1 -1
  423. package/_esm/chains/definitions/polygonMumbai.js +1 -1
  424. package/_esm/chains/definitions/polygonMumbai.js.map +1 -1
  425. package/_esm/chains/definitions/scroll.js +1 -1
  426. package/_esm/chains/definitions/scroll.js.map +1 -1
  427. package/_esm/chains/definitions/scrollSepolia.js +1 -1
  428. package/_esm/chains/definitions/scrollSepolia.js.map +1 -1
  429. package/_esm/chains/definitions/scrollTestnet.js +1 -1
  430. package/_esm/chains/definitions/scrollTestnet.js.map +1 -1
  431. package/_esm/chains/definitions/sepolia.js +2 -2
  432. package/_esm/chains/definitions/sepolia.js.map +1 -1
  433. package/_esm/chains/definitions/skale/brawl.js +1 -1
  434. package/_esm/chains/definitions/skale/brawl.js.map +1 -1
  435. package/_esm/chains/definitions/skale/calypso.js +1 -1
  436. package/_esm/chains/definitions/skale/calypso.js.map +1 -1
  437. package/_esm/chains/definitions/skale/calypsoTestnet.js +2 -2
  438. package/_esm/chains/definitions/skale/calypsoTestnet.js.map +1 -1
  439. package/_esm/chains/definitions/skale/cryptoBlades.js +1 -1
  440. package/_esm/chains/definitions/skale/cryptoBlades.js.map +1 -1
  441. package/_esm/chains/definitions/skale/cryptoColosseum.js +1 -1
  442. package/_esm/chains/definitions/skale/cryptoColosseum.js.map +1 -1
  443. package/_esm/chains/definitions/skale/europa.js +1 -1
  444. package/_esm/chains/definitions/skale/europa.js.map +1 -1
  445. package/_esm/chains/definitions/skale/europaTestnet.js +2 -2
  446. package/_esm/chains/definitions/skale/europaTestnet.js.map +1 -1
  447. package/_esm/chains/definitions/skale/exorde.js +1 -1
  448. package/_esm/chains/definitions/skale/exorde.js.map +1 -1
  449. package/_esm/chains/definitions/skale/humanProtocol.js +1 -1
  450. package/_esm/chains/definitions/skale/humanProtocol.js.map +1 -1
  451. package/_esm/chains/definitions/skale/nebula.js +1 -1
  452. package/_esm/chains/definitions/skale/nebula.js.map +1 -1
  453. package/_esm/chains/definitions/skale/nebulaTestnet.js +2 -2
  454. package/_esm/chains/definitions/skale/nebulaTestnet.js.map +1 -1
  455. package/_esm/chains/definitions/skale/razor.js +1 -1
  456. package/_esm/chains/definitions/skale/razor.js.map +1 -1
  457. package/_esm/chains/definitions/skale/titan.js +1 -1
  458. package/_esm/chains/definitions/skale/titan.js.map +1 -1
  459. package/_esm/chains/definitions/skale/titanTestnet.js +2 -2
  460. package/_esm/chains/definitions/skale/titanTestnet.js.map +1 -1
  461. package/_esm/chains/definitions/spicy.js +1 -1
  462. package/_esm/chains/definitions/spicy.js.map +1 -1
  463. package/_esm/chains/definitions/zhejiang.js +1 -1
  464. package/_esm/chains/definitions/zhejiang.js.map +1 -1
  465. package/_esm/chains/definitions/zoraSepolia.js +1 -1
  466. package/_esm/chains/definitions/zoraSepolia.js.map +1 -1
  467. package/_esm/chains/index.js +1 -0
  468. package/_esm/chains/index.js.map +1 -1
  469. package/_esm/chains/opStack/actions/buildProveWithdrawal.js +29 -1
  470. package/_esm/chains/opStack/actions/buildProveWithdrawal.js.map +1 -1
  471. package/_esm/chains/opStack/actions/estimateL1Fee.js +2 -18
  472. package/_esm/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  473. package/_esm/chains/opStack/actions/estimateL1Gas.js +2 -18
  474. package/_esm/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  475. package/_esm/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  476. package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  477. package/_esm/chains/opStack/actions/proveWithdrawal.js +1 -1
  478. package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  479. package/_esm/chains/opStack/serializers.js +2 -2
  480. package/_esm/chains/opStack/serializers.js.map +1 -1
  481. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -1
  482. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  483. package/_esm/chains/zksync/serializers.js +6 -6
  484. package/_esm/chains/zksync/serializers.js.map +1 -1
  485. package/_esm/clients/createClient.js +1 -1
  486. package/_esm/clients/createClient.js.map +1 -1
  487. package/_esm/clients/decorators/public.js.map +1 -1
  488. package/_esm/clients/decorators/wallet.js.map +1 -1
  489. package/_esm/clients/transports/fallback.js +2 -2
  490. package/_esm/clients/transports/fallback.js.map +1 -1
  491. package/_esm/clients/transports/http.js +1 -1
  492. package/_esm/clients/transports/http.js.map +1 -1
  493. package/_esm/clients/transports/ipc.js +1 -1
  494. package/_esm/clients/transports/ipc.js.map +1 -1
  495. package/_esm/clients/transports/webSocket.js +1 -1
  496. package/_esm/clients/transports/webSocket.js.map +1 -1
  497. package/_esm/constants/blob.js +16 -0
  498. package/_esm/constants/blob.js.map +1 -0
  499. package/_esm/constants/kzg.js +7 -0
  500. package/_esm/constants/kzg.js.map +1 -0
  501. package/_esm/errors/blob.js +56 -0
  502. package/_esm/errors/blob.js.map +1 -0
  503. package/_esm/errors/transaction.js +1 -0
  504. package/_esm/errors/transaction.js.map +1 -1
  505. package/_esm/errors/version.js +1 -1
  506. package/_esm/errors/version.js.map +1 -1
  507. package/_esm/index.js +10 -0
  508. package/_esm/index.js.map +1 -1
  509. package/_esm/node/index.js +1 -0
  510. package/_esm/node/index.js.map +1 -1
  511. package/_esm/node/trustedSetups.js +4 -0
  512. package/_esm/node/trustedSetups.js.map +1 -0
  513. package/_esm/types/eip4844.js +2 -0
  514. package/_esm/types/eip4844.js.map +1 -0
  515. package/_esm/types/kzg.js +2 -0
  516. package/_esm/types/kzg.js.map +1 -0
  517. package/_esm/utils/abi/encodeAbiParameters.js +1 -1
  518. package/_esm/utils/abi/encodeAbiParameters.js.map +1 -1
  519. package/_esm/utils/blob/blobsToCommitments.js +28 -0
  520. package/_esm/utils/blob/blobsToCommitments.js.map +1 -0
  521. package/_esm/utils/blob/blobsToProofs.js +38 -0
  522. package/_esm/utils/blob/blobsToProofs.js.map +1 -0
  523. package/_esm/utils/blob/commitmentToVersionedHash.js +27 -0
  524. package/_esm/utils/blob/commitmentToVersionedHash.js.map +1 -0
  525. package/_esm/utils/blob/commitmentsToVersionedHashes.js +32 -0
  526. package/_esm/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  527. package/_esm/utils/blob/fromBlobs.js +33 -0
  528. package/_esm/utils/blob/fromBlobs.js.map +1 -0
  529. package/_esm/utils/blob/sidecarsToVersionedHashes.js +26 -0
  530. package/_esm/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  531. package/_esm/utils/blob/toBlobSidecars.js +45 -0
  532. package/_esm/utils/blob/toBlobSidecars.js.map +1 -0
  533. package/_esm/utils/blob/toBlobs.js +58 -0
  534. package/_esm/utils/blob/toBlobs.js.map +1 -0
  535. package/_esm/utils/cursor.js +1 -1
  536. package/_esm/utils/cursor.js.map +1 -1
  537. package/_esm/utils/encoding/toRlp.js.map +1 -1
  538. package/_esm/utils/formatters/transaction.js.map +1 -1
  539. package/_esm/utils/formatters/transactionRequest.js +23 -26
  540. package/_esm/utils/formatters/transactionRequest.js.map +1 -1
  541. package/_esm/utils/kzg/defineKzg.js +21 -0
  542. package/_esm/utils/kzg/defineKzg.js.map +1 -0
  543. package/_esm/utils/kzg/setupKzg.js +25 -0
  544. package/_esm/utils/kzg/setupKzg.js.map +1 -0
  545. package/_esm/utils/rpc/compat.js +1 -1
  546. package/_esm/utils/rpc/compat.js.map +1 -1
  547. package/_esm/utils/rpc/http.js +1 -1
  548. package/_esm/utils/rpc/http.js.map +1 -1
  549. package/_esm/utils/rpc/socket.js +1 -1
  550. package/_esm/utils/rpc/socket.js.map +1 -1
  551. package/_esm/utils/signature/compactSignatureToSignature.js +3 -3
  552. package/_esm/utils/signature/compactSignatureToSignature.js.map +1 -1
  553. package/_esm/utils/signature/hexToSignature.js +6 -1
  554. package/_esm/utils/signature/hexToSignature.js.map +1 -1
  555. package/_esm/utils/signature/signatureToCompactSignature.js +4 -4
  556. package/_esm/utils/signature/signatureToCompactSignature.js.map +1 -1
  557. package/_esm/utils/signature/signatureToHex.js +11 -4
  558. package/_esm/utils/signature/signatureToHex.js.map +1 -1
  559. package/_esm/utils/transaction/assertTransaction.js +24 -0
  560. package/_esm/utils/transaction/assertTransaction.js.map +1 -1
  561. package/_esm/utils/transaction/getSerializedTransactionType.js +2 -0
  562. package/_esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
  563. package/_esm/utils/transaction/getTransactionType.js +7 -1
  564. package/_esm/utils/transaction/getTransactionType.js.map +1 -1
  565. package/_esm/utils/transaction/parseTransaction.js +74 -1
  566. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  567. package/_esm/utils/transaction/serializeAccessList.js.map +1 -1
  568. package/_esm/utils/transaction/serializeTransaction.js +85 -22
  569. package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
  570. package/_types/accounts/types.d.ts +3 -3
  571. package/_types/accounts/types.d.ts.map +1 -1
  572. package/_types/accounts/utils/sign.d.ts.map +1 -1
  573. package/_types/accounts/utils/signTransaction.d.ts +5 -5
  574. package/_types/accounts/utils/signTransaction.d.ts.map +1 -1
  575. package/_types/actions/index.d.ts +1 -0
  576. package/_types/actions/index.d.ts.map +1 -1
  577. package/_types/actions/public/call.d.ts.map +1 -1
  578. package/_types/actions/public/estimateGas.d.ts.map +1 -1
  579. package/_types/actions/public/getBlobBaseFee.d.ts +30 -0
  580. package/_types/actions/public/getBlobBaseFee.d.ts.map +1 -0
  581. package/_types/actions/wallet/prepareTransactionRequest.d.ts +27 -8
  582. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  583. package/_types/actions/wallet/sendRawTransaction.d.ts +3 -5
  584. package/_types/actions/wallet/sendRawTransaction.d.ts.map +1 -1
  585. package/_types/actions/wallet/sendTransaction.d.ts +4 -2
  586. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  587. package/_types/actions/wallet/signTransaction.d.ts +5 -2
  588. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  589. package/_types/chains/celo/chainConfig.d.ts +1282 -376
  590. package/_types/chains/celo/chainConfig.d.ts.map +1 -1
  591. package/_types/chains/celo/formatters.d.ts +1282 -376
  592. package/_types/chains/celo/formatters.d.ts.map +1 -1
  593. package/_types/chains/celo/serializers.d.ts +3 -4
  594. package/_types/chains/celo/serializers.d.ts.map +1 -1
  595. package/_types/chains/celo/types.d.ts +3 -8
  596. package/_types/chains/celo/types.d.ts.map +1 -1
  597. package/_types/chains/definitions/ancient8.d.ts +452 -188
  598. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  599. package/_types/chains/definitions/ancient8Sepolia.d.ts +452 -188
  600. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  601. package/_types/chains/definitions/base.d.ts +452 -188
  602. package/_types/chains/definitions/base.d.ts.map +1 -1
  603. package/_types/chains/definitions/baseGoerli.d.ts +452 -188
  604. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  605. package/_types/chains/definitions/baseSepolia.d.ts +452 -188
  606. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  607. package/_types/chains/definitions/celo.d.ts +1282 -376
  608. package/_types/chains/definitions/celo.d.ts.map +1 -1
  609. package/_types/chains/definitions/celoAlfajores.d.ts +1282 -376
  610. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  611. package/_types/chains/definitions/fraxtal.d.ts +452 -188
  612. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  613. package/_types/chains/definitions/fraxtalTestnet.d.ts +452 -188
  614. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  615. package/_types/chains/definitions/liskSepolia.d.ts +452 -188
  616. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  617. package/_types/chains/definitions/optimism.d.ts +452 -188
  618. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  619. package/_types/chains/definitions/optimismGoerli.d.ts +452 -188
  620. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  621. package/_types/chains/definitions/optimismSepolia.d.ts +452 -188
  622. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  623. package/_types/chains/definitions/pgn.d.ts +451 -187
  624. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  625. package/_types/chains/definitions/pgnTestnet.d.ts +451 -187
  626. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  627. package/_types/chains/definitions/plumeTestnet.d.ts +37 -0
  628. package/_types/chains/definitions/plumeTestnet.d.ts.map +1 -0
  629. package/_types/chains/definitions/zkSync.d.ts +692 -32
  630. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  631. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +692 -32
  632. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  633. package/_types/chains/definitions/zkSyncTestnet.d.ts +692 -32
  634. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  635. package/_types/chains/definitions/zora.d.ts +452 -188
  636. package/_types/chains/definitions/zora.d.ts.map +1 -1
  637. package/_types/chains/definitions/zoraSepolia.d.ts +452 -188
  638. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  639. package/_types/chains/definitions/zoraTestnet.d.ts +452 -188
  640. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  641. package/_types/chains/index.d.ts +2 -1
  642. package/_types/chains/index.d.ts.map +1 -1
  643. package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts +2 -0
  644. package/_types/chains/opStack/actions/buildProveWithdrawal.d.ts.map +1 -1
  645. package/_types/chains/opStack/actions/estimateL1Fee.d.ts.map +1 -1
  646. package/_types/chains/opStack/actions/estimateL1Gas.d.ts.map +1 -1
  647. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -1
  648. package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -1
  649. package/_types/chains/opStack/chainConfig.d.ts +452 -188
  650. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  651. package/_types/chains/opStack/decorators/publicL1.d.ts.map +1 -1
  652. package/_types/chains/opStack/decorators/publicL2.d.ts.map +1 -1
  653. package/_types/chains/opStack/decorators/walletL1.d.ts.map +1 -1
  654. package/_types/chains/opStack/decorators/walletL2.d.ts.map +1 -1
  655. package/_types/chains/opStack/formatters.d.ts +451 -187
  656. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  657. package/_types/chains/opStack/serializers.d.ts +4 -3
  658. package/_types/chains/opStack/serializers.d.ts.map +1 -1
  659. package/_types/chains/opStack/types/transaction.d.ts +4 -8
  660. package/_types/chains/opStack/types/transaction.d.ts.map +1 -1
  661. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -1
  662. package/_types/chains/zksync/chainConfig.d.ts +692 -32
  663. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  664. package/_types/chains/zksync/decorators/eip712.d.ts.map +1 -1
  665. package/_types/chains/zksync/formatters.d.ts +692 -32
  666. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  667. package/_types/chains/zksync/serializers.d.ts +3 -3
  668. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  669. package/_types/chains/zksync/types/chain.d.ts +2 -2
  670. package/_types/chains/zksync/types/chain.d.ts.map +1 -1
  671. package/_types/chains/zksync/types/eip712.d.ts +2 -2
  672. package/_types/chains/zksync/types/eip712.d.ts.map +1 -1
  673. package/_types/clients/decorators/public.d.ts +2 -2
  674. package/_types/clients/decorators/public.d.ts.map +1 -1
  675. package/_types/clients/decorators/wallet.d.ts +4 -4
  676. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  677. package/_types/constants/blob.d.ts +11 -0
  678. package/_types/constants/blob.d.ts.map +1 -0
  679. package/_types/constants/kzg.d.ts +6 -0
  680. package/_types/constants/kzg.d.ts.map +1 -0
  681. package/_types/errors/blob.d.ts +40 -0
  682. package/_types/errors/blob.d.ts.map +1 -0
  683. package/_types/errors/transaction.d.ts.map +1 -1
  684. package/_types/errors/version.d.ts +1 -1
  685. package/_types/errors/version.d.ts.map +1 -1
  686. package/_types/index.d.ts +11 -0
  687. package/_types/index.d.ts.map +1 -1
  688. package/_types/node/index.d.ts +1 -0
  689. package/_types/node/index.d.ts.map +1 -1
  690. package/_types/node/trustedSetups.d.ts +3 -0
  691. package/_types/node/trustedSetups.d.ts.map +1 -0
  692. package/_types/types/account.d.ts +3 -3
  693. package/_types/types/account.d.ts.map +1 -1
  694. package/_types/types/chain.d.ts +2 -2
  695. package/_types/types/chain.d.ts.map +1 -1
  696. package/_types/types/eip1193.d.ts +3 -3
  697. package/_types/types/eip1193.d.ts.map +1 -1
  698. package/_types/types/eip4844.d.ts +11 -0
  699. package/_types/types/eip4844.d.ts.map +1 -0
  700. package/_types/types/fee.d.ts +2 -2
  701. package/_types/types/fee.d.ts.map +1 -1
  702. package/_types/types/kzg.d.ts +24 -0
  703. package/_types/types/kzg.d.ts.map +1 -0
  704. package/_types/types/misc.d.ts +15 -1
  705. package/_types/types/misc.d.ts.map +1 -1
  706. package/_types/types/rpc.d.ts +4 -4
  707. package/_types/types/rpc.d.ts.map +1 -1
  708. package/_types/types/transaction.d.ts +44 -9
  709. package/_types/types/transaction.d.ts.map +1 -1
  710. package/_types/types/utils.d.ts +38 -2
  711. package/_types/types/utils.d.ts.map +1 -1
  712. package/_types/utils/blob/blobsToCommitments.d.ts +31 -0
  713. package/_types/utils/blob/blobsToCommitments.d.ts.map +1 -0
  714. package/_types/utils/blob/blobsToProofs.d.ts +37 -0
  715. package/_types/utils/blob/blobsToProofs.d.ts.map +1 -0
  716. package/_types/utils/blob/commitmentToVersionedHash.d.ts +35 -0
  717. package/_types/utils/blob/commitmentToVersionedHash.d.ts.map +1 -0
  718. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts +34 -0
  719. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts.map +1 -0
  720. package/_types/utils/blob/fromBlobs.d.ts +16 -0
  721. package/_types/utils/blob/fromBlobs.d.ts.map +1 -0
  722. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts +29 -0
  723. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts.map +1 -0
  724. package/_types/utils/blob/toBlobSidecars.d.ts +57 -0
  725. package/_types/utils/blob/toBlobSidecars.d.ts.map +1 -0
  726. package/_types/utils/blob/toBlobs.d.ts +28 -0
  727. package/_types/utils/blob/toBlobs.d.ts.map +1 -0
  728. package/_types/utils/encoding/toRlp.d.ts +1 -1
  729. package/_types/utils/encoding/toRlp.d.ts.map +1 -1
  730. package/_types/utils/formatters/formatter.d.ts.map +1 -1
  731. package/_types/utils/formatters/transaction.d.ts +25 -25
  732. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  733. package/_types/utils/formatters/transactionRequest.d.ts +227 -3
  734. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  735. package/_types/utils/kzg/defineKzg.d.ts +21 -0
  736. package/_types/utils/kzg/defineKzg.d.ts.map +1 -0
  737. package/_types/utils/kzg/setupKzg.d.ts +21 -0
  738. package/_types/utils/kzg/setupKzg.d.ts.map +1 -0
  739. package/_types/utils/signature/hexToSignature.d.ts.map +1 -1
  740. package/_types/utils/signature/signatureToCompactSignature.d.ts +1 -1
  741. package/_types/utils/signature/signatureToHex.d.ts +2 -2
  742. package/_types/utils/signature/signatureToHex.d.ts.map +1 -1
  743. package/_types/utils/transaction/assertTransaction.d.ts +4 -1
  744. package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
  745. package/_types/utils/transaction/getSerializedTransactionType.d.ts +5 -3
  746. package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
  747. package/_types/utils/transaction/getTransactionType.d.ts +34 -3
  748. package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
  749. package/_types/utils/transaction/parseTransaction.d.ts +7 -5
  750. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  751. package/_types/utils/transaction/serializeTransaction.d.ts +13 -6
  752. package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
  753. package/accounts/types.ts +9 -5
  754. package/accounts/utils/sign.ts +1 -0
  755. package/accounts/utils/signTransaction.ts +37 -22
  756. package/actions/index.ts +5 -0
  757. package/actions/public/call.ts +4 -0
  758. package/actions/public/estimateGas.ts +4 -0
  759. package/actions/public/getBlobBaseFee.ts +42 -0
  760. package/actions/wallet/prepareTransactionRequest.ts +134 -61
  761. package/actions/wallet/sendRawTransaction.ts +3 -5
  762. package/actions/wallet/sendTransaction.ts +32 -21
  763. package/actions/wallet/signTransaction.ts +34 -18
  764. package/chains/celo/serializers.ts +12 -25
  765. package/chains/celo/types.ts +5 -10
  766. package/chains/definitions/plumeTestnet.ts +28 -0
  767. package/chains/index.ts +1 -1
  768. package/chains/opStack/actions/buildProveWithdrawal.ts +31 -1
  769. package/chains/opStack/actions/estimateL1Fee.ts +15 -31
  770. package/chains/opStack/actions/estimateL1Gas.ts +15 -31
  771. package/chains/opStack/actions/finalizeWithdrawal.ts +3 -2
  772. package/chains/opStack/actions/proveWithdrawal.ts +3 -2
  773. package/chains/opStack/serializers.ts +5 -5
  774. package/chains/opStack/types/transaction.ts +9 -11
  775. package/chains/zksync/actions/sendTransaction.ts +2 -1
  776. package/chains/zksync/actions/signEip712Transaction.ts +2 -2
  777. package/chains/zksync/serializers.ts +14 -10
  778. package/chains/zksync/types/chain.ts +4 -7
  779. package/chains/zksync/types/eip712.ts +2 -2
  780. package/clients/decorators/public.ts +8 -4
  781. package/clients/decorators/wallet.ts +14 -6
  782. package/constants/blob.ts +21 -0
  783. package/constants/kzg.ts +9 -0
  784. package/errors/blob.ts +67 -0
  785. package/errors/transaction.ts +1 -0
  786. package/errors/version.ts +1 -1
  787. package/index.ts +64 -0
  788. package/node/index.ts +2 -0
  789. package/node/trustedSetups.ts +11 -0
  790. package/package.json +1 -1
  791. package/trusted-setups/mainnet.json +8265 -0
  792. package/trusted-setups/minimal.json +8265 -0
  793. package/types/account.ts +3 -3
  794. package/types/chain.ts +3 -1
  795. package/types/eip1193.ts +3 -3
  796. package/types/eip4844.ts +12 -0
  797. package/types/fee.ts +3 -2
  798. package/types/kzg.ts +32 -0
  799. package/types/misc.ts +20 -1
  800. package/types/rpc.ts +11 -6
  801. package/types/transaction.ts +75 -17
  802. package/types/utils.ts +49 -1
  803. package/utils/abi/encodeAbiParameters.ts +2 -2
  804. package/utils/blob/blobsToCommitments.ts +69 -0
  805. package/utils/blob/blobsToProofs.ts +93 -0
  806. package/utils/blob/commitmentToVersionedHash.ts +62 -0
  807. package/utils/blob/commitmentsToVersionedHashes.ts +71 -0
  808. package/utils/blob/fromBlobs.ts +73 -0
  809. package/utils/blob/sidecarsToVersionedHashes.ts +66 -0
  810. package/utils/blob/toBlobSidecars.ts +109 -0
  811. package/utils/blob/toBlobs.ts +113 -0
  812. package/utils/encoding/toRlp.ts +2 -2
  813. package/utils/formatters/transaction.ts +3 -2
  814. package/utils/formatters/transactionRequest.ts +28 -35
  815. package/utils/kzg/defineKzg.ts +30 -0
  816. package/utils/kzg/setupKzg.ts +38 -0
  817. package/utils/signature/compactSignatureToSignature.ts +3 -3
  818. package/utils/signature/hexToSignature.ts +6 -1
  819. package/utils/signature/signatureToCompactSignature.ts +4 -4
  820. package/utils/signature/signatureToHex.ts +9 -4
  821. package/utils/transaction/assertTransaction.ts +41 -0
  822. package/utils/transaction/getSerializedTransactionType.ts +34 -11
  823. package/utils/transaction/getTransactionType.ts +109 -26
  824. package/utils/transaction/parseTransaction.ts +128 -8
  825. package/utils/transaction/serializeAccessList.ts +1 -1
  826. package/utils/transaction/serializeTransaction.ts +172 -39
@@ -20,7 +20,11 @@ import type {
20
20
  DeriveChain,
21
21
  GetChainParameter,
22
22
  } from '../../../types/chain.js'
23
+ import { type Hex } from '../../../types/misc.js'
23
24
  import type { Prettify } from '../../../types/utils.js'
25
+ import { fromRlp } from '../../../utils/encoding/fromRlp.js'
26
+ import { toRlp } from '../../../utils/encoding/toRlp.js'
27
+ import { keccak256 } from '../../../utils/hash/keccak256.js'
24
28
  import { contracts } from '../contracts.js'
25
29
  import type { Withdrawal } from '../types/withdrawal.js'
26
30
  import {
@@ -138,7 +142,10 @@ export async function buildProveWithdrawal<
138
142
  version: outputRootProofVersion,
139
143
  },
140
144
  targetChain: chain,
141
- withdrawalProof: proof.storageProof[0].proof,
145
+ withdrawalProof: maybeAddProofNode(
146
+ keccak256(slot),
147
+ proof.storageProof[0].proof,
148
+ ),
142
149
  withdrawal,
143
150
  } as unknown as BuildProveWithdrawalReturnType<
144
151
  chain,
@@ -147,3 +154,26 @@ export async function buildProveWithdrawal<
147
154
  accountOverride
148
155
  >
149
156
  }
157
+
158
+ export function maybeAddProofNode(key: string, proof: readonly Hex[]) {
159
+ const lastProofRlp = proof[proof.length - 1]
160
+ const lastProof = fromRlp(lastProofRlp)
161
+ if (lastProof.length !== 17) return proof
162
+
163
+ const modifiedProof = [...proof]
164
+ for (const item of lastProof) {
165
+ // Find any nodes located inside of the branch node.
166
+ if (!Array.isArray(item)) continue
167
+ // Check if the key inside the node matches the key we're looking for. We remove the first
168
+ // two characters (0x) and then we remove one more character (the first nibble) since this
169
+ // is the identifier for the type of node we're looking at. In this case we don't actually
170
+ // care what type of node it is because a branch node would only ever be the final proof
171
+ // element if (1) it includes the leaf node we're looking for or (2) it stores the value
172
+ // within itself. If (1) then this logic will work, if (2) then this won't find anything
173
+ // and we won't append any proof elements, which is exactly what we would want.
174
+ const suffix = item[0].slice(3)
175
+ if (typeof suffix !== 'string' || !key.endsWith(suffix)) continue
176
+ modifiedProof.push(toRlp(item))
177
+ }
178
+ return modifiedProof
179
+ }
@@ -1,6 +1,5 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import { getChainId } from '../../../actions/public/getChainId.js'
4
3
  import {
5
4
  type ReadContractErrorType,
6
5
  readContract,
@@ -12,18 +11,19 @@ import {
12
11
  } from '../../../actions/wallet/prepareTransactionRequest.js'
13
12
  import type { Client } from '../../../clients/createClient.js'
14
13
  import type { Transport } from '../../../clients/transports/createTransport.js'
15
- import { maxInt256 } from '../../../constants/number.js'
16
14
  import type { ErrorType } from '../../../errors/utils.js'
17
15
  import type { Account, GetAccountParameter } from '../../../types/account.js'
18
16
  import { type Chain, type GetChainParameter } from '../../../types/chain.js'
19
- import type { Signature } from '../../../types/misc.js'
20
- import type { TransactionRequestEIP1559 } from '../../../types/transaction.js'
17
+ import type {
18
+ TransactionRequestEIP1559,
19
+ TransactionSerializable,
20
+ } from '../../../types/transaction.js'
21
21
  import type { RequestErrorType } from '../../../utils/buildRequest.js'
22
22
  import { getChainContractAddress } from '../../../utils/chain/getChainContractAddress.js'
23
23
  import { type HexToNumberErrorType } from '../../../utils/encoding/fromHex.js'
24
- import { numberToHex } from '../../../utils/encoding/toHex.js'
25
24
  import {
26
25
  type AssertRequestErrorType,
26
+ type AssertRequestParameters,
27
27
  assertRequest,
28
28
  } from '../../../utils/transaction/assertRequest.js'
29
29
  import {
@@ -55,12 +55,6 @@ export type EstimateL1FeeErrorType =
55
55
  | ReadContractErrorType
56
56
  | ErrorType
57
57
 
58
- const stubSignature = {
59
- r: numberToHex(maxInt256),
60
- s: numberToHex(maxInt256),
61
- v: 28n,
62
- } as const satisfies Signature
63
-
64
58
  /**
65
59
  * Estimates the L1 data fee required to execute an L2 transaction.
66
60
  *
@@ -107,32 +101,22 @@ export async function estimateL1Fee<
107
101
  })()
108
102
 
109
103
  // Populate transaction with required fields to accurately estimate gas.
110
- const [request, chainId] = await Promise.all([
111
- prepareTransactionRequest(
112
- client,
113
- args as PrepareTransactionRequestParameters,
114
- ),
115
- (async () => {
116
- if (chain) return chain.id
117
- return getChainId(client)
118
- })(),
119
- ])
104
+ const request = await prepareTransactionRequest(
105
+ client,
106
+ args as PrepareTransactionRequestParameters,
107
+ )
120
108
 
121
- assertRequest(request)
109
+ assertRequest(request as AssertRequestParameters)
122
110
 
123
- const transaction = serializeTransaction(
124
- {
125
- ...request,
126
- chainId,
127
- type: 'eip1559',
128
- },
129
- stubSignature,
130
- )
111
+ const transaction = serializeTransaction({
112
+ ...request,
113
+ type: 'eip1559',
114
+ } as TransactionSerializable)
131
115
 
132
116
  return readContract(client, {
133
117
  abi: gasPriceOracleAbi,
134
118
  address: gasPriceOracleAddress,
135
119
  functionName: 'getL1Fee',
136
- args: [transaction],
120
+ args: [transaction as any],
137
121
  })
138
122
  }
@@ -1,6 +1,5 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import { getChainId } from '../../../actions/public/getChainId.js'
4
3
  import {
5
4
  type ReadContractErrorType,
6
5
  readContract,
@@ -12,18 +11,19 @@ import {
12
11
  } from '../../../actions/wallet/prepareTransactionRequest.js'
13
12
  import type { Client } from '../../../clients/createClient.js'
14
13
  import type { Transport } from '../../../clients/transports/createTransport.js'
15
- import { maxInt256 } from '../../../constants/number.js'
16
14
  import type { ErrorType } from '../../../errors/utils.js'
17
15
  import type { Account, GetAccountParameter } from '../../../types/account.js'
18
16
  import { type Chain, type GetChainParameter } from '../../../types/chain.js'
19
- import type { Signature } from '../../../types/misc.js'
20
- import type { TransactionRequestEIP1559 } from '../../../types/transaction.js'
17
+ import type {
18
+ TransactionRequestEIP1559,
19
+ TransactionSerializable,
20
+ } from '../../../types/transaction.js'
21
21
  import type { RequestErrorType } from '../../../utils/buildRequest.js'
22
22
  import { getChainContractAddress } from '../../../utils/chain/getChainContractAddress.js'
23
23
  import { type HexToNumberErrorType } from '../../../utils/encoding/fromHex.js'
24
- import { numberToHex } from '../../../utils/encoding/toHex.js'
25
24
  import {
26
25
  type AssertRequestErrorType,
26
+ type AssertRequestParameters,
27
27
  assertRequest,
28
28
  } from '../../../utils/transaction/assertRequest.js'
29
29
  import {
@@ -55,12 +55,6 @@ export type EstimateL1GasErrorType =
55
55
  | ReadContractErrorType
56
56
  | ErrorType
57
57
 
58
- const stubSignature = {
59
- r: numberToHex(maxInt256),
60
- s: numberToHex(maxInt256),
61
- v: 28n,
62
- } as const satisfies Signature
63
-
64
58
  /**
65
59
  * Estimates the L1 data gas required to execute an L2 transaction.
66
60
  *
@@ -107,32 +101,22 @@ export async function estimateL1Gas<
107
101
  })()
108
102
 
109
103
  // Populate transaction with required fields to accurately estimate gas.
110
- const [request, chainId] = await Promise.all([
111
- prepareTransactionRequest(
112
- client,
113
- args as PrepareTransactionRequestParameters,
114
- ),
115
- (async () => {
116
- if (chain) return chain.id
117
- return getChainId(client)
118
- })(),
119
- ])
104
+ const request = await prepareTransactionRequest(
105
+ client,
106
+ args as PrepareTransactionRequestParameters,
107
+ )
120
108
 
121
- assertRequest(request)
109
+ assertRequest(request as AssertRequestParameters)
122
110
 
123
- const transaction = serializeTransaction(
124
- {
125
- ...request,
126
- chainId,
127
- type: 'eip1559',
128
- },
129
- stubSignature,
130
- )
111
+ const transaction = serializeTransaction({
112
+ ...request,
113
+ type: 'eip1559',
114
+ } as TransactionSerializable)
131
115
 
132
116
  return readContract(client, {
133
117
  abi: gasPriceOracleAbi,
134
118
  address: gasPriceOracleAddress,
135
119
  functionName: 'getL1GasUsed',
136
- args: [transaction],
120
+ args: [transaction as any],
137
121
  })
138
122
  }
@@ -1,6 +1,7 @@
1
1
  import type { Address } from 'abitype'
2
2
  import {
3
3
  type WriteContractErrorType,
4
+ type WriteContractParameters,
4
5
  writeContract,
5
6
  } from '../../../actions/wallet/writeContract.js'
6
7
  import type { Client } from '../../../clients/createClient.js'
@@ -116,7 +117,7 @@ export async function finalizeWithdrawal<
116
117
  : undefined
117
118
 
118
119
  return writeContract(client, {
119
- account,
120
+ account: account!,
120
121
  abi: portalAbi,
121
122
  address: portalAddress,
122
123
  chain,
@@ -126,5 +127,5 @@ export async function finalizeWithdrawal<
126
127
  maxFeePerGas,
127
128
  maxPriorityFeePerGas,
128
129
  nonce,
129
- })
130
+ } satisfies WriteContractParameters as any)
130
131
  }
@@ -1,6 +1,7 @@
1
1
  import type { Address } from 'abitype'
2
2
  import {
3
3
  type WriteContractErrorType,
4
+ type WriteContractParameters,
4
5
  writeContract,
5
6
  } from '../../../actions/wallet/writeContract.js'
6
7
  import type { Client } from '../../../clients/createClient.js'
@@ -137,7 +138,7 @@ export async function proveWithdrawal<
137
138
  : gas ?? undefined
138
139
 
139
140
  return writeContract(client, {
140
- account,
141
+ account: account!,
141
142
  abi: portalAbi,
142
143
  address: portalAddress,
143
144
  chain,
@@ -147,5 +148,5 @@ export async function proveWithdrawal<
147
148
  maxFeePerGas,
148
149
  maxPriorityFeePerGas,
149
150
  nonce,
150
- })
151
+ } satisfies WriteContractParameters as any)
151
152
  }
@@ -1,7 +1,7 @@
1
1
  import { InvalidAddressError } from '../../errors/address.js'
2
2
  import type { ErrorType } from '../../errors/utils.js'
3
3
  import type { ChainSerializers } from '../../types/chain.js'
4
- import type { Hex } from '../../types/misc.js'
4
+ import type { Hex, Signature } from '../../types/misc.js'
5
5
  import type { TransactionSerializable } from '../../types/transaction.js'
6
6
  import type { RequiredBy } from '../../types/utils.js'
7
7
  import { isAddress } from '../../utils/address/isAddress.js'
@@ -10,7 +10,6 @@ import { toHex } from '../../utils/encoding/toHex.js'
10
10
  import { toRlp } from '../../utils/encoding/toRlp.js'
11
11
  import {
12
12
  type SerializeTransactionErrorType as SerializeTransactionErrorType_,
13
- type SerializeTransactionFn,
14
13
  serializeTransaction as serializeTransaction_,
15
14
  } from '../../utils/transaction/serializeTransaction.js'
16
15
  import type {
@@ -27,9 +26,10 @@ export type SerializeTransactionErrorType =
27
26
  | SerializeTransactionErrorType_
28
27
  | ErrorType
29
28
 
30
- export const serializeTransaction: SerializeTransactionFn<
31
- OpStackTransactionSerializable
32
- > = (transaction, signature) => {
29
+ export function serializeTransaction(
30
+ transaction: OpStackTransactionSerializable,
31
+ signature?: Signature,
32
+ ) {
33
33
  if (isDeposit(transaction)) return serializeTransactionDeposit(transaction)
34
34
  return serializeTransaction_(
35
35
  transaction as TransactionSerializable,
@@ -15,7 +15,7 @@ import type {
15
15
  TransactionSerialized,
16
16
  TransactionType,
17
17
  } from '../../../types/transaction.js'
18
- import type { RequiredBy } from '../../../types/utils.js'
18
+ import type { OneOf } from '../../../types/utils.js'
19
19
 
20
20
  type RpcTransaction<TPending extends boolean = boolean> =
21
21
  RpcTransaction_<TPending> & {
@@ -77,17 +77,15 @@ export type OpStackTransactionReceiptOverrides = {
77
77
  export type OpStackTransactionReceipt = TransactionReceipt &
78
78
  OpStackTransactionReceiptOverrides
79
79
 
80
- export type OpStackTransactionSerializable =
81
- | RequiredBy<TransactionSerializableDeposit, 'type'>
82
- | (TransactionSerializable & {
83
- isSystemTx?: undefined
84
- mint?: undefined
85
- sourceHash?: undefined
86
- })
80
+ export type OpStackTransactionSerializable = OneOf<
81
+ TransactionSerializableDeposit | TransactionSerializable
82
+ >
87
83
 
88
84
  export type OpStackTransactionSerialized<
89
- TType extends OpStackTransactionType = 'legacy',
90
- > = TransactionSerialized<TType> | TransactionSerializedDeposit
85
+ TType extends OpStackTransactionType = OpStackTransactionType,
86
+ > = TType extends 'deposit'
87
+ ? TransactionSerializedDeposit
88
+ : TransactionSerialized<TType>
91
89
 
92
90
  export type OpStackTransactionType = TransactionType | 'deposit'
93
91
 
@@ -102,7 +100,7 @@ export type TransactionSerializableDeposit<
102
100
  isSystemTx?: boolean
103
101
  mint?: bigint
104
102
  sourceHash: Hex
105
- type?: 'deposit'
103
+ type: 'deposit'
106
104
  }
107
105
 
108
106
  export type TransactionSerializedDeposit = `0x7e${string}`
@@ -73,6 +73,7 @@ export async function sendTransaction<
73
73
  client: Client<Transport, TChain, TAccount>,
74
74
  args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
75
75
  ): Promise<SendTransactionReturnType> {
76
- if (isEIP712Transaction(args)) return sendEip712Transaction(client, args)
76
+ if (isEIP712Transaction(args as any))
77
+ return sendEip712Transaction(client, args)
77
78
  return sendTransaction_(client, args)
78
79
  }
@@ -143,8 +143,8 @@ export async function signEip712Transaction<
143
143
  chainId,
144
144
  ...transaction,
145
145
  customSignature,
146
- type: 'eip712',
146
+ type: 'eip712' as any,
147
147
  },
148
148
  { r: '0x0', s: '0x0', v: 0n },
149
- )
149
+ ) as SignEip712TransactionReturnType
150
150
  }
@@ -1,12 +1,10 @@
1
+ import type { Signature } from '../../index.js'
1
2
  import type { ChainSerializers } from '../../types/chain.js'
2
3
  import type { TransactionSerializable } from '../../types/transaction.js'
3
4
  import { concatHex } from '../../utils/data/concat.js'
4
5
  import { toHex } from '../../utils/encoding/toHex.js'
5
6
  import { toRlp } from '../../utils/encoding/toRlp.js'
6
- import {
7
- type SerializeTransactionFn,
8
- serializeTransaction as serializeTransaction_,
9
- } from '../../utils/transaction/serializeTransaction.js'
7
+ import { serializeTransaction as serializeTransaction_ } from '../../utils/transaction/serializeTransaction.js'
10
8
  import type {
11
9
  ZkSyncTransactionSerializable,
12
10
  ZkSyncTransactionSerializableEIP712,
@@ -15,12 +13,18 @@ import type {
15
13
  import { assertEip712Transaction } from './utils/assertEip712Transaction.js'
16
14
  import { isEIP712Transaction } from './utils/isEip712Transaction.js'
17
15
 
18
- export const serializeTransaction: SerializeTransactionFn<
19
- ZkSyncTransactionSerializable
20
- > = (tx, signature) => {
21
- if (isEIP712Transaction(tx))
22
- return serializeTransactionEIP712(tx as ZkSyncTransactionSerializableEIP712)
23
- return serializeTransaction_(tx as TransactionSerializable, signature)
16
+ export function serializeTransaction(
17
+ transaction: ZkSyncTransactionSerializable,
18
+ signature?: Signature,
19
+ ) {
20
+ if (isEIP712Transaction(transaction))
21
+ return serializeTransactionEIP712(
22
+ transaction as ZkSyncTransactionSerializableEIP712,
23
+ )
24
+ return serializeTransaction_(
25
+ transaction as TransactionSerializable,
26
+ signature,
27
+ )
24
28
  }
25
29
 
26
30
  export const serializers = {
@@ -1,10 +1,7 @@
1
1
  import type { ChainFormatters } from '../../../types/chain.js'
2
2
  import type { Chain, ChainFormatter } from '../../../types/chain.js'
3
- import type {
4
- TransactionSerializable,
5
- TransactionSerializableGeneric,
6
- } from '../../../types/transaction.js'
7
3
  import type { EIP712DomainFn } from './eip712.js'
4
+ import type { ZkSyncTransactionSerializable } from './transaction.js'
8
5
 
9
6
  export type ChainEIP712<
10
7
  formatters extends ChainFormatters | undefined = ChainFormatters | undefined,
@@ -17,10 +14,10 @@ export type ChainEIP712<
17
14
  | EIP712DomainFn<
18
15
  formatters extends ChainFormatters
19
16
  ? formatters['transactionRequest'] extends ChainFormatter
20
- ? TransactionSerializableGeneric &
17
+ ? ZkSyncTransactionSerializable &
21
18
  Parameters<formatters['transactionRequest']['format']>[0]
22
- : TransactionSerializable
23
- : TransactionSerializable,
19
+ : ZkSyncTransactionSerializable
20
+ : ZkSyncTransactionSerializable,
24
21
  TransactionSignable
25
22
  >
26
23
  | undefined
@@ -1,6 +1,6 @@
1
1
  import type { Address, TypedDataDomain } from 'abitype'
2
2
  import type { Hex } from '../../../types/misc.js'
3
- import type { TransactionSerializable } from '../../../types/transaction.js'
3
+ import type { ZkSyncTransactionSerializable } from './transaction.js'
4
4
 
5
5
  type PaymasterParams = {
6
6
  paymaster: Address
@@ -26,6 +26,6 @@ export type EIP712Domain<TransactionSignable> = {
26
26
 
27
27
  export type EIP712DomainFn<
28
28
  TTransactionSerializable extends
29
- TransactionSerializable = TransactionSerializable,
29
+ ZkSyncTransactionSerializable = ZkSyncTransactionSerializable,
30
30
  TransactionSignable = {},
31
31
  > = (transaction: TTransactionSerializable) => EIP712Domain<TransactionSignable>
@@ -217,8 +217,8 @@ import {
217
217
  watchPendingTransactions,
218
218
  } from '../../actions/public/watchPendingTransactions.js'
219
219
  import {
220
- type PrepareTransactionRequestParameterType,
221
220
  type PrepareTransactionRequestParameters,
221
+ type PrepareTransactionRequestRequest,
222
222
  type PrepareTransactionRequestReturnType,
223
223
  prepareTransactionRequest,
224
224
  } from '../../actions/wallet/prepareTransactionRequest.js'
@@ -1335,7 +1335,10 @@ export type PublicActions<
1335
1335
  * })
1336
1336
  */
1337
1337
  prepareTransactionRequest: <
1338
- TParameterType extends PrepareTransactionRequestParameterType,
1338
+ const TRequest extends PrepareTransactionRequestRequest<
1339
+ TChain,
1340
+ TChainOverride
1341
+ >,
1339
1342
  TChainOverride extends Chain | undefined = undefined,
1340
1343
  TAccountOverride extends Account | Address | undefined = undefined,
1341
1344
  >(
@@ -1344,7 +1347,7 @@ export type PublicActions<
1344
1347
  TAccount,
1345
1348
  TChainOverride,
1346
1349
  TAccountOverride,
1347
- TParameterType
1350
+ TRequest
1348
1351
  >,
1349
1352
  ) => Promise<
1350
1353
  PrepareTransactionRequestReturnType<
@@ -1352,7 +1355,8 @@ export type PublicActions<
1352
1355
  TAccount,
1353
1356
  TChainOverride,
1354
1357
  TAccountOverride,
1355
- TParameterType
1358
+ // @ts-expect-error
1359
+ TRequest
1356
1360
  >
1357
1361
  >
1358
1362
  /**
@@ -23,8 +23,8 @@ import {
23
23
  getPermissions,
24
24
  } from '../../actions/wallet/getPermissions.js'
25
25
  import {
26
- type PrepareTransactionRequestParameterType,
27
26
  type PrepareTransactionRequestParameters,
27
+ type PrepareTransactionRequestRequest,
28
28
  type PrepareTransactionRequestReturnType,
29
29
  prepareTransactionRequest,
30
30
  } from '../../actions/wallet/prepareTransactionRequest.js'
@@ -44,6 +44,7 @@ import {
44
44
  } from '../../actions/wallet/sendRawTransaction.js'
45
45
  import {
46
46
  type SendTransactionParameters,
47
+ type SendTransactionRequest,
47
48
  type SendTransactionReturnType,
48
49
  sendTransaction,
49
50
  } from '../../actions/wallet/sendTransaction.js'
@@ -234,7 +235,10 @@ export type WalletActions<
234
235
  * })
235
236
  */
236
237
  prepareTransactionRequest: <
237
- TParameterType extends PrepareTransactionRequestParameterType,
238
+ const TRequest extends PrepareTransactionRequestRequest<
239
+ TChain,
240
+ TChainOverride
241
+ >,
238
242
  TChainOverride extends Chain | undefined = undefined,
239
243
  TAccountOverride extends Account | Address | undefined = undefined,
240
244
  >(
@@ -243,7 +247,7 @@ export type WalletActions<
243
247
  TAccount,
244
248
  TChainOverride,
245
249
  TAccountOverride,
246
- TParameterType
250
+ TRequest
247
251
  >,
248
252
  ) => Promise<
249
253
  PrepareTransactionRequestReturnType<
@@ -251,7 +255,8 @@ export type WalletActions<
251
255
  TAccount,
252
256
  TChainOverride,
253
257
  TAccountOverride,
254
- TParameterType
258
+ // @ts-expect-error
259
+ TRequest
255
260
  >
256
261
  >
257
262
  /**
@@ -370,8 +375,11 @@ export type WalletActions<
370
375
  * value: 1000000000000000000n,
371
376
  * })
372
377
  */
373
- sendTransaction: <TChainOverride extends Chain | undefined = undefined>(
374
- args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
378
+ sendTransaction: <
379
+ const TRequest extends SendTransactionRequest<TChain, TChainOverride>,
380
+ TChainOverride extends Chain | undefined = undefined,
381
+ >(
382
+ args: SendTransactionParameters<TChain, TAccount, TChainOverride, TRequest>,
375
383
  ) => Promise<SendTransactionReturnType>
376
384
  /**
377
385
  * Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`.
@@ -0,0 +1,21 @@
1
+ // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters
2
+
3
+ /** Blob limit per transaction. */
4
+ export const blobsPerTransaction = 2
5
+
6
+ /** The number of bytes in a BLS scalar field element. */
7
+ export const bytesPerFieldElement = 32
8
+
9
+ /** The number of field elements in a blob. */
10
+ export const fieldElementsPerBlob = 4096
11
+
12
+ /** The number of bytes in a blob. */
13
+ export const bytesPerBlob = bytesPerFieldElement * fieldElementsPerBlob
14
+
15
+ /** Blob bytes limit per transaction. */
16
+ export const maxBytesPerTransaction =
17
+ bytesPerBlob * blobsPerTransaction -
18
+ // terminator byte (0x80).
19
+ 1 -
20
+ // zero byte (0x00) appended to each field element.
21
+ 1 * fieldElementsPerBlob * blobsPerTransaction
@@ -0,0 +1,9 @@
1
+ // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters
2
+
3
+ /** The number of bytes in a KZG commitment. */
4
+ export const bytesPerCommitment = 48
5
+
6
+ /** The number of bytes in a KZG proof. */
7
+ export const bytesPerProof = 48
8
+
9
+ export const versionedHashVersionKzg = 1
package/errors/blob.ts ADDED
@@ -0,0 +1,67 @@
1
+ import { versionedHashVersionKzg } from '../constants/kzg.js'
2
+ import type { Hash } from '../types/misc.js'
3
+
4
+ import { BaseError } from './base.js'
5
+
6
+ export type BlobSizeTooLargeErrorType = BlobSizeTooLargeError & {
7
+ name: 'BlobSizeTooLargeError'
8
+ }
9
+ export class BlobSizeTooLargeError extends BaseError {
10
+ override name = 'BlobSizeTooLargeError'
11
+ constructor({ maxSize, size }: { maxSize: number; size: number }) {
12
+ super('Blob size is too large.', {
13
+ metaMessages: [`Max: ${maxSize} bytes`, `Given: ${size} bytes`],
14
+ })
15
+ }
16
+ }
17
+
18
+ export type EmptyBlobErrorType = EmptyBlobError & {
19
+ name: 'EmptyBlobError'
20
+ }
21
+ export class EmptyBlobError extends BaseError {
22
+ override name = 'EmptyBlobError'
23
+ constructor() {
24
+ super('Blob data must not be empty.')
25
+ }
26
+ }
27
+
28
+ export type InvalidVersionedHashSizeErrorType =
29
+ InvalidVersionedHashSizeError & {
30
+ name: 'InvalidVersionedHashSizeError'
31
+ }
32
+ export class InvalidVersionedHashSizeError extends BaseError {
33
+ override name = 'InvalidVersionedHashSizeError'
34
+ constructor({
35
+ hash,
36
+ size,
37
+ }: {
38
+ hash: Hash
39
+ size: number
40
+ }) {
41
+ super(`Versioned hash "${hash}" size is invalid.`, {
42
+ metaMessages: ['Expected: 32', `Received: ${size}`],
43
+ })
44
+ }
45
+ }
46
+
47
+ export type InvalidVersionedHashVersionErrorType =
48
+ InvalidVersionedHashVersionError & {
49
+ name: 'InvalidVersionedHashVersionError'
50
+ }
51
+ export class InvalidVersionedHashVersionError extends BaseError {
52
+ override name = 'InvalidVersionedHashVersionError'
53
+ constructor({
54
+ hash,
55
+ version,
56
+ }: {
57
+ hash: Hash
58
+ version: number
59
+ }) {
60
+ super(`Versioned hash "${hash}" version is invalid.`, {
61
+ metaMessages: [
62
+ `Expected: ${versionedHashVersionKzg}`,
63
+ `Received: ${version}`,
64
+ ],
65
+ })
66
+ }
67
+ }
@@ -69,6 +69,7 @@ export class InvalidSerializableTransactionError extends BaseError {
69
69
  '- a `type` to the Transaction, or',
70
70
  '- an EIP-1559 Transaction with `maxFeePerGas`, or',
71
71
  '- an EIP-2930 Transaction with `gasPrice` & `accessList`, or',
72
+ '- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or',
72
73
  '- a Legacy Transaction with `gasPrice`',
73
74
  ],
74
75
  })
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.7.20'
1
+ export const version = '2.8.0'