Request for Comment : Updating Rewards Contract

Seems worth pursuing if there is a reasonable likelihood of being able to offer multi-token incentives. Certainly there are plenty of other protocols with incentives like that in place. Could become an RFP within CGP’s protocol dapps and ideas domain if the community agrees it’s worth supporting.

I think there are at least two viable approaches that don’t require modifying the CometRewards contract internally, which is probably preferable from a security standpoint:

  • @kevin mentioned a little while back on Discord that multiple CometRewards contracts could be interfaced with the same Comet, with the wrinkle that speeds are set in Comet (perhaps the CometRewards contract for the other token could internally rescale the speed setting from Comet for its own purposes, but I haven’t looked closely at the logic to know if that’s viable).
  • I’m a bit out of my depth here, but it seems not entirely out of the question to wrap a predetermined ratio of COMP and the other token into an ERC-20 compliant contract for delivery via a single CometRewards contract (sort of like Uniswap V2 LP tokens, but also not). I feel like there is probably some basic detail I’m missing that makes it hard/impossible for this to be ERC-20 compliant. In any case, it would also require a pre-wrapping step and an awkward front-end(s) for users to unwrap the rewards, so probably unnecessarily complicated relative to the first approach.

There are also vault-style solutions like Alchemist/Ampleforth’s V2 geysers designed for the purpose of distributing multiple incentives (“subscribing to multiple rewards programs” in their language), but it’s not clear to me that they would “play nicely” with the Comet contracts. For borrowers specifically, there is no debt token that could be deposited to a vault as proof of claim on the other incentive token.

4 Likes