Implement avalanche blockchain manager upgrade
flow
#2319
Labels
enhancement
New feature or request
Milestone
Goal
Enable users to upgrade Validator Manager contracts to new deployed implementations via an upgrade to the proxy contract.
Details
Both the PoA and PoS options offered in the CLI will be deployed behind a
TransparentProxy
contract included in genesis at the address set inConvertSubnetToL1Tx
. The admin of thisTransparentProxy
is aProxyAdmin
contract included in genesis at a given address (which is also set in genesis).The owner of the
ProxyAdmin
contract is decided when the user selects an owner duringavalanche blockchain create
, and will likely be set to an EVM address controlled by the user. This address has control over upgrading the implementationValidatorManager
referenced by theTransparentProxy
through use of aProxyAdmin
.The implementation contract for either PoA or PoS ValidatorManager(depending on the user selection) is included in genesis at a given address (which is also set in genesis).
avalanche blockchain manager upgrade
should enable the user to:Option 1. Upgrade their PoA L1 to a PoS L1
Option 2. Upgrade the proxy to point at a custom Validator Manager contract already deployed by the user
Upgrade PoA to PoS
Requirements:
rewardBasisPoints
.TransparentProxy
's implementation to the newTokenStakingManagerAddress
through a call toProxyAdmin
with user's owner key set previously inavalanche blockchain create
.Upgrade to custom Validator Manager contract
Requirements:
TransparentProxy
's implementation to the new L1 EVM address provided in the previous address through a call toProxyAdmin
with user's owner key set previously inavalanche blockchain create
.To Note
A POC of the PoA -> PoS upgrade is outlined in this demo.
The text was updated successfully, but these errors were encountered: