- Fork Testing - Set up fork testing environment.
- Default Test Suite - Run comprehensive validation.
- Review Snapshot Diffs - Verify state changes.
Framework: Foundry (Forge)
Key Features:
- Fork Testing: Test against live network state
- Snapshot Diffing: Automated before/after state comparison
- Gas Reporting: Track execution costs
Dependencies: forge-std, aave-helpers, aave-address-book
# Run all tests
forge test
# Test specific contract
make test-contract filter=ProposalNameSee Foundry Book for detailed forge commands.
Steps:
- Selecting Fork Block - Choose recent block
- RPC Configuration - Configure endpoints in .env
Get recent block number:
cast block-number --rpc-url $RPC_AVALANCHEConfigure RPC endpoints in .env. Format example:
RPC_MAINNET=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
RPC_AVALANCHE=https://avax-mainnet.g.alchemy.com/v2/YOUR_KEY
RPC_ARBITRUM=https://arb-mainnet.g.alchemy.com/v2/YOUR_KEYThe defaultTest() helper (from ProtocolV3TestBase) captures before/after state, executes the proposal, generates snapshot diffs, and validates parameters.
After running tests, review generated diffs in diffs/ directory to verify state changes match proposal specifications.
- README.md - Repository overview and architecture
- Generator Guide - Creating proposals
- GLOSSARY.md - Repository terminology
- Foundry Book - Foundry documentation