github.com/Finschia/finschia-sdk@v0.48.1/x/upgrade/spec/02_state.md (about)

     1  <!--
     2  order: 2
     3  -->
     4  
     5  # State
     6  
     7  The internal state of the `x/upgrade` module is relatively minimal and simple. The
     8  state contains the currently active upgrade `Plan` (if one exists) by key
     9  `0x0` and if a `Plan` is marked as "done" by key `0x1`. The state
    10  contains the consensus versions of all app modules in the application. The versions
    11  are stored as big endian `uint64`, and can be accessed with prefix `0x2` appended
    12  by the corresponding module name of type `string`. The state maintains a
    13  `Protocol Version` which can be accessed by key `0x3`.
    14  
    15  - Plan: `0x0 -> Plan`
    16  - Done: `0x1 | byte(plan name)  -> BigEndian(Block Height)`
    17  - ConsensusVersion: `0x2 | byte(module name)  -> BigEndian(Module Consensus Version)`
    18  - ProtocolVersion: `0x3 -> BigEndian(Protocol Version)`
    19  
    20  The `x/upgrade` module contains no genesis state.