| contract | upgradeable by |
|---|---|
| PoolAddressesProvider | not upgradeable |
| Pool | Governance |
| PoolConfigurator | Governance |
| AaveOracle | not upgradeable |
| RewardsController | Governance |
| EmissionManager | not upgradeable |
| PoolAddressesProviderRegistry | not upgradeable |
| ProxyAdmin | not upgradeable |
| ACLManager | not upgradeable |
| Manual AGRS | not upgradeable |
| Collector | Governance |
| ClinicSteward | not upgradeable |
| Aave a/v/s tokens | Governance |
| GranularGuardian | not upgradeable |
| PayloadsController | Governance |
| Executor_lvl1 | not upgradeable |
| Metis native adapter | not upgradeable |
| CrossChainController | Governance |
| type | can be executed by |
|---|---|
| updateReserveBorrowSettings | Governance |
| configureProtocolFees | Governance |
| updateReserveCaps | Governance,Steward |
| updateReserveSettings | Governance |
| configureCollateral | Governance |
| upgradeAaveTokens (a/v/s) | Governance |
| upgradeAaveOracles | Governance |
| reserveUpgradeability | Governance |
| pausePool | Governance,Multi-sig |
| pauseAndFreezeReserve | Governance,Steward,Multi-sig |
| reserveListing | Governance |
| adminsConfiguration | Governance |
| protocolUpgradeablity | Governance |
| adiConfigurations | Governance |
| retryAndInvalidateMessages | Multi-sig,Governance |
| updateRiskParameters | Steward |
| contract | proxyAdmin | modifier | permission owner | functions |
|---|---|---|---|---|
| PoolAddressesProvider | - | onlyOwner | Executor_lvl1 | setMarketId, setAddress, setAddressAsProxy, setPoolImpl, setPoolConfiguratorImpl, setPriceOracle, setACLManager, setACLAdmin, setPriceOracleSentinel, setPoolDataProvider |
| Pool | PoolAddressesProvider | onlyPoolConfigurator | PoolConfigurator | initReserve, dropReserve, setReserveInterestRateStrategyAddress, setConfiguration, updateBridgeProtocolFee, updateFlashloanPremiums, configureEModeCategory, resetIsolationModeTotalDebt |
| Pool | PoolAddressesProvider | onlyPoolAdmin | Executor_lvl1 | rescueTokens |
| PoolConfigurator | PoolAddressesProvider | onlyPoolAdmin | Executor_lvl1 | dropReserve, dropReserve, updateAToken, updateStableDebtToken, updateVariableDebtToken, setReserveActive, updateBridgeProtocolFee, updateFlashloanPremiumTotal, updateFlashloanPremiumToProtocol |
| PoolConfigurator | PoolAddressesProvider | onlyAssetListingOrPoolAdmins | Executor_lvl1 | initReserves |
| PoolConfigurator | PoolAddressesProvider | onlyRiskOrPoolAdmins | Executor_lvl1, Manual AGRS | setReserveBorrowing, setReserveBorrowing, configureReserveAsCollateral, setReserveStableRateBorrowing, setBorrowableInIsolation, setReserveFactor, setDebtCeiling, setSiloedBorrowing, setBorrowCap, setSupplyCap, setLiquidationProtocolFee, setEModeCategory, setAssetEModeCategory, setUnbackedMintCap, setReserveInterestRateStrategyAddress, setReserveFlashLoaning |
| PoolConfigurator | PoolAddressesProvider | onlyRiskOrPoolOrEmergencyAdmins | Executor_lvl1, Manual AGRS, Aave Protocol Guardian Metis | setReserveFreeze |
| PoolConfigurator | PoolAddressesProvider | onlyEmergencyOrPoolAdmin | Executor_lvl1, Aave Protocol Guardian Metis | setPoolPause, setReservePause |
| AaveOracle | - | onlyAssetListingOrPoolAdmins | Executor_lvl1 | setAssetSources, setFallbackOracle |
| RewardsController | PoolAddressesProvider | onlyEmissionManager | EmissionManager | configureAssets, setTransferStrategy, setRewardOracle, setClaimer |
| EmissionManager | - | onlyOwner | Executor_lvl1 | setClaimer, setEmissionAdmin, setRewardsController, renounceOwnership, transferOwnership |
| EmissionManager | - | onlyEmissionAdmin | 0x97177cD80475f8b38945c1E77e12F0c9d50Ac84D (Safe) | configureAssets, setTransferStrategy, setRewardOracle, setDistributionEnd, setEmissionPerSecond |
| PoolAddressesProviderRegistry | - | onlyOwner | Executor_lvl1 | registerAddressesProvider, unregisterAddressesProvider |
| ProxyAdmin | - | onlyOwner | Executor_lvl1 | changeProxyAdmin, upgrade, upgradeAndCall |
| ACLManager | - | onlyRole | Executor_lvl1 | setRoleAdmin |
| Manual AGRS | - | onlyOwner | Executor_lvl1 | setRiskConfig, setAddressRestricted |
| Manual AGRS | - | onlyRiskCouncil | Risk Council | updateCaps, updateRates, updateCollateralSide, updateLstPriceCaps, updateStablePriceCaps |
| Collector | ProxyAdmin | onlyFundsAdmin | Executor_lvl1, ClinicSteward | approve, transfer, setFundsAdmin, createStream |
| Collector | ProxyAdmin | onlyAdminOrRecipient | ProxyAdmin, Executor_lvl1, ClinicSteward | withdrawFromStream, cancelStream |
| ClinicSteward | - | onlyCleanUpRole | CleanUp Admin, ACI Automation | renewAllowance, batchRepayBadDebt, batchLiquidate, batchRepayBadDebt |
| ClinicSteward | - | onlyAdmin | Executor_lvl1 | setAvailableBudget |
| contract | proxyAdmin | modifier | permission owner | functions |
|---|---|---|---|---|
| GranularGuardian | - | onlyRetryGuardian | BGD | retryEnvelope, retryTransaction |
| GranularGuardian | - | onlyEmergencyGuardian | Aave Governance Guardian Metis | solveEmergency |
| GranularGuardian | - | onlyDefaultAdmin | Executor_lvl1 | updateGuardian |
| PayloadsController | ProxyAdmin | onlyOwner | Executor_lvl1 | updateExecutors |
| PayloadsController | ProxyAdmin | onlyGuardian | Aave Governance Guardian Metis | cancelPayload |
| PayloadsController | ProxyAdmin | onlyOwnerOrGuardian | Aave Governance Guardian Metis, Executor_lvl1 | updateGuardian |
| PayloadsController | ProxyAdmin | onlyRescueGuardian | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| Executor_lvl1 | - | onlyOwner | PayloadsController | executeTransaction |
| Metis native adapter | - | trustedRemote | CrossChainController(Eth) | receiveMessage |
| CrossChainController | ProxyAdmin | onlyOwner | Executor_lvl1 | approveSenders, removeSenders, enableBridgeAdapters, disableBridgeAdapters, updateMessagesValidityTimestamp, allowReceiverBridgeAdapters, disallowReceiverBridgeAdapters |
| CrossChainController | ProxyAdmin | onlyOwnerOrGuardian | BGD, Executor_lvl1 | retryEnvelope, retryTransaction, updateGuardian |
| CrossChainController | ProxyAdmin | onlyRescueGuardian | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| CrossChainController | ProxyAdmin | onlyApprovedSenders | forwardMessage | |
| CrossChainController | ProxyAdmin | onlyApprovedBridges | Metis native adapter | receiveCrossChainMessage |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| POOL_ADMIN | Executor_lvl1 |
| EMERGENCY_ADMIN | Aave Protocol Guardian Metis |
| RISK_ADMIN | Manual AGRS |
| ASSET_LISTING_ADMIN | |
| FLASH_BORROWER |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| SOLVE_EMERGENCY_ROLE | Aave Governance Guardian Metis |
| RETRY_ROLE | BGD |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| FUNDS_ADMIN_ROLE | Executor_lvl1, ClinicSteward |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| CLEANUP_ROLE | CleanUp Admin, ACI Automation |
| admin | tokens count | tokens |
|---|---|---|
| 0x97177cD80475f8b38945c1E77e12F0c9d50Ac84D (Safe) | 1 | Metis |