diff --git a/crates/interpreter/src/instruction_result.rs b/crates/interpreter/src/instruction_result.rs index c0aba7b88b..4263c939f6 100644 --- a/crates/interpreter/src/instruction_result.rs +++ b/crates/interpreter/src/instruction_result.rs @@ -130,7 +130,7 @@ impl From for SuccessOrHalt { InstructionResult::CreateContractStartingWithEF => { Self::Halt(Halt::CreateContractSizeLimit) } - InstructionResult::CreateInitcodeSizeLimit => Self::Internal, + InstructionResult::CreateInitcodeSizeLimit => Self::Halt(Halt::CreateInitcodeSizeLimit), InstructionResult::FatalExternalError => Self::FatalExternalError, } } diff --git a/crates/primitives/src/result.rs b/crates/primitives/src/result.rs index f754aae9ac..7d2cbb4b56 100644 --- a/crates/primitives/src/result.rs +++ b/crates/primitives/src/result.rs @@ -147,6 +147,8 @@ pub enum Halt { CreateContractSizeLimit, /// Error on created contract that begins with EF CreateContractStartingWithEF, + /// EIP-3860: Limit and meter initcode. Initcode size limit exceeded. + CreateInitcodeSizeLimit, } #[derive(Debug, Copy, Clone, PartialEq, Eq)]