mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 13:31:10 +00:00
[Enhancement] Convert fast-unstake to use StakingInterface, decouplin… (#12424)
* [Enhancement] Convert fast-unstake to use StakingInterface, decoupling it from Staking * Update primitives/staking/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update primitives/staking/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * fix validator comment * remove todo * ideas from Kian (#12474) Co-authored-by: kianenigma <kian@parity.io> * Rename StakingInterface -> Staking for nomination-pools * Staking fixes * StakingInterface changes * fix fast-unstake * fix nomination-pools * Fix fast-unstake tests * Fix benches for fast-unstake * fix is_unbonding * fix nomination pools * fix node code * add mock comments * fix imports * remove todo * more fixes * more fixes * bench fixes * more fixes * more fixes * import fix * more fixes * more bench fix * refix * refix * Update primitives/staking/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * is_unbonding returns a result * fix * review fixes * more review fixes * more fixes * more fixes * Update frame/fast-unstake/src/benchmarking.rs Co-authored-by: Squirrel <gilescope@gmail.com> * remove redundant CurrencyBalance from nom-pools * remove CB * rephrase * Apply suggestions from code review * Update frame/nomination-pools/src/tests.rs * finish damn renamed * clippy fix * fix Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: kianenigma <kian@parity.io> Co-authored-by: parity-processbot <> Co-authored-by: Squirrel <gilescope@gmail.com>
This commit is contained in:
@@ -3083,18 +3083,18 @@ mod pool_withdraw_unbonded {
|
||||
fn pool_withdraw_unbonded_works() {
|
||||
ExtBuilder::default().build_and_execute(|| {
|
||||
// Given 10 unbond'ed directly against the pool account
|
||||
assert_ok!(StakingMock::unbond(default_bonded_account(), 5));
|
||||
assert_ok!(StakingMock::unbond(&default_bonded_account(), 5));
|
||||
// and the pool account only has 10 balance
|
||||
assert_eq!(StakingMock::active_stake(&default_bonded_account()), Some(5));
|
||||
assert_eq!(StakingMock::total_stake(&default_bonded_account()), Some(10));
|
||||
assert_eq!(StakingMock::active_stake(&default_bonded_account()), Ok(5));
|
||||
assert_eq!(StakingMock::total_stake(&default_bonded_account()), Ok(10));
|
||||
assert_eq!(Balances::free_balance(&default_bonded_account()), 10);
|
||||
|
||||
// When
|
||||
assert_ok!(Pools::pool_withdraw_unbonded(RuntimeOrigin::signed(10), 1, 0));
|
||||
|
||||
// Then there unbonding balance is no longer locked
|
||||
assert_eq!(StakingMock::active_stake(&default_bonded_account()), Some(5));
|
||||
assert_eq!(StakingMock::total_stake(&default_bonded_account()), Some(5));
|
||||
assert_eq!(StakingMock::active_stake(&default_bonded_account()), Ok(5));
|
||||
assert_eq!(StakingMock::total_stake(&default_bonded_account()), Ok(5));
|
||||
assert_eq!(Balances::free_balance(&default_bonded_account()), 10);
|
||||
});
|
||||
}
|
||||
@@ -3270,7 +3270,7 @@ mod withdraw_unbonded {
|
||||
// current bond is 600, we slash it all to 300.
|
||||
StakingMock::set_bonded_balance(default_bonded_account(), 300);
|
||||
Balances::make_free_balance_be(&default_bonded_account(), 300);
|
||||
assert_eq!(StakingMock::total_stake(&default_bonded_account()), Some(300));
|
||||
assert_eq!(StakingMock::total_stake(&default_bonded_account()), Ok(300));
|
||||
|
||||
assert_ok!(fully_unbond_permissioned(40));
|
||||
assert_ok!(fully_unbond_permissioned(550));
|
||||
@@ -4074,12 +4074,15 @@ mod create {
|
||||
assert!(!BondedPools::<Runtime>::contains_key(2));
|
||||
assert!(!RewardPools::<Runtime>::contains_key(2));
|
||||
assert!(!PoolMembers::<Runtime>::contains_key(11));
|
||||
assert_eq!(StakingMock::active_stake(&next_pool_stash), None);
|
||||
assert_err!(
|
||||
StakingMock::active_stake(&next_pool_stash),
|
||||
DispatchError::Other("balance not found")
|
||||
);
|
||||
|
||||
Balances::make_free_balance_be(&11, StakingMock::minimum_bond() + ed);
|
||||
Balances::make_free_balance_be(&11, StakingMock::minimum_nominator_bond() + ed);
|
||||
assert_ok!(Pools::create(
|
||||
RuntimeOrigin::signed(11),
|
||||
StakingMock::minimum_bond(),
|
||||
StakingMock::minimum_nominator_bond(),
|
||||
123,
|
||||
456,
|
||||
789
|
||||
@@ -4090,7 +4093,7 @@ mod create {
|
||||
PoolMembers::<Runtime>::get(11).unwrap(),
|
||||
PoolMember {
|
||||
pool_id: 2,
|
||||
points: StakingMock::minimum_bond(),
|
||||
points: StakingMock::minimum_nominator_bond(),
|
||||
..Default::default()
|
||||
}
|
||||
);
|
||||
@@ -4099,7 +4102,7 @@ mod create {
|
||||
BondedPool {
|
||||
id: 2,
|
||||
inner: BondedPoolInner {
|
||||
points: StakingMock::minimum_bond(),
|
||||
points: StakingMock::minimum_nominator_bond(),
|
||||
member_counter: 1,
|
||||
state: PoolState::Open,
|
||||
roles: PoolRoles {
|
||||
@@ -4113,7 +4116,7 @@ mod create {
|
||||
);
|
||||
assert_eq!(
|
||||
StakingMock::active_stake(&next_pool_stash).unwrap(),
|
||||
StakingMock::minimum_bond()
|
||||
StakingMock::minimum_nominator_bond()
|
||||
);
|
||||
assert_eq!(
|
||||
RewardPools::<Runtime>::get(2).unwrap(),
|
||||
@@ -4142,7 +4145,7 @@ mod create {
|
||||
|
||||
// Given
|
||||
assert_eq!(MinCreateBond::<Runtime>::get(), 2);
|
||||
assert_eq!(StakingMock::minimum_bond(), 10);
|
||||
assert_eq!(StakingMock::minimum_nominator_bond(), 10);
|
||||
|
||||
// Then
|
||||
assert_noop!(
|
||||
|
||||
Reference in New Issue
Block a user