With this method, users who deposited their funds at the end of the cycle, end up receiving a full cycles worth of rewards as though they had assets deposited the whole time. This is disproportionate to what they are in fact entitled to.
Introducing Tree TWAP rewards
To solve this problem, we are now taking multiple snapshots during the rewards cycle and calculating the TWAP price out of all balances.
The amount of snapshots we are going to take during cycle will be 3 but this can change and evolve over time.
Examples of How This Will Work
User has deposited funds at the beginning of the cycle and their balance doesn't change throughout. Totals also remains the same, assuming all users have not done anything with their funds.
We take 3 snapshots + the snapshot at the start cycle block and sum up each user's balances. As user had the same balance each time we take a snapshot, we will multiply user balance by 4...