diff --git a/packages/testing/src/execution_testing/forks/forks/forks.py b/packages/testing/src/execution_testing/forks/forks/forks.py index 72624785d2..111db3b4fb 100644 --- a/packages/testing/src/execution_testing/forks/forks/forks.py +++ b/packages/testing/src/execution_testing/forks/forks/forks.py @@ -3355,6 +3355,31 @@ def is_deployed(cls) -> bool: """Return True if this fork is deployed.""" return False + @classmethod + def valid_opcodes( + cls, *, block_number: int = 0, timestamp: int = 0 + ) -> List[Opcodes]: + """Add SLOTNUM opcode for Amsterdam (EIP-7843).""" + return [Opcodes.SLOTNUM] + super(Amsterdam, cls).valid_opcodes( + block_number=block_number, timestamp=timestamp + ) + + @classmethod + def opcode_gas_map( + cls, *, block_number: int = 0, timestamp: int = 0 + ) -> Dict[OpcodeBase, int | Callable[[OpcodeBase], int]]: + """Add SLOTNUM opcode gas cost for Amsterdam (EIP-7843).""" + gas_costs = cls.gas_costs( + block_number=block_number, timestamp=timestamp + ) + base_map = super(Amsterdam, cls).opcode_gas_map( + block_number=block_number, timestamp=timestamp + ) + return { + **base_map, + Opcodes.SLOTNUM: gas_costs.G_BASE, + } + @classmethod def engine_new_payload_version( cls, *, block_number: int = 0, timestamp: int = 0 @@ -3381,28 +3406,3 @@ def header_slot_number_required( """Slot number in header required from Amsterdam (EIP-7843).""" del block_number, timestamp return True - - @classmethod - def opcode_gas_map( - cls, *, block_number: int = 0, timestamp: int = 0 - ) -> Dict[OpcodeBase, int | Callable[[OpcodeBase], int]]: - """Add SLOTNUM opcode gas cost for Amsterdam (EIP-7843).""" - gas_costs = cls.gas_costs( - block_number=block_number, timestamp=timestamp - ) - base_map = super(Amsterdam, cls).opcode_gas_map( - block_number=block_number, timestamp=timestamp - ) - return { - **base_map, - Opcodes.SLOTNUM: gas_costs.G_BASE, - } - - @classmethod - def valid_opcodes( - cls, *, block_number: int = 0, timestamp: int = 0 - ) -> List[Opcodes]: - """Add SLOTNUM opcode for Amsterdam (EIP-7843).""" - return [Opcodes.SLOTNUM] + super(Amsterdam, cls).valid_opcodes( - block_number=block_number, timestamp=timestamp - )