@@ -62,6 +62,7 @@ mod error_invalid_opcode;
62
62
mod error_oog_call;
63
63
mod error_oog_log;
64
64
mod error_oog_sload_sstore;
65
+ mod error_precompile_failed;
65
66
mod error_stack_oog_constant;
66
67
67
68
#[ cfg( test) ]
@@ -86,6 +87,7 @@ use error_invalid_opcode::InvalidOpcode;
86
87
use error_oog_call:: OOGCall ;
87
88
use error_oog_log:: ErrorOOGLog ;
88
89
use error_oog_sload_sstore:: OOGSloadSstore ;
90
+ use error_precompile_failed:: PrecompileFailed ;
89
91
use error_stack_oog_constant:: ErrorStackOogConstant ;
90
92
use exp:: Exponentiation ;
91
93
use extcodecopy:: Extcodecopy ;
@@ -274,6 +276,7 @@ fn fn_gen_error_state_associated_ops(error: &ExecError) -> Option<FnGenAssociate
274
276
ExecError :: StackUnderflow => Some ( ErrorStackOogConstant :: gen_associated_ops) ,
275
277
// call & callcode can encounter InsufficientBalance error, Use pop-7 generic CallOpcode
276
278
ExecError :: InsufficientBalance => Some ( CallOpcode :: < 7 > :: gen_associated_ops) ,
279
+ ExecError :: PrecompileFailed => Some ( PrecompileFailed :: gen_associated_ops) ,
277
280
278
281
// more future errors place here
279
282
_ => {
@@ -637,6 +640,7 @@ pub fn gen_end_tx_ops(state: &mut CircuitInputStateRef) -> Result<ExecStep, Erro
637
640
let effective_tip = state. tx . gas_price - block_info. base_fee ;
638
641
let ( found, coinbase_account) = state. sdb . get_account_mut ( & block_info. coinbase ) ;
639
642
if !found {
643
+ log:: error!( "coinbase account not found: {}" , block_info. coinbase) ;
640
644
return Err ( Error :: AccountNotFound ( block_info. coinbase ) ) ;
641
645
}
642
646
let coinbase_balance_prev = coinbase_account. balance ;
0 commit comments