-
Notifications
You must be signed in to change notification settings - Fork 33
Description
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.