Skip to main content

BlockEncodedExtrinsic

Struct BlockEncodedExtrinsic 

Source
pub struct BlockEncodedExtrinsic {
    pub signature: Option<ExtrinsicSignature>,
    pub call: Vec<u8>,
    pub metadata: BlockExtrinsicMetadata,
}
Expand description

Encoded extrinsic payload paired with signature and metadata helpers.

Fields§

§signature: Option<ExtrinsicSignature>

Optional signature associated with the extrinsic.

§call: Vec<u8>

Encoded runtime call payload.

§metadata: BlockExtrinsicMetadata

Metadata describing where the extrinsic was found.

Implementations§

Source§

impl BlockEncodedExtrinsic

Source

pub fn new( signature: Option<ExtrinsicSignature>, call: Vec<u8>, metadata: BlockExtrinsicMetadata, ) -> Self

Creates an encoded extrinsic wrapper.

§Arguments
  • signature - Optional signature shipped alongside the payload.
  • call - SCALE-encoded call bytes.
  • metadata - Metadata identifying where the extrinsic resides.
§Returns

Returns a wrapper that exposes convenience accessors.

Source

pub async fn events(&self, client: Client) -> Result<BlockEvents, Error>

Fetches events emitted by this extrinsic.

§Parameters
  • client: RPC client used to fetch event data.
§Returns
  • Ok(AllEvents): Wrapper containing events for this extrinsic.
  • Err(Error): Extrinsic emitted no events or the RPC request failed.
§Side Effects
  • Issues RPC requests for event data and may retry according to the client’s configuration.
Source

pub fn ext_index(&self) -> u32

Returns the index of this extrinsic inside the block.

§Returns
  • u32: Index of the extrinsic within the block.
Source

pub fn ext_hash(&self) -> H256

Returns the extrinsic hash.

§Returns
  • H256: Hash of the extrinsic.
Source

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

Returns the application id if the signer payload provided it.

§Returns
  • Some(u32): Application identifier from the signer payload.
  • None: Signer payload was absent.
Source

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

Returns the nonce if the signer payload provided it.

§Returns
  • Some(u32): Nonce from the signer payload.
  • None: Signer payload was absent.
Source

pub fn tip(&self) -> Option<u128>

Returns the tip if the extrinsic was signed.

§Returns
  • Some(u128): Tip reported by the signature.
  • None: Extrinsic was unsigned.
Source

pub fn ss58_address(&self) -> Option<String>

Returns the ss58 address if the signer payload provided it.

§Returns
  • Some(String): SS58 address supplied by the signer payload.
  • None: Signer payload was absent.
Source

pub fn as_extrinsic<T: HasHeader + Decode>( self, ) -> Result<BlockExtrinsic<T>, Error>

Converts the encoded extrinsic into a decoded extrinsic wrapper.

§Returns
  • Ok(Extrinsic<T>): Decoded extrinsic containing the call and metadata.
  • Err(String): Payload failed to decode as T.
Source

pub fn as_signed<T: HasHeader + Decode>( self, ) -> Result<BlockSignedExtrinsic<T>, Error>

Converts the encoded extrinsic into a signed variant when possible.

§Returns
  • Ok(SignedExtrinsic<T>): Signed extrinsic decoded from the encoded payload.
  • Err(String): The extrinsic was unsigned or failed to decode as T.
Source

pub fn is<T: HasHeader>(&self) -> bool

Checks whether the encoded extrinsic matches the header index for T.

§Returns
  • true: The extrinsic matches T::HEADER_INDEX.
  • false: The header indices differ.
Source

pub fn header(&self) -> (u8, u8)

Returns the pallet and variant identifiers stored in the metadata.

§Returns
  • (u8, u8): Tuple containing (pallet_id, variant_id).
Source

pub fn from_extrinsic_info( info: &ExtrinsicInfo, block_id: HashNumber, ) -> Result<Self, Error>

Constructs an encoded extrinsic wrapper from RPC metadata.

§Arguments
  • info - RPC response describing the extrinsic.
  • block_id - Block identifier in which the extrinsic resides.
§Returns

Returns the encoded extrinsic wrapper or an error if payload data was missing or invalid.

Trait Implementations§

Source§

impl Clone for BlockEncodedExtrinsic

Source§

fn clone(&self) -> BlockEncodedExtrinsic

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for BlockEncodedExtrinsic

Source§

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

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

impl<T: HasHeader + Decode> TryFrom<&BlockEncodedExtrinsic> for BlockExtrinsic<T>

Source§

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

Decodes a borrowed encoded extrinsic into an Extrinsic<T>.

§Parameters
  • value: Borrowed encoded extrinsic containing the SCALE payload.
§Returns
  • Ok(Self): Decoded extrinsic with optional signature and cloned metadata.
  • Err(String): Payload failed to decode as T.
Source§

type Error = String

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

impl<T: HasHeader + Decode> TryFrom<&BlockEncodedExtrinsic> for BlockSignedExtrinsic<T>

Source§

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

Decodes a borrowed encoded extrinsic into a signed extrinsic.

§Parameters
  • value: Borrowed encoded extrinsic expected to contain a signature.
§Returns
  • Ok(Self): Signed extrinsic decoded from the payload.
  • Err(String): Decoding failed or the extrinsic was unsigned.
Source§

type Error = String

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

impl<T: HasHeader + Decode> TryFrom<BlockEncodedExtrinsic> for BlockExtrinsic<T>

Source§

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

Decodes an encoded extrinsic into an Extrinsic<T>.

§Parameters
  • value: Encoded extrinsic containing the SCALE payload.
§Returns
  • Ok(Self): Decoded extrinsic with optional signature and metadata.
  • Err(String): Payload failed to decode as T.
Source§

type Error = String

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

impl<T: HasHeader + Decode> TryFrom<BlockEncodedExtrinsic> for BlockSignedExtrinsic<T>

Source§

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

Decodes an encoded extrinsic into a signed extrinsic.

§Parameters
  • value: Encoded extrinsic expected to contain a signature.
§Returns
  • Ok(Self): Signed extrinsic decoded from the payload.
  • Err(String): Decoding failed or the extrinsic was unsigned.
Source§

type Error = String

The type returned in the event of a conversion error.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> JsonSchemaMaybe for T

Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

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

Source§

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> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

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

Source§

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>,

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more