The internal state of the x/upgrade
module is relatively minimal and simple. The
state contains the currently active upgrade Plan
(if one exists) by key
0x0
and if a Plan
is marked as "done" by key 0x1
. The state
contains the consensus versions of all app modules in the application. The versions
are stored as big endian uint64
, and can be accessed with prefix 0x2
appended
by the corresponding module name of type string
. The state maintains a
Protocol Version
which can be accessed by key 0x3
.
- Plan:
0x0 -> Plan
- Done:
0x1 | byte(plan name) -> BigEndian(Block Height)
- ConsensusVersion:
0x2 | byte(module name) -> BigEndian(Module Consensus Version)
- ProtocolVersion:
0x3 -> BigEndian(Protocol Version)
The x/upgrade
module contains no genesis state.