VaultRegistry
File:contracts/src/core/VaultRegistry.solPattern: UUPS Upgradeable
Inherits:
Initializable, OwnableUpgradeable, UUPSUpgradeable
The VaultRegistry is the on-chain source of truth for all vaults deployed through the protocol. Only the authorized VaultFactory can write to it. Anyone can read from it to verify whether a given address is a legitimate ZibaXeer vault.
State Variables
| Variable | Type | Description |
|---|---|---|
isRegisteredVault | mapping(address => bool) | Whether an address is a registered vault |
leaderToVaults | mapping(address => address[]) | All vault addresses a leader manages |
authorizedFactory | address | The only address allowed to call registerVault |
Events
VaultRegistered
FactoryUpdated
Functions
registerVault
authorizedFactory only
Called automatically by VaultFactory.createVault() after proxy deployment. Marks the vault as registered and appends it to the leader’s vault list.
setAuthorizedFactory
FactoryUpdated.
Read Access
Security
The
onlyFactory modifier prevents any external actor from registering arbitrary addresses as vaults. The authorizedFactory can only be updated by the contract owner (protocol DAO or multi-sig), making the registry tamper-proof under normal operation.onlyFactory modifier prevents any external actor from registering arbitrary addresses as vaults:
authorizedFactory can only be changed by the contract owner (protocol DAO/multi-sig).