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
@@ -28,12 +28,25 @@ import {
28
28
  Eip1559FeesNotSupportedError,
29
29
  MaxFeePerGasTooLowError,
30
30
  } from '../../errors/fee.js'
31
- import type { Block } from '../../index.js'
31
+ import type { Block, GetTransactionType } from '../../index.js'
32
32
  import type { DeriveAccount, GetAccountParameter } from '../../types/account.js'
33
33
  import type { Chain, DeriveChain } from '../../types/chain.js'
34
34
  import type { GetChainParameter } from '../../types/chain.js'
35
- import type { TransactionSerializable } from '../../types/transaction.js'
36
- import type { UnionOmit, UnionRequiredBy } from '../../types/utils.js'
35
+ import type { GetTransactionRequestKzgParameter } from '../../types/kzg.js'
36
+ import type {
37
+ TransactionRequest,
38
+ TransactionRequestEIP1559,
39
+ TransactionRequestEIP2930,
40
+ TransactionRequestEIP4844,
41
+ TransactionRequestLegacy,
42
+ TransactionSerializable,
43
+ } from '../../types/transaction.js'
44
+ import type {
45
+ IsNever,
46
+ Prettify,
47
+ UnionOmit,
48
+ UnionRequiredBy,
49
+ } from '../../types/utils.js'
37
50
  import type { FormattedTransactionRequest } from '../../utils/formatters/transactionRequest.js'
38
51
  import { getAction } from '../../utils/getAction.js'
39
52
  import type {
@@ -42,60 +55,117 @@ import type {
42
55
  } from '../../utils/transaction/assertRequest.js'
43
56
  import { assertRequest } from '../../utils/transaction/assertRequest.js'
44
57
  import { getTransactionType } from '../../utils/transaction/getTransactionType.js'
58
+ import { getChainId } from '../public/getChainId.js'
45
59
 
46
60
  export type PrepareTransactionRequestParameterType =
61
+ | 'chainId'
47
62
  | 'fees'
48
63
  | 'gas'
49
64
  | 'nonce'
50
65
  | 'type'
51
66
  type ParameterTypeToParameters<
52
- TParameterType extends PrepareTransactionRequestParameterType,
53
- > = TParameterType extends 'fees'
67
+ parameterType extends PrepareTransactionRequestParameterType,
68
+ > = parameterType extends 'fees'
54
69
  ? 'maxFeePerGas' | 'maxPriorityFeePerGas' | 'gasPrice'
55
- : TParameterType
70
+ : parameterType
71
+
72
+ export type PrepareTransactionRequestRequest<
73
+ chain extends Chain | undefined = Chain | undefined,
74
+ chainOverride extends Chain | undefined = Chain | undefined,
75
+ ///
76
+ _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
77
+ > = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
78
+ GetTransactionRequestKzgParameter & {
79
+ parameters?: PrepareTransactionRequestParameterType[]
80
+ }
56
81
 
57
82
  export type PrepareTransactionRequestParameters<
58
- TChain extends Chain | undefined = Chain | undefined,
59
- TAccount extends Account | undefined = Account | undefined,
60
- TChainOverride extends Chain | undefined = Chain | undefined,
61
- TAccountOverride extends Account | Address | undefined =
83
+ chain extends Chain | undefined = Chain | undefined,
84
+ account extends Account | undefined = Account | undefined,
85
+ chainOverride extends Chain | undefined = Chain | undefined,
86
+ accountOverride extends Account | Address | undefined =
87
+ | Account
88
+ | Address
89
+ | undefined,
90
+ request extends PrepareTransactionRequestRequest<
91
+ chain,
92
+ chainOverride
93
+ > = PrepareTransactionRequestRequest<chain, chainOverride>,
94
+ > = request &
95
+ GetAccountParameter<account, accountOverride, false> &
96
+ GetChainParameter<chain, chainOverride> &
97
+ GetTransactionRequestKzgParameter<request> & { chainId?: number }
98
+
99
+ export type PrepareTransactionRequestReturnType_<
100
+ chain extends Chain | undefined = Chain | undefined,
101
+ account extends Account | undefined = Account | undefined,
102
+ chainOverride extends Chain | undefined = Chain | undefined,
103
+ accountOverride extends Account | Address | undefined =
62
104
  | Account
63
105
  | Address
64
106
  | undefined,
65
- TParameterType extends
66
- PrepareTransactionRequestParameterType = PrepareTransactionRequestParameterType,
67
107
  ///
68
- derivedChain extends Chain | undefined = DeriveChain<TChain, TChainOverride>,
69
- > = UnionOmit<FormattedTransactionRequest<derivedChain>, 'from'> &
70
- GetAccountParameter<TAccount, TAccountOverride, false> &
71
- GetChainParameter<TChain, TChainOverride> & {
72
- parameters?: TParameterType[]
73
- }
108
+ _derivedAccount extends Account | Address | undefined = DeriveAccount<
109
+ account,
110
+ accountOverride
111
+ >,
112
+ _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
113
+ > = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
114
+ GetChainParameter<chain, chainOverride> &
115
+ (_derivedAccount extends Account
116
+ ? { account: _derivedAccount; from: Address }
117
+ : { account?: undefined; from?: undefined })
74
118
 
75
119
  export type PrepareTransactionRequestReturnType<
76
- TChain extends Chain | undefined = Chain | undefined,
77
- TAccount extends Account | undefined = Account | undefined,
78
- TChainOverride extends Chain | undefined = Chain | undefined,
79
- TAccountOverride extends Account | Address | undefined =
120
+ chain extends Chain | undefined = Chain | undefined,
121
+ account extends Account | undefined = Account | undefined,
122
+ chainOverride extends Chain | undefined = Chain | undefined,
123
+ accountOverride extends Account | Address | undefined =
80
124
  | Account
81
125
  | Address
82
126
  | undefined,
83
- TParameterType extends
84
- PrepareTransactionRequestParameterType = PrepareTransactionRequestParameterType,
127
+ request extends PrepareTransactionRequestRequest<
128
+ chain,
129
+ chainOverride
130
+ > = PrepareTransactionRequestRequest<chain, chainOverride>,
85
131
  ///
86
- derivedAccount extends Account | Address | undefined = DeriveAccount<
87
- TAccount,
88
- TAccountOverride
132
+ _derivedAccount extends Account | Address | undefined = DeriveAccount<
133
+ account,
134
+ accountOverride
89
135
  >,
90
- derivedChain extends Chain | undefined = DeriveChain<TChain, TChainOverride>,
91
- > = UnionRequiredBy<
92
- UnionOmit<FormattedTransactionRequest<derivedChain>, 'from'>,
93
- ParameterTypeToParameters<TParameterType>
94
- > &
95
- GetChainParameter<TChain, TChainOverride> &
96
- (derivedAccount extends Account
97
- ? { account: derivedAccount; from: Address }
98
- : { account?: undefined; from?: undefined })
136
+ _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
137
+ _transactionType = request['type'] extends string
138
+ ? request['type']
139
+ : GetTransactionType<request> extends 'legacy'
140
+ ? unknown
141
+ : GetTransactionType<request>,
142
+ _transactionRequest extends TransactionRequest =
143
+ | (_transactionType extends 'legacy' ? TransactionRequestLegacy : never)
144
+ | (_transactionType extends 'eip1559' ? TransactionRequestEIP1559 : never)
145
+ | (_transactionType extends 'eip2930' ? TransactionRequestEIP2930 : never)
146
+ | (_transactionType extends 'eip4844' ? TransactionRequestEIP4844 : never),
147
+ > = Prettify<
148
+ UnionRequiredBy<
149
+ Extract<
150
+ UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
151
+ (_derivedChain extends Chain
152
+ ? { chain: _derivedChain }
153
+ : { chain?: undefined }) &
154
+ (_derivedAccount extends Account
155
+ ? { account: _derivedAccount; from: Address }
156
+ : { account?: undefined; from?: undefined }),
157
+ IsNever<_transactionRequest> extends true
158
+ ? unknown
159
+ : Partial<_transactionRequest>
160
+ > & { chainId?: number },
161
+ ParameterTypeToParameters<
162
+ request['parameters'] extends PrepareTransactionRequestParameterType[]
163
+ ? request['parameters'][number]
164
+ : PrepareTransactionRequestParameterType
165
+ >
166
+ > &
167
+ (unknown extends request['kzg'] ? {} : Pick<request, 'kzg'>)
168
+ >
99
169
 
100
170
  export type PrepareTransactionRequestErrorType =
101
171
  | AccountNotFoundErrorType
@@ -147,35 +217,36 @@ export type PrepareTransactionRequestErrorType =
147
217
  * })
148
218
  */
149
219
  export async function prepareTransactionRequest<
150
- TChain extends Chain | undefined,
151
- TAccount extends Account | undefined,
152
- TParameterType extends PrepareTransactionRequestParameterType,
153
- TAccountOverride extends Account | Address | undefined = undefined,
154
- TChainOverride extends Chain | undefined = undefined,
220
+ chain extends Chain | undefined,
221
+ account extends Account | undefined,
222
+ const request extends PrepareTransactionRequestRequest<chain, chainOverride>,
223
+ accountOverride extends Account | Address | undefined = undefined,
224
+ chainOverride extends Chain | undefined = undefined,
155
225
  >(
156
- client: Client<Transport, TChain, TAccount>,
226
+ client: Client<Transport, chain, account>,
157
227
  args: PrepareTransactionRequestParameters<
158
- TChain,
159
- TAccount,
160
- TChainOverride,
161
- TAccountOverride,
162
- TParameterType
228
+ chain,
229
+ account,
230
+ chainOverride,
231
+ accountOverride,
232
+ request
163
233
  >,
164
234
  ): Promise<
165
235
  PrepareTransactionRequestReturnType<
166
- TChain,
167
- TAccount,
168
- TChainOverride,
169
- TAccountOverride,
170
- TParameterType
236
+ chain,
237
+ account,
238
+ chainOverride,
239
+ accountOverride,
240
+ request
171
241
  >
172
242
  > {
173
243
  const {
174
244
  account: account_ = client.account,
175
245
  chain,
246
+ chainId,
176
247
  gas,
177
248
  nonce,
178
- parameters = ['fees', 'gas', 'nonce', 'type'],
249
+ parameters = ['chainId', 'fees', 'gas', 'nonce', 'type'],
179
250
  type,
180
251
  } = args
181
252
  const account = account_ ? parseAccount(account_) : undefined
@@ -188,6 +259,12 @@ export async function prepareTransactionRequest<
188
259
 
189
260
  const request = { ...args, ...(account ? { from: account?.address } : {}) }
190
261
 
262
+ if (parameters.includes('chainId')) {
263
+ if (chain) request.chainId = chain.id
264
+ else if (typeof chainId !== 'undefined') request.chainId = chainId
265
+ else request.chainId = await getAction(client, getChainId, 'getChainId')({})
266
+ }
267
+
191
268
  if (parameters.includes('nonce') && typeof nonce === 'undefined' && account)
192
269
  request.nonce = await getAction(
193
270
  client,
@@ -214,7 +291,9 @@ export async function prepareTransactionRequest<
214
291
  }
215
292
 
216
293
  if (parameters.includes('fees')) {
217
- if (request.type === 'eip1559') {
294
+ // TODO(4844): derive blob base fees once https://github.com/ethereum/execution-apis/pull/486 is merged.
295
+
296
+ if (request.type === 'eip1559' || request.type === 'eip4844') {
218
297
  // EIP-1559 fees
219
298
  const { maxFeePerGas, maxPriorityFeePerGas } =
220
299
  await internal_estimateFeesPerGas(client, {
@@ -271,11 +350,5 @@ export async function prepareTransactionRequest<
271
350
 
272
351
  delete request.parameters
273
352
 
274
- return request as unknown as PrepareTransactionRequestReturnType<
275
- TChain,
276
- TAccount,
277
- TChainOverride,
278
- TAccountOverride,
279
- TParameterType
280
- >
353
+ return request as any
281
354
  }
@@ -3,14 +3,12 @@ import type { Transport } from '../../clients/transports/createTransport.js'
3
3
  import type { ErrorType } from '../../errors/utils.js'
4
4
  import type { Chain } from '../../types/chain.js'
5
5
  import type { Hash } from '../../types/misc.js'
6
- import type { TransactionSerialized } from '../../types/transaction.js'
6
+ import type { TransactionSerializedGeneric } from '../../types/transaction.js'
7
7
  import type { RequestErrorType } from '../../utils/buildRequest.js'
8
8
 
9
9
  export type SendRawTransactionParameters = {
10
- /**
11
- * The signed serialized tranasction.
12
- */
13
- serializedTransaction: TransactionSerialized
10
+ /** The signed serialized tranasction. */
11
+ serializedTransaction: TransactionSerializedGeneric
14
12
  }
15
13
 
16
14
  export type SendRawTransactionReturnType = Hash
@@ -12,6 +12,7 @@ import type { ErrorType } from '../../errors/utils.js'
12
12
  import type { GetAccountParameter } from '../../types/account.js'
13
13
  import type { Chain, DeriveChain } from '../../types/chain.js'
14
14
  import type { GetChainParameter } from '../../types/chain.js'
15
+ import type { GetTransactionRequestKzgParameter } from '../../types/kzg.js'
15
16
  import type { Hash } from '../../types/misc.js'
16
17
  import type {
17
18
  TransactionRequest,
@@ -48,15 +49,26 @@ import {
48
49
  sendRawTransaction,
49
50
  } from './sendRawTransaction.js'
50
51
 
51
- export type SendTransactionParameters<
52
- TChain extends Chain | undefined = Chain | undefined,
53
- TAccount extends Account | undefined = Account | undefined,
54
- TChainOverride extends Chain | undefined = Chain | undefined,
52
+ export type SendTransactionRequest<
53
+ chain extends Chain | undefined = Chain | undefined,
54
+ chainOverride extends Chain | undefined = Chain | undefined,
55
55
  ///
56
- derivedChain extends Chain | undefined = DeriveChain<TChain, TChainOverride>,
57
- > = UnionOmit<FormattedTransactionRequest<derivedChain>, 'from'> &
58
- GetAccountParameter<TAccount> &
59
- GetChainParameter<TChain, TChainOverride>
56
+ _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
57
+ > = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'> &
58
+ GetTransactionRequestKzgParameter
59
+
60
+ export type SendTransactionParameters<
61
+ chain extends Chain | undefined = Chain | undefined,
62
+ account extends Account | undefined = Account | undefined,
63
+ chainOverride extends Chain | undefined = Chain | undefined,
64
+ request extends SendTransactionRequest<
65
+ chain,
66
+ chainOverride
67
+ > = SendTransactionRequest<chain, chainOverride>,
68
+ > = request &
69
+ GetAccountParameter<account> &
70
+ GetChainParameter<chain, chainOverride> &
71
+ GetTransactionRequestKzgParameter<request>
60
72
 
61
73
  export type SendTransactionReturnType = Hash
62
74
 
@@ -119,12 +131,13 @@ export type SendTransactionErrorType =
119
131
  * })
120
132
  */
121
133
  export async function sendTransaction<
122
- TChain extends Chain | undefined,
123
- TAccount extends Account | undefined,
124
- TChainOverride extends Chain | undefined = undefined,
134
+ chain extends Chain | undefined,
135
+ account extends Account | undefined,
136
+ const request extends SendTransactionRequest<chain, chainOverride>,
137
+ chainOverride extends Chain | undefined = undefined,
125
138
  >(
126
- client: Client<Transport, TChain, TAccount>,
127
- args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
139
+ client: Client<Transport, chain, account>,
140
+ parameters: SendTransactionParameters<chain, account, chainOverride, request>,
128
141
  ): Promise<SendTransactionReturnType> {
129
142
  const {
130
143
  account: account_ = client.account,
@@ -139,7 +152,7 @@ export async function sendTransaction<
139
152
  to,
140
153
  value,
141
154
  ...rest
142
- } = args
155
+ } = parameters
143
156
 
144
157
  if (!account_)
145
158
  throw new AccountNotFoundError({
@@ -148,7 +161,7 @@ export async function sendTransaction<
148
161
  const account = parseAccount(account_)
149
162
 
150
163
  try {
151
- assertRequest(args as AssertRequestParameters)
164
+ assertRequest(parameters as AssertRequestParameters)
152
165
 
153
166
  let chainId: number | undefined
154
167
  if (chain !== null) {
@@ -169,6 +182,7 @@ export async function sendTransaction<
169
182
  account,
170
183
  accessList,
171
184
  chain,
185
+ chainId,
172
186
  data,
173
187
  gas,
174
188
  gasPrice,
@@ -180,14 +194,11 @@ export async function sendTransaction<
180
194
  ...rest,
181
195
  } as any)
182
196
 
183
- if (!chainId)
184
- chainId = await getAction(client, getChainId, 'getChainId')({})
185
-
186
197
  const serializer = chain?.serializers?.transaction
187
198
  const serializedTransaction = (await account.signTransaction(
188
199
  {
189
200
  ...request,
190
- chainId,
201
+ chainId: request.chainId,
191
202
  } as TransactionSerializable,
192
203
  { serializer },
193
204
  )) as Hash
@@ -226,9 +237,9 @@ export async function sendTransaction<
226
237
  )
227
238
  } catch (err) {
228
239
  throw getTransactionError(err as BaseError, {
229
- ...args,
240
+ ...parameters,
230
241
  account,
231
- chain: args.chain || undefined,
242
+ chain: parameters.chain || undefined,
232
243
  })
233
244
  }
234
245
  }
@@ -14,6 +14,7 @@ import type {
14
14
  DeriveChain,
15
15
  GetChainParameter,
16
16
  } from '../../types/chain.js'
17
+ import type { GetTransactionRequestKzgParameter } from '../../types/kzg.js'
17
18
  import { type RpcTransactionRequest } from '../../types/rpc.js'
18
19
  import type {
19
20
  TransactionRequest,
@@ -26,28 +27,38 @@ import {
26
27
  type AssertCurrentChainErrorType,
27
28
  assertCurrentChain,
28
29
  } from '../../utils/chain/assertCurrentChain.js'
30
+ import { numberToHex } from '../../utils/encoding/toHex.js'
29
31
  import type { NumberToHexErrorType } from '../../utils/encoding/toHex.js'
30
32
  import {
31
33
  type FormattedTransactionRequest,
32
34
  formatTransactionRequest,
33
35
  } from '../../utils/formatters/transactionRequest.js'
34
36
  import { getAction } from '../../utils/getAction.js'
35
- import { numberToHex } from '../../utils/index.js'
36
37
  import {
37
38
  type AssertRequestErrorType,
38
39
  assertRequest,
39
40
  } from '../../utils/transaction/assertRequest.js'
40
41
  import { type GetChainIdErrorType, getChainId } from '../public/getChainId.js'
41
42
 
42
- export type SignTransactionParameters<
43
- TChain extends Chain | undefined = Chain | undefined,
44
- TAccount extends Account | undefined = Account | undefined,
45
- TChainOverride extends Chain | undefined = Chain | undefined,
43
+ type SignTransactionRequest<
44
+ chain extends Chain | undefined = Chain | undefined,
45
+ chainOverride extends Chain | undefined = Chain | undefined,
46
46
  ///
47
- derivedChain extends Chain | undefined = DeriveChain<TChain, TChainOverride>,
48
- > = UnionOmit<FormattedTransactionRequest<derivedChain>, 'from'> &
49
- GetAccountParameter<TAccount> &
50
- GetChainParameter<TChain, TChainOverride>
47
+ _derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>,
48
+ > = UnionOmit<FormattedTransactionRequest<_derivedChain>, 'from'>
49
+
50
+ export type SignTransactionParameters<
51
+ chain extends Chain | undefined,
52
+ account extends Account | undefined,
53
+ chainOverride extends Chain | undefined = Chain | undefined,
54
+ request extends SignTransactionRequest<
55
+ chain,
56
+ chainOverride
57
+ > = SignTransactionRequest<chain, chainOverride>,
58
+ > = request &
59
+ GetAccountParameter<account> &
60
+ GetChainParameter<chain, chainOverride> &
61
+ GetTransactionRequestKzgParameter<request>
51
62
 
52
63
  export type SignTransactionReturnType = TransactionSerialized
53
64
 
@@ -105,18 +116,22 @@ export type SignTransactionErrorType =
105
116
  * })
106
117
  */
107
118
  export async function signTransaction<
108
- TChain extends Chain | undefined,
109
- TAccount extends Account | undefined,
110
- TChainOverride extends Chain | undefined = undefined,
119
+ chain extends Chain | undefined,
120
+ account extends Account | undefined,
121
+ chainOverride extends Chain | undefined = undefined,
122
+ const request extends SignTransactionRequest<
123
+ chain,
124
+ chainOverride
125
+ > = SignTransactionRequest<chain, chainOverride>,
111
126
  >(
112
- client: Client<Transport, TChain, TAccount>,
113
- args: SignTransactionParameters<TChain, TAccount, TChainOverride>,
127
+ client: Client<Transport, chain, account>,
128
+ parameters: SignTransactionParameters<chain, account, chainOverride, request>,
114
129
  ): Promise<SignTransactionReturnType> {
115
130
  const {
116
131
  account: account_ = client.account,
117
132
  chain = client.chain,
118
133
  ...transaction
119
- } = args
134
+ } = parameters
120
135
 
121
136
  if (!account_)
122
137
  throw new AccountNotFoundError({
@@ -126,7 +141,7 @@ export async function signTransaction<
126
141
 
127
142
  assertRequest({
128
143
  account,
129
- ...args,
144
+ ...parameters,
130
145
  })
131
146
 
132
147
  const chainId = await getAction(client, getChainId, 'getChainId')({})
@@ -140,14 +155,15 @@ export async function signTransaction<
140
155
  const format =
141
156
  formatters?.transactionRequest?.format || formatTransactionRequest
142
157
 
143
- if (account.type === 'local')
158
+ if (account.type === 'local') {
144
159
  return account.signTransaction(
145
160
  {
146
161
  ...transaction,
147
162
  chainId,
148
- } as unknown as TransactionSerializable,
163
+ } as TransactionSerializable,
149
164
  { serializer: client.chain?.serializers?.transaction },
150
165
  ) as Promise<SignTransactionReturnType>
166
+ }
151
167
 
152
168
  return await client.request(
153
169
  {
@@ -4,16 +4,14 @@ import { InvalidChainIdError } from '../../errors/chain.js'
4
4
  import { FeeCapTooHighError, TipAboveFeeCapError } from '../../errors/node.js'
5
5
  import type { ChainSerializers } from '../../types/chain.js'
6
6
  import type { Signature } from '../../types/misc.js'
7
- import type { TransactionSerializable } from '../../types/transaction.js'
8
7
  import { isAddress } from '../../utils/address/isAddress.js'
9
8
  import { concatHex } from '../../utils/data/concat.js'
10
- import { trim } from '../../utils/data/trim.js'
11
9
  import { toHex } from '../../utils/encoding/toHex.js'
12
10
  import { toRlp } from '../../utils/encoding/toRlp.js'
13
11
  import { serializeAccessList } from '../../utils/transaction/serializeAccessList.js'
14
12
  import {
15
- type SerializeTransactionFn,
16
13
  serializeTransaction as serializeTransaction_,
14
+ toYParitySignatureArray,
17
15
  } from '../../utils/transaction/serializeTransaction.js'
18
16
  import type {
19
17
  CeloTransactionSerializable,
@@ -24,12 +22,15 @@ import type {
24
22
  } from './types.js'
25
23
  import { isCIP42, isCIP64, isEmpty, isPresent } from './utils.js'
26
24
 
27
- export const serializeTransaction: SerializeTransactionFn<
28
- CeloTransactionSerializable | TransactionSerializable
29
- > = (tx, signature) => {
30
- if (isCIP64(tx)) return serializeTransactionCIP64(tx, signature)
31
- if (isCIP42(tx)) return serializeTransactionCIP42(tx, signature)
32
- return serializeTransaction_(tx as TransactionSerializable, signature)
25
+ export function serializeTransaction(
26
+ transaction: CeloTransactionSerializable,
27
+ signature?: Signature,
28
+ ) {
29
+ if (isCIP64(transaction))
30
+ return serializeTransactionCIP64(transaction, signature)
31
+ if (isCIP42(transaction))
32
+ return serializeTransactionCIP42(transaction, signature)
33
+ return serializeTransaction_(transaction, signature)
33
34
  }
34
35
 
35
36
  export const serializers = {
@@ -78,16 +79,9 @@ function serializeTransactionCIP42(
78
79
  value ? toHex(value) : '0x',
79
80
  data ?? '0x',
80
81
  serializeAccessList(accessList),
82
+ ...toYParitySignatureArray(transaction, signature),
81
83
  ]
82
84
 
83
- if (signature) {
84
- serializedTransaction.push(
85
- signature.v === 27n ? '0x' : toHex(1), // yParity
86
- trim(signature.r),
87
- trim(signature.s),
88
- )
89
- }
90
-
91
85
  return concatHex([
92
86
  '0x7c',
93
87
  toRlp(serializedTransaction),
@@ -123,16 +117,9 @@ function serializeTransactionCIP64(
123
117
  data ?? '0x',
124
118
  serializeAccessList(accessList),
125
119
  feeCurrency!,
120
+ ...toYParitySignatureArray(transaction, signature),
126
121
  ]
127
122
 
128
- if (signature) {
129
- serializedTransaction.push(
130
- signature.v === 27n ? '0x' : toHex(1), // yParity
131
- trim(signature.r),
132
- trim(signature.s),
133
- )
134
- }
135
-
136
123
  return concatHex([
137
124
  '0x7b',
138
125
  toRlp(serializedTransaction),
@@ -21,7 +21,7 @@ import type {
21
21
  TransactionSerializableBase,
22
22
  TransactionSerialized,
23
23
  } from '../../types/transaction.js'
24
- import type { NeverBy } from '../../types/utils.js'
24
+ import type { NeverBy, OneOf } from '../../types/utils.js'
25
25
 
26
26
  type CeloBlockExclude =
27
27
  | 'difficulty'
@@ -89,13 +89,14 @@ export type CeloTransactionRequest =
89
89
  | TransactionRequestCIP42
90
90
  | TransactionRequestCIP64
91
91
 
92
- export type CeloTransactionSerializable =
92
+ export type CeloTransactionSerializable = OneOf<
93
+ | TransactionSerializable
93
94
  | TransactionSerializableCIP42
94
95
  | TransactionSerializableCIP64
95
- | CeloTransactionSerializableBase
96
+ >
96
97
 
97
98
  export type CeloTransactionSerialized<
98
- TType extends CeloTransactionType = 'legacy',
99
+ TType extends CeloTransactionType = CeloTransactionType,
99
100
  > =
100
101
  | TransactionSerialized<TType>
101
102
  | TransactionSerializedCIP42
@@ -240,11 +241,5 @@ export type TransactionSerializableCIP64<
240
241
  type?: 'cip64'
241
242
  }
242
243
 
243
- export type CeloTransactionSerializableBase = TransactionSerializable & {
244
- feeCurrency?: undefined
245
- gatewayFee?: undefined
246
- gatewayFeeRecipient?: undefined
247
- }
248
-
249
244
  export type TransactionSerializedCIP42 = `0x7c${string}`
250
245
  export type TransactionSerializedCIP64 = `0x7b${string}`
@@ -0,0 +1,28 @@
1
+ import { defineChain } from '../../utils/chain/defineChain.js'
2
+
3
+ const sourceId = 11_155_111 // sepolia
4
+
5
+ export const plumeTestnet = /*#__PURE__*/ defineChain({
6
+ id: 161_221_135,
7
+ name: 'Plume Testnet',
8
+ nativeCurrency: {
9
+ name: 'Plume Sepolia Ether',
10
+ symbol: 'ETH',
11
+ decimals: 18,
12
+ },
13
+ rpcUrls: {
14
+ default: {
15
+ http: ['https://plume-testnet.rpc.caldera.xyz/http'],
16
+ webSocket: ['wss://plume-testnet.rpc.caldera.xyz/ws'],
17
+ },
18
+ },
19
+ blockExplorers: {
20
+ default: {
21
+ name: 'Blockscout',
22
+ url: 'https://plume-testnet.explorer.caldera.xyz',
23
+ apiUrl: 'https://plume-testnet.explorer.caldera.xyz/api',
24
+ },
25
+ },
26
+ testnet: true,
27
+ sourceId,
28
+ })
package/chains/index.ts CHANGED
@@ -150,6 +150,7 @@ export { pgn } from './definitions/pgn.js'
150
150
  export { pgnTestnet } from './definitions/pgnTestnet.js'
151
151
  export { phoenix } from './definitions/phoenix.js'
152
152
  export { plinga } from './definitions/plinga.js'
153
+ export { plumeTestnet } from './definitions/plumeTestnet.js'
153
154
  export { polygon } from './definitions/polygon.js'
154
155
  export { polygonAmoy } from './definitions/polygonAmoy.js'
155
156
  export { polygonMumbai } from './definitions/polygonMumbai.js'
@@ -245,7 +246,6 @@ export type {
245
246
  CeloTransactionRequest,
246
247
  CeloTransactionType,
247
248
  CeloTransactionSerializable,
248
- CeloTransactionSerializableBase,
249
249
  CeloTransactionSerialized,
250
250
  RpcTransactionCIP42,
251
251
  RpcTransactionCIP64,