Enum solana_sdk::message::SanitizedMessage
source · pub enum SanitizedMessage {
Legacy(LegacyMessage<'static>),
V0(LoadedMessage<'static>),
}
Expand description
Sanitized message of a transaction.
Variants§
Legacy(LegacyMessage<'static>)
Sanitized legacy message
V0(LoadedMessage<'static>)
Sanitized version #0 message with dynamically loaded addresses
Implementations§
source§impl SanitizedMessage
impl SanitizedMessage
sourcepub fn try_new(
sanitized_msg: SanitizedVersionedMessage,
address_loader: impl AddressLoader
) -> Result<SanitizedMessage, SanitizeMessageError>
pub fn try_new( sanitized_msg: SanitizedVersionedMessage, address_loader: impl AddressLoader ) -> Result<SanitizedMessage, SanitizeMessageError>
Create a sanitized message from a sanitized versioned message. If the input message uses address tables, attempt to look up the address for each table index.
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(&self) -> AccountKeys<'_>
pub fn account_keys(&self) -> AccountKeys<'_>
Returns the list of account keys that are loaded for this message.
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) -> bool
pub fn is_writable(&self, index: usize) -> 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.
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 decompile_instructions(&self) -> Vec<BorrowedInstruction<'_>, Global> ⓘ
pub fn decompile_instructions(&self) -> Vec<BorrowedInstruction<'_>, Global> ⓘ
Decompile message instructions without cloning account keys
sourcepub fn is_upgradeable_loader_present(&self) -> bool
pub fn is_upgradeable_loader_present(&self) -> bool
Inspect all message keys for the bpf upgradeable loader
sourcepub fn get_ix_signers(&self, ix_index: usize) -> impl Iterator<Item = &Pubkey>
pub fn get_ix_signers(&self, ix_index: usize) -> impl Iterator<Item = &Pubkey>
Get a list of signers for the instruction at the given index
sourcepub fn get_durable_nonce(&self) -> Option<&Pubkey>
pub fn get_durable_nonce(&self) -> Option<&Pubkey>
If the message uses a durable nonce, return the pubkey of the nonce account
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 more