Role Management
Role & Permissions
DEFAULT_ADMIN
The DEFAULT_ADMIN role serves as the highest administrative authority in the system, possessing complete control over role management and critical system parameters. This role can manage all other roles, control emergency functions, configure core system parameters, and execute privileged operations across all contracts. It is typically assigned to a secure multisig wallet or governance contract and cannot be renounced to prevent system lockup. A delay of three days must be observed before granting that role to a new address.
Role Holders: Usual Multisig
Add USD0 RWA (TokenMapping)
Unpause (AirdropDistribution, AirdropTaxCollector, DaoCollateral, DistributionModule, L2Usd0, L2Usd0PP, SwapperEngine, Usd0, USD0pp, Usual, UsualS, USUALSP, UsualX)
Activate/Deactivate CBR (DaoCollateral)
Set redeem fee (DaoCollateral)
Redeem DAO (DaoCollateral)
Unpause redeem/swap (DaoCollateral)
Set max depeg threshold (AbstractContract)
Initialize token oracle (ClassicalOracle, UsualOracle)
Set role admin (RegistryAccess)
Set contract (RegistryContract)
Update minimum USDC amount provided (SwapperEngine)
Emergency withdraw (USD0pp)
PAUSING_CONTRACTS_ROLE
The PAUSING_CONTRACTS_ROLE exists as an emergency control mechanism to halt contract operations when critical issues are detected. This role has the ability to pause functionality across multiple core contracts including token transfers, DAO collateral operations, and swapper engine activities. It serves as a first line of defense against potential exploits or system anomalies.
Role Holders: Usual Multisig
Pause ( DaoCollateral, DistributionModule, L2Usd0, L2Usd0PP, SwapperEngine, Usd0, USD0pp, Usual, UsualS, USUALSP, UsualX)
UNPAUSING_CONTRACTS_ROLE
The UNPAUSING_CONTRACTS_ROLE is crucial for resuming normal operations after an emergency pause has been enacted. This role ensures that, after thorough checks and validations, the systems and contract functionalities that were halted can be safely reactivated. It is critical for maintaining operational continuity and system integrity.
Role Holders: Usual Multisig
Unpause ( DaoCollateral, DistributionModule, L2Usd0, L2Usd0PP, SwapperEngine, Usd0, USD0pp, Usual, UsualS, USUALSP, UsualX)
USUAL_M_PAUSE
The USUAL_M_PAUSE role is dedicated to managing pause functions for wrapped m. Holders of this role have the authority to initiate emergency pauses, ensuring immediate response to critical threats or issues within the system's operations. This ability is essential for maintaining system security and operational stability during unforeseen events.
Role Holders: Usual Pauser
Pause (UsualM)
USUAL_M_UNPAUSE
The USUAL_M_UNPAUSE role is critical for resuming operations that were halted due to an emergency pause. Holders of this role can safely unpause the system once the underlying issues are addressed, ensuring that the system returns to normal operations without compromising security and stability.
Role Holders: Usual Multisig
Unpause (UsualM)
USUAL_M_UNWRAP
The USUAL_M_UNWRAP role is responsible for managing the unwrapping operations within the system. This involves managing the conversion of wrapped tokens back to their original form in a secure and efficient manner, ensuring liquidity and accessibility for stakeholders.
Role Holders: Usual Multisig
Unwrap (UsualM)
USUAL_M_MINTCAP_ALLOCATOR
The USUAL_M_MINTCAP_ALLOCATOR is responsible for managing the allocation of the minting cap within the system. This role ensures that minting operations are within the predefined limits, maintaining stability and preventing excessive token creation which could impact the market.
Role Holders: Usual Mintcap Multisig
setMintCap (UsualM)
NONCE_THRESHOLD_MANAGER
The NONCE_THRESHOLD_MANAGER is tasked with continuous monitoring and management of the nonce thresholds within the DAO collateral system. This role requires frequent adjustments based on transaction volume and emerging security requirements, ensuring robust protection against unauthorized transaction replays.
Role Holders: Usual Multisig
Monitor and adjust nonce thresholds (NonceManagement)
NONCE_THRESHOLD_SETTER_ROLE
The NONCE_THRESHOLD_SETTER_ROLE exists to manage the nonce threshold parameters in the DAO collateral system. This role is responsible for setting and adjusting the nonce threshold that determines the validity of swap intents, helping prevent replay attacks and ensuring transaction ordering in the RWA to STBC swap process.
Role Holders: Usual Multisig
Set nonce threshold (DaoCollateral)
INTENT_MATCHING_ROLE
The INTENT_MATCHING_ROLE exists to facilitate secure RWA to STBC token swaps in the DAO collateral system. This role is responsible for executing swap intents by matching off-chain orders with on-chain transactions, ensuring proper order execution and token transfers between parties. The role is typically assigned to trusted swap operators or automated market makers authorized by the Usual Multisig.
Role Holders: Swapper Engine Keeper
Swap RWA to STBC intent (DaoCollateral)
DISTRIBUTION_OPERATOR_ROLE
The DISTRIBUTION_OPERATOR_ROLE exists to manage the daily distribution of USUAL tokens across various protocol buckets and off-chain distributions. This role is responsible for executing the core token distribution mechanics, including calculating new emissions, distributing tokens to on-chain vaults (Usual+ and Usual*), and managing the off-chain distribution queue through merkle proofs. The role is typically assigned to an automated keeper managed.
Role Holders: Google KMS Service Account (Keeper)
Distribute USUAL to buckets (DistributionModule)
Queue off-chain USUAL distribution (DistributionModule)
Reset off-chain distribution queue (DistributionModule)
DISTRIBUTION_ALLOCATOR_ROLE
The DISTRIBUTION_ALLOCATOR_ROLE exists to manage the core economic parameters of the USUAL token distribution system. This role is responsible for configuring the distribution mechanics by setting emission rates, bucket allocations, and key distribution parameters that determine how USUAL tokens are distributed across different protocol components. The role has significant control over the tokenomics and must be carefully managed to ensure fair and efficient token distribution. It is typically assigned to a Usual Multisig under DAO oversight.
Role Holders: Usual DAO
Set buckets distribution (DistributionModule)
Set gamma (DistributionModule)
Set rate min (DistributionModule)
Set D (DistributionModule)
Set M0 (DistributionModule)
DISTRIBUTION_CHALLENGER_ROLE
The DISTRIBUTION_CHALLENGER_ROLE exists as a security mechanism to ensure the integrity of off-chain USUAL token distributions. This role has the authority to challenge and invalidate potentially incorrect or malicious distributions before they are finalized. It can challenge all distributions in the queue that are older than a specified timestamp and optionally propose new valid distributions with corrected merkle roots. The role serves as a critical safeguard against distribution errors or manipulation attempts and is typically assigned to the Usual Multisig.
Role Holders: Usual Multisig
Challenge distribution (DistributionModule)
BLACKLIST_ROLE
The BLACKLIST_ROLE exists as a security mechanism to protect the protocol from malicious actors, comply with regulatory requirements, and ensure rapid response to security incidents. This role has the authority to restrict specific addresses from participating in token transfers and protocol operations across multiple core contracts including L2USD0, L2USD0PP, USD0PP, USD0, USUAL, USUALS, and USUALX.
Role Holders: Usual Multisig
Blacklist/Unblacklist (L2Usd0, L2Usd0PP, USD0pp, Usd0, Usual, UsualS, UsualX)
USD0_MINT
The USD0_MINT role exists as a critical control mechanism for managing the supply of USD0 tokens in the system. This role has the authority to mint new USD0 tokens across multiple contracts including L2USD0, L2USD0PP, and USD0, but only when there is sufficient backing in the treasury. The role is typically assigned to the DAO Collateral contract and other protocol-controlled contracts to ensure automated and secure minting operations.
Role Holders: DAO Collateral Contract, SwapperEngine
Mint (L2Usd0, L2Usd0PP, Usd0)
USD0_BURN
The USD0_BURN role exists as a critical control mechanism for managing the supply of USD0 tokens in the system. This role has the authority to burn USD0 tokens across multiple contracts including L2USD0, L2USD0PP, and USD0, ensuring proper supply management and redemption functionality. The role is typically assigned to the DAO Collateral contract and SwapperEngine to enable automated burning operations during redemptions and swaps.
Role Holders: DAO Collateral Contract, SwapperEngine
Burn (L2Usd0, L2Usd0PP, Usd0)
Burn from (L2Usd0, L2Usd0PP, Usd0)
EARLY_BOND_UNLOCK_ROLE
The EARLY_BOND_UNLOCK_ROLE exists to manage early bond unlocking functionality in the USD0PP (USD0 Plus Plus) contract. This role is responsible for configuring and executing early bond release mechanisms, allowing authorized entities to set up special unlock periods and allocate early unlock balances for specific bond holders.
Role Holders: Usual Multisig
Allocate early unlock balance (USD0pp)
Setup early unlock period (USD0pp)
PEG_MAINTAINER_ROLE
The PEG_MAINTAINER_ROLE exists to maintain the USD0 peg through interactions with Curve pools and peg maintenance mechanisms. This role is responsible for triggering the Par mechanism on the USD0/USD0PP Curve pools in the case the peg is broken.
Role Holders: Usual Multisig
Trigger PAR mechanism Curvepool (USD0pp)
Unwrap peg maintainer (USD0pp)
USUAL_MINT
The USUAL_MINT role exists to control the minting of new USUAL tokens. This role has the authority to mint new USUAL tokens to specified addresses, ensuring that token supply expansion follows protocol rules and economic parameters. The role is typically assigned to the Distribution Module contract to handle automated emissions and rewards distribution.
Role Holders: Distribution Module Contract
Mint (Usual)
USUAL_BURN
The USUAL_BURN role exists as a critical control mechanism for managing the supply of USUAL tokens in the system. This role has the authority to burn USUAL tokens from any address, ensuring proper supply management during redemptions, liquidations, or other protocol operations that require token destruction. The role is typically assigned to protocol-controlled contracts.
Role Holders: N/A
Burn (Usual)
Burn from (Usual)
USUALS_BURN
The USUALS_BURN role exists as a critical control mechanism for managing the supply of USUALS tokens in the system. This role has the authority to burn USUALS tokens from any address. The role is typically assigned to protocol-controlled contracts that need to manage USUALS token supply, particularly during staking and unstaking operations.
Role Holders: USUALSP Contract
Burn (UsualS)
Burn from (UsualS)
USUALSP_OPERATOR_ROLE
The USUALSP_OPERATOR_ROLE exists to manage the staking and allocation mechanics of the USUALS token staking program. This role is responsible for configuring initial token allocations, managing the staking process, and handling original allocation removals in the USUALSP (USUAL Staking Pool) contract. The role has significant control over the staking parameters and must be carefully managed to ensure fair distribution and proper vesting of tokens.
Role Holders: Usual Multisig
Allocate (USUALSP)
Remove original allocation (USUALSP)
Stake UsualS (USUALSP)
WITHDRAW_FEE_UPDATER_ROLE
The WITHDRAW_FEE_UPDATER_ROLE exists to manage withdrawal fee parameters in the UsualX contract. This role is responsible for adjusting the fees charged when users withdraw their tokens, allowing the protocol to maintain economic stability and prevent exploitation of the withdrawal mechanism.
Role Holders: Usual Multisig
Update withdraw fee (UsualX)
FLOOR_PRICE_UPDATER_ROLE
The FLOOR_PRICE_UPDATER_ROLE exists to manage the minimum price threshold for USD0PP tokens in the system. This role is responsible for adjusting the floor price parameter that helps maintain price stability and protect token holders from excessive devaluation. The role has the authority to update floor prices in the USD0PP contract, which directly impacts the minimum value guarantee of the token.
Role Holders: Usual Multisig
Update floor price (USD0pp)
USD0PP_USUAL_DISTRIBUTION_ROLE
The USD0PP_USUAL_DISTRIBUTION_ROLE exists to manage the USUAL token distribution rate per USD0PP token. This role is responsible for adjusting the distribution rate parameter that determines how much USUAL is distributed per USD0PP token.
Role Holders: Usual Multisig
Update usualDistributionPerUsd0pp (USD0pp)
USD0PP_DURATION_COST_FACTOR_ROLE
The USD0PP_DURATION_COST_FACTOR_ROLE exists to manage the duration cost factor that affects early redemption costs. This role is responsible for adjusting the duration cost factor parameter that helps determine the USUAL burn amount required for early redemptions.
Role Holders: Usual Multisig
Update durationCostFactor (USD0pp)
USD0PP_TREASURY_ALLOCATION_RATE_ROLE
The USD0PP_TREASURY_ALLOCATION_RATE_ROLE exists to manage the percentage of burned USUAL that goes to the treasury during early redemptions. This role is responsible for adjusting the treasury allocation rate in basis points.
Role Holders: Usual Multisig
Update treasuryAllocationRate (USD0pp)
USD0PP_TARGET_REDEMPTION_RATE_ROLE
The USD0PP_TARGET_REDEMPTION_RATE_ROLE exists to manage the daily redemption target rate for USD0PP tokens. This role is responsible for adjusting the target redemption rate (in basis points of total supply) that affects the USUAL burn calculations for early redemptions.
Role Holders: Usual Multisig
Update targetRedemptionRate (USD0pp)
USD0PP_CAPPED_UNWRAP_ROLE
The USD0PP_CAPPED_UNWRAP_ROLE has certain responsibilities to ensure the stability and integrity of the protocol.
Role Holders: Usual Multisig, Joint Partner Vault Multisig, VaultRouter
unwrapWithCap(): Role holders can adjust the capped unwrap limits, which control the maximum amount of tokens that can be unwrapped in a certain period
REDIRECTION_ADMIN_ROLE
The REDIRECTION_ADMIN_ROLE is responsible for redirecting off-chain distribution from an account to a new account
Role Holders: Redirection Maintainers Multisig
redirection management of Offchain distribution: (DistributionModule)
YIELD_MODULE_MAX_DATA_AGE_ROLE
the YIELD_MODULE_MAX_DATA_AGE_ROLE is responsible for setting the maximum data age for the RWA data.
Role Holders: Usual Tokenomics Multisig
can manage maximum data age for yield module. (YieldModule)
YIELD_MODULE_P90_INTEREST_ROLE
The YIELD_MODULE_P90_INTEREST_ROLE is tasked with managing the P90 interest rate within the yield module.
Role Holders: Usual Tokenomics Multisig
can modify P90 interest settings within the YieldModule.
YIELD_MODULE_UPDATER_ROLE
The YIELD_MODULE_UPDATER_ROLE is responsible for making updates within the Yield Module.
Role Holders: Usual Tokenomics Multisig
Update Interest Rate to ensure accurate data.
Update yield data feed updates to various interest and yield settings.
YIELD_MODULE_TOKENOMICS_OPERATOR_ROLE
The YIELD_MODULE_TOKENOMICS_OPERATOR_ROLE is designed to manage and oversee the tokenomics aspect within the Yield Module.
Role Holders: Usual Tokenomics Multisig
Add yield data feed updates to various interest and yield settings.
YIELD_MODULE_SUPER_ADMIN_ROLE
The YIELD_MODULE_SUPER_ADMIN_ROLE encompasses comprehensive control over the Yield Module.
Role Holders: Usual Tokenomics Multisig
Remove yield data feed.
Manage the treasuries that are being used for the different calculations.
VAULT_SET_ROUTER_ROLE
The VAULT_SET_ROUTER_ROLE allows authorized entities to configure and manage router within the wrapped dollar vault system.
Role Holders: Usual Vault Router Multisig
Enabling or disabling vault for wrapped dollar vaults.
VAULT_PAUSER_ROLE
The VAULT_PAUSER_ROLE grants the authority to pause vault operations temporarily.
Role Holders: Usual Vault Admin Multisig
Halting all transactions to address emergency scenarios or unforeseen issues.
Safeguarding assets by preventing unauthorized access or fraud during a pause.
Ensuring system integrity and stability by providing a controlled cessation of operations when necessary.
VAULT_UNPAUSER_ROLE
The VAULT_UNPAUSER_ROLE is designated to resume vault operations after they have been paused.
Role Holders: Usual Vault Admin Multisig
Reactivating transactions once it is deemed safe and all issues have been resolved.
Restoring normal system functionality and access to vaults.
Collaborating with relevant parties to ensure a secure and well-managed transition back to normal operations.
FEE_SWEEPER_ROLE
The FEE_SWEEPER_ROLE can transfer the fees accumulating to the distribution module.
Role Holders: Yield treasury Multisig
Collecting and distributing accrued fees from vault or bond withdrawals.
FEE_RATE_SETTER_ROLE
The FEE_RATE_SETTER_ROLE plays a crucial role in managing the fee rates within the system.
Role Holders: Yield treasury Multisig
Alters the usualX, burn and treasury fee rate in basis points.
UNWRAP_CAP_ALLOCATOR_ROLE
the UNWRAP_CAP_ALLOCATOR_ROLE can update the unwrap USD0++ amount of a user
Role Holders: Usual unwrap cap Multisig
USUAL_***_MINTCAP_ALLOCATOR
Roles like USUAL_USDC_MINTCAP_ALLOCATOR, USUAL_M_MINTCAP_ALLOCATOR or USUAL_USDTB_MINTCAP_ALLOCATOR allows to set the mintcap for the corresponding tokens.
Role Holders: Usual mint allocator Multisig
set the maximum amount of token that can be minted.
WrappedDollarVault
VAULT_PAUSER_ROLEcan call
pause
VAULT_UNPAUSER_ROLEcan call
unpause
VAULT_SET_ROUTER_ROLEcan call
setRouter
VAULT_HARVESTER_ROLEcan call
harvest
VAULT_SET_FEE_ROLEcan call
setWithdrawFeeRateBpscan call
setHarvestFeeRateBps
YieldModule
YIELD_MODULE_SUPER_ADMIN_ROLEcan call
removeTreasurycan call
addTreasurycan call
removeYieldSource
YIELD_MODULE_TOKENOMICS_OPERATOR_ROLEcan call
addYieldSourceWithFeedcan call
addYieldSourceWithWeeklyInterest
YIELD_MODULE_UPDATER_ROLEcan call
updateInterestRatecan call
updateFeed
YIELD_MODULE_P90_INTEREST_ROLEcan call
setP90InterestRate
YIELD_MODULE_MAX_DATA_AGE_ROLEcan call
setMaxDataAge
TokenMapping
DEFAULT_ADMIN_ROLEcan call
addUsd0Rwa
DaoCollateral.sol
DEFAULT_ADMIN_ROLEcan call
activateCBRcan call
deactivateCBRcan call
setRedeemFeecan call
redeemDaocan call
unpausecan call
unpauseRedeemcan call
unpauseSwap
PAUSING_CONTRACTS_ROLEcan call
pausecan call
pauseSwapcan call
pauseRedeem
NONCE_THRESHOLD_SETTER_ROLEcan call
setNonceThreshold
INTENT_MATCHING_ROLEcan call
swapRWAtoStbcIntent
DistributionModule.sol
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
DISTRIBUTION_OPERATOR_ROLEcan call
distributeUsualToBucketscan call
queueOffChainUsualDistributioncan call
resetOffChainDistributionQueue
DISTRIBUTION_ALLOCATOR_ROLEcan call
setBucketsDistributioncan call
setGammacan call
setRateMincan call
setDcan call
setM0
DISTRIBUTION_CHALLENGER_ROLEcan call
challengeDistribution
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
PAUSING_CONTRACTS_ROLEcan call
pause
USD0_MINTcan call
mint
USD0_BURNcan call
burncan call
burnFrom
REDIRECTION_ADMIN_ROLEcan call
acceptRedirectedOffChainDistributioncan call
removeRedirectedOffChainDistributioncan call
cancelInitiatedRedirectedOffChainDistributioncan call
redirectOffChainDistribution
FEE_RATE_SETTER_ROLEcan call
setFeeRates
RevenueDistributionModule.sol
OPERATOR_REVSWITCH_DISTRIBUTOR_ROLE
can call
distributeRevenueSwitch
OPERATOR_ACC_DT_DISTRIBUTOR_ROLE
can call
distributeAccruingDT
OPERATOR_REB_DT_DISTRIBUTOR_ROLE
can call
distributeRebasingDT
OPERATOR_ADMIN_ROLE
can call
setDailyAccruingYieldRatecan call
setOperatorMintCapcan call
setMaxRevSwitchMintCapcan call
setMaxAccruingMintCapcan call
setMaxRebasingDTMintCapcan call
setRewardClaimForRevenueSwitchcan call
setRewardClaimForAccruingDTcan call
setRewardClaimForRebasingDT
PAUSING_CONTRACTS_ROLE
can call
pausecan call
pauseRevenueSwitchDistributioncan call
pauseAccruingDTDistributioncan call
pauseRebasingDTDistribution
UNPAUSING_CONTRACTS_ROLE
can call
unpausecan call
unpauseRevenueSwitchDistributioncan call
unpauseAccruingDTDistributioncan call
unpauseRebasingDTDistribution
USD0_MINT (on USD0 Contract)
can call
mint(required for the Revenue Distribution Module to mint USD0 tokens during distributions)
Note: The USD0_MINT role is granted to the RevenueDistributionModule contract on the USD0 token contract, not directly to individual operators. This allows the module to mint USD0 tokens when executing distributions.
sUSD0.sol
PAUSING_CONTRACTS_ROLEcan call
pause
UNPAUSING_CONTRACTS_ROLEcan call
unpause
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
SUSD0_WITHDRAW_FEE_UPDATER_ROLEcan call
updateWithdrawFee
SUSD0_YIELD_DISTRIBUTOR_ROLEcan call
startYieldDistribution
L2Usd0PP.sol
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
PAUSING_CONTRACTS_ROLEcan call
pause
USD0_MINTcan call
mint
USD0_BURNcan call
burncan call
burnFrom
AbstractContract.sol
DEFAULT_ADMIN_ROLEcan call
setMaxDepegThreshold
ClassicalOracle.sol
DEFAULT_ADMIN_ROLEcan call
initializeTokenOracle
UsualOracle.sol
DEFAULT_ADMIN_ROLEcan call
initializeTokenOracle
RegistryAccess.sol
DEFAULT_ADMIN_ROLEcan call
setRoleAdmin
RegistryContract.sol
DEFAULT_ADMIN_ROLEcan call
setContract
SwapperEngine.sol
DEFAULT_ADMIN_ROLEcan call
unpausecan call
updateMinimumUSDCAmountProvided
PAUSING_CONTRACTS_ROLEcan call
pause
DEFAULT_ADMIN_ROLEcan call
blacklist
PAUSING_CONTRACTS_ROLEcan call
pause
USD0_BURNcan call
burncan call
burnFrom
USD0_MINTcan call
mint
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
USD0pp.sol
DEFAULT_ADMIN_ROLEcan call
unpausecan call
emergencyWithdraw
PAUSING_CONTRACTS_ROLEcan call
pause
PAUSING_CONTRACTS_ROLEcan call
pause
EARLY_BOND_UNLOCK_ROLEcan call
allocateEarlyUnlockBalancecan call
setupEarlyUnlockPeriod
PEG_MAINTAINER_ROLEcan call
triggerPARMechanismCurvepoolcan call
unwrapPegMaintainer
FLOOR_PRICE_UPDATER_ROLEcan call
updateFloorPrice
USD0PP_USUAL_DISTRIBUTION_ROLEcan call
setUsualDistributionPerUsd0pp
USD0PP_DURATION_COST_FACTOR_ROLEcan call
setDurationCostFactor
USD0PP_TREASURY_ALLOCATION_RATE_ROLEcan call
setTreasuryAllocationRate
USD0PP_USUAL_BURN_TARGET_REDEMPTION_ROLEcan call
setTargetRedemptionRate
FEE_SWEEPER_ROLEcan call
sweepFees
Usual.sol
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
USUAL_MINTcan call
mint
USUAL_BURNcan call
burncan call
burnFrom
UsualS.sol
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
USUALS_BURNcan call
burncan call
burnFrom
USUALSP.sol
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
USUALSP_OPERATOR_ROLEcan call
allocatecan call
removeOriginalAllocationcan call
stakeUsualS
UsualX.sol
DEFAULT_ADMIN_ROLEcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
WHITELIST_ROLEcan call
whitelistcan call
unWhitelist
WITHDRAW_FEE_UPDATER_ROLEcan call
updateWithdrawFee
FEE_SWEEPER_ROLEcan call
sweepFees
USUALM.sol
The USUALM contract includes specific roles designed to manage particular functionalities and maintain the security and efficiency of the platform.
USUAL_M_UNPAUSEcan call
unpause
USUAL_M_PAUSEcan call
pause
BLACKLIST_ROLEcan call
blacklistcan call
unblacklist
USUAL_M_MINTCAP_ALLOCATORcan call
setMintCap
USUAL_M_UNWRAPcan call
unwrap
ETH0 Role Management
MINT_CAP_OPERATOR
The MINT_CAP_OPERATOR role is pivotal in controlling the minting activities for specific tokens. Holders of this role are empowered to adjust the cap on the amount of new tokens that can be minted within a certain period, ensuring that the minting process remains within defined limits to maintain token stability and prevent inflationary pressures.
Role Holders: Token Governance Multisig
Update mintCap
Monitor compliance with minting policies
Enforce minting restrictions if caps are breached
BLACKLIST_ROLE
The BLACKLIST_ROLE exists as a security mechanism to protect the protocol from malicious actors, comply with regulatory requirements, and ensure rapid response to security incidents. This role has the authority to restrict specific addresses from participating in token transfers and protocol operations across multiple core contracts including L2USD0, L2USD0PP, USD0PP, USD0, USUAL, USUALS, and USUALX.
Role Holders: Usual Multisig
Blacklist/Unblacklist (ETH0)
ETH0_MINT
The ETH0_MINT role exists as a critical control mechanism for managing the supply of ETH0 tokens in the system. This role has the authority to mint new ETH0 tokens across multiple contracts including ETH0, but only when there is sufficient backing in the treasury. The role is typically assigned to the DAO Collateral contract to ensure automated and secure minting operations.
Role Holders: DAO Collateral Contract
Mint (ETH0)
ETH0_BURN
The ETH0_BURN role exists as a critical control mechanism for managing the supply of ETH0 tokens in the system. This role has the authority to burn ETH0 tokens across multiple contracts including ETH0, ensuring proper supply management and redemption functionality. The role is typically assigned to the DAO Collateral contract to enable automated burning operations during redemptions and swaps.
Role Holders: DAO Collateral Contract
Burn (ETH0)
Burn from (ETH0)
DaoCollateral.sol
DEFAULT_ADMIN_ROLEcan call
activateCBRcan call
deactivateCBRcan call
setRedeemFeecan call
redeemDao
PAUSING_CONTRACTS_ROLEcan call
pausecan call
pauseSwapcan callpauseRedeem
UNPAUSING_CONTRACTS_ROLEcan call
unpausecan call
unpauseRedeemcan call
unpauseSwap
NONCE_THRESHOLD_SETTER_ROLEcan call
setNonceThreshold
EUR0 Role Management
BLACKLIST_ROLE
The BLACKLIST_ROLE exists as a security mechanism to protect the protocol from malicious actors, comply with regulatory requirements, and ensure rapid response to security incidents. This role has the authority to restrict specific addresses from participating in token transfers and protocol operations across multiple core contracts including L2USD0, L2USD0PP, USD0PP, USD0, USUAL, USUALS, and USUALX.
Role Holders: Usual Multisig
Blacklist/Unblacklist (EUR0)
EUR0_MINT
The EUR0_MINT role exists as a critical control mechanism for managing the supply of EUR0 tokens in the system. This role has the authority to mint new EUR0 tokens across multiple contracts including EUR0, but only when there is sufficient backing in the treasury. The role is typically assigned to the DAO Collateral contract to ensure automated and secure minting operations.
Role Holders: DAO Collateral Contract
Mint (EUR0)
EUR0_BURN
The EUR0_BURN role exists as a critical control mechanism for managing the supply of EUR0 tokens in the system. This role has the authority to burn EUR0 tokens across multiple contracts including EUR0, ensuring proper supply management and redemption functionality. The role is typically assigned to the DAO Collateral contract to enable automated burning operations during redemptions and swaps.
Role Holders: DAO Collateral Contract
Burn (EUR0)
Burn from (EUR0)
DaoCollateral.sol
DEFAULT_ADMIN_ROLEcan call
activateCBRcan call
deactivateCBRcan call
setRedeemFeecan call
redeemDao
PAUSING_CONTRACTS_ROLEcan call
pausecan call
pauseSwapcan callpauseRedeem
UNPAUSING_CONTRACTS_ROLEcan call
unpausecan call
unpauseRedeemcan call
unpauseSwap
NONCE_THRESHOLD_SETTER_ROLEcan call
setNonceThreshold
sEUR0.sol
PAUSING_CONTRACTS_ROLEcan call
pause
UNPAUSING_CONTRACTS_ROLEcan call
unpause
BLACKLIST_ROLEcan call
blacklistcan call
unBlacklist
SEUR0_WITHDRAW_FEE_UPDATER_ROLEcan call
updateWithdrawFee
SEUR0_YIELD_DISTRIBUTOR_ROLEcan call
startYieldDistribution
SwapperEngine.sol
DEFAULT_ADMIN_ROLEcan call
updateMinimumEURCAmountProvidedcan call
unpause
PAUSING_CONTRACTS_ROLEcan call
pause
UNPAUSING_CONTRACT_ROLEcan call
unpause
RevenueDistributionModule.sol
OPERATOR_REVSWITCH_DISTRIBUTOR_ROLE
can call
distributeRevenueSwitch
OPERATOR_ACC_DT_DISTRIBUTOR_ROLE
can call
distributeAccruingDT
OPERATOR_REB_DT_DISTRIBUTOR_ROLE
can call
distributeRebasingDT
OPERATOR_ADMIN_ROLE
can call
setDailyAccruingYieldRatecan call
setOperatorMintCapcan call
setMaxRevSwitchMintCapcan call
setMaxAccruingMintCapcan call
setMaxRebasingDTMintCapcan call
setRewardClaimForRevenueSwitchcan call
setRewardClaimForAccruingDTcan call
setRewardClaimForRebasingDT
PAUSING_CONTRACTS_ROLE
can call
pausecan call
pauseRevenueSwitchDistributioncan call
pauseAccruingDTDistributioncan call
pauseRebasingDTDistribution
UNPAUSING_CONTRACTS_ROLE
can call
unpausecan call
unpauseRevenueSwitchDistributioncan call
unpauseAccruingDTDistributioncan call
unpauseRebasingDTDistribution
EUR0_MINT (on EUR0 Contract)
can call
mint(required for the Revenue Distribution Module to mint EUR0 tokens during distributions)
Note: The EUR0_MINT role is granted to the RevenueDistributionModule contract on the EUR0 token contract, not directly to individual operators. This allows the module to mint EUR0 tokens when executing distributions.
Last updated
Was this helpful?