mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 21:01:02 +00:00
Drop availability only for candidates that lose disputes (#3973)
* guide: updates for disputes changes * paras_inherent: drop availability only for candidates that lose disputes * spellcheck * Update runtime/parachains/src/paras_inherent.rs Co-authored-by: Andronik Ordian <write@reusable.software> Co-authored-by: Andronik Ordian <write@reusable.software>
This commit is contained in:
committed by
GitHub
parent
f66440dc19
commit
b6a87891ac
@@ -174,24 +174,27 @@ pub mod pallet {
|
||||
// Handle disputes logic.
|
||||
let current_session = <shared::Pallet<T>>::session_index();
|
||||
let freed_disputed: Vec<(_, FreedReason)> = {
|
||||
let fresh_disputes = T::DisputesHandler::provide_multi_dispute_data(disputes)?;
|
||||
let new_current_dispute_sets: Vec<_> = disputes
|
||||
.iter()
|
||||
.filter(|s| s.session == current_session)
|
||||
.map(|s| (s.session, s.candidate_hash))
|
||||
.collect();
|
||||
|
||||
let _ = T::DisputesHandler::provide_multi_dispute_data(disputes)?;
|
||||
if T::DisputesHandler::is_frozen() {
|
||||
// The relay chain we are currently on is invalid. Proceed no further on parachains.
|
||||
Included::<T>::set(Some(()));
|
||||
return Ok(Some(MINIMAL_INCLUSION_INHERENT_WEIGHT).into())
|
||||
}
|
||||
|
||||
let any_current_session_disputes =
|
||||
fresh_disputes.iter().any(|(s, _)| s == ¤t_session);
|
||||
|
||||
if any_current_session_disputes {
|
||||
let current_session_disputes: Vec<_> = fresh_disputes
|
||||
if !new_current_dispute_sets.is_empty() {
|
||||
let concluded_invalid_disputes: Vec<_> = new_current_dispute_sets
|
||||
.iter()
|
||||
.filter(|(s, _)| s == ¤t_session)
|
||||
.filter(|(s, c)| T::DisputesHandler::concluded_invalid(*s, *c))
|
||||
.map(|(_, c)| *c)
|
||||
.collect();
|
||||
|
||||
<inclusion::Pallet<T>>::collect_disputed(current_session_disputes)
|
||||
<inclusion::Pallet<T>>::collect_disputed(concluded_invalid_disputes)
|
||||
.into_iter()
|
||||
.map(|core| (core, FreedReason::Concluded))
|
||||
.collect()
|
||||
|
||||
Reference in New Issue
Block a user