Access Control Handoff
Dispatcher ownership
The owner of the Dispatcher
is the canonical global admin for the protocol, persisting across releases (how the release implements that authority is up to the release).
The owner is already the Enzyme Council.
The Enzyme Council is able to transfer ownership (e.g., to a new multisig wallet, as has taken place) via a nomination-claim procedure.
FundDeployer ownership
For this release, the owner of the FundDeployer
is taken to be the admin of release-level protocol contracts.
The owner of FundDeployer
is set dynamically:
when
isLive
isfalse
, the owner is the contract's deployer, i.e., Avantgarde Corewhen
isLive
is set totrue
(by Avantgarde Core), the contract then defers ownership to the owner ofDispatcher
This setup allows for easily setting up all contract configuration prior to freezing ownership for verification.
Extensions and plugins ownership
Extensions (FeeManager
, PolicyManager
, IntegrationManager
) and plugins (fees, policies, integration adapters) that require ownership for access control defer ownership to the current FundDeployer
owner. This is accomplished by inheriting a FundDeployerOwnerMixin
contract.
Thus when the owner of the FundDeployer
becomes the ETC, so does the owner of all contracts that implement this mixin.
---
These patterns of handing-off access control gives maximum flexibility for deployment and configuration, while assuring that the ETC will end up with complete admin privileges once the protocol is taken liven.
Last updated