Skip to content
Request an audit

‹ All findings

AaveV3 RewardsController provides rewards in any token, should be handled separately

Crit/HighGlacier·Three Sigma · Liquid staking · 12th July, 20233S-GLACIER-H01

Description

The RewardsController from AaveV3 rewards are separate from the yield accrued and can be several different tokens.

Thus, they should be handled differently.

Recommendation

Add a separate function in AaveV3Strategy that allows us to claim the rewards. Returning the rewards is optional, depending on the option chosen below.

If a strategy has no extra rewards to be claimed, add the function but only return from it to keep compatibility. The ReservePool might end up with tokens other than WAVAX due to the fact that the rewards distributed might be any token. To address this, there are several options:

  1. Add a claim rewards function that sends all rewards to the network wallet, so it can swap for wAVAX and increase the network balance.
  2. Add a swap function in the ReservePool that swaps all the rewards assets different than WAVAX for WAVAX. If the swap fails, send to the addresses.networkWalletAddress().

Status

Issue addressed by implementing method 1 in commit:#3a4239f .