Roles
This page summarizes all the role-related parameters that appear across the different initialization structs used when deploying a Byzantine Vault. These roles are critical for managing delegation, upgrades, fee claiming, whitelisting, and other access control logic.
Byz Vault Roles (ERC20 Vaults)
Defined in the ByzVaultParams
struct.
Global administrator of all roles in the vault (except curator fee claimer roles).
Can grant/revoke any role and transfer its own privileges to a new address.
versionManager
Defined in the ByzVaultParams
struct.
Can upgrade the vault’s logic to a new whitelisted version.
Can update vault metadata URI.
depositWhitelistManager
Defined in the ByzVaultParams
struct.
Can manage deposit permissions (whitelist or public).
Can assign deposit rights to specific addresses.
depositLimitManager
Defined in the ByzVaultParams
struct.
Can toggle the deposit cap (
isDepositLimit
) and update the actualdepositLimit
value.
curatorFeeClaimerRoleAdmin
Defined in the ByzVaultParams
struct.
Admin for the
curatorFeeClaimer
role.Can revoke or reassign the curator fee claiming rights.
Note: The
curatorFeeClaimer
role itself cannot be managed byroleManager
, only bycuratorFeeClaimerRoleAdmin
.
Native Byz Vault Roles
The Native Byz Vault inherits all the same roles from the ERC20 ByzVaultParams
struct. In addition:
It uses
validatorManagers
, which are a list of addresses managing the validator logic (only used for Solo Staker Vaults).These addresses cannot be removed once set, so must be chosen carefully.
EigenLayer Roles
These roles manage the delegation of vault collateral to EigenLayer operators, allowing for secure restaking across EigenLayer’s decentralized infrastructure. All roles in this section are defined in the EigenParams
struct.
delegationSetRoleHolder
Defined in the EigenParams
struct.
Can delegate, undelegate, or redelegate the vault’s stake to an EigenLayer operator.
Manages the active operator assignment and updates the staking target.
Sym Byz Vault Roles (Symbiotic Modules)
These roles govern how stake is distributed and slashed in the Symbiotic ecosystem. They control delegation logic, hooks for reactive behavior, and per-network configuration through role holders.
Roles in this section are defined in the DelegatorParams
and BurnerParams
structs.
hookSetRoleHolder
Defined in the DelegatorParams
struct.
Can set or update the
hook
contract that reacts to slashing events.Must ensure role arrays (
networkLimitSetRoleHolders
, operatorNetworkLimitOrSharesSetRoleHolders) are updated accordingly.
networkLimitSetRoleHolders
Defined in the DelegatorParams
struct.
Addresses allowed to configure delegation limits at the network level.
Used in
NETWORK_RESTAKE
,FULL_RESTAKE
, andOPERATOR_SPECIFIC
Delegator types.
operatorNetworkLimitOrSharesSetRoleHolders
Defined in the DelegatorParams
struct.
Addresses authorized to manage operator-network delegation strategy.
Used in
NETWORK_RESTAKE
(shares) andFULL_RESTAKE
(limits).Optional for
OPERATOR_SPECIFIC
andOPERATOR_NETWORK_SPECIFIC
types.
Last updated