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<Address>,
) -> TransactionResult<Self>
pub fn try_new( tx: SanitizedVersionedTransaction, message_hash: Hash, is_simple_vote_tx: bool, address_loader: impl AddressLoader, reserved_account_keys: &HashSet<Address>, ) -> TransactionResult<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<Address>,
) -> TransactionResult<Self>
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<Address>, ) -> TransactionResult<Self>
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<Address>,
) -> TransactionResult<Self>
pub fn try_from_legacy_transaction( tx: Transaction, reserved_account_keys: &HashSet<Address>, ) -> TransactionResult<Self>
Create a sanitized transaction from a legacy transaction
Sourcepub fn from_transaction_for_tests(tx: Transaction) -> Self
pub fn from_transaction_for_tests(tx: Transaction) -> Self
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>,
) -> TransactionResult<Self>
pub fn try_new_from_fields( message: SanitizedMessage, message_hash: Hash, is_simple_vote_tx: bool, signatures: Vec<Signature>, ) -> TransactionResult<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,
) -> TransactionResult<TransactionAccountLocks<'_>>
pub fn get_account_locks( &self, tx_account_lock_limit: usize, ) -> TransactionResult<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<&Address>
pub fn get_durable_nonce(&self) -> Option<&Address>
If the transaction uses a durable nonce, return the pubkey of the nonce account
Sourcepub fn verify(&self) -> TransactionResult<()>
pub fn verify(&self) -> TransactionResult<()>
Verify the transaction signatures
Sourcepub fn validate_account_locks(
message: &SanitizedMessage,
tx_account_lock_limit: usize,
) -> TransactionResult<()>
pub fn validate_account_locks( message: &SanitizedMessage, tx_account_lock_limit: usize, ) -> TransactionResult<()>
Validate a transaction message against locked accounts
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