fix(monad): exclude blob suites from MONAD_EIGHT#15
fix(monad): exclude blob suites from MONAD_EIGHT#15haythemsellami wants to merge 2 commits intomonad-developers:forks/monad_eightfrom
Conversation
Greptile SummaryThis PR introduces a Key changes:
Coverage concern — KZG precompile tests incorrectly excluded: Confidence Score: 2/5
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[pytest collects test] --> B{has valid_for_blob_forks marker?}
B -- No --> C[ValidForBlobForks returns empty set\nforks - empty = unchanged fork set]
B -- Yes --> D[ValidForBlobForks._process_with_marker_args\nbuilds set of blobless forks]
D --> E[fork.supports_blobs == False?]
E -- Yes --> F[Add fork + its transition forks to exclusion set]
E -- No --> G[Skip fork]
F --> H[process: forks - exclusion set]
G --> H
C --> I[Test runs for all selected forks]
H --> I
subgraph MONAD_EIGHT overrides
J[supports_blobs → False]
K[header_excess_blob_gas_required → False]
L[header_blob_gas_used_required → False]
M[tx_types → Prague types minus type-3]
N[blob_schedule → None]
O[engine_get_blobs_version → None]
P[engine_new_payload_blob_hashes → False]
Q[full_blob_tx_wrapper_version → None]
end
D -->|checks| J
Last reviewed commit: 6c37550 |
| REFERENCE_SPEC_GIT_PATH = ref_spec_4844.git_path | ||
| REFERENCE_SPEC_VERSION = ref_spec_4844.version | ||
|
|
||
| pytestmark = pytest.mark.valid_for_blob_forks() |
There was a problem hiding this comment.
KZG precompile tests incorrectly excluded from MONAD_EIGHT
The valid_for_blob_forks() marker here will suppress all tests in this file when running against MONAD_EIGHT, but the tests don't require blob transactions — they only call the KZG point-evaluation precompile via regular state transactions.
Since MONAD_EIGHT explicitly retains the KZG precompile (documented in forks.py line 2358: "Monad keeps the point-evaluation precompile"), these tests should remain valid for that fork.
Same issue in: tests/cancun/eip4844_blobs/test_point_evaluation_precompile_gas.py (line 31)
Recommendation: Either remove the valid_for_blob_forks() marker from both files, or introduce a narrower marker (e.g. valid_for_blob_txs) that distinguishes "requires blob transactions" from "requires blob infrastructure".
There was a problem hiding this comment.
bot has a point here (and next file too)
| REFERENCE_SPEC_GIT_PATH = ref_spec_4844.git_path | ||
| REFERENCE_SPEC_VERSION = ref_spec_4844.version | ||
|
|
||
| pytestmark = pytest.mark.valid_for_blob_forks() |
There was a problem hiding this comment.
KZG precompile gas tests incorrectly excluded from MONAD_EIGHT
Same issue as in test_point_evaluation_precompile.py: This file only uses StateTestFiller with regular (non-blob) transactions to call the point-evaluation precompile. Since MONAD_EIGHT retains the KZG precompile, the valid_for_blob_forks() marker here silently drops gas-cost coverage for that fork without functional justification.
See also: tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py (line 63)
pdobacz
left a comment
There was a problem hiding this comment.
Nice, thank you so much for this!
Can you switch the target to the default forks/monad_nine. I believe some of the diff should disappear.
Also, does this setup now allow to fill cancun/eip4844... tests with some meaningful result? if so, we may want to un-exclude them in the .github/configs/feature.yaml fill commands.
| REFERENCE_SPEC_GIT_PATH = ref_spec_4844.git_path | ||
| REFERENCE_SPEC_VERSION = ref_spec_4844.version | ||
|
|
||
| pytestmark = pytest.mark.valid_for_blob_forks() |
There was a problem hiding this comment.
bot has a point here (and next file too)
| modified_tool_output = t8n.evaluate( | ||
| transition_tool_data=TransitionTool.TransitionToolData( | ||
| alloc=pre_alloc, | ||
| senders_authorities={}, |
There was a problem hiding this comment.
I'm not 100% sure, but if you switch target to forks/monad_nine, these diffs should be gone.
Summary
Verification