Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Ledger.Extended
Synopsis
- newtype ExtLedgerCfg blk = ExtLedgerCfg {}
- data ExtLedgerState blk (mk ∷ MapKind) = ExtLedgerState {
- ledgerState ∷ !(LedgerState blk mk)
- headerState ∷ !(HeaderState blk)
- data ExtValidationError blk
- = ExtValidationErrorLedger !(LedgerError blk)
- | ExtValidationErrorHeader !(HeaderError blk)
- decodeDiskExtLedgerState ∷ (DecodeDisk blk (LedgerState blk EmptyMK), DecodeDisk blk (ChainDepState (BlockProtocol blk)), DecodeDisk blk (AnnTip blk)) ⇒ CodecConfig blk → ∀ s. Decoder s (ExtLedgerState blk EmptyMK)
- decodeExtLedgerState ∷ (∀ s. Decoder s (LedgerState blk EmptyMK)) → (∀ s. Decoder s (ChainDepState (BlockProtocol blk))) → (∀ s. Decoder s (AnnTip blk)) → ∀ s. Decoder s (ExtLedgerState blk EmptyMK)
- encodeDiskExtLedgerState ∷ (EncodeDisk blk (LedgerState blk EmptyMK), EncodeDisk blk (ChainDepState (BlockProtocol blk)), EncodeDisk blk (AnnTip blk)) ⇒ CodecConfig blk → ExtLedgerState blk EmptyMK → Encoding
- encodeExtLedgerState ∷ ∀ blk (mk ∷ MapKind). (LedgerState blk mk → Encoding) → (ChainDepState (BlockProtocol blk) → Encoding) → (AnnTip blk → Encoding) → ExtLedgerState blk mk → Encoding
- newtype LedgerTables (l ∷ LedgerStateKind) (mk ∷ MapKind) = LedgerTables {
- getLedgerTables ∷ mk (TxIn l) (TxOut l)
- data family Ticked (st ∷ k) ∷ k
Extended ledger state
newtype ExtLedgerCfg blk Source #
" Ledger " configuration for the extended ledger
Since the extended ledger also does the consensus protocol validation, we also need the consensus config.
Constructors
ExtLedgerCfg | |
Fields |
Instances
data ExtLedgerState blk (mk ∷ MapKind) Source #
Extended ledger state
This is the combination of the header state and the ledger state proper.
Constructors
ExtLedgerState | |
Fields
|
Instances
IsLedger (LedgerState blk) ⇒ GetTip (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods getTip ∷ ∀ (mk ∷ MapKind). ExtLedgerState blk mk → Point (ExtLedgerState blk) Source # | |||||||||
LedgerSupportsProtocol blk ⇒ IsLedger (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Associated Types
Methods applyChainTickLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (ExtLedgerState blk) → SlotNo → ExtLedgerState blk EmptyMK → LedgerResult (ExtLedgerState blk) (Ticked (ExtLedgerState blk) DiffMK) Source # | |||||||||
CanStowLedgerTables (LedgerState blk) ⇒ CanStowLedgerTables (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods stowLedgerTables ∷ ExtLedgerState blk ValuesMK → ExtLedgerState blk EmptyMK Source # unstowLedgerTables ∷ ExtLedgerState blk EmptyMK → ExtLedgerState blk ValuesMK Source # | |||||||||
(HasLedgerTables (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 (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ ExtLedgerState blk mk → LedgerTables (ExtLedgerState blk) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ ExtLedgerState blk any → LedgerTables (ExtLedgerState blk) mk → ExtLedgerState blk mk Source # | |||||||||
LedgerTablesAreTrivial (LedgerState blk) ⇒ LedgerTablesAreTrivial (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). ExtLedgerState blk mk → ExtLedgerState blk mk' Source # | |||||||||
SerializeTablesWithHint (LedgerState blk) ⇒ SerializeTablesWithHint (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods encodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (ExtLedgerState blk) ValuesMK) → LedgerTables (ExtLedgerState blk) ValuesMK → Encoding Source # decodeTablesWithHint ∷ SerializeTablesHint (LedgerTables (ExtLedgerState blk) ValuesMK) → Decoder s (LedgerTables (ExtLedgerState blk) ValuesMK) Source # | |||||||||
CanUpgradeLedgerTables (LedgerState blk) ⇒ CanUpgradeLedgerTables (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Storage.LedgerDB.API Methods upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). ExtLedgerState blk mk1 → ExtLedgerState blk mk2 → LedgerTables (ExtLedgerState blk) ValuesMK → LedgerTables (ExtLedgerState blk) ValuesMK Source # | |||||||||
LedgerSupportsProtocol blk ⇒ ApplyBlock (ExtLedgerState blk) blk Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods applyBlockLedgerResultWithValidation ∷ ValidationPolicy → ComputeLedgerEvents → LedgerCfg (ExtLedgerState blk) → blk → Ticked (ExtLedgerState blk) ValuesMK → Except (LedgerErr (ExtLedgerState blk)) (LedgerResult (ExtLedgerState blk) (ExtLedgerState blk DiffMK)) Source # applyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (ExtLedgerState blk) → blk → Ticked (ExtLedgerState blk) ValuesMK → Except (LedgerErr (ExtLedgerState blk)) (LedgerResult (ExtLedgerState blk) (ExtLedgerState blk DiffMK)) Source # reapplyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg (ExtLedgerState blk) → blk → Ticked (ExtLedgerState blk) ValuesMK → LedgerResult (ExtLedgerState blk) (ExtLedgerState blk DiffMK) Source # getBlockKeySets ∷ blk → LedgerTables (ExtLedgerState blk) KeysMK Source # | |||||||||
Generic (ExtLedgerState blk mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Associated Types
Methods from ∷ ExtLedgerState blk mk → Rep (ExtLedgerState blk mk) x # to ∷ Rep (ExtLedgerState blk mk) x → ExtLedgerState blk mk # | |||||||||
(ShowMK mk, LedgerSupportsProtocol blk) ⇒ Show (ExtLedgerState blk mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods showsPrec ∷ Int → ExtLedgerState blk mk → ShowS # show ∷ ExtLedgerState blk mk → String # showList ∷ [ExtLedgerState blk mk] → ShowS # | |||||||||
(EqMK mk, LedgerSupportsProtocol blk) ⇒ Eq (ExtLedgerState blk mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods (==) ∷ ExtLedgerState blk mk → ExtLedgerState blk mk → Bool # (/=) ∷ ExtLedgerState blk mk → ExtLedgerState blk mk → Bool # | |||||||||
(NoThunksMK mk, LedgerSupportsProtocol blk) ⇒ NoThunks (ExtLedgerState blk mk) Source # | We override This makes debugging a bit easier, as the block gets used to resolve all kinds of type families. | ||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
IsLedger (LedgerState blk) ⇒ GetTip (Ticked (ExtLedgerState blk)) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (ExtLedgerState blk) mk → Point (Ticked (ExtLedgerState blk)) 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)) Source # | |||||||||
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 blk)) ⇒ LedgerTablesAreTrivial (Ticked (ExtLedgerState blk)) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (ExtLedgerState blk) mk → Ticked (ExtLedgerState blk) mk' Source # | |||||||||
(txout ~ TxOut (LedgerState blk), IndexedMemPack (LedgerState blk EmptyMK) txout) ⇒ IndexedMemPack (ExtLedgerState blk EmptyMK) txout Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods indexedPackedByteCount ∷ ExtLedgerState blk EmptyMK → txout → Int Source # indexedPackM ∷ ExtLedgerState blk EmptyMK → txout → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ ExtLedgerState blk EmptyMK → Unpack b txout Source # indexedTypeName ∷ ExtLedgerState blk EmptyMK → String Source # | |||||||||
(NoThunks (HeaderHash blk), Typeable (HeaderHash blk), Show (HeaderHash blk), Ord (HeaderHash blk), Eq (HeaderHash blk)) ⇒ StandardHash (ExtLedgerState blk ∷ MapKind → Type) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
Inject (Flip ExtLedgerState mk) Source # | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary Methods inject ∷ ∀ x (xs ∷ [Type]). (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) ⇒ InjectionIndex xs x → Flip ExtLedgerState mk x → Flip ExtLedgerState mk (HardForkBlock xs) Source # | |||||||||
Isomorphic (Flip ExtLedgerState mk) Source # | |||||||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary Methods project ∷ NoHardForks blk ⇒ Flip ExtLedgerState mk (HardForkBlock '[blk]) → Flip ExtLedgerState mk blk Source # inject ∷ NoHardForks blk ⇒ Flip ExtLedgerState mk blk → Flip ExtLedgerState mk (HardForkBlock '[blk]) Source # | |||||||||
type AuxLedgerEvent (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
type LedgerCfg (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
type LedgerErr (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
type TxIn (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
type TxOut (ExtLedgerState blk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||||||
type Rep (ExtLedgerState blk mk) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended type Rep (ExtLedgerState blk mk) = D1 ('MetaData "ExtLedgerState" "Ouroboros.Consensus.Ledger.Extended" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "ExtLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "ledgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerState blk mk)) :*: S1 ('MetaSel ('Just "headerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderState blk)))) | |||||||||
data Ticked (ExtLedgerState blk ∷ MapKind → Type) (mk ∷ MapKind) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended data Ticked (ExtLedgerState blk ∷ MapKind → Type) (mk ∷ MapKind) = TickedExtLedgerState {
| |||||||||
type HeaderHash (ExtLedgerState blk ∷ MapKind → Type) Source # | |||||||||
Defined in Ouroboros.Consensus.Ledger.Extended |
data ExtValidationError blk Source #
Constructors
ExtValidationErrorLedger !(LedgerError blk) | |
ExtValidationErrorHeader !(HeaderError blk) |
Instances
Generic (ExtValidationError blk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Associated Types
Methods from ∷ ExtValidationError blk → Rep (ExtValidationError blk) x # to ∷ Rep (ExtValidationError blk) x → ExtValidationError blk # | |||||
LedgerSupportsProtocol blk ⇒ Show (ExtValidationError blk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods showsPrec ∷ Int → ExtValidationError blk → ShowS # show ∷ ExtValidationError blk → String # showList ∷ [ExtValidationError blk] → ShowS # | |||||
LedgerSupportsProtocol blk ⇒ Eq (ExtValidationError blk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods (==) ∷ ExtValidationError blk → ExtValidationError blk → Bool # (/=) ∷ ExtValidationError blk → ExtValidationError blk → Bool # | |||||
LedgerSupportsProtocol blk ⇒ NoThunks (ExtValidationError blk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended | |||||
type Rep (ExtValidationError blk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended type Rep (ExtValidationError blk) = D1 ('MetaData "ExtValidationError" "Ouroboros.Consensus.Ledger.Extended" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "ExtValidationErrorLedger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerError blk))) :+: C1 ('MetaCons "ExtValidationErrorHeader" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderError blk)))) |
Serialisation
decodeDiskExtLedgerState ∷ (DecodeDisk blk (LedgerState blk EmptyMK), DecodeDisk blk (ChainDepState (BlockProtocol blk)), DecodeDisk blk (AnnTip blk)) ⇒ CodecConfig blk → ∀ s. Decoder s (ExtLedgerState blk EmptyMK) Source #
decodeExtLedgerState ∷ (∀ s. Decoder s (LedgerState blk EmptyMK)) → (∀ s. Decoder s (ChainDepState (BlockProtocol blk))) → (∀ s. Decoder s (AnnTip blk)) → ∀ s. Decoder s (ExtLedgerState blk EmptyMK) Source #
encodeDiskExtLedgerState ∷ (EncodeDisk blk (LedgerState blk EmptyMK), EncodeDisk blk (ChainDepState (BlockProtocol blk)), EncodeDisk blk (AnnTip blk)) ⇒ CodecConfig blk → ExtLedgerState blk EmptyMK → Encoding Source #
encodeExtLedgerState ∷ ∀ blk (mk ∷ MapKind). (LedgerState blk mk → Encoding) → (ChainDepState (BlockProtocol blk) → Encoding) → (AnnTip blk → Encoding) → ExtLedgerState blk mk → Encoding Source #
Type family instances
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) Source # | |||||
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 # | |||||
(∀ k v. LedgerTableConstraints' l k v ⇒ Monoid (mk k v), LedgerTableConstraints l) ⇒ Monoid (LedgerTables l mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Combinators Methods mempty ∷ LedgerTables l mk # mappend ∷ LedgerTables l mk → LedgerTables l mk → LedgerTables l mk # mconcat ∷ [LedgerTables l mk] → LedgerTables l mk # | |||||
(∀ k v. LedgerTableConstraints' l k v ⇒ Semigroup (mk k v), LedgerTableConstraints l) ⇒ Semigroup (LedgerTables l mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Combinators Methods (<>) ∷ LedgerTables l mk → LedgerTables l mk → LedgerTables l mk # sconcat ∷ NonEmpty (LedgerTables l mk) → LedgerTables l mk # stimes ∷ Integral b ⇒ b → LedgerTables l mk → LedgerTables l mk # | |||||
Generic (LedgerTables l mk) Source # | |||||
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) Source # | |||||
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) Source # | |||||
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) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type TxIn (LedgerTables l) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type TxOut (LedgerTables l) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
type Rep (LedgerTables l mk) Source # | |||||
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) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables | |||||
type InitHint (LedgerTables l ValuesMK) Source # | |||||
type ReadHint (LedgerTables l ValuesMK) Source # | |||||
type WriteHint (LedgerTables l DiffMK) Source # | |||||
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 ()) Source # | |
CanHardFork xs ⇒ GetTip (Ticked (LedgerState (HardForkBlock xs))) Source # | |
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState (HardForkBlock xs)) mk → Point (Ticked (LedgerState (HardForkBlock xs))) Source # | |
Bridge m a ⇒ GetTip (Ticked (LedgerState (DualBlock m a))) Source # | |
Defined in Ouroboros.Consensus.Ledger.Dual | |
IsLedger (LedgerState blk) ⇒ GetTip (Ticked (ExtLedgerState blk)) Source # | |
Defined in Ouroboros.Consensus.Ledger.Extended Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked (ExtLedgerState blk) mk → Point (Ticked (ExtLedgerState blk)) Source # | |
(CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) ⇒ HasLedgerTables (Ticked (LedgerState (HardForkBlock xs))) Source # | |
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (HardForkBlock xs)) mk → LedgerTables (Ticked (LedgerState (HardForkBlock xs))) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (HardForkBlock xs)) any → LedgerTables (Ticked (LedgerState (HardForkBlock xs))) mk → Ticked (LedgerState (HardForkBlock xs)) mk 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))) Source # | |
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 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)) Source # | |
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 blk)) ⇒ LedgerTablesAreTrivial (Ticked (ExtLedgerState blk)) Source # | |
Defined in Ouroboros.Consensus.Ledger.Extended Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (ExtLedgerState blk) mk → Ticked (ExtLedgerState blk) mk' Source # | |
NoThunks (Ticked (LedgerState (DualBlock m a)) mk) Source # | |
Defined in Ouroboros.Consensus.Ledger.Dual | |
Show (Ticked (f a)) ⇒ Show (((Ticked ∷ Type → Type) :.: f) a) Source # | |
NoThunks (Ticked (f a)) ⇒ NoThunks (((Ticked ∷ Type → Type) :.: f) a) Source # | |
data Ticked () Source # | |
Defined in Ouroboros.Consensus.Ticked | |
data Ticked (HardForkChainDepState xs ∷ Type) Source # | |
data Ticked (HeaderState blk ∷ Type) Source # | |
Defined in Ouroboros.Consensus.HeaderValidation | |
data Ticked (PBftState c ∷ Type) Source # | |
Defined in Ouroboros.Consensus.Protocol.PBFT | |
newtype Ticked (WrapChainDepState blk ∷ Type) Source # | |
Defined in Ouroboros.Consensus.TypeFamilyWrappers | |
type HeaderHash (Ticked l ∷ k) Source # | |
Defined in Ouroboros.Consensus.Ticked | |
type TxIn (Ticked l) Source # | |
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |
type TxOut (Ticked l) Source # | |
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |
data Ticked (LedgerState (HardForkBlock xs) ∷ MapKind → Type) (mk ∷ MapKind) Source # | |
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) Source # | |
Defined in Ouroboros.Consensus.Ledger.Dual data Ticked (LedgerState (DualBlock m a) ∷ MapKind → Type) (mk ∷ MapKind) = TickedDualLedgerState {} | |
data Ticked (ExtLedgerState blk ∷ MapKind → Type) (mk ∷ MapKind) Source # | |
Defined in Ouroboros.Consensus.Ledger.Extended data Ticked (ExtLedgerState blk ∷ MapKind → Type) (mk ∷ MapKind) = TickedExtLedgerState {
|