diff --git a/bin/node/runtime/src/constants.rs b/bin/node/runtime/src/constants.rs index aa4dcd79be23d..f854b194e4e11 100644 --- a/bin/node/runtime/src/constants.rs +++ b/bin/node/runtime/src/constants.rs @@ -61,7 +61,7 @@ pub mod time { // 1 in 4 blocks (on average, not counting collisions) will be primary BABE blocks. pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); - pub const EPOCH_DURATION_IN_BLOCKS: BlockNumber = 4 * HOURS; + pub const EPOCH_DURATION_IN_BLOCKS: BlockNumber = 5 * MINUTES; pub const EPOCH_DURATION_IN_SLOTS: u64 = { const SLOT_FILL_RATE: f64 = MILLISECS_PER_BLOCK as f64 / SLOT_DURATION as f64; diff --git a/bin/node/runtime/src/lib.rs b/bin/node/runtime/src/lib.rs index 2fad3353723a1..dc7cba343a6d3 100644 --- a/bin/node/runtime/src/lib.rs +++ b/bin/node/runtime/src/lib.rs @@ -29,7 +29,7 @@ use frame_support::{ traits::{ ConstU128, ConstU16, ConstU32, Currency, EnsureOneOf, EqualPrivilegeOnly, Everything, Imbalance, InstanceFilter, KeyOwnerProofSystem, LockIdentifier, Nothing, OnUnbalanced, - U128CurrencyToVote, + U128CurrencyToVote, OnRuntimeUpgrade, }, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, @@ -677,12 +677,12 @@ impl pallet_bags_list::Config for Runtime { } parameter_types! { - pub const LaunchPeriod: BlockNumber = 1 * 24 * 60 * MINUTES; - pub const VotingPeriod: BlockNumber = 1 * 24 * 60 * MINUTES; - pub const FastTrackVotingPeriod: BlockNumber = 3 * 60 * MINUTES; - pub const MinimumDeposit: Balance = 5000 * DOLLARS; - pub const EnactmentPeriod: BlockNumber = 1 * 24 * 60 * MINUTES; - pub const CooloffPeriod: BlockNumber = 7 * 24 * 60 * MINUTES; + pub const LaunchPeriod: BlockNumber = 5 * MINUTES; + pub const VotingPeriod: BlockNumber = 5 * MINUTES; + pub const FastTrackVotingPeriod: BlockNumber = 5 * MINUTES; + pub const MinimumDeposit: Balance = 10 * DOLLARS; + pub const EnactmentPeriod: BlockNumber = 5 * MINUTES; + pub const CooloffPeriod: BlockNumber = 5 * MINUTES; pub const MaxProposals: u32 = 100; } @@ -738,7 +738,7 @@ impl pallet_democracy::Config for Runtime { } parameter_types! { - pub const CouncilMotionDuration: BlockNumber = 7 * DAYS; + pub const CouncilMotionDuration: BlockNumber = 5 * MINUTES; pub const CouncilMaxProposals: u32 = 100; pub const CouncilMaxMembers: u32 = 100; } @@ -760,7 +760,7 @@ parameter_types! { // 1 storage item created, key size is 32 bytes, value size is 16+16. pub const VotingBondBase: Balance = deposit(1, 64); pub const VotingBondFactor: Balance = 1 * DOLLARS; - pub const TermDuration: BlockNumber = 7 * DAYS; + pub const TermDuration: BlockNumber = 5 * MINUTES; pub const DesiredMembers: u32 = 13; pub const DesiredRunnersUp: u32 = 20; pub const ElectionsPhragmenPalletId: LockIdentifier = *b"phrelect"; @@ -790,7 +790,7 @@ impl pallet_elections_phragmen::Config for Runtime { } parameter_types! { - pub const TechnicalMotionDuration: BlockNumber = 5 * DAYS; + pub const TechnicalMotionDuration: BlockNumber = 5 * MINUTES; pub const TechnicalMaxProposals: u32 = 100; pub const TechnicalMaxMembers: u32 = 100; } @@ -827,14 +827,14 @@ impl pallet_membership::Config for Runtime { parameter_types! { pub const ProposalBond: Permill = Permill::from_percent(5); pub const ProposalBondMinimum: Balance = 100 * DOLLARS; - pub const SpendPeriod: BlockNumber = 1 * DAYS; + pub const SpendPeriod: BlockNumber = 5 * MINUTES; pub const Burn: Permill = Permill::from_percent(0); - pub const TipCountdown: BlockNumber = 1 * DAYS; + pub const TipCountdown: BlockNumber = 5 * MINUTES; pub const TipFindersFee: Percent = Percent::from_percent(20); pub const TipReportDepositBase: Balance = 1 * DOLLARS; pub const DataDepositPerByte: Balance = 1 * CENTS; pub const BountyDepositBase: Balance = 1 * DOLLARS; - pub const BountyDepositPayoutDelay: BlockNumber = 8 * DAYS; + pub const BountyDepositPayoutDelay: BlockNumber = 5 * MINUTES; pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); pub const BountyUpdatePeriod: BlockNumber = 90 * DAYS; pub const MaximumReasonLength: u32 = 16384; @@ -1105,10 +1105,10 @@ parameter_types! { pub const CandidateDeposit: Balance = 10 * DOLLARS; pub const WrongSideDeduction: Balance = 2 * DOLLARS; pub const MaxStrikes: u32 = 10; - pub const RotationPeriod: BlockNumber = 80 * HOURS; + pub const RotationPeriod: BlockNumber = 5 * MINUTES; pub const PeriodSpend: Balance = 500 * DOLLARS; pub const MaxLockDuration: BlockNumber = 36 * 30 * DAYS; - pub const ChallengePeriod: BlockNumber = 7 * DAYS; + pub const ChallengePeriod: BlockNumber = 15 * MINUTES; pub const MaxCandidateIntake: u32 = 10; pub const SocietyPalletId: PalletId = PalletId(*b"py/socie"); } @@ -1301,9 +1301,31 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, - pallet_bags_list::migrations::CheckCounterPrefix, + ( + pallet_bags_list::migrations::CheckCounterPrefix, + SchedulerMigrationV3, + ), >; +// Migration for scheduler pallet to move from a plain Call to a CallOrHash. +pub struct SchedulerMigrationV3; + +impl OnRuntimeUpgrade for SchedulerMigrationV3 { + fn on_runtime_upgrade() -> frame_support::weights::Weight { + Scheduler::migrate_v2_to_v3() + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result<(), &'static str> { + Scheduler::pre_migrate_to_v3() + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade() -> Result<(), &'static str> { + Scheduler::post_migrate_to_v3() + } +} + #[cfg(feature = "runtime-benchmarks")] #[macro_use] extern crate frame_benchmarking;