pub struct InstructionMetadata {
pub transaction_metadata: Arc<TransactionMetadata>,
pub stack_height: u32,
pub index: u32,
pub absolute_path: Vec<u8>,
}
Expand description
Metadata associated with a specific instruction, including transaction-level details.
InstructionMetadata
is utilized within the pipeline to associate each
instruction with the broader context of its transaction, as well as its
position within the instruction stack.
§Fields
transaction_metadata
: Metadata providing details of the entire transaction.stack_height
: Represents the instruction’s depth within the stack, where 1 is the root level.index
: The index of the instruction in the transaction. The index is relative within stack height and is 1-based. Note that the inner instruction indexes are grouped into one vector, so different inner instructions that have different stack heights may have continuous indexes.
Fields§
§transaction_metadata: Arc<TransactionMetadata>
§stack_height: u32
§index: u32
§absolute_path: Vec<u8>
Trait Implementations§
Source§impl Clone for InstructionMetadata
impl Clone for InstructionMetadata
Source§fn clone(&self) -> InstructionMetadata
fn clone(&self) -> InstructionMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for InstructionMetadata
impl RefUnwindSafe for InstructionMetadata
impl Send for InstructionMetadata
impl Sync for InstructionMetadata
impl Unpin for InstructionMetadata
impl UnwindSafe for InstructionMetadata
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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 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>
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