| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Ledger.Extended
Synopsis
- data ExtLedgerState blk = ExtLedgerState {
- ledgerState :: !(LedgerState blk)
- headerState :: !(HeaderState blk)
- data ExtValidationError blk
- = ExtValidationErrorLedger !(LedgerError blk)
- | ExtValidationErrorHeader !(HeaderError blk)
- newtype ExtLedgerCfg blk = ExtLedgerCfg {
- getExtLedgerCfg :: TopLevelConfig blk
- encodeExtLedgerState :: (LedgerState blk -> Encoding) -> (ChainDepState (BlockProtocol blk) -> Encoding) -> (AnnTip blk -> Encoding) -> ExtLedgerState blk -> Encoding
- decodeExtLedgerState :: (forall s. Decoder s (LedgerState blk)) -> (forall s. Decoder s (ChainDepState (BlockProtocol blk))) -> (forall s. Decoder s (AnnTip blk)) -> forall s. Decoder s (ExtLedgerState blk)
- 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
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
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
| Generic (ExtLedgerCfg blk) Source # | |
Defined in Ouroboros.Consensus.Ledger.Extended Associated Types type Rep (ExtLedgerCfg blk) :: Type -> Type # Methods from :: ExtLedgerCfg blk -> Rep (ExtLedgerCfg blk) x # to :: Rep (ExtLedgerCfg blk) x -> ExtLedgerCfg blk # | |
| (ConsensusProtocol (BlockProtocol blk), NoThunks (BlockConfig blk), NoThunks (CodecConfig blk), NoThunks (LedgerConfig blk), NoThunks (StorageConfig blk)) => NoThunks (ExtLedgerCfg blk) Source # | |
Defined in Ouroboros.Consensus.Ledger.Extended | |
| type Rep (ExtLedgerCfg blk) Source # | |
Defined in Ouroboros.Consensus.Ledger.Extended type Rep (ExtLedgerCfg blk) = D1 ('MetaData "ExtLedgerCfg" "Ouroboros.Consensus.Ledger.Extended" "ouroboros-consensus-0.1.0.0-GfJNvFcM6lj2s5utKAUPEp" 'True) (C1 ('MetaCons "ExtLedgerCfg" 'PrefixI 'True) (S1 ('MetaSel ('Just "getExtLedgerCfg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TopLevelConfig blk)))) | |
Serialisation
encodeExtLedgerState :: (LedgerState blk -> Encoding) -> (ChainDepState (BlockProtocol blk) -> Encoding) -> (AnnTip blk -> Encoding) -> ExtLedgerState blk -> Encoding Source #
decodeExtLedgerState :: (forall s. Decoder s (LedgerState blk)) -> (forall s. Decoder s (ChainDepState (BlockProtocol blk))) -> (forall s. Decoder s (AnnTip blk)) -> forall s. Decoder s (ExtLedgerState blk) 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.