mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 18:41:03 +00:00
Companion for paritytech/substrate#12183 (#5971)
* Companion for paritytech/substrate#12183 * Fixes * Fixes * Fixes * cargo fmt * Fixes * Fixes * Fixes * cargo fmt * Update runtime/parachains/src/paras_inherent/mod.rs Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * update lockfile for {"substrate"} Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -395,7 +395,7 @@ impl UmpSink for TestUmpSink {
|
||||
Ok(w) => Weight::from_ref_time(w as u64),
|
||||
Err(_) => return Ok(Weight::zero()), // same as the real `UmpSink`
|
||||
};
|
||||
if weight > max_weight {
|
||||
if weight.any_gt(max_weight) {
|
||||
let id = sp_io::hashing::blake2_256(actual_msg);
|
||||
return Err((id, weight))
|
||||
}
|
||||
|
||||
@@ -878,16 +878,11 @@ pub mod pallet {
|
||||
/// Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and
|
||||
/// enacts the results if that was the last vote before achieving the supermajority.
|
||||
#[pallet::weight(
|
||||
sp_std::cmp::max(
|
||||
sp_std::cmp::max(
|
||||
<T as Config>::WeightInfo::include_pvf_check_statement_finalize_upgrade_accept(),
|
||||
<T as Config>::WeightInfo::include_pvf_check_statement_finalize_upgrade_reject(),
|
||||
),
|
||||
sp_std::cmp::max(
|
||||
<T as Config>::WeightInfo::include_pvf_check_statement_finalize_onboarding_accept(),
|
||||
<T as Config>::WeightInfo::include_pvf_check_statement_finalize_onboarding_reject(),
|
||||
<T as Config>::WeightInfo::include_pvf_check_statement_finalize_upgrade_accept()
|
||||
.max(<T as Config>::WeightInfo::include_pvf_check_statement_finalize_upgrade_reject())
|
||||
.max(<T as Config>::WeightInfo::include_pvf_check_statement_finalize_onboarding_accept()
|
||||
.max(<T as Config>::WeightInfo::include_pvf_check_statement_finalize_onboarding_reject())
|
||||
)
|
||||
)
|
||||
)]
|
||||
pub fn include_pvf_check_statement(
|
||||
origin: OriginFor<T>,
|
||||
|
||||
@@ -373,8 +373,8 @@ impl<T: Config> Pallet<T> {
|
||||
// the block. It's still reasonable to protect against a massive amount of disputes.
|
||||
if candidates_weight
|
||||
.saturating_add(bitfields_weight)
|
||||
.saturating_add(disputes_weight) >
|
||||
max_block_weight
|
||||
.saturating_add(disputes_weight)
|
||||
.any_gt(max_block_weight)
|
||||
{
|
||||
log::warn!("Overweight para inherent data reached the runtime {:?}", parent_hash);
|
||||
backed_candidates.clear();
|
||||
@@ -753,7 +753,7 @@ impl<T: Config> Pallet<T> {
|
||||
&mut rng,
|
||||
);
|
||||
|
||||
if actual_weight > max_block_weight {
|
||||
if actual_weight.any_gt(max_block_weight) {
|
||||
log::warn!(target: LOG_TARGET, "Post weight limiting weight is still too large.");
|
||||
}
|
||||
|
||||
@@ -820,7 +820,7 @@ fn random_sel<X, F: Fn(&X) -> Weight>(
|
||||
// preferred indices originate from outside
|
||||
if let Some(item) = selectables.get(preferred_idx) {
|
||||
let updated = weight_acc.saturating_add(weight_fn(item));
|
||||
if updated > weight_limit {
|
||||
if updated.any_gt(weight_limit) {
|
||||
continue
|
||||
}
|
||||
weight_acc = updated;
|
||||
@@ -833,7 +833,7 @@ fn random_sel<X, F: Fn(&X) -> Weight>(
|
||||
let item = &selectables[idx];
|
||||
let updated = weight_acc.saturating_add(weight_fn(item));
|
||||
|
||||
if updated > weight_limit {
|
||||
if updated.any_gt(weight_limit) {
|
||||
continue
|
||||
}
|
||||
weight_acc = updated;
|
||||
@@ -877,7 +877,7 @@ fn apply_weight_limit<T: Config + inclusion::Config>(
|
||||
let total = total_bitfields_weight.saturating_add(total_candidates_weight);
|
||||
|
||||
// candidates + bitfields fit into the block
|
||||
if max_consumable_weight >= total {
|
||||
if max_consumable_weight.all_gte(total) {
|
||||
return total
|
||||
}
|
||||
|
||||
@@ -1243,7 +1243,7 @@ fn limit_and_sanitize_disputes<
|
||||
// The total weight if all disputes would be included
|
||||
let disputes_weight = multi_dispute_statement_sets_weight::<T, _, _>(&disputes);
|
||||
|
||||
if disputes_weight > max_consumable_weight {
|
||||
if disputes_weight.any_gt(max_consumable_weight) {
|
||||
let mut checked_acc = Vec::<CheckedDisputeStatementSet>::with_capacity(disputes.len());
|
||||
|
||||
// Since the disputes array is sorted, we may use binary search to find the beginning of
|
||||
@@ -1274,7 +1274,7 @@ fn limit_and_sanitize_disputes<
|
||||
dss.statements.len() as u32,
|
||||
);
|
||||
let updated = weight_acc.saturating_add(dispute_weight);
|
||||
if max_consumable_weight >= updated {
|
||||
if max_consumable_weight.all_gte(updated) {
|
||||
// only apply the weight if the validity check passes
|
||||
if let Some(checked) = dispute_statement_set_valid(dss.clone()) {
|
||||
checked_acc.push(checked);
|
||||
|
||||
@@ -607,11 +607,9 @@ mod enter {
|
||||
let limit_inherent_data =
|
||||
Pallet::<Test>::create_inherent_inner(&inherent_data.clone()).unwrap();
|
||||
assert_ne!(limit_inherent_data, expected_para_inherent_data);
|
||||
assert!(
|
||||
inherent_data_weight(&limit_inherent_data) <=
|
||||
inherent_data_weight(&expected_para_inherent_data)
|
||||
);
|
||||
assert!(inherent_data_weight(&limit_inherent_data) <= max_block_weight());
|
||||
assert!(inherent_data_weight(&limit_inherent_data)
|
||||
.all_lte(inherent_data_weight(&expected_para_inherent_data)));
|
||||
assert!(inherent_data_weight(&limit_inherent_data).all_lte(max_block_weight()));
|
||||
|
||||
// Three disputes is over weight (see previous test), so we expect to only see 2 disputes
|
||||
assert_eq!(limit_inherent_data.disputes.len(), 2);
|
||||
@@ -760,7 +758,7 @@ mod enter {
|
||||
});
|
||||
|
||||
let expected_para_inherent_data = scenario.data.clone();
|
||||
assert!(max_block_weight() < inherent_data_weight(&expected_para_inherent_data));
|
||||
assert!(max_block_weight().any_lt(inherent_data_weight(&expected_para_inherent_data)));
|
||||
|
||||
// Check the para inherent data is as expected:
|
||||
// * 1 bitfield per validator (5 validators per core, 2 backed candidates, 3 disputes => 5*5 = 25)
|
||||
@@ -779,7 +777,7 @@ mod enter {
|
||||
// Expect that inherent data is filtered to include only 1 backed candidate and 2 disputes
|
||||
assert!(limit_inherent_data != expected_para_inherent_data);
|
||||
assert!(
|
||||
max_block_weight() >= inherent_data_weight(&limit_inherent_data),
|
||||
max_block_weight().all_gte(inherent_data_weight(&limit_inherent_data)),
|
||||
"Post limiting exceeded block weight: max={} vs. inherent={}",
|
||||
max_block_weight(),
|
||||
inherent_data_weight(&limit_inherent_data)
|
||||
|
||||
@@ -512,7 +512,7 @@ impl<T: Config> Pallet<T> {
|
||||
let mut queue_cache = QueueCache::new();
|
||||
|
||||
while let Some(dispatchee) = cursor.peek() {
|
||||
if weight_used >= config.ump_service_total_weight {
|
||||
if weight_used.any_gte(config.ump_service_total_weight) {
|
||||
// Then check whether we've reached or overshoot the
|
||||
// preferred weight for the dispatching stage.
|
||||
//
|
||||
@@ -537,7 +537,7 @@ impl<T: Config> Pallet<T> {
|
||||
let _ = queue_cache.consume_front::<T>(dispatchee);
|
||||
},
|
||||
Err((id, required)) => {
|
||||
if required > config.ump_max_individual_weight {
|
||||
if required.any_gt(config.ump_max_individual_weight) {
|
||||
// overweight - add to overweight queue and continue with message
|
||||
// execution consuming the message.
|
||||
let upward_message = queue_cache.consume_front::<T>(dispatchee).expect(
|
||||
|
||||
Reference in New Issue
Block a user