Implement "Synchronously check all transactions to have non-zero length"

This commit is contained in:
Eitan Seri-Levi
2025-01-02 22:08:06 +07:00
parent 9b8a25f8dd
commit 23d331bace
3 changed files with 7 additions and 1 deletions

View File

@@ -121,6 +121,11 @@ impl<'block, E: EthSpec> NewPayloadRequest<'block, E> {
let _timer = metrics::start_timer(&metrics::EXECUTION_LAYER_VERIFY_BLOCK_HASH);
// Check that no transactions in the payload are zero length
if payload.transactions().iter().any(|slice| slice.is_empty()) {
return Err(Error::ZeroLengthTransaction);
}
let (header_hash, rlp_transactions_root) = calculate_execution_block_hash(
payload,
parent_beacon_block_root,

View File

@@ -149,6 +149,7 @@ pub enum Error {
payload: ExecutionBlockHash,
transactions_root: Hash256,
},
ZeroLengthTransaction,
PayloadBodiesByRangeNotSupported,
InvalidJWTSecret(String),
InvalidForkForPayload,