mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-29 10:17:57 +00:00
Introduce in-origin filtering (#6318)
* impl filter in origin * remove IsCallable usage. Breaking: utility::batch(root, calls) no longer bypass BasicCallFilter * rename BasicCallFilter -> BaseCallFilter * refactor code * Apply suggestions from code review Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * remove forgotten temporar comment * better add suggestion in another PR * refactor: use Clone instead of mem::replace * fix tests * fix tests * fix tests * fix benchmarks * Make root bypass filter in utility::batch * fix unused imports Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
97cac4ce8b
commit
c2ad27271b
@@ -47,7 +47,7 @@ fn force_unstake_works() {
|
||||
// Force unstake needs correct number of slashing spans (for weight calculation)
|
||||
assert_noop!(Staking::force_unstake(Origin::signed(11), 11, 0), BadOrigin);
|
||||
// We now force them to unstake
|
||||
assert_ok!(Staking::force_unstake(Origin::ROOT, 11, 2));
|
||||
assert_ok!(Staking::force_unstake(Origin::root(), 11, 2));
|
||||
// No longer bonded.
|
||||
assert_eq!(Staking::bonded(&11), None);
|
||||
// Transfer works.
|
||||
@@ -1477,7 +1477,7 @@ fn on_free_balance_zero_stash_removes_validator() {
|
||||
assert_eq!(Balances::total_balance(&11), 0);
|
||||
|
||||
// Reap the stash
|
||||
assert_ok!(Staking::reap_stash(Origin::NONE, 11, 0));
|
||||
assert_ok!(Staking::reap_stash(Origin::none(), 11, 0));
|
||||
|
||||
// Check storage items do not exist
|
||||
assert!(!<Ledger<Test>>::contains_key(&10));
|
||||
@@ -1533,7 +1533,7 @@ fn on_free_balance_zero_stash_removes_nominator() {
|
||||
assert_eq!(Balances::total_balance(&11), 0);
|
||||
|
||||
// Reap the stash
|
||||
assert_ok!(Staking::reap_stash(Origin::NONE, 11, 0));
|
||||
assert_ok!(Staking::reap_stash(Origin::none(), 11, 0));
|
||||
|
||||
// Check storage items do not exist
|
||||
assert!(!<Ledger<Test>>::contains_key(&10));
|
||||
@@ -1928,7 +1928,7 @@ fn offence_forces_new_era() {
|
||||
#[test]
|
||||
fn offence_ensures_new_era_without_clobbering() {
|
||||
ExtBuilder::default().build_and_execute(|| {
|
||||
assert_ok!(Staking::force_new_era_always(Origin::ROOT));
|
||||
assert_ok!(Staking::force_new_era_always(Origin::root()));
|
||||
assert_eq!(Staking::force_era(), Forcing::ForceAlways);
|
||||
|
||||
on_offence_now(
|
||||
@@ -2302,8 +2302,8 @@ fn garbage_collection_after_slashing() {
|
||||
assert_eq!(slashing_spans.iter().count(), 2);
|
||||
|
||||
// reap_stash respects num_slashing_spans so that weight is accurate
|
||||
assert_noop!(Staking::reap_stash(Origin::NONE, 11, 0), Error::<Test>::IncorrectSlashingSpans);
|
||||
assert_ok!(Staking::reap_stash(Origin::NONE, 11, 2));
|
||||
assert_noop!(Staking::reap_stash(Origin::none(), 11, 0), Error::<Test>::IncorrectSlashingSpans);
|
||||
assert_ok!(Staking::reap_stash(Origin::none(), 11, 2));
|
||||
|
||||
assert!(<Staking as crate::Store>::SlashingSpans::get(&11).is_none());
|
||||
assert_eq!(<Staking as crate::Store>::SpanSlash::get(&(11, 0)).amount_slashed(), &0);
|
||||
@@ -2591,11 +2591,11 @@ fn remove_deferred() {
|
||||
|
||||
// fails if empty
|
||||
assert_noop!(
|
||||
Staking::cancel_deferred_slash(Origin::ROOT, 1, vec![]),
|
||||
Staking::cancel_deferred_slash(Origin::root(), 1, vec![]),
|
||||
Error::<Test>::EmptyTargets
|
||||
);
|
||||
|
||||
assert_ok!(Staking::cancel_deferred_slash(Origin::ROOT, 1, vec![0]));
|
||||
assert_ok!(Staking::cancel_deferred_slash(Origin::root(), 1, vec![0]));
|
||||
|
||||
assert_eq!(Balances::free_balance(11), 1000);
|
||||
assert_eq!(Balances::free_balance(101), 2000);
|
||||
@@ -2692,21 +2692,21 @@ fn remove_multi_deferred() {
|
||||
|
||||
// fails if list is not sorted
|
||||
assert_noop!(
|
||||
Staking::cancel_deferred_slash(Origin::ROOT, 1, vec![2, 0, 4]),
|
||||
Staking::cancel_deferred_slash(Origin::root(), 1, vec![2, 0, 4]),
|
||||
Error::<Test>::NotSortedAndUnique
|
||||
);
|
||||
// fails if list is not unique
|
||||
assert_noop!(
|
||||
Staking::cancel_deferred_slash(Origin::ROOT, 1, vec![0, 2, 2]),
|
||||
Staking::cancel_deferred_slash(Origin::root(), 1, vec![0, 2, 2]),
|
||||
Error::<Test>::NotSortedAndUnique
|
||||
);
|
||||
// fails if bad index
|
||||
assert_noop!(
|
||||
Staking::cancel_deferred_slash(Origin::ROOT, 1, vec![1, 2, 3, 4, 5]),
|
||||
Staking::cancel_deferred_slash(Origin::root(), 1, vec![1, 2, 3, 4, 5]),
|
||||
Error::<Test>::InvalidSlashIndex
|
||||
);
|
||||
|
||||
assert_ok!(Staking::cancel_deferred_slash(Origin::ROOT, 1, vec![0, 2, 4]));
|
||||
assert_ok!(Staking::cancel_deferred_slash(Origin::root(), 1, vec![0, 2, 4]));
|
||||
|
||||
let slashes = <Staking as Store>::UnappliedSlashes::get(&1);
|
||||
assert_eq!(slashes.len(), 2);
|
||||
@@ -4243,16 +4243,16 @@ fn test_max_nominator_rewarded_per_validator_and_cant_steal_someone_else_reward(
|
||||
fn set_history_depth_works() {
|
||||
ExtBuilder::default().build_and_execute(|| {
|
||||
mock::start_era(10);
|
||||
Staking::set_history_depth(Origin::ROOT, 20, 0).unwrap();
|
||||
Staking::set_history_depth(Origin::root(), 20, 0).unwrap();
|
||||
assert!(<Staking as Store>::ErasTotalStake::contains_key(10 - 4));
|
||||
assert!(<Staking as Store>::ErasTotalStake::contains_key(10 - 5));
|
||||
Staking::set_history_depth(Origin::ROOT, 4, 0).unwrap();
|
||||
Staking::set_history_depth(Origin::root(), 4, 0).unwrap();
|
||||
assert!(<Staking as Store>::ErasTotalStake::contains_key(10 - 4));
|
||||
assert!(!<Staking as Store>::ErasTotalStake::contains_key(10 - 5));
|
||||
Staking::set_history_depth(Origin::ROOT, 3, 0).unwrap();
|
||||
Staking::set_history_depth(Origin::root(), 3, 0).unwrap();
|
||||
assert!(!<Staking as Store>::ErasTotalStake::contains_key(10 - 4));
|
||||
assert!(!<Staking as Store>::ErasTotalStake::contains_key(10 - 5));
|
||||
Staking::set_history_depth(Origin::ROOT, 8, 0).unwrap();
|
||||
Staking::set_history_depth(Origin::root(), 8, 0).unwrap();
|
||||
assert!(!<Staking as Store>::ErasTotalStake::contains_key(10 - 4));
|
||||
assert!(!<Staking as Store>::ErasTotalStake::contains_key(10 - 5));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user