Solidity and TypeScript toolkit for building, testing, and reviewing Aave governance proposals.
Install with Foundry:
forge install aave-dao/aave-helpersType-safe payload base contracts for Aave V2 and V3 configuration changes. Inherit from the chain-specific payload (e.g. AaveV3PayloadEthereum, AaveV2PayloadPolygon) and override the relevant listing/update methods.
ProtocolV3TestBase and ProtocolV2TestBase provide snapshot diffing and e2e testing for proposals. Inherit in your test, execute the proposal, and call the snapshot/e2e helpers.
Utilities for creating and executing Aave Governance V3 proposals in Foundry tests and scripts. Also includes voting scripts (make vote proposalId=n support=true/false).
- CollectorUtils - helpers for interacting with the Aave Collector
- Bridges - cross-chain ERC20 bridge implementations (Arbitrum, Optimism, Polygon, CCIP)
- Swaps - Milkman-based swap payloads for treasury management
The packages/aave-helpers-js package provides snapshot diffing and markdown report generation for Aave V3 pool configurations.
pnpm add @aave-dao/aave-helpers-js# Diff two snapshot JSON files
aave-helpers-js diff-snapshots before.json after.json -o diff.mdimport { diffSnapshots } from '@aave-dao/aave-helpers-js';
const md = await diffSnapshots(preSnapshot, postSnapshot);cp .env.example .env
forge install
pnpm install- Solidity tests:
forge test - TypeScript tests:
cd packages/aave-helpers-js && pnpm test