use {
solana_clock::Slot, solana_message::v0::LoadedAddresses, solana_signature::Signature,
solana_transaction::versioned::VersionedTransaction, std::sync::Arc,
};
pub trait DeshredTransactionNotifier {
fn notify_deshred_transaction(
&self,
slot: Slot,
completed_data_set_starting_shred_index: u32,
completed_data_set_ending_shred_index_exclusive: u32,
signature: &Signature,
is_vote: bool,
transaction: &VersionedTransaction,
loaded_addresses: Option<&LoadedAddresses>,
);
fn alt_resolution_enabled(&self) -> bool;
}
pub type DeshredTransactionNotifierArc = Arc<dyn DeshredTransactionNotifier + Sync + Send>;