finds.dev← search

// the find

aave/aave-v3-core

★ 1,096 · TypeScript · NOASSERTION · updated Sep 2024

This repository contains the core smart contracts of the Aave V3 protocol.

The core Solidity smart contracts for Aave V3, the decentralized lending protocol. This repo is explicitly deprecated — the active development moved to aave-dao/aave-v3-origin. Useful primarily as a reference implementation or for understanding the V3 architecture, not as a starting point for new integrations.

- Multiple independent audits from reputable firms (Trail of Bits, OpenZeppelin, Sigma Prime, ABDK) plus Certora formal verification — the security review trail is unusually thorough for DeFi.

- Logic is cleanly separated into library contracts (BorrowLogic, LiquidationLogic, FlashLoanLogic, etc.) rather than monolithic pool code, which makes the codebase far more navigable than typical DeFi contracts.

- Test suite is extensive with ~60 spec files covering edge cases, liquidation modes, eMode, isolation mode, and event accounting — the scenario-engine JSON approach lets non-Solidity contributors define test cases.

- WadRayMath and PercentageMath are well-implemented fixed-point libraries with their own test coverage, useful as reference implementations for precision arithmetic in Solidity.

- Deprecated. The README says so upfront, which is honest, but anyone building on this today is starting from a dead end — there's no migration guide in the repo pointing to what changed in v3-origin.

- Docker Compose is required just to run tests, adding friction that most modern Solidity projects have dropped in favor of foundry or plain hardhat without containers.

- StableDebtToken has been a known design headache (Aave governance has since deprecated stable rate borrowing), so studying that part of the codebase teaches patterns that are actively being phased out.

- Vendored OpenZeppelin contracts under contracts/dependencies/ instead of using the npm package — means security patches from upstream OZ don't flow in automatically and the versions are opaque without diffing manually.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →