singular-registry
Safe HaskellNone
LanguageGHC2021

Singular.Registry.TrieState.Core

Description

The common node/proof engine. Backend effects only fetch and persist a registry entry. Snapshot reads and speculation use captured immutable nodes.

Synopsis

Documentation

data TrieEntry Source #

Constructors

TrieEntry 

capability :: Monad m => (RegistryIdentity -> m (Either TrieFailure TrieEntry)) -> (TrieEntry -> m ()) -> TrieState m Source #

capabilityObserved :: Monad m => (RegistryIdentity -> m (Either TrieFailure TrieEntry)) -> (TrieEntry -> m ()) -> (TrieObservation -> m ()) -> TrieState m Source #

checkedCoverage :: TrieEntry -> Either TrieFailure CompleteFromCreate Source #

Replay starts from the actual empty MPF database. Root-preserving history records are neither required nor counted. The selected output is a separate caller-session observation; coverage does not claim output-reference lineage.

walkNodes :: RegistryIdentity -> MPFInMemoryDB -> NonEmpty (ByteString, Integer) -> Either TrieFailure (MPFInMemoryDB, SpeculativeWalk) Source #

provenLeaf :: RegistryIdentity -> MPFInMemoryDB -> Root -> ByteString -> Either TrieFailure Leaf Source #

snapshotObserved :: Monad m => (TrieObservation -> m ()) -> TrieSelection -> MPFInMemoryDB -> CompleteFromCreate -> Maybe PublicLineage -> TrieSnapshot m Source #