- Release version of all contracts in
autonolas-registries
with the final bytecode; - Test the deployment flow with closest to real environment;
- Contract Timelock is already deployed on the mainnet during the
autonolas-governance
deployment.
The steps of deploying the contracts in this repository are as follows:
- EOA to deploy ComponentRegistry;
- EOA to deploy AgentRegistry pointed to ComponentRegistry;
- EOA to deploy RegistriesManager pointed to ComponentRegistry and AgentRegistry;
- EOA to deploy ServiceRegistry;
- EOA to deploy ServiceManager pointed to ServiceRegistry;
- EOA to deploy GnosisSafeMultisig and GnosisSafeSameAddresssMultisig;
- EOA to change the manager of ServiceRegistry to ServiceManager calling
changeManager(ServiceManager)
; - EOA to change the manager of ComponentRegistry and AgentRegistry to RegistriesManager via
changeManager(RegistriesManager)
; - EOA to whitelist GnosisSafeMultisigs in ServiceRegistry via
changeMultisigPermission(GnosisSafeMultisig)
; - EOA to transfer ownership rights of ComponentRegistry to Timelock calling
changeOwner(Timelock)
; - EOA to transfer ownership rights of AgentRegistry to Timelock calling
changeOwner(Timelock)
; - EOA to transfer ownership rights of ServiceRegistry to Timelock calling
changeOwner(Timelock)
; - EOA to transfer ownership rights of RegistriesManager to Timelock calling
changeOwner(Timelock)
; - EOA to transfer ownership rights of ServiceManager to Timelock calling
changeOwner(Timelock)
.
- EOA to deploy OperatorWhitelist;
- EOA to deploy ServiceRegistryTokenUtility;
- EOA to deploy ServiceManagerToken pointed to ServiceRegistry, ServiceRegistryTokenUtility and OperatorWhitelist;
- EOA to change the manager of ServiceRegistryTokenUtility to ServiceManagerToken calling
changeManager(ServiceManagerToken)
; - EOA to transfer ownership rights of ServiceRegistryTokenUtility to Timelock calling
changeOwner(Timelock)
; - EOA to transfer ownership rights of ServiceManagerToken to Timelock calling
changeOwner(Timelock)
.