diff --git a/.github/configs/feature.yaml b/.github/configs/feature.yaml index 95af954290a..c75ee01bf5b 100644 --- a/.github/configs/feature.yaml +++ b/.github/configs/feature.yaml @@ -12,11 +12,11 @@ monad: # --suppress-no-test-exit-code works around a problem where multi-phase fill # (triggered by tarball output) fails to proceed on no tests processed # in 1st phase (exit code 5) - fill-params: --suppress-no-test-exit-code -m blockchain_test --from=MONAD_EIGHT --until=MONAD_NEXT --chain-id=143 -k "not eip4844 and not eip7002 and not eip7251 and not eip7685 and not eip6110 and not eip7594 and not eip7918 and not eip7610 and not eip7934 and not invalid_header" + fill-params: --suppress-no-test-exit-code -m blockchain_test --from=MONAD_EIGHT --until=MONAD_NINE --chain-id=143 -k "not eip4844 and not eip7002 and not eip7251 and not eip7685 and not eip6110 and not eip7594 and not eip7918 and not eip7610 and not eip7934 and not invalid_header" mip3: evm-type: develop # --suppress-no-test-exit-code works around a problem where multi-phase fill # (triggered by tarball output) fails to proceed on no tests processed # in 1st phase (exit code 5) - fill-params: --suppress-no-test-exit-code -m blockchain_test --from=MONAD_EIGHT --until=MONAD_NEXT --chain-id=143 -k "not eip4844 and not eip7002 and not eip7251 and not eip7685 and not eip6110 and not eip7594 and not eip7918 and not eip7610 and not eip7934 and not invalid_header" + fill-params: --suppress-no-test-exit-code -m blockchain_test --from=MONAD_EIGHT --until=MONAD_NINE --chain-id=143 -k "not eip4844 and not eip7002 and not eip7251 and not eip7685 and not eip6110 and not eip7594 and not eip7918 and not eip7610 and not eip7934 and not invalid_header" diff --git a/README.md b/README.md index 59133e80145..c49db010af3 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ uv sync --all-extras 3. Fill all monadized spec tests as of writing this (see below for explanation of flags): ```bash -uv run fill --clean -m "blockchain_test or transaction_test" --from MONAD_EIGHT --until MONAD_NEXT --chain-id 143 -n auto tests +uv run fill --clean -m "blockchain_test or transaction_test" --from MONAD_EIGHT --until MONAD_NINE --chain-id 143 -n auto tests ``` 4. The test fixtures to be found in `fixtures/` directory under repo root. @@ -45,7 +45,7 @@ Filling tests is the process of running Python generators of spec tests [like on - **`-m blockchain_test or transaction_test`**: causes these two flavors of fixtures to be generated - `blockchain_test` is the currently supported by `monad` flavor of a spec test checking correctness of the state transition. Note this includes `blockchain_test_from_state_test`, meaning that all `state_test(...)` fillers are included - `transaction_test` is also supported, tests only correctness of static transaction checks -- **`--from MONAD_EIGHT --until MONAD_NEXT`**: hardforks for which to generate fixtures. Must match with those defined in `monad`, inclusive +- **`--from MONAD_EIGHT --until MONAD_NINE`**: hardforks for which to generate fixtures. Must match with those defined in `monad`, inclusive - **`--chain-id 143`**: must be specified for signatures and EIP-7702 to work correctly - **`-n auto`**: from `pytest`, parallel execution of tests - **`tests`**: root directory to traverse to discover tests diff --git a/packages/testing/src/execution_testing/forks/__init__.py b/packages/testing/src/execution_testing/forks/__init__.py index b635b656b24..891b4c057da 100644 --- a/packages/testing/src/execution_testing/forks/__init__.py +++ b/packages/testing/src/execution_testing/forks/__init__.py @@ -8,7 +8,7 @@ BPO4, BPO5, MONAD_EIGHT, - MONAD_NEXT, + MONAD_NINE, Amsterdam, ArrowGlacier, Berlin, @@ -36,7 +36,7 @@ BPO2ToBPO3AtTime15k, BPO3ToBPO4AtTime15k, CancunToPragueAtTime15k, - MONAD_EIGHTToMONAD_NEXTAtTime15k, + MONAD_EIGHTToMONAD_NINEAtTime15k, OsakaToBPO1AtTime15k, ParisToShanghaiAtTime15k, PragueToMONAD_EIGHTAtTime15k, @@ -118,10 +118,10 @@ "PragueToOsakaAtTime15k", "Osaka", "OsakaToBPO1AtTime15k", - "MONAD_EIGHT", "PragueToMONAD_EIGHTAtTime15k", - "MONAD_NEXT", - "MONAD_EIGHTToMONAD_NEXTAtTime15k", + "MONAD_EIGHT", + "MONAD_EIGHTToMONAD_NINEAtTime15k", + "MONAD_NINE", "BPO1", "BPO1ToBPO2AtTime15k", "BPO2", diff --git a/packages/testing/src/execution_testing/forks/forks/forks.py b/packages/testing/src/execution_testing/forks/forks/forks.py index b8e74405468..8c3bec9a0fd 100644 --- a/packages/testing/src/execution_testing/forks/forks/forks.py +++ b/packages/testing/src/execution_testing/forks/forks/forks.py @@ -3352,8 +3352,8 @@ def transaction_gas_limit_cap( return 30_000_000 -class MONAD_NEXT(MONAD_EIGHT, Osaka, solc_name="cancun"): # noqa: N801 - """MONAD_NEXT fork.""" +class MONAD_NINE(MONAD_EIGHT, Osaka, solc_name="cancun"): # noqa: N801 + """MONAD_NINE fork.""" @classmethod def valid_opcodes( diff --git a/packages/testing/src/execution_testing/forks/forks/transition.py b/packages/testing/src/execution_testing/forks/forks/transition.py index 1b0f9e0f5e2..b3667e56a42 100644 --- a/packages/testing/src/execution_testing/forks/forks/transition.py +++ b/packages/testing/src/execution_testing/forks/forks/transition.py @@ -7,7 +7,7 @@ BPO3, BPO4, MONAD_EIGHT, - MONAD_NEXT, + MONAD_NINE, Amsterdam, Berlin, Cancun, @@ -62,9 +62,9 @@ class PragueToMONAD_EIGHTAtTime15k(Prague): # noqa: N801 pass -@transition_fork(to_fork=MONAD_NEXT, at_timestamp=15_000) -class MONAD_EIGHTToMONAD_NEXTAtTime15k(MONAD_EIGHT): # noqa: N801 - """Prague to MONAD_NEXT transition at Timestamp 15k.""" +@transition_fork(to_fork=MONAD_NINE, at_timestamp=15_000) +class MONAD_EIGHTToMONAD_NINEAtTime15k(MONAD_EIGHT): # noqa: N801 + """MONAD_EIGHT to MONAD_NINE transition at Timestamp 15k.""" pass diff --git a/src/ethereum/forks/monad_next/__init__.py b/src/ethereum/forks/monad_nine/__init__.py similarity index 75% rename from src/ethereum/forks/monad_next/__init__.py rename to src/ethereum/forks/monad_nine/__init__.py index a04059da2b7..6ef692ad94a 100644 --- a/src/ethereum/forks/monad_next/__init__.py +++ b/src/ethereum/forks/monad_nine/__init__.py @@ -1,5 +1,5 @@ """ -MONAD_NEXT fork introduces Monad specific changes to the Ethereum protocol. +MONAD_NINE fork introduces Monad specific changes to the Ethereum protocol. """ from ethereum.fork_criteria import ByTimestamp, ForkCriteria diff --git a/src/ethereum/forks/monad_next/blocks.py b/src/ethereum/forks/monad_nine/blocks.py similarity index 91% rename from src/ethereum/forks/monad_next/blocks.py rename to src/ethereum/forks/monad_nine/blocks.py index bd638633406..945b50b12ae 100644 --- a/src/ethereum/forks/monad_next/blocks.py +++ b/src/ethereum/forks/monad_nine/blocks.py @@ -38,7 +38,7 @@ class Withdrawal: chain) to the execution layer, as validated by the consensus layer. Each withdrawal is listed in the block's list of withdrawals. See [`block`]. - [`block`]: ref:ethereum.forks.monad_next.blocks.Block.withdrawals + [`block`]: ref:ethereum.forks.monad_nine.blocks.Block.withdrawals """ index: U64 @@ -87,7 +87,7 @@ class Header: [`keccak256`]: ref:ethereum.crypto.hash.keccak256 [RLP]: https://ethereum.github.io/ethereum-rlp/src/ethereum_rlp/rlp.py.html - [`EMPTY_OMMER_HASH`]: ref:ethereum.forks.monad_next.fork.EMPTY_OMMER_HASH + [`EMPTY_OMMER_HASH`]: ref:ethereum.forks.monad_nine.fork.EMPTY_OMMER_HASH """ coinbase: Address @@ -110,8 +110,8 @@ class Header: of the Merkle-Patricia [Trie] representing the Ethereum world state. [`keccak256`]: ref:ethereum.crypto.hash.keccak256 - [`state_root()`]: ref:ethereum.forks.monad_next.state.state_root - [Trie]: ref:ethereum.forks.monad_next.trie.Trie + [`state_root()`]: ref:ethereum.forks.monad_nine.state.state_root + [Trie]: ref:ethereum.forks.monad_nine.trie.Trie """ transactions_root: Root @@ -122,8 +122,8 @@ class Header: transactions as the parameter. [`keccak256`]: ref:ethereum.crypto.hash.keccak256 - [`root()`]: ref:ethereum.forks.monad_next.trie.root - [Trie]: ref:ethereum.forks.monad_next.trie.Trie + [`root()`]: ref:ethereum.forks.monad_nine.trie.root + [Trie]: ref:ethereum.forks.monad_nine.trie.Trie """ receipt_root: Root @@ -133,8 +133,8 @@ class Header: function over the Merkle-Patricia [trie] constructed from the receipts. [`keccak256`]: ref:ethereum.crypto.hash.keccak256 - [`root()`]: ref:ethereum.forks.monad_next.trie.root - [Trie]: ref:ethereum.forks.monad_next.trie.Trie + [`root()`]: ref:ethereum.forks.monad_nine.trie.root + [Trie]: ref:ethereum.forks.monad_nine.trie.Trie """ bloom: Bloom @@ -142,7 +142,7 @@ class Header: Bloom filter for logs generated by transactions in this block. Constructed from all logs in the block using the [logs bloom] mechanism. - [logs bloom]: ref:ethereum.forks.monad_next.bloom.logs_bloom + [logs bloom]: ref:ethereum.forks.monad_nine.bloom.logs_bloom """ difficulty: Uint @@ -238,7 +238,7 @@ class Header: [EIP-7685]. See [`compute_requests_hash`][crh] for more details. [EIP-7685]: https://eips.ethereum.org/EIPS/eip-7685 - [crh]: ref:ethereum.forks.monad_next.requests.compute_requests_hash + [crh]: ref:ethereum.forks.monad_nine.requests.compute_requests_hash [SHA2-256]: https://en.wikipedia.org/wiki/SHA-2 """ @@ -265,8 +265,8 @@ class Block: Withdrawals represent ETH transfers from validators to their recipients, introduced by the consensus layer. Ommers remain deprecated and empty. - [`header`]: ref:ethereum.forks.monad_next.blocks.Header - [withdrawals]: ref:ethereum.forks.monad_next.blocks.Withdrawal + [`header`]: ref:ethereum.forks.monad_nine.blocks.Header + [withdrawals]: ref:ethereum.forks.monad_nine.blocks.Withdrawal """ header: Header @@ -274,7 +274,7 @@ class Block: The block header containing metadata and cryptographic commitments. Refer to [headers] for more details on the fields included in the header. - [headers]: ref:ethereum.forks.monad_next.blocks.Header + [headers]: ref:ethereum.forks.monad_nine.blocks.Header """ transactions: Tuple[Bytes | LegacyTransaction, ...] @@ -305,11 +305,11 @@ class Log: [`LOG1`], [`LOG2`], [`LOG3`] and [`LOG4`]), which can be efficiently searched using the bloom filter in the block header. - [`LOG0`]: ref:ethereum.forks.monad_next.vm.instructions.log.log0 - [`LOG1`]: ref:ethereum.forks.monad_next.vm.instructions.log.log1 - [`LOG2`]: ref:ethereum.forks.monad_next.vm.instructions.log.log2 - [`LOG3`]: ref:ethereum.forks.monad_next.vm.instructions.log.log3 - [`LOG4`]: ref:ethereum.forks.monad_next.vm.instructions.log.log4 + [`LOG0`]: ref:ethereum.forks.monad_nine.vm.instructions.log.log0 + [`LOG1`]: ref:ethereum.forks.monad_nine.vm.instructions.log.log1 + [`LOG2`]: ref:ethereum.forks.monad_nine.vm.instructions.log.log2 + [`LOG3`]: ref:ethereum.forks.monad_nine.vm.instructions.log.log3 + [`LOG4`]: ref:ethereum.forks.monad_nine.vm.instructions.log.log4 """ address: Address diff --git a/src/ethereum/forks/monad_next/bloom.py b/src/ethereum/forks/monad_nine/bloom.py similarity index 100% rename from src/ethereum/forks/monad_next/bloom.py rename to src/ethereum/forks/monad_nine/bloom.py diff --git a/src/ethereum/forks/monad_next/exceptions.py b/src/ethereum/forks/monad_nine/exceptions.py similarity index 100% rename from src/ethereum/forks/monad_next/exceptions.py rename to src/ethereum/forks/monad_nine/exceptions.py diff --git a/src/ethereum/forks/monad_next/fork.py b/src/ethereum/forks/monad_nine/fork.py similarity index 100% rename from src/ethereum/forks/monad_next/fork.py rename to src/ethereum/forks/monad_nine/fork.py diff --git a/src/ethereum/forks/monad_next/fork_types.py b/src/ethereum/forks/monad_nine/fork_types.py similarity index 100% rename from src/ethereum/forks/monad_next/fork_types.py rename to src/ethereum/forks/monad_nine/fork_types.py diff --git a/src/ethereum/forks/monad_next/requests.py b/src/ethereum/forks/monad_nine/requests.py similarity index 100% rename from src/ethereum/forks/monad_next/requests.py rename to src/ethereum/forks/monad_nine/requests.py diff --git a/src/ethereum/forks/monad_next/state.py b/src/ethereum/forks/monad_nine/state.py similarity index 100% rename from src/ethereum/forks/monad_next/state.py rename to src/ethereum/forks/monad_nine/state.py diff --git a/src/ethereum/forks/monad_next/transactions.py b/src/ethereum/forks/monad_nine/transactions.py similarity index 100% rename from src/ethereum/forks/monad_next/transactions.py rename to src/ethereum/forks/monad_nine/transactions.py diff --git a/src/ethereum/forks/monad_next/trie.py b/src/ethereum/forks/monad_nine/trie.py similarity index 100% rename from src/ethereum/forks/monad_next/trie.py rename to src/ethereum/forks/monad_nine/trie.py diff --git a/src/ethereum/forks/monad_next/utils/__init__.py b/src/ethereum/forks/monad_nine/utils/__init__.py similarity index 100% rename from src/ethereum/forks/monad_next/utils/__init__.py rename to src/ethereum/forks/monad_nine/utils/__init__.py diff --git a/src/ethereum/forks/monad_next/utils/address.py b/src/ethereum/forks/monad_nine/utils/address.py similarity index 94% rename from src/ethereum/forks/monad_next/utils/address.py rename to src/ethereum/forks/monad_nine/utils/address.py index 13e61313b87..cd5b3602bc1 100644 --- a/src/ethereum/forks/monad_next/utils/address.py +++ b/src/ethereum/forks/monad_nine/utils/address.py @@ -8,7 +8,7 @@ Introduction ------------ -Address specific functions used in this MONAD_NEXT version of +Address specific functions used in this MONAD_NINE version of specification. """ @@ -82,7 +82,7 @@ def compute_create2_contract_address( Returns ------- - address: `ethereum.forks.monad_next.fork_types.Address` + address: `ethereum.forks.monad_nine.fork_types.Address` The computed address of the new account. """ diff --git a/src/ethereum/forks/monad_next/utils/hexadecimal.py b/src/ethereum/forks/monad_nine/utils/hexadecimal.py similarity index 100% rename from src/ethereum/forks/monad_next/utils/hexadecimal.py rename to src/ethereum/forks/monad_nine/utils/hexadecimal.py diff --git a/src/ethereum/forks/monad_next/utils/message.py b/src/ethereum/forks/monad_nine/utils/message.py similarity index 95% rename from src/ethereum/forks/monad_next/utils/message.py rename to src/ethereum/forks/monad_nine/utils/message.py index 265468cdc13..abdea2652a2 100644 --- a/src/ethereum/forks/monad_next/utils/message.py +++ b/src/ethereum/forks/monad_nine/utils/message.py @@ -8,7 +8,7 @@ Introduction ------------ -Message specific functions used in this MONAD_NEXT version of +Message specific functions used in this MONAD_NINE version of specification. """ @@ -42,7 +42,7 @@ def prepare_message( Returns ------- - message: `ethereum.forks.monad_next.vm.Message` + message: `ethereum.forks.monad_nine.vm.Message` Items containing contract creation or message call specific data. """ diff --git a/src/ethereum/forks/monad_next/vm/__init__.py b/src/ethereum/forks/monad_nine/vm/__init__.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/__init__.py rename to src/ethereum/forks/monad_nine/vm/__init__.py diff --git a/src/ethereum/forks/monad_next/vm/eoa_delegation.py b/src/ethereum/forks/monad_nine/vm/eoa_delegation.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/eoa_delegation.py rename to src/ethereum/forks/monad_nine/vm/eoa_delegation.py diff --git a/src/ethereum/forks/monad_next/vm/exceptions.py b/src/ethereum/forks/monad_nine/vm/exceptions.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/exceptions.py rename to src/ethereum/forks/monad_nine/vm/exceptions.py diff --git a/src/ethereum/forks/monad_next/vm/gas.py b/src/ethereum/forks/monad_nine/vm/gas.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/gas.py rename to src/ethereum/forks/monad_nine/vm/gas.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/__init__.py b/src/ethereum/forks/monad_nine/vm/instructions/__init__.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/__init__.py rename to src/ethereum/forks/monad_nine/vm/instructions/__init__.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/arithmetic.py b/src/ethereum/forks/monad_nine/vm/instructions/arithmetic.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/arithmetic.py rename to src/ethereum/forks/monad_nine/vm/instructions/arithmetic.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/bitwise.py b/src/ethereum/forks/monad_nine/vm/instructions/bitwise.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/bitwise.py rename to src/ethereum/forks/monad_nine/vm/instructions/bitwise.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/block.py b/src/ethereum/forks/monad_nine/vm/instructions/block.py similarity index 85% rename from src/ethereum/forks/monad_next/vm/instructions/block.py rename to src/ethereum/forks/monad_nine/vm/instructions/block.py index 107944113b0..a8d9d8fa769 100644 --- a/src/ethereum/forks/monad_next/vm/instructions/block.py +++ b/src/ethereum/forks/monad_nine/vm/instructions/block.py @@ -30,9 +30,9 @@ def block_hash(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackUnderflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackUnderflowError` If `len(stack)` is less than `1`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `20`. """ @@ -79,9 +79,9 @@ def coinbase(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackOverflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackOverflowError` If `len(stack)` is equal to `1024`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `2`. """ @@ -113,9 +113,9 @@ def timestamp(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackOverflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackOverflowError` If `len(stack)` is equal to `1024`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `2`. """ @@ -146,9 +146,9 @@ def number(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackOverflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackOverflowError` If `len(stack)` is equal to `1024`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `2`. """ @@ -179,9 +179,9 @@ def prev_randao(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackOverflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackOverflowError` If `len(stack)` is equal to `1024`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `2`. """ @@ -212,9 +212,9 @@ def gas_limit(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackOverflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackOverflowError` If `len(stack)` is equal to `1024`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `2`. """ @@ -242,9 +242,9 @@ def chain_id(evm: Evm) -> None: Raises ------ - :py:class:`~ethereum.forks.monad_next.vm.exceptions.StackOverflowError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.StackOverflowError` If `len(stack)` is equal to `1024`. - :py:class:`~ethereum.forks.monad_next.vm.exceptions.OutOfGasError` + :py:class:`~ethereum.forks.monad_nine.vm.exceptions.OutOfGasError` If `evm.gas_left` is less than `2`. """ diff --git a/src/ethereum/forks/monad_next/vm/instructions/comparison.py b/src/ethereum/forks/monad_nine/vm/instructions/comparison.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/comparison.py rename to src/ethereum/forks/monad_nine/vm/instructions/comparison.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/control_flow.py b/src/ethereum/forks/monad_nine/vm/instructions/control_flow.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/control_flow.py rename to src/ethereum/forks/monad_nine/vm/instructions/control_flow.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/environment.py b/src/ethereum/forks/monad_nine/vm/instructions/environment.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/environment.py rename to src/ethereum/forks/monad_nine/vm/instructions/environment.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/keccak.py b/src/ethereum/forks/monad_nine/vm/instructions/keccak.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/keccak.py rename to src/ethereum/forks/monad_nine/vm/instructions/keccak.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/log.py b/src/ethereum/forks/monad_nine/vm/instructions/log.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/log.py rename to src/ethereum/forks/monad_nine/vm/instructions/log.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/memory.py b/src/ethereum/forks/monad_nine/vm/instructions/memory.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/memory.py rename to src/ethereum/forks/monad_nine/vm/instructions/memory.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/stack.py b/src/ethereum/forks/monad_nine/vm/instructions/stack.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/stack.py rename to src/ethereum/forks/monad_nine/vm/instructions/stack.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/storage.py b/src/ethereum/forks/monad_nine/vm/instructions/storage.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/storage.py rename to src/ethereum/forks/monad_nine/vm/instructions/storage.py diff --git a/src/ethereum/forks/monad_next/vm/instructions/system.py b/src/ethereum/forks/monad_nine/vm/instructions/system.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/instructions/system.py rename to src/ethereum/forks/monad_nine/vm/instructions/system.py diff --git a/src/ethereum/forks/monad_next/vm/interpreter.py b/src/ethereum/forks/monad_nine/vm/interpreter.py similarity index 99% rename from src/ethereum/forks/monad_next/vm/interpreter.py rename to src/ethereum/forks/monad_nine/vm/interpreter.py index 0eb2369253c..73c43e2e213 100644 --- a/src/ethereum/forks/monad_next/vm/interpreter.py +++ b/src/ethereum/forks/monad_nine/vm/interpreter.py @@ -180,7 +180,7 @@ def process_create_message(message: Message) -> Evm: Returns ------- - evm: :py:class:`~ethereum.forks.monad_next.vm.Evm` + evm: :py:class:`~ethereum.forks.monad_nine.vm.Evm` Items containing execution specific objects. """ @@ -240,7 +240,7 @@ def process_message(message: Message) -> Evm: Returns ------- - evm: :py:class:`~ethereum.forks.monad_next.vm.Evm` + evm: :py:class:`~ethereum.forks.monad_nine.vm.Evm` Items containing execution specific objects """ diff --git a/src/ethereum/forks/monad_next/vm/memory.py b/src/ethereum/forks/monad_nine/vm/memory.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/memory.py rename to src/ethereum/forks/monad_nine/vm/memory.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/__init__.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/__init__.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/__init__.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/__init__.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/alt_bn128.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/alt_bn128.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/alt_bn128.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/alt_bn128.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/blake2f.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/blake2f.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/blake2f.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/blake2f.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/__init__.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/__init__.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/__init__.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/__init__.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/bls12_381_g1.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/bls12_381_g1.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/bls12_381_g1.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/bls12_381_g1.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/bls12_381_g2.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/bls12_381_g2.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/bls12_381_g2.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/bls12_381_g2.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/bls12_381_pairing.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/bls12_381_pairing.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/bls12_381/bls12_381_pairing.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/bls12_381/bls12_381_pairing.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/ecrecover.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/ecrecover.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/ecrecover.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/ecrecover.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/identity.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/identity.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/identity.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/identity.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/mapping.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/mapping.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/mapping.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/mapping.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/modexp.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/modexp.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/modexp.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/modexp.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/p256verify.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/p256verify.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/p256verify.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/p256verify.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/point_evaluation.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/point_evaluation.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/point_evaluation.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/point_evaluation.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/ripemd160.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/ripemd160.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/ripemd160.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/ripemd160.py diff --git a/src/ethereum/forks/monad_next/vm/precompiled_contracts/sha256.py b/src/ethereum/forks/monad_nine/vm/precompiled_contracts/sha256.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/precompiled_contracts/sha256.py rename to src/ethereum/forks/monad_nine/vm/precompiled_contracts/sha256.py diff --git a/src/ethereum/forks/monad_next/vm/runtime.py b/src/ethereum/forks/monad_nine/vm/runtime.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/runtime.py rename to src/ethereum/forks/monad_nine/vm/runtime.py diff --git a/src/ethereum/forks/monad_next/vm/stack.py b/src/ethereum/forks/monad_nine/vm/stack.py similarity index 100% rename from src/ethereum/forks/monad_next/vm/stack.py rename to src/ethereum/forks/monad_nine/vm/stack.py diff --git a/src/ethereum_spec_tools/evm_tools/utils.py b/src/ethereum_spec_tools/evm_tools/utils.py index a2e633de6bd..0b0855bae73 100644 --- a/src/ethereum_spec_tools/evm_tools/utils.py +++ b/src/ethereum_spec_tools/evm_tools/utils.py @@ -27,8 +27,8 @@ W = TypeVar("W", Uint, U64, U256) EXCEPTION_MAPS = { - "MONAD_NEXT": { - "fork_blocks": [("monad_next", 0)], + "MONAD_NINE": { + "fork_blocks": [("monad_nine", 0)], }, "MONAD_EIGHT": { "fork_blocks": [("monad_eight", 0)], diff --git a/tests/frontier/opcodes/test_data_copy_oog.py b/tests/frontier/opcodes/test_data_copy_oog.py index f71c5bb50e4..bc83b283ba9 100644 --- a/tests/frontier/opcodes/test_data_copy_oog.py +++ b/tests/frontier/opcodes/test_data_copy_oog.py @@ -12,7 +12,7 @@ Storage, Transaction, ) -from execution_testing.forks.forks.forks import MONAD_NEXT +from execution_testing.forks.forks.forks import MONAD_NINE from execution_testing.forks.helpers import Fork REFERENCE_SPEC_GIT_PATH = "EIPS/eip-211.md" @@ -59,12 +59,12 @@ def test_calldatacopy_word_copy_oog( if expect_success: subcall_gas = 5000 else: - # MIP-3 (MONAD_NEXT) uses linear memory cost (words // 2) instead of + # MIP-3 (MONAD_NINE) uses linear memory cost (words // 2) instead of # quadratic (3*words + words²/512), so memory expansion is cheaper. # Pre-MIP-3: MSTORE costs 3 + 98 = 101 gas for 32 words # MIP-3: MSTORE costs 3 + 16 = 19 gas for 32 words # We need enough gas for setup but not for CALLDATACOPY word copy cost. - subcall_gas = 68 if fork >= MONAD_NEXT else 150 + subcall_gas = 68 if fork >= MONAD_NINE else 150 storage = Storage() storage_key = storage.store_next(1 if expect_success else 0) @@ -141,7 +141,7 @@ def test_codecopy_word_copy_oog( if expect_success: subcall_gas = 5000 else: - subcall_gas = 68 if fork >= MONAD_NEXT else 150 + subcall_gas = 68 if fork >= MONAD_NINE else 150 storage = Storage() storage_key = storage.store_next(1 if expect_success else 0) diff --git a/tests/monad_nine/mip3_linear_memory/test_gas_cost.py b/tests/monad_nine/mip3_linear_memory/test_gas_cost.py index 5cfc8fca4a2..d261267c029 100644 --- a/tests/monad_nine/mip3_linear_memory/test_gas_cost.py +++ b/tests/monad_nine/mip3_linear_memory/test_gas_cost.py @@ -15,7 +15,7 @@ Transaction, gas_test, ) -from execution_testing.forks.forks.forks import MONAD_NEXT +from execution_testing.forks.forks.forks import MONAD_NINE from execution_testing.forks.helpers import Fork from execution_testing.vm import Opcode @@ -61,7 +61,7 @@ def test_cost_non_quadratic( ) storage = ( {slot_code_worked: value_code_worked} - if not fail and fork >= MONAD_NEXT + if not fail and fork >= MONAD_NINE else {} ) @@ -140,7 +140,7 @@ def memory_sizes( yield pytest.param(0x20, id="single_word") yield pytest.param(0x100, id="large_copy") yield pytest.param(0x2000, id="above_quadratic_threshold_copy") - if fork >= MONAD_NEXT: + if fork >= MONAD_NINE: yield pytest.param(Spec.MAX_TX_MEMORY_USAGE, id="max") @@ -409,7 +409,7 @@ def test_returndatacopy_gas_cost( ), ], ) -@pytest.mark.valid_from("MONAD_NEXT") +@pytest.mark.valid_from("MONAD_NINE") def test_consecutive_expansions( state_test: StateTestFiller, pre: Alloc, diff --git a/tests/monad_nine/mip3_linear_memory/test_oom.py b/tests/monad_nine/mip3_linear_memory/test_oom.py index d35fee627db..9bbb7894505 100644 --- a/tests/monad_nine/mip3_linear_memory/test_oom.py +++ b/tests/monad_nine/mip3_linear_memory/test_oom.py @@ -45,7 +45,7 @@ outer_marker_value = 0xDEADBEEF pytestmark = [ - pytest.mark.valid_from("MONAD_NEXT"), + pytest.mark.valid_from("MONAD_NINE"), pytest.mark.pre_alloc_group( "mip3_tests", reason="Tests linear memory MIP-3", diff --git a/tests/monad_nine/mip3_linear_memory/test_oom_deep.py b/tests/monad_nine/mip3_linear_memory/test_oom_deep.py index f4ee9b6eb33..0dbbfb006ee 100644 --- a/tests/monad_nine/mip3_linear_memory/test_oom_deep.py +++ b/tests/monad_nine/mip3_linear_memory/test_oom_deep.py @@ -1,8 +1,8 @@ """ Tests deep nested call frames with memory allocation. -Tests that run on both MONAD_EIGHT and MONAD_NEXT to compare behavior: -- MONAD_NEXT: OOM when cumulative memory exceeds 8MB limit +Tests that run on both MONAD_EIGHT and MONAD_NINE to compare behavior: +- MONAD_NINE: OOM when cumulative memory exceeds 8MB limit - MONAD_EIGHT: can go above this limit if allocations spread across frames """ @@ -17,7 +17,7 @@ Transaction, ) from execution_testing.base_types.base_types import Address -from execution_testing.forks.forks.forks import MONAD_NEXT +from execution_testing.forks.forks.forks import MONAD_NINE from execution_testing.forks.helpers import Fork from .spec import Spec, ref_spec_3 @@ -44,7 +44,7 @@ def test_nested_frames_deep( """ Test memory allocation across many nested call frames. - Uses small chunk sizes to maximize depth. In MONAD_NEXT, reverts when + Uses small chunk sizes to maximize depth. In MONAD_NINE, reverts when cumulative memory exceeds MAX_TX_MEMORY_USAGE. This test contrasts that in MONAD_EIGHT one tx can allocate more memory in total and serves as a sanity check. @@ -53,7 +53,7 @@ def test_nested_frames_deep( chunk_size = 128 * 1024 # 128KB per frame # Calculate expected max depth for each fork - # MONAD_NEXT: limited by 8MB cumulative memory = 64 frames + # MONAD_NINE: limited by 8MB cumulative memory = 64 frames # MONAD_EIGHT: limited by gas (quadratic cost + 63/64 forwarding) # ~150 frames max_depth = ( @@ -87,7 +87,7 @@ def test_nested_frames_deep( ) # Calculate expected successful depth based on fork - if fork >= MONAD_NEXT: + if fork >= MONAD_NINE: # OOM at cumulative memory > 8MB expected_max_success_depth = Spec.MAX_TX_MEMORY_USAGE // chunk_size else: