use {
crate::transaction_meta::TransactionMeta,
solana_svm_transaction::svm_transaction::{SVMStaticTransaction, SVMTransaction},
solana_transaction::{sanitized::SanitizedTransaction, versioned::VersionedTransaction},
std::borrow::Cow,
};
pub trait StaticTransactionWithMeta: TransactionMeta + SVMStaticTransaction {
fn to_versioned_transaction(&self) -> VersionedTransaction;
fn serialized_size(&self) -> usize;
}
pub trait TransactionWithMeta: StaticTransactionWithMeta + SVMTransaction {
fn as_sanitized_transaction(&self) -> Cow<'_, SanitizedTransaction>;
}