Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Ledger.Extended
Synopsis
- newtype ExtLedgerCfg blk = ExtLedgerCfg {}
- data ExtLedgerState blk = ExtLedgerState {
- ledgerState ∷ !(LedgerState blk)
- headerState ∷ !(HeaderState blk)
- data ExtValidationError blk
- = ExtValidationErrorLedger !(LedgerError blk)
- | ExtValidationErrorHeader !(HeaderError blk)
- decodeExtLedgerState ∷ (∀ s. Decoder s (LedgerState blk)) → (∀ s. Decoder s (ChainDepState (BlockProtocol blk))) → (∀ s. Decoder s (AnnTip blk)) → ∀ s. Decoder s (ExtLedgerState blk)
- encodeExtLedgerState ∷ (LedgerState blk → Encoding) → (ChainDepState (BlockProtocol blk) → Encoding) → (AnnTip blk → Encoding) → ExtLedgerState blk → Encoding
- castExtLedgerState ∷ (Coercible (LedgerState blk) (LedgerState blk'), Coercible (ChainDepState (BlockProtocol blk)) (ChainDepState (BlockProtocol blk')), TipInfo blk ~ TipInfo blk') ⇒ ExtLedgerState blk → ExtLedgerState blk'
- data family Ticked st ∷ Type
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 Source #
Extended ledger state
This is the combination of the header state and the ledger state proper.
Constructors
ExtLedgerState | |
Fields
|
Instances
data ExtValidationError blk Source #
Constructors
ExtValidationErrorLedger !(LedgerError blk) | |
ExtValidationErrorHeader !(HeaderError blk) |
Instances
Serialisation
decodeExtLedgerState ∷ (∀ s. Decoder s (LedgerState blk)) → (∀ s. Decoder s (ChainDepState (BlockProtocol blk))) → (∀ s. Decoder s (AnnTip blk)) → ∀ s. Decoder s (ExtLedgerState blk) Source #
encodeExtLedgerState ∷ (LedgerState blk → Encoding) → (ChainDepState (BlockProtocol blk) → Encoding) → (AnnTip blk → Encoding) → ExtLedgerState blk → Encoding Source #
Casts
castExtLedgerState ∷ (Coercible (LedgerState blk) (LedgerState blk'), Coercible (ChainDepState (BlockProtocol blk)) (ChainDepState (BlockProtocol blk')), TipInfo blk ~ TipInfo blk') ⇒ ExtLedgerState blk → ExtLedgerState blk' Source #
Type family instances
data family Ticked st ∷ Type Source #
" Ticked " piece of state (LedgerState
, LedgerView
, ChainIndepState
)
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 (or forecast).
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.