pub struct EnhancedInstructionLog {
pub index: usize,
pub program_id: Pubkey,
pub program_name: String,
pub instruction_name: Option<String>,
pub accounts: Vec<AccountMeta>,
pub data: Vec<u8>,
pub decoded_instruction: Option<DecodedInstruction>,
pub inner_instructions: Vec<EnhancedInstructionLog>,
pub compute_consumed: Option<u64>,
pub success: bool,
pub depth: usize,
}Expand description
Enhanced instruction log with hierarchy and parsing
Fields§
§index: usize§program_id: Pubkey§program_name: String§instruction_name: Option<String>§accounts: Vec<AccountMeta>§data: Vec<u8>§decoded_instruction: Option<DecodedInstruction>Decoded instruction from custom decoder (if available)
inner_instructions: Vec<EnhancedInstructionLog>§compute_consumed: Option<u64>§success: bool§depth: usizeImplementations§
Source§impl EnhancedInstructionLog
impl EnhancedInstructionLog
Sourcepub fn new(index: usize, program_id: Pubkey, program_name: String) -> Self
pub fn new(index: usize, program_id: Pubkey, program_name: String) -> Self
Create a new instruction log
Sourcepub fn decode(&mut self, config: &EnhancedLoggingConfig)
pub fn decode(&mut self, config: &EnhancedLoggingConfig)
Decode this instruction using the provided config’s decoder registry
Sourcepub fn find_parent_for_instruction(
instructions: &mut [EnhancedInstructionLog],
target_depth: usize,
) -> Option<&mut EnhancedInstructionLog>
pub fn find_parent_for_instruction( instructions: &mut [EnhancedInstructionLog], target_depth: usize, ) -> Option<&mut EnhancedInstructionLog>
Find parent instruction at target depth for nesting
Trait Implementations§
Source§impl Clone for EnhancedInstructionLog
impl Clone for EnhancedInstructionLog
Source§fn clone(&self) -> EnhancedInstructionLog
fn clone(&self) -> EnhancedInstructionLog
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 EnhancedInstructionLog
impl RefUnwindSafe for EnhancedInstructionLog
impl Send for EnhancedInstructionLog
impl Sync for EnhancedInstructionLog
impl Unpin for EnhancedInstructionLog
impl UnwindSafe for EnhancedInstructionLog
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