Skip to content

params: remove named hardforks from bpo schedule - #35029

Merged
rjl493456442 merged 4 commits into
ethereum:masterfrom
MariusVanDerWijden:bpo-config-refactor
Jul 1, 2026
Merged

rjl493456442 merged 4 commits into
ethereum:masterfrom
MariusVanDerWijden:bpo-config-refactor

Conversation

@MariusVanDerWijden

@MariusVanDerWijden MariusVanDerWijden commented May 22, 2026 •

Copy link
Copy Markdown
Member

Turns

    "blobSchedule": {
      "cancun": {
        "target": 3,
        "max": 6,
        "baseFeeUpdateFraction": 3338477
      },
      "prague": {
        "target": 6,
        "max": 9,
        "baseFeeUpdateFraction": 5007716
      },
      "osaka": {
        "target": 6,
        "max": 9,
        "baseFeeUpdateFraction": 5007716
      },
      "bpo1": {
        "target": 10,
        "max": 15,
        "baseFeeUpdateFraction": 8346193
      },
      "amsterdam": {
        "target": 10,
        "max": 15,
        "baseFeeUpdateFraction": 8346193
      }
    },
    "osakaTime": 0,
    "bpo1Time": 0,
    "amsterdamTime": 1779434285

into

    "blobSchedule": {
      "cancun": {
        "target": 3,
        "max": 6,
        "baseFeeUpdateFraction": 3338477
      },
      "prague": {
        "target": 6,
        "max": 9,
        "baseFeeUpdateFraction": 5007716
      },
      "bpo1": {
        "target": 10,
        "max": 15,
        "baseFeeUpdateFraction": 8346193
      },
    },
    "osakaTime": 0,
    "bpo1Time": 0,
    "amsterdamTime": 1779434285
    ```

@lightclient

Copy link
Copy Markdown
Member

Change generally looks good, but is there a spec somewhere for this? Currently 7892 and 7840 don't define this behavior. Just want to cross reference with that to verify it is correct.

@MariusVanDerWijden

Copy link
Copy Markdown
Member Author

@lightclient nope, there was a discussion about it on discord, but I don't think we have a formal spec.
@barnabasbusa might know

@rjl493456442 rjl493456442 self-assigned this Jun 11, 2026
Comment thread params/config.go Outdated
// a loud warning but do not abort loading — the blob schedule for those forks
// inherits from the most recent preceding BPO entry.
func (b *BlobScheduleConfig) UnmarshalJSON(data []byte) error {
type plain BlobScheduleConfig

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's strange, json will automatically filter the unknown fields.

And what's more, this function just print some warning logs and doesn't remove the unknown fields explicitly. I feel the entire customization is unneeded.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, removed it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants