Vault Management
The Curator is a privileged role responsible for managing the lifecycle, configuration, and fee logic of a Byzantine Vault. This includes vaults built with either the ByzVaultParams
or NativeByzVaultParams
structs.
This section outlines the behaviors available to curators for ERC-20 vaults and native ETH vaults, detailing the required role and the associated functions to call.
Summary of Curator Actions (ByzVault / NativeByzVault)
Assign/revoke all roles
roleManager
ByzVault
grantRole
, revokeRole
, renounceRole
Manage Deposit Whitelisting
DEPOSIT_WHITELIST_MANAGER_ROLE
ByzVault
setCanDeposit()
, setIsPrivateVault()
Set or Update Deposit Limits
DEPOSIT_LIMIT_MANAGER_ROLE
ByzVault
setDepositLimit()
, setIsDepositLimit()
Upgrade Vault or Update Metadata
VERSION_MANAGER_ROLE
ByzVault
updateMetadataURI()
Register validators
VALIDATORS_MANAGER_ROLE
NativeByzVault
registerValidators()
1. Assign/revoke all roles
Role Required:
roleManager
Functionality:
Grant or revoke any role defined in the vault.
Transfer roleManager to another address.
Functions:
function grantRole(bytes32 role, address account) external; function revokeRole(bytes32 role, address account) external; function renounceRole(bytes32 role, address account) external;
2. Manage Deposit Whitelisting
Role Required:
DEPOSIT_WHITELIST_MANAGER_ROLE
Function:
function setCanDeposit(address[] calldata _stakers, bool _canDeposit) external; function setIsPrivateVault(bool _isPrivateVault) external;
Functionality:
Enable or disable private vault mode.
Approve or deny deposit permissions to specific stakers.
3. Set or Update Deposit Limits
Role Required:
DEPOSIT_LIMIT_MANAGER_ROLE
Function:
function setIsDepositLimit(bool _isDepositLimit) external; function setDepositLimit(uint256 _depositLimit) external;
Functionality:
Cap deposits into the vault to a defined limit.
Toggle deposit cap logic on or off.
4. Update Vault's Metadata
Role Required:
VERSION_MANAGER_ROLE
Function:
function updateMetadataURI(string calldata metadataURI) external;
Functionality:
Change the off-chain metadata URI.
5. Register Ethereum Validators (Solo Staker Vaults Only)
Role Required:
VALIDATORS_MANAGER_ROLE
Function:
function registerValidators(Validator[] calldata validators) external;
Functionality:
Add new Ethereum validators to the vault for staking.
Only callable if the operatorId is set to
bytes32(0)
(Solo Staker Vault).
Last updated