Open
Description
we can allow rewards for a staked incentive to be time-vested, where the rewards vest for seconds that the position is in range (using the secondsInside
return value of the IUniswapV3Pool#snapshotCumulativesInside
)
the unvested rewards can go back either to the incentive refundee, or the incentive program; however returning the rewards to the incentive program will result in a lot of MEV due to the impact on unstaking order (e.g. someone unstakes with a bunch of unvested rewards, increasing the effective reward rate for everyone else)
we can be opinionated about how we choose the rewards vesting duration, e.g. incentiveKey.endTime - incentiveKey.startTime
this will disincentive very concentrated and active liquidity for volatile pairs