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,
reserved_account_keys: &HashSet<Pubkey>,
) -> Result<Self, SanitizeMessageError>
pub fn try_new( sanitized_msg: SanitizedVersionedMessage, address_loader: impl AddressLoader, reserved_account_keys: &HashSet<Pubkey>, ) -> Result<Self, 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 try_from_legacy_message(
message: Message,
reserved_account_keys: &HashSet<Pubkey>,
) -> Result<Self, SanitizeMessageError>
pub fn try_from_legacy_message( message: Message, reserved_account_keys: &HashSet<Pubkey>, ) -> Result<Self, SanitizeMessageError>
Create a sanitized legacy message
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 message_address_table_lookups(&self) -> &[MessageAddressTableLookup]
pub fn message_address_table_lookups(&self) -> &[MessageAddressTableLookup]
Returns the list of account keys used for account lookup tables.
Sourcepub fn is_key_passed_to_program(&self, key_index: usize) -> bool
👎Deprecated since 2.0.0: Please use is_instruction_account
instead
pub fn is_key_passed_to_program(&self, key_index: usize) -> bool
is_instruction_account
insteadReturns true if the account at the specified index is an input to some program instruction in this message.
Sourcepub fn is_instruction_account(&self, key_index: usize) -> bool
pub fn is_instruction_account(&self, key_index: usize) -> bool
Returns true if the account at the specified index is an input to some program instruction in 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
👎Deprecated since 2.0.0: Please use is_invoked
and is_instruction_account
instead
pub fn is_non_loader_key(&self, key_index: usize) -> bool
is_invoked
and is_instruction_account
insteadReturns 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<'_>>
pub fn decompile_instructions(&self) -> Vec<BorrowedInstruction<'_>>
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
pub fn num_signatures(&self) -> u64
SanitizedMessage::num_total_signatures
instead.Sourcepub fn num_total_signatures(&self) -> u64
pub fn num_total_signatures(&self) -> u64
Returns the total number of signatures in the message. This includes required transaction signatures as well as any pre-compile signatures that are attached in instructions.
Sourcepub fn num_write_locks(&self) -> u64
pub fn num_write_locks(&self) -> u64
Returns the number of requested write-locks in this message. This does not consider if write-locks are demoted.
Sourcepub fn get_signature_details(&self) -> TransactionSignatureDetails
pub fn get_signature_details(&self) -> TransactionSignatureDetails
return detailed signature counts
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