pub enum SanitizedMessage {
Legacy(Message),
V0(MappedMessage),
}
Expand description
Sanitized message of a transaction which includes a set of atomic instructions to be executed on-chain
Variants§
Legacy(Message)
Sanitized legacy message
V0(MappedMessage)
Sanitized version #0 message with mapped addresses
Implementations§
Source§impl SanitizedMessage
impl SanitizedMessage
Sourcepub fn has_duplicates(&self) -> bool
pub fn has_duplicates(&self) -> bool
Return true if this message contains duplicate account keys
Sourcepub fn header(&self) -> &MessageHeader
pub fn header(&self) -> &MessageHeader
Message header which identifies the number of signer and writable or readonly accounts
Sourcepub fn legacy_message(&self) -> Option<&Message>
pub fn legacy_message(&self) -> Option<&Message>
Returns a legacy message if this sanitized message wraps one
Sourcepub fn recent_blockhash(&self) -> &Hash
pub fn recent_blockhash(&self) -> &Hash
The hash of a recent block, used for timing out a transaction
Sourcepub fn instructions(&self) -> &[CompiledInstruction]
pub fn instructions(&self) -> &[CompiledInstruction]
Program instructions that will be executed in sequence and committed in one atomic transaction if all succeed.
Sourcepub fn program_instructions_iter(
&self,
) -> impl Iterator<Item = (&Pubkey, &CompiledInstruction)>
pub fn program_instructions_iter( &self, ) -> impl Iterator<Item = (&Pubkey, &CompiledInstruction)>
Program instructions iterator which includes each instruction’s program id.
Sourcepub fn account_keys_iter(&self) -> Box<dyn Iterator<Item = &Pubkey> + '_>
pub fn account_keys_iter(&self) -> Box<dyn Iterator<Item = &Pubkey> + '_>
Iterator of all account keys referenced in this message, included mapped keys.
Sourcepub fn account_keys_len(&self) -> usize
pub fn account_keys_len(&self) -> usize
Length of all account keys referenced in this message, included mapped keys.
Sourcepub fn get_account_key(&self, index: usize) -> Option<&Pubkey>
pub fn get_account_key(&self, index: usize) -> Option<&Pubkey>
Returns the address of the account at the specified index.
Sourcepub fn is_invoked(&self, key_index: usize) -> bool
pub fn is_invoked(&self, key_index: usize) -> bool
Returns true if the account at the specified index is invoked as a program in this message.
Sourcepub fn is_non_loader_key(&self, key_index: usize) -> bool
pub fn is_non_loader_key(&self, key_index: usize) -> bool
Returns true if the account at the specified index is not invoked as a program or, if invoked, is passed to a program.
Sourcepub fn is_writable(
&self,
index: usize,
demote_program_write_locks: bool,
) -> bool
pub fn is_writable( &self, index: usize, demote_program_write_locks: bool, ) -> bool
Returns true if the account at the specified index is writable by the instructions in this message.
Sourcepub fn is_signer(&self, index: usize) -> bool
pub fn is_signer(&self, index: usize) -> bool
Returns true if the account at the specified index signed this message.
pub fn serialize_instructions( &self, demote_program_write_locks: bool, ) -> Vec<u8> ⓘ
Sourcepub fn num_readonly_accounts(&self) -> usize
pub fn num_readonly_accounts(&self) -> usize
Return the number of readonly accounts loaded by this message.
Sourcepub fn try_compile_instruction(
&self,
ix: &Instruction,
) -> Option<CompiledInstruction>
pub fn try_compile_instruction( &self, ix: &Instruction, ) -> Option<CompiledInstruction>
Try to compile an instruction using the account keys in this message.
Sourcepub fn calculate_fee(&self, fee_calculator: &FeeCalculator) -> u64
pub fn calculate_fee(&self, fee_calculator: &FeeCalculator) -> u64
Calculate the total fees for a transaction given a fee calculator
Trait Implementations§
Source§impl Clone for SanitizedMessage
impl Clone for SanitizedMessage
Source§fn clone(&self) -> SanitizedMessage
fn clone(&self) -> SanitizedMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SanitizedMessage
impl Debug for SanitizedMessage
Auto Trait Implementations§
impl Freeze for SanitizedMessage
impl RefUnwindSafe for SanitizedMessage
impl Send for SanitizedMessage
impl Sync for SanitizedMessage
impl Unpin for SanitizedMessage
impl UnwindSafe for SanitizedMessage
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> 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 more