Skip to content

Commit 9836a43

Browse files
committed
fmt and rename legacy metadata macro
1 parent 4733a55 commit 9836a43

File tree

4 files changed

+203
-141
lines changed

4 files changed

+203
-141
lines changed

metadata/src/from/legacy/mod.rs

Lines changed: 54 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ mod portable_registry_builder;
33
use crate::Metadata;
44
use crate::utils::ordered_map::OrderedMap;
55
use crate::utils::variant_index::VariantIndex;
6-
use portable_registry_builder::PortableRegistryBuilder;
76
use alloc::borrow::ToOwned;
8-
use alloc::vec::Vec;
9-
use alloc::string::ToString;
10-
use alloc::format;
117
use alloc::collections::BTreeMap;
12-
use scale_info_legacy::type_registry::RuntimeApiName;
13-
use frame_metadata::v15;
14-
use scale_info_legacy::TypeRegistrySet;
15-
use frame_decode::storage::StorageTypeInfo;
8+
use alloc::format;
9+
use alloc::string::ToString;
10+
use alloc::vec::Vec;
11+
use frame_decode::constants::ConstantTypeInfo;
1612
use frame_decode::extrinsics::ExtrinsicTypeInfo;
1713
use frame_decode::runtime_apis::RuntimeApiTypeInfo;
18-
use frame_decode::constants::ConstantTypeInfo;
14+
use frame_decode::storage::StorageTypeInfo;
15+
use frame_metadata::v15;
16+
use portable_registry_builder::PortableRegistryBuilder;
17+
use scale_info_legacy::TypeRegistrySet;
18+
use scale_info_legacy::type_registry::RuntimeApiName;
1919

20-
macro_rules! from_vx_to_vx {
20+
macro_rules! from_historic {
2121
($vis:vis fn $fn_name:ident($metadata:path $(, builtin_index: $builtin_index:ident)? )) => {
2222
$vis fn $fn_name(metadata: &$metadata, mut types: TypeRegistrySet<'_>) -> Result<Metadata, Error> {
2323
// Extend the types with important information from the metadata:
@@ -81,21 +81,21 @@ macro_rules! from_vx_to_vx {
8181
.storage_info(&pallet_name, &entry_name)
8282
.map_err(|e| Error::StorageInfoError(e.into_owned()))?;
8383
let entry_name = entry_name.into_owned();
84-
84+
8585
let info = info.map_ids(|old_id| {
8686
portable_registry_builder.add_type(old_id)
8787
}).map_err(|e| {
8888
let ctx = format!("adding type used in storage entry {pallet_name}.{entry_name}");
8989
Error::add_type(ctx, e)
9090
})?;
91-
91+
9292
let entry = crate::StorageEntryMetadata {
9393
name: entry_name.clone(),
9494
info: info.into_owned(),
9595
// We don't expose docs via our storage info yet.
9696
docs: Vec::new(),
9797
};
98-
98+
9999
Ok((entry_name, entry))
100100
}).collect::<Result<OrderedMap<_, _>, _>>()?;
101101

@@ -298,12 +298,12 @@ macro_rules! from_vx_to_vx {
298298
}}
299299
}
300300

301-
from_vx_to_vx!(pub fn from_v13(frame_metadata::v13::RuntimeMetadataV13, builtin_index: yes));
302-
from_vx_to_vx!(pub fn from_v12(frame_metadata::v12::RuntimeMetadataV12, builtin_index: yes));
303-
from_vx_to_vx!(pub fn from_v11(frame_metadata::v11::RuntimeMetadataV11));
304-
from_vx_to_vx!(pub fn from_v10(frame_metadata::v10::RuntimeMetadataV10));
305-
from_vx_to_vx!(pub fn from_v9(frame_metadata::v9::RuntimeMetadataV9));
306-
from_vx_to_vx!(pub fn from_v8(frame_metadata::v8::RuntimeMetadataV8));
301+
from_historic!(pub fn from_v13(frame_metadata::v13::RuntimeMetadataV13, builtin_index: yes));
302+
from_historic!(pub fn from_v12(frame_metadata::v12::RuntimeMetadataV12, builtin_index: yes));
303+
from_historic!(pub fn from_v11(frame_metadata::v11::RuntimeMetadataV11));
304+
from_historic!(pub fn from_v10(frame_metadata::v10::RuntimeMetadataV10));
305+
from_historic!(pub fn from_v9(frame_metadata::v9::RuntimeMetadataV9));
306+
from_historic!(pub fn from_v8(frame_metadata::v8::RuntimeMetadataV8));
307307

308308
fn as_decoded<A, B>(item: &frame_metadata::decode_different::DecodeDifferent<A, B>) -> &B {
309309
match item {
@@ -316,8 +316,8 @@ fn as_decoded<A, B>(item: &frame_metadata::decode_different::DecodeDifferent<A,
316316

317317
// Obtain Runtime API information from some type registry.
318318
pub fn type_registry_to_runtime_apis(
319-
types: &TypeRegistrySet<'_>,
320-
portable_registry_builder: &mut PortableRegistryBuilder
319+
types: &TypeRegistrySet<'_>,
320+
portable_registry_builder: &mut PortableRegistryBuilder,
321321
) -> Result<OrderedMap<String, crate::RuntimeApiMetadataInner>, Error> {
322322
let mut apis = OrderedMap::new();
323323
let mut trait_name = "";
@@ -327,34 +327,38 @@ pub fn type_registry_to_runtime_apis(
327327
match api {
328328
RuntimeApiName::Trait(name) => {
329329
if !trait_methods.is_empty() {
330-
apis.push_insert(trait_name.into(), crate::RuntimeApiMetadataInner {
331-
name: trait_name.into(),
332-
methods: trait_methods,
333-
docs: Vec::new()
334-
});
330+
apis.push_insert(
331+
trait_name.into(),
332+
crate::RuntimeApiMetadataInner {
333+
name: trait_name.into(),
334+
methods: trait_methods,
335+
docs: Vec::new(),
336+
},
337+
);
335338
}
336339
trait_methods = OrderedMap::new();
337340
trait_name = name;
338-
},
341+
}
339342
RuntimeApiName::Method(name) => {
340343
let info = types
341344
.runtime_api_info(trait_name, name)
342345
.map_err(|e| Error::RuntimeApiInfoError(e.into_owned()))?;
343346

344347
let info = info.map_ids(|id| {
345-
portable_registry_builder
346-
.add_type(id)
347-
.map_err(|e| {
348-
let c = format!("converting type for runtime API {trait_name}.{name}");
349-
Error::add_type(c, e)
350-
})
348+
portable_registry_builder.add_type(id).map_err(|e| {
349+
let c = format!("converting type for runtime API {trait_name}.{name}");
350+
Error::add_type(c, e)
351+
})
351352
})?;
352353

353-
trait_methods.push_insert(name.to_owned(), crate::RuntimeApiMethodMetadataInner {
354-
name: name.into(),
355-
info,
356-
docs: Vec::new(),
357-
});
354+
trait_methods.push_insert(
355+
name.to_owned(),
356+
crate::RuntimeApiMethodMetadataInner {
357+
name: name.into(),
358+
info,
359+
docs: Vec::new(),
360+
},
361+
);
358362
}
359363
}
360364
}
@@ -370,15 +374,17 @@ pub enum Error {
370374
#[error("Cannot add type ({context}): {error}")]
371375
AddTypeError {
372376
context: String,
373-
error: portable_registry_builder::PortableRegistryAddTypeError
377+
error: portable_registry_builder::PortableRegistryAddTypeError,
374378
},
375379
#[error("Cannot enhance the types with information from metadata: {0}")]
376380
CannotEnhanceTypesFromMetadata(scale_info_legacy::lookup_name::ParseError),
377381
#[error("Cannot find 'hardcoded::ExtrinsicAddress' type in legacy types")]
378382
CannotFindAddressType,
379383
#[error("Cannot find 'hardcoded::ExtrinsicSignature' type in legacy types")]
380384
CannotFindSignatureType,
381-
#[error("Cannot find 'builtin::Call' type in legacy types (this should have been automatically added)")]
385+
#[error(
386+
"Cannot find 'builtin::Call' type in legacy types (this should have been automatically added)"
387+
)]
382388
CannotFindCallType,
383389
#[error("Cannot obtain the storage information we need to convert storage entries")]
384390
StorageInfoError(frame_decode::storage::StorageInfoError<'static>),
@@ -392,7 +398,13 @@ pub enum Error {
392398

393399
impl Error {
394400
/// A shorthand for the [`Error::AddTypeError`] variant.
395-
fn add_type(context: impl Into<String>, error: impl Into<portable_registry_builder::PortableRegistryAddTypeError>) -> Self {
396-
Error::AddTypeError { context: context.into(), error: error.into() }
401+
fn add_type(
402+
context: impl Into<String>,
403+
error: impl Into<portable_registry_builder::PortableRegistryAddTypeError>,
404+
) -> Self {
405+
Error::AddTypeError {
406+
context: context.into(),
407+
error: error.into(),
408+
}
397409
}
398410
}

0 commit comments

Comments
 (0)