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
@@ -0,0 +1,27 @@
1
+ import { bytesToHex } from '../encoding/toHex.js';
2
+ import { sha256 } from '../hash/sha256.js';
3
+ /**
4
+ * Transform a commitment to it's versioned hash.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import {
9
+ * blobsToCommitments,
10
+ * commitmentToVersionedHash,
11
+ * toBlobs
12
+ * } from 'viem'
13
+ * import { kzg } from './kzg'
14
+ *
15
+ * const blobs = toBlobs({ data: '0x1234' })
16
+ * const [commitment] = blobsToCommitments({ blobs, kzg })
17
+ * const versionedHash = commitmentToVersionedHash({ commitment })
18
+ * ```
19
+ */
20
+ export function commitmentToVersionedHash(parameters) {
21
+ const { commitment, version = 1 } = parameters;
22
+ const to = parameters.to ?? (typeof commitment === 'string' ? 'hex' : 'bytes');
23
+ const versionedHash = sha256(commitment, 'bytes');
24
+ versionedHash.set([version], 0);
25
+ return (to === 'bytes' ? versionedHash : bytesToHex(versionedHash));
26
+ }
27
+ //# sourceMappingURL=commitmentToVersionedHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitmentToVersionedHash.js","sourceRoot":"","sources":["../../../utils/blob/commitmentToVersionedHash.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAwB,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAyBhE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAMvC,UAA+D;IAE/D,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IAC9C,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE9E,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,OAAO,CACL,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAChB,CAAA;AAC9C,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { commitmentToVersionedHash, } from './commitmentToVersionedHash.js';
2
+ /**
3
+ * Transform a list of commitments to their versioned hashes.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import {
8
+ * blobsToCommitments,
9
+ * commitmentsToVersionedHashes,
10
+ * toBlobs
11
+ * } from 'viem'
12
+ * import { kzg } from './kzg'
13
+ *
14
+ * const blobs = toBlobs({ data: '0x1234' })
15
+ * const commitments = blobsToCommitments({ blobs, kzg })
16
+ * const versionedHashes = commitmentsToVersionedHashes({ commitments })
17
+ * ```
18
+ */
19
+ export function commitmentsToVersionedHashes(parameters) {
20
+ const { commitments, version } = parameters;
21
+ const to = parameters.to ?? (typeof commitments[0] === 'string' ? 'hex' : 'bytes');
22
+ const hashes = [];
23
+ for (const commitment of commitments) {
24
+ hashes.push(commitmentToVersionedHash({
25
+ commitment,
26
+ to,
27
+ version,
28
+ }));
29
+ }
30
+ return hashes;
31
+ }
32
+ //# sourceMappingURL=commitmentsToVersionedHashes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitmentsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/commitmentsToVersionedHashes.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAwBvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,4BAA4B,CAM1C,UAAmE;IAEnE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE3C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,yBAAyB,CAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAoD,CAAA;AAC7D,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { createCursor } from '../cursor.js';
2
+ import { hexToBytes } from '../encoding/toBytes.js';
3
+ import { bytesToHex } from '../encoding/toHex.js';
4
+ export function fromBlobs(parameters) {
5
+ const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');
6
+ const blobs = (typeof parameters.blobs[0] === 'string'
7
+ ? parameters.blobs.map((x) => hexToBytes(x))
8
+ : parameters.blobs);
9
+ const length = blobs.reduce((length, blob) => length + blob.length, 0);
10
+ const data = createCursor(new Uint8Array(length));
11
+ let active = true;
12
+ for (const blob of blobs) {
13
+ const cursor = createCursor(blob);
14
+ while (active && cursor.position < blob.length) {
15
+ // First byte will be a zero 0x00 byte – we can skip.
16
+ cursor.incrementPosition(1);
17
+ let consume = 31;
18
+ if (blob.length - cursor.position < 31)
19
+ consume = blob.length - cursor.position;
20
+ const bytes = cursor.readBytes(consume);
21
+ for (const byte of bytes) {
22
+ if (byte === 0x80) {
23
+ active = false;
24
+ break;
25
+ }
26
+ data.pushByte(byte);
27
+ }
28
+ }
29
+ }
30
+ const trimmedData = data.bytes.slice(0, data.position);
31
+ return (to === 'hex' ? bytesToHex(trimmedData) : trimmedData);
32
+ }
33
+ //# sourceMappingURL=fromBlobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromBlobs.js","sourceRoot":"","sources":["../../../utils/blob/fromBlobs.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAyB3E,MAAM,UAAU,SAAS,CAKvB,UAA0C;IAC1C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,MAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/C,qDAAqD;YACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAE3B,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE;gBACpC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAA;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,MAAM,GAAG,KAAK,CAAA;oBACd,MAAK;gBACP,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,OAAO,CACL,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1B,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { commitmentToVersionedHash, } from './commitmentToVersionedHash.js';
2
+ /**
3
+ * Transforms a list of sidecars to their versioned hashes.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { toBlobSidecars, sidecarsToVersionedHashes, stringToHex } from 'viem'
8
+ *
9
+ * const sidecars = toBlobSidecars({ data: stringToHex('hello world') })
10
+ * const versionedHashes = sidecarsToVersionedHashes({ sidecars })
11
+ * ```
12
+ */
13
+ export function sidecarsToVersionedHashes(parameters) {
14
+ const { sidecars, version } = parameters;
15
+ const to = parameters.to ?? (typeof sidecars[0].blob === 'string' ? 'hex' : 'bytes');
16
+ const hashes = [];
17
+ for (const { commitment } of sidecars) {
18
+ hashes.push(commitmentToVersionedHash({
19
+ commitment,
20
+ to,
21
+ version,
22
+ }));
23
+ }
24
+ return hashes;
25
+ }
26
+ //# sourceMappingURL=sidecarsToVersionedHashes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecarsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/sidecarsToVersionedHashes.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAwBvC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAMvC,UAA6D;IAE7D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAExC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CACT,yBAAyB,CAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAiD,CAAA;AAC1D,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { blobsToCommitments, } from './blobsToCommitments.js';
2
+ import { blobsToProofs } from './blobsToProofs.js';
3
+ import { toBlobs } from './toBlobs.js';
4
+ /**
5
+ * Transforms arbitrary data (or blobs, commitments, & proofs) into a sidecar array.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { toBlobSidecars, stringToHex } from 'viem'
10
+ *
11
+ * const sidecars = toBlobSidecars({ data: stringToHex('hello world') })
12
+ * ```
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import {
17
+ * blobsToCommitments,
18
+ * toBlobs,
19
+ * blobsToProofs,
20
+ * toBlobSidecars,
21
+ * stringToHex
22
+ * } from 'viem'
23
+ *
24
+ * const blobs = toBlobs({ data: stringToHex('hello world') })
25
+ * const commitments = blobsToCommitments({ blobs, kzg })
26
+ * const proofs = blobsToProofs({ blobs, commitments, kzg })
27
+ *
28
+ * const sidecars = toBlobSidecars({ blobs, commitments, proofs })
29
+ * ```
30
+ */
31
+ export function toBlobSidecars(parameters) {
32
+ const { data, kzg, to } = parameters;
33
+ const blobs = parameters.blobs ?? toBlobs({ data: data, to });
34
+ const commitments = parameters.commitments ?? blobsToCommitments({ blobs, kzg: kzg, to });
35
+ const proofs = parameters.proofs ?? blobsToProofs({ blobs, commitments, kzg: kzg, to });
36
+ const sidecars = [];
37
+ for (let i = 0; i < blobs.length; i++)
38
+ sidecars.push({
39
+ blob: blobs[i],
40
+ commitment: commitments[i],
41
+ proof: proofs[i],
42
+ });
43
+ return sidecars;
44
+ }
45
+ //# sourceMappingURL=toBlobSidecars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toBlobSidecars.js","sourceRoot":"","sources":["../../../utils/blob/toBlobSidecars.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAA+B,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAyB,OAAO,EAAE,MAAM,cAAc,CAAA;AA4C7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAS5B,UAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,IAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9D,MAAM,WAAW,GACf,UAAU,CAAC,WAAW,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAE3E,MAAM,QAAQ,GAAiB,EAAE,CAAA;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACjB,CAAC,CAAA;IAEJ,OAAO,QAAwC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { bytesPerBlob, bytesPerFieldElement, fieldElementsPerBlob, maxBytesPerTransaction, } from '../../constants/blob.js';
2
+ import { BlobSizeTooLargeError, EmptyBlobError, } from '../../errors/blob.js';
3
+ import { createCursor } from '../cursor.js';
4
+ import { size } from '../data/size.js';
5
+ import { hexToBytes } from '../encoding/toBytes.js';
6
+ import { bytesToHex } from '../encoding/toHex.js';
7
+ /**
8
+ * Transforms arbitrary data to blobs.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { toBlobs, stringToHex } from 'viem'
13
+ *
14
+ * const blobs = toBlobs({ data: stringToHex('hello world') })
15
+ * ```
16
+ */
17
+ export function toBlobs(parameters) {
18
+ const to = parameters.to ?? (typeof parameters.data === 'string' ? 'hex' : 'bytes');
19
+ const data = (typeof parameters.data === 'string'
20
+ ? hexToBytes(parameters.data)
21
+ : parameters.data);
22
+ const size_ = size(data);
23
+ if (!size_)
24
+ throw new EmptyBlobError();
25
+ if (size_ > maxBytesPerTransaction)
26
+ throw new BlobSizeTooLargeError({
27
+ maxSize: maxBytesPerTransaction,
28
+ size: size_,
29
+ });
30
+ const blobs = [];
31
+ let active = true;
32
+ let position = 0;
33
+ while (active) {
34
+ const blob = createCursor(new Uint8Array(bytesPerBlob));
35
+ let size = 0;
36
+ while (size < fieldElementsPerBlob) {
37
+ const bytes = data.slice(position, position + (bytesPerFieldElement - 1));
38
+ // Push a zero byte so the field element doesn't overflow the BLS modulus.
39
+ blob.pushByte(0x00);
40
+ // Push the current segment of data bytes.
41
+ blob.pushBytes(bytes);
42
+ // If we detect that the current segment of data bytes is less than 31 bytes,
43
+ // we can stop processing and push a terminator byte to indicate the end of the blob.
44
+ if (bytes.length < 31) {
45
+ blob.pushByte(0x80);
46
+ active = false;
47
+ break;
48
+ }
49
+ size++;
50
+ position += 31;
51
+ }
52
+ blobs.push(blob);
53
+ }
54
+ return (to === 'bytes'
55
+ ? blobs.map((x) => x.bytes)
56
+ : blobs.map((x) => bytesToHex(x.bytes)));
57
+ }
58
+ //# sourceMappingURL=toBlobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toBlobs.js","sourceRoot":"","sources":["../../../utils/blob/toBlobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,qBAAqB,EAErB,cAAc,GAEf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAsB,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AA0B3E;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAKrB,UAAuC;IACvC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,IAAI,GAAG,CACX,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QACjC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,IAAI,CACP,CAAA;IAEd,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,cAAc,EAAE,CAAA;IACtC,IAAI,KAAK,GAAG,sBAAsB;QAChC,MAAM,IAAI,qBAAqB,CAAC;YAC9B,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,EAAE,CAAA;IAEhB,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;QAEvD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,GAAG,oBAAoB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAA;YAEzE,0EAA0E;YAC1E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEnB,0CAA0C;YAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAErB,6EAA6E;YAC7E,qFAAqF;YACrF,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnB,MAAM,GAAG,KAAK,CAAA;gBACd,MAAK;YACP,CAAC;YAED,IAAI,EAAE,CAAA;YACN,QAAQ,IAAI,EAAE,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,CACL,EAAE,KAAK,OAAO;QACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACjB,CAAA;AAC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toRlp.js","sourceRoot":"","sources":["../../../utils/encoding/toRlp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toRlp.js","sourceRoot":"","sources":["../../../utils/encoding/toRlp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { numberToHex } from '../encoding/toHex.js';
1
+ import { bytesToHex, numberToHex } from '../encoding/toHex.js';
2
2
  import { defineFormatter } from './formatter.js';
3
3
  export const rpcTransactionType = {
4
4
  legacy: '0x0',
@@ -6,31 +6,28 @@ export const rpcTransactionType = {
6
6
  eip1559: '0x2',
7
7
  eip4844: '0x3',
8
8
  };
9
- export function formatTransactionRequest(transactionRequest) {
10
- return {
11
- ...transactionRequest,
12
- gas: typeof transactionRequest.gas !== 'undefined'
13
- ? numberToHex(transactionRequest.gas)
14
- : undefined,
15
- gasPrice: typeof transactionRequest.gasPrice !== 'undefined'
16
- ? numberToHex(transactionRequest.gasPrice)
17
- : undefined,
18
- maxFeePerGas: typeof transactionRequest.maxFeePerGas !== 'undefined'
19
- ? numberToHex(transactionRequest.maxFeePerGas)
20
- : undefined,
21
- maxPriorityFeePerGas: typeof transactionRequest.maxPriorityFeePerGas !== 'undefined'
22
- ? numberToHex(transactionRequest.maxPriorityFeePerGas)
23
- : undefined,
24
- nonce: typeof transactionRequest.nonce !== 'undefined'
25
- ? numberToHex(transactionRequest.nonce)
26
- : undefined,
27
- type: typeof transactionRequest.type !== 'undefined'
28
- ? rpcTransactionType[transactionRequest.type]
29
- : undefined,
30
- value: typeof transactionRequest.value !== 'undefined'
31
- ? numberToHex(transactionRequest.value)
32
- : undefined,
33
- };
9
+ export function formatTransactionRequest(request) {
10
+ const rpcRequest = { ...request };
11
+ if (typeof request.blobs !== 'undefined' &&
12
+ typeof request.blobs[0] !== 'string')
13
+ rpcRequest.blobs = request.blobs.map((x) => bytesToHex(x));
14
+ if (typeof request.gas !== 'undefined')
15
+ rpcRequest.gas = numberToHex(request.gas);
16
+ if (typeof request.gasPrice !== 'undefined')
17
+ rpcRequest.gasPrice = numberToHex(request.gasPrice);
18
+ if (typeof request.maxFeePerBlobGas !== 'undefined')
19
+ rpcRequest.maxFeePerBlobGas = numberToHex(request.maxFeePerBlobGas);
20
+ if (typeof request.maxFeePerGas !== 'undefined')
21
+ rpcRequest.maxFeePerGas = numberToHex(request.maxFeePerGas);
22
+ if (typeof request.maxPriorityFeePerGas !== 'undefined')
23
+ rpcRequest.maxPriorityFeePerGas = numberToHex(request.maxPriorityFeePerGas);
24
+ if (typeof request.nonce !== 'undefined')
25
+ rpcRequest.nonce = numberToHex(request.nonce);
26
+ if (typeof request.type !== 'undefined')
27
+ rpcRequest.type = rpcTransactionType[request.type];
28
+ if (typeof request.value !== 'undefined')
29
+ rpcRequest.value = numberToHex(request.value);
30
+ return rpcRequest;
34
31
  }
35
32
  export const defineTransactionRequest = /*#__PURE__*/ defineFormatter('transactionRequest', formatTransactionRequest);
36
33
  //# sourceMappingURL=transactionRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAiC,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAU/E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACN,CAAA;AAIV,MAAM,UAAU,wBAAwB,CACtC,kBAA+C;IAE/C,OAAO;QACL,GAAG,kBAAkB;QACrB,GAAG,EACD,OAAO,kBAAkB,CAAC,GAAG,KAAK,WAAW;YAC3C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,SAAS;QACf,QAAQ,EACN,OAAO,kBAAkB,CAAC,QAAQ,KAAK,WAAW;YAChD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,SAAS;QACf,YAAY,EACV,OAAO,kBAAkB,CAAC,YAAY,KAAK,WAAW;YACpD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC;YAC9C,CAAC,CAAC,SAAS;QACf,oBAAoB,EAClB,OAAO,kBAAkB,CAAC,oBAAoB,KAAK,WAAW;YAC5D,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;YACtD,CAAC,CAAC,SAAS;QACf,KAAK,EACH,OAAO,kBAAkB,CAAC,KAAK,KAAK,WAAW;YAC7C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS;QACf,IAAI,EACF,OAAO,kBAAkB,CAAC,IAAI,KAAK,WAAW;YAC5C,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC,SAAS;QACf,KAAK,EACH,OAAO,kBAAkB,CAAC,KAAK,KAAK,WAAW;YAC7C,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,SAAS;KACS,CAAA;AAC5B,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
1
+ {"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAiC,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAU/E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACN,CAAA;AAIV,MAAM,UAAU,wBAAwB,CAAC,OAAoC;IAC3E,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAA2B,CAAA;IAE1D,IACE,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACpC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAEpC,UAAU,CAAC,KAAK,GAAI,OAAO,CAAC,KAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;QACpC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;QACzC,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,WAAW;QACjD,UAAU,CAAC,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrE,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW;QAC7C,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,OAAO,OAAO,CAAC,oBAAoB,KAAK,WAAW;QACrD,UAAU,CAAC,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC7E,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACtC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;QACrC,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACtC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,UAAU,CAAA;AACnB,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Defines a KZG interface.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import * as cKzg from 'c-kzg'
7
+ * import { defineKzg } from 'viem'
8
+ * import { mainnetTrustedSetupPath } from 'viem/node'
9
+ *
10
+ * cKzg.loadTrustedSetup(mainnetTrustedSetupPath)
11
+ *
12
+ * const kzg = defineKzg(cKzg)
13
+ * ```
14
+ */
15
+ export function defineKzg({ blobToKzgCommitment, computeBlobKzgProof, }) {
16
+ return {
17
+ blobToKzgCommitment,
18
+ computeBlobKzgProof,
19
+ };
20
+ }
21
+ //# sourceMappingURL=defineKzg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineKzg.js","sourceRoot":"","sources":["../../../utils/kzg/defineKzg.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,mBAAmB,EACnB,mBAAmB,GACC;IACpB,OAAO;QACL,mBAAmB;QACnB,mBAAmB;KACpB,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { defineKzg, } from './defineKzg.js';
2
+ /**
3
+ * Sets up and returns a KZG interface.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import * as cKzg from 'c-kzg'
8
+ * import { setupKzg } from 'viem'
9
+ * import { mainnetTrustedSetupPath } from 'viem/node'
10
+ *
11
+ * const kzg = setupKzg(cKzg, mainnetTrustedSetupPath)
12
+ * ```
13
+ */
14
+ export function setupKzg(parameters, path) {
15
+ try {
16
+ parameters.loadTrustedSetup(path);
17
+ }
18
+ catch (e) {
19
+ const error = e;
20
+ if (!error.message.includes('trusted setup is already loaded'))
21
+ throw error;
22
+ }
23
+ return defineKzg(parameters);
24
+ }
25
+ //# sourceMappingURL=setupKzg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupKzg.js","sourceRoot":"","sources":["../../../utils/kzg/setupKzg.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,GACV,MAAM,gBAAgB,CAAA;AAQvB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CACtB,UAA8B,EAC9B,IAAY;IAEZ,IAAI,CAAC;QACH,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAAE,MAAM,KAAK,CAAA;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,CAAC,CAAA;AAC9B,CAAC"}
@@ -19,10 +19,10 @@ import { bytesToHex } from '../encoding/toHex.js';
19
19
  */
20
20
  export function compactSignatureToSignature({ r, yParityAndS, }) {
21
21
  const yParityAndS_bytes = hexToBytes(yParityAndS);
22
- const v = yParityAndS_bytes[0] & 0x80 ? 28n : 27n;
22
+ const yParity = yParityAndS_bytes[0] & 0x80 ? 1 : 0;
23
23
  const s = yParityAndS_bytes;
24
- if (v === 28n)
24
+ if (yParity === 1)
25
25
  s[0] &= 0x7f;
26
- return { r, s: bytesToHex(s), v };
26
+ return { r, s: bytesToHex(s), yParity };
27
27
  }
28
28
  //# sourceMappingURL=compactSignatureToSignature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compactSignatureToSignature.js","sourceRoot":"","sources":["../../../utils/signature/compactSignatureToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAO3E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,CAAC,EACD,WAAW,GACM;IACjB,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACjD,MAAM,CAAC,GAAG,iBAAiB,CAAA;IAC3B,IAAI,CAAC,KAAK,GAAG;QAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"compactSignatureToSignature.js","sourceRoot":"","sources":["../../../utils/signature/compactSignatureToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAA4B,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAO3E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,CAAC,EACD,WAAW,GACM;IACjB,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,iBAAiB,CAAA;IAC3B,IAAI,OAAO,KAAK,CAAC;QAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC/B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC"}
@@ -13,6 +13,11 @@ import { numberToHex, } from '../../utils/encoding/toHex.js';
13
13
  export function hexToSignature(signatureHex) {
14
14
  const { r, s } = secp256k1.Signature.fromCompact(signatureHex.slice(2, 130));
15
15
  const v = BigInt(`0x${signatureHex.slice(130)}`);
16
- return { r: numberToHex(r, { size: 32 }), s: numberToHex(s, { size: 32 }), v };
16
+ return {
17
+ r: numberToHex(r, { size: 32 }),
18
+ s: numberToHex(s, { size: 32 }),
19
+ v,
20
+ yParity: v === 28n ? 1 : 0,
21
+ };
17
22
  }
18
23
  //# sourceMappingURL=hexToSignature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hexToSignature.js","sourceRoot":"","sources":["../../../utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AAItC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,YAAiB;IAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAChF,CAAC"}
1
+ {"version":3,"file":"hexToSignature.js","sourceRoot":"","sources":["../../../utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AAItC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,YAAiB;IAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO;QACL,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3B,CAAA;AACH,CAAC"}
@@ -9,7 +9,7 @@ import { bytesToHex, hexToBytes, } from '../index.js';
9
9
  * signatureToCompactSignature({
10
10
  * r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
11
11
  * s: '0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064',
12
- * v: 27n
12
+ * yParity: 0
13
13
  * })
14
14
  * // {
15
15
  * // r: '0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90',
@@ -17,10 +17,10 @@ import { bytesToHex, hexToBytes, } from '../index.js';
17
17
  * // }
18
18
  */
19
19
  export function signatureToCompactSignature(signature) {
20
- const { r, s, v } = signature;
21
- const yParity = v - 27n;
20
+ const { r, s, v, yParity } = signature;
21
+ const yParity_ = Number(yParity ?? v - 27n);
22
22
  let yParityAndS = s;
23
- if (yParity === 1n) {
23
+ if (yParity_ === 1) {
24
24
  const bytes = hexToBytes(s);
25
25
  bytes[0] |= 0x80;
26
26
  yParityAndS = bytesToHex(bytes);
@@ -1 +1 @@
1
- {"version":3,"file":"signatureToCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/signatureToCompactSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAA;AAOpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoB;IAEpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAA;IAC7B,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAA;IACvB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAChB,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"signatureToCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/signatureToCompactSignature.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAA;AAOpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoB;IAEpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,CAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAChB,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;AAC3B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { secp256k1 } from '@noble/curves/secp256k1';
2
2
  import { hexToBigInt, } from '../../utils/encoding/fromHex.js';
3
- import { toHex } from '../../utils/encoding/toHex.js';
3
+ import {} from '../../utils/encoding/toHex.js';
4
4
  /**
5
5
  * @description Converts a signature into hex format.
6
6
  *
@@ -11,11 +11,18 @@ import { toHex } from '../../utils/encoding/toHex.js';
11
11
  * signatureToHex({
12
12
  * r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',
13
13
  * s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',
14
- * v: 28n
14
+ * yParity: 1
15
15
  * })
16
16
  * // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
17
17
  */
18
- export function signatureToHex({ r, s, v }) {
19
- return `0x${new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).toCompactHex()}${toHex(v).slice(2)}`;
18
+ export function signatureToHex({ r, s, v, yParity }) {
19
+ const vHex = (() => {
20
+ if (v === 27n || yParity === 0)
21
+ return '1b';
22
+ if (v === 28n || yParity === 1)
23
+ return '1c';
24
+ throw new Error('Invalid v value');
25
+ })();
26
+ return `0x${new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).toCompactHex()}${vHex}`;
20
27
  }
21
28
  //# sourceMappingURL=signatureToHex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signatureToHex.js","sourceRoot":"","sources":["../../../utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAuB,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAO1E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa;IACnD,OAAO,KAAK,IAAI,SAAS,CAAC,SAAS,CACjC,WAAW,CAAC,CAAC,CAAC,EACd,WAAW,CAAC,CAAC,CAAC,CACf,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"signatureToHex.js","sourceRoot":"","sources":["../../../utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAEL,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAuB,MAAM,+BAA+B,CAAA;AAOnE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAa;IAC5D,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,KAAK,IAAI,SAAS,CAAC,SAAS,CACjC,WAAW,CAAC,CAAC,CAAC,EACd,WAAW,CAAC,CAAC,CAAC,CACf,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,CAAA;AAC3B,CAAC"}
@@ -1,8 +1,32 @@
1
+ import { versionedHashVersionKzg } from '../../constants/kzg.js';
1
2
  import { InvalidAddressError, } from '../../errors/address.js';
2
3
  import { BaseError } from '../../errors/base.js';
4
+ import { EmptyBlobError, InvalidVersionedHashSizeError, InvalidVersionedHashVersionError, } from '../../errors/blob.js';
3
5
  import { InvalidChainIdError, } from '../../errors/chain.js';
4
6
  import { FeeCapTooHighError, TipAboveFeeCapError, } from '../../errors/node.js';
5
7
  import { isAddress } from '../address/isAddress.js';
8
+ import { size } from '../data/size.js';
9
+ import { slice } from '../data/slice.js';
10
+ import { hexToNumber } from '../encoding/fromHex.js';
11
+ export function assertTransactionEIP4844(transaction) {
12
+ const { blobVersionedHashes } = transaction;
13
+ if (blobVersionedHashes) {
14
+ if (blobVersionedHashes.length === 0)
15
+ throw new EmptyBlobError();
16
+ for (const hash of blobVersionedHashes) {
17
+ const size_ = size(hash);
18
+ const version = hexToNumber(slice(hash, 0, 1));
19
+ if (size_ !== 32)
20
+ throw new InvalidVersionedHashSizeError({ hash, size: size_ });
21
+ if (version !== versionedHashVersionKzg)
22
+ throw new InvalidVersionedHashVersionError({
23
+ hash,
24
+ version,
25
+ });
26
+ }
27
+ }
28
+ assertTransactionEIP1559(transaction);
29
+ }
6
30
  export function assertTransactionEIP1559(transaction) {
7
31
  const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;
8
32
  if (chainId <= 0)
@@ -1 +1 @@
1
- {"version":3,"file":"assertTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,kBAAkB,EAElB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAA;AAO7B,OAAO,EAA2B,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAW5E,MAAM,UAAU,wBAAwB,CACtC,WAA2C;IAE3C,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,GACjE,WAAW,CAAA;IACb,IAAI,OAAO,IAAI,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,IAAI,QAAQ;QACV,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAA;IACH,IAAI,YAAY,IAAI,YAAY,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE;QAChD,MAAM,IAAI,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;IAChD,IACE,oBAAoB;QACpB,YAAY;QACZ,oBAAoB,GAAG,YAAY;QAEnC,MAAM,IAAI,mBAAmB,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACzE,CAAC;AAUD,MAAM,UAAU,wBAAwB,CACtC,WAA2C;IAE3C,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,GACjE,WAAW,CAAA;IACb,IAAI,OAAO,IAAI,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,IAAI,oBAAoB,IAAI,YAAY;QACtC,MAAM,IAAI,SAAS,CACjB,sFAAsF,CACvF,CAAA;IACH,IAAI,QAAQ,IAAI,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE;QACxC,MAAM,IAAI,kBAAkB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC5D,CAAC;AAUD,MAAM,UAAU,uBAAuB,CACrC,WAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,EAAE,EACF,UAAU,GACX,GAAG,WAAW,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC;QAChD,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5C,IAAI,oBAAoB,IAAI,YAAY;QACtC,MAAM,IAAI,SAAS,CACjB,oFAAoF,CACrF,CAAA;IACH,IAAI,QAAQ,IAAI,QAAQ,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE;QACxC,MAAM,IAAI,kBAAkB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC1D,IAAI,UAAU;QACZ,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"assertTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { sliceHex } from '../data/slice.js';
3
3
  import { hexToNumber } from '../encoding/fromHex.js';
4
4
  export function getSerializedTransactionType(serializedTransaction) {
5
5
  const serializedType = sliceHex(serializedTransaction, 0, 1);
6
+ if (serializedType === '0x03')
7
+ return 'eip4844';
6
8
  if (serializedType === '0x02')
7
9
  return 'eip1559';
8
10
  if (serializedType === '0x01')
@@ -1 +1 @@
1
- {"version":3,"file":"getSerializedTransactionType.js","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,GAEtC,MAAM,6BAA6B,CAAA;AAOpC,OAAO,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAA6B,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAgB/E,MAAM,UAAU,4BAA4B,CAG1C,qBAAkC;IAElC,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAsD,CAAA;IAE/D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAsD,CAAA;IAE/D,IAAI,cAAc,KAAK,IAAI,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,IAAI;QAChE,OAAO,QAAqD,CAAA;IAE9D,MAAM,IAAI,qCAAqC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;AACrE,CAAC"}
1
+ {"version":3,"file":"getSerializedTransactionType.js","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,GAEtC,MAAM,6BAA6B,CAAA;AAapC,OAAO,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAA6B,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA8B/E,MAAM,UAAU,4BAA4B,CAG1C,qBAA4C;IAE5C,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,IAAI,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,IAAI;QAChE,OAAO,QAA+D,CAAA;IAExE,MAAM,IAAI,qCAAqC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;AACrE,CAAC"}
@@ -2,9 +2,15 @@ import { InvalidSerializableTransactionError, } from '../../errors/transaction.j
2
2
  export function getTransactionType(transaction) {
3
3
  if (transaction.type)
4
4
  return transaction.type;
5
+ if (typeof transaction.blobs !== 'undefined' ||
6
+ typeof transaction.blobVersionedHashes !== 'undefined' ||
7
+ typeof transaction.maxFeePerBlobGas !== 'undefined' ||
8
+ typeof transaction.sidecars !== 'undefined')
9
+ return 'eip4844';
5
10
  if (typeof transaction.maxFeePerGas !== 'undefined' ||
6
- typeof transaction.maxPriorityFeePerGas !== 'undefined')
11
+ typeof transaction.maxPriorityFeePerGas !== 'undefined') {
7
12
  return 'eip1559';
13
+ }
8
14
  if (typeof transaction.gasPrice !== 'undefined') {
9
15
  if (typeof transaction.accessList !== 'undefined')
10
16
  return 'eip2930';