Skip to content

aave-dao/aave-permissions-book

Repository files navigation

Aave Permissions Book

Aave Permissions Book

Tool to index and visualize all permissions across the Aave smart contracts ecosystem.

Table of Contents

Description

The Aave Protocol smart contracts use a system of roles, modifiers, and access control to gate who can execute which functions. These permissions are held by various addresses: other smart contracts, multi-sigs, governance, stewards, or EOAs.

This repository indexes on-chain events to produce a comprehensive directory of tables showing:

  • Which permissions are needed to execute each function of every Aave contract.
  • Who holds those permissions (and the full ownership chain behind them).
  • Whether each contract is upgradeable, and who controls the upgrade.

Permissions

A permissions document has been generated for every pool on every network where the Aave Protocol is deployed. Each document contains the following tables:

  • Contracts Upgradeability: Indicates whether each smart contract uses an upgradeable proxy and, if so, who can perform the upgrade.
  • Actions Type: An aggregated view of the actions that can affect the Aave protocol, classified by who can execute them (governance, multisig, steward, or EOA).
  • Contracts: Detailed per-contract information:
    • contract: Name of the contract.
    • proxyAdmin: The proxy admin address (if the contract follows the Proxy Pattern), which has permission to upgrade the implementation.
    • modifier: The access control gate that restricts who can call a function. There is an entry for every modifier on the contract.
    • permission owner: The address that holds permission to pass through the modifier, along with its ownership chain.
    • functions: The functions gated by that modifier.
  • Guardians: Multi-sig addresses with permissions to call certain emergency or operational methods, acting under a mandate from Aave Governance.
  • Roles: The different roles defined by each protocol component (e.g., POOL_ADMIN, EMERGENCY_ADMIN) and which addresses hold each role.

Permissions Directory

Network System type Tables
ETHEREUM V3 Permissions
ETHEREUM LIDO Permissions
ETHEREUM ETHERFI Permissions
ETHEREUM GHO Permissions
ETHEREUM V2 Permissions
ETHEREUM V2_AMM Permissions
ETHEREUM SAFETY_MODULE Permissions
ETHEREUM V2_MISC Permissions
ETHEREUM V4 Permissions
OPTIMISM V3 Permissions
BINANCE V3 Permissions
GNOSIS V3 Permissions
GNOSIS GHO Permissions
POLYGON V3 Permissions
POLYGON V2 Permissions
SONIC V3 Permissions
XLAYER V3 Permissions
XLAYER GHO Permissions
ZKSYNC V3 Permissions
METIS V3 Permissions
SONEIUM V3 Permissions
MEGAETH V3 Permissions
MANTLE V3 Permissions
MANTLE GHO Permissions
BASE V3 Permissions
BASE GHO Permissions
PLASMA V3 Permissions
PLASMA GHO Permissions
ARBITRUM V3 Permissions
CELO V3 Permissions
AVALANCHE V3 Permissions
AVALANCHE V2 Permissions
INK V3_WHITE_LABEL Permissions
INK GHO Permissions
LINEA V3 Permissions
SCROLL V3 Permissions

Usage

For setup instructions, CLI options, how to add new networks and pools, and how to use Anvil forks, see the Usage Guide.

License

This repository is under MIT License

About

Tool to index and visualise all the permissions on the whole Aave smart contracts ecosystem

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors