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 Name | ID | Description |
|---|---|---|
| ADMIN_ROLE | 0 | The default admin role of the Access Manager. This role allows to create new roles and assign users to roles. |
| UPGRADE_ROLE | 1 | Grant the permission to upgrade the protocol contract implementations |
| PAUSER_ROLE | 2 | Grant the permission to pause the PT and LP Vault in case of emergency |
| FEE_SETTER_ROLE | 3 | Grant the permission to change the fees of the protocol in the registry contract. |
| REGISTRY_ROLE | 4 | Grant the permission to change the addresses in the registry contracts. |
| REWARDS_HARVESTER_ROLE | 5 | Grant the permission to claim rewards on a PT rewards proxy. |
| REWARDS_PROXY_SETTER_ROLE | 6 | Grant the permission to add a rewards proxy on a PT. |
| VOTER_GOVERNOR_ROLE | 7 | Manage the maximum number of pool votes, reward-token and NFT whitelists, and forced vote resets. |
| VOTER_EMERGENCY_COUNCIL_ROLE | 8 | Grant the permission to ban and reauthorise voting for specific pools. |
| VOTER_ROLE | 9 | Authorize the Voter to create pool voting rewards and update reward balances. |
| FEES_VOTING_REWARDS_DISTRIBUTOR_ROLE | 10 | Authorize FeesVotingReward.notifyRewardAmount to fund pool fee rewards. |
| MINTER_ROLE | 11 | Authorize RewardsDistributor.checkpointToken to record tokens for rebase distribution. |
| MANAGED_DEPOSITS_ROLE | 12 | Authorize deposits and withdrawals in managed reward contracts. |
| VOTING_ESCROW_MANAGER_ROLE | 13 | Create managed locks, enable or disable managed locks, set the NFT art proxy, and configure lock splitting. |