Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tame TransitionImpossible et al #364

Closed
wants to merge 1 commit into from
Closed

Commits on Sep 23, 2023

  1. consensus: tame TransitionImpossible et al

    This commit renames TransitionImpossible to TransitionNever for two reasons.
    First, this is a more precise name. Second, this commit refines the
    singleEraTransition method so that TransitionNever is actually an absorbing
    state. Before this commit, TransitionImpossible could arise under certain
    circumstances but then the TransitionInfo for _the same era_ could later become
    TransitionUnknown. But now it is invariant that once the TransitionInfo for an
    era is ever TransitionNever then it always will be and moreover that era will
    indeed never end.
    
    This invariant is enforced in two ways. singleEraTransition can now induce
    TransitionNever, but only when that decision is independent of the ledger
    state, ie it must be a function only of inputs that the HFC does not vary
    (ledger config, EraParams, start of the era). The only other place
    TransitionNever arises is in the Unary.Isomorphism class, and it now has a law
    requiring that singleEraTransition only induce TransitionNever.
    nfrisby committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    007e239 View commit details
    Browse the repository at this point in the history