Technical ReferenceContract Functions

Access Manager

Spectra uses the OpenZeppelin Access Manager contract to manage access to restricted protocol functions. Roles are assigned to function selectors on each target contract; integrations should check the target contract's authority configuration.

See the OpenZeppelin Access Manager documentation for role assignment and execution delays.

Roles

Role NameIDDescription
ADMIN_ROLE0The default admin role of the Access Manager. This role allows to create new roles and assign users to roles.
UPGRADE_ROLE1Grant the permission to upgrade the protocol contract implementations
PAUSER_ROLE2Grant the permission to pause the PT and LP Vault in case of emergency
FEE_SETTER_ROLE3Grant the permission to change the fees of the protocol in the registry contract.
REGISTRY_ROLE4Grant the permission to change the addresses in the registry contracts.
REWARDS_HARVESTER_ROLE5Grant the permission to claim rewards on a PT rewards proxy.
REWARDS_PROXY_SETTER_ROLE6Grant the permission to add a rewards proxy on a PT.
VOTER_GOVERNOR_ROLE7Manage the maximum number of pool votes, reward-token and NFT whitelists, and forced vote resets.
VOTER_EMERGENCY_COUNCIL_ROLE8Grant the permission to ban and reauthorise voting for specific pools.
VOTER_ROLE9Authorize the Voter to create pool voting rewards and update reward balances.
FEES_VOTING_REWARDS_DISTRIBUTOR_ROLE10Authorize FeesVotingReward.notifyRewardAmount to fund pool fee rewards.
MINTER_ROLE11Authorize RewardsDistributor.checkpointToken to record tokens for rebase distribution.
MANAGED_DEPOSITS_ROLE12Authorize deposits and withdrawals in managed reward contracts.
VOTING_ESCROW_MANAGER_ROLE13Create managed locks, enable or disable managed locks, set the NFT art proxy, and configure lock splitting.

On this page