pub struct InstrContext {
pub program_id: Vec<u8>,
pub accounts: Vec<AcctState>,
pub instr_accounts: Vec<InstrAcct>,
pub data: Vec<u8>,
pub cu_avail: u64,
pub txn_context: Option<TxnContext>,
pub slot_context: Option<SlotContext>,
pub epoch_context: Option<EpochContext>,
}
Expand description
The execution context of a program invocation (aka instruction). Contains all required information to independently replay an instruction. Also includes partial transaction context.
Fields§
§program_id: Vec<u8>
The address of the program invoked. (32 bytes)
accounts: Vec<AcctState>
Account state accessed by the instruction. This may include indirect accesses like sysvars.
instr_accounts: Vec<InstrAcct>
Account access list for this instruction (refers to above accounts list)
data: Vec<u8>
The input data passed to program execution.
cu_avail: u64
§txn_context: Option<TxnContext>
§slot_context: Option<SlotContext>
§epoch_context: Option<EpochContext>
Trait Implementations§
Source§impl Clone for InstrContext
impl Clone for InstrContext
Source§fn clone(&self) -> InstrContext
fn clone(&self) -> InstrContext
Returns a copy 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 moreSource§impl Debug for InstrContext
impl Debug for InstrContext
Source§impl Default for InstrContext
impl Default for InstrContext
Source§impl Message for InstrContext
impl Message for InstrContext
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.Source§impl PartialEq for InstrContext
impl PartialEq for InstrContext
impl StructuralPartialEq for InstrContext
Auto Trait Implementations§
impl Freeze for InstrContext
impl RefUnwindSafe for InstrContext
impl Send for InstrContext
impl Sync for InstrContext
impl Unpin for InstrContext
impl UnwindSafe for InstrContext
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