Proposal #90

Fix Interlay Escrow Rewards

Democracy
1yr ago
11 Comments
Tabled

Fix Interlay Escrow Rewards

The "Escrow" pallet is distributing too many rewards per block because it incorrectly updated the RewardPerBlock variable at the start of "Year 2". This is calculated using the following formula:

rewardPerBlock = totalBalance / emissionPeriod

Where totalBalance is the total amount of INTR we have scheduled to distribute over the emissionPeriod (one year). The implementation actually uses the total balance assigned to EscrowAnnuityAccount which also includes unclaimed INTR already distributed. This isn't an issue for the Vault rewards because we transfer those funds from VaultAnnuityAccount to FeeAccount, but in this case we then do not have enough funds to fulfil the expected rewards.

:link: https://interlay.subsquare.io/democracy/proposals/0

The subsequent adjustment to the Vault rewards added more rewards to the Escrow (staking) annuity pallet - this is what distributes rewards each block. This also updated the RewardPerBlock incorrectly because it used the previous (invalid) figure and additionally didn't align until the end of the epoch as intended.

:link: https://interlay.subsquare.io/democracy/proposals/86

This proposal corrects the remaining calls previously scheduled in the "Activate INTR Staking Rewards" proposal to do the following:

  • at block 4400000, reduce RewardPerBlock to 261148158032 - the remaining surplus is distributed over the remaining blocks of year 2
  • at year 3 set RewardPerBlock to 47564687975, don't update for year 4
  • transfer year 3 and 4 rewards as before
  • set RewardPerBlock to zero at end of year 4 to stop distributing rewards
Edited
Reply
Up
Share
Second
No current seconds
This proposal has been turned into referendum.
Call
Metadata
Timeline2
Comments

Could someone please clarify
"reduce RewardPerBlock to 261148158032" What is the rewardPerBlock now, how lower will be in %, if the ref passes?

What does year 2, 3, 4 mean? It mean the next years or since launch?
When is the end of year 4, when rewards would be planned to cease?

Reply
Up 3

They had said that the increased rewards would be for 265 days, with this it is not clear to me how the staking and rewards system would operate.
So clarify it, please.

Reply
Up 2

I suggest formulating proposals giving the exact block where things should happen or have happened
(this can be checked on the block explorer). I don't know when years 1, 2, etc. are.
Why will we vote to stop rewards at the end of year 4 if there is a staking option to always increase the period by one week?

Edited

Reply
Up 1

As described in the proposal there was a bug in the previous distribution which means we are distributing too many rewards (that actually don't exist) and eventually this will put the system into an invalid state. As we saw on Kintsugi this could mean that you are unable to withdraw rewards eventually because there are not enough funds remaining.

After this proposal the system will still have increased rewards for the rest of Year 2 as planned (although slightly reduced to account for the bug) and then Year 3 and 4 will have the amount outlined in the original whitepaper. We will review the reward distribution for Year 5 and later at a future date.

Reply
Up 1

As agreed in the initial token distribution the default emission period is one year - 2628000 blocks as calculated according to the expected block time. Here is a precise timeline based on those increments and also the redistribution (proposal 86):

What has happened:

529634 - transfer (125000000000000000)
529635 - update (RewardPerBlock: 47564687975) "Year 1"
3157634 - transfer (125000000000000000)
3157635 - update (RewardPerBlock: 56557541660) "Year 2"
3912529 - transfer (411510886850466540) + update (RewardPerBlock: 270703769664) "Changing vault reward structure"

What should happen:

4400000 - update (RewardPerBlock: 261148158032)
5785634 - remove
5785635 - transfer (125000000000000000) + update (RewardPerBlock: 47564687975) "Year 3"
8413634 - remove
8413635 - transfer (125000000000000000) "Year 4"
11041635 - update (RewardPerBlock: 0)
Reply
Up 1

Now I understand, although I didn't have time to change my vote because the voting period closed.
I think ambiguous interpretations arise from communication.
Now that I understand it, it seems perfect to me.
Go Interlay!

Reply
Up 2