Skip to content

Enforce proposer settings schema from file/URL loading - #17498

Merged
syjn99 merged 6 commits into
developfrom
feat/strict-schema-proposer-settings
Sep 21, 2026
Merged

syjn99 merged 6 commits into
developfrom
feat/strict-schema-proposer-settings

Conversation

@syjn99

@syjn99 syjn99 commented Sep 15, 2026 •

Copy link
Copy Markdown
Member

What type of PR is this?

Feature

What does this PR do? Why is it needed?

As we have introduced new version for proposer settings schema, I can think of a scenario that an user modifies the settings file incorrectly before Gloas fork but Prysm usually ignores the file and silently takes the correct data. I think it's a better UX to say loudly when there is a undesired field. Also this can catch some common typo like fee_recipent.

This PR looks huge, but most of the diff contains new JSON/YAML files for the unit test. There are few changes in production path, namely:

  • Either file/URL path, Prysm now decodes strictly (both for JSON and YAML path)
  • When the version is larger than 2 or builder_set is explictly set, Prysm rejects it at startup.

Which issue(s) does this PR fix?

N/A

Other notes for review

The PR above changes BuilderConfig.relays as reserved fields. Now, this PR rollbacks with an explicit comment, as we will still allow relays field even after v2, even though it is completely ignored.

Acknowledgements

  • I have read CONTRIBUTING.md.
  • I have included a uniquely named changelog fragment file.
  • I have added a description with sufficient context for reviewers to understand this PR.
  • I have tested that my changes work as expected and I added a testing plan to the PR description (if applicable).

@syjn99 syjn99 added validator-client ux Cosmetic / User Experience related items labels Sep 16, 2026
@syjn99
syjn99 marked this pull request as ready for review September 16, 2026 11:48
@syjn99
syjn99 requested a review from a team as a code owner September 16, 2026 11:48
Comment thread config/proposer/loader/loader.go Outdated
Comment thread config/util.go
Comment thread config/proposer/settings.go
- Add `MaxSchemaVersion`
- Check key wellformness before payload nil-check
@syjn99
syjn99 requested a review from james-prysm September 17, 2026 04:26
@syjn99
syjn99 enabled auto-merge September 18, 2026 07:29
@syjn99
syjn99 added this pull request to the merge queue Sep 21, 2026
Merged via the queue into develop with commit 149dd25 Sep 21, 2026
28 checks passed
@syjn99
syjn99 deleted the feat/strict-schema-proposer-settings branch September 21, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ux Cosmetic / User Experience related items validator-client

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants