AaveEarnPool
Contract:
AaveEarnPool.solImplements:IEarnPool
Overview
AaveEarnPool is an adapter contract that wraps Aave V3 behind the standardized IEarnPool interface. It enables KPortfolio to supply USDC to the Aave V3 lending pool and earn variable-rate interest.
Target Allocation: 80% of total ETH-side deployed capital (Stage 1 default).
Interface
| Function | Signature | Description |
|---|---|---|
deposit |
deposit(uint256 amount) |
Supply USDC to Aave V3 Pool (pool.supply()). Receives aUSDC. |
withdraw |
withdraw(uint256 amount) |
Withdraw USDC from Aave V3 Pool (pool.withdraw()). Burns aUSDC. |
valuesOf |
valuesOf() → uint256 |
Returns current USDC value held in Aave (aUSDC balance, which accrues interest). |
External Dependencies
| Contract | Description |
|---|---|
| Aave V3 Pool | Lending pool for supply/withdraw operations |
| aUSDC | Interest-bearing receipt token from Aave |
Security Considerations
- Aave Protocol Risk: If Aave V3 is exploited, funds in this pool are at risk. The adapter cannot mitigate upstream protocol vulnerabilities.
- Interest Accrual:
valuesOf()relies onaUSDC.balanceOf(), which increases over time as interest accrues. This is used in settlement NAV calculations. - Withdrawal Limits: During high utilization on Aave, not all USDC may be withdrawable immediately. The adapter should handle partial withdrawals or revert clearly.
- No ERC-777: USDC is standard ERC-20, which is compatible with Aave V3. Tokens with callbacks are not supported.