You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
enumUpgradeType{// An upgrade type which replaces the chain config with the given oneChainConfig(ChainConfig),// More upgrade types may be added as the software evolves. For example, a specific protocol upgrade may just have a name// (like an Ethereum hardfork name) and a unit variant here, which the validation logic is hard-coded to handle.}structUpgrade{type:UpgradeType,block:u64,}structGenesis{
...
upgrades:BTreeMap<Version,Upgrade>,}
Add upgrades: BtreeMap<Version, Upgrade> to NodeState.
On startup, check the current version and find the next configured upgrade. If there is one, configure HotShot to upgrade to the next protocol version at the specified block.
In validation logic, check the current protocol version. If it is greater than the previous version, look up the corresponding upgrade and execute it. At first, the only type of upgrade we will support executing is a ChainConfig upgrade, which just sets the chain_config in ValidatedState
The text was updated successfully, but these errors were encountered:
Rough Proposal
Add the following to genesis:
Add
upgrades: BtreeMap<Version, Upgrade>
toNodeState
.On startup, check the current version and find the next configured upgrade. If there is one, configure HotShot to upgrade to the next protocol version at the specified block.
In validation logic, check the current protocol version. If it is greater than the previous version, look up the corresponding upgrade and execute it. At first, the only type of upgrade we will support executing is a
ChainConfig
upgrade, which just sets thechain_config
inValidatedState
The text was updated successfully, but these errors were encountered: