diff --git a/scale-decode/src/lib.rs b/scale-decode/src/lib.rs index cf0cca9..a9cb35e 100644 --- a/scale-decode/src/lib.rs +++ b/scale-decode/src/lib.rs @@ -144,6 +144,7 @@ pub use crate::error::Error; pub use visitor::Visitor; // Used in trait definitions. +use scale_info::form::PortableForm; pub use scale_info::PortableRegistry; /// This trait is implemented for any type `T` where `T` implements [`IntoVisitor`] and the errors returned @@ -217,6 +218,12 @@ impl<'a> Field<'a> { } } +impl<'a> From<&'a scale_info::Field> for Field<'a> { + fn from(value: &'a scale_info::Field) -> Self { + Field { name: value.name.as_deref(), id: value.ty.id } + } +} + /// An iterator over a set of fields. pub trait FieldIter<'a>: Iterator> {} impl<'a, T> FieldIter<'a> for T where T: Iterator> {}