Refactor: Add trait for loading addresses (#22903)

This commit is contained in:
Justin Starry
2022-02-03 19:00:12 +08:00
committed by GitHub
parent cc94a93b56
commit 60af1a4cce
10 changed files with 128 additions and 95 deletions

View File

@@ -6,7 +6,7 @@ use {
solana_sdk::{
hash::Hash,
transaction::{
Result, SanitizedTransaction, TransactionError, TransactionVerificationMode,
DisabledAddressLoader, Result, SanitizedTransaction, TransactionVerificationMode,
VersionedTransaction,
},
},
@@ -35,9 +35,12 @@ fn bench_gpusigverify(bencher: &mut Bencher) {
versioned_tx.message.hash()
};
SanitizedTransaction::try_create(versioned_tx, message_hash, None, |_| {
Err(TransactionError::UnsupportedVersion)
})
SanitizedTransaction::try_create(
versioned_tx,
message_hash,
None,
&DisabledAddressLoader,
)
}?;
Ok(sanitized_tx)
@@ -73,10 +76,12 @@ fn bench_cpusigverify(bencher: &mut Bencher) {
move |versioned_tx: VersionedTransaction| -> Result<SanitizedTransaction> {
let sanitized_tx = {
let message_hash = versioned_tx.verify_and_hash_message()?;
SanitizedTransaction::try_create(versioned_tx, message_hash, None, |_| {
Err(TransactionError::UnsupportedVersion)
})
SanitizedTransaction::try_create(
versioned_tx,
message_hash,
None,
&DisabledAddressLoader,
)
}?;
Ok(sanitized_tx)

View File

@@ -932,7 +932,9 @@ mod tests {
pubkey::Pubkey,
signature::{Keypair, Signer},
system_transaction,
transaction::{Result, SanitizedTransaction, TransactionError, VersionedTransaction},
transaction::{
DisabledAddressLoader, Result, SanitizedTransaction, VersionedTransaction,
},
},
};
@@ -1016,9 +1018,12 @@ mod tests {
versioned_tx.message.hash()
};
SanitizedTransaction::try_create(versioned_tx, message_hash, None, |_| {
Err(TransactionError::UnsupportedVersion)
})
SanitizedTransaction::try_create(
versioned_tx,
message_hash,
None,
&DisabledAddressLoader,
)
}?;
Ok(sanitized_tx)