mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-30 07:17:56 +00:00
Allow pallet in construct_runtime to have fixed index (#6969)
* implement index for pallet + some tests * add test and doc * remove deprecated and document behavior * update internal doc * Apply suggestions from code review Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * address review * use index for all module, break construct_runtime * fix line length * implement migration helper funciton in scheduler * fix start at index 0 * Update frame/scheduler/src/lib.rs Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> * Update frame/support/procedural/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * bump frame-metadata crate * factorize * avoid some unwrap and remove nightly join * Update frame/support/src/event.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * fix test * add test and improve error message * factorize test * keep iterator, and use slice instead of vec * refactor to avoid to have expects * small refactor * Test something * Make sure we update the `Cargo.lock` * Apply suggestions from code review Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * return 2 error * Apply suggestions from code review Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> * Update frame/scheduler/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * fix typo * Revert "fix typo" This reverts commit f2de8f2db34e8ac72bc9c34437c60dca3fa4ac22. * Revert "Update frame/scheduler/src/lib.rs" This reverts commit 6feb4605c6f784b64591e229de7a6fec6dbffb4b. Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by: Bastian Köcher <git@kchr.de> Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
86594727d9
commit
98951b33a9
@@ -149,9 +149,11 @@ impl Parse for WhereDefinition {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ModuleDeclaration {
|
||||
pub name: Ident,
|
||||
/// Optional fixed index (e.g. `MyPallet ... = 3,`)
|
||||
pub index: Option<u8>,
|
||||
pub module: Ident,
|
||||
pub instance: Option<Ident>,
|
||||
pub module_parts: Vec<ModulePart>,
|
||||
@@ -175,32 +177,27 @@ impl Parse for ModuleDeclaration {
|
||||
let _: Token![::] = input.parse()?;
|
||||
let module_parts = parse_module_parts(input)?;
|
||||
|
||||
let index = if input.peek(Token![=]) {
|
||||
input.parse::<Token![=]>()?;
|
||||
let index = input.parse::<syn::LitInt>()?;
|
||||
let index = index.base10_parse::<u8>()?;
|
||||
Some(index)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let parsed = Self {
|
||||
name,
|
||||
module,
|
||||
instance,
|
||||
module_parts,
|
||||
index,
|
||||
};
|
||||
|
||||
Ok(parsed)
|
||||
}
|
||||
}
|
||||
|
||||
impl ModuleDeclaration {
|
||||
/// Get resolved module parts
|
||||
pub fn module_parts(&self) -> &[ModulePart] {
|
||||
&self.module_parts
|
||||
}
|
||||
|
||||
pub fn find_part(&self, name: &str) -> Option<&ModulePart> {
|
||||
self.module_parts.iter().find(|part| part.name() == name)
|
||||
}
|
||||
|
||||
pub fn exists_part(&self, name: &str) -> bool {
|
||||
self.find_part(name).is_some()
|
||||
}
|
||||
}
|
||||
|
||||
/// Parse [`ModulePart`]'s from a braces enclosed list that is split by commas, e.g.
|
||||
///
|
||||
/// `{ Call, Event }`
|
||||
|
||||
Reference in New Issue
Block a user