From ae8ee27eb87f2ecbcae89befc9b7df0416eac7d7 Mon Sep 17 00:00:00 2001 From: Robin Salen Date: Fri, 7 Apr 2023 18:30:48 -0400 Subject: [PATCH] Impl coinbase 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 4acb5d54..c4430d9a 100644 --- a/evm/src/cpu/kernel/interpreter.rs +++ b/evm/src/cpu/kernel/interpreter.rs @@ -348,7 +348,7 @@ impl<'a> Interpreter<'a> { 0x3e => todo!(), // "RETURNDATACOPY", 0x3f => todo!(), // "EXTCODEHASH", 0x40 => todo!(), // "BLOCKHASH", - 0x41 => todo!(), // "COINBASE", + 0x41 => self.run_coinbase(), // "COINBASE", 0x42 => self.run_timestamp(), // "TIMESTAMP", 0x43 => self.run_number(), // "NUMBER", 0x44 => self.run_difficulty(), // "DIFFICULTY", @@ -659,6 +659,10 @@ impl<'a> Interpreter<'a> { } } + fn run_coinbase(&mut self) { + self.push(self.get_global_metadata_field(GlobalMetadata::BlockBeneficiary)) + } + fn run_timestamp(&mut self) { self.push(self.get_global_metadata_field(GlobalMetadata::BlockTimestamp)) }