@@ -3,7 +3,7 @@ use std::sync::Arc;
33use alloy:: {
44 eips:: BlockId ,
55 rpc:: types:: {
6- TransactionRequest ,
6+ BlockOverrides , TransactionRequest ,
77 state:: { AccountOverride , StateOverride } ,
88 } ,
99} ;
@@ -61,15 +61,14 @@ pub fn debug_trace_call(params: Params, node: &Arc<Node>) -> Result<GethTrace> {
6161 let call_params: TransactionRequest = params. next ( ) ?;
6262 let block_id: BlockId = params. optional_next ( ) ?. unwrap_or_default ( ) ;
6363 let options: GethDebugTracingCallOptions = params. optional_next ( ) ?. unwrap_or_default ( ) ;
64+ crate :: api:: eth:: expect_end_of_params ( & mut params, 1 , 3 ) ?;
6465
6566 anyhow:: ensure!(
6667 options. block_overrides. is_none( ) ,
6768 "block_overrides unexpected"
6869 ) ;
6970 anyhow:: ensure!( options. tx_index. is_none( ) , "tx_index unexpected" ) ;
7071
71- let overrides = options. state_overrides . clone ( ) . unwrap_or_default ( ) ;
72-
7372 let ( mut evm_state, block) = {
7473 let block = node. get_block ( block_id) ?;
7574 let block = build_errored_response_for_missing_block ( block_id, block) ?;
@@ -81,9 +80,12 @@ pub fn debug_trace_call(params: Params, node: &Arc<Node>) -> Result<GethTrace> {
8180 "State required to execute request does not exist"
8281 ) ;
8382
84- tracing:: trace!( "debug contract: block={block:?} overrides={overrides:?}" ) ;
83+ let state_overrides = options. state_overrides . clone ( ) . unwrap_or_default ( ) ;
84+ let block_overrides = options. block_overrides . clone ( ) . unwrap_or_default ( ) ;
85+
86+ tracing:: trace!( ?state_overrides, ?block_overrides, ?block, "debug contract" ) ;
8587
86- apply_state_overrides ( & mut evm_state, & node. clone ( ) , overrides ) ?;
88+ apply_state_overrides ( & mut evm_state, & node. clone ( ) , state_overrides ) ?;
8789
8890 let result = node. debug_trace_call ( & mut evm_state, & block, call_params, options) ?;
8991
@@ -97,7 +99,9 @@ pub fn eth_call(params: Params, node: &Arc<Node>) -> Result<String> {
9799 let mut params = params. sequence ( ) ;
98100 let call_params: TransactionRequest = params. next ( ) ?;
99101 let block_id: BlockId = params. optional_next ( ) ?. unwrap_or_default ( ) ;
100- let overrides: StateOverride = params. optional_next ( ) ?. unwrap_or_default ( ) ;
102+ let state_overrides: StateOverride = params. optional_next ( ) ?. unwrap_or_default ( ) ;
103+ let block_overrides: BlockOverrides = params. optional_next ( ) ?. unwrap_or_default ( ) ;
104+ crate :: api:: eth:: expect_end_of_params ( & mut params, 1 , 4 ) ?;
101105
102106 let ( mut evm_state, block) = {
103107 let block = node. get_block ( block_id) ?;
@@ -109,9 +113,9 @@ pub fn eth_call(params: Params, node: &Arc<Node>) -> Result<String> {
109113 return Err ( anyhow ! ( "State required to execute request does not exist" ) ) ;
110114 }
111115
112- tracing:: trace!( "call_contract: block={block:?} overrides={overrides:?} ") ;
116+ tracing:: trace!( ? block, ?state_overrides , ?block_overrides , "call_contract ") ;
113117
114- apply_state_overrides ( & mut evm_state, & node. clone ( ) , overrides ) ?;
118+ apply_state_overrides ( & mut evm_state, & node. clone ( ) , state_overrides ) ?;
115119
116120 let result = evm_state. call_contract (
117121 call_params. from . unwrap_or_default ( ) ,
0 commit comments