Speed Up

AccelerateUnstakeMature (aka Speed Up")

Under some circumstances, some users might want to get staked BNB back as soon as possible. An accelerating mechanism is offered here. Users just need to burn enough SBF and then their unstake will be fulfilled with more priorities. The burned SBF amount will be proportional to the sum of all prior unstake amounts and the current unstaked amount. Formula and examples will be provided as follows.
sbfBurnAmount=userUnstakeAmountaccelerateStepsAU+sumOfPriorUnstakeAmountAUsbfBurnAmount = userUnstakeAmount * accelerateSteps * AU + sumOfPriorUnstakeAmount * AU
userUnstakeAmount = Amount of BNB user intends to unstake.
accelerateSteps = Number of queue sequences of LBNB in batches that user would want to overtake in the unstaking queue.
AU = priceToAccelerateUnstake = Number of SBF to be burned to move one unstake BNB forward. ( a constant number that can be tweaked in future using governance vote) Current Value is set at = "10".
sumOfPriorUnstakeAmount = Amount of BNB queued in front of the current transaction.
Suppose user A has 100 BNB queued to be unlocked, user B has 200 BNB queued to be unlocked. User C has 300 BNB queued behind B. User D has 250 BNB which he wants to unlock quickly, and get in front of user B and C, but behind user A. In order to accelerate his order, he would have to pay 250*2*10 + (200+300)*10 = 10,000 SBF.
Note: Refering to the Example 1 below, when it shows that you are in the queue, but the speed up function is not activated, the reason would be that you are already first in the queue on the day that you unstake. This is because user can only "speed up"/"cut queue" against other unstaking orders made on the same specific day. This is to ensure our users will definitely be able to fully unstake in 7 days.
Example 1