Calculations for Staking Rewards
Mint rate is the exchange ratio between CRE and bCRE. Therefore, it is defined as the ratio between the total amount of bCRE currently issued and the total amount of CRE tied by the liquid staking module, i.e, temporarily vested to the proxy account.
The tokens liquid staked by users are first collected in a liquid staking proxy account and then distributed to each liquid validator according to their weight. The liquid staking users will receive bCRE in exchange for CRE staking, at this time, the amount of newly issued bCRE is determined according to the internally calculated mint rate.
The bCRE holders can unstake their bCRE in order to receive CRE. Inside the module, since the subject of delegation to validators is the proxy account, after burning the bCRE, the corresponding amount of CRE is unbonded by the proxy account. At this time, by changing the termination address of unbonding delegation to the address of user who unstaked bCRE, the CRE will be finally sent to the addresses of users. The unstaking process requires a certain period of time, which is currently set to 14 days.
Due to the events like slashing or tombstoning, the actual current weights of the CRE of the liquid validators can be slightly different from what was target weight intended. Therefore, rebalancing of delegated assets is needed. At the beginning of every block, the module calculate the actual weight(CRE amount of the validator relative to the total amount) of liquid validators and the difference between it and originally intended weight. If the maximum difference exceeds criteria called rebalancing trigger, the rebalancing will be executed.