use {
solana_compute_budget_instruction::compute_budget_instruction_details::ComputeBudgetInstructionDetails,
solana_hash::Hash, solana_message::TransactionSignatureDetails,
};
pub trait StaticMeta {
fn message_hash(&self) -> &Hash;
fn is_simple_vote_transaction(&self) -> bool;
fn signature_details(&self) -> &TransactionSignatureDetails;
fn compute_budget_instruction_details(&self) -> &ComputeBudgetInstructionDetails;
fn instruction_data_len(&self) -> u16;
}
pub trait DynamicMeta: StaticMeta {}
#[cfg_attr(feature = "dev-context-only-utils", derive(Clone))]
#[derive(Debug)]
pub struct TransactionMeta {
pub(crate) message_hash: Hash,
pub(crate) is_simple_vote_transaction: bool,
pub(crate) signature_details: TransactionSignatureDetails,
pub(crate) compute_budget_instruction_details: ComputeBudgetInstructionDetails,
pub(crate) instruction_data_len: u16,
}