From 1db0b6d3e618b56b7864b29c33df10dd0c3654c3 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Mon, 28 Feb 2022 21:35:53 -0600 Subject: [PATCH] add disputes pallet to Polkadot (#4993) * add disputes pallet to Polkadot * fix & add bench * cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::disputes --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_disputes.rs Co-authored-by: Parity Bot --- polkadot/runtime/polkadot/src/lib.rs | 18 +++++-- polkadot/runtime/polkadot/src/weights/mod.rs | 1 + .../weights/runtime_parachains_disputes.rs | 51 +++++++++++++++++++ 3 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 polkadot/runtime/polkadot/src/weights/runtime_parachains_disputes.rs diff --git a/polkadot/runtime/polkadot/src/lib.rs b/polkadot/runtime/polkadot/src/lib.rs index a34ae0853b..3b21f85473 100644 --- a/polkadot/runtime/polkadot/src/lib.rs +++ b/polkadot/runtime/polkadot/src/lib.rs @@ -28,9 +28,9 @@ use runtime_common::{ }; use runtime_parachains::{ - configuration as parachains_configuration, dmp as parachains_dmp, hrmp as parachains_hrmp, - inclusion as parachains_inclusion, initializer as parachains_initializer, - origin as parachains_origin, paras as parachains_paras, + configuration as parachains_configuration, disputes as parachains_disputes, + dmp as parachains_dmp, hrmp as parachains_hrmp, inclusion as parachains_inclusion, + initializer as parachains_initializer, origin as parachains_origin, paras as parachains_paras, paras_inherent as parachains_paras_inherent, reward_points as parachains_reward_points, runtime_api_impl::v1 as parachains_runtime_api_impl, scheduler as parachains_scheduler, session_info as parachains_session_info, shared as parachains_shared, ump as parachains_ump, @@ -172,6 +172,7 @@ impl Contains for BaseFilter { Call::Paras(_) | Call::Initializer(_) | Call::ParaInherent(_) | + Call::ParasDisputes(_) | Call::Dmp(_) | Call::Ump(_) | Call::Hrmp(_) | @@ -1186,7 +1187,7 @@ impl parachains_session_info::Config for Runtime {} impl parachains_inclusion::Config for Runtime { type Event = Event; - type DisputesHandler = (); + type DisputesHandler = ParasDisputes; type RewardValidators = parachains_reward_points::RewardValidatorsWithEraPoints; } @@ -1234,6 +1235,13 @@ impl parachains_initializer::Config for Runtime { type WeightInfo = weights::runtime_parachains_initializer::WeightInfo; } +impl parachains_disputes::Config for Runtime { + type Event = Event; + type RewardValidators = (); + type PunishValidators = (); + type WeightInfo = weights::runtime_parachains_disputes::WeightInfo; +} + parameter_types! { // Mostly arbitrary deposit price, but should provide an adequate incentive not to spam reserve // `ParaId`s. @@ -1401,6 +1409,7 @@ construct_runtime! { Ump: parachains_ump::{Pallet, Call, Storage, Event} = 59, Hrmp: parachains_hrmp::{Pallet, Call, Storage, Event, Config} = 60, ParaSessionInfo: parachains_session_info::{Pallet, Storage} = 61, + ParasDisputes: parachains_disputes::{Pallet, Call, Storage, Event} = 62, // Parachain Onboarding Pallets. Start indices at 70 to leave room. Registrar: paras_registrar::{Pallet, Call, Storage, Event} = 70, @@ -1675,6 +1684,7 @@ mod benches { [runtime_common::slots, Slots] [runtime_common::paras_registrar, Registrar] [runtime_parachains::configuration, Configuration] + [runtime_parachains::disputes, ParasDisputes] [runtime_parachains::initializer, Initializer] [runtime_parachains::paras, Paras] [runtime_parachains::paras_inherent, ParaInherent] diff --git a/polkadot/runtime/polkadot/src/weights/mod.rs b/polkadot/runtime/polkadot/src/weights/mod.rs index a93100277a..df41a20fec 100644 --- a/polkadot/runtime/polkadot/src/weights/mod.rs +++ b/polkadot/runtime/polkadot/src/weights/mod.rs @@ -45,6 +45,7 @@ pub mod runtime_common_crowdloan; pub mod runtime_common_paras_registrar; pub mod runtime_common_slots; pub mod runtime_parachains_configuration; +pub mod runtime_parachains_disputes; pub mod runtime_parachains_hrmp; pub mod runtime_parachains_initializer; pub mod runtime_parachains_paras; diff --git a/polkadot/runtime/polkadot/src/weights/runtime_parachains_disputes.rs b/polkadot/runtime/polkadot/src/weights/runtime_parachains_disputes.rs new file mode 100644 index 0000000000..a544edd059 --- /dev/null +++ b/polkadot/runtime/polkadot/src/weights/runtime_parachains_disputes.rs @@ -0,0 +1,51 @@ +// Copyright 2017-2021 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . +//! Autogenerated weights for `runtime_parachains::disputes` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-02-25, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 1024 + +// Executed Command: +// target/production/polkadot +// benchmark +// --chain=polkadot-dev +// --steps=50 +// --repeat=20 +// --pallet=runtime_parachains::disputes +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --header=./file_header.txt +// --output=./runtime/polkadot/src/weights/runtime_parachains_disputes.rs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weight functions for `runtime_parachains::disputes`. +pub struct WeightInfo(PhantomData); +impl runtime_parachains::disputes::WeightInfo for WeightInfo { + // Storage: ParasDisputes Frozen (r:0 w:1) + fn force_unfreeze() -> Weight { + (824_000 as Weight) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } +}