use super::*;
impl<N: Network, C: ConsensusStorage<N>> Ledger<N, C> {
pub fn state_roots(&self) -> impl '_ + Iterator<Item = Cow<'_, N::StateRoot>> {
self.vm.block_store().state_roots()
}
pub fn solution_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, SolutionID<N>>> {
self.vm.block_store().solution_ids()
}
pub fn program_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, ProgramID<N>>> {
self.vm.transaction_store().program_ids()
}
pub fn programs(&self) -> impl '_ + Iterator<Item = Cow<'_, Program<N>>> {
self.vm.transaction_store().programs()
}
pub fn transaction_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, N::TransactionID>> {
self.vm.transaction_store().transaction_ids()
}
pub fn transition_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, N::TransitionID>> {
self.vm.transition_store().transition_ids()
}
pub fn input_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>> {
self.vm.transition_store().input_ids()
}
pub fn serial_numbers(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>> {
self.vm.transition_store().serial_numbers()
}
pub fn tags(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>> {
self.vm.transition_store().tags()
}
pub fn output_ids(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>> {
self.vm.transition_store().output_ids()
}
pub fn commitments(&self) -> impl '_ + Iterator<Item = Cow<'_, Field<N>>> {
self.vm.transition_store().commitments()
}
pub fn nonces(&self) -> impl '_ + Iterator<Item = Cow<'_, Group<N>>> {
self.vm.transition_store().nonces()
}
#[allow(clippy::type_complexity)]
pub fn records(&self) -> impl '_ + Iterator<Item = (Cow<'_, Field<N>>, Cow<'_, Record<N, Ciphertext<N>>>)> {
self.vm.transition_store().records()
}
pub fn transition_public_keys(&self) -> impl '_ + Iterator<Item = Cow<'_, Group<N>>> {
self.vm.transition_store().tpks()
}
}