Skip to content

Exceptions for the "first block" #101

@ebuchman

Description

@ebuchman

This first block in Tendermint is unique in that all of the last_xxx fields are actually empty, while in normal operation they are required to not be empty. On the other hand, some fields can be empty in normal operation (eg. app_hash, data_hash, evidence_hash). Recent PRs like #66 have been dealing with this by making all fields that can be empty Options, but it may be clearer if there is actually an explicit FirstBlock type that doesn't have the empty fields and and we reserve Option only for the fields that can be empty in normal operation. See the discussion in #66.

Another possibility is to clean this up by making a chance in the underlying tendermint protocol, see tendermint/tendermint#4241

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain-typesAnything relating to the creation, modification or removal of domain typesneeds-dodNeeds a "definition of done" for claritystructureHigh level repo-wide structural concerns

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions