mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: simplify SystemCaller setup (#12223)
This commit is contained in:
@ -195,11 +195,7 @@ pub trait Trace: LoadState<Evm: ConfigureEvm<Header = Header>> {
|
||||
let block_txs = block.transactions_with_sender();
|
||||
|
||||
// apply relevant system calls
|
||||
let mut system_caller = SystemCaller::new(
|
||||
this.evm_config().clone(),
|
||||
RpcNodeCore::provider(&this).chain_spec(),
|
||||
);
|
||||
system_caller
|
||||
SystemCaller::new(this.evm_config().clone(), this.provider().chain_spec())
|
||||
.pre_block_beacon_root_contract_call(
|
||||
&mut db,
|
||||
&cfg,
|
||||
@ -338,11 +334,7 @@ pub trait Trace: LoadState<Evm: ConfigureEvm<Header = Header>> {
|
||||
CacheDB::new(StateProviderDatabase::new(StateProviderTraitObjWrapper(&state)));
|
||||
|
||||
// apply relevant system calls
|
||||
let mut system_caller = SystemCaller::new(
|
||||
this.evm_config().clone(),
|
||||
RpcNodeCore::provider(&this).chain_spec(),
|
||||
);
|
||||
system_caller
|
||||
SystemCaller::new(this.evm_config().clone(), this.provider().chain_spec())
|
||||
.pre_block_beacon_root_contract_call(
|
||||
&mut db,
|
||||
&cfg,
|
||||
|
||||
@ -113,24 +113,22 @@ where
|
||||
let mut results = Vec::with_capacity(transactions.len());
|
||||
let mut db = CacheDB::new(StateProviderDatabase::new(state));
|
||||
|
||||
let mut system_caller = SystemCaller::new(
|
||||
RpcNodeCore::evm_config(this.eth_api()).clone(),
|
||||
RpcNodeCore::provider(this.eth_api()).chain_spec(),
|
||||
);
|
||||
|
||||
// apply relevant system calls
|
||||
system_caller
|
||||
.pre_block_beacon_root_contract_call(
|
||||
&mut db,
|
||||
&cfg,
|
||||
&block_env,
|
||||
parent_beacon_block_root,
|
||||
SystemCaller::new(
|
||||
this.eth_api().evm_config().clone(),
|
||||
this.eth_api().provider().chain_spec(),
|
||||
)
|
||||
.pre_block_beacon_root_contract_call(
|
||||
&mut db,
|
||||
&cfg,
|
||||
&block_env,
|
||||
parent_beacon_block_root,
|
||||
)
|
||||
.map_err(|_| {
|
||||
EthApiError::EvmCustom(
|
||||
"failed to apply 4788 beacon root system call".to_string(),
|
||||
)
|
||||
.map_err(|_| {
|
||||
EthApiError::EvmCustom(
|
||||
"failed to apply 4788 beacon root system call".to_string(),
|
||||
)
|
||||
})?;
|
||||
})?;
|
||||
|
||||
let mut transactions = transactions.into_iter().enumerate().peekable();
|
||||
let mut inspector = None;
|
||||
@ -296,23 +294,21 @@ where
|
||||
let mut db = CacheDB::new(StateProviderDatabase::new(state));
|
||||
|
||||
// apply relevant system calls
|
||||
let mut system_caller = SystemCaller::new(
|
||||
RpcNodeCore::evm_config(this.eth_api()).clone(),
|
||||
RpcNodeCore::provider(this.eth_api()).chain_spec(),
|
||||
);
|
||||
|
||||
system_caller
|
||||
.pre_block_beacon_root_contract_call(
|
||||
&mut db,
|
||||
&cfg,
|
||||
&block_env,
|
||||
parent_beacon_block_root,
|
||||
SystemCaller::new(
|
||||
this.eth_api().evm_config().clone(),
|
||||
this.eth_api().provider().chain_spec(),
|
||||
)
|
||||
.pre_block_beacon_root_contract_call(
|
||||
&mut db,
|
||||
&cfg,
|
||||
&block_env,
|
||||
parent_beacon_block_root,
|
||||
)
|
||||
.map_err(|_| {
|
||||
EthApiError::EvmCustom(
|
||||
"failed to apply 4788 beacon root system call".to_string(),
|
||||
)
|
||||
.map_err(|_| {
|
||||
EthApiError::EvmCustom(
|
||||
"failed to apply 4788 beacon root system call".to_string(),
|
||||
)
|
||||
})?;
|
||||
})?;
|
||||
|
||||
// replay all transactions prior to the targeted transaction
|
||||
let index = this.eth_api().replay_transactions_until(
|
||||
|
||||
Reference in New Issue
Block a user