Struct subxt_metadata::Metadata

source ·
pub struct Metadata { /* private fields */ }
Expand description

Node metadata. This can be constructed by providing some compatible frame_metadata which is then decoded into this. We aim to preserve all of the existing information in the incoming metadata while optimizing the format a little for Subxt’s use cases.

Implementations§

source§

impl Metadata

source

pub fn types(&self) -> &PortableRegistry

Access the underlying type registry.

source

pub fn types_mut(&mut self) -> &mut PortableRegistry

Mutable access to the underlying type registry.

source

pub fn runtime_ty(&self) -> u32

The type ID of the Runtime type.

source

pub fn dispatch_error_ty(&self) -> Option<u32>

The type ID of the DispatchError type, if it exists.

source

pub fn extrinsic(&self) -> &ExtrinsicMetadata

Return details about the extrinsic format.

source

pub fn outer_enums(&self) -> OuterEnumsMetadata

Return details about the outer enums.

source

pub fn pallets(&self) -> impl ExactSizeIterator<Item = PalletMetadata<'_>>

An iterator over all of the available pallets.

source

pub fn pallet_by_index(&self, variant_index: u8) -> Option<PalletMetadata<'_>>

Access a pallet given its encoded variant index.

source

pub fn pallet_by_name(&self, pallet_name: &str) -> Option<PalletMetadata<'_>>

Access a pallet given its name.

source

pub fn runtime_api_traits( &self ) -> impl ExactSizeIterator<Item = RuntimeApiMetadata<'_>>

An iterator over all of the runtime APIs.

source

pub fn runtime_api_trait_by_name( &self, name: &str ) -> Option<RuntimeApiMetadata<'_>>

Access a runtime API trait given its name.

source

pub fn custom(&self) -> CustomMetadata<'_>

Returns custom user defined types

source

pub fn hasher(&self) -> MetadataHasher<'_>

Obtain a unique hash representing this metadata or specific parts of it.

source

pub fn retain<F, G>(&mut self, pallet_filter: F, api_filter: G)
where F: FnMut(&str) -> bool, G: FnMut(&str) -> bool,

Filter out any pallets that we don’t want to keep, retaining only those that we do.

source

pub fn type_hash(&self, id: u32) -> Option<[u8; 32]>

Get type hash for a type in the registry

Trait Implementations§

source§

impl Clone for Metadata

source§

fn clone(&self) -> Metadata

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Metadata

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for Metadata

source§

fn decode<I: Input>(input: &mut I) -> Result<Self, Error>

Attempt to deserialise the value from input.
source§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§

fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input,

Attempt to skip the encoded value from input. Read more
source§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Encode for Metadata

source§

fn encode_to<T: Output + ?Sized>(&self, dest: &mut T)

Convert self to a slice and append it to the destination.
source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
source§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl From<Metadata> for RuntimeMetadataPrefixed

source§

fn from(value: Metadata) -> Self

Converts to this type from the input type.
source§

impl From<Metadata> for RuntimeMetadataV14

source§

fn from(val: Metadata) -> Self

Converts to this type from the input type.
source§

impl From<Metadata> for RuntimeMetadataV15

source§

fn from(m: Metadata) -> Self

Converts to this type from the input type.
source§

impl TryFrom<RuntimeMetadataPrefixed> for Metadata

§

type Error = TryFromError

The type returned in the event of a conversion error.
source§

fn try_from(value: RuntimeMetadataPrefixed) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<RuntimeMetadataV14> for Metadata

§

type Error = TryFromError

The type returned in the event of a conversion error.
source§

fn try_from(value: RuntimeMetadataV14) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<RuntimeMetadataV15> for Metadata

§

type Error = TryFromError

The type returned in the event of a conversion error.
source§

fn try_from(m: RuntimeMetadataV15) -> Result<Self, TryFromError>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DecodeAll for T
where T: Decode,

source§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

impl<T> DecodeLimit for T
where T: Decode,

source§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> KeyedVec for T
where T: Codec,

source§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

Return an encoding of Self prepended by given slice.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S> Codec for S
where S: Decode + Encode,

source§

impl<T> EncodeLike<&&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&T> for T
where T: Encode,

source§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

source§

impl<T> EncodeLike<Arc<T>> for T
where T: Encode,

source§

impl<T> EncodeLike<Box<T>> for T
where T: Encode,

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for T
where T: ToOwned + Encode,

source§

impl<T> EncodeLike<Rc<T>> for T
where T: Encode,

source§

impl<T> JsonSchemaMaybe for T