Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

nomination-pools: Consider allowing partial unbonding #10902

@emostov

Description

@emostov

In the current design a delegator cannot unbond a sub portion of their stake; instead they must unbond all their stake at once. This was chosen for implementation simplicity. Instead we shoud allow a delagator to only unbond sub portion of their funds, thus giving users more flexibility. We could use a bounded btreeset to track the eras they are unbonding in and make sure to destroy the delegator when they withdraw unbonded and the btreeset is empty.

It will probably keep things simpler if the pool's creator still had to unbond all funds at once. This is ok because they can only unbond once the pool is in a destroying state and no other delegators remain.

We should still maintain the invariant that a delegator can only be a member of one pool at a time.

Should wait until #10694 is merged to start working on this.

Metadata

Metadata

Assignees

Labels

J0-enhancementAn additional feature request.Z2-mediumCan be fixed by a coder with good Rust knowledge but little knowledge of the codebase.

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions