Access Control Handoff
The owner of the
Dispatcheris 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.
For this release, the owner of the
FundDeployeris taken to be the admin of release-level protocol contracts.
The owner of
FundDeployeris set dynamically:
false, the owner is the contract's deployer, i.e., Avantgarde Core
isLiveis set to
true(by Avantgarde Core), the contract then defers ownership to the owner of
This setup allows for easily setting up all contract configuration prior to freezing ownership for verification.
IntegrationManager) and plugins (fees, policies, integration adapters) that require ownership for access control defer ownership to the current
FundDeployerowner. This is accomplished by inheriting a
Thus when the owner of the
FundDeployerbecomes 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.