MIP - ERC4626 Adapter Whitelisting

Summary

Proposal to whitelist Morpho’s ERC4626 vaults and the rewards distributor contract to transfer $MORPHO tokens to users. Moreover, this proposal includes the whitelisting of the Sense contracts.

Context

The Morpho DAO recently deployed Morpho’s vaults. To be able to redistribute $MORPHO rewards among vault users, a set of smart contracts must be whitelisted to transfer MORPHO tokens.

As of now, the $MORPHO token (deployed here and the repository can be found here) is not transferrable. However, the $MORPHO token implementation has different roles:

  • 0) Allows triggering transfer and transferFrom functions.
  • 1) Allows to mint tokens (only the DAO multisig has this role) and Allows 0).

The RewardsDistributor for Morpho-Aave and Morpho-Compound has the role 1), so that users can claim their $MORPHO rewards.

Rewards Distribution for Vaults

Morpho’s vaults are considered regular Morpho’s users which means that they are entitled to $MORPHO rewards. Anyone can claim the vault’s rewards on their behalf by sending $MORPHO tokens to the vault. On each vault, a transfer function lets the transfer of ERC20 tokens (only by the DAO).

To be able to redistribute those rewards to the Vault’s users (like Sense which has written a similar proposal that we could bundle into one single snapshot vote), we are proposing the following:

  • The function mentioned above can be used to then send $MORPHO tokens to a fresh new RewardsDistributor specific to the vaults deployed here.
  • The mechanism of this RewardsDistributor would be exactly the same as for Morpho’s core protocol. Thus, a Merkle tree must be updated after the end of each epoch.

This solution avoids modifying the construction of the Merkle tree related to Morpho’s core protocol and thus allows a more scalable way to manage rewards.

For this mechanism to work, the new RewardsDistributor contract as well as all vaults’ contracts must be granted the role 1).

You can find vault addresses in the Morpho developer’s documentation.

Conclusion

We propose to grant role 1) on the $MORPHO token to:

We also propose bundling this proposal with Sense’s one to whitelist their contracts so they can redistribute rewards among their users.

9 Likes

This sounds great, and at Sense we’re fully supportive of this :slight_smile:

So far the addresses we have from our side are:

We expect to also deploy a maUSDC adapter and a maUSDT adapter next week – we’ll drop those addresses here as well then

2 Likes

Thanks so much @jparklev. We’ll keep you posted for the coming vote.

The vote is now live here.

And below is the related forum post with the other Sense addresses to whitelist.

2 Likes