fix(monad): keep blob header fields on MONAD_EIGHT#21
Conversation
Greptile SummaryThis PR corrects an overly broad blob-disabling change from PR #15 by restoring the Cancun/Prague header field requirements ( Key changes:
Confidence Score: 5/5This PR is safe to merge — it makes a minimal, well-scoped correction that restores correct header field inheritance for MONAD_EIGHT. The change removes two method overrides that were incorrectly stripping blob header fields from MONAD_EIGHT. The inheritance chain from Cancun correctly provides No files require special attention.
|
| Filename | Overview |
|---|---|
| packages/testing/src/execution_testing/forks/forks/forks.py | Removes two method overrides from MONAD_EIGHT that incorrectly suppressed blob header fields; MONAD_EIGHT now correctly inherits True from Cancun for both header field requirements while keeping blob transactions disabled. |
| packages/testing/src/execution_testing/forks/tests/test_forks.py | Test renamed and assertions updated to match the new intended behavior: header fields required (is True), blob transactions still disabled (is False, None, absent from tx_types). |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[MONAD_EIGHT fork] -->|inherits from| B[Prague]
B -->|inherits from| C[Cancun]
C -->|header_excess_blob_gas_required| D["returns True ✓"]
C -->|header_blob_gas_used_required| E["returns True ✓"]
A -->|overrides supports_blobs| F["returns False ✓"]
A -->|overrides tx_types| G["excludes type-3 ✓"]
A -->|overrides blob_schedule| H["returns None ✓"]
A -->|overrides engine_get_blobs_version| I["returns None ✓"]
A -->|overrides engine_new_payload_blob_hashes| J["returns False ✓"]
A -->|overrides full_blob_tx_wrapper_version| K["returns None ✓"]
Reviews (1): Last reviewed commit: "fix(monad): keep blob header fields on M..." | Re-trigger Greptile
Summary
Context
PR #15 disabled both blob transactions and blob header fields for MONAD_EIGHT.
PR #20 identified that this was too broad: Monad still expects the blob-related header fields in the RLP header layout, so omitting them can shift later fields and cause header decoding failures.
This change keeps the original intent of #15 for transaction behavior, but stops overriding:
header_excess_blob_gas_required()header_blob_gas_used_required()