You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_initialMP is always going to be the initial multiplier points minted via the balance amount when staking, in addition to the bonus multiplier points for the stake lockup time.
This results in the maximum multiplier points to be more than what's currently described in the docs
Maximum MP = staked SNT * maximum_MP_multiplier
The reason it was done that like in the current code is because if a lockup time is high enough, an account would immediately hit the max boost sealing.
We can normalize this again by subtracking the account's balance from the implemented formula. We just need to decide.
The reason it was done that like in the current code is because if a lockup time is high enough, an account would immediately hit the max boost sealing.
This is a scenario we need to avoid - one should never hit the max boost by locking. I think we can work with the current approach, i.e. initialMP shifts the values by a fixed number and the varying part and limit is taken care of via the bonusMP counter.
However, we need to make sure the following logic is not distorted:
MPs total (sum of both) is still slashed proportionally on withdrawal and potential subsequent deposits have standard behavior
locking after a finished lock has standard behavior
mix of these, plus other scenarios that we haven't discovered
We're now always adding the bonusMP (the amount of MP for locking) to the max limit MP (without bonusMP).
In other words, `maxPossibleMP = bonusMP + SNT staked * max MP multiplier
Currently, the maximum possible multiplier points amount for any account is calculated based on:
staking/contracts/StakeManager.sol
Lines 416 to 435 in 4f59004
Specifically this line:
staking/contracts/StakeManager.sol
Line 427 in 4f59004
_initialMP
is always going to be the initial multiplier points minted via the balance amount when staking, in addition to the bonus multiplier points for the stake lockup time.This results in the maximum multiplier points to be more than what's currently described in the docs
The reason it was done that like in the current code is because if a lockup time is high enough, an account would immediately hit the max boost sealing.
We can normalize this again by subtracking the account's
balance
from the implemented formula. We just need to decide./cc @3esmit @mart1n-xyz
The text was updated successfully, but these errors were encountered: