| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
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
- data TrieEntry = TrieEntry {
- entrySelection :: TrieSelection
- entryCreate :: Maybe CreateRecord
- entryFolds :: [ObservedFold]
- entryNodes :: MPFInMemoryDB
- capability :: Monad m => (RegistryIdentity -> m (Either TrieFailure TrieEntry)) -> (TrieEntry -> m ()) -> TrieState m
- capabilityObserved :: Monad m => (RegistryIdentity -> m (Either TrieFailure TrieEntry)) -> (TrieEntry -> m ()) -> (TrieObservation -> m ()) -> TrieState m
- checkedCoverage :: TrieEntry -> Either TrieFailure CompleteFromCreate
- walkNodes :: RegistryIdentity -> MPFInMemoryDB -> NonEmpty (ByteString, Integer) -> Either TrieFailure (MPFInMemoryDB, SpeculativeWalk)
- provenLeaf :: RegistryIdentity -> MPFInMemoryDB -> Root -> ByteString -> Either TrieFailure Leaf
- snapshotObserved :: Monad m => (TrieObservation -> m ()) -> TrieSelection -> MPFInMemoryDB -> CompleteFromCreate -> Maybe PublicLineage -> TrieSnapshot m
Documentation
Constructors
| TrieEntry | |
Fields
| |
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 #