Contracts upgrades

Some parts of our protocol are evolving and as most of the software requires maintenance. Here we describe how do we upgrade our protocol source code

Upgrade algorithm

  1. DEFAULT_ADMIN_ROLE calls changeUpgradeStatus(true) on the upgradeable contract

  2. DEFAULT_ADMIN_ROLE grants UPGRADER_ROLE to specific trusted address that will be executing upgrade

  3. Trusted address is executing upgrade with script using @openzeppelin/hardhat-upgrades plugin to ensure upgrade safety, storage layout consistency and avoiding potential vulnerability and attacks like this.

Last updated