Contracts Architecture
Upgradability:
- Immutable - the contract cannot be upgraded
- Migratable - the contract can be upgraded by their owners to newer versions provided by its factory
- Not Specified - the contract may or may not be upgradeable
Accessibility:
- VaultFactory, DelegatorFactory, and SlasherFactory are Ownable, their owners can whitelist new versions/types
- Vault is Ownable, its owner can migrate it to newer versions
- Vault, Delegator, and Slasher have an AccessControl (roles mechanic) for providing granularity across accessibility risks
- Collateral, StakerRewards, and OperatorRewards can have any accessibility