chore(test-forks): add descriptive Amsterdam BPO test scenarios - #3597
danceratopz wants to merge 5 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/amsterdam #3597 +/- ##
================================================
Coverage 94.44% 94.44%
================================================
Files 624 624
Lines 36928 36928
Branches 3326 3326
================================================
+ Hits 34875 34876 +1
+ Misses 1450 1449 -1
Partials 603 603
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
1782b78 to
5e09a89
Compare
ca7773a to
85cd69d
Compare
|
Simplified fill CI to extend the existing Amsterdam matrix entry through BPODecrease and removed the separate BPO job. The existing Warning Post-Amsterdam BPO transitions require client fork-order support before rollout. Hive aliases alone do not provide it. These synthetic scenarios remain excluded from automatic releases pending client support. Test releases will not include these scenarios without informing client teams first and confirming the required client support. Validation: |
85cd69d to
332512a
Compare
|
@spencer-tb I'm a bit unsure about the new descriptive names. See where it sits with you. But the client-side requires a change to update them to be based on Amsterdam either way. The test IDs will be more descriptive with this change and as they won't necessary map to the actual BPO3 and BPO4 forks, a rename for such tests will be required at some point. Btw, the Amsterdam |
|
Thanks for working on this! The new A few changes/additions and alignment with yesterday’s ACDT:
if fork in (BPO2ToBPO3AtTime15k, AmsterdamToBPOIncreaseAtTime15k):
|
|
One more thought: Could we generate |
Description
Warning
Post-Amsterdam BPO transitions require client changes before rollout. Clients that enforce BPO3/BPO4 activation before Amsterdam must update their fork-order handling to support these scenarios; Geth currently rejects that ordering. Hive mapper aliases alone do not fix this. Automatic fixture releases exclude the synthetic scenarios pending client support. Test releases will not include these scenarios without informing client teams first and confirming the required client support. Successful EELS filling does not establish client compatibility, and no external-client execution is claimed.
Add explicitly selected synthetic blob schedules under Amsterdam:
Amsterdam → BPOIncrease → BPODecrease. The increase uses target/max 21/32 and update fraction 20609697; the decrease uses 14/21 and 13739630. Both standalone schedules active at genesis and transitions at timestamp 15,000 are covered. Existing blob-fee and excess-blob-gas tests now opt into standalone BPO coverage.Retain numbered BPO1–BPO5 definitions and historical transitions for existing fixture releases and genesis parsing. Fork selection follows ancestry by default, so
--until=Amsterdamexcludes the parallel historical BPO3–BPO5 branch. Mainnet release generation stops at BPO2. Select the new scenarios explicitly with--from=BPOIncrease --until=BPODecrease; automatic releases do not include them.Internal fill CI extends the existing Amsterdam matrix entry through BPODecrease, keeping
not slow and primary_format. This selects 4,658 standalone synthetic BPO cases (356 reserve-price and 4,302 excess-blob-gas cases); synthetic transition tests remain excluded by theirslowmarkers. These CI fixtures are not published. The release-onlyfork-ranges.yamlsplits releases;feature.yamlkeeps devnet releases capped at Amsterdam.The Fusaka Devnet-4-specific regression case is intentionally removed. The new scenarios test Amsterdam schedule changes rather than preserving that historical devnet behavior.
Hive uses descriptive
HIVE_BPO_INCREASE_*andHIVE_BPO_DECREASE_*rulesets; numbered aliases remain supported.See synthetic blob schedule documentation for selection and compatibility details.
Validation:
just static; 364 unit/plugin checks passed, 6 skipped; 6 release-matrix checks passed; 152 blockchain/Engine fixtures filled (22 transition, 120 standalone reserve-price boundary, 10 standalone excess-blob-gas cases). A separate manual reserve-price fill passed 367 primary-format cases (356 standalone, 11 transition). Collection of the BPO-enabled suites confirmed the 4,658 standalone cases selected by the amended CI range and filter; these were not all re-filled locally.just lint-actionspassed. Inspected generated networks and Amsterdam headers; verified 28 EELS-to-Hive ruleset mappings across seven clients and unchanged legacy mapper output.Related Issues or PRs
Hive mapper aliases: ethereum/hive#1611.
Checklist
just static<type>(<area>): <title>, where<type>and<area>come from an appropriateC-<type>, respectivelyA-<area>, label. The title should match the target squash commit message.Cute Animal Picture