Type Alias EntryMap

Source
pub type EntryMap<T: Config<I>, I: 'static = ()> = StorageNMap<_GeneratedPrefixForStorageEntryMap<T, I>, (NMapKey<Blake2_128Concat, CommitReason<T, I>>, NMapKey<Blake2_128Concat, IndexDigest<T>>, NMapKey<Blake2_128Concat, EntryDigest<T>>, NMapKey<Blake2_128Concat, Proprietor<T>>), Commits<T, I>, OptionQuery>;
Expand description

Stores commit information for individual entries within an index, scoped by both a CommitReason and the corresponding Proprietor.

§Key Structure:

(CommitReason, IndexDigest, EntryDigest, Proprietor) -> Commits

§Purpose:

  • Tracks how much each proprietor (Proprietor) has committed to a specific entry under a particular index and reason.
  • Enforces the hierarchical structure:
    • Reason -> Index -> Entry -> Proprietor -> Commits
  • Each Commits encompasses one or more commitment instances made by the same proprietor.

§Notes:

  • Each proprietor can have only one active commit per (reason, index, entry) combination.
  • This mapping is essential for resolving commitment provenance during digest updates or rebalancing operations.
  • Commitments stored here are “lazy” - meaning changes may not be immediately reflected in the underlying asset accounting until resolution occurs.

Storage type is [StorageNMap] with keys type (CommitReason < T, I >, IndexDigest < T >, EntryDigest < T >, Proprietor < T >) and value type Commits < T, I >.

Aliased Type§

pub struct EntryMap<T: Config<I>, I: 'static = ()>(/* private fields */);