Skip to content

HFC: require that every era contains at least one safe zone worth of slots #417

@amesgen

Description

@amesgen

Disclaimer: This ticket is not about the functionality that allows to directly skip to a later era at Genesis, as used for various testing/benchmarking purposes. We ultimately need to support that use case while also adding this requirement for any era that is not skipped.

The HFC supports eras that end immediately after they started (for Cardano, this could eg happen when specifying TriggerHardForkAtEpoch X for two subsequent eras; also see the IMMEDIATE trajectories here). This is a confusing edge case complicating certain reasoning, would result in extremely strange behavior with the current implementation, and we don't see any use case for it.

Hence, we should remove support for it in the HFC, and instead require that they contain at least one safe zone worth of slots (usually, with an epoch being larger than a safe zone, that is equivalent to requiring at least one epoch in every era).

Care should be taken to ensure configurations not fulfilling this new principle will fail early, and to document how this can be tested and recognized.

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