Dispatcheris the canonical global admin for the protocol, persisting across releases (how the release implements that authority is up to the release).
Dispatcheris deployed, the deployer (Avantgarde Core) is its initial
Dispatcherownership to the ETC:
Dispatcher.setNominatedOwner()with the ETC multi-sig address
owneris set to the ETC multi-sig
FundDeployeris taken to be the admin of release-level protocol contracts.
FundDeployeris set dynamically:
PreLaunch, the owner is the contract's deployer, i.e., Avantgarde Core
releaseStatusis set to
Live(which is only changeable by the
Dispatcherowner), the contract then defers ownership to the owner of
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
FundDeployerbecomes the ETC, so does the owner of all contracts that implement this mixin.
DispatcherOwnerMixin, if ownership is necessary. This contract operates exactly like
FundDeployerOwnerMixin, but defers ownership to the