sp-api: Put frame-metadata behind some feature (#14398)

* sp-api: Put `frame-metadata` behind some feature

Closes: https://github.com/paritytech/substrate/issues/14296

* ".git/.scripts/commands/fmt/fmt.sh"

* Review feedback

---------

Co-authored-by: command-bot <>
This commit is contained in:
Bastian Köcher
2023-07-03 11:54:28 +02:00
committed by GitHub
parent d124c90734
commit 698a6d1aa8
8 changed files with 26 additions and 9 deletions
@@ -20,7 +20,6 @@ use crate::{
API_VERSION_ATTRIBUTE, BLOCK_GENERIC_IDENT, CHANGED_IN_ATTRIBUTE, CORE_TRAIT_ATTRIBUTE,
RENAMED_ATTRIBUTE, SUPPORTED_ATTRIBUTE_NAMES,
},
runtime_metadata::generate_decl_runtime_metadata,
utils::{
extract_parameter_names_types_and_borrows, fold_fn_decl_for_client_side,
generate_crate_access, generate_runtime_mod_name_for_trait, parse_runtime_api_version,
@@ -188,13 +187,17 @@ fn generate_runtime_decls(decls: &[ItemTrait]) -> Result<TokenStream> {
let mut decl = decl.clone();
let decl_span = decl.span();
extend_generics_with_block(&mut decl.generics);
let metadata = generate_decl_runtime_metadata(&decl);
let mod_name = generate_runtime_mod_name_for_trait(&decl.ident);
let found_attributes = remove_supported_attributes(&mut decl.attrs);
let api_version =
get_api_version(&found_attributes).map(|v| generate_runtime_api_version(v as u32))?;
let id = generate_runtime_api_id(&decl.ident.to_string());
#[cfg(feature = "frame-metadata")]
let metadata = crate::runtime_metadata::generate_decl_runtime_metadata(&decl);
#[cfg(not(feature = "frame-metadata"))]
let metadata = quote!();
let trait_api_version = get_api_version(&found_attributes)?;
let mut methods_by_version: BTreeMap<u64, Vec<TraitItemFn>> = BTreeMap::new();