mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-06-14 04:01:01 +00:00
Pallet grouping macros (#300)
* init using relative paths for now * not working * cannot define same types with alias names in 2 places relalias todo * node compiles using impl oz system to abstract over frame system * clean * timestamp * parachain info * preimage and scheduler * proxy and balances * utility and parachain system * use construct openzeppelin runtime * generic runtime apis * pause construct runtime until other macros validated by cross template usage * hold runtime construction until inner macros validated * evm template impl openzeppelin system * revert back to generic construct runtime minimal wrapper for now * use the trivial versions for the construct runtime and impl runtime api macros for now * fix system grouping macro name * consensus wrapper in generic template * include ExistentialDeposit as explicit system parameter and add asset grouping for generic * wip governance * wip governnace for generic * rm placeholders for runtime api and construct runtime until implemented * fix evm template after latest changes to system grouping * whitelist * custom origins and referenda to finish governance grouping in generic template * init xcm grouping for generic template queue pallets first * more xcm * replace direct paths with git url and branch for the macro dep * update cargo locks and template fuzzer paths used for constants * use consensus macro for evm template * fix path in generic templates constant tests * fix more test imports for the generic template * fix template fuzzer build for generic template * evm template governance and clean generic governance config as well * impl xcm for evm template compiles w unused imports * clean evm template commented out code and init assets impl for evm template * progress on using impl assets for evm template * error persists despite moving from impls into scope of macro expansion * fix imports to fix errors for assets impl for evm template * init evm works * generic runtime compiles with most recent changeset * update to latest macro changes * move asset manager config into macro expansion as much as possible * fix and clean * update package name use git url and rename marker struct to OpenZeppelinRuntime * compiles * batch merge comment suggestions * expose ProxyType and move defn from macro expansion to types file for each runtime * generic single file config and minimal type aliases * single file evm config need to clean imports and minimize type aliasing next * clean evm template * evm compilation post macro updates * clean evm runtimes * clean generic * toml sort * fix * fmt fixes, supported the last changes --------- Co-authored-by: Nikita Khateev <nikita.khateev@openzeppelin.com>
This commit is contained in:
@@ -2,80 +2,10 @@
|
||||
|
||||
pub mod origins;
|
||||
pub use origins::{Spender, WhitelistedCaller};
|
||||
mod tracks;
|
||||
|
||||
use frame_support::{
|
||||
parameter_types,
|
||||
traits::{ConstU32, EitherOf},
|
||||
};
|
||||
use frame_system::{EnsureRoot, EnsureRootWithSuccess, EnsureSigned};
|
||||
pub mod tracks;
|
||||
|
||||
use crate::{
|
||||
constants::{
|
||||
currency::{CENTS, GRAND},
|
||||
DAYS,
|
||||
},
|
||||
types::{AccountId, Balance, BlockNumber},
|
||||
weights, Balances, Preimage, Referenda, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin,
|
||||
Scheduler, Treasury,
|
||||
constants::currency::{CENTS, GRAND},
|
||||
types::{Balance, BlockNumber},
|
||||
RuntimeOrigin,
|
||||
};
|
||||
|
||||
parameter_types! {
|
||||
pub const VoteLockingPeriod: BlockNumber = 7 * DAYS;
|
||||
}
|
||||
|
||||
impl pallet_conviction_voting::Config for Runtime {
|
||||
type Currency = Balances;
|
||||
type MaxTurnout =
|
||||
frame_support::traits::tokens::currency::ActiveIssuanceOf<Balances, Self::AccountId>;
|
||||
type MaxVotes = ConstU32<512>;
|
||||
type Polls = Referenda;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type VoteLockingPeriod = VoteLockingPeriod;
|
||||
/// Rerun benchmarks if you are making changes to runtime configuration.
|
||||
type WeightInfo = weights::pallet_conviction_voting::WeightInfo<Runtime>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
pub const MaxBalance: Balance = Balance::MAX;
|
||||
}
|
||||
pub type TreasurySpender = EitherOf<EnsureRootWithSuccess<AccountId, MaxBalance>, Spender>;
|
||||
|
||||
impl origins::pallet_custom_origins::Config for Runtime {}
|
||||
|
||||
impl pallet_whitelist::Config for Runtime {
|
||||
type DispatchWhitelistedOrigin = EitherOf<EnsureRoot<Self::AccountId>, WhitelistedCaller>;
|
||||
type Preimages = Preimage;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
/// Rerun benchmarks if you are making changes to runtime configuration.
|
||||
type WeightInfo = weights::pallet_whitelist::WeightInfo<Runtime>;
|
||||
type WhitelistOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
pub const AlarmInterval: BlockNumber = 1;
|
||||
pub const SubmissionDeposit: Balance = 3 * CENTS;
|
||||
pub const UndecidingTimeout: BlockNumber = 14 * DAYS;
|
||||
}
|
||||
|
||||
impl pallet_referenda::Config for Runtime {
|
||||
type AlarmInterval = AlarmInterval;
|
||||
type CancelOrigin = EnsureRoot<AccountId>;
|
||||
type Currency = Balances;
|
||||
type KillOrigin = EnsureRoot<AccountId>;
|
||||
type MaxQueued = ConstU32<20>;
|
||||
type Preimages = Preimage;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
type Scheduler = Scheduler;
|
||||
type Slash = Treasury;
|
||||
type SubmissionDeposit = SubmissionDeposit;
|
||||
type SubmitOrigin = EnsureSigned<AccountId>;
|
||||
type Tally = pallet_conviction_voting::TallyOf<Runtime>;
|
||||
type Tracks = tracks::TracksInfo;
|
||||
type UndecidingTimeout = UndecidingTimeout;
|
||||
type Votes = pallet_conviction_voting::VotesOf<Runtime>;
|
||||
/// Rerun benchmarks if you are making changes to runtime configuration.
|
||||
type WeightInfo = weights::pallet_referenda::WeightInfo<Runtime>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user