Skip to content

AaveV3Strategy

Source: src/strategies/AaveV3Strategy.sol

This V2 strategy supplies assets to the Aave V3 lending pool, not Aave sGHO saving or Umbrella staking. See Aave GHO Saving for its distinct route and accounting.

Before integration or administration, verify the listed signatures and permissions against the deployed implementation and its verified source. See Documentation scope and verification.

Withdrawal and exit depend on the external reserve's available liquidity and applicable protocol restrictions. A reported asset value does not guarantee that the same amount can be withdrawn immediately.

Public And External Functions

Function Access Description
receiver() public view Returns vault address receiving divested assets.
asset() public view Returns underlying asset.
totalAssets() public view Calculates Aave aToken scaled balance multiplied by liquidity index.
invest(uint256 amount) Keeper Approves Aave pool and supplies asset.
divest(uint256 amount) Keeper Withdraws requested asset amount from Aave to receiver.
exit(bool ignore) Keeper Attempts to withdraw the full Aave position; catches failure only when ignore = true.
harvest(IERC20 asset_) Keeper Sweeps non-aToken rewards or dust to receiver.
replenish(uint256 amount) Keeper Withdraws requested amount from Aave to receiver for liquidity waterfall.
claimRewards() Keeper Claims all Aave rewards to the strategy contract. Rewards can then be harvested.

Internal Functions

Function Description
_isActiveAssets(DataTypes.ReserveConfigurationMap) Verifies Aave reserve active bit before deployment.