pub struct TransactionReceipt {
pub block_ref: BlockInfo,
pub tx_ref: TransactionRef,
/* private fields */
}
Expand description
Detailed information about where a transaction was found on chain.
Fields§
§block_ref: BlockInfo
§tx_ref: TransactionRef
Implementations§
Source§impl TransactionReceipt
impl TransactionReceipt
Sourcepub fn new(client: Client, block: BlockInfo, tx: TransactionRef) -> Self
pub fn new(client: Client, block: BlockInfo, tx: TransactionRef) -> Self
Wraps the provided block and transaction references without performing network IO.
Sourcepub async fn block_state(&self) -> Result<BlockState, Error>
pub async fn block_state(&self) -> Result<BlockState, Error>
Returns the current lifecycle state of the containing block.
§Returns
Ok(BlockState)
on success.Err(Error)
if the RPC request fails or the node cannot provide the block state.
Sourcepub async fn tx<T: HasHeader + Decode>(
&self,
) -> Result<BlockTransaction<T>, Error>
pub async fn tx<T: HasHeader + Decode>( &self, ) -> Result<BlockTransaction<T>, Error>
Fetches and decodes the transaction at the recorded index within the block.
§Returns
Ok(BlockTransaction<T>)
when the transaction exists and can be decoded asT
.Err(Error)
if the transaction is missing, cannot be decoded, or any RPC call fails.
Sourcepub async fn ext<T: HasHeader + Decode>(
&self,
) -> Result<BlockExtrinsic<T>, Error>
pub async fn ext<T: HasHeader + Decode>( &self, ) -> Result<BlockExtrinsic<T>, Error>
Fetches and decodes the extrinsic at the recorded index within the block.
§Returns
Ok(BlockExtrinsic<T>)
when the extrinsic exists and decodes asT
.Err(Error)
when the extrinsic is missing, cannot be decoded asT
, or RPC access fails.
Sourcepub async fn call<T: HasHeader + Decode>(&self) -> Result<T, Error>
pub async fn call<T: HasHeader + Decode>(&self) -> Result<T, Error>
Fetches just the call payload for the extrinsic at the recorded index.
§Returns
Ok(T)
when the extrinsic exists and its call decodes asT
.Err(Error)
otherwise (missing extrinsic, decode failure, or RPC error).
Sourcepub async fn raw_ext(
&self,
encode_as: EncodeSelector,
) -> Result<BlockRawExtrinsic, Error>
pub async fn raw_ext( &self, encode_as: EncodeSelector, ) -> Result<BlockRawExtrinsic, Error>
Returns the raw extrinsic bytes or a different encoding if requested.
§Returns
Ok(BlockRawExtrinsic)
with the requested encoding.Err(Error)
when the extrinsic cannot be found or an RPC failure occurs.
Sourcepub async fn events(&self) -> Result<ExtrinsicEvents, Error>
pub async fn events(&self) -> Result<ExtrinsicEvents, Error>
Fetches the events emitted as part of the transaction execution.
§Returns
Ok(ExtrinsicEvents)
when the extrinsic exists and events are available.Err(Error)
when the events cannot be located or fetched.
Sourcepub async fn from_range(
client: Client,
tx_hash: impl Into<HashString>,
block_start: u32,
block_end: u32,
use_best_block: bool,
) -> Result<Option<TransactionReceipt>, Error>
pub async fn from_range( client: Client, tx_hash: impl Into<HashString>, block_start: u32, block_end: u32, use_best_block: bool, ) -> Result<Option<TransactionReceipt>, Error>
Iterates block-by-block from block_start
through block_end
(inclusive) looking for an
extrinsic whose hash matches tx_hash
.
Returns Ok(Some(TransactionReceipt))
as soon as a match is found, Ok(None)
when the
entire range has been exhausted without a match, and bubbles up any RPC or subscription
errors encountered along the way.
Fails fast with a validation error when block_start > block_end
. When use_best_block
is true
, the search follows the node’s best chain; otherwise it restricts the iteration to
finalized blocks only.
Trait Implementations§
Source§impl Clone for TransactionReceipt
impl Clone for TransactionReceipt
Source§fn clone(&self) -> TransactionReceipt
fn clone(&self) -> TransactionReceipt
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for TransactionReceipt
impl !RefUnwindSafe for TransactionReceipt
impl Send for TransactionReceipt
impl Sync for TransactionReceipt
impl Unpin for TransactionReceipt
impl !UnwindSafe for TransactionReceipt
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.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
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.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
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.