[staking] Currency Migration and Overstake fix (#7763)
## Summary
The existing fungible migration code has an issue when handling
partially unbonding accounts, leaving them in an inconsistent state.
These changes fix it by properly withdrawing overstake from unlock
chunks.
This PR also removes the `withdraw_overstake` extrinsic from
pallet-staking, as this scenario could only occur before the fungible
migration. With fungibles, over-staking is no longer possible.
## TODO
- [ ] Backport to stable2503.
---------
Co-authored-by:
cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
parent
57f72199
Showing
- polkadot/runtime/westend/src/tests.rs 9 additions, 0 deletionspolkadot/runtime/westend/src/tests.rs
- prdoc/pr_7763.prdoc 12 additions, 0 deletionsprdoc/pr_7763.prdoc
- substrate/frame/staking/src/lib.rs 46 additions, 0 deletionssubstrate/frame/staking/src/lib.rs
- substrate/frame/staking/src/pallet/impls.rs 35 additions, 23 deletionssubstrate/frame/staking/src/pallet/impls.rs
- substrate/frame/staking/src/pallet/mod.rs 0 additions, 32 deletionssubstrate/frame/staking/src/pallet/mod.rs
- substrate/frame/staking/src/tests.rs 87 additions, 67 deletionssubstrate/frame/staking/src/tests.rs