Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Byron.Ledger.Ledger
Description
Instances requires for consensus/ledger integration
Synopsis
- data ByronTransition = ByronTransitionInfo !(Map ProtocolVersion BlockNo)
- byronEraParams ∷ Config → EraParams
- byronEraParamsNeverHardForks ∷ Config → EraParams
- initByronLedgerState ∷ ∀ (mk ∷ MapKind). Config → Maybe UTxO → LedgerState ByronBlock mk
- decodeByronAnnTip ∷ Decoder s (AnnTip ByronBlock)
- decodeByronLedgerState ∷ ∀ s (mk ∷ MapKind). Decoder s (LedgerState ByronBlock mk)
- decodeByronQuery ∷ Decoder s (SomeBlockQuery (BlockQuery ByronBlock))
- decodeByronResult ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → ∀ s. Decoder s result
- encodeByronAnnTip ∷ AnnTip ByronBlock → Encoding
- encodeByronExtLedgerState ∷ ∀ (mk ∷ MapKind). ExtLedgerState ByronBlock mk → Encoding
- encodeByronHeaderState ∷ HeaderState ByronBlock → Encoding
- encodeByronLedgerState ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → Encoding
- encodeByronQuery ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → Encoding
- encodeByronResult ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → result → Encoding
- data family BlockQuery ∷ Type → QueryFootprint → Type → Type
- data family LedgerState blk (mk ∷ MapKind)
- newtype LedgerTables (l ∷ LedgerStateKind) (mk ∷ MapKind) = LedgerTables {
- getLedgerTables ∷ mk (TxIn l) (TxOut l)
- data family Ticked (st ∷ k) ∷ k
- validationErrorImpossible ∷ err → a
Documentation
data ByronTransition Source #
Information required to determine the transition from Byron to Shelley
Constructors
ByronTransitionInfo !(Map ProtocolVersion BlockNo) | Per candidate proposal, the The HFC needs to know when a candidate proposal becomes stable. We cannot
reliably do this using Invariant: the domain of this map should equal the set of candidate proposals. |
Instances
Ledger integration
byronEraParams ∷ Config → EraParams Source #
To be used for a Byron-to-X (where X is typically Shelley) chain.
byronEraParamsNeverHardForks ∷ Config → EraParams Source #
Separate variant of byronEraParams
to be used for a Byron-only chain.
Arguments
∷ ∀ (mk ∷ MapKind). Config | |
→ Maybe UTxO | Optionally override UTxO |
→ LedgerState ByronBlock mk |
Serialisation
decodeByronLedgerState ∷ ∀ s (mk ∷ MapKind). Decoder s (LedgerState ByronBlock mk) Source #
decodeByronResult ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → ∀ s. Decoder s result Source #
encodeByronExtLedgerState ∷ ∀ (mk ∷ MapKind). ExtLedgerState ByronBlock mk → Encoding Source #
encodeByronLedgerState ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → Encoding Source #
encodeByronQuery ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → Encoding Source #
encodeByronResult ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → result → Encoding Source #
Type family instances
data family BlockQuery ∷ Type → QueryFootprint → Type → Type Source #
Different queries supported by the ledger, indexed by the result type.
Instances
SerialiseBlockQueryResult ByronBlock BlockQuery Source # | |
Defined in Ouroboros.Consensus.Byron.Node.Serialisation Methods encodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig ByronBlock → BlockNodeToClientVersion ByronBlock → BlockQuery ByronBlock fp result → result → Encoding Source # decodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig ByronBlock → BlockNodeToClientVersion ByronBlock → BlockQuery ByronBlock fp result → ∀ s. Decoder s result Source # | |
SameDepIndex2 (BlockQuery (DualBlock m a) ∷ QueryFootprint → Type → Type) | |
Defined in Ouroboros.Consensus.Ledger.Dual Methods sameDepIndex2 ∷ ∀ (x ∷ QueryFootprint) a0 (y ∷ QueryFootprint) b. BlockQuery (DualBlock m a) x a0 → BlockQuery (DualBlock m a) y b → Maybe ('(x, a0) :~: '(y, b)) Source # | |
SameDepIndex2 (BlockQuery ByronBlock) Source # | |
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods sameDepIndex2 ∷ ∀ (x ∷ QueryFootprint) a (y ∷ QueryFootprint) b. BlockQuery ByronBlock x a → BlockQuery ByronBlock y b → Maybe ('(x, a) :~: '(y, b)) Source # | |
SameDepIndex2 (BlockQuery (ShelleyBlock proto era) ∷ QueryFootprint → Type → Type) Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Query Methods sameDepIndex2 ∷ ∀ (x ∷ QueryFootprint) a (y ∷ QueryFootprint) b. BlockQuery (ShelleyBlock proto era) x a → BlockQuery (ShelleyBlock proto era) y b → Maybe ('(x, a) :~: '(y, b)) Source # | |
SerialiseNodeToClient ByronBlock (SomeBlockQuery (BlockQuery ByronBlock)) Source # | |
Defined in Ouroboros.Consensus.Byron.Node.Serialisation | |
ShelleyCompatible proto era ⇒ SerialiseBlockQueryResult (ShelleyBlock proto era) BlockQuery Source # | |
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) fp result → result → Encoding Source # decodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) fp result → ∀ s. Decoder s result Source # | |
(∀ (footprint ∷ QueryFootprint) result. Show (BlockQuery blk footprint result)) ⇒ Show (SomeBlockQuery (BlockQuery blk)) | |
Defined in Ouroboros.Consensus.Ledger.Query Methods showsPrec ∷ Int → SomeBlockQuery (BlockQuery blk) → ShowS # show ∷ SomeBlockQuery (BlockQuery blk) → String # showList ∷ [SomeBlockQuery (BlockQuery blk)] → ShowS # | |
ShowQuery (BlockQuery (DualBlock m a) footprint) | |
Defined in Ouroboros.Consensus.Ledger.Dual Methods showResult ∷ BlockQuery (DualBlock m a) footprint result → result → String Source # | |
ShowQuery (BlockQuery ByronBlock fp) Source # | |
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods showResult ∷ BlockQuery ByronBlock fp result → result → String Source # | |
ShelleyCompatible proto era ⇒ ShowQuery (BlockQuery (ShelleyBlock proto era) fp) Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Query Methods showResult ∷ BlockQuery (ShelleyBlock proto era) fp result → result → String Source # | |
(ShelleyCompatible proto era, LedgerSupportsProtocol (ShelleyBlock proto era)) ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (SomeBlockQuery (BlockQuery (ShelleyBlock proto era))) Source # | |
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → SomeBlockQuery (BlockQuery (ShelleyBlock proto era)) → Encoding Source # decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (SomeBlockQuery (BlockQuery (ShelleyBlock proto era))) Source # | |
(Typeable m, Typeable a) ⇒ ShowProxy (BlockQuery (DualBlock m a) ∷ QueryFootprint → Type → Type) | |
Defined in Ouroboros.Consensus.Ledger.Dual | |
ShowProxy (BlockQuery ByronBlock) Source # | |
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods showProxy ∷ Proxy (BlockQuery ByronBlock) → String Source # | |
(Typeable era, Typeable proto) ⇒ ShowProxy (BlockQuery (ShelleyBlock proto era) ∷ QueryFootprint → Type → Type) Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Query Methods showProxy ∷ Proxy (BlockQuery (ShelleyBlock proto era)) → String Source # | |
Show (BlockQuery (DualBlock m a) footprint result) | |
Defined in Ouroboros.Consensus.Ledger.Dual | |
Show (BlockQuery ByronBlock fp result) Source # | |
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods showsPrec ∷ Int → BlockQuery ByronBlock fp result → ShowS # show ∷ BlockQuery ByronBlock fp result → String # showList ∷ [BlockQuery ByronBlock fp result] → ShowS # | |
Show (BlockQuery (ShelleyBlock proto era) fp result) Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Query Methods showsPrec ∷ Int → BlockQuery (ShelleyBlock proto era) fp result → ShowS # show ∷ BlockQuery (ShelleyBlock proto era) fp result → String # showList ∷ [BlockQuery (ShelleyBlock proto era) fp result] → ShowS # | |
Eq (BlockQuery ByronBlock fp result) Source # | |
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods (==) ∷ BlockQuery ByronBlock fp result → BlockQuery ByronBlock fp result → Bool # (/=) ∷ BlockQuery ByronBlock fp result → BlockQuery ByronBlock fp result → Bool # | |
Eq (BlockQuery (ShelleyBlock proto era) fp result) Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Query Methods (==) ∷ BlockQuery (ShelleyBlock proto era) fp result → BlockQuery (ShelleyBlock proto era) fp result → Bool # (/=) ∷ BlockQuery (ShelleyBlock proto era) fp result → BlockQuery (ShelleyBlock proto era) fp result → Bool # | |
Inject (SomeBlockQuery :.: BlockQuery) | |
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary Methods inject ∷ ∀ x (xs ∷ [Type]). (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) ⇒ InjectionIndex xs x → (SomeBlockQuery :.: BlockQuery) x → (SomeBlockQuery :.: BlockQuery) (HardForkBlock xs) Source # | |
data BlockQuery ByronBlock fp result Source # | |
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger | |
data BlockQuery (HardForkBlock xs) footprint result | |
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger.Query data BlockQuery (HardForkBlock xs) footprint result where
| |
data BlockQuery (DualBlock m a) footprint result | |
Defined in Ouroboros.Consensus.Ledger.Dual | |
data BlockQuery (ShelleyBlock proto era) fp result Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Query data BlockQuery (ShelleyBlock proto era) fp result where
|
data family LedgerState blk (mk ∷ MapKind) Source #
Ledger state associated with a block
This is the Consensus notion of a Ledger ledger state. Each block type is
associated with one of the Ledger types for the ledger state. Virtually
every concept in this codebase revolves around this type, or the referenced
blk
. Whenever we use the type variable l
we intend to signal that the
expected instantiation is either a LedgerState
or some wrapper over it
(like the ExtLedgerState
).
This type is parametrized over mk ::
to express the
MapKind
LedgerTables
contained in such a LedgerState
. See LedgerTables
for a
more thorough description.
The main operations we can do with a LedgerState
are ticking (defined in
IsLedger
), and applying a block (defined in
ApplyBlock
).
Instances
DecodeDisk ByronBlock (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Node.Serialisation Methods decodeDisk ∷ CodecConfig ByronBlock → ∀ s. Decoder s (LedgerState ByronBlock mk) Source # | |||||||||
EncodeDisk ByronBlock (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Node.Serialisation Methods encodeDisk ∷ CodecConfig ByronBlock → LedgerState ByronBlock mk → Encoding Source # | |||||||||
(ShelleyBasedEra era, ShelleyBasedEra (PreviousEra era), TranslateEra era (ShelleyTip proto), TranslateEra era NewEpochState, TranslationError era NewEpochState ~ Void, CanMapMK mk, CanMapKeysMK mk) ⇒ TranslateEra era (Flip LedgerState mk :.: ShelleyBlock proto) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.ShelleyHFC Associated Types
Methods translateEra ∷ TranslationContext era → (Flip LedgerState mk :.: ShelleyBlock proto) (PreviousEra era) → Except (TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto)) ((Flip LedgerState mk :.: ShelleyBlock proto) era) Source # | |||||||||
Bridge m a ⇒ GetTip (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods getTip ∷ ∀ (mk ∷ MapKind). LedgerState (DualBlock m a) mk → Point (LedgerState (DualBlock m a)) Source # | |||||||||
GetTip (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → Point (LedgerState ByronBlock) Source # | |||||||||
GetTip (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Point (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Bridge m a ⇒ IsLedger (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Associated Types
Methods applyChainTickLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState (DualBlock m a)) → SlotNo → LedgerState (DualBlock m a) EmptyMK → LedgerResult (LedgerState (DualBlock m a)) (Ticked (LedgerState (DualBlock m a)) DiffMK) Source # | |||||||||
IsLedger (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Associated Types
| |||||||||
ShelleyBasedEra era ⇒ IsLedger (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods applyChainTickLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState (ShelleyBlock proto era)) → SlotNo → LedgerState (ShelleyBlock proto era) EmptyMK → LedgerResult (LedgerState (ShelleyBlock proto era)) (Ticked (LedgerState (ShelleyBlock proto era)) DiffMK) Source # | |||||||||
CanStowLedgerTables (LedgerState m) ⇒ CanStowLedgerTables (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods stowLedgerTables ∷ LedgerState (DualBlock m a) ValuesMK → LedgerState (DualBlock m a) EmptyMK Source # unstowLedgerTables ∷ LedgerState (DualBlock m a) EmptyMK → LedgerState (DualBlock m a) ValuesMK Source # | |||||||||
CanStowLedgerTables (LedgerState ByronBlock) Source # | |||||||||
ShelleyBasedEra era ⇒ CanStowLedgerTables (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods stowLedgerTables ∷ LedgerState (ShelleyBlock proto era) ValuesMK → LedgerState (ShelleyBlock proto era) EmptyMK Source # unstowLedgerTables ∷ LedgerState (ShelleyBlock proto era) EmptyMK → LedgerState (ShelleyBlock proto era) ValuesMK Source # | |||||||||
(Bridge m a, NoThunks (TxOut (LedgerState m)), NoThunks (TxIn (LedgerState m)), Show (TxOut (LedgerState m)), Show (TxIn (LedgerState m)), Eq (TxOut (LedgerState m)), Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m))) ⇒ HasLedgerTables (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (DualBlock m a) mk → LedgerTables (LedgerState (DualBlock m a)) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (DualBlock m a) any → LedgerTables (LedgerState (DualBlock m a)) mk → LedgerState (DualBlock m a) mk Source # | |||||||||
HasLedgerTables (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState ByronBlock mk → LedgerTables (LedgerState ByronBlock) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState ByronBlock any → LedgerTables (LedgerState ByronBlock) mk → LedgerState ByronBlock mk Source # | |||||||||
ShelleyBasedEra era ⇒ HasLedgerTables (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (ShelleyBlock proto era) mk → LedgerTables (LedgerState (ShelleyBlock proto era)) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (ShelleyBlock proto era) any → LedgerTables (LedgerState (ShelleyBlock proto era)) mk → LedgerState (ShelleyBlock proto era) mk Source # | |||||||||
LedgerTablesAreTrivial (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). LedgerState ByronBlock mk → LedgerState ByronBlock mk' Source # | |||||||||
CardanoHardForkConstraints c ⇒ SerializeTablesWithHint (LedgerState (HardForkBlock (CardanoEras c))) Source # | |||||||||
Defined in Ouroboros.Consensus.Cardano.Ledger Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (HardForkBlock (CardanoEras c))) ValuesMK) → LedgerTables (LedgerState (HardForkBlock (CardanoEras c))) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (HardForkBlock (CardanoEras c))) ValuesMK) → Decoder s (LedgerTables (LedgerState (HardForkBlock (CardanoEras c))) ValuesMK) Source # | |||||||||
SerializeTablesWithHint (LedgerState (HardForkBlock '[ByronBlock])) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.ByronHFC Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (HardForkBlock '[ByronBlock])) ValuesMK) → LedgerTables (LedgerState (HardForkBlock '[ByronBlock])) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (HardForkBlock '[ByronBlock])) ValuesMK) → Decoder s (LedgerTables (LedgerState (HardForkBlock '[ByronBlock])) ValuesMK) Source # | |||||||||
ShelleyCompatible proto era ⇒ SerializeTablesWithHint (LedgerState (HardForkBlock '[ShelleyBlock proto era])) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.ShelleyHFC Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (HardForkBlock '[ShelleyBlock proto era])) ValuesMK) → LedgerTables (LedgerState (HardForkBlock '[ShelleyBlock proto era])) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (HardForkBlock '[ShelleyBlock proto era])) ValuesMK) → Decoder s (LedgerTables (LedgerState (HardForkBlock '[ShelleyBlock proto era])) ValuesMK) Source # | |||||||||
(Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m)), MemPack (TxOut (LedgerState m))) ⇒ SerializeTablesWithHint (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (DualBlock m a)) ValuesMK) → LedgerTables (LedgerState (DualBlock m a)) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (DualBlock m a)) ValuesMK) → Decoder s (LedgerTables (LedgerState (DualBlock m a)) ValuesMK) Source # | |||||||||
SerializeTablesWithHint (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState ByronBlock) ValuesMK) → LedgerTables (LedgerState ByronBlock) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState ByronBlock) ValuesMK) → Decoder s (LedgerTables (LedgerState ByronBlock) ValuesMK) Source # | |||||||||
ShelleyCompatible proto era ⇒ SerializeTablesWithHint (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK) → LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK) → Decoder s (LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK) Source # | |||||||||
CanUpgradeLedgerTables (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). LedgerState (DualBlock m a) mk1 → LedgerState (DualBlock m a) mk2 → LedgerTables (LedgerState (DualBlock m a)) ValuesMK → LedgerTables (LedgerState (DualBlock m a)) ValuesMK Source # | |||||||||
CanUpgradeLedgerTables (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). LedgerState ByronBlock mk1 → LedgerState ByronBlock mk2 → LedgerTables (LedgerState ByronBlock) ValuesMK → LedgerTables (LedgerState ByronBlock) ValuesMK Source # | |||||||||
CanUpgradeLedgerTables (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). LedgerState (ShelleyBlock proto era) mk1 → LedgerState (ShelleyBlock proto era) mk2 → LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK → LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK Source # | |||||||||
ApplyBlock (LedgerState ByronBlock) ByronBlock Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods applyBlockLedgerResultWithValidation ∷ ValidationPolicy → ComputeLedgerEvents → LedgerCfg (LedgerState ByronBlock) → ByronBlock → Ticked (LedgerState ByronBlock) ValuesMK → Except (LedgerErr (LedgerState ByronBlock)) (LedgerResult (LedgerState ByronBlock) (LedgerState ByronBlock DiffMK)) Source # applyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState ByronBlock) → ByronBlock → Ticked (LedgerState ByronBlock) ValuesMK → Except (LedgerErr (LedgerState ByronBlock)) (LedgerResult (LedgerState ByronBlock) (LedgerState ByronBlock DiffMK)) Source # reapplyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState ByronBlock) → ByronBlock → Ticked (LedgerState ByronBlock) ValuesMK → LedgerResult (LedgerState ByronBlock) (LedgerState ByronBlock DiffMK) Source # getBlockKeySets ∷ ByronBlock → LedgerTables (LedgerState ByronBlock) KeysMK Source # | |||||||||
Bridge m a ⇒ ApplyBlock (LedgerState (DualBlock m a)) (DualBlock m a) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods applyBlockLedgerResultWithValidation ∷ ValidationPolicy → ComputeLedgerEvents → LedgerCfg (LedgerState (DualBlock m a)) → DualBlock m a → Ticked (LedgerState (DualBlock m a)) ValuesMK → Except (LedgerErr (LedgerState (DualBlock m a))) (LedgerResult (LedgerState (DualBlock m a)) (LedgerState (DualBlock m a) DiffMK)) Source # applyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState (DualBlock m a)) → DualBlock m a → Ticked (LedgerState (DualBlock m a)) ValuesMK → Except (LedgerErr (LedgerState (DualBlock m a))) (LedgerResult (LedgerState (DualBlock m a)) (LedgerState (DualBlock m a) DiffMK)) Source # reapplyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState (DualBlock m a)) → DualBlock m a → Ticked (LedgerState (DualBlock m a)) ValuesMK → LedgerResult (LedgerState (DualBlock m a)) (LedgerState (DualBlock m a) DiffMK) Source # getBlockKeySets ∷ DualBlock m a → LedgerTables (LedgerState (DualBlock m a)) KeysMK Source # | |||||||||
ShelleyCompatible proto era ⇒ ApplyBlock (LedgerState (ShelleyBlock proto era)) (ShelleyBlock proto era) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods applyBlockLedgerResultWithValidation ∷ ValidationPolicy → ComputeLedgerEvents → LedgerCfg (LedgerState (ShelleyBlock proto era)) → ShelleyBlock proto era → Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK → Except (LedgerErr (LedgerState (ShelleyBlock proto era))) (LedgerResult (LedgerState (ShelleyBlock proto era)) (LedgerState (ShelleyBlock proto era) DiffMK)) Source # applyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState (ShelleyBlock proto era)) → ShelleyBlock proto era → Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK → Except (LedgerErr (LedgerState (ShelleyBlock proto era))) (LedgerResult (LedgerState (ShelleyBlock proto era)) (LedgerState (ShelleyBlock proto era) DiffMK)) Source # reapplyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState (ShelleyBlock proto era)) → ShelleyBlock proto era → Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK → LedgerResult (LedgerState (ShelleyBlock proto era)) (LedgerState (ShelleyBlock proto era) DiffMK) Source # getBlockKeySets ∷ ShelleyBlock proto era → LedgerTables (LedgerState (ShelleyBlock proto era)) KeysMK Source # | |||||||||
Generic (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Associated Types
Methods from ∷ LedgerState ByronBlock mk → Rep (LedgerState ByronBlock mk) x # to ∷ Rep (LedgerState ByronBlock mk) x → LedgerState ByronBlock mk # | |||||||||
Generic (LedgerState (ShelleyBlock proto era) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ LedgerState (ShelleyBlock proto era) mk → Rep (LedgerState (ShelleyBlock proto era) mk) x # to ∷ Rep (LedgerState (ShelleyBlock proto era) mk) x → LedgerState (ShelleyBlock proto era) mk # | |||||||||
(ShowMK mk, CanHardFork xs) ⇒ Show (LedgerState (HardForkBlock xs) mk) | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Methods showsPrec ∷ Int → LedgerState (HardForkBlock xs) mk → ShowS # show ∷ LedgerState (HardForkBlock xs) mk → String # showList ∷ [LedgerState (HardForkBlock xs) mk] → ShowS # | |||||||||
(Bridge m a, ShowMK mk) ⇒ Show (LedgerState (DualBlock m a) mk) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
Show (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods showsPrec ∷ Int → LedgerState ByronBlock mk → ShowS # show ∷ LedgerState ByronBlock mk → String # showList ∷ [LedgerState ByronBlock mk] → ShowS # | |||||||||
(ShelleyBasedEra era, ShowMK mk) ⇒ Show (LedgerState (ShelleyBlock proto era) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods showsPrec ∷ Int → LedgerState (ShelleyBlock proto era) mk → ShowS # show ∷ LedgerState (ShelleyBlock proto era) mk → String # showList ∷ [LedgerState (ShelleyBlock proto era) mk] → ShowS # | |||||||||
(EqMK mk, CanHardFork xs) ⇒ Eq (LedgerState (HardForkBlock xs) mk) | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Methods (==) ∷ LedgerState (HardForkBlock xs) mk → LedgerState (HardForkBlock xs) mk → Bool # (/=) ∷ LedgerState (HardForkBlock xs) mk → LedgerState (HardForkBlock xs) mk → Bool # | |||||||||
(Bridge m a, EqMK mk) ⇒ Eq (LedgerState (DualBlock m a) mk) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods (==) ∷ LedgerState (DualBlock m a) mk → LedgerState (DualBlock m a) mk → Bool # (/=) ∷ LedgerState (DualBlock m a) mk → LedgerState (DualBlock m a) mk → Bool # | |||||||||
Eq (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods (==) ∷ LedgerState ByronBlock mk → LedgerState ByronBlock mk → Bool # (/=) ∷ LedgerState ByronBlock mk → LedgerState ByronBlock mk → Bool # | |||||||||
(ShelleyBasedEra era, EqMK mk) ⇒ Eq (LedgerState (ShelleyBlock proto era) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods (==) ∷ LedgerState (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk → Bool # (/=) ∷ LedgerState (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk → Bool # | |||||||||
(NoThunksMK mk, CanHardFork xs) ⇒ NoThunks (LedgerState (HardForkBlock xs) mk) | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Basics Methods noThunks ∷ Context → LedgerState (HardForkBlock xs) mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → LedgerState (HardForkBlock xs) mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (LedgerState (HardForkBlock xs) mk) → String Source # | |||||||||
NoThunks (LedgerState (DualBlock m a) mk) | |||||||||
NoThunks (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods noThunks ∷ Context → LedgerState ByronBlock mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → LedgerState ByronBlock mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (LedgerState ByronBlock mk) → String Source # | |||||||||
(ShelleyBasedEra era, NoThunksMK mk) ⇒ NoThunks (LedgerState (ShelleyBlock proto era) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods noThunks ∷ Context → LedgerState (ShelleyBlock proto era) mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → LedgerState (ShelleyBlock proto era) mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (LedgerState (ShelleyBlock proto era) mk) → String Source # | |||||||||
Bridge m a ⇒ GetTip (Ticked (LedgerState (DualBlock m a))) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
GetTip (Ticked (LedgerState ByronBlock)) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState ByronBlock) mk → Point (Ticked (LedgerState ByronBlock)) Source # | |||||||||
GetTip (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState (ShelleyBlock proto era)) mk → Point (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||||||
ShelleyBasedEra era ⇒ CanStowLedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods stowLedgerTables ∷ Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK → Ticked (LedgerState (ShelleyBlock proto era)) EmptyMK Source # unstowLedgerTables ∷ Ticked (LedgerState (ShelleyBlock proto era)) EmptyMK → Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK Source # | |||||||||
(Bridge m a, NoThunks (TxOut (LedgerState m)), NoThunks (TxIn (LedgerState m)), Show (TxOut (LedgerState m)), Show (TxIn (LedgerState m)), Eq (TxOut (LedgerState m)), Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m))) ⇒ HasLedgerTables (Ticked (LedgerState (DualBlock m a))) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (DualBlock m a)) mk → LedgerTables (Ticked (LedgerState (DualBlock m a))) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (DualBlock m a)) any → LedgerTables (Ticked (LedgerState (DualBlock m a))) mk → Ticked (LedgerState (DualBlock m a)) mk Source # | |||||||||
HasLedgerTables (Ticked (LedgerState ByronBlock)) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState ByronBlock) mk → LedgerTables (Ticked (LedgerState ByronBlock)) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState ByronBlock) any → LedgerTables (Ticked (LedgerState ByronBlock)) mk → Ticked (LedgerState ByronBlock) mk Source # | |||||||||
ShelleyBasedEra era ⇒ HasLedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (ShelleyBlock proto era)) mk → LedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (ShelleyBlock proto era)) any → LedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) mk → Ticked (LedgerState (ShelleyBlock proto era)) mk Source # | |||||||||
LedgerTablesAreTrivial (Ticked (LedgerState ByronBlock)) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (LedgerState ByronBlock) mk → Ticked (LedgerState ByronBlock) mk' Source # | |||||||||
IndexedMemPack (LedgerState (HardForkBlock '[ByronBlock]) EmptyMK) Void Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.ByronHFC Methods indexedPackedByteCount ∷ LedgerState (HardForkBlock '[ByronBlock]) EmptyMK → Void → Int Source # indexedPackM ∷ LedgerState (HardForkBlock '[ByronBlock]) EmptyMK → Void → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState (HardForkBlock '[ByronBlock]) EmptyMK → Unpack b Void Source # indexedTypeName ∷ LedgerState (HardForkBlock '[ByronBlock]) EmptyMK → String Source # | |||||||||
(txout ~ TxOut era, MemPack txout) ⇒ IndexedMemPack (LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK) txout Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.ShelleyHFC Methods indexedPackedByteCount ∷ LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK → txout → Int Source # indexedPackM ∷ LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK → txout → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK → Unpack b txout Source # indexedTypeName ∷ LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK → String Source # | |||||||||
(txout ~ TxOut (LedgerState m), IndexedMemPack (LedgerState m EmptyMK) txout) ⇒ IndexedMemPack (LedgerState (DualBlock m a) EmptyMK) txout | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods indexedPackedByteCount ∷ LedgerState (DualBlock m a) EmptyMK → txout → Int Source # indexedPackM ∷ LedgerState (DualBlock m a) EmptyMK → txout → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState (DualBlock m a) EmptyMK → Unpack b txout Source # indexedTypeName ∷ LedgerState (DualBlock m a) EmptyMK → String Source # | |||||||||
IndexedMemPack (LedgerState ByronBlock EmptyMK) Void Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods indexedPackedByteCount ∷ LedgerState ByronBlock EmptyMK → Void → Int Source # indexedPackM ∷ LedgerState ByronBlock EmptyMK → Void → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState ByronBlock EmptyMK → Unpack b Void Source # indexedTypeName ∷ LedgerState ByronBlock EmptyMK → String Source # | |||||||||
(txout ~ TxOut era, MemPack txout) ⇒ IndexedMemPack (LedgerState (ShelleyBlock proto era) EmptyMK) txout Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods indexedPackedByteCount ∷ LedgerState (ShelleyBlock proto era) EmptyMK → txout → Int Source # indexedPackM ∷ LedgerState (ShelleyBlock proto era) EmptyMK → txout → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState (ShelleyBlock proto era) EmptyMK → Unpack b txout Source # indexedTypeName ∷ LedgerState (ShelleyBlock proto era) EmptyMK → String Source # | |||||||||
CardanoHardForkConstraints c ⇒ IndexedMemPack (LedgerState (HardForkBlock (CardanoEras c)) EmptyMK) (CardanoTxOut c) Source # | |||||||||
Defined in Ouroboros.Consensus.Cardano.Ledger Methods indexedPackedByteCount ∷ LedgerState (HardForkBlock (CardanoEras c)) EmptyMK → CardanoTxOut c → Int Source # indexedPackM ∷ LedgerState (HardForkBlock (CardanoEras c)) EmptyMK → CardanoTxOut c → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState (HardForkBlock (CardanoEras c)) EmptyMK → Unpack b (CardanoTxOut c) Source # indexedTypeName ∷ LedgerState (HardForkBlock (CardanoEras c)) EmptyMK → String Source # | |||||||||
StandardHash blk ⇒ StandardHash (LedgerState blk ∷ MapKind → Type) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Basics | |||||||||
ShelleyCompatible proto era ⇒ DecodeDisk (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) EmptyMK) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (LedgerState (ShelleyBlock proto era) EmptyMK) Source # | |||||||||
ShelleyCompatible proto era ⇒ EncodeDisk (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) EmptyMK) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → LedgerState (ShelleyBlock proto era) EmptyMK → Encoding Source # | |||||||||
Generic (Ticked (LedgerState ByronBlock) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Associated Types
Methods from ∷ Ticked (LedgerState ByronBlock) mk → Rep (Ticked (LedgerState ByronBlock) mk) x # to ∷ Rep (Ticked (LedgerState ByronBlock) mk) x → Ticked (LedgerState ByronBlock) mk # | |||||||||
Generic (Ticked (LedgerState (ShelleyBlock proto era)) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ Ticked (LedgerState (ShelleyBlock proto era)) mk → Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) x # to ∷ Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) x → Ticked (LedgerState (ShelleyBlock proto era)) mk # | |||||||||
NoThunks (Ticked (LedgerState (DualBlock m a)) mk) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
NoThunks (Ticked (LedgerState ByronBlock) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods noThunks ∷ Context → Ticked (LedgerState ByronBlock) mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → Ticked (LedgerState ByronBlock) mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (Ticked (LedgerState ByronBlock) mk) → String Source # | |||||||||
Inject (Flip LedgerState mk) | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary Methods inject ∷ ∀ x (xs ∷ [Type]). (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) ⇒ InjectionIndex xs x → Flip LedgerState mk x → Flip LedgerState mk (HardForkBlock xs) Source # | |||||||||
Isomorphic (Flip LedgerState mk) | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary Methods project ∷ NoHardForks blk ⇒ Flip LedgerState mk (HardForkBlock '[blk]) → Flip LedgerState mk blk Source # inject ∷ NoHardForks blk ⇒ Flip LedgerState mk blk → Flip LedgerState mk (HardForkBlock '[blk]) Source # | |||||||||
data LedgerState ByronBlock mk Source # | |||||||||
type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.ShelleyHFC | |||||||||
type AuxLedgerEvent (LedgerState (HardForkBlock xs)) | |||||||||
type AuxLedgerEvent (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
type AuxLedgerEvent (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger | |||||||||
type AuxLedgerEvent (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||||||
type LedgerCfg (LedgerState (HardForkBlock xs)) | |||||||||
type LedgerCfg (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
type LedgerCfg (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger | |||||||||
type LedgerCfg (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||||||
type LedgerErr (LedgerState (HardForkBlock xs)) | |||||||||
type LedgerErr (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
type LedgerErr (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger | |||||||||
type LedgerErr (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||||||
newtype LedgerState (HardForkBlock xs) mk | |||||||||
type TxIn (LedgerState (HardForkBlock xs)) | Must be the | ||||||||
type TxIn (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
type TxIn (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger | |||||||||
type TxIn (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||||||
type TxOut (LedgerState (HardForkBlock xs)) | Must be the | ||||||||
type TxOut (LedgerState (DualBlock m a)) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
type TxOut (LedgerState ByronBlock) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger | |||||||||
type TxOut (LedgerState (ShelleyBlock proto era)) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||||||
type Rep (LedgerState ByronBlock mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger type Rep (LedgerState ByronBlock mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-cardano-0.25.0.0-inplace" 'False) (C1 ('MetaCons "ByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronLedgerTipBlockNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin BlockNo)) :*: (S1 ('MetaSel ('Just "byronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "byronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByronTransition)))) | |||||||||
type Rep (LedgerState (ShelleyBlock proto era) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-cardano-0.25.0.0-inplace" 'False) (C1 ('MetaCons "ShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "shelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era))) :*: (S1 ('MetaSel ('Just "shelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition) :*: S1 ('MetaSel ('Just "shelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk))))) | |||||||||
data LedgerState (DualBlock m a) mk | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||||||
data LedgerState (ShelleyBlock proto era) mk Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger data LedgerState (ShelleyBlock proto era) mk = ShelleyLedgerState {
| |||||||||
data Ticked (LedgerState (HardForkBlock xs) ∷ MapKind → Type) (mk ∷ MapKind) | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger data Ticked (LedgerState (HardForkBlock xs) ∷ MapKind → Type) (mk ∷ MapKind) = TickedHardForkLedgerState {} | |||||||||
data Ticked (LedgerState (DualBlock m a) ∷ MapKind → Type) (mk ∷ MapKind) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Dual data Ticked (LedgerState (DualBlock m a) ∷ MapKind → Type) (mk ∷ MapKind) = TickedDualLedgerState {} | |||||||||
data Ticked (LedgerState ByronBlock) (mk ∷ MapKind) Source # | The ticked Byron ledger state | ||||||||
data Ticked (LedgerState (ShelleyBlock proto era) ∷ MapKind → Type) (mk ∷ MapKind) Source # | Ticking only affects the state itself | ||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger data Ticked (LedgerState (ShelleyBlock proto era) ∷ MapKind → Type) (mk ∷ MapKind) = TickedShelleyLedgerState {
| |||||||||
type HeaderHash (LedgerState blk ∷ MapKind → Type) | |||||||||
Defined in Ouroboros.Consensus.Ledger.Basics | |||||||||
type Rep (Ticked (LedgerState ByronBlock) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger type Rep (Ticked (LedgerState ByronBlock) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-cardano-0.25.0.0-inplace" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByronTransition))) | |||||||||
type Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-cardano-0.25.0.0-inplace" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk))))) |
newtype LedgerTables (l ∷ LedgerStateKind) (mk ∷ MapKind) Source #
The Ledger Tables represent the portion of the data on disk that has been pulled from disk and attached to the in-memory Ledger State or that will eventually be written to disk.
With UTxO-HD and the split of the Ledger ledger state into the in-memory
part and the on-disk part, this splitting was reflected in the new type
parameter added to the (Consensus)
LedgerState
, to which we refer as "the
MapKind" or mk
.
Every LedgerState
(or LedgerState
-like
type, such as the ExtLedgerState
) is
associated with a LedgerTables
and they both share the mk
. They both are
of kind LedgerStateKind
. LedgerTables
is just a way to refer only to a
partial view of the on-disk data without having the rest of the in-memory
LedgerState
in scope.
The mk
can be instantiated to anything that is map-like, i.e. that expects
two type parameters, the key and the value.
Constructors
LedgerTables | |
Fields
|
Instances
(Ord (TxIn l), Eq (TxOut l), Show (TxIn l), Show (TxOut l), NoThunks (TxIn l), NoThunks (TxOut l), MemPack (TxIn l), IndexedMemPack (MemPackIdx l EmptyMK) (TxOut l)) ⇒ HasLedgerTables (LedgerTables l) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerTables l mk → LedgerTables (LedgerTables l) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerTables l any → LedgerTables (LedgerTables l) mk → LedgerTables l mk Source # | |||||
Generic (LedgerTables l mk) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics Associated Types
Methods from ∷ LedgerTables l mk → Rep (LedgerTables l mk) x # to ∷ Rep (LedgerTables l mk) x → LedgerTables l mk # | |||||
Show (mk (TxIn l) (TxOut l)) ⇒ Show (LedgerTables l mk) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics Methods showsPrec ∷ Int → LedgerTables l mk → ShowS # show ∷ LedgerTables l mk → String # showList ∷ [LedgerTables l mk] → ShowS # | |||||
Eq (mk (TxIn l) (TxOut l)) ⇒ Eq (LedgerTables l mk) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics Methods (==) ∷ LedgerTables l mk → LedgerTables l mk → Bool # (/=) ∷ LedgerTables l mk → LedgerTables l mk → Bool # | |||||
NoThunks (mk (TxIn l) (TxOut l)) ⇒ NoThunks (LedgerTables l mk) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type TxIn (LedgerTables l) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type TxOut (LedgerTables l) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type Rep (LedgerTables l mk) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics type Rep (LedgerTables l mk) = D1 ('MetaData "LedgerTables" "Ouroboros.Consensus.Ledger.Tables.Basics" "ouroboros-consensus-0.26.0.0-inplace" 'True) (C1 ('MetaCons "LedgerTables" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLedgerTables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (mk (TxIn l) (TxOut l))))) | |||||
type SerializeTablesHint (LedgerTables l ValuesMK) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables | |||||
type InitHint (LedgerTables l ValuesMK) | |||||
type ReadHint (LedgerTables l ValuesMK) | |||||
type WriteHint (LedgerTables l DiffMK) | |||||
data family Ticked (st ∷ k) ∷ k Source #
" Ticked " piece of state, either LedgerState
or ChainDepState
Ticking refers to the passage of time (the ticking of the clock). When a
piece of state is marked as ticked, it means that time-related changes have
been applied to the state. There are exactly two methods in the interface
that do that: tickChainDepState
and
applyChainTickLedgerResult
.
Also note that a successful forecast
must equal
forecastFor
(ledgerViewForecastAt
cfg st)
slot
. Thus a
protocolLedgerView
cfg
(applyChainTick
cfg slot st)LedgerView
can only be projected
from a Ticked
state, but cannot itself be ticked.
Some examples of time related changes:
- Scheduled delegations might have been applied in Byron
- New leader schedule computed for Shelley
- Transition from Byron to Shelley activated in the hard fork combinator.
- Nonces switched out at the start of a new epoch.
Instances
Show (Ticked ()) | |||||
Bridge m a ⇒ GetTip (Ticked (LedgerState (DualBlock m a))) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
GetTip (Ticked (LedgerState ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState ByronBlock) mk → Point (Ticked (LedgerState ByronBlock)) Source # | |||||
GetTip (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState (ShelleyBlock proto era)) mk → Point (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||
IsLedger (LedgerState blk) ⇒ GetTip (Ticked (ExtLedgerState blk)) | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (ExtLedgerState blk) mk → Point (Ticked (ExtLedgerState blk)) Source # | |||||
ShelleyBasedEra era ⇒ CanStowLedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods stowLedgerTables ∷ Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK → Ticked (LedgerState (ShelleyBlock proto era)) EmptyMK Source # unstowLedgerTables ∷ Ticked (LedgerState (ShelleyBlock proto era)) EmptyMK → Ticked (LedgerState (ShelleyBlock proto era)) ValuesMK Source # | |||||
(Bridge m a, NoThunks (TxOut (LedgerState m)), NoThunks (TxIn (LedgerState m)), Show (TxOut (LedgerState m)), Show (TxIn (LedgerState m)), Eq (TxOut (LedgerState m)), Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m))) ⇒ HasLedgerTables (Ticked (LedgerState (DualBlock m a))) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (DualBlock m a)) mk → LedgerTables (Ticked (LedgerState (DualBlock m a))) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (DualBlock m a)) any → LedgerTables (Ticked (LedgerState (DualBlock m a))) mk → Ticked (LedgerState (DualBlock m a)) mk Source # | |||||
HasLedgerTables (Ticked (LedgerState ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState ByronBlock) mk → LedgerTables (Ticked (LedgerState ByronBlock)) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState ByronBlock) any → LedgerTables (Ticked (LedgerState ByronBlock)) mk → Ticked (LedgerState ByronBlock) mk Source # | |||||
ShelleyBasedEra era ⇒ HasLedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (ShelleyBlock proto era)) mk → LedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (ShelleyBlock proto era)) any → LedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) mk → Ticked (LedgerState (ShelleyBlock proto era)) mk Source # | |||||
(HasLedgerTables (Ticked (LedgerState blk)), NoThunks (TxOut (LedgerState blk)), NoThunks (TxIn (LedgerState blk)), Show (TxOut (LedgerState blk)), Show (TxIn (LedgerState blk)), Eq (TxOut (LedgerState blk)), Ord (TxIn (LedgerState blk)), MemPack (TxIn (LedgerState blk))) ⇒ HasLedgerTables (Ticked (ExtLedgerState blk)) | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (ExtLedgerState blk) mk → LedgerTables (Ticked (ExtLedgerState blk)) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (ExtLedgerState blk) any → LedgerTables (Ticked (ExtLedgerState blk)) mk → Ticked (ExtLedgerState blk) mk Source # | |||||
LedgerTablesAreTrivial (Ticked (LedgerState ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (LedgerState ByronBlock) mk → Ticked (LedgerState ByronBlock) mk' Source # | |||||
LedgerTablesAreTrivial (Ticked (LedgerState blk)) ⇒ LedgerTablesAreTrivial (Ticked (ExtLedgerState blk)) | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (ExtLedgerState blk) mk → Ticked (ExtLedgerState blk) mk' Source # | |||||
Generic (Ticked (LedgerState ByronBlock) mk) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Associated Types
Methods from ∷ Ticked (LedgerState ByronBlock) mk → Rep (Ticked (LedgerState ByronBlock) mk) x # to ∷ Rep (Ticked (LedgerState ByronBlock) mk) x → Ticked (LedgerState ByronBlock) mk # | |||||
Generic (Ticked (LedgerState (ShelleyBlock proto era)) mk) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ Ticked (LedgerState (ShelleyBlock proto era)) mk → Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) x # to ∷ Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) x → Ticked (LedgerState (ShelleyBlock proto era)) mk # | |||||
NoThunks (Ticked (LedgerState (DualBlock m a)) mk) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
NoThunks (Ticked (LedgerState ByronBlock) mk) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods noThunks ∷ Context → Ticked (LedgerState ByronBlock) mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → Ticked (LedgerState ByronBlock) mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (Ticked (LedgerState ByronBlock) mk) → String Source # | |||||
Show (Ticked (f a)) ⇒ Show (((Ticked ∷ Type → Type) :.: f) a) | |||||
NoThunks (Ticked (f a)) ⇒ NoThunks (((Ticked ∷ Type → Type) :.: f) a) | |||||
data Ticked PraosState | |||||
data Ticked TPraosState | |||||
data Ticked () | |||||
Defined in Ouroboros.Consensus.Ticked | |||||
data Ticked (HardForkChainDepState xs ∷ Type) | |||||
data Ticked (HeaderState blk ∷ Type) | |||||
Defined in Ouroboros.Consensus.HeaderValidation | |||||
data Ticked (PBftState c ∷ Type) | |||||
Defined in Ouroboros.Consensus.Protocol.PBFT | |||||
newtype Ticked (WrapChainDepState blk ∷ Type) | |||||
Defined in Ouroboros.Consensus.TypeFamilyWrappers | |||||
type HeaderHash (Ticked l ∷ k) | |||||
Defined in Ouroboros.Consensus.Ticked | |||||
type TxIn (Ticked l) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type TxOut (Ticked l) | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
data Ticked (LedgerState (HardForkBlock xs) ∷ MapKind → Type) (mk ∷ MapKind) | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger data Ticked (LedgerState (HardForkBlock xs) ∷ MapKind → Type) (mk ∷ MapKind) = TickedHardForkLedgerState {} | |||||
data Ticked (LedgerState (DualBlock m a) ∷ MapKind → Type) (mk ∷ MapKind) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual data Ticked (LedgerState (DualBlock m a) ∷ MapKind → Type) (mk ∷ MapKind) = TickedDualLedgerState {} | |||||
data Ticked (LedgerState ByronBlock) (mk ∷ MapKind) Source # | The ticked Byron ledger state | ||||
data Ticked (LedgerState (ShelleyBlock proto era) ∷ MapKind → Type) (mk ∷ MapKind) Source # | Ticking only affects the state itself | ||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger data Ticked (LedgerState (ShelleyBlock proto era) ∷ MapKind → Type) (mk ∷ MapKind) = TickedShelleyLedgerState {
| |||||
data Ticked (ExtLedgerState blk ∷ MapKind → Type) (mk ∷ MapKind) | |||||
Defined in Ouroboros.Consensus.Ledger.Extended data Ticked (ExtLedgerState blk ∷ MapKind → Type) (mk ∷ MapKind) = TickedExtLedgerState {
| |||||
type Rep (Ticked (LedgerState ByronBlock) mk) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger type Rep (Ticked (LedgerState ByronBlock) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-cardano-0.25.0.0-inplace" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByronTransition))) | |||||
type Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-cardano-0.25.0.0-inplace" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk))))) |
Auxiliary
validationErrorImpossible ∷ err → a Source #
Mark computation as validation error free
Given a BlockValidationMode
of NoBlockValidation
, a call to
applyByronBlock
shouldn't fail since the ledger layer won't be performing
any block validation checks. However, because applyByronBlock
can fail in
the event it is given a BlockValidationMode
of BlockValidation
, it still
looks like it can fail (since its type doesn't change based on the
ValidationMode
) and we must still treat it as such.
Orphan instances
HasHardForkHistory ByronBlock Source # | |||||||||
Associated Types
Methods hardForkSummary ∷ ∀ (mk ∷ MapKind). LedgerConfig ByronBlock → LedgerState ByronBlock mk → Summary (HardForkIndices ByronBlock) Source # | |||||||||
UpdateLedger ByronBlock Source # | |||||||||
CommonProtocolParams ByronBlock Source # | |||||||||
Methods maxHeaderSize ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → Word32 Source # maxTxSize ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → Word32 Source # | |||||||||
BlockSupportsLedgerQuery ByronBlock Source # | |||||||||
Methods answerPureBlockQuery ∷ ExtLedgerCfg ByronBlock → BlockQuery ByronBlock 'QFNoTables result → ExtLedgerState ByronBlock EmptyMK → result Source # answerBlockQueryLookup ∷ MonadSTM m ⇒ ExtLedgerCfg ByronBlock → BlockQuery ByronBlock 'QFLookupTables result → ReadOnlyForker' m ByronBlock → m result Source # answerBlockQueryTraverse ∷ MonadSTM m ⇒ ExtLedgerCfg ByronBlock → BlockQuery ByronBlock 'QFTraverseTables result → ReadOnlyForker' m ByronBlock → m result Source # blockQueryIsSupportedOnVersion ∷ ∀ (fp ∷ QueryFootprint) result. BlockQuery ByronBlock fp result → BlockNodeToClientVersion ByronBlock → Bool Source # | |||||||||
LedgerSupportsPeerSelection ByronBlock Source # | |||||||||
Methods getPeers ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → [(PoolStake, NonEmpty StakePoolRelay)] Source # | |||||||||
LedgerSupportsProtocol ByronBlock Source # | |||||||||
Methods protocolLedgerView ∷ ∀ (mk ∷ MapKind). LedgerConfig ByronBlock → Ticked (LedgerState ByronBlock) mk → LedgerView (BlockProtocol ByronBlock) Source # ledgerViewForecastAt ∷ ∀ (mk ∷ MapKind). HasCallStack ⇒ LedgerConfig ByronBlock → LedgerState ByronBlock mk → Forecast (LedgerView (BlockProtocol ByronBlock)) Source # | |||||||||
SameDepIndex2 (BlockQuery ByronBlock) Source # | |||||||||
Methods sameDepIndex2 ∷ ∀ (x ∷ QueryFootprint) a (y ∷ QueryFootprint) b. BlockQuery ByronBlock x a → BlockQuery ByronBlock y b → Maybe ('(x, a) :~: '(y, b)) Source # | |||||||||
GetTip (LedgerState ByronBlock) Source # | |||||||||
Methods getTip ∷ ∀ (mk ∷ MapKind). LedgerState ByronBlock mk → Point (LedgerState ByronBlock) Source # | |||||||||
IsLedger (LedgerState ByronBlock) Source # | |||||||||
Associated Types
| |||||||||
CanStowLedgerTables (LedgerState ByronBlock) Source # | |||||||||
HasLedgerTables (LedgerState ByronBlock) Source # | |||||||||
Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState ByronBlock mk → LedgerTables (LedgerState ByronBlock) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState ByronBlock any → LedgerTables (LedgerState ByronBlock) mk → LedgerState ByronBlock mk Source # | |||||||||
LedgerTablesAreTrivial (LedgerState ByronBlock) Source # | |||||||||
Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). LedgerState ByronBlock mk → LedgerState ByronBlock mk' Source # | |||||||||
SerializeTablesWithHint (LedgerState ByronBlock) Source # | |||||||||
Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState ByronBlock) ValuesMK) → LedgerTables (LedgerState ByronBlock) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (LedgerState ByronBlock) ValuesMK) → Decoder s (LedgerTables (LedgerState ByronBlock) ValuesMK) Source # | |||||||||
CanUpgradeLedgerTables (LedgerState ByronBlock) Source # | |||||||||
Methods upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). LedgerState ByronBlock mk1 → LedgerState ByronBlock mk2 → LedgerTables (LedgerState ByronBlock) ValuesMK → LedgerTables (LedgerState ByronBlock) ValuesMK Source # | |||||||||
ApplyBlock (LedgerState ByronBlock) ByronBlock Source # | |||||||||
Methods applyBlockLedgerResultWithValidation ∷ ValidationPolicy → ComputeLedgerEvents → LedgerCfg (LedgerState ByronBlock) → ByronBlock → Ticked (LedgerState ByronBlock) ValuesMK → Except (LedgerErr (LedgerState ByronBlock)) (LedgerResult (LedgerState ByronBlock) (LedgerState ByronBlock DiffMK)) Source # applyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState ByronBlock) → ByronBlock → Ticked (LedgerState ByronBlock) ValuesMK → Except (LedgerErr (LedgerState ByronBlock)) (LedgerResult (LedgerState ByronBlock) (LedgerState ByronBlock DiffMK)) Source # reapplyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (LedgerState ByronBlock) → ByronBlock → Ticked (LedgerState ByronBlock) ValuesMK → LedgerResult (LedgerState ByronBlock) (LedgerState ByronBlock DiffMK) Source # getBlockKeySets ∷ ByronBlock → LedgerTables (LedgerState ByronBlock) KeysMK Source # | |||||||||
Generic (LedgerState ByronBlock mk) Source # | |||||||||
Associated Types
Methods from ∷ LedgerState ByronBlock mk → Rep (LedgerState ByronBlock mk) x # to ∷ Rep (LedgerState ByronBlock mk) x → LedgerState ByronBlock mk # | |||||||||
Show (LedgerState ByronBlock mk) Source # | |||||||||
Methods showsPrec ∷ Int → LedgerState ByronBlock mk → ShowS # show ∷ LedgerState ByronBlock mk → String # showList ∷ [LedgerState ByronBlock mk] → ShowS # | |||||||||
Eq (LedgerState ByronBlock mk) Source # | |||||||||
Methods (==) ∷ LedgerState ByronBlock mk → LedgerState ByronBlock mk → Bool # (/=) ∷ LedgerState ByronBlock mk → LedgerState ByronBlock mk → Bool # | |||||||||
NoThunks (LedgerState ByronBlock mk) Source # | |||||||||
Methods noThunks ∷ Context → LedgerState ByronBlock mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → LedgerState ByronBlock mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (LedgerState ByronBlock mk) → String Source # | |||||||||
GetTip (Ticked (LedgerState ByronBlock)) Source # | |||||||||
Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState ByronBlock) mk → Point (Ticked (LedgerState ByronBlock)) Source # | |||||||||
HasLedgerTables (Ticked (LedgerState ByronBlock)) Source # | |||||||||
Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState ByronBlock) mk → LedgerTables (Ticked (LedgerState ByronBlock)) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState ByronBlock) any → LedgerTables (Ticked (LedgerState ByronBlock)) mk → Ticked (LedgerState ByronBlock) mk Source # | |||||||||
LedgerTablesAreTrivial (Ticked (LedgerState ByronBlock)) Source # | |||||||||
Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (LedgerState ByronBlock) mk → Ticked (LedgerState ByronBlock) mk' Source # | |||||||||
ShowQuery (BlockQuery ByronBlock fp) Source # | |||||||||
Methods showResult ∷ BlockQuery ByronBlock fp result → result → String Source # | |||||||||
IndexedMemPack (LedgerState ByronBlock EmptyMK) Void Source # | |||||||||
Methods indexedPackedByteCount ∷ LedgerState ByronBlock EmptyMK → Void → Int Source # indexedPackM ∷ LedgerState ByronBlock EmptyMK → Void → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ LedgerState ByronBlock EmptyMK → Unpack b Void Source # indexedTypeName ∷ LedgerState ByronBlock EmptyMK → String Source # | |||||||||
ShowProxy (BlockQuery ByronBlock) Source # | |||||||||
Methods showProxy ∷ Proxy (BlockQuery ByronBlock) → String Source # | |||||||||
Generic (Ticked (LedgerState ByronBlock) mk) Source # | |||||||||
Associated Types
Methods from ∷ Ticked (LedgerState ByronBlock) mk → Rep (Ticked (LedgerState ByronBlock) mk) x # to ∷ Rep (Ticked (LedgerState ByronBlock) mk) x → Ticked (LedgerState ByronBlock) mk # | |||||||||
Show (BlockQuery ByronBlock fp result) Source # | |||||||||
Methods showsPrec ∷ Int → BlockQuery ByronBlock fp result → ShowS # show ∷ BlockQuery ByronBlock fp result → String # showList ∷ [BlockQuery ByronBlock fp result] → ShowS # | |||||||||
Eq (BlockQuery ByronBlock fp result) Source # | |||||||||
Methods (==) ∷ BlockQuery ByronBlock fp result → BlockQuery ByronBlock fp result → Bool # (/=) ∷ BlockQuery ByronBlock fp result → BlockQuery ByronBlock fp result → Bool # | |||||||||
NoThunks (Ticked (LedgerState ByronBlock) mk) Source # | |||||||||
Methods noThunks ∷ Context → Ticked (LedgerState ByronBlock) mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → Ticked (LedgerState ByronBlock) mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (Ticked (LedgerState ByronBlock) mk) → String Source # |