| contract | upgradeable by |
|---|---|
| PoolAddressesProvider | not upgradeable |
| Pool | Governance |
| PoolConfigurator | Governance |
| ProofOfReserveExecutorV3 | not upgradeable |
| ProofOfReserveAggregatorV3 | not upgradeable |
| 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 |
| 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 |
| LayerZero adapter | not upgradeable |
| CCIP 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, Proof Of Reserve Executor V3, Gho Aave Steward, Manual AGRS | setReserveBorrowing, setReserveBorrowing, configureReserveAsCollateral, setReserveStableRateBorrowing, setBorrowableInIsolation, setReserveFactor, setDebtCeiling, setSiloedBorrowing, setBorrowCap, setSupplyCap, setLiquidationProtocolFee, setEModeCategory, setAssetEModeCategory, setUnbackedMintCap, setReserveInterestRateStrategyAddress, setReserveFlashLoaning |
| PoolConfigurator | PoolAddressesProvider | onlyRiskOrPoolOrEmergencyAdmins | Executor_lvl1, Proof Of Reserve Executor V3, Gho Aave Steward, Manual AGRS, Aave Protocol Guardian Avalanche | setReserveFreeze |
| PoolConfigurator | PoolAddressesProvider | onlyEmergencyOrPoolAdmin | Executor_lvl1, Aave Protocol Guardian Avalanche | setPoolPause, setReservePause |
| ProofOfReserveExecutorV3 | - | onlyOwner | Executor_lvl1 | enableAssets, disableAssets |
| ProofOfReserveAggregatorV3 | - | onlyOwner | Executor_lvl1 | enableProofOfReserveFeed, enableProofOfReserveFeedWithBridgeWrapper, disableProofOfReserveFeed |
| 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 | Aave Guardian Avalanche, ACI 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 |
| 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 Avalanche | solveEmergency |
| GranularGuardian | - | onlyDefaultAdmin | Executor_lvl1 | updateGuardian |
| PayloadsController | ProxyAdmin | onlyOwner | Executor_lvl1 | updateExecutors |
| PayloadsController | ProxyAdmin | onlyGuardian | Aave Governance Guardian Avalanche | cancelPayload |
| PayloadsController | ProxyAdmin | onlyOwnerOrGuardian | Aave Governance Guardian Avalanche, Executor_lvl1 | updateGuardian |
| PayloadsController | ProxyAdmin | onlyRescueGuardian | Executor_lvl1 | emergencyTokenTransfer, emergencyEtherTransfer |
| VotingMachine | - | onlyOwner | Executor_lvl1 | updateGasLimit |
| Executor_lvl1 | - | onlyOwner | PayloadsController | executeTransaction |
| LayerZero adapter | - | trustedRemote | CrossChainController(Eth) | receiveMessage |
| CCIP 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 | LayerZero adapter, CCIP 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 Avalanche |
| ASSET_LISTING_ADMIN | |
| RISK_ADMIN | Proof Of Reserve Executor V3, Gho Aave Steward, Manual AGRS |
| FLASH_BORROWER | 0x14F8e5Fe35b2d0D67dBcE9329f1b5d09f60c06C3, 0x352423e2fA5D5c99343d371C9e3bC56C87723Cc7, 0xdeCC46a4b09162F5369c5C80383AAa9159bCf192 |
| Role | Contract |
|---|---|
| DEFAULT_ADMIN | Executor_lvl1 |
| SOLVE_EMERGENCY_ROLE | Aave Governance Guardian Avalanche |
| 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 |
| admin | tokens count | tokens |
|---|---|---|
| Aave Guardian Avalanche | 1 | AAVE.e |
| ACI Safe | 14 | aAvaAUSD, aAvaEURC, aAvaGHO, aAvasUSDe, aAvaUSDe, aAvawrsETH, AUSD, EURC, GHO, sAVAX, sUSDe, USDe, WAVAX, wrsETH |