Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion frame/election-provider-multi-phase/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,11 @@ pub enum FeasibilityError {
UntrustedScoreTooLow,
/// Data Provider returned too many desired targets
TooManyDesiredTargets,
/// Conversion into bounded types failed.
///
/// Should never happen under correct configurations.
BoundedConversionFailed,

}

impl From<sp_npos_elections::Error> for FeasibilityError {
Expand Down Expand Up @@ -1549,7 +1554,7 @@ impl<T: Config> Pallet<T> {
ensure!(known_score == score, FeasibilityError::InvalidScore);

// Size of winners in miner solution is equal to `desired_targets` <= `MaxWinners`.
let supports = supports.try_into().expect("checked desired_targets <= MaxWinners; qed");
let supports = supports.try_into().map_err(|_| FeasibilityError::BoundedConversionFailed);
Ok(ReadySolution { supports, compute, score })
}

Expand Down