[WIP] RFC-0097 Implementation to Decrease Unbonding Time #5715
+178
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to implement RFC-0097, that introduces a flexible unbonding mechanism to decrease the time stakers have to wait to unbond by as much as 26 eras, resulting in 2 eras / 2 days on Polkadot in the best case scenario.
Commit Log
MinSlashableShare
,UnbondPeriodUpperBound
andUnbondPeriodLowerBound
parameters as genesis storage items.UnbondingPeriodUpperBound
eras. ThisLowestThirdTotalStake
storage record can be updated when a new planned era is triggered, more specifically in thestore_stakers_info
function.get_min_lowest_third_stake
function that gets the lowest third stake entry overUnbondPeriodUpperBound
eras.get_quick_unbond_max_unstake()
, that will essentially returnMinSlashableShare * min_lowest_third_stake
, wheremin_lowest_third_stake
is determined by the above storage addition. Utilising this new storage item is of course less weight heavy than iterating throughErasStakersPaged
.unbonding_time_delta
- this can use the following formula to determine a concrete unbond block number:back_of_unbonding_queue_block_number
.unbonding_block_number
and reflect in unlock chunks.More to come...
Post Implementation Checklist