diff --git a/runtime/src/accounts.rs b/runtime/src/accounts.rs index 15ad8800a1..98f3948e47 100644 --- a/runtime/src/accounts.rs +++ b/runtime/src/accounts.rs @@ -613,8 +613,7 @@ impl Accounts { use solana_sdk::sanitize::Sanitize; let keys: Vec> = OrderedIterator::new(txs, txs_iteration_order) .map(|tx| { - tx.sanitize() - .map_err(|_| TransactionError::SanitizeFailure)?; + tx.sanitize().map_err(TransactionError::from)?; if Self::has_duplicates(&tx.message.account_keys) { return Err(TransactionError::AccountLoadedTwice); diff --git a/sdk/src/transaction.rs b/sdk/src/transaction.rs index eb7e5829e7..92a58be29e 100644 --- a/sdk/src/transaction.rs +++ b/sdk/src/transaction.rs @@ -90,6 +90,12 @@ pub enum TransactionError { pub type Result = result::Result; +impl From for TransactionError { + fn from(_: SanitizeError) -> Self { + Self::SanitizeFailure + } +} + /// An atomic transaction #[frozen_abi(digest = "GoxM5ZMMjM2FSuY1VtuMhs1j8u9kMuYsH3dpYcSVVnTe")] #[derive(Debug, PartialEq, Default, Eq, Clone, Serialize, Deserialize, AbiExample)]