Skip to content

Use fork-aware sync message due point in beacon node callers #9784

Description

@shane-moore

Description

#9675 added SYNC_MESSAGE_DUE_BPS_GLOAS and a fork-aware ChainSpec::get_sync_message_due_at_slot, but only the VC consumes it. Three BN call sites still use the fork-blind get_sync_message_due():

Harmless today since GLOAS_FORK_EPOCH is far-future in every config.

Steps to resolve

Switch the three call sites to get_sync_message_due_at_slot, using the update's signature_slot for the light client gates and the message's slot in the validator monitor. I think signature_slot is the right fork selector since the gate measures time from the start of that slot, but a test at the fork boundary would pin it down.

Once wired, get_sync_message_due() has no production callers and can be removed, renaming get_sync_message_due_at_slot to get_sync_message_due::<E>(slot) to match get_attestation_due.

Additional Info

Part of the broader inner-slot timing work in #8615.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions