Skip to content

Conversation

@Galoretka
Copy link
Contributor

This change fixes ContextByteVersionsForValRoot to actually respect the supplied genesis validators root when computing RPC context digests, instead of using the precomputed digests bound to BeaconConfig().GenesisValidatorsRoot. The fork digest per the consensus spec depends on (fork_version, genesis_validators_root), and since callers pass a concrete root (e.g., from startup clock or backfill origin), using the wrong root leads to unrecognized fork digest errors during RPC decoding. The implementation now recomputes the digest for each network schedule entry via ForkData.HashTreeRoot and, for Fulu and later, applies the same BPO mixing (XOR with hash of BPOEpoch and MaxBlobsPerBlock) as in params.entryWithForkDigest. This aligns behavior with the spec, honors caller intent, and prevents mismatches when the effective genesis root differs from the active config’s root, without impacting normal configurations where they are the same.

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.

1 participant