diff --git a/cli/src/chainx_runtime.compact.wasm b/cli/src/chainx_runtime.compact.wasm index b39e5370e59db..245c23461b36b 100644 Binary files a/cli/src/chainx_runtime.compact.wasm and b/cli/src/chainx_runtime.compact.wasm differ diff --git a/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm b/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm index b39e5370e59db..245c23461b36b 100644 Binary files a/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm and b/runtime/wasm/target/wasm32-unknown-unknown/release/chainx_runtime.compact.wasm differ diff --git a/xrml/xmining/staking/src/shifter.rs b/xrml/xmining/staking/src/shifter.rs index 889a640e1aaf8..e56300b5e985c 100644 --- a/xrml/xmining/staking/src/shifter.rs +++ b/xrml/xmining/staking/src/shifter.rs @@ -195,7 +195,11 @@ impl Module { // Try removing the evil validators first. let evil_validators = >::take(); - validators.retain(|x| !evil_validators.contains(x)); + for evil_val in evil_validators.iter() { + if validators.len() > Self::minimum_validator_count() as usize { + validators.retain(|x| *x != *evil_val); + } + } // apply good session reward let mut session_reward = Self::this_session_reward();