11//! Loads chain configuration.
22
3- use alloy_consensus:: Header ;
3+ use alloy_consensus:: { BlockHeader , Header } ;
44use alloy_eips:: eip7910:: { EthConfig , EthForkConfig , SystemContract } ;
55use alloy_evm:: precompiles:: Precompile ;
66use alloy_primitives:: Address ;
@@ -9,6 +9,7 @@ use reth_chainspec::{ChainSpecProvider, EthChainSpec, EthereumHardforks, Hardfor
99use reth_errors:: { ProviderError , RethError } ;
1010use reth_evm:: { precompiles:: PrecompilesMap , ConfigureEvm , Evm } ;
1111use reth_node_api:: NodePrimitives ;
12+ use reth_primitives_traits:: header:: HeaderMut ;
1213use reth_revm:: db:: EmptyDB ;
1314use reth_rpc_eth_types:: EthApiError ;
1415use reth_storage_api:: BlockReaderIdExt ;
@@ -35,9 +36,9 @@ pub struct EthConfigHandler<Provider, Evm> {
3536impl < Provider , Evm > EthConfigHandler < Provider , Evm >
3637where
3738 Provider : ChainSpecProvider < ChainSpec : Hardforks + EthereumHardforks >
38- + BlockReaderIdExt < Header = Header >
39+ + BlockReaderIdExt < Header : HeaderMut >
3940 + ' static ,
40- Evm : ConfigureEvm < Primitives : NodePrimitives < BlockHeader = Header > > + ' static ,
41+ Evm : ConfigureEvm < Primitives : NodePrimitives < BlockHeader = Provider :: Header > > + ' static ,
4142{
4243 /// Creates a new [`EthConfigHandler`].
4344 pub const fn new ( provider : Provider , evm_config : Evm ) -> Self {
@@ -100,7 +101,7 @@ where
100101
101102 let ( current_fork_idx, current_fork_timestamp) = fork_timestamps
102103 . iter ( )
103- . position ( |ts| & latest. timestamp < ts)
104+ . position ( |ts| & latest. timestamp ( ) < ts)
104105 . and_then ( |idx| idx. checked_sub ( 1 ) )
105106 . or_else ( || fork_timestamps. len ( ) . checked_sub ( 1 ) )
106107 . and_then ( |idx| fork_timestamps. get ( idx) . map ( |ts| ( idx, * ts) ) )
@@ -115,7 +116,7 @@ where
115116 if let Some ( next_fork_timestamp) = fork_timestamps. get ( current_fork_idx + 1 ) . copied ( ) {
116117 let fake_header = {
117118 let mut header = latest. clone ( ) ;
118- header. timestamp = next_fork_timestamp;
119+ header. set_timestamp ( next_fork_timestamp) ;
119120 header
120121 } ;
121122 let next_precompiles = evm_to_precompiles_map (
@@ -133,7 +134,7 @@ where
133134 let last_fork_timestamp = fork_timestamps. last ( ) . copied ( ) . unwrap ( ) ;
134135 let fake_header = {
135136 let mut header = latest;
136- header. timestamp = last_fork_timestamp;
137+ header. set_timestamp ( last_fork_timestamp) ;
137138 header
138139 } ;
139140 let last_precompiles = evm_to_precompiles_map (
0 commit comments