From 60fed608ef7545594da97872933292b63f8fde59 Mon Sep 17 00:00:00 2001 From: Robin Salen Date: Fri, 7 Apr 2023 18:27:34 -0400 Subject: [PATCH] Impl number 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 b9938552..d1ab20fb 100644 --- a/evm/src/cpu/kernel/interpreter.rs +++ b/evm/src/cpu/kernel/interpreter.rs @@ -350,7 +350,7 @@ impl<'a> Interpreter<'a> { 0x40 => todo!(), // "BLOCKHASH", 0x41 => todo!(), // "COINBASE", 0x42 => self.run_timestamp(), // "TIMESTAMP", - 0x43 => todo!(), // "NUMBER", + 0x43 => self.run_number(), // "NUMBER", 0x44 => todo!(), // "DIFFICULTY", 0x45 => todo!(), // "GASLIMIT", 0x46 => todo!(), // "CHAINID", @@ -663,6 +663,10 @@ impl<'a> Interpreter<'a> { self.push(self.get_global_metadata_field(GlobalMetadata::BlockTimestamp)) } + fn run_number(&mut self) { + self.push(self.get_global_metadata_field(GlobalMetadata::BlockNumber)) + } + fn run_prover_input(&mut self) -> anyhow::Result<()> { let prover_input_fn = self .prover_inputs_map