mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 11:41:02 +00:00
7beeba5fb8
* OpenGov for Polkadot * Integrate OpenGov into XCM * Formatting * Missing files * Remove Gov1 from Kusama * Fixes * Update runtime/polkadot/src/governance/origins.rs Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com> * Revert scheduler origin changes * Fixes * Docs * Remove todo * Docs * Move Fellowship to Collectives (#6718) * FellowshipAdmin origin over xcm * accept Fellows origin from Collectives * remove Fellowship * remove unreachable arm * define benchmarks * correct comment for DOLLARS constant * Add OpenGov Calls to Proxy Definitions (#6729) * add opengov calls to proxy definitions * fix build * Update runtime/polkadot/src/governance/mod.rs Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update runtime/polkadot/src/governance/tracks.rs Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update runtime/polkadot/src/lib.rs Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update runtime/polkadot/src/governance/origins.rs Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update runtime/polkadot/src/governance/mod.rs Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update old.rs * Update old.rs * weights with new api * XCM tweaks for OpenGov (#6855) * pass xcm origin, allow unpaid form Collectives and Fellows, whitelist call * unpaid execution only for Fellows * Apply suggestions from code review Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * rename const namespace to system_parachains * remove prod_or_fast --------- Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * remove unused import --------- Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com> Co-authored-by: parity-processbot <> Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com> Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
101 lines
3.4 KiB
Rust
101 lines
3.4 KiB
Rust
// Copyright 2023 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 <http://www.gnu.org/licenses/>.
|
|
|
|
//! New governance configurations for the Polkadot runtime.
|
|
|
|
use super::*;
|
|
use crate::xcm_config::CollectivesLocation;
|
|
use frame_support::{parameter_types, traits::EitherOf};
|
|
use frame_system::EnsureRootWithSuccess;
|
|
use pallet_xcm::{EnsureXcm, IsVoiceOfBody};
|
|
use xcm::latest::BodyId;
|
|
|
|
// Old governance configurations.
|
|
pub mod old;
|
|
|
|
mod origins;
|
|
pub use origins::{
|
|
pallet_custom_origins, AuctionAdmin, FellowshipAdmin, GeneralAdmin, LeaseAdmin,
|
|
ReferendumCanceller, ReferendumKiller, Spender, StakingAdmin, Treasurer, WhitelistedCaller,
|
|
};
|
|
mod tracks;
|
|
pub use tracks::TracksInfo;
|
|
|
|
parameter_types! {
|
|
pub const VoteLockingPeriod: BlockNumber = 7 * DAYS;
|
|
}
|
|
|
|
impl pallet_conviction_voting::Config for Runtime {
|
|
type WeightInfo = weights::pallet_conviction_voting::WeightInfo<Self>;
|
|
type RuntimeEvent = RuntimeEvent;
|
|
type Currency = Balances;
|
|
type VoteLockingPeriod = VoteLockingPeriod;
|
|
type MaxVotes = ConstU32<512>;
|
|
type MaxTurnout =
|
|
frame_support::traits::tokens::currency::ActiveIssuanceOf<Balances, Self::AccountId>;
|
|
type Polls = Referenda;
|
|
}
|
|
|
|
parameter_types! {
|
|
pub const AlarmInterval: BlockNumber = 1;
|
|
pub const SubmissionDeposit: Balance = 1 * DOLLARS;
|
|
pub const UndecidingTimeout: BlockNumber = 14 * DAYS;
|
|
}
|
|
|
|
parameter_types! {
|
|
pub const MaxBalance: Balance = Balance::max_value();
|
|
}
|
|
pub type TreasurySpender = EitherOf<EnsureRootWithSuccess<AccountId, MaxBalance>, Spender>;
|
|
|
|
impl origins::pallet_custom_origins::Config for Runtime {}
|
|
|
|
parameter_types! {
|
|
// Fellows pluralistic body.
|
|
pub const FellowsBodyId: BodyId = BodyId::Technical;
|
|
}
|
|
|
|
impl pallet_whitelist::Config for Runtime {
|
|
type WeightInfo = weights::pallet_whitelist::WeightInfo<Self>;
|
|
type RuntimeCall = RuntimeCall;
|
|
type RuntimeEvent = RuntimeEvent;
|
|
type WhitelistOrigin = EitherOfDiverse<
|
|
EnsureRoot<Self::AccountId>,
|
|
EnsureXcm<IsVoiceOfBody<CollectivesLocation, FellowsBodyId>>,
|
|
>;
|
|
type DispatchWhitelistedOrigin = EitherOf<EnsureRoot<Self::AccountId>, WhitelistedCaller>;
|
|
type Preimages = Preimage;
|
|
}
|
|
|
|
impl pallet_referenda::Config for Runtime {
|
|
type WeightInfo = weights::pallet_referenda::WeightInfo<Self>;
|
|
type RuntimeCall = RuntimeCall;
|
|
type RuntimeEvent = RuntimeEvent;
|
|
type Scheduler = Scheduler;
|
|
type Currency = Balances;
|
|
type SubmitOrigin = frame_system::EnsureSigned<AccountId>;
|
|
type CancelOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumCanceller>;
|
|
type KillOrigin = EitherOf<EnsureRoot<AccountId>, ReferendumKiller>;
|
|
type Slash = Treasury;
|
|
type Votes = pallet_conviction_voting::VotesOf<Runtime>;
|
|
type Tally = pallet_conviction_voting::TallyOf<Runtime>;
|
|
type SubmissionDeposit = SubmissionDeposit;
|
|
type MaxQueued = ConstU32<100>;
|
|
type UndecidingTimeout = UndecidingTimeout;
|
|
type AlarmInterval = AlarmInterval;
|
|
type Tracks = TracksInfo;
|
|
type Preimages = Preimage;
|
|
}
|