From 9e6f284b2663121085c536b7ed70c96bdb4981b8 Mon Sep 17 00:00:00 2001 From: Robin Salen Date: Fri, 7 Apr 2023 18:32:42 -0400 Subject: [PATCH] Impl chain_id opcode for interpreter --- evm/src/cpu/kernel/interpreter.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/evm/src/cpu/kernel/interpreter.rs b/evm/src/cpu/kernel/interpreter.rs index c4430d9a..f99c0363 100644 --- a/evm/src/cpu/kernel/interpreter.rs +++ b/evm/src/cpu/kernel/interpreter.rs @@ -353,7 +353,7 @@ impl<'a> Interpreter<'a> { 0x43 => self.run_number(), // "NUMBER", 0x44 => self.run_difficulty(), // "DIFFICULTY", 0x45 => todo!(), // "GASLIMIT", - 0x46 => todo!(), // "CHAINID", + 0x46 => self.run_chainid(), // "CHAINID", 0x48 => self.run_basefee(), // "BASEFEE", 0x49 => self.run_prover_input()?, // "PROVER_INPUT", 0x50 => self.run_pop(), // "POP", @@ -679,6 +679,10 @@ impl<'a> Interpreter<'a> { self.push(self.get_global_metadata_field(GlobalMetadata::BlockBaseFee)) } + fn run_chainid(&mut self) { + self.push(self.get_global_metadata_field(GlobalMetadata::BlockChainId)) + } + fn run_prover_input(&mut self) -> anyhow::Result<()> { let prover_input_fn = self .prover_inputs_map