viem 2.7.22 → 2.8.1

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 (476) hide show
  1. package/CHANGELOG.md +20 -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/watchBlockNumber.js +34 -26
  15. package/_cjs/actions/public/watchBlockNumber.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 +13 -11
  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/plumeTestnet.js +30 -0
  26. package/_cjs/chains/definitions/plumeTestnet.js.map +1 -0
  27. package/_cjs/chains/definitions/rss3.js +49 -0
  28. package/_cjs/chains/definitions/rss3.js.map +1 -0
  29. package/_cjs/chains/definitions/rss3Sepolia.js +50 -0
  30. package/_cjs/chains/definitions/rss3Sepolia.js.map +1 -0
  31. package/_cjs/chains/index.js +9 -3
  32. package/_cjs/chains/index.js.map +1 -1
  33. package/_cjs/chains/opStack/actions/estimateL1Fee.js +1 -10
  34. package/_cjs/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  35. package/_cjs/chains/opStack/actions/estimateL1Gas.js +1 -10
  36. package/_cjs/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  37. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  38. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  39. package/_cjs/chains/opStack/actions/proveWithdrawal.js +1 -1
  40. package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  41. package/_cjs/chains/opStack/serializers.js +3 -3
  42. package/_cjs/chains/opStack/serializers.js.map +1 -1
  43. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -1
  44. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  45. package/_cjs/chains/zksync/serializers.js +6 -6
  46. package/_cjs/chains/zksync/serializers.js.map +1 -1
  47. package/_cjs/clients/decorators/public.js.map +1 -1
  48. package/_cjs/clients/decorators/wallet.js.map +1 -1
  49. package/_cjs/constants/blob.js +11 -0
  50. package/_cjs/constants/blob.js.map +1 -0
  51. package/_cjs/constants/kzg.js +7 -0
  52. package/_cjs/constants/kzg.js.map +1 -0
  53. package/_cjs/errors/blob.js +63 -0
  54. package/_cjs/errors/blob.js.map +1 -0
  55. package/_cjs/errors/transaction.js +1 -0
  56. package/_cjs/errors/transaction.js.map +1 -1
  57. package/_cjs/errors/version.js +1 -1
  58. package/_cjs/errors/version.js.map +1 -1
  59. package/_cjs/index.js +22 -2
  60. package/_cjs/index.js.map +1 -1
  61. package/_cjs/node/index.js +3 -1
  62. package/_cjs/node/index.js.map +1 -1
  63. package/_cjs/node/trustedSetups.js +7 -0
  64. package/_cjs/node/trustedSetups.js.map +1 -0
  65. package/_cjs/types/eip4844.js +3 -0
  66. package/_cjs/types/eip4844.js.map +1 -0
  67. package/_cjs/types/kzg.js +3 -0
  68. package/_cjs/types/kzg.js.map +1 -0
  69. package/_cjs/utils/blob/blobsToCommitments.js +20 -0
  70. package/_cjs/utils/blob/blobsToCommitments.js.map +1 -0
  71. package/_cjs/utils/blob/blobsToProofs.js +26 -0
  72. package/_cjs/utils/blob/blobsToProofs.js.map +1 -0
  73. package/_cjs/utils/blob/commitmentToVersionedHash.js +14 -0
  74. package/_cjs/utils/blob/commitmentToVersionedHash.js.map +1 -0
  75. package/_cjs/utils/blob/commitmentsToVersionedHashes.js +19 -0
  76. package/_cjs/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  77. package/_cjs/utils/blob/fromBlobs.js +36 -0
  78. package/_cjs/utils/blob/fromBlobs.js.map +1 -0
  79. package/_cjs/utils/blob/sidecarsToVersionedHashes.js +19 -0
  80. package/_cjs/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  81. package/_cjs/utils/blob/toBlobSidecars.js +22 -0
  82. package/_cjs/utils/blob/toBlobSidecars.js.map +1 -0
  83. package/_cjs/utils/blob/toBlobs.js +48 -0
  84. package/_cjs/utils/blob/toBlobs.js.map +1 -0
  85. package/_cjs/utils/encoding/toRlp.js.map +1 -1
  86. package/_cjs/utils/formatters/transaction.js.map +1 -1
  87. package/_cjs/utils/formatters/transactionRequest.js +22 -25
  88. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  89. package/_cjs/utils/kzg/defineKzg.js +11 -0
  90. package/_cjs/utils/kzg/defineKzg.js.map +1 -0
  91. package/_cjs/utils/kzg/setupKzg.js +17 -0
  92. package/_cjs/utils/kzg/setupKzg.js.map +1 -0
  93. package/_cjs/utils/signature/compactSignatureToSignature.js +3 -3
  94. package/_cjs/utils/signature/compactSignatureToSignature.js.map +1 -1
  95. package/_cjs/utils/signature/hexToSignature.js +6 -1
  96. package/_cjs/utils/signature/hexToSignature.js.map +1 -1
  97. package/_cjs/utils/signature/signatureToCompactSignature.js +3 -3
  98. package/_cjs/utils/signature/signatureToCompactSignature.js.map +1 -1
  99. package/_cjs/utils/signature/signatureToHex.js +9 -3
  100. package/_cjs/utils/signature/signatureToHex.js.map +1 -1
  101. package/_cjs/utils/transaction/assertTransaction.js +26 -1
  102. package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
  103. package/_cjs/utils/transaction/getSerializedTransactionType.js +2 -0
  104. package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  105. package/_cjs/utils/transaction/getTransactionType.js +7 -1
  106. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  107. package/_cjs/utils/transaction/parseTransaction.js +73 -0
  108. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  109. package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
  110. package/_cjs/utils/transaction/serializeTransaction.js +84 -21
  111. package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
  112. package/_esm/accounts/utils/sign.js +1 -0
  113. package/_esm/accounts/utils/sign.js.map +1 -1
  114. package/_esm/accounts/utils/signTransaction.js +13 -2
  115. package/_esm/accounts/utils/signTransaction.js.map +1 -1
  116. package/_esm/actions/index.js +1 -0
  117. package/_esm/actions/index.js.map +1 -1
  118. package/_esm/actions/public/call.js +3 -1
  119. package/_esm/actions/public/call.js.map +1 -1
  120. package/_esm/actions/public/estimateGas.js +3 -1
  121. package/_esm/actions/public/estimateGas.js.map +1 -1
  122. package/_esm/actions/public/getBlobBaseFee.js +27 -0
  123. package/_esm/actions/public/getBlobBaseFee.js.map +1 -0
  124. package/_esm/actions/public/watchBlockNumber.js +34 -26
  125. package/_esm/actions/public/watchBlockNumber.js.map +1 -1
  126. package/_esm/actions/wallet/prepareTransactionRequest.js +12 -2
  127. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  128. package/_esm/actions/wallet/sendRawTransaction.js.map +1 -1
  129. package/_esm/actions/wallet/sendTransaction.js +13 -11
  130. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  131. package/_esm/actions/wallet/signTransaction.js +6 -5
  132. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  133. package/_esm/chains/celo/serializers.js +10 -17
  134. package/_esm/chains/celo/serializers.js.map +1 -1
  135. package/_esm/chains/definitions/plumeTestnet.js +27 -0
  136. package/_esm/chains/definitions/plumeTestnet.js.map +1 -0
  137. package/_esm/chains/definitions/rss3.js +46 -0
  138. package/_esm/chains/definitions/rss3.js.map +1 -0
  139. package/_esm/chains/definitions/rss3Sepolia.js +47 -0
  140. package/_esm/chains/definitions/rss3Sepolia.js.map +1 -0
  141. package/_esm/chains/index.js +3 -0
  142. package/_esm/chains/index.js.map +1 -1
  143. package/_esm/chains/opStack/actions/estimateL1Fee.js +1 -10
  144. package/_esm/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  145. package/_esm/chains/opStack/actions/estimateL1Gas.js +1 -10
  146. package/_esm/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  147. package/_esm/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  148. package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  149. package/_esm/chains/opStack/actions/proveWithdrawal.js +1 -1
  150. package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  151. package/_esm/chains/opStack/serializers.js +2 -2
  152. package/_esm/chains/opStack/serializers.js.map +1 -1
  153. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -1
  154. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  155. package/_esm/chains/zksync/serializers.js +6 -6
  156. package/_esm/chains/zksync/serializers.js.map +1 -1
  157. package/_esm/clients/decorators/public.js.map +1 -1
  158. package/_esm/clients/decorators/wallet.js.map +1 -1
  159. package/_esm/constants/blob.js +16 -0
  160. package/_esm/constants/blob.js.map +1 -0
  161. package/_esm/constants/kzg.js +7 -0
  162. package/_esm/constants/kzg.js.map +1 -0
  163. package/_esm/errors/blob.js +56 -0
  164. package/_esm/errors/blob.js.map +1 -0
  165. package/_esm/errors/transaction.js +1 -0
  166. package/_esm/errors/transaction.js.map +1 -1
  167. package/_esm/errors/version.js +1 -1
  168. package/_esm/errors/version.js.map +1 -1
  169. package/_esm/index.js +10 -0
  170. package/_esm/index.js.map +1 -1
  171. package/_esm/node/index.js +1 -0
  172. package/_esm/node/index.js.map +1 -1
  173. package/_esm/node/trustedSetups.js +4 -0
  174. package/_esm/node/trustedSetups.js.map +1 -0
  175. package/_esm/types/eip4844.js +2 -0
  176. package/_esm/types/eip4844.js.map +1 -0
  177. package/_esm/types/kzg.js +2 -0
  178. package/_esm/types/kzg.js.map +1 -0
  179. package/_esm/utils/blob/blobsToCommitments.js +28 -0
  180. package/_esm/utils/blob/blobsToCommitments.js.map +1 -0
  181. package/_esm/utils/blob/blobsToProofs.js +38 -0
  182. package/_esm/utils/blob/blobsToProofs.js.map +1 -0
  183. package/_esm/utils/blob/commitmentToVersionedHash.js +27 -0
  184. package/_esm/utils/blob/commitmentToVersionedHash.js.map +1 -0
  185. package/_esm/utils/blob/commitmentsToVersionedHashes.js +32 -0
  186. package/_esm/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  187. package/_esm/utils/blob/fromBlobs.js +33 -0
  188. package/_esm/utils/blob/fromBlobs.js.map +1 -0
  189. package/_esm/utils/blob/sidecarsToVersionedHashes.js +26 -0
  190. package/_esm/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  191. package/_esm/utils/blob/toBlobSidecars.js +45 -0
  192. package/_esm/utils/blob/toBlobSidecars.js.map +1 -0
  193. package/_esm/utils/blob/toBlobs.js +58 -0
  194. package/_esm/utils/blob/toBlobs.js.map +1 -0
  195. package/_esm/utils/encoding/toRlp.js.map +1 -1
  196. package/_esm/utils/formatters/transaction.js.map +1 -1
  197. package/_esm/utils/formatters/transactionRequest.js +23 -26
  198. package/_esm/utils/formatters/transactionRequest.js.map +1 -1
  199. package/_esm/utils/kzg/defineKzg.js +21 -0
  200. package/_esm/utils/kzg/defineKzg.js.map +1 -0
  201. package/_esm/utils/kzg/setupKzg.js +25 -0
  202. package/_esm/utils/kzg/setupKzg.js.map +1 -0
  203. package/_esm/utils/signature/compactSignatureToSignature.js +3 -3
  204. package/_esm/utils/signature/compactSignatureToSignature.js.map +1 -1
  205. package/_esm/utils/signature/hexToSignature.js +6 -1
  206. package/_esm/utils/signature/hexToSignature.js.map +1 -1
  207. package/_esm/utils/signature/signatureToCompactSignature.js +4 -4
  208. package/_esm/utils/signature/signatureToCompactSignature.js.map +1 -1
  209. package/_esm/utils/signature/signatureToHex.js +11 -4
  210. package/_esm/utils/signature/signatureToHex.js.map +1 -1
  211. package/_esm/utils/transaction/assertTransaction.js +24 -0
  212. package/_esm/utils/transaction/assertTransaction.js.map +1 -1
  213. package/_esm/utils/transaction/getSerializedTransactionType.js +2 -0
  214. package/_esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
  215. package/_esm/utils/transaction/getTransactionType.js +7 -1
  216. package/_esm/utils/transaction/getTransactionType.js.map +1 -1
  217. package/_esm/utils/transaction/parseTransaction.js +74 -1
  218. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  219. package/_esm/utils/transaction/serializeAccessList.js.map +1 -1
  220. package/_esm/utils/transaction/serializeTransaction.js +85 -22
  221. package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
  222. package/_types/accounts/types.d.ts +3 -3
  223. package/_types/accounts/types.d.ts.map +1 -1
  224. package/_types/accounts/utils/sign.d.ts.map +1 -1
  225. package/_types/accounts/utils/signTransaction.d.ts +5 -5
  226. package/_types/accounts/utils/signTransaction.d.ts.map +1 -1
  227. package/_types/actions/index.d.ts +1 -0
  228. package/_types/actions/index.d.ts.map +1 -1
  229. package/_types/actions/public/call.d.ts.map +1 -1
  230. package/_types/actions/public/estimateGas.d.ts.map +1 -1
  231. package/_types/actions/public/getBlobBaseFee.d.ts +30 -0
  232. package/_types/actions/public/getBlobBaseFee.d.ts.map +1 -0
  233. package/_types/actions/public/watchBlockNumber.d.ts.map +1 -1
  234. package/_types/actions/wallet/prepareTransactionRequest.d.ts +27 -8
  235. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  236. package/_types/actions/wallet/sendRawTransaction.d.ts +3 -5
  237. package/_types/actions/wallet/sendRawTransaction.d.ts.map +1 -1
  238. package/_types/actions/wallet/sendTransaction.d.ts +4 -2
  239. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  240. package/_types/actions/wallet/signTransaction.d.ts +5 -2
  241. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  242. package/_types/chains/celo/chainConfig.d.ts +1282 -376
  243. package/_types/chains/celo/chainConfig.d.ts.map +1 -1
  244. package/_types/chains/celo/formatters.d.ts +1282 -376
  245. package/_types/chains/celo/formatters.d.ts.map +1 -1
  246. package/_types/chains/celo/serializers.d.ts +3 -4
  247. package/_types/chains/celo/serializers.d.ts.map +1 -1
  248. package/_types/chains/celo/types.d.ts +3 -8
  249. package/_types/chains/celo/types.d.ts.map +1 -1
  250. package/_types/chains/definitions/ancient8.d.ts +452 -188
  251. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  252. package/_types/chains/definitions/ancient8Sepolia.d.ts +452 -188
  253. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  254. package/_types/chains/definitions/base.d.ts +452 -188
  255. package/_types/chains/definitions/base.d.ts.map +1 -1
  256. package/_types/chains/definitions/baseGoerli.d.ts +452 -188
  257. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  258. package/_types/chains/definitions/baseSepolia.d.ts +452 -188
  259. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  260. package/_types/chains/definitions/celo.d.ts +1282 -376
  261. package/_types/chains/definitions/celo.d.ts.map +1 -1
  262. package/_types/chains/definitions/celoAlfajores.d.ts +1282 -376
  263. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  264. package/_types/chains/definitions/fraxtal.d.ts +452 -188
  265. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  266. package/_types/chains/definitions/fraxtalTestnet.d.ts +452 -188
  267. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  268. package/_types/chains/definitions/liskSepolia.d.ts +452 -188
  269. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  270. package/_types/chains/definitions/optimism.d.ts +452 -188
  271. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  272. package/_types/chains/definitions/optimismGoerli.d.ts +452 -188
  273. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  274. package/_types/chains/definitions/optimismSepolia.d.ts +452 -188
  275. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  276. package/_types/chains/definitions/pgn.d.ts +451 -187
  277. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  278. package/_types/chains/definitions/pgnTestnet.d.ts +451 -187
  279. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  280. package/_types/chains/definitions/plumeTestnet.d.ts +37 -0
  281. package/_types/chains/definitions/plumeTestnet.d.ts.map +1 -0
  282. package/_types/chains/definitions/rss3.d.ts +1080 -0
  283. package/_types/chains/definitions/rss3.d.ts.map +1 -0
  284. package/_types/chains/definitions/rss3Sepolia.d.ts +1080 -0
  285. package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -0
  286. package/_types/chains/definitions/zkSync.d.ts +692 -32
  287. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  288. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +692 -32
  289. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  290. package/_types/chains/definitions/zkSyncTestnet.d.ts +692 -32
  291. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  292. package/_types/chains/definitions/zora.d.ts +452 -188
  293. package/_types/chains/definitions/zora.d.ts.map +1 -1
  294. package/_types/chains/definitions/zoraSepolia.d.ts +452 -188
  295. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  296. package/_types/chains/definitions/zoraTestnet.d.ts +452 -188
  297. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  298. package/_types/chains/index.d.ts +4 -1
  299. package/_types/chains/index.d.ts.map +1 -1
  300. package/_types/chains/opStack/actions/estimateL1Fee.d.ts.map +1 -1
  301. package/_types/chains/opStack/actions/estimateL1Gas.d.ts.map +1 -1
  302. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -1
  303. package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -1
  304. package/_types/chains/opStack/chainConfig.d.ts +452 -188
  305. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  306. package/_types/chains/opStack/formatters.d.ts +451 -187
  307. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  308. package/_types/chains/opStack/serializers.d.ts +4 -3
  309. package/_types/chains/opStack/serializers.d.ts.map +1 -1
  310. package/_types/chains/opStack/types/transaction.d.ts +4 -8
  311. package/_types/chains/opStack/types/transaction.d.ts.map +1 -1
  312. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -1
  313. package/_types/chains/zksync/chainConfig.d.ts +692 -32
  314. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  315. package/_types/chains/zksync/formatters.d.ts +692 -32
  316. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  317. package/_types/chains/zksync/serializers.d.ts +3 -3
  318. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  319. package/_types/chains/zksync/types/chain.d.ts +2 -2
  320. package/_types/chains/zksync/types/chain.d.ts.map +1 -1
  321. package/_types/chains/zksync/types/eip712.d.ts +2 -2
  322. package/_types/chains/zksync/types/eip712.d.ts.map +1 -1
  323. package/_types/clients/decorators/public.d.ts +2 -2
  324. package/_types/clients/decorators/public.d.ts.map +1 -1
  325. package/_types/clients/decorators/wallet.d.ts +4 -4
  326. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  327. package/_types/constants/blob.d.ts +11 -0
  328. package/_types/constants/blob.d.ts.map +1 -0
  329. package/_types/constants/kzg.d.ts +6 -0
  330. package/_types/constants/kzg.d.ts.map +1 -0
  331. package/_types/errors/blob.d.ts +40 -0
  332. package/_types/errors/blob.d.ts.map +1 -0
  333. package/_types/errors/transaction.d.ts.map +1 -1
  334. package/_types/errors/version.d.ts +1 -1
  335. package/_types/errors/version.d.ts.map +1 -1
  336. package/_types/index.d.ts +11 -0
  337. package/_types/index.d.ts.map +1 -1
  338. package/_types/node/index.d.ts +1 -0
  339. package/_types/node/index.d.ts.map +1 -1
  340. package/_types/node/trustedSetups.d.ts +3 -0
  341. package/_types/node/trustedSetups.d.ts.map +1 -0
  342. package/_types/types/account.d.ts +3 -3
  343. package/_types/types/account.d.ts.map +1 -1
  344. package/_types/types/chain.d.ts +2 -2
  345. package/_types/types/chain.d.ts.map +1 -1
  346. package/_types/types/eip1193.d.ts +3 -3
  347. package/_types/types/eip1193.d.ts.map +1 -1
  348. package/_types/types/eip4844.d.ts +11 -0
  349. package/_types/types/eip4844.d.ts.map +1 -0
  350. package/_types/types/fee.d.ts +2 -2
  351. package/_types/types/fee.d.ts.map +1 -1
  352. package/_types/types/kzg.d.ts +24 -0
  353. package/_types/types/kzg.d.ts.map +1 -0
  354. package/_types/types/misc.d.ts +15 -1
  355. package/_types/types/misc.d.ts.map +1 -1
  356. package/_types/types/rpc.d.ts +4 -4
  357. package/_types/types/rpc.d.ts.map +1 -1
  358. package/_types/types/transaction.d.ts +44 -9
  359. package/_types/types/transaction.d.ts.map +1 -1
  360. package/_types/types/utils.d.ts +38 -2
  361. package/_types/types/utils.d.ts.map +1 -1
  362. package/_types/utils/blob/blobsToCommitments.d.ts +31 -0
  363. package/_types/utils/blob/blobsToCommitments.d.ts.map +1 -0
  364. package/_types/utils/blob/blobsToProofs.d.ts +37 -0
  365. package/_types/utils/blob/blobsToProofs.d.ts.map +1 -0
  366. package/_types/utils/blob/commitmentToVersionedHash.d.ts +35 -0
  367. package/_types/utils/blob/commitmentToVersionedHash.d.ts.map +1 -0
  368. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts +34 -0
  369. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts.map +1 -0
  370. package/_types/utils/blob/fromBlobs.d.ts +16 -0
  371. package/_types/utils/blob/fromBlobs.d.ts.map +1 -0
  372. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts +29 -0
  373. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts.map +1 -0
  374. package/_types/utils/blob/toBlobSidecars.d.ts +57 -0
  375. package/_types/utils/blob/toBlobSidecars.d.ts.map +1 -0
  376. package/_types/utils/blob/toBlobs.d.ts +28 -0
  377. package/_types/utils/blob/toBlobs.d.ts.map +1 -0
  378. package/_types/utils/encoding/toRlp.d.ts +1 -1
  379. package/_types/utils/encoding/toRlp.d.ts.map +1 -1
  380. package/_types/utils/formatters/transaction.d.ts +25 -25
  381. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  382. package/_types/utils/formatters/transactionRequest.d.ts +227 -3
  383. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  384. package/_types/utils/kzg/defineKzg.d.ts +21 -0
  385. package/_types/utils/kzg/defineKzg.d.ts.map +1 -0
  386. package/_types/utils/kzg/setupKzg.d.ts +21 -0
  387. package/_types/utils/kzg/setupKzg.d.ts.map +1 -0
  388. package/_types/utils/signature/hexToSignature.d.ts.map +1 -1
  389. package/_types/utils/signature/signatureToCompactSignature.d.ts +1 -1
  390. package/_types/utils/signature/signatureToHex.d.ts +2 -2
  391. package/_types/utils/signature/signatureToHex.d.ts.map +1 -1
  392. package/_types/utils/transaction/assertTransaction.d.ts +4 -1
  393. package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
  394. package/_types/utils/transaction/getSerializedTransactionType.d.ts +5 -3
  395. package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
  396. package/_types/utils/transaction/getTransactionType.d.ts +34 -3
  397. package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
  398. package/_types/utils/transaction/parseTransaction.d.ts +7 -5
  399. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  400. package/_types/utils/transaction/serializeTransaction.d.ts +13 -6
  401. package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
  402. package/accounts/types.ts +9 -5
  403. package/accounts/utils/sign.ts +1 -0
  404. package/accounts/utils/signTransaction.ts +37 -22
  405. package/actions/index.ts +5 -0
  406. package/actions/public/call.ts +4 -0
  407. package/actions/public/estimateGas.ts +4 -0
  408. package/actions/public/getBlobBaseFee.ts +42 -0
  409. package/actions/public/watchBlockNumber.ts +33 -23
  410. package/actions/wallet/prepareTransactionRequest.ts +134 -61
  411. package/actions/wallet/sendRawTransaction.ts +3 -5
  412. package/actions/wallet/sendTransaction.ts +41 -31
  413. package/actions/wallet/signTransaction.ts +34 -18
  414. package/chains/celo/serializers.ts +12 -25
  415. package/chains/celo/types.ts +5 -10
  416. package/chains/definitions/plumeTestnet.ts +28 -0
  417. package/chains/definitions/rss3.ts +47 -0
  418. package/chains/definitions/rss3Sepolia.ts +48 -0
  419. package/chains/index.ts +3 -1
  420. package/chains/opStack/actions/estimateL1Fee.ts +12 -16
  421. package/chains/opStack/actions/estimateL1Gas.ts +12 -16
  422. package/chains/opStack/actions/finalizeWithdrawal.ts +3 -2
  423. package/chains/opStack/actions/proveWithdrawal.ts +3 -2
  424. package/chains/opStack/serializers.ts +5 -5
  425. package/chains/opStack/types/transaction.ts +9 -11
  426. package/chains/zksync/actions/sendTransaction.ts +2 -1
  427. package/chains/zksync/actions/signEip712Transaction.ts +2 -2
  428. package/chains/zksync/serializers.ts +14 -10
  429. package/chains/zksync/types/chain.ts +4 -7
  430. package/chains/zksync/types/eip712.ts +2 -2
  431. package/clients/decorators/public.ts +8 -4
  432. package/clients/decorators/wallet.ts +14 -6
  433. package/constants/blob.ts +21 -0
  434. package/constants/kzg.ts +9 -0
  435. package/errors/blob.ts +67 -0
  436. package/errors/transaction.ts +1 -0
  437. package/errors/version.ts +1 -1
  438. package/index.ts +64 -0
  439. package/node/index.ts +2 -0
  440. package/node/trustedSetups.ts +11 -0
  441. package/package.json +1 -1
  442. package/trusted-setups/mainnet.json +8265 -0
  443. package/trusted-setups/minimal.json +8265 -0
  444. package/types/account.ts +3 -3
  445. package/types/chain.ts +3 -1
  446. package/types/eip1193.ts +3 -3
  447. package/types/eip4844.ts +12 -0
  448. package/types/fee.ts +3 -2
  449. package/types/kzg.ts +32 -0
  450. package/types/misc.ts +20 -1
  451. package/types/rpc.ts +11 -6
  452. package/types/transaction.ts +75 -17
  453. package/types/utils.ts +49 -1
  454. package/utils/blob/blobsToCommitments.ts +69 -0
  455. package/utils/blob/blobsToProofs.ts +93 -0
  456. package/utils/blob/commitmentToVersionedHash.ts +62 -0
  457. package/utils/blob/commitmentsToVersionedHashes.ts +71 -0
  458. package/utils/blob/fromBlobs.ts +73 -0
  459. package/utils/blob/sidecarsToVersionedHashes.ts +66 -0
  460. package/utils/blob/toBlobSidecars.ts +109 -0
  461. package/utils/blob/toBlobs.ts +113 -0
  462. package/utils/encoding/toRlp.ts +2 -2
  463. package/utils/formatters/transaction.ts +3 -2
  464. package/utils/formatters/transactionRequest.ts +28 -35
  465. package/utils/kzg/defineKzg.ts +30 -0
  466. package/utils/kzg/setupKzg.ts +38 -0
  467. package/utils/signature/compactSignatureToSignature.ts +3 -3
  468. package/utils/signature/hexToSignature.ts +6 -1
  469. package/utils/signature/signatureToCompactSignature.ts +4 -4
  470. package/utils/signature/signatureToHex.ts +9 -4
  471. package/utils/transaction/assertTransaction.ts +41 -0
  472. package/utils/transaction/getSerializedTransactionType.ts +34 -11
  473. package/utils/transaction/getTransactionType.ts +109 -26
  474. package/utils/transaction/parseTransaction.ts +128 -8
  475. package/utils/transaction/serializeAccessList.ts +1 -1
  476. package/utils/transaction/serializeTransaction.ts +172 -39
@@ -3,29 +3,56 @@ import {
3
3
  type InvalidLegacyVErrorType,
4
4
  } from '../../errors/transaction.js'
5
5
  import type { ErrorType } from '../../errors/utils.js'
6
- import type { Signature } from '../../types/misc.js'
6
+ import type {
7
+ ByteArray,
8
+ Hex,
9
+ Signature,
10
+ SignatureLegacy,
11
+ } from '../../types/misc.js'
7
12
  import type {
8
13
  TransactionSerializable,
9
14
  TransactionSerializableEIP1559,
10
15
  TransactionSerializableEIP2930,
16
+ TransactionSerializableEIP4844,
17
+ TransactionSerializableGeneric,
11
18
  TransactionSerializableLegacy,
12
19
  TransactionSerialized,
13
20
  TransactionSerializedEIP1559,
14
21
  TransactionSerializedEIP2930,
22
+ TransactionSerializedEIP4844,
15
23
  TransactionSerializedLegacy,
16
24
  TransactionType,
17
25
  } from '../../types/transaction.js'
26
+ import type { OneOf } from '../../types/utils.js'
27
+ import {
28
+ type BlobsToCommitmentsErrorType,
29
+ blobsToCommitments,
30
+ } from '../blob/blobsToCommitments.js'
31
+ import {
32
+ blobsToProofs,
33
+ type blobsToProofsErrorType,
34
+ } from '../blob/blobsToProofs.js'
35
+ import {
36
+ type CommitmentsToVersionedHashesErrorType,
37
+ commitmentsToVersionedHashes,
38
+ } from '../blob/commitmentsToVersionedHashes.js'
39
+ import {
40
+ type ToBlobSidecarsErrorType,
41
+ toBlobSidecars,
42
+ } from '../blob/toBlobSidecars.js'
18
43
  import { type ConcatHexErrorType, concatHex } from '../data/concat.js'
19
44
  import { trim } from '../data/trim.js'
20
- import { type ToHexErrorType, toHex } from '../encoding/toHex.js'
45
+ import { type ToHexErrorType, bytesToHex, toHex } from '../encoding/toHex.js'
21
46
  import { type ToRlpErrorType, toRlp } from '../encoding/toRlp.js'
22
47
 
23
48
  import {
24
49
  type AssertTransactionEIP1559ErrorType,
25
50
  type AssertTransactionEIP2930ErrorType,
51
+ type AssertTransactionEIP4844ErrorType,
26
52
  type AssertTransactionLegacyErrorType,
27
53
  assertTransactionEIP1559,
28
54
  assertTransactionEIP2930,
55
+ assertTransactionEIP4844,
29
56
  assertTransactionLegacy,
30
57
  } from './assertTransaction.js'
31
58
  import {
@@ -39,48 +66,153 @@ import {
39
66
  } from './serializeAccessList.js'
40
67
 
41
68
  export type SerializedTransactionReturnType<
42
- TTransactionSerializable extends
43
- TransactionSerializable = TransactionSerializable,
44
- TTransactionType extends
45
- TransactionType = GetTransactionType<TTransactionSerializable>,
46
- > = TransactionSerialized<TTransactionType>
69
+ transaction extends TransactionSerializable = TransactionSerializable,
70
+ ///
71
+ _transactionType extends TransactionType = GetTransactionType<transaction>,
72
+ > = TransactionSerialized<_transactionType>
47
73
 
48
74
  export type SerializeTransactionFn<
49
- TTransactionSerializable extends
50
- TransactionSerializable = TransactionSerializable,
51
- > = typeof serializeTransaction<TTransactionSerializable>
75
+ transaction extends TransactionSerializableGeneric = TransactionSerializable,
76
+ ///
77
+ _transactionType extends TransactionType = never,
78
+ > = typeof serializeTransaction<
79
+ OneOf<TransactionSerializable | transaction>,
80
+ _transactionType
81
+ >
52
82
 
53
83
  export type SerializeTransactionErrorType =
54
84
  | GetTransationTypeErrorType
55
85
  | SerializeTransactionEIP1559ErrorType
56
86
  | SerializeTransactionEIP2930ErrorType
87
+ | SerializeTransactionEIP4844ErrorType
57
88
  | SerializeTransactionLegacyErrorType
58
89
  | ErrorType
59
90
 
60
91
  export function serializeTransaction<
61
- TTransactionSerializable extends TransactionSerializable,
92
+ const transaction extends TransactionSerializable,
93
+ ///
94
+ _transactionType extends TransactionType = GetTransactionType<transaction>,
62
95
  >(
63
- transaction: TTransactionSerializable,
96
+ transaction: transaction,
64
97
  signature?: Signature,
65
- ): SerializedTransactionReturnType<TTransactionSerializable> {
98
+ ): SerializedTransactionReturnType<transaction, _transactionType> {
66
99
  const type = getTransactionType(transaction) as GetTransactionType
67
100
 
68
101
  if (type === 'eip1559')
69
102
  return serializeTransactionEIP1559(
70
103
  transaction as TransactionSerializableEIP1559,
71
104
  signature,
72
- ) as SerializedTransactionReturnType<TTransactionSerializable>
105
+ ) as SerializedTransactionReturnType<transaction>
73
106
 
74
107
  if (type === 'eip2930')
75
108
  return serializeTransactionEIP2930(
76
109
  transaction as TransactionSerializableEIP2930,
77
110
  signature,
78
- ) as SerializedTransactionReturnType<TTransactionSerializable>
111
+ ) as SerializedTransactionReturnType<transaction>
112
+
113
+ if (type === 'eip4844')
114
+ return serializeTransactionEIP4844(
115
+ transaction as TransactionSerializableEIP4844,
116
+ signature,
117
+ ) as SerializedTransactionReturnType<transaction>
79
118
 
80
119
  return serializeTransactionLegacy(
81
120
  transaction as TransactionSerializableLegacy,
82
- signature,
83
- ) as SerializedTransactionReturnType<TTransactionSerializable>
121
+ signature as SignatureLegacy,
122
+ ) as SerializedTransactionReturnType<transaction>
123
+ }
124
+
125
+ type SerializeTransactionEIP4844ErrorType =
126
+ | AssertTransactionEIP4844ErrorType
127
+ | BlobsToCommitmentsErrorType
128
+ | CommitmentsToVersionedHashesErrorType
129
+ | blobsToProofsErrorType
130
+ | ToBlobSidecarsErrorType
131
+ | ConcatHexErrorType
132
+ | InvalidLegacyVErrorType
133
+ | ToHexErrorType
134
+ | ToRlpErrorType
135
+ | SerializeAccessListErrorType
136
+ | ErrorType
137
+
138
+ function serializeTransactionEIP4844(
139
+ transaction: TransactionSerializableEIP4844,
140
+ signature?: Signature,
141
+ ): TransactionSerializedEIP4844 {
142
+ const {
143
+ chainId,
144
+ gas,
145
+ nonce,
146
+ to,
147
+ value,
148
+ maxFeePerBlobGas,
149
+ maxFeePerGas,
150
+ maxPriorityFeePerGas,
151
+ accessList,
152
+ data,
153
+ } = transaction
154
+
155
+ assertTransactionEIP4844(transaction)
156
+
157
+ let blobVersionedHashes = transaction.blobVersionedHashes
158
+ let sidecars = transaction.sidecars
159
+ // If `blobs` are passed, we will need to compute the KZG commitments & proofs.
160
+ if (transaction.blobs) {
161
+ const blobs = (
162
+ typeof transaction.blobs[0] === 'string'
163
+ ? transaction.blobs
164
+ : (transaction.blobs as ByteArray[]).map((x) => bytesToHex(x))
165
+ ) as Hex[]
166
+ const kzg = transaction.kzg!
167
+ const commitments = blobsToCommitments({
168
+ blobs,
169
+ kzg,
170
+ })
171
+ const proofs = blobsToProofs({ blobs, commitments, kzg })
172
+ blobVersionedHashes = commitmentsToVersionedHashes({
173
+ commitments,
174
+ })
175
+
176
+ if (sidecars !== false)
177
+ sidecars = toBlobSidecars({ blobs, commitments, proofs })
178
+ }
179
+
180
+ const serializedAccessList = serializeAccessList(accessList)
181
+
182
+ const serializedTransaction = [
183
+ toHex(chainId),
184
+ nonce ? toHex(nonce) : '0x',
185
+ maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',
186
+ maxFeePerGas ? toHex(maxFeePerGas) : '0x',
187
+ gas ? toHex(gas) : '0x',
188
+ to ?? '0x',
189
+ value ? toHex(value) : '0x',
190
+ data ?? '0x',
191
+ serializedAccessList,
192
+ maxFeePerBlobGas ? toHex(maxFeePerBlobGas) : '0x',
193
+ blobVersionedHashes ?? [],
194
+ ...toYParitySignatureArray(transaction, signature),
195
+ ] as const
196
+
197
+ const blobs: Hex[] = []
198
+ const commitments: Hex[] = []
199
+ const proofs: Hex[] = []
200
+ if (sidecars)
201
+ for (let i = 0; i < sidecars.length; i++) {
202
+ const { blob, commitment, proof } = sidecars[i]
203
+ blobs.push(blob)
204
+ commitments.push(commitment)
205
+ proofs.push(proof)
206
+ }
207
+
208
+ return concatHex([
209
+ '0x03',
210
+ sidecars
211
+ ? // If sidecars are enabled, envelope turns into a "wrapper":
212
+ toRlp([serializedTransaction, blobs, commitments, proofs])
213
+ : // If sidecars are disabled, standard envelope is used:
214
+ toRlp(serializedTransaction),
215
+ ]) as TransactionSerializedEIP4844
84
216
  }
85
217
 
86
218
  type SerializeTransactionEIP1559ErrorType =
@@ -122,18 +254,9 @@ function serializeTransactionEIP1559(
122
254
  value ? toHex(value) : '0x',
123
255
  data ?? '0x',
124
256
  serializedAccessList,
257
+ ...toYParitySignatureArray(transaction, signature),
125
258
  ]
126
259
 
127
- if (signature) {
128
- const yParity = (() => {
129
- if (signature.v === 0n) return '0x'
130
- if (signature.v === 1n) return toHex(1)
131
-
132
- return signature.v === 27n ? '0x' : toHex(1)
133
- })()
134
- serializedTransaction.push(yParity, trim(signature.r), trim(signature.s))
135
- }
136
-
137
260
  return concatHex([
138
261
  '0x02',
139
262
  toRlp(serializedTransaction),
@@ -169,18 +292,9 @@ function serializeTransactionEIP2930(
169
292
  value ? toHex(value) : '0x',
170
293
  data ?? '0x',
171
294
  serializedAccessList,
295
+ ...toYParitySignatureArray(transaction, signature),
172
296
  ]
173
297
 
174
- if (signature) {
175
- const yParity = (() => {
176
- if (signature.v === 0n) return '0x'
177
- if (signature.v === 1n) return toHex(1)
178
-
179
- return signature.v === 27n ? '0x' : toHex(1)
180
- })()
181
- serializedTransaction.push(yParity, trim(signature.r), trim(signature.s))
182
- }
183
-
184
298
  return concatHex([
185
299
  '0x01',
186
300
  toRlp(serializedTransaction),
@@ -196,7 +310,7 @@ type SerializeTransactionLegacyErrorType =
196
310
 
197
311
  function serializeTransactionLegacy(
198
312
  transaction: TransactionSerializableLegacy,
199
- signature?: Signature,
313
+ signature?: SignatureLegacy,
200
314
  ): TransactionSerializedLegacy {
201
315
  const { chainId = 0, gas, data, nonce, to, value, gasPrice } = transaction
202
316
 
@@ -245,5 +359,24 @@ function serializeTransactionLegacy(
245
359
  ]
246
360
  }
247
361
 
248
- return toRlp(serializedTransaction)
362
+ return toRlp(serializedTransaction) as TransactionSerializedLegacy
363
+ }
364
+
365
+ export function toYParitySignatureArray(
366
+ transaction: TransactionSerializableGeneric,
367
+ signature?: Signature,
368
+ ) {
369
+ const { r, s, v, yParity } = signature ?? transaction
370
+ if (typeof r === 'undefined') return []
371
+ if (typeof s === 'undefined') return []
372
+ if (typeof v === 'undefined' && typeof yParity === 'undefined') return []
373
+
374
+ const yParity_ = (() => {
375
+ if (typeof yParity === 'number') return yParity ? toHex(1) : '0x'
376
+ if (v === 0n) return '0x'
377
+ if (v === 1n) return toHex(1)
378
+
379
+ return v === 27n ? '0x' : toHex(1)
380
+ })()
381
+ return [yParity_, trim(r), trim(s)]
249
382
  }