By submitting a pull request, commit, or any other contribution to this repository, you agree to be bound by the Aave Protocol Contributor License Agreement. In summary:
- You retain copyright over your contributions.
- You grant a perpetual, worldwide, royalty-free license to use, reproduce, modify, and distribute your contribution as part of the Licensed Work.
- You grant a corresponding patent license for patent claims necessarily infringed by your contribution.
- You acknowledge that the repository license (BUSL) may transition to an open-source license, and you waive the right to object.
- You authorize the Licensor to enforce and defend the repository license on your behalf.
Please read the full CLA_LICENSE before contributing.
- Opening an issue — Report bugs with reproducible test cases or propose feature improvements. Check existing issues before opening duplicates; add context to existing ones instead.
- Resolving an issue — Fix bugs or implement features. Reference the related issue in your PR.
- Reviewing open PRs — Provide feedback on code quality, naming, gas optimizations, or design alternatives.
- Open PRs against the
mainbranch. - Reference any related issue.
- Follow the Solidity style guide, using
_prependUnderscorefor internal functions, internal top-level parameters, and parameters with naming collisions. - Document new functions, structs, and interfaces with NatSpec.
- Add tests: unit + fuzz for small changes; integration + invariant for larger ones.
- Run the full test suite and update gas snapshots:
forge test
make gas-report- Squash commits where possible. PRs merged to
mainwill be squash-merged.
git clone https://github.com/aave/aave-v4.git
cd aave-v4
cp .env.example .env
forge install
yarn install
forge buildSee the README for detailed dependency and tooling instructions.
Be respectful. Aggressive, disrespectful, or spam contributions will be removed and closed.
Aave V4 source code is licensed under LICENSE. All contributions are licensed under the Aave Protocol CLA.