Check executor params coherence (#1774)

Co-authored-by: Marcin S <marcin@realemail.net>
This commit is contained in:
Julian Eager
2023-10-13 21:52:04 +08:00
committed by GitHub
parent 82bfe28424
commit 681e7bbfb2
7 changed files with 231 additions and 40 deletions
@@ -26,8 +26,9 @@ use polkadot_parachain_primitives::primitives::{
MAX_HORIZONTAL_MESSAGE_NUM, MAX_UPWARD_MESSAGE_NUM,
};
use primitives::{
AsyncBackingParams, Balance, ExecutorParams, SessionIndex, LEGACY_MIN_BACKING_VOTES,
MAX_CODE_SIZE, MAX_HEAD_DATA_SIZE, MAX_POV_SIZE, ON_DEMAND_DEFAULT_QUEUE_MAX_SIZE,
AsyncBackingParams, Balance, ExecutorParamError, ExecutorParams, SessionIndex,
LEGACY_MIN_BACKING_VOTES, MAX_CODE_SIZE, MAX_HEAD_DATA_SIZE, MAX_POV_SIZE,
ON_DEMAND_DEFAULT_QUEUE_MAX_SIZE,
};
use sp_runtime::{traits::Zero, Perbill};
use sp_std::prelude::*;
@@ -348,6 +349,8 @@ pub enum InconsistentError<BlockNumber> {
MaxHrmpInboundChannelsExceeded,
/// `minimum_backing_votes` is set to zero.
ZeroMinimumBackingVotes,
/// `executor_params` are inconsistent.
InconsistentExecutorParams { inner: ExecutorParamError },
}
impl<BlockNumber> HostConfiguration<BlockNumber>
@@ -432,6 +435,10 @@ where
return Err(ZeroMinimumBackingVotes)
}
if let Err(inner) = self.executor_params.check_consistency() {
return Err(InconsistentExecutorParams { inner })
}
Ok(())
}