Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
EIP-4844 Blob Validation Implementation
This PR implements missing blob gas validation for EIP-4844 and adds some checks for transaction and block validity:
Transaction Validation
#isValidTransaction
to check blob transaction validity, included missing checks as defined in ethereum/execution-specs#deductBlobGas
operation#checkTxVersionedHashes
Block Validation
#validateBlockBlobs
to verify total blob count and excess blob gas#finalizeBlockBlobs
for block-level validationpreviousExcessBlobGas
andpreviousBlobGasUsed
cellsGas Calculations
evm.md
togas.md
:Ctotalblob
- calculates gas used per blobCbasefeeperblob
- computes blob base feeCblobfee
- calculates total blob feeCexcessblob
- maintains excess blob gas between blocksError Handling
EVMC_INVALID_BLOCK
status code for blob validation failuresThis implementation ensures that KEVM correctly rejects blocks with invalid blob gas parameters, matching Ethereum consensus rules.