Skip to content

Make claimRewards() virtual  #3

@shortdoom

Description

@shortdoom

Especially in case of AAVE and Compound.

It is often a case forks of those protocol implement their own liquidity mining / rewards in case of Aave, AaveMining can be replaced with different rewards distributor like Curve's multi-rewards modules, while retaining rest of Aave interface. Moreover - ERC4626 Vaults are expected to mint interest-bearing shares, for which underlying is to accrue as assets under management. Following this logic and already providing claimRewards() for wrapper, it makes for a strong argument to keep it virtual, as contracts inheriting from yield-daddy can then extend claimRewards() logic as they see fit.

For example, by instantly selling claimed rewards for underlying and depositing back to the Vault. This turns Vault in also operating simple strategies on top, but some of those strategies are so simplistic and popular that more than often are automated-away.

Issue created after poking on creating extended interface based of yield-daddy. I couldn't do

contract DaddyExtended is AaveERC4626Wrapper

as claimRewards() forces sending reward tokens to rewardRecipent

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions