From e97863ddeb94af4650f45f7931a9eebb0e90b4ab Mon Sep 17 00:00:00 2001 From: Roman Krasiuk Date: Mon, 16 Dec 2024 05:22:17 +0200 Subject: [PATCH 1/2] chore: extra data --- crates/consensus/common/src/validation.rs | 10 ++++---- crates/ethereum/consensus/src/lib.rs | 8 +++--- crates/ethereum/node/src/node.rs | 2 +- crates/node/core/src/args/payload_builder.rs | 26 ++++++++++---------- crates/node/core/src/cli/config.rs | 8 +++--- crates/node/core/src/version.rs | 6 ++--- crates/optimism/chainspec/src/lib.rs | 2 +- crates/optimism/consensus/src/lib.rs | 6 ++--- crates/primitives-traits/src/header/error.rs | 2 +- examples/custom-payload-builder/src/main.rs | 2 +- 10 files changed, 36 insertions(+), 36 deletions(-) diff --git a/crates/consensus/common/src/validation.rs b/crates/consensus/common/src/validation.rs index e90f81f52b53..1666979b3d31 100644 --- a/crates/consensus/common/src/validation.rs +++ b/crates/consensus/common/src/validation.rs @@ -213,15 +213,15 @@ pub fn validate_4844_header_standalone(header: &H) -> Result<(), Ok(()) } -/// Validates the header's extradata according to the beacon consensus rules. +/// Validates the header's extra data according to the beacon consensus rules. /// /// From yellow paper: extraData: An arbitrary byte array containing data relevant to this block. /// This must be 32 bytes or fewer; formally Hx. #[inline] -pub fn validate_header_extradata(header: &H) -> Result<(), ConsensusError> { - let extradata_len = header.extra_data().len(); - if extradata_len > MAXIMUM_EXTRA_DATA_SIZE { - Err(ConsensusError::ExtraDataExceedsMax { len: extradata_len }) +pub fn validate_header_extra_data(header: &H) -> Result<(), ConsensusError> { + let extra_data_len = header.extra_data().len(); + if extra_data_len > MAXIMUM_EXTRA_DATA_SIZE { + Err(ConsensusError::ExtraDataExceedsMax { len: extra_data_len }) } else { Ok(()) } diff --git a/crates/ethereum/consensus/src/lib.rs b/crates/ethereum/consensus/src/lib.rs index 35c36daa9b6c..b762d4db2b92 100644 --- a/crates/ethereum/consensus/src/lib.rs +++ b/crates/ethereum/consensus/src/lib.rs @@ -19,7 +19,7 @@ use reth_consensus_common::validation::{ validate_4844_header_standalone, validate_against_parent_4844, validate_against_parent_eip1559_base_fee, validate_against_parent_hash_number, validate_against_parent_timestamp, validate_block_pre_execution, validate_body_against_header, - validate_header_base_fee, validate_header_extradata, validate_header_gas, + validate_header_base_fee, validate_header_extra_data, validate_header_gas, }; use reth_primitives::{BlockWithSenders, NodePrimitives, Receipt, SealedBlock, SealedHeader}; use reth_primitives_traits::{ @@ -234,8 +234,8 @@ where // Block validation with respect to the parent should ensure that the block timestamp // is greater than its parent timestamp. - // validate header extradata for all networks post merge - validate_header_extradata(header)?; + // validate header extra data for all networks post merge + validate_header_extra_data(header)?; // mixHash is used instead of difficulty inside EVM // https://eips.ethereum.org/EIPS/eip-4399#using-mixhash-field-instead-of-difficulty @@ -256,7 +256,7 @@ where }) } - validate_header_extradata(header)?; + validate_header_extra_data(header)?; } Ok(()) diff --git a/crates/ethereum/node/src/node.rs b/crates/ethereum/node/src/node.rs index d08879be69d9..d2eb59a4ae4c 100644 --- a/crates/ethereum/node/src/node.rs +++ b/crates/ethereum/node/src/node.rs @@ -256,7 +256,7 @@ impl EthereumPayloadBuilder { let conf = ctx.payload_builder_config(); let payload_builder = reth_ethereum_payload_builder::EthereumPayloadBuilder::new( evm_config, - EthereumBuilderConfig::new(conf.extradata_bytes()).with_gas_limit(conf.gas_limit()), + EthereumBuilderConfig::new(conf.extra_data_bytes()).with_gas_limit(conf.gas_limit()), ); let payload_job_config = BasicPayloadJobGeneratorConfig::default() diff --git a/crates/node/core/src/args/payload_builder.rs b/crates/node/core/src/args/payload_builder.rs index c5ef0d7f3320..58b7e93ca212 100644 --- a/crates/node/core/src/args/payload_builder.rs +++ b/crates/node/core/src/args/payload_builder.rs @@ -13,8 +13,8 @@ use std::{borrow::Cow, ffi::OsStr, time::Duration}; #[command(next_help_heading = "Builder")] pub struct PayloadBuilderArgs { /// Block extra data set by the payload builder. - #[arg(long = "builder.extradata", value_parser = ExtradataValueParser::default(), default_value_t = default_extra_data())] - pub extradata: String, + #[arg(long = "builder.extradata", value_parser = ExtraDataValueParser::default(), default_value_t = default_extra_data())] + pub extra_data: String, /// Target gas limit for built blocks. #[arg(long = "builder.gaslimit", default_value_t = ETHEREUM_BLOCK_GAS_LIMIT, value_name = "GAS_LIMIT")] @@ -40,7 +40,7 @@ pub struct PayloadBuilderArgs { impl Default for PayloadBuilderArgs { fn default() -> Self { Self { - extradata: default_extra_data(), + extra_data: default_extra_data(), gas_limit: ETHEREUM_BLOCK_GAS_LIMIT, interval: Duration::from_secs(1), deadline: SLOT_DURATION, @@ -50,8 +50,8 @@ impl Default for PayloadBuilderArgs { } impl PayloadBuilderConfig for PayloadBuilderArgs { - fn extradata(&self) -> Cow<'_, str> { - self.extradata.as_str().into() + fn extra_data(&self) -> Cow<'_, str> { + self.extra_data.as_str().into() } fn interval(&self) -> Duration { @@ -73,9 +73,9 @@ impl PayloadBuilderConfig for PayloadBuilderArgs { #[derive(Clone, Debug, Default)] #[non_exhaustive] -struct ExtradataValueParser; +struct ExtraDataValueParser; -impl TypedValueParser for ExtradataValueParser { +impl TypedValueParser for ExtraDataValueParser { type Value = String; fn parse_ref( @@ -130,23 +130,23 @@ mod tests { #[test] fn test_default_extra_data() { - let extradata = default_extra_data(); + let extra_data = default_extra_data(); let args = CommandParser::::parse_from([ "reth", "--builder.extradata", - extradata.as_str(), + extra_data.as_str(), ]) .args; - assert_eq!(args.extradata, extradata); + assert_eq!(args.extra_data, extra_data); } #[test] - fn test_invalid_extradata() { - let extradata = "x".repeat(MAXIMUM_EXTRA_DATA_SIZE + 1); + fn test_invalid_extra_data() { + let extra_data = "x".repeat(MAXIMUM_EXTRA_DATA_SIZE + 1); let args = CommandParser::::try_parse_from([ "reth", "--builder.extradata", - extradata.as_str(), + extra_data.as_str(), ]); assert!(args.is_err()); } diff --git a/crates/node/core/src/cli/config.rs b/crates/node/core/src/cli/config.rs index e3b542c0b734..370c6e67dd2a 100644 --- a/crates/node/core/src/cli/config.rs +++ b/crates/node/core/src/cli/config.rs @@ -11,11 +11,11 @@ use std::{borrow::Cow, time::Duration}; /// [`PayloadBuilderArgs`](crate::args::PayloadBuilderArgs) type. pub trait PayloadBuilderConfig { /// Block extra data set by the payload builder. - fn extradata(&self) -> Cow<'_, str>; + fn extra_data(&self) -> Cow<'_, str>; - /// Returns the extradata as bytes. - fn extradata_bytes(&self) -> Bytes { - self.extradata().as_bytes().to_vec().into() + /// Returns the extra data as bytes. + fn extra_data_bytes(&self) -> Bytes { + self.extra_data().as_bytes().to_vec().into() } /// The interval at which the job should build a new payload after the last. diff --git a/crates/node/core/src/version.rs b/crates/node/core/src/version.rs index ae729e7f2f04..406cb89ca9a6 100644 --- a/crates/node/core/src/version.rs +++ b/crates/node/core/src/version.rs @@ -149,8 +149,8 @@ mod tests { use super::*; #[test] - fn assert_extradata_less_32bytes() { - let extradata = default_extra_data(); - assert!(extradata.len() <= 32, "extradata must be less than 32 bytes: {extradata}") + fn assert_extra_data_less_32bytes() { + let extra_data = default_extra_data(); + assert!(extra_data.len() <= 32, "extra data must be less than 32 bytes: {extra_data}") } } diff --git a/crates/optimism/chainspec/src/lib.rs b/crates/optimism/chainspec/src/lib.rs index 6670aef1d01d..af432b3f12d9 100644 --- a/crates/optimism/chainspec/src/lib.rs +++ b/crates/optimism/chainspec/src/lib.rs @@ -193,7 +193,7 @@ pub struct OpChainSpec { } impl OpChainSpec { - /// Extracts the Holcene 1599 parameters from the encoded extradata from the parent header. + /// Extracts the Holocene 1599 parameters from the encoded extra data from the parent header. /// /// Caution: Caller must ensure that holocene is active in the parent header. /// diff --git a/crates/optimism/consensus/src/lib.rs b/crates/optimism/consensus/src/lib.rs index d05ff9c9bd76..78e0748ca395 100644 --- a/crates/optimism/consensus/src/lib.rs +++ b/crates/optimism/consensus/src/lib.rs @@ -19,7 +19,7 @@ use reth_consensus_common::validation::{ validate_against_parent_4844, validate_against_parent_eip1559_base_fee, validate_against_parent_hash_number, validate_against_parent_timestamp, validate_body_against_header, validate_cancun_gas, validate_header_base_fee, - validate_header_extradata, validate_header_gas, validate_shanghai_withdrawals, + validate_header_extra_data, validate_header_gas, validate_shanghai_withdrawals, }; use reth_optimism_chainspec::OpChainSpec; use reth_optimism_forks::OpHardforks; @@ -170,8 +170,8 @@ impl HeaderValidator for OpBeaconConsensus { // Block validation with respect to the parent should ensure that the block timestamp // is greater than its parent timestamp. - // validate header extradata for all networks post merge - validate_header_extradata(header)?; + // validate header extra data for all networks post merge + validate_header_extra_data(header)?; // mixHash is used instead of difficulty inside EVM // https://eips.ethereum.org/EIPS/eip-4399#using-mixhash-field-instead-of-difficulty diff --git a/crates/primitives-traits/src/header/error.rs b/crates/primitives-traits/src/header/error.rs index 6161afc1a5cb..3905d831053f 100644 --- a/crates/primitives-traits/src/header/error.rs +++ b/crates/primitives-traits/src/header/error.rs @@ -3,6 +3,6 @@ pub enum HeaderError { /// Represents an error when the block difficulty is too large. LargeDifficulty, - /// Represents an error when the block extradata is too large. + /// Represents an error when the block extra data is too large. LargeExtraData, } diff --git a/examples/custom-payload-builder/src/main.rs b/examples/custom-payload-builder/src/main.rs index 8ce08c0262fb..bdbfe1510286 100644 --- a/examples/custom-payload-builder/src/main.rs +++ b/examples/custom-payload-builder/src/main.rs @@ -67,7 +67,7 @@ where payload_job_config, reth_ethereum_payload_builder::EthereumPayloadBuilder::new( EthEvmConfig::new(ctx.chain_spec()), - EthereumBuilderConfig::new(conf.extradata_bytes()), + EthereumBuilderConfig::new(conf.extra_data_bytes()), ), ); From 2d3059329eaabc3063f8a982781424aa1878032e Mon Sep 17 00:00:00 2001 From: Roman Krasiuk Date: Mon, 16 Dec 2024 05:36:00 +0200 Subject: [PATCH 2/2] ok --- book/cli/reth/node.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/cli/reth/node.md b/book/cli/reth/node.md index 685426ed6009..d8465d253fcf 100644 --- a/book/cli/reth/node.md +++ b/book/cli/reth/node.md @@ -508,7 +508,7 @@ TxPool: [default: 200] Builder: - --builder.extradata + --builder.extradata Block extra data set by the payload builder [default: reth//]