Unpauser - Grants permission to unpause the system.
Reward Pool Admin - Grants permission to manage the rewards payment pool.
Swapper Admin - Grants permission to manage the swapper.
Reallocator - Grants permission to reallocate Smart Vaults.
Strategy - Grants permission to be used as a Strategy.
Admin Role Strategy - Grants permission to manage the "Strategy" role.
Please see the code extract below detailing the above roles.
* @dev Grants permission to:
* - acts as a default admin for other roles,
* - can whitelist an action with action manager,
* - can manage asset group registry.
*
* Is granted to the deployer of the SpoolAccessControl contract.
*
* Equals to the DEFAULT_ADMIN_ROLE of the OpenZeppelin AccessControl.
*/
bytes32 constant ROLE_SPOOL_ADMIN = 0x00;
/**
* @dev Grants permission to integrate a new smart vault into the Spool ecosystem.
*
* Should be granted to smart vault factory contracts.
*/
bytes32 constant ROLE_SMART_VAULT_INTEGRATOR = keccak256("ROLE_SMART_VAULT_INTEGRATOR");
/**
* @dev Grants permission to manage rewards on smart vaults.
* TODO
*/
bytes32 constant ROLE_SMART_VAULT_ADMIN = keccak256("SMART_VAULT_ADMIN");
/**
* @dev Grants permission to manage allowlists with AllowlistGuard for a smart vault.
*
* Should be granted to whoever is in charge of maintaining allowlists with AllowlistGuard for a smart vault.
*/
bytes32 constant ROLE_GUARD_ALLOWLIST_MANAGER = keccak256("GUARD_ALLOWLIST_MANAGER");
/**
* @dev Grants permission to manage assets on master wallet.
*
* Should be granted to:
* - the SmartVaultManager contract,
* - the StrategyRegistry contract.
*/
bytes32 constant ROLE_MASTER_WALLET_MANAGER = keccak256("MASTER_WALLET_MANAGER");
/**
* @dev Marks a contract as a smart vault manager.
*
* Should be granted to the SmartVaultManager contract.
*/
bytes32 constant ROLE_SMART_VAULT_MANAGER = keccak256("SMART_VAULT_MANAGER");
/**
* @dev Grants permission to act as a risk provider.
*
* Should be granted to whoever is allowed to provide risk scores.
*/
bytes32 constant ROLE_RISK_PROVIDER = keccak256("RISK_PROVIDER");
/**
* @dev Grants permission to act as an allocation provider.
*
* Should be granted to contracts that are allowed to calculate allocations.
*/
bytes32 constant ROLE_ALLOCATION_PROVIDER = keccak256("ALLOCATION_PROVIDER");
/**
* @dev Grants permission to pause the system.
*/
bytes32 constant ROLE_PAUSER = keccak256("SYSTEM_PAUSER");
/**
* @dev Grants permission to unpause the system.
*/
bytes32 constant ROLE_UNPAUSER = keccak256("SYSTEM_UNPAUSER");
/**
* @dev Grants permission to manage rewards payment pool.
*/
bytes32 constant ROLE_REWARD_POOL_ADMIN = keccak256("ROLE_REWARD_POOL_ADMIN");
/**
* @dev Grants permission to manage the swapper.
*/
bytes32 constant ROLE_SWAPPER_ADMIN = keccak256("SWAPPER_ADMIN");
/**
* @dev Grants permission to reallocate smart vaults.
*/
bytes32 constant ROLE_REALLOCATOR = keccak256("REALLOCATOR");
/**
* @dev Grants permission to be used as a strategy.
*/
bytes32 constant ROLE_STRATEGY = keccak256("STRATEGY");
/**
* @dev Grants permission to manage role ROLE_STRATEGY.
*/
bytes32 constant ADMIN_ROLE_STRATEGY = keccak256("ADMIN_STRATEGY");