| contract | upgradeable by |
|---|---|
| PoolAddressesProvider | not upgradeable |
| Pool | Governance |
| PoolConfigurator | Governance |
| AaveOracle | not upgradeable |
| RewardsController | Governance |
| WrappedTokenGatewayV3 | not upgradeable |
| ParaSwapLiquiditySwapAdapter | not upgradeable |
| ParaSwapRepayAdapter | not upgradeable |
| EmissionManager | not upgradeable |
| PoolAddressesProviderRegistry | not upgradeable |
| ProxyAdmin | not upgradeable |
| ACLManager | not upgradeable |
| AaveMerkleDistributor | not upgradeable |
| EdgeRiskStewardCaps | not upgradeable |
| AaveStewardInjectorCaps | not upgradeable |
| PoolExposureSteward | not upgradeable |
| AavePolEthBridge | not upgradeable |
| Manual AGRS | not upgradeable |
| Collector | Governance |
| ClinicSteward | not upgradeable |
| Aave a/v/s tokens | Governance |
| GranularGuardian | not upgradeable |
| PayloadsController | Governance |
| VotingMachine | not upgradeable |
| Executor_lvl1 | not upgradeable |
| CCIP adapter | not upgradeable |
| Polygon native adapter | not upgradeable |
| LayerZero adapter | not upgradeable |
| Hyperlane 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 |
| configureGovernance | 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 Polygon | setReserveFreeze |
| PoolConfigurator | PoolAddressesProvider | onlyEmergencyOrPoolAdmin | Executor_lvl1, Aave Protocol Guardian Polygon | setPoolPause, setReservePause |
| AaveOracle | - | onlyAssetListingOrPoolAdmins | Executor_lvl1 | setAssetSources, setFallbackOracle |
| RewardsController | PoolAddressesProvider | onlyEmissionManager | EmissionManager | configureAssets, setTransferStrategy, setRewardOracle, setClaimer |
| WrappedTokenGatewayV3 | - | onlyOwner | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| ParaSwapLiquiditySwapAdapter | - | onlyOwner | Executor_lvl1 | rescueTokens |
| ParaSwapRepayAdapter | - | onlyOwner | Executor_lvl1 | rescueTokens |
| EmissionManager | - | onlyOwner | Executor_lvl1 | setClaimer, setEmissionAdmin, setRewardsController, renounceOwnership, transferOwnership |
| EmissionManager | - | onlyEmissionAdmin | 0xdc9A35B16DB4e126cFeDC41322b3a36454B1F772, Polygon v2 incentives admin, 0x0c54a0BCCF5079478a144dBae1AFcb4FEdf7b263 (Safe), 0xC18F11735C6a1941431cCC5BcF13AF0a052A5022 (Safe) | configureAssets, setTransferStrategy, setRewardOracle, setDistributionEnd, setEmissionPerSecond |
| PoolAddressesProviderRegistry | - | onlyOwner | Executor_lvl1 | registerAddressesProvider, unregisterAddressesProvider |
| ProxyAdmin | - | onlyOwner | Executor_lvl1 | changeProxyAdmin, upgrade, upgradeAndCall |
| ACLManager | - | onlyRole | Executor_lvl1 | setRoleAdmin |
| AaveMerkleDistributor | - | onlyOwner | Executor_lvl1 | addDistributions, emergencyTokenTransfer, emergencyEtherTransfer |
| EdgeRiskStewardCaps | - | onlyOwner | Executor_lvl1 | setRiskConfig, setAddressRestricted, setEModeCategoryRestricted, renounceOwnership, transferOwnership |
| EdgeRiskStewardCaps | - | onlyRiskCouncil | AaveStewardInjectorCaps | updateRates, updateCollateralSide, updateEModeCategories, updateLstPriceCaps, updateStablePriceCaps, updatePendleDiscountRates, updateCaps |
| AaveStewardInjectorCaps | - | onlyOwner | Executor_lvl1 | addMarkets, removeMarkets, renounceOwnership, transferOwnership |
| AaveStewardInjectorCaps | - | onlyOwnerOrGuardian | BGD Steward Injector Guardian, Executor_lvl1 | disableUpdateById, pauseInjector, updateGuardian |
| PoolExposureSteward | - | onlyOwner | Executor_lvl1 | approvePool, revokePool |
| PoolExposureSteward | - | onlyOwnerOrGuardian | Finance Risk Council, Executor_lvl1 | depositV3, withdrawV3, withdrawV2, migrateV2toV3, migrateBetweenV3 |
| AavePolEthBridge | - | onlyOwner | Executor_lvl1 | bridge |
| AavePolEthBridge | - | onlyRescueGuardian | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| Manual AGRS | - | onlyOwner | Executor_lvl1 | setRiskConfig, setAddressRestricted |
| Manual AGRS | - | onlyRiskCouncil | Risk Council | updateCaps, updateRates, updateCollateralSide, updateLstPriceCaps, updateStablePriceCaps |
| Collector | ProxyAdmin | onlyFundsAdmin | Executor_lvl1, ClinicSteward, PoolExposureSteward, ClinicStewardV2 | approve, transfer, setFundsAdmin, createStream |
| Collector | ProxyAdmin | onlyAdminOrRecipient | ProxyAdmin, Executor_lvl1, ClinicSteward, PoolExposureSteward, ClinicStewardV2 | 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 Polygon | solveEmergency |
| GranularGuardian | - | onlyDefaultAdmin | Executor_lvl1 | updateGuardian |
| PayloadsController | ProxyAdmin | onlyOwner | Executor_lvl1 | updateExecutors |
| PayloadsController | ProxyAdmin | onlyGuardian | Aave Governance Guardian Polygon | cancelPayload |
| PayloadsController | ProxyAdmin | onlyOwnerOrGuardian | Aave Governance Guardian Polygon, Executor_lvl1 | updateGuardian |
| PayloadsController | ProxyAdmin | onlyRescueGuardian | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| VotingMachine | - | onlyOwner | Executor_lvl1 | updateGasLimit |
| Executor_lvl1 | - | onlyOwner | PayloadsController | executeTransaction |
| CCIP adapter | - | trustedRemote | CrossChainController(Eth) | receiveMessage |
| Polygon native adapter | - | trustedRemote | CrossChainController(Eth) | receiveMessage |
| LayerZero adapter | - | trustedRemote | CrossChainController(Eth) | receiveMessage |
| Hyperlane adapter | - | trustedRemote | CrossChainController(Eth) | receiveMessage |
| CrossChainController | ProxyAdmin | onlyOwner | Executor_lvl1 | approveSenders, removeSenders, enableBridgeAdapters, disableBridgeAdapters, updateMessagesValidityTimestamp, allowReceiverBridgeAdapters, disallowReceiverBridgeAdapters |
| CrossChainController | ProxyAdmin | onlyOwnerOrGuardian | GranularGuardian, Executor_lvl1 | retryEnvelope, retryTransaction, updateGuardian |
| CrossChainController | ProxyAdmin | onlyRescueGuardian | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| CrossChainController | ProxyAdmin | onlyApprovedSenders | Old VotingMachine, VotingMachine | forwardMessage |
| CrossChainController | ProxyAdmin | onlyApprovedBridges | CCIP adapter, Polygon native adapter, LayerZero adapter, Hyperlane adapter | receiveCrossChainMessage |
| CrossChainController | ProxyAdmin | onlyGuardian | GranularGuardian | solveEmergency |
| contract | proxyAdmin | modifier | permission owner | functions |
|---|---|---|---|---|
| AgentHub | AgentHubProxyAdmin | onlyOwner | Executor_lvl1 | registerAgent, setAgentAdmin, setMaxBatchSize, setAgentAddress, renounceOwnership, transferOwnership |
| AgentHub | AgentHubProxyAdmin | onlyOwnerOrAgentAdmin | Executor_lvl1 | setAgentAsPermissioned, addPermissionedSender, removePermissionedSender, addAllowedMarket, removeAllowedMarket, addRestrictedMarket, removeRestrictedMarket, setExpirationPeriod, setAgentEnabled, setMinimumDelay, setAgentContext, setMarketsFromAgentEnabled, addAllowedMarket, addAllowedMarket |
| AgentHubProxyAdmin | - | onlyOwner | Executor_lvl1 | changeProxyAdmin, upgrade, upgradeAndCall |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| POOL_ADMIN | Executor_lvl1 |
| EMERGENCY_ADMIN | Aave Protocol Guardian Polygon |
| ASSET_LISTING_ADMIN | |
| RISK_ADMIN | Manual AGRS |
| FLASH_BORROWER | 0xb58Fd91558fa213D97Ac94C97F831c7289278084, 0xab515542d621574f9b5212d50593cD0C07e641bD, 0x86C3Dd18bAF4370495d9228b58fD959771285C55, 0xdB88AB5b485b38EDbEEf866314F9E49d095BCe39, 0x79D2aeFE6A21b26B024d9341A51f6b7897852499, 0x460b60565cb73845d56564384ab84BF84c13e47D, 0x352423e2fA5D5c99343d371C9e3bC56C87723Cc7, 0xdeCC46a4b09162F5369c5C80383AAa9159bCf192 |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| SOLVE_EMERGENCY_ROLE | Aave Governance Guardian Polygon |
| RETRY_ROLE | BGD |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| FUNDS_ADMIN_ROLE | Executor_lvl1, ClinicSteward, PoolExposureSteward, ClinicStewardV2 |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| CLEANUP_ROLE | CleanUp Admin, ACI Automation |