diff --git a/gasometer/src/lib.rs b/gasometer/src/lib.rs index 87d847894..2803002fa 100644 --- a/gasometer/src/lib.rs +++ b/gasometer/src/lib.rs @@ -518,7 +518,7 @@ pub fn static_opcode_cost(opcode: Opcode) -> Option { } /// Calculate the opcode cost. -#[allow(clippy::nonminimal_bool)] +#[allow(clippy::nonminimal_bool, clippy::cognitive_complexity)] pub fn dynamic_opcode_cost( address: H160, opcode: Opcode, @@ -548,6 +548,21 @@ pub fn dynamic_opcode_cost( Opcode::BASEFEE if config.has_base_fee => GasCost::Base, Opcode::BASEFEE => GasCost::Invalid(opcode), + Opcode::BLOBBASEFEE if config.has_blob_base_fee => GasCost::Base, + Opcode::BLOBBASEFEE => GasCost::Invalid(opcode), + + Opcode::BLOBHASH if config.has_shard_blob_transactions => GasCost::VeryLow, + Opcode::BLOBHASH => GasCost::Invalid(opcode), + + Opcode::TLOAD if config.has_transient_storage => todo!(), + Opcode::TLOAD => GasCost::Invalid(opcode), + + Opcode::TSTORE if config.has_transient_storage => todo!(), + Opcode::TSTORE => GasCost::Invalid(opcode), + + Opcode::MCOPY if config.has_mcopy => todo!(), + Opcode::MCOPY => GasCost::Invalid(opcode), + Opcode::EXTCODESIZE => { let target = stack.peek_h256(0)?.into(); storage_target = StorageTarget::Address(target); diff --git a/runtime/src/eval/mod.rs b/runtime/src/eval/mod.rs index c40c4d911..50451ad68 100644 --- a/runtime/src/eval/mod.rs +++ b/runtime/src/eval/mod.rs @@ -60,6 +60,11 @@ pub fn eval(state: &mut Runtime, opcode: Opcode, handler: &mut H) -> Opcode::STATICCALL => system::call(state, CallScheme::StaticCall, handler), Opcode::CHAINID => system::chainid(state, handler), Opcode::BASEFEE => system::base_fee(state, handler), + Opcode::BLOBBASEFEE => todo!(), + Opcode::BLOBHASH => todo!(), + Opcode::TLOAD => todo!(), + Opcode::TSTORE => todo!(), + Opcode::MCOPY => todo!(), _ => handle_other(state, opcode, handler), } }