Add Runtime type to metadata

This commit is contained in:
Andrew Jones
2021-08-31 16:54:48 +01:00
parent 732682ed46
commit 717f6341c1
3 changed files with 14 additions and 2 deletions
+9 -1
View File
@@ -50,17 +50,25 @@ pub struct RuntimeMetadataV14 {
pub pallets: Vec<PalletMetadata<PortableForm>>,
/// Metadata of the extrinsic.
pub extrinsic: ExtrinsicMetadata<PortableForm>,
/// The type of the `Runtime`.
pub ty: <PortableForm as Form>::Type,
}
impl RuntimeMetadataV14 {
pub fn new(pallets: Vec<PalletMetadata>, extrinsic: ExtrinsicMetadata) -> Self {
pub fn new(
pallets: Vec<PalletMetadata>,
extrinsic: ExtrinsicMetadata,
runtime_type: MetaType,
) -> Self {
let mut registry = Registry::new();
let pallets = registry.map_into_portable(pallets);
let extrinsic = extrinsic.into_portable(&mut registry);
let ty = registry.register_type(&runtime_type);
Self {
types: registry.into(),
pallets,
extrinsic,
ty,
}
}
}