pub struct SanitizedTransaction { /* private fields */ }
Expand description
Sanitized transaction and the hash of its message
Implementations§
Source§impl SanitizedTransaction
impl SanitizedTransaction
Sourcepub fn try_new(
tx: SanitizedVersionedTransaction,
message_hash: Hash,
is_simple_vote_tx: bool,
address_loader: impl AddressLoader,
reserved_account_keys: &HashSet<Pubkey>,
) -> Result<Self>
pub fn try_new( tx: SanitizedVersionedTransaction, message_hash: Hash, is_simple_vote_tx: bool, address_loader: impl AddressLoader, reserved_account_keys: &HashSet<Pubkey>, ) -> Result<Self>
Create a sanitized transaction from a sanitized versioned transaction. If the input transaction uses address tables, attempt to lookup the address for each table index.
Sourcepub fn try_create(
tx: VersionedTransaction,
message_hash: impl Into<MessageHash>,
is_simple_vote_tx: Option<bool>,
address_loader: impl AddressLoader,
reserved_account_keys: &HashSet<Pubkey>,
) -> Result<Self>
Available on crate feature blake3
only.
pub fn try_create( tx: VersionedTransaction, message_hash: impl Into<MessageHash>, is_simple_vote_tx: Option<bool>, address_loader: impl AddressLoader, reserved_account_keys: &HashSet<Pubkey>, ) -> Result<Self>
blake3
only.Create a sanitized transaction from an un-sanitized versioned transaction. If the input transaction uses address tables, attempt to lookup the address for each table index.
Sourcepub fn try_from_legacy_transaction(
tx: Transaction,
reserved_account_keys: &HashSet<Pubkey>,
) -> Result<Self>
Available on crate feature blake3
only.
pub fn try_from_legacy_transaction( tx: Transaction, reserved_account_keys: &HashSet<Pubkey>, ) -> Result<Self>
blake3
only.Create a sanitized transaction from a legacy transaction
Sourcepub fn from_transaction_for_tests(tx: Transaction) -> Self
Available on crate feature blake3
only.
pub fn from_transaction_for_tests(tx: Transaction) -> Self
blake3
only.Create a sanitized transaction from a legacy transaction. Used for tests only.
Sourcepub fn try_new_from_fields(
message: SanitizedMessage,
message_hash: Hash,
is_simple_vote_tx: bool,
signatures: Vec<Signature>,
) -> Result<Self>
pub fn try_new_from_fields( message: SanitizedMessage, message_hash: Hash, is_simple_vote_tx: bool, signatures: Vec<Signature>, ) -> Result<Self>
Create a sanitized transaction from fields. Performs only basic signature sanitization.
Sourcepub fn signature(&self) -> &Signature
pub fn signature(&self) -> &Signature
Return the first signature for this transaction.
Notes:
Sanitized transactions must have at least one signature because the
number of signatures must be greater than or equal to the message header
value num_required_signatures
which must be greater than 0 itself.
Sourcepub fn signatures(&self) -> &[Signature]
pub fn signatures(&self) -> &[Signature]
Return the list of signatures for this transaction
Sourcepub fn message(&self) -> &SanitizedMessage
pub fn message(&self) -> &SanitizedMessage
Return the signed message
Sourcepub fn message_hash(&self) -> &Hash
pub fn message_hash(&self) -> &Hash
Return the hash of the signed message
Sourcepub fn is_simple_vote_transaction(&self) -> bool
pub fn is_simple_vote_transaction(&self) -> bool
Returns true if this transaction is a simple vote
Sourcepub fn to_versioned_transaction(&self) -> VersionedTransaction
pub fn to_versioned_transaction(&self) -> VersionedTransaction
Convert this sanitized transaction into a versioned transaction for recording in the ledger.
Sourcepub fn get_account_locks(
&self,
tx_account_lock_limit: usize,
) -> Result<TransactionAccountLocks<'_>>
pub fn get_account_locks( &self, tx_account_lock_limit: usize, ) -> Result<TransactionAccountLocks<'_>>
Validate and return the account keys locked by this transaction
Sourcepub fn get_account_locks_unchecked(&self) -> TransactionAccountLocks<'_>
pub fn get_account_locks_unchecked(&self) -> TransactionAccountLocks<'_>
Return the list of accounts that must be locked during processing this transaction.
Sourcepub fn get_loaded_addresses(&self) -> LoadedAddresses
pub fn get_loaded_addresses(&self) -> LoadedAddresses
Return the list of addresses loaded from on-chain address lookup tables
Sourcepub fn get_durable_nonce(&self) -> Option<&Pubkey>
Available on crate feature bincode
only.
pub fn get_durable_nonce(&self) -> Option<&Pubkey>
bincode
only.If the transaction uses a durable nonce, return the pubkey of the nonce account
Sourcepub fn verify(&self) -> Result<()>
Available on crate feature verify
only.
pub fn verify(&self) -> Result<()>
verify
only.Verify the transaction signatures
Sourcepub fn verify_precompiles(&self, feature_set: &FeatureSet) -> Result<()>
Available on crate feature precompiles
only.
pub fn verify_precompiles(&self, feature_set: &FeatureSet) -> Result<()>
precompiles
only.Verify the precompiled programs in this transaction
Sourcepub fn validate_account_locks(
message: &SanitizedMessage,
tx_account_lock_limit: usize,
) -> Result<()>
pub fn validate_account_locks( message: &SanitizedMessage, tx_account_lock_limit: usize, ) -> Result<()>
Validate a transaction message against locked accounts
pub fn new_for_tests( message: SanitizedMessage, signatures: Vec<Signature>, is_simple_vote_tx: bool, ) -> SanitizedTransaction
dev-context-only-utils
only.Trait Implementations§
Source§impl Clone for SanitizedTransaction
impl Clone for SanitizedTransaction
Source§fn clone(&self) -> SanitizedTransaction
fn clone(&self) -> SanitizedTransaction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more