chore: regenerate umbrella crate, fix feature propagation
This commit is contained in:
@@ -188,8 +188,8 @@ mod benchmarks {
|
||||
crate::mock::ElectionStart::set(pezsp_runtime::traits::Bounded::max_value());
|
||||
crate::Pezpallet::<T>::start().unwrap();
|
||||
|
||||
// roll to signed validation, with a solution stored in the signed pezpallet, but this solution
|
||||
// is corrupt in its msp.
|
||||
// roll to signed validation, with a solution stored in the signed pezpallet, but this
|
||||
// solution is corrupt in its msp.
|
||||
let mut paged_solution = crate::Pezpallet::<T>::roll_to_signed_and_mine_full_solution();
|
||||
let page_to_corrupt = crate::Pezpallet::<T>::msp() - v;
|
||||
crate::log!(
|
||||
|
||||
@@ -191,8 +191,8 @@ pub(crate) mod pezpallet {
|
||||
/// - The number of existing keys in `QueuedSolutionBackings` must always match that of the
|
||||
/// INVALID variant.
|
||||
///
|
||||
/// Moreover, the following conditions must be met when this pezpallet is in [`Status::Nothing`],
|
||||
/// meaning that no ongoing asynchronous verification is ongoing.
|
||||
/// Moreover, the following conditions must be met when this pezpallet is in
|
||||
/// [`Status::Nothing`], meaning that no ongoing asynchronous verification is ongoing.
|
||||
///
|
||||
/// - No keys should exist in the INVALID variant.
|
||||
/// - This implies that no data should exist in `QueuedSolutionBackings`.
|
||||
@@ -202,8 +202,8 @@ pub(crate) mod pezpallet {
|
||||
/// > the number of keys in the VALID variant. In fact, an empty solution with score of [0, 0,
|
||||
/// > 0] can also be correct.
|
||||
///
|
||||
/// No additional conditions must be met when the pezpallet is in [`Status::Ongoing`]. The number
|
||||
/// of pages in
|
||||
/// No additional conditions must be met when the pezpallet is in [`Status::Ongoing`]. The
|
||||
/// number of pages in
|
||||
pub struct QueuedSolution<T: Config>(pezsp_std::marker::PhantomData<T>);
|
||||
impl<T: Config> QueuedSolution<T> {
|
||||
/// Private helper for mutating the storage group.
|
||||
@@ -275,7 +275,10 @@ pub(crate) mod pezpallet {
|
||||
/// known to be valid. At this stage, we write to the invalid variant. Once all pages are
|
||||
/// verified, a call to [`finalize_correct`] will seal the correct pages and flip the
|
||||
/// invalid/valid variants.
|
||||
pub(crate) fn set_invalid_page(page: PageIndex, supports: SupportsOfVerifier<Pezpallet<T>>) {
|
||||
pub(crate) fn set_invalid_page(
|
||||
page: PageIndex,
|
||||
supports: SupportsOfVerifier<Pezpallet<T>>,
|
||||
) {
|
||||
use pezframe_support::traits::TryCollect;
|
||||
Self::mutate_checked(|| {
|
||||
let backings: BoundedVec<_, _> = supports
|
||||
@@ -851,7 +854,9 @@ impl<T: Config> Pezpallet<T> {
|
||||
}
|
||||
|
||||
#[cfg(any(test, feature = "runtime-benchmarks", feature = "try-runtime"))]
|
||||
pub(crate) fn do_try_state(_now: BlockNumberFor<T>) -> Result<(), pezsp_runtime::TryRuntimeError> {
|
||||
pub(crate) fn do_try_state(
|
||||
_now: BlockNumberFor<T>,
|
||||
) -> Result<(), pezsp_runtime::TryRuntimeError> {
|
||||
QueuedSolution::<T>::sanity_check()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
//! # The Verifier Pezpallet
|
||||
//!
|
||||
//! This pezpallet has no end-user functionality, and is only used internally by other pallets in the
|
||||
//! EPMB machinery to verify solutions.
|
||||
//! This pezpallet has no end-user functionality, and is only used internally by other pallets in
|
||||
//! the EPMB machinery to verify solutions.
|
||||
//!
|
||||
//! ### *Feasibility* Check
|
||||
//!
|
||||
@@ -76,9 +76,9 @@ mod tests;
|
||||
// internal imports
|
||||
pub use crate::weights::traits::pezpallet_election_provider_multi_block_verifier::*;
|
||||
|
||||
use pezframe_election_provider_support::PageIndex;
|
||||
use impls::SupportsOfVerifier;
|
||||
pub use impls::{feasibility_check_page_inner_with_snapshot, pezpallet::*, Status};
|
||||
use pezframe_election_provider_support::PageIndex;
|
||||
use pezsp_core::Get;
|
||||
use pezsp_npos_elections::ElectionScore;
|
||||
use pezsp_std::{fmt::Debug, prelude::*};
|
||||
@@ -227,8 +227,9 @@ pub enum VerificationResult {
|
||||
|
||||
/// Something that can provide candidate solutions to the verifier.
|
||||
///
|
||||
/// In reality, this can be implemented by the [`crate::signed::Pezpallet`], where signed solutions are
|
||||
/// queued and sorted based on claimed score, and they are put forth one by one, from best to worse.
|
||||
/// In reality, this can be implemented by the [`crate::signed::Pezpallet`], where signed solutions
|
||||
/// are queued and sorted based on claimed score, and they are put forth one by one, from best to
|
||||
/// worse.
|
||||
pub trait SolutionDataProvider {
|
||||
/// The opaque solution type.
|
||||
type Solution;
|
||||
|
||||
@@ -153,7 +153,9 @@ mod feasibility_check {
|
||||
paged.solution_pages[0].clone(),
|
||||
0
|
||||
),
|
||||
FeasibilityError::NposElection(pezsp_npos_elections::Error::SolutionInvalidIndex),
|
||||
FeasibilityError::NposElection(
|
||||
pezsp_npos_elections::Error::SolutionInvalidIndex
|
||||
),
|
||||
);
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user