viem 2.7.22 → 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 (456) hide show
  1. package/CHANGELOG.md +10 -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/wallet/prepareTransactionRequest.js +11 -2
  15. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  16. package/_cjs/actions/wallet/sendRawTransaction.js.map +1 -1
  17. package/_cjs/actions/wallet/sendTransaction.js +7 -8
  18. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  19. package/_cjs/actions/wallet/signTransaction.js +7 -6
  20. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  21. package/_cjs/chains/celo/serializers.js +10 -15
  22. package/_cjs/chains/celo/serializers.js.map +1 -1
  23. package/_cjs/chains/definitions/plumeTestnet.js +30 -0
  24. package/_cjs/chains/definitions/plumeTestnet.js.map +1 -0
  25. package/_cjs/chains/index.js +5 -3
  26. package/_cjs/chains/index.js.map +1 -1
  27. package/_cjs/chains/opStack/actions/estimateL1Fee.js +1 -10
  28. package/_cjs/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  29. package/_cjs/chains/opStack/actions/estimateL1Gas.js +1 -10
  30. package/_cjs/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  31. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  32. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  33. package/_cjs/chains/opStack/actions/proveWithdrawal.js +1 -1
  34. package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  35. package/_cjs/chains/opStack/serializers.js +3 -3
  36. package/_cjs/chains/opStack/serializers.js.map +1 -1
  37. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -1
  38. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  39. package/_cjs/chains/zksync/serializers.js +6 -6
  40. package/_cjs/chains/zksync/serializers.js.map +1 -1
  41. package/_cjs/clients/decorators/public.js.map +1 -1
  42. package/_cjs/clients/decorators/wallet.js.map +1 -1
  43. package/_cjs/constants/blob.js +11 -0
  44. package/_cjs/constants/blob.js.map +1 -0
  45. package/_cjs/constants/kzg.js +7 -0
  46. package/_cjs/constants/kzg.js.map +1 -0
  47. package/_cjs/errors/blob.js +63 -0
  48. package/_cjs/errors/blob.js.map +1 -0
  49. package/_cjs/errors/transaction.js +1 -0
  50. package/_cjs/errors/transaction.js.map +1 -1
  51. package/_cjs/errors/version.js +1 -1
  52. package/_cjs/errors/version.js.map +1 -1
  53. package/_cjs/index.js +22 -2
  54. package/_cjs/index.js.map +1 -1
  55. package/_cjs/node/index.js +3 -1
  56. package/_cjs/node/index.js.map +1 -1
  57. package/_cjs/node/trustedSetups.js +7 -0
  58. package/_cjs/node/trustedSetups.js.map +1 -0
  59. package/_cjs/types/eip4844.js +3 -0
  60. package/_cjs/types/eip4844.js.map +1 -0
  61. package/_cjs/types/kzg.js +3 -0
  62. package/_cjs/types/kzg.js.map +1 -0
  63. package/_cjs/utils/blob/blobsToCommitments.js +20 -0
  64. package/_cjs/utils/blob/blobsToCommitments.js.map +1 -0
  65. package/_cjs/utils/blob/blobsToProofs.js +26 -0
  66. package/_cjs/utils/blob/blobsToProofs.js.map +1 -0
  67. package/_cjs/utils/blob/commitmentToVersionedHash.js +14 -0
  68. package/_cjs/utils/blob/commitmentToVersionedHash.js.map +1 -0
  69. package/_cjs/utils/blob/commitmentsToVersionedHashes.js +19 -0
  70. package/_cjs/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  71. package/_cjs/utils/blob/fromBlobs.js +36 -0
  72. package/_cjs/utils/blob/fromBlobs.js.map +1 -0
  73. package/_cjs/utils/blob/sidecarsToVersionedHashes.js +19 -0
  74. package/_cjs/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  75. package/_cjs/utils/blob/toBlobSidecars.js +22 -0
  76. package/_cjs/utils/blob/toBlobSidecars.js.map +1 -0
  77. package/_cjs/utils/blob/toBlobs.js +48 -0
  78. package/_cjs/utils/blob/toBlobs.js.map +1 -0
  79. package/_cjs/utils/encoding/toRlp.js.map +1 -1
  80. package/_cjs/utils/formatters/transaction.js.map +1 -1
  81. package/_cjs/utils/formatters/transactionRequest.js +22 -25
  82. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  83. package/_cjs/utils/kzg/defineKzg.js +11 -0
  84. package/_cjs/utils/kzg/defineKzg.js.map +1 -0
  85. package/_cjs/utils/kzg/setupKzg.js +17 -0
  86. package/_cjs/utils/kzg/setupKzg.js.map +1 -0
  87. package/_cjs/utils/signature/compactSignatureToSignature.js +3 -3
  88. package/_cjs/utils/signature/compactSignatureToSignature.js.map +1 -1
  89. package/_cjs/utils/signature/hexToSignature.js +6 -1
  90. package/_cjs/utils/signature/hexToSignature.js.map +1 -1
  91. package/_cjs/utils/signature/signatureToCompactSignature.js +3 -3
  92. package/_cjs/utils/signature/signatureToCompactSignature.js.map +1 -1
  93. package/_cjs/utils/signature/signatureToHex.js +9 -3
  94. package/_cjs/utils/signature/signatureToHex.js.map +1 -1
  95. package/_cjs/utils/transaction/assertTransaction.js +26 -1
  96. package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
  97. package/_cjs/utils/transaction/getSerializedTransactionType.js +2 -0
  98. package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  99. package/_cjs/utils/transaction/getTransactionType.js +7 -1
  100. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  101. package/_cjs/utils/transaction/parseTransaction.js +73 -0
  102. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  103. package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
  104. package/_cjs/utils/transaction/serializeTransaction.js +84 -21
  105. package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
  106. package/_esm/accounts/utils/sign.js +1 -0
  107. package/_esm/accounts/utils/sign.js.map +1 -1
  108. package/_esm/accounts/utils/signTransaction.js +13 -2
  109. package/_esm/accounts/utils/signTransaction.js.map +1 -1
  110. package/_esm/actions/index.js +1 -0
  111. package/_esm/actions/index.js.map +1 -1
  112. package/_esm/actions/public/call.js +3 -1
  113. package/_esm/actions/public/call.js.map +1 -1
  114. package/_esm/actions/public/estimateGas.js +3 -1
  115. package/_esm/actions/public/estimateGas.js.map +1 -1
  116. package/_esm/actions/public/getBlobBaseFee.js +27 -0
  117. package/_esm/actions/public/getBlobBaseFee.js.map +1 -0
  118. package/_esm/actions/wallet/prepareTransactionRequest.js +12 -2
  119. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  120. package/_esm/actions/wallet/sendRawTransaction.js.map +1 -1
  121. package/_esm/actions/wallet/sendTransaction.js +7 -8
  122. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  123. package/_esm/actions/wallet/signTransaction.js +6 -5
  124. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  125. package/_esm/chains/celo/serializers.js +10 -17
  126. package/_esm/chains/celo/serializers.js.map +1 -1
  127. package/_esm/chains/definitions/plumeTestnet.js +27 -0
  128. package/_esm/chains/definitions/plumeTestnet.js.map +1 -0
  129. package/_esm/chains/index.js +1 -0
  130. package/_esm/chains/index.js.map +1 -1
  131. package/_esm/chains/opStack/actions/estimateL1Fee.js +1 -10
  132. package/_esm/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  133. package/_esm/chains/opStack/actions/estimateL1Gas.js +1 -10
  134. package/_esm/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  135. package/_esm/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  136. package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  137. package/_esm/chains/opStack/actions/proveWithdrawal.js +1 -1
  138. package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  139. package/_esm/chains/opStack/serializers.js +2 -2
  140. package/_esm/chains/opStack/serializers.js.map +1 -1
  141. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -1
  142. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  143. package/_esm/chains/zksync/serializers.js +6 -6
  144. package/_esm/chains/zksync/serializers.js.map +1 -1
  145. package/_esm/clients/decorators/public.js.map +1 -1
  146. package/_esm/clients/decorators/wallet.js.map +1 -1
  147. package/_esm/constants/blob.js +16 -0
  148. package/_esm/constants/blob.js.map +1 -0
  149. package/_esm/constants/kzg.js +7 -0
  150. package/_esm/constants/kzg.js.map +1 -0
  151. package/_esm/errors/blob.js +56 -0
  152. package/_esm/errors/blob.js.map +1 -0
  153. package/_esm/errors/transaction.js +1 -0
  154. package/_esm/errors/transaction.js.map +1 -1
  155. package/_esm/errors/version.js +1 -1
  156. package/_esm/errors/version.js.map +1 -1
  157. package/_esm/index.js +10 -0
  158. package/_esm/index.js.map +1 -1
  159. package/_esm/node/index.js +1 -0
  160. package/_esm/node/index.js.map +1 -1
  161. package/_esm/node/trustedSetups.js +4 -0
  162. package/_esm/node/trustedSetups.js.map +1 -0
  163. package/_esm/types/eip4844.js +2 -0
  164. package/_esm/types/eip4844.js.map +1 -0
  165. package/_esm/types/kzg.js +2 -0
  166. package/_esm/types/kzg.js.map +1 -0
  167. package/_esm/utils/blob/blobsToCommitments.js +28 -0
  168. package/_esm/utils/blob/blobsToCommitments.js.map +1 -0
  169. package/_esm/utils/blob/blobsToProofs.js +38 -0
  170. package/_esm/utils/blob/blobsToProofs.js.map +1 -0
  171. package/_esm/utils/blob/commitmentToVersionedHash.js +27 -0
  172. package/_esm/utils/blob/commitmentToVersionedHash.js.map +1 -0
  173. package/_esm/utils/blob/commitmentsToVersionedHashes.js +32 -0
  174. package/_esm/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  175. package/_esm/utils/blob/fromBlobs.js +33 -0
  176. package/_esm/utils/blob/fromBlobs.js.map +1 -0
  177. package/_esm/utils/blob/sidecarsToVersionedHashes.js +26 -0
  178. package/_esm/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  179. package/_esm/utils/blob/toBlobSidecars.js +45 -0
  180. package/_esm/utils/blob/toBlobSidecars.js.map +1 -0
  181. package/_esm/utils/blob/toBlobs.js +58 -0
  182. package/_esm/utils/blob/toBlobs.js.map +1 -0
  183. package/_esm/utils/encoding/toRlp.js.map +1 -1
  184. package/_esm/utils/formatters/transaction.js.map +1 -1
  185. package/_esm/utils/formatters/transactionRequest.js +23 -26
  186. package/_esm/utils/formatters/transactionRequest.js.map +1 -1
  187. package/_esm/utils/kzg/defineKzg.js +21 -0
  188. package/_esm/utils/kzg/defineKzg.js.map +1 -0
  189. package/_esm/utils/kzg/setupKzg.js +25 -0
  190. package/_esm/utils/kzg/setupKzg.js.map +1 -0
  191. package/_esm/utils/signature/compactSignatureToSignature.js +3 -3
  192. package/_esm/utils/signature/compactSignatureToSignature.js.map +1 -1
  193. package/_esm/utils/signature/hexToSignature.js +6 -1
  194. package/_esm/utils/signature/hexToSignature.js.map +1 -1
  195. package/_esm/utils/signature/signatureToCompactSignature.js +4 -4
  196. package/_esm/utils/signature/signatureToCompactSignature.js.map +1 -1
  197. package/_esm/utils/signature/signatureToHex.js +11 -4
  198. package/_esm/utils/signature/signatureToHex.js.map +1 -1
  199. package/_esm/utils/transaction/assertTransaction.js +24 -0
  200. package/_esm/utils/transaction/assertTransaction.js.map +1 -1
  201. package/_esm/utils/transaction/getSerializedTransactionType.js +2 -0
  202. package/_esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
  203. package/_esm/utils/transaction/getTransactionType.js +7 -1
  204. package/_esm/utils/transaction/getTransactionType.js.map +1 -1
  205. package/_esm/utils/transaction/parseTransaction.js +74 -1
  206. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  207. package/_esm/utils/transaction/serializeAccessList.js.map +1 -1
  208. package/_esm/utils/transaction/serializeTransaction.js +85 -22
  209. package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
  210. package/_types/accounts/types.d.ts +3 -3
  211. package/_types/accounts/types.d.ts.map +1 -1
  212. package/_types/accounts/utils/sign.d.ts.map +1 -1
  213. package/_types/accounts/utils/signTransaction.d.ts +5 -5
  214. package/_types/accounts/utils/signTransaction.d.ts.map +1 -1
  215. package/_types/actions/index.d.ts +1 -0
  216. package/_types/actions/index.d.ts.map +1 -1
  217. package/_types/actions/public/call.d.ts.map +1 -1
  218. package/_types/actions/public/estimateGas.d.ts.map +1 -1
  219. package/_types/actions/public/getBlobBaseFee.d.ts +30 -0
  220. package/_types/actions/public/getBlobBaseFee.d.ts.map +1 -0
  221. package/_types/actions/wallet/prepareTransactionRequest.d.ts +27 -8
  222. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  223. package/_types/actions/wallet/sendRawTransaction.d.ts +3 -5
  224. package/_types/actions/wallet/sendRawTransaction.d.ts.map +1 -1
  225. package/_types/actions/wallet/sendTransaction.d.ts +4 -2
  226. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  227. package/_types/actions/wallet/signTransaction.d.ts +5 -2
  228. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  229. package/_types/chains/celo/chainConfig.d.ts +1282 -376
  230. package/_types/chains/celo/chainConfig.d.ts.map +1 -1
  231. package/_types/chains/celo/formatters.d.ts +1282 -376
  232. package/_types/chains/celo/formatters.d.ts.map +1 -1
  233. package/_types/chains/celo/serializers.d.ts +3 -4
  234. package/_types/chains/celo/serializers.d.ts.map +1 -1
  235. package/_types/chains/celo/types.d.ts +3 -8
  236. package/_types/chains/celo/types.d.ts.map +1 -1
  237. package/_types/chains/definitions/ancient8.d.ts +452 -188
  238. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  239. package/_types/chains/definitions/ancient8Sepolia.d.ts +452 -188
  240. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  241. package/_types/chains/definitions/base.d.ts +452 -188
  242. package/_types/chains/definitions/base.d.ts.map +1 -1
  243. package/_types/chains/definitions/baseGoerli.d.ts +452 -188
  244. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  245. package/_types/chains/definitions/baseSepolia.d.ts +452 -188
  246. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  247. package/_types/chains/definitions/celo.d.ts +1282 -376
  248. package/_types/chains/definitions/celo.d.ts.map +1 -1
  249. package/_types/chains/definitions/celoAlfajores.d.ts +1282 -376
  250. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  251. package/_types/chains/definitions/fraxtal.d.ts +452 -188
  252. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  253. package/_types/chains/definitions/fraxtalTestnet.d.ts +452 -188
  254. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  255. package/_types/chains/definitions/liskSepolia.d.ts +452 -188
  256. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  257. package/_types/chains/definitions/optimism.d.ts +452 -188
  258. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  259. package/_types/chains/definitions/optimismGoerli.d.ts +452 -188
  260. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  261. package/_types/chains/definitions/optimismSepolia.d.ts +452 -188
  262. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  263. package/_types/chains/definitions/pgn.d.ts +451 -187
  264. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  265. package/_types/chains/definitions/pgnTestnet.d.ts +451 -187
  266. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  267. package/_types/chains/definitions/plumeTestnet.d.ts +37 -0
  268. package/_types/chains/definitions/plumeTestnet.d.ts.map +1 -0
  269. package/_types/chains/definitions/zkSync.d.ts +692 -32
  270. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  271. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +692 -32
  272. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  273. package/_types/chains/definitions/zkSyncTestnet.d.ts +692 -32
  274. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  275. package/_types/chains/definitions/zora.d.ts +452 -188
  276. package/_types/chains/definitions/zora.d.ts.map +1 -1
  277. package/_types/chains/definitions/zoraSepolia.d.ts +452 -188
  278. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  279. package/_types/chains/definitions/zoraTestnet.d.ts +452 -188
  280. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  281. package/_types/chains/index.d.ts +2 -1
  282. package/_types/chains/index.d.ts.map +1 -1
  283. package/_types/chains/opStack/actions/estimateL1Fee.d.ts.map +1 -1
  284. package/_types/chains/opStack/actions/estimateL1Gas.d.ts.map +1 -1
  285. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -1
  286. package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -1
  287. package/_types/chains/opStack/chainConfig.d.ts +452 -188
  288. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  289. package/_types/chains/opStack/formatters.d.ts +451 -187
  290. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  291. package/_types/chains/opStack/serializers.d.ts +4 -3
  292. package/_types/chains/opStack/serializers.d.ts.map +1 -1
  293. package/_types/chains/opStack/types/transaction.d.ts +4 -8
  294. package/_types/chains/opStack/types/transaction.d.ts.map +1 -1
  295. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -1
  296. package/_types/chains/zksync/chainConfig.d.ts +692 -32
  297. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  298. package/_types/chains/zksync/formatters.d.ts +692 -32
  299. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  300. package/_types/chains/zksync/serializers.d.ts +3 -3
  301. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  302. package/_types/chains/zksync/types/chain.d.ts +2 -2
  303. package/_types/chains/zksync/types/chain.d.ts.map +1 -1
  304. package/_types/chains/zksync/types/eip712.d.ts +2 -2
  305. package/_types/chains/zksync/types/eip712.d.ts.map +1 -1
  306. package/_types/clients/decorators/public.d.ts +2 -2
  307. package/_types/clients/decorators/public.d.ts.map +1 -1
  308. package/_types/clients/decorators/wallet.d.ts +4 -4
  309. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  310. package/_types/constants/blob.d.ts +11 -0
  311. package/_types/constants/blob.d.ts.map +1 -0
  312. package/_types/constants/kzg.d.ts +6 -0
  313. package/_types/constants/kzg.d.ts.map +1 -0
  314. package/_types/errors/blob.d.ts +40 -0
  315. package/_types/errors/blob.d.ts.map +1 -0
  316. package/_types/errors/transaction.d.ts.map +1 -1
  317. package/_types/errors/version.d.ts +1 -1
  318. package/_types/errors/version.d.ts.map +1 -1
  319. package/_types/index.d.ts +11 -0
  320. package/_types/index.d.ts.map +1 -1
  321. package/_types/node/index.d.ts +1 -0
  322. package/_types/node/index.d.ts.map +1 -1
  323. package/_types/node/trustedSetups.d.ts +3 -0
  324. package/_types/node/trustedSetups.d.ts.map +1 -0
  325. package/_types/types/account.d.ts +3 -3
  326. package/_types/types/account.d.ts.map +1 -1
  327. package/_types/types/chain.d.ts +2 -2
  328. package/_types/types/chain.d.ts.map +1 -1
  329. package/_types/types/eip1193.d.ts +3 -3
  330. package/_types/types/eip1193.d.ts.map +1 -1
  331. package/_types/types/eip4844.d.ts +11 -0
  332. package/_types/types/eip4844.d.ts.map +1 -0
  333. package/_types/types/fee.d.ts +2 -2
  334. package/_types/types/fee.d.ts.map +1 -1
  335. package/_types/types/kzg.d.ts +24 -0
  336. package/_types/types/kzg.d.ts.map +1 -0
  337. package/_types/types/misc.d.ts +15 -1
  338. package/_types/types/misc.d.ts.map +1 -1
  339. package/_types/types/rpc.d.ts +4 -4
  340. package/_types/types/rpc.d.ts.map +1 -1
  341. package/_types/types/transaction.d.ts +44 -9
  342. package/_types/types/transaction.d.ts.map +1 -1
  343. package/_types/types/utils.d.ts +38 -2
  344. package/_types/types/utils.d.ts.map +1 -1
  345. package/_types/utils/blob/blobsToCommitments.d.ts +31 -0
  346. package/_types/utils/blob/blobsToCommitments.d.ts.map +1 -0
  347. package/_types/utils/blob/blobsToProofs.d.ts +37 -0
  348. package/_types/utils/blob/blobsToProofs.d.ts.map +1 -0
  349. package/_types/utils/blob/commitmentToVersionedHash.d.ts +35 -0
  350. package/_types/utils/blob/commitmentToVersionedHash.d.ts.map +1 -0
  351. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts +34 -0
  352. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts.map +1 -0
  353. package/_types/utils/blob/fromBlobs.d.ts +16 -0
  354. package/_types/utils/blob/fromBlobs.d.ts.map +1 -0
  355. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts +29 -0
  356. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts.map +1 -0
  357. package/_types/utils/blob/toBlobSidecars.d.ts +57 -0
  358. package/_types/utils/blob/toBlobSidecars.d.ts.map +1 -0
  359. package/_types/utils/blob/toBlobs.d.ts +28 -0
  360. package/_types/utils/blob/toBlobs.d.ts.map +1 -0
  361. package/_types/utils/encoding/toRlp.d.ts +1 -1
  362. package/_types/utils/encoding/toRlp.d.ts.map +1 -1
  363. package/_types/utils/formatters/transaction.d.ts +25 -25
  364. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  365. package/_types/utils/formatters/transactionRequest.d.ts +227 -3
  366. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  367. package/_types/utils/kzg/defineKzg.d.ts +21 -0
  368. package/_types/utils/kzg/defineKzg.d.ts.map +1 -0
  369. package/_types/utils/kzg/setupKzg.d.ts +21 -0
  370. package/_types/utils/kzg/setupKzg.d.ts.map +1 -0
  371. package/_types/utils/signature/hexToSignature.d.ts.map +1 -1
  372. package/_types/utils/signature/signatureToCompactSignature.d.ts +1 -1
  373. package/_types/utils/signature/signatureToHex.d.ts +2 -2
  374. package/_types/utils/signature/signatureToHex.d.ts.map +1 -1
  375. package/_types/utils/transaction/assertTransaction.d.ts +4 -1
  376. package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
  377. package/_types/utils/transaction/getSerializedTransactionType.d.ts +5 -3
  378. package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
  379. package/_types/utils/transaction/getTransactionType.d.ts +34 -3
  380. package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
  381. package/_types/utils/transaction/parseTransaction.d.ts +7 -5
  382. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  383. package/_types/utils/transaction/serializeTransaction.d.ts +13 -6
  384. package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
  385. package/accounts/types.ts +9 -5
  386. package/accounts/utils/sign.ts +1 -0
  387. package/accounts/utils/signTransaction.ts +37 -22
  388. package/actions/index.ts +5 -0
  389. package/actions/public/call.ts +4 -0
  390. package/actions/public/estimateGas.ts +4 -0
  391. package/actions/public/getBlobBaseFee.ts +42 -0
  392. package/actions/wallet/prepareTransactionRequest.ts +134 -61
  393. package/actions/wallet/sendRawTransaction.ts +3 -5
  394. package/actions/wallet/sendTransaction.ts +32 -21
  395. package/actions/wallet/signTransaction.ts +34 -18
  396. package/chains/celo/serializers.ts +12 -25
  397. package/chains/celo/types.ts +5 -10
  398. package/chains/definitions/plumeTestnet.ts +28 -0
  399. package/chains/index.ts +1 -1
  400. package/chains/opStack/actions/estimateL1Fee.ts +12 -16
  401. package/chains/opStack/actions/estimateL1Gas.ts +12 -16
  402. package/chains/opStack/actions/finalizeWithdrawal.ts +3 -2
  403. package/chains/opStack/actions/proveWithdrawal.ts +3 -2
  404. package/chains/opStack/serializers.ts +5 -5
  405. package/chains/opStack/types/transaction.ts +9 -11
  406. package/chains/zksync/actions/sendTransaction.ts +2 -1
  407. package/chains/zksync/actions/signEip712Transaction.ts +2 -2
  408. package/chains/zksync/serializers.ts +14 -10
  409. package/chains/zksync/types/chain.ts +4 -7
  410. package/chains/zksync/types/eip712.ts +2 -2
  411. package/clients/decorators/public.ts +8 -4
  412. package/clients/decorators/wallet.ts +14 -6
  413. package/constants/blob.ts +21 -0
  414. package/constants/kzg.ts +9 -0
  415. package/errors/blob.ts +67 -0
  416. package/errors/transaction.ts +1 -0
  417. package/errors/version.ts +1 -1
  418. package/index.ts +64 -0
  419. package/node/index.ts +2 -0
  420. package/node/trustedSetups.ts +11 -0
  421. package/package.json +1 -1
  422. package/trusted-setups/mainnet.json +8265 -0
  423. package/trusted-setups/minimal.json +8265 -0
  424. package/types/account.ts +3 -3
  425. package/types/chain.ts +3 -1
  426. package/types/eip1193.ts +3 -3
  427. package/types/eip4844.ts +12 -0
  428. package/types/fee.ts +3 -2
  429. package/types/kzg.ts +32 -0
  430. package/types/misc.ts +20 -1
  431. package/types/rpc.ts +11 -6
  432. package/types/transaction.ts +75 -17
  433. package/types/utils.ts +49 -1
  434. package/utils/blob/blobsToCommitments.ts +69 -0
  435. package/utils/blob/blobsToProofs.ts +93 -0
  436. package/utils/blob/commitmentToVersionedHash.ts +62 -0
  437. package/utils/blob/commitmentsToVersionedHashes.ts +71 -0
  438. package/utils/blob/fromBlobs.ts +73 -0
  439. package/utils/blob/sidecarsToVersionedHashes.ts +66 -0
  440. package/utils/blob/toBlobSidecars.ts +109 -0
  441. package/utils/blob/toBlobs.ts +113 -0
  442. package/utils/encoding/toRlp.ts +2 -2
  443. package/utils/formatters/transaction.ts +3 -2
  444. package/utils/formatters/transactionRequest.ts +28 -35
  445. package/utils/kzg/defineKzg.ts +30 -0
  446. package/utils/kzg/setupKzg.ts +38 -0
  447. package/utils/signature/compactSignatureToSignature.ts +3 -3
  448. package/utils/signature/hexToSignature.ts +6 -1
  449. package/utils/signature/signatureToCompactSignature.ts +4 -4
  450. package/utils/signature/signatureToHex.ts +9 -4
  451. package/utils/transaction/assertTransaction.ts +41 -0
  452. package/utils/transaction/getSerializedTransactionType.ts +34 -11
  453. package/utils/transaction/getTransactionType.ts +109 -26
  454. package/utils/transaction/parseTransaction.ts +128 -8
  455. package/utils/transaction/serializeAccessList.ts +1 -1
  456. package/utils/transaction/serializeTransaction.ts +172 -39
@@ -0,0 +1,21 @@
1
+ import type { ErrorType } from '../../errors/utils.js';
2
+ import { type DefineKzgErrorType, type DefineKzgParameters, type DefineKzgReturnType } from './defineKzg.js';
3
+ export type SetupKzgParameters = DefineKzgParameters & {
4
+ loadTrustedSetup(path: string): void;
5
+ };
6
+ export type SetupKzgReturnType = DefineKzgReturnType;
7
+ export type SetupKzgErrorType = DefineKzgErrorType | ErrorType;
8
+ /**
9
+ * Sets up and returns a KZG interface.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import * as cKzg from 'c-kzg'
14
+ * import { setupKzg } from 'viem'
15
+ * import { mainnetTrustedSetupPath } from 'viem/node'
16
+ *
17
+ * const kzg = setupKzg(cKzg, mainnetTrustedSetupPath)
18
+ * ```
19
+ */
20
+ export declare function setupKzg(parameters: SetupKzgParameters, path: string): SetupKzgReturnType;
21
+ //# sourceMappingURL=setupKzg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupKzg.d.ts","sourceRoot":"","sources":["../../../utils/kzg/setupKzg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AACpD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,SAAS,CAAA;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,GACX,kBAAkB,CAQpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"hexToSignature.d.ts","sourceRoot":"","sources":["../../../utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,+BAA+B,CAAA;AAEtC,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,SAAS,CAAA;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,CAI3D"}
1
+ {"version":3,"file":"hexToSignature.d.ts","sourceRoot":"","sources":["../../../utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,+BAA+B,CAAA;AAEtC,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,SAAS,CAAA;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,CAS3D"}
@@ -12,7 +12,7 @@ export type SignatureToCompactSignatureErrorType = HexToBytesErrorType | BytesTo
12
12
  * signatureToCompactSignature({
13
13
  * r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
14
14
  * s: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
15
- * v: 27n
15
+ * yParity: 0
16
16
  * })
17
17
  * // {
18
18
  * // r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
@@ -13,9 +13,9 @@ export type SignatureToHexErrorType = HexToBigIntErrorType | ToHexErrorType | Er
13
13
  * signatureToHex({
14
14
  * r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',
15
15
  * s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',
16
- * v: 28n
16
+ * yParity: 1
17
17
  * })
18
18
  * // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
19
19
  */
20
- export declare function signatureToHex({ r, s, v }: Signature): Hex;
20
+ export declare function signatureToHex({ r, s, v, yParity }: Signature): Hex;
21
21
  //# sourceMappingURL=signatureToHex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signatureToHex.d.ts","sourceRoot":"","sources":["../../../utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,+BAA+B,CAAA;AAE1E,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,cAAc,GACd,SAAS,CAAA;AAEb;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,GAAG,CAK1D"}
1
+ {"version":3,"file":"signatureToHex.d.ts","sourceRoot":"","sources":["../../../utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,cAAc,GACd,SAAS,CAAA;AAEb;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,GAAG,GAAG,CAUnE"}
@@ -1,10 +1,13 @@
1
1
  import { type InvalidAddressErrorType } from '../../errors/address.js';
2
2
  import { type BaseErrorType } from '../../errors/base.js';
3
+ import { type EmptyBlobErrorType, type InvalidVersionedHashSizeErrorType, type InvalidVersionedHashVersionErrorType } from '../../errors/blob.js';
3
4
  import { type InvalidChainIdErrorType } from '../../errors/chain.js';
4
5
  import { type FeeCapTooHighErrorType, type TipAboveFeeCapErrorType } from '../../errors/node.js';
5
6
  import type { ErrorType } from '../../errors/utils.js';
6
- import type { TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableLegacy } from '../../types/transaction.js';
7
+ import type { TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableEIP4844, TransactionSerializableLegacy } from '../../types/transaction.js';
7
8
  import { type IsAddressErrorType } from '../address/isAddress.js';
9
+ export type AssertTransactionEIP4844ErrorType = AssertTransactionEIP1559ErrorType | EmptyBlobErrorType | InvalidVersionedHashSizeErrorType | InvalidVersionedHashVersionErrorType | ErrorType;
10
+ export declare function assertTransactionEIP4844(transaction: TransactionSerializableEIP4844): void;
8
11
  export type AssertTransactionEIP1559ErrorType = BaseErrorType | IsAddressErrorType | InvalidAddressErrorType | InvalidChainIdErrorType | FeeCapTooHighErrorType | TipAboveFeeCapErrorType | ErrorType;
9
12
  export declare function assertTransactionEIP1559(transaction: TransactionSerializableEIP1559): void;
10
13
  export type AssertTransactionEIP2930ErrorType = BaseErrorType | IsAddressErrorType | InvalidAddressErrorType | InvalidChainIdErrorType | FeeCapTooHighErrorType | ErrorType;
@@ -1 +1 @@
1
- {"version":3,"file":"assertTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,KAAK,sBAAsB,EAE3B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,yBAAyB,CAAA;AAE5E,MAAM,MAAM,iCAAiC,GACzC,aAAa,GACb,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,SAAS,CAAA;AAEb,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,8BAA8B,QAkB5C;AAED,MAAM,MAAM,iCAAiC,GACzC,aAAa,GACb,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,SAAS,CAAA;AAEb,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,8BAA8B,QAY5C;AAED,MAAM,MAAM,gCAAgC,GACxC,aAAa,GACb,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,SAAS,CAAA;AAEb,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,6BAA6B,QAuB3C"}
1
+ {"version":3,"file":"assertTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,iCAAiC,EAEtC,KAAK,oCAAoC,EAC1C,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,KAAK,sBAAsB,EAE3B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,yBAAyB,CAAA;AAK5E,MAAM,MAAM,iCAAiC,GACzC,iCAAiC,GACjC,kBAAkB,GAClB,iCAAiC,GACjC,oCAAoC,GACpC,SAAS,CAAA;AAEb,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,8BAA8B,QAkB5C;AAED,MAAM,MAAM,iCAAiC,GACzC,aAAa,GACb,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,GACvB,SAAS,CAAA;AAEb,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,8BAA8B,QAkB5C;AAED,MAAM,MAAM,iCAAiC,GACzC,aAAa,GACb,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,SAAS,CAAA;AAEb,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,8BAA8B,QAY5C;AAED,MAAM,MAAM,gCAAgC,GACxC,aAAa,GACb,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,SAAS,CAAA;AAEb,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,6BAA6B,QAuB3C"}
@@ -1,9 +1,11 @@
1
1
  import { type InvalidSerializedTransactionTypeErrorType } from '../../errors/transaction.js';
2
2
  import type { ErrorType } from '../../errors/utils.js';
3
- import type { TransactionSerialized, TransactionSerializedEIP1559, TransactionSerializedEIP2930 } from '../../types/transaction.js';
3
+ import type { Hex } from '../../index.js';
4
+ import type { TransactionSerialized, TransactionSerializedEIP1559, TransactionSerializedEIP2930, TransactionSerializedEIP4844, TransactionSerializedGeneric, TransactionSerializedLegacy, TransactionType } from '../../types/transaction.js';
5
+ import type { IsNarrowable, IsNever } from '../../types/utils.js';
4
6
  import { type SliceHexErrorType } from '../data/slice.js';
5
7
  import { type HexToNumberErrorType } from '../encoding/fromHex.js';
6
- export type GetSerializedTransactionType<TTransactionSerialized extends TransactionSerialized = TransactionSerialized> = TTransactionSerialized extends TransactionSerializedEIP1559 ? 'eip1559' : TTransactionSerialized extends TransactionSerializedEIP2930 ? 'eip2930' : 'legacy';
8
+ export type GetSerializedTransactionType<serializedTransaction extends TransactionSerializedGeneric = TransactionSerialized, result = (serializedTransaction extends TransactionSerializedEIP1559 ? 'eip1559' : never) | (serializedTransaction extends TransactionSerializedEIP2930 ? 'eip2930' : never) | (serializedTransaction extends TransactionSerializedEIP4844 ? 'eip4844' : never) | (serializedTransaction extends TransactionSerializedLegacy ? 'legacy' : never)> = IsNarrowable<serializedTransaction, Hex> extends true ? IsNever<result> extends false ? result : 'legacy' : TransactionType;
7
9
  export type GetSerializedTransactionTypeErrorType = HexToNumberErrorType | InvalidSerializedTransactionTypeErrorType | SliceHexErrorType | ErrorType;
8
- export declare function getSerializedTransactionType<TSerialized extends TransactionSerialized>(serializedTransaction: TSerialized): GetSerializedTransactionType<TSerialized>;
10
+ export declare function getSerializedTransactionType<const serializedTransaction extends TransactionSerializedGeneric>(serializedTransaction: serializedTransaction): GetSerializedTransactionType<serializedTransaction>;
9
11
  //# sourceMappingURL=getSerializedTransactionType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSerializedTransactionType.d.ts","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yCAAyC,EAC/C,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,iBAAiB,EAAY,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,KAAK,oBAAoB,EAAe,MAAM,wBAAwB,CAAA;AAE/E,MAAM,MAAM,4BAA4B,CACtC,sBAAsB,SAAS,qBAAqB,GAAG,qBAAqB,IAC1E,sBAAsB,SAAS,4BAA4B,GAC3D,SAAS,GACT,sBAAsB,SAAS,4BAA4B,GACzD,SAAS,GACT,QAAQ,CAAA;AAEd,MAAM,MAAM,qCAAqC,GAC7C,oBAAoB,GACpB,yCAAyC,GACzC,iBAAiB,GACjB,SAAS,CAAA;AAEb,wBAAgB,4BAA4B,CAC1C,WAAW,SAAS,qBAAqB,EAEzC,qBAAqB,EAAE,WAAW,GACjC,4BAA4B,CAAC,WAAW,CAAC,CAa3C"}
1
+ {"version":3,"file":"getSerializedTransactionType.d.ts","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yCAAyC,EAC/C,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAY,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,KAAK,oBAAoB,EAAe,MAAM,wBAAwB,CAAA;AAE/E,MAAM,MAAM,4BAA4B,CACtC,qBAAqB,SACnB,4BAA4B,GAAG,qBAAqB,EACtD,MAAM,GACF,CAAC,qBAAqB,SAAS,4BAA4B,GACvD,SAAS,GACT,KAAK,CAAC,GACV,CAAC,qBAAqB,SAAS,4BAA4B,GACvD,SAAS,GACT,KAAK,CAAC,GACV,CAAC,qBAAqB,SAAS,4BAA4B,GACvD,SAAS,GACT,KAAK,CAAC,GACV,CAAC,qBAAqB,SAAS,2BAA2B,GACtD,QAAQ,GACR,KAAK,CAAC,IACZ,YAAY,CAAC,qBAAqB,EAAE,GAAG,CAAC,SAAS,IAAI,GACrD,OAAO,CAAC,MAAM,CAAC,SAAS,KAAK,GAC3B,MAAM,GACN,QAAQ,GACV,eAAe,CAAA;AAEnB,MAAM,MAAM,qCAAqC,GAC7C,oBAAoB,GACpB,yCAAyC,GACzC,iBAAiB,GACjB,SAAS,CAAA;AAEb,wBAAgB,4BAA4B,CAC1C,KAAK,CAAC,qBAAqB,SAAS,4BAA4B,EAEhE,qBAAqB,EAAE,qBAAqB,GAC3C,4BAA4B,CAAC,qBAAqB,CAAC,CAgBrD"}
@@ -1,7 +1,38 @@
1
1
  import { type InvalidSerializableTransactionErrorType } from '../../errors/transaction.js';
2
2
  import type { ErrorType } from '../../errors/utils.js';
3
- import type { TransactionSerializable, TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableGeneric, TransactionSerializableLegacy } from '../../types/transaction.js';
4
- export type GetTransactionType<TTransactionSerializable extends TransactionSerializable = TransactionSerializable> = (TTransactionSerializable extends TransactionSerializableLegacy ? 'legacy' : never) | (TTransactionSerializable extends TransactionSerializableEIP1559 ? 'eip1559' : never) | (TTransactionSerializable extends TransactionSerializableEIP2930 ? 'eip2930' : never) | (TTransactionSerializable extends TransactionSerializableGeneric ? TTransactionSerializable['type'] : never);
3
+ import type { FeeValuesEIP1559, FeeValuesEIP4844, FeeValuesLegacy } from '../../index.js';
4
+ import type { TransactionRequest, TransactionRequestEIP1559, TransactionRequestEIP2930, TransactionRequestEIP4844, TransactionRequestLegacy, TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableEIP4844, TransactionSerializableGeneric, TransactionSerializableLegacy } from '../../types/transaction.js';
5
+ import type { Assign, IsNever, OneOf, Opaque } from '../../types/utils.js';
6
+ type BaseProperties = {
7
+ accessList?: undefined;
8
+ blobs?: undefined;
9
+ blobVersionedHashes?: undefined;
10
+ gasPrice?: undefined;
11
+ maxFeePerBlobGas?: undefined;
12
+ maxFeePerGas?: undefined;
13
+ maxPriorityFeePerGas?: undefined;
14
+ sidecars?: undefined;
15
+ };
16
+ type LegacyProperties = Assign<BaseProperties, FeeValuesLegacy>;
17
+ type EIP1559Properties = Assign<BaseProperties, OneOf<{
18
+ maxFeePerGas: FeeValuesEIP1559['maxFeePerGas'];
19
+ } | {
20
+ maxPriorityFeePerGas: FeeValuesEIP1559['maxPriorityFeePerGas'];
21
+ }, FeeValuesEIP1559> & {
22
+ accessList?: TransactionSerializableEIP2930['accessList'];
23
+ }>;
24
+ type EIP2930Properties = Assign<BaseProperties, Partial<FeeValuesLegacy> & {
25
+ accessList: TransactionSerializableEIP2930['accessList'];
26
+ }>;
27
+ type EIP4844Properties = Assign<BaseProperties, Partial<FeeValuesEIP4844> & OneOf<{
28
+ blobs: TransactionSerializableEIP4844['blobs'];
29
+ } | {
30
+ blobVersionedHashes: TransactionSerializableEIP4844['blobVersionedHashes'];
31
+ } | {
32
+ sidecars: TransactionSerializableEIP4844['sidecars'];
33
+ }, TransactionSerializableEIP4844>>;
34
+ export type GetTransactionType<transaction extends OneOf<TransactionSerializableGeneric | TransactionRequest> = TransactionSerializableGeneric, result = (transaction extends Opaque<TransactionSerializableLegacy, transaction> | Opaque<TransactionRequestLegacy, transaction> | LegacyProperties ? 'legacy' : never) | (transaction extends Opaque<TransactionSerializableEIP1559, transaction> | Opaque<TransactionRequestEIP1559, transaction> | EIP1559Properties ? 'eip1559' : never) | (transaction extends Opaque<TransactionSerializableEIP2930, transaction> | Opaque<TransactionRequestEIP2930, transaction> | EIP2930Properties ? 'eip2930' : never) | (transaction extends Opaque<TransactionSerializableEIP4844, transaction> | Opaque<TransactionRequestEIP4844, transaction> | EIP4844Properties ? 'eip4844' : never) | (transaction['type'] extends string ? transaction['type'] : never)> = IsNever<result> extends false ? result : string;
5
35
  export type GetTransationTypeErrorType = InvalidSerializableTransactionErrorType | ErrorType;
6
- export declare function getTransactionType<TTransactionSerializable extends TransactionSerializable>(transaction: TTransactionSerializable): GetTransactionType<TTransactionSerializable>;
36
+ export declare function getTransactionType<const transaction extends OneOf<TransactionSerializableGeneric | TransactionRequest>>(transaction: transaction): GetTransactionType<transaction>;
37
+ export {};
7
38
  //# sourceMappingURL=getTransactionType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionType.d.ts","sourceRoot":"","sources":["../../../utils/transaction/getTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uCAAuC,EAC7C,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAA;AAEnC,MAAM,MAAM,kBAAkB,CAC5B,wBAAwB,SACtB,uBAAuB,GAAG,uBAAuB,IAEjD,CAAC,wBAAwB,SAAS,6BAA6B,GAC3D,QAAQ,GACR,KAAK,CAAC,GACV,CAAC,wBAAwB,SAAS,8BAA8B,GAC5D,SAAS,GACT,KAAK,CAAC,GACV,CAAC,wBAAwB,SAAS,8BAA8B,GAC5D,SAAS,GACT,KAAK,CAAC,GACV,CAAC,wBAAwB,SAAS,8BAA8B,GAC5D,wBAAwB,CAAC,MAAM,CAAC,GAChC,KAAK,CAAC,CAAA;AAEd,MAAM,MAAM,0BAA0B,GAClC,uCAAuC,GACvC,SAAS,CAAA;AAEb,wBAAgB,kBAAkB,CAChC,wBAAwB,SAAS,uBAAuB,EAExD,WAAW,EAAE,wBAAwB,GACpC,kBAAkB,CAAC,wBAAwB,CAAC,CAiB9C"}
1
+ {"version":3,"file":"getTransactionType.d.ts","sourceRoot":"","sources":["../../../utils/transaction/getTransactionType.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,20 @@ import { type InvalidAddressErrorType } from '../../errors/address.js';
2
2
  import { type InvalidLegacyVErrorType, type InvalidSerializedTransactionErrorType } from '../../errors/transaction.js';
3
3
  import type { ErrorType } from '../../errors/utils.js';
4
4
  import type { Hex } from '../../types/misc.js';
5
- import type { AccessList, TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableLegacy, TransactionSerialized, TransactionType } from '../../types/transaction.js';
5
+ import type { AccessList, TransactionSerializable, TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableEIP4844, TransactionSerializableLegacy, TransactionSerialized, TransactionSerializedGeneric, TransactionType } from '../../types/transaction.js';
6
+ import type { IsNarrowable } from '../../types/utils.js';
6
7
  import { type IsAddressErrorType } from '../address/isAddress.js';
7
8
  import { type IsHexErrorType } from '../data/isHex.js';
8
9
  import { type PadHexErrorType } from '../data/pad.js';
9
10
  import { type HexToBigIntErrorType, type HexToNumberErrorType } from '../encoding/fromHex.js';
10
11
  import { type FromRlpErrorType } from '../encoding/fromRlp.js';
11
12
  import type { RecursiveArray } from '../encoding/toRlp.js';
12
- import { type AssertTransactionEIP1559ErrorType, type AssertTransactionEIP2930ErrorType, type AssertTransactionLegacyErrorType } from './assertTransaction.js';
13
+ import { type AssertTransactionEIP1559ErrorType, type AssertTransactionEIP2930ErrorType, type AssertTransactionEIP4844ErrorType, type AssertTransactionLegacyErrorType } from './assertTransaction.js';
13
14
  import { type GetSerializedTransactionType, type GetSerializedTransactionTypeErrorType } from './getSerializedTransactionType.js';
14
- export type ParseTransactionReturnType<TSerialized extends TransactionSerialized = TransactionSerialized, TType extends TransactionType = GetSerializedTransactionType<TSerialized>> = (TType extends 'eip1559' ? TransactionSerializableEIP1559 : never) | (TType extends 'eip2930' ? TransactionSerializableEIP2930 : never) | (TType extends 'legacy' ? TransactionSerializableLegacy : never);
15
- export type ParseTransactionErrorType = GetSerializedTransactionTypeErrorType | ParseTransactionEIP1559ErrorType | ParseTransactionEIP2930ErrorType | ParseTransactionLegacyErrorType;
16
- export declare function parseTransaction<TSerialized extends TransactionSerialized>(serializedTransaction: TSerialized): ParseTransactionReturnType<TSerialized>;
15
+ export type ParseTransactionReturnType<TSerialized extends TransactionSerializedGeneric = TransactionSerialized, TType extends TransactionType = GetSerializedTransactionType<TSerialized>> = IsNarrowable<TSerialized, Hex> extends true ? (TType extends 'eip1559' ? TransactionSerializableEIP1559 : never) | (TType extends 'eip2930' ? TransactionSerializableEIP2930 : never) | (TType extends 'eip4844' ? TransactionSerializableEIP4844 : never) | (TType extends 'legacy' ? TransactionSerializableLegacy : never) : TransactionSerializable;
16
+ export type ParseTransactionErrorType = GetSerializedTransactionTypeErrorType | ParseTransactionEIP1559ErrorType | ParseTransactionEIP2930ErrorType | ParseTransactionEIP4844ErrorType | ParseTransactionLegacyErrorType;
17
+ export declare function parseTransaction<const TSerialized extends TransactionSerializedGeneric>(serializedTransaction: TSerialized): ParseTransactionReturnType<TSerialized>;
18
+ type ParseTransactionEIP4844ErrorType = AssertTransactionEIP4844ErrorType | ToTransactionArrayErrorType | HexToBigIntErrorType | HexToNumberErrorType | InvalidLegacyVErrorType | InvalidSerializedTransactionErrorType | IsHexErrorType | ParseEIP155SignatureErrorType | ErrorType;
17
19
  type ParseTransactionEIP1559ErrorType = AssertTransactionEIP1559ErrorType | ToTransactionArrayErrorType | HexToBigIntErrorType | HexToNumberErrorType | InvalidLegacyVErrorType | InvalidSerializedTransactionErrorType | IsHexErrorType | ParseEIP155SignatureErrorType | ErrorType;
18
20
  type ParseTransactionEIP2930ErrorType = AssertTransactionEIP2930ErrorType | ToTransactionArrayErrorType | HexToBigIntErrorType | HexToNumberErrorType | InvalidLegacyVErrorType | InvalidSerializedTransactionErrorType | IsHexErrorType | ParseEIP155SignatureErrorType | ErrorType;
19
21
  type ParseTransactionLegacyErrorType = AssertTransactionLegacyErrorType | FromRlpErrorType | HexToBigIntErrorType | HexToNumberErrorType | InvalidLegacyVErrorType | InvalidSerializedTransactionErrorType | IsHexErrorType | ErrorType;
@@ -1 +1 @@
1
- {"version":3,"file":"parseTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/parseTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,KAAK,uBAAuB,EAE5B,KAAK,qCAAqC,EAC3C,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EACV,UAAU,EAGV,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,qBAAqB,EAGrB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAU,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,wBAAwB,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EAItC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,qCAAqC,EAE3C,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,0BAA0B,CACpC,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EACjE,KAAK,SAAS,eAAe,GAAG,4BAA4B,CAAC,WAAW,CAAC,IAEvE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,SAAS,GAAG,8BAA8B,GAAG,KAAK,CAAC,GAClE,CAAC,KAAK,SAAS,QAAQ,GAAG,6BAA6B,GAAG,KAAK,CAAC,CAAA;AAEpE,MAAM,MAAM,yBAAyB,GACjC,qCAAqC,GACrC,gCAAgC,GAChC,gCAAgC,GAChC,+BAA+B,CAAA;AAEnC,wBAAgB,gBAAgB,CAAC,WAAW,SAAS,qBAAqB,EACxE,qBAAqB,EAAE,WAAW,GACjC,0BAA0B,CAAC,WAAW,CAAC,CAgBzC;AAED,KAAK,gCAAgC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,6BAA6B,GAC7B,SAAS,CAAA;AAwEb,KAAK,gCAAgC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,6BAA6B,GAC7B,SAAS,CAAA;AA0Db,KAAK,+BAA+B,GAChC,gCAAgC,GAChC,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,qCAAqC,GACrC,cAAc,GACd,SAAS,CAAA;AAsEb,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEtE,wBAAgB,kBAAkB,CAAC,qBAAqB,EAAE,MAAM,6DAE/D;AAED,MAAM,MAAM,wBAAwB,GAChC,uBAAuB,GACvB,kBAAkB,GAClB,SAAS,CAAA;AAEb,wBAAgB,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAc5E;AAED,KAAK,6BAA6B,GAC9B,oBAAoB,GACpB,eAAe,GACf,SAAS,CAAA"}
1
+ {"version":3,"file":"parseTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/parseTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,26 @@
1
1
  import { type InvalidLegacyVErrorType } from '../../errors/transaction.js';
2
2
  import type { ErrorType } from '../../errors/utils.js';
3
3
  import type { Signature } from '../../types/misc.js';
4
- import type { TransactionSerializable, TransactionSerialized, TransactionType } from '../../types/transaction.js';
4
+ import type { TransactionSerializable, TransactionSerializableGeneric, TransactionSerialized, TransactionType } from '../../types/transaction.js';
5
+ import type { OneOf } from '../../types/utils.js';
6
+ import { type BlobsToCommitmentsErrorType } from '../blob/blobsToCommitments.js';
7
+ import { type blobsToProofsErrorType } from '../blob/blobsToProofs.js';
8
+ import { type CommitmentsToVersionedHashesErrorType } from '../blob/commitmentsToVersionedHashes.js';
9
+ import { type ToBlobSidecarsErrorType } from '../blob/toBlobSidecars.js';
5
10
  import { type ConcatHexErrorType } from '../data/concat.js';
6
11
  import { type ToHexErrorType } from '../encoding/toHex.js';
7
12
  import { type ToRlpErrorType } from '../encoding/toRlp.js';
8
- import { type AssertTransactionEIP1559ErrorType, type AssertTransactionEIP2930ErrorType, type AssertTransactionLegacyErrorType } from './assertTransaction.js';
13
+ import { type AssertTransactionEIP1559ErrorType, type AssertTransactionEIP2930ErrorType, type AssertTransactionEIP4844ErrorType, type AssertTransactionLegacyErrorType } from './assertTransaction.js';
9
14
  import { type GetTransactionType, type GetTransationTypeErrorType } from './getTransactionType.js';
10
15
  import { type SerializeAccessListErrorType } from './serializeAccessList.js';
11
- export type SerializedTransactionReturnType<TTransactionSerializable extends TransactionSerializable = TransactionSerializable, TTransactionType extends TransactionType = GetTransactionType<TTransactionSerializable>> = TransactionSerialized<TTransactionType>;
12
- export type SerializeTransactionFn<TTransactionSerializable extends TransactionSerializable = TransactionSerializable> = typeof serializeTransaction<TTransactionSerializable>;
13
- export type SerializeTransactionErrorType = GetTransationTypeErrorType | SerializeTransactionEIP1559ErrorType | SerializeTransactionEIP2930ErrorType | SerializeTransactionLegacyErrorType | ErrorType;
14
- export declare function serializeTransaction<TTransactionSerializable extends TransactionSerializable>(transaction: TTransactionSerializable, signature?: Signature): SerializedTransactionReturnType<TTransactionSerializable>;
16
+ export type SerializedTransactionReturnType<transaction extends TransactionSerializable = TransactionSerializable, _transactionType extends TransactionType = GetTransactionType<transaction>> = TransactionSerialized<_transactionType>;
17
+ export type SerializeTransactionFn<transaction extends TransactionSerializableGeneric = TransactionSerializable, _transactionType extends TransactionType = never> = typeof serializeTransaction<OneOf<TransactionSerializable | transaction>, _transactionType>;
18
+ export type SerializeTransactionErrorType = GetTransationTypeErrorType | SerializeTransactionEIP1559ErrorType | SerializeTransactionEIP2930ErrorType | SerializeTransactionEIP4844ErrorType | SerializeTransactionLegacyErrorType | ErrorType;
19
+ export declare function serializeTransaction<const transaction extends TransactionSerializable, _transactionType extends TransactionType = GetTransactionType<transaction>>(transaction: transaction, signature?: Signature): SerializedTransactionReturnType<transaction, _transactionType>;
20
+ type SerializeTransactionEIP4844ErrorType = AssertTransactionEIP4844ErrorType | BlobsToCommitmentsErrorType | CommitmentsToVersionedHashesErrorType | blobsToProofsErrorType | ToBlobSidecarsErrorType | ConcatHexErrorType | InvalidLegacyVErrorType | ToHexErrorType | ToRlpErrorType | SerializeAccessListErrorType | ErrorType;
15
21
  type SerializeTransactionEIP1559ErrorType = AssertTransactionEIP1559ErrorType | ConcatHexErrorType | InvalidLegacyVErrorType | ToHexErrorType | ToRlpErrorType | SerializeAccessListErrorType | ErrorType;
16
22
  type SerializeTransactionEIP2930ErrorType = AssertTransactionEIP2930ErrorType | ConcatHexErrorType | InvalidLegacyVErrorType | ToHexErrorType | ToRlpErrorType | SerializeAccessListErrorType | ErrorType;
17
23
  type SerializeTransactionLegacyErrorType = AssertTransactionLegacyErrorType | InvalidLegacyVErrorType | ToHexErrorType | ToRlpErrorType | ErrorType;
24
+ export declare function toYParitySignatureArray(transaction: TransactionSerializableGeneric, signature?: Signature): `0x${string}`[];
18
25
  export {};
19
26
  //# sourceMappingURL=serializeTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializeTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EACV,uBAAuB,EAIvB,qBAAqB,EAIrB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,mBAAmB,CAAA;AAEtE,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EAItC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAEhC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,+BAA+B,CACzC,wBAAwB,SACtB,uBAAuB,GAAG,uBAAuB,EACnD,gBAAgB,SACd,eAAe,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,IAC9D,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;AAE3C,MAAM,MAAM,sBAAsB,CAChC,wBAAwB,SACtB,uBAAuB,GAAG,uBAAuB,IACjD,OAAO,oBAAoB,CAAC,wBAAwB,CAAC,CAAA;AAEzD,MAAM,MAAM,6BAA6B,GACrC,0BAA0B,GAC1B,oCAAoC,GACpC,oCAAoC,GACpC,mCAAmC,GACnC,SAAS,CAAA;AAEb,wBAAgB,oBAAoB,CAClC,wBAAwB,SAAS,uBAAuB,EAExD,WAAW,EAAE,wBAAwB,EACrC,SAAS,CAAC,EAAE,SAAS,GACpB,+BAA+B,CAAC,wBAAwB,CAAC,CAmB3D;AAED,KAAK,oCAAoC,GACrC,iCAAiC,GACjC,kBAAkB,GAClB,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,4BAA4B,GAC5B,SAAS,CAAA;AAkDb,KAAK,oCAAoC,GACrC,iCAAiC,GACjC,kBAAkB,GAClB,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,4BAA4B,GAC5B,SAAS,CAAA;AAwCb,KAAK,mCAAmC,GACpC,gCAAgC,GAChC,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,SAAS,CAAA"}
1
+ {"version":3,"file":"serializeTransaction.d.ts","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAGV,SAAS,EAEV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,uBAAuB,EAIvB,8BAA8B,EAE9B,qBAAqB,EAKrB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,KAAK,qCAAqC,EAE3C,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,mBAAmB,CAAA;AAEtE,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EAKtC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAEhC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,+BAA+B,CACzC,WAAW,SAAS,uBAAuB,GAAG,uBAAuB,EAErE,gBAAgB,SAAS,eAAe,GAAG,kBAAkB,CAAC,WAAW,CAAC,IACxE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;AAE3C,MAAM,MAAM,sBAAsB,CAChC,WAAW,SAAS,8BAA8B,GAAG,uBAAuB,EAE5E,gBAAgB,SAAS,eAAe,GAAG,KAAK,IAC9C,OAAO,oBAAoB,CAC7B,KAAK,CAAC,uBAAuB,GAAG,WAAW,CAAC,EAC5C,gBAAgB,CACjB,CAAA;AAED,MAAM,MAAM,6BAA6B,GACrC,0BAA0B,GAC1B,oCAAoC,GACpC,oCAAoC,GACpC,oCAAoC,GACpC,mCAAmC,GACnC,SAAS,CAAA;AAEb,wBAAgB,oBAAoB,CAClC,KAAK,CAAC,WAAW,SAAS,uBAAuB,EAEjD,gBAAgB,SAAS,eAAe,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAE1E,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,GACpB,+BAA+B,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAyBhE;AAED,KAAK,oCAAoC,GACrC,iCAAiC,GACjC,2BAA2B,GAC3B,qCAAqC,GACrC,sBAAsB,GACtB,uBAAuB,GACvB,kBAAkB,GAClB,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,4BAA4B,GAC5B,SAAS,CAAA;AAkFb,KAAK,oCAAoC,GACrC,iCAAiC,GACjC,kBAAkB,GAClB,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,4BAA4B,GAC5B,SAAS,CAAA;AAyCb,KAAK,oCAAoC,GACrC,iCAAiC,GACjC,kBAAkB,GAClB,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,4BAA4B,GAC5B,SAAS,CAAA;AA+Bb,KAAK,mCAAmC,GACpC,gCAAgC,GAChC,uBAAuB,GACvB,cAAc,GACd,cAAc,GACd,SAAS,CAAA;AAwDb,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,8BAA8B,EAC3C,SAAS,CAAC,EAAE,SAAS,mBAetB"}
package/accounts/types.ts CHANGED
@@ -19,17 +19,21 @@ export type AccountSource = Address | CustomSource
19
19
  export type CustomSource = {
20
20
  address: Address
21
21
  signMessage: ({ message }: { message: SignableMessage }) => Promise<Hash>
22
- signTransaction: <TTransactionSerializable extends TransactionSerializable>(
23
- transaction: TTransactionSerializable,
22
+ signTransaction: <
23
+ serializer extends
24
+ SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<TransactionSerializable>,
25
+ transaction extends Parameters<serializer>[0] = Parameters<serializer>[0],
26
+ >(
27
+ transaction: transaction,
24
28
  args?: {
25
- serializer?: SerializeTransactionFn<TTransactionSerializable>
29
+ serializer?: serializer
26
30
  },
27
31
  ) => Promise<
28
32
  IsNarrowable<
29
- TransactionSerialized<GetTransactionType<TTransactionSerializable>>,
33
+ TransactionSerialized<GetTransactionType<transaction>>,
30
34
  Hash
31
35
  > extends true
32
- ? TransactionSerialized<GetTransactionType<TTransactionSerializable>>
36
+ ? TransactionSerialized<GetTransactionType<transaction>>
33
37
  : Hash
34
38
  >
35
39
  signTypedData: <
@@ -32,5 +32,6 @@ export async function sign({
32
32
  r: toHex(r),
33
33
  s: toHex(s),
34
34
  v: recovery ? 28n : 27n,
35
+ yParity: recovery,
35
36
  }
36
37
  }
@@ -17,20 +17,20 @@ import {
17
17
  import { type SignErrorType, sign } from './sign.js'
18
18
 
19
19
  export type SignTransactionParameters<
20
- TTransactionSerializable extends
21
- TransactionSerializable = TransactionSerializable,
20
+ serializer extends
21
+ SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<TransactionSerializable>,
22
+ transaction extends Parameters<serializer>[0] = Parameters<serializer>[0],
22
23
  > = {
23
24
  privateKey: Hex
24
- transaction: TTransactionSerializable
25
- serializer?: SerializeTransactionFn<
26
- TransactionSerializable & TTransactionSerializable
27
- >
25
+ transaction: transaction
26
+ serializer?: serializer
28
27
  }
29
28
 
30
29
  export type SignTransactionReturnType<
31
- TTransactionSerializable extends
32
- TransactionSerializable = TransactionSerializable,
33
- > = TransactionSerialized<GetTransactionType<TTransactionSerializable>>
30
+ serializer extends
31
+ SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<TransactionSerializable>,
32
+ transaction extends Parameters<serializer>[0] = Parameters<serializer>[0],
33
+ > = TransactionSerialized<GetTransactionType<transaction>>
34
34
 
35
35
  export type SignTransactionErrorType =
36
36
  | Keccak256ErrorType
@@ -38,20 +38,35 @@ export type SignTransactionErrorType =
38
38
  | ErrorType
39
39
 
40
40
  export async function signTransaction<
41
- TTransactionSerializable extends TransactionSerializable,
42
- >({
43
- privateKey,
44
- transaction,
45
- serializer = serializeTransaction,
46
- }: SignTransactionParameters<TTransactionSerializable>): Promise<
47
- SignTransactionReturnType<TTransactionSerializable>
48
- > {
41
+ serializer extends
42
+ SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<TransactionSerializable>,
43
+ transaction extends Parameters<serializer>[0] = Parameters<serializer>[0],
44
+ >(
45
+ parameters: SignTransactionParameters<serializer, transaction>,
46
+ ): Promise<SignTransactionReturnType<serializer, transaction>> {
47
+ const {
48
+ privateKey,
49
+ transaction,
50
+ serializer = serializeTransaction,
51
+ } = parameters
52
+
53
+ const signableTransaction = (() => {
54
+ // For EIP-4844 Transactions, we want to sign the transaction payload body (tx_payload_body) without the sidecars (ie. without the network wrapper).
55
+ // See: https://github.com/ethereum/EIPs/blob/e00f4daa66bd56e2dbd5f1d36d09fd613811a48b/EIPS/eip-4844.md#networking
56
+ if (transaction.type === 'eip4844')
57
+ return {
58
+ ...transaction,
59
+ sidecars: false,
60
+ }
61
+ return transaction
62
+ })()
63
+
49
64
  const signature = await sign({
50
- hash: keccak256(serializer(transaction)),
65
+ hash: keccak256(serializer(signableTransaction)),
51
66
  privateKey,
52
67
  })
53
- return serializer(
54
- transaction,
55
- signature,
56
- ) as SignTransactionReturnType<TTransactionSerializable>
68
+ return serializer(transaction, signature) as SignTransactionReturnType<
69
+ serializer,
70
+ transaction
71
+ >
57
72
  }
package/actions/index.ts CHANGED
@@ -102,6 +102,11 @@ export {
102
102
  type GetBalanceReturnType,
103
103
  getBalance,
104
104
  } from './public/getBalance.js'
105
+ export {
106
+ type GetBlobBaseFeeErrorType,
107
+ type GetBlobBaseFeeReturnType,
108
+ getBlobBaseFee,
109
+ } from './public/getBlobBaseFee.js'
105
110
  export {
106
111
  type GetBlockErrorType,
107
112
  type GetBlockParameters,
@@ -157,9 +157,11 @@ export async function call<TChain extends Chain | undefined>(
157
157
  blockNumber,
158
158
  blockTag = 'latest',
159
159
  accessList,
160
+ blobs,
160
161
  data,
161
162
  gas,
162
163
  gasPrice,
164
+ maxFeePerBlobGas,
163
165
  maxFeePerGas,
164
166
  maxPriorityFeePerGas,
165
167
  nonce,
@@ -186,9 +188,11 @@ export async function call<TChain extends Chain | undefined>(
186
188
  ...extract(rest, { format: chainFormat }),
187
189
  from: account?.address,
188
190
  accessList,
191
+ blobs,
189
192
  data,
190
193
  gas,
191
194
  gasPrice,
195
+ maxFeePerBlobGas,
192
196
  maxFeePerGas,
193
197
  maxPriorityFeePerGas,
194
198
  nonce,
@@ -106,11 +106,13 @@ export async function estimateGas<
106
106
  try {
107
107
  const {
108
108
  accessList,
109
+ blobs,
109
110
  blockNumber,
110
111
  blockTag,
111
112
  data,
112
113
  gas,
113
114
  gasPrice,
115
+ maxFeePerBlobGas,
114
116
  maxFeePerGas,
115
117
  maxPriorityFeePerGas,
116
118
  nonce,
@@ -138,9 +140,11 @@ export async function estimateGas<
138
140
  ...extract(rest, { format: chainFormat }),
139
141
  from: account?.address,
140
142
  accessList,
143
+ blobs,
141
144
  data,
142
145
  gas,
143
146
  gasPrice,
147
+ maxFeePerBlobGas,
144
148
  maxFeePerGas,
145
149
  maxPriorityFeePerGas,
146
150
  nonce,
@@ -0,0 +1,42 @@
1
+ import type { Account } from '../../accounts/types.js'
2
+ import type { Client } from '../../clients/createClient.js'
3
+ import type { Transport } from '../../clients/transports/createTransport.js'
4
+ import type { ErrorType } from '../../errors/utils.js'
5
+ import type { Chain } from '../../types/chain.js'
6
+ import type { RequestErrorType } from '../../utils/buildRequest.js'
7
+
8
+ export type GetBlobBaseFeeReturnType = bigint
9
+
10
+ export type GetBlobBaseFeeErrorType = RequestErrorType | ErrorType
11
+
12
+ /**
13
+ * Returns the base fee per blob gas in wei.
14
+ *
15
+ * - Docs: https://viem.sh/docs/actions/public/getBlobBaseFee
16
+ * - JSON-RPC Methods: [`eth_blobBaseFee`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blobBaseFee)
17
+ *
18
+ * @param client - Client to use
19
+ * @returns The blob base fee (in wei). {@link GetBlobBaseFeeReturnType}
20
+ *
21
+ * @example
22
+ * import { createPublicClient, http } from 'viem'
23
+ * import { mainnet } from 'viem/chains'
24
+ * import { getBlobBaseFee } from 'viem/public'
25
+ *
26
+ * const client = createPublicClient({
27
+ * chain: mainnet,
28
+ * transport: http(),
29
+ * })
30
+ * const blobBaseFee = await getBlobBaseFee(client)
31
+ */
32
+ export async function getBlobBaseFee<
33
+ TChain extends Chain | undefined,
34
+ TAccount extends Account | undefined,
35
+ >(
36
+ client: Client<Transport, TChain, TAccount>,
37
+ ): Promise<GetBlobBaseFeeReturnType> {
38
+ const baseFee = await client.request({
39
+ method: 'eth_blobBaseFee',
40
+ })
41
+ return BigInt(baseFee)
42
+ }