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<'_>>
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
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
Source§impl TryFrom<Message> for SanitizedMessage
impl TryFrom<Message> for SanitizedMessage
Source§type Error = SanitizeMessageError
type Error = SanitizeMessageError
Source§fn try_from(
message: Message,
) -> Result<SanitizedMessage, <SanitizedMessage as TryFrom<Message>>::Error>
fn try_from( message: Message, ) -> Result<SanitizedMessage, <SanitizedMessage as TryFrom<Message>>::Error>
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