ouroboros-consensus-0.25.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Mock.Protocol.Praos

Description

Proof of concept implementation of Praos

Synopsis

Documentation

data HotKey c Source #

The key used for the given period or a stub Poisoned value.

A key will be poisoned if it failed to evolve by updateKES, and will remain poisoned forever after that.

Constructors

HotKey 

Fields

HotKeyPoisoned 

Instances

Instances details
Generic (HotKey c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type Rep (HotKey c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (HotKey c) = D1 ('MetaData "HotKey" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "HotKey" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Period) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (UnsoundPureSignKeyKES (PraosKES c)))) :+: C1 ('MetaCons "HotKeyPoisoned" 'PrefixI 'False) (U1TypeType))

Methods

fromHotKey c → Rep (HotKey c) x #

toRep (HotKey c) x → HotKey c #

PraosCrypto c ⇒ Show (HotKey c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Methods

showsPrecIntHotKey c → ShowS #

showHotKey c → String #

showList ∷ [HotKey c] → ShowS #

PraosCrypto c ⇒ NoThunks (HotKey c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (HotKey c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (HotKey c) = D1 ('MetaData "HotKey" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "HotKey" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Period) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (UnsoundPureSignKeyKES (PraosKES c)))) :+: C1 ('MetaCons "HotKeyPoisoned" 'PrefixI 'False) (U1TypeType))

newtype HotKeyEvolutionError Source #

The HotKey could not be evolved to the given Period.

data Praos c Source #

An uninhabited type representing the Praos protocol.

Instances

Instances details
Generic (ConsensusConfig (Praos c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type Rep (ConsensusConfig (Praos c)) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (ConsensusConfig (Praos c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "praosParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosParams) :*: (S1 ('MetaSel ('Just "praosInitialEta") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "praosInitialStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 StakeDist))) :*: (S1 ('MetaSel ('Just "praosEvolvingStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosEvolvingStake) :*: (S1 ('MetaSel ('Just "praosSignKeyVRF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyVRF (PraosVRF c))) :*: S1 ('MetaSel ('Just "praosVerKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map CoreNodeId (VerKeyKES (PraosKES c), VerKeyVRF (PraosVRF c))))))))
PraosCrypto c ⇒ NoThunks (ConsensusConfig (Praos c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c ⇒ ConsensusProtocol (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type ChainDepState (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type IsLeader (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type IsLeader (Praos c)
type CanBeLeader (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type SelectView (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type LedgerView (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type LedgerView (Praos c) = ()
type ValidationErr (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type ValidateView (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (ConsensusConfig (Praos c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (ConsensusConfig (Praos c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "praosParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosParams) :*: (S1 ('MetaSel ('Just "praosInitialEta") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "praosInitialStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 StakeDist))) :*: (S1 ('MetaSel ('Just "praosEvolvingStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosEvolvingStake) :*: (S1 ('MetaSel ('Just "praosSignKeyVRF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyVRF (PraosVRF c))) :*: S1 ('MetaSel ('Just "praosVerKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map CoreNodeId (VerKeyKES (PraosKES c), VerKeyVRF (PraosVRF c))))))))
type CanBeLeader (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type ChainDepState (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

data ConsensusConfig (Praos c) Source #

The configuration that will be provided to every node when running the MockPraos protocol.

Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type IsLeader (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type IsLeader (Praos c)
type LedgerView (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type LedgerView (Praos c) = ()
type SelectView (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type ValidateView (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type ValidationErr (Praos c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

newtype PraosChainDepState c Source #

The chain dependent state, in this case as it is a mock, we just will store a list of BlockInfos that allow us to look into the past.

Constructors

PraosChainDepState 

Fields

Instances

Instances details
PraosCrypto c ⇒ Show (PraosChainDepState c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c ⇒ Eq (PraosChainDepState c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c ⇒ NoThunks (PraosChainDepState c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c ⇒ Serialise (PraosChainDepState c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c' ⇒ DecodeDisk (SimplePraosBlock c c') (PraosChainDepState c') Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.Praos

PraosCrypto c' ⇒ EncodeDisk (SimplePraosBlock c c') (PraosChainDepState c') Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.Praos

data Ticked (PraosChainDepState c ∷ Type) Source #

Ticking the Praos chain dep state has no effect

For the real Praos implementation, ticking is crucial, as it determines the point where the "nonce under construction" is swapped out for the "active" nonce. However, for the mock implementation, we keep the full history, and choose the right nonce from that; this means that ticking has no effect.

We do however need access to the ticked stake distribution.

Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

newtype PraosEvolvingStake Source #

An association from epoch to stake distributions.

Should be used when checking if someone is the leader of a particular slot. This is sufficiently good for a mock protocol as far as consensus is concerned. It is not strictly necessary that the stake distribution is computed from previous epochs, as we just need to consider that:

1) an attacker cannot influence it. 2) all the nodes agree on the same value for each Slot.

Each pair stores the stake distribution established by the end of the epoch in the first item of the pair. See latestEvolvedStakeDistAsOfEpoch for the intended interface.

If no value is returned, that means we are checking the stake before any changes have happened so we should consult instead the praosInitialStake.

data PraosExtraFields c Source #

Fields that should be included in the signature

Constructors

PraosExtraFields 

data PraosFields crypto typeBeingSigned Source #

The fields that Praos required in the header

Constructors

PraosFields 

Fields

Instances

Instances details
Generic (PraosFields crypto typeBeingSigned) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type Rep (PraosFields crypto typeBeingSigned) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (PraosFields crypto typeBeingSigned) = D1 ('MetaData "PraosFields" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosFields" 'PrefixI 'True) (S1 ('MetaSel ('Just "praosSignature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SignedKES (PraosKES crypto) typeBeingSigned)) :*: S1 ('MetaSel ('Just "praosExtraFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PraosExtraFields crypto))))

Methods

fromPraosFields crypto typeBeingSigned → Rep (PraosFields crypto typeBeingSigned) x #

toRep (PraosFields crypto typeBeingSigned) x → PraosFields crypto typeBeingSigned #

PraosCrypto c ⇒ Show (PraosFields c toSign) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Methods

showsPrecIntPraosFields c toSign → ShowS #

showPraosFields c toSign → String #

showList ∷ [PraosFields c toSign] → ShowS #

PraosCrypto c ⇒ Eq (PraosFields c toSign) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Methods

(==)PraosFields c toSign → PraosFields c toSign → Bool #

(/=)PraosFields c toSign → PraosFields c toSign → Bool #

(PraosCrypto c, Typeable toSign) ⇒ NoThunks (PraosFields c toSign) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c ⇒ Condense (PraosFields c toSign) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Methods

condensePraosFields c toSign → String Source #

type Rep (PraosFields crypto typeBeingSigned) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (PraosFields crypto typeBeingSigned) = D1 ('MetaData "PraosFields" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosFields" 'PrefixI 'True) (S1 ('MetaSel ('Just "praosSignature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SignedKES (PraosKES crypto) typeBeingSigned)) :*: S1 ('MetaSel ('Just "praosExtraFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PraosExtraFields crypto))))

data PraosParams Source #

Praos parameters that are node independent

Constructors

PraosParams 

Fields

Instances

Instances details
Generic PraosParams Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type Rep PraosParams 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep PraosParams = D1 ('MetaData "PraosParams" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosParams" 'PrefixI 'True) (S1 ('MetaSel ('Just "praosLeaderF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Double) :*: (S1 ('MetaSel ('Just "praosSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam) :*: S1 ('MetaSel ('Just "praosSlotsPerEpoch") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64))))
NoThunks PraosParams Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep PraosParams Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep PraosParams = D1 ('MetaData "PraosParams" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosParams" 'PrefixI 'True) (S1 ('MetaSel ('Just "praosLeaderF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Double) :*: (S1 ('MetaSel ('Just "praosSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam) :*: S1 ('MetaSel ('Just "praosSlotsPerEpoch") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64))))

evolveKeyPraosCrypto c ⇒ SlotNoHotKey c → (HotKey c, UpdateInfo (HotKey c) HotKeyEvolutionError) Source #

To be used in conjunction with, e.g., modifyMVar.

NOTE: when the key's period is after the target period, we shouldn't use it, but we currently do. In real TPraos we check this in tpraosCheckCanForge.

forgePraosFields ∷ (PraosCrypto c, Signable (PraosKES c) toSign, HasCallStack) ⇒ PraosProof c → HotKey c → (PraosExtraFields c → toSign) → PraosFields c toSign Source #

Create a PraosFields using a proof, a key and the data to be signed.

It is done by signing whatever is extracted from the extra fields by mkToSign and storing the signature and the extra fields on a PraosFields.

Tags

class (UnsoundPureKESAlgorithm (PraosKES c), VRFAlgorithm (PraosVRF c), HashAlgorithm (PraosHash c), Typeable c, Typeable (PraosVRF c), Condense (SigKES (PraosKES c)), Signable (PraosVRF c) (Natural, SlotNo, VRFType), ContextKES (PraosKES c) ~ (), ContextVRF (PraosVRF c) ~ ()) ⇒ PraosCrypto c Source #

Associated Types

type PraosKES c Source #

type PraosVRF c Source #

type PraosHash c Source #

Instances

Instances details
PraosCrypto PraosCryptoUnused Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block.PraosRule

PraosCrypto PraosMockCrypto Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto PraosStandardCrypto Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

data PraosValidateView c Source #

A validate view is an association from the (signed) value to the PraosFields that contains the signature that sign it.

In this mock implementation, this could have been simplified to use SignedSimplePraos but from the consensus point of view, it is not relevant which actual value is being signed, that's why we use the existential.

Constructors

Signable (PraosKES c) signed ⇒ PraosValidateView (PraosFields c signed) signed 

data PraosValidationError c Source #

An error that can arise during validation

praosValidateView ∷ (SignedHeader hdr, Signable (PraosKES c) (Signed hdr)) ⇒ (hdr → PraosFields c (Signed hdr)) → hdr → PraosValidateView c Source #

Convenience constructor for PraosValidateView

Type instances

data BlockInfo c Source #

Constructors

BlockInfo 

Fields

Instances

Instances details
Generic (BlockInfo c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type Rep (BlockInfo c) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (BlockInfo c)

Methods

fromBlockInfo c → Rep (BlockInfo c) x #

toRep (BlockInfo c) x → BlockInfo c #

PraosCrypto c ⇒ Show (BlockInfo c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Methods

showsPrecIntBlockInfo c → ShowS #

showBlockInfo c → String #

showList ∷ [BlockInfo c] → ShowS #

PraosCrypto c ⇒ Eq (BlockInfo c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Methods

(==)BlockInfo c → BlockInfo c → Bool #

(/=)BlockInfo c → BlockInfo c → Bool #

PraosCrypto c ⇒ NoThunks (BlockInfo c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

PraosCrypto c ⇒ Serialise (BlockInfo c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (BlockInfo c) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (BlockInfo c)

data family ConsensusConfig p Source #

Static configuration required to run the consensus protocol

Every method in the ConsensusProtocol class takes the consensus configuration as a parameter, so having this as a data family rather than a type family resolves most ambiguity.

Defined out of the class so that protocols can define this type without having to define the entire protocol at the same time (or indeed in the same module).

Instances

Instances details
Generic (ConsensusConfig (HardForkProtocol xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

Associated Types

type Rep (ConsensusConfig (HardForkProtocol xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type Rep (ConsensusConfig (HardForkProtocol xs)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.HardFork.Combinator.Basics" "ouroboros-consensus-0.25.0.0-inplace" 'False) (C1 ('MetaCons "HardForkConsensusConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "hardForkConsensusConfigK") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam) :*: (S1 ('MetaSel ('Just "hardForkConsensusConfigShape") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Shape xs)) :*: S1 ('MetaSel ('Just "hardForkConsensusConfigPerEra") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerEraConsensusConfig xs)))))
Generic (ConsensusConfig (Bft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.BFT

Associated Types

type Rep (ConsensusConfig (Bft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.BFT

type Rep (ConsensusConfig (Bft c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.BFT" "ouroboros-consensus-0.25.0.0-inplace" 'False) (C1 ('MetaCons "BftConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "bftParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BftParams) :*: (S1 ('MetaSel ('Just "bftSignKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyDSIGN (BftDSIGN c))) :*: S1 ('MetaSel ('Just "bftVerKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NodeId (VerKeyDSIGN (BftDSIGN c)))))))

Methods

fromConsensusConfig (Bft c) → Rep (ConsensusConfig (Bft c)) x #

toRep (ConsensusConfig (Bft c)) x → ConsensusConfig (Bft c) #

Generic (ConsensusConfig (ModChainSel p s)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.ModChainSel

Associated Types

type Rep (ConsensusConfig (ModChainSel p s)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.ModChainSel

type Rep (ConsensusConfig (ModChainSel p s)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.ModChainSel" "ouroboros-consensus-0.25.0.0-inplace" 'True) (C1 ('MetaCons "McsConsensusConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "mcsConfigP") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConsensusConfig p))))
Generic (ConsensusConfig (PBft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

Associated Types

type Rep (ConsensusConfig (PBft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

type Rep (ConsensusConfig (PBft c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.PBFT" "ouroboros-consensus-0.25.0.0-inplace" 'True) (C1 ('MetaCons "PBftConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "pbftParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PBftParams)))
Generic (ConsensusConfig (WithLeaderSchedule p)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.LeaderSchedule

Associated Types

type Rep (ConsensusConfig (WithLeaderSchedule p)) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.LeaderSchedule

type Rep (ConsensusConfig (WithLeaderSchedule p)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Mock.Protocol.LeaderSchedule" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "WLSConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "wlsConfigSchedule") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LeaderSchedule) :*: (S1 ('MetaSel ('Just "wlsConfigP") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConsensusConfig p)) :*: S1 ('MetaSel ('Just "wlsConfigNodeId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CoreNodeId))))
Generic (ConsensusConfig (Praos c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

Associated Types

type Rep (ConsensusConfig (Praos c)) 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (ConsensusConfig (Praos c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "praosParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosParams) :*: (S1 ('MetaSel ('Just "praosInitialEta") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "praosInitialStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 StakeDist))) :*: (S1 ('MetaSel ('Just "praosEvolvingStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosEvolvingStake) :*: (S1 ('MetaSel ('Just "praosSignKeyVRF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyVRF (PraosVRF c))) :*: S1 ('MetaSel ('Just "praosVerKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map CoreNodeId (VerKeyKES (PraosKES c), VerKeyVRF (PraosVRF c))))))))
CanHardFork xs ⇒ NoThunks (ConsensusConfig (HardForkProtocol xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

BftCrypto c ⇒ NoThunks (ConsensusConfig (Bft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.BFT

ConsensusProtocol p ⇒ NoThunks (ConsensusConfig (ModChainSel p s)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.ModChainSel

NoThunks (ConsensusConfig (PBft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

ConsensusProtocol p ⇒ NoThunks (ConsensusConfig (WithLeaderSchedule p)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.LeaderSchedule

PraosCrypto c ⇒ NoThunks (ConsensusConfig (Praos c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (ConsensusConfig (HardForkProtocol xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type Rep (ConsensusConfig (HardForkProtocol xs)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.HardFork.Combinator.Basics" "ouroboros-consensus-0.25.0.0-inplace" 'False) (C1 ('MetaCons "HardForkConsensusConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "hardForkConsensusConfigK") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SecurityParam) :*: (S1 ('MetaSel ('Just "hardForkConsensusConfigShape") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Shape xs)) :*: S1 ('MetaSel ('Just "hardForkConsensusConfigPerEra") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PerEraConsensusConfig xs)))))
type Rep (ConsensusConfig (Bft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.BFT

type Rep (ConsensusConfig (Bft c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.BFT" "ouroboros-consensus-0.25.0.0-inplace" 'False) (C1 ('MetaCons "BftConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "bftParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BftParams) :*: (S1 ('MetaSel ('Just "bftSignKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyDSIGN (BftDSIGN c))) :*: S1 ('MetaSel ('Just "bftVerKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NodeId (VerKeyDSIGN (BftDSIGN c)))))))
type Rep (ConsensusConfig (ModChainSel p s)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.ModChainSel

type Rep (ConsensusConfig (ModChainSel p s)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.ModChainSel" "ouroboros-consensus-0.25.0.0-inplace" 'True) (C1 ('MetaCons "McsConsensusConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "mcsConfigP") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ConsensusConfig p))))
type Rep (ConsensusConfig (PBft c)) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

type Rep (ConsensusConfig (PBft c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Protocol.PBFT" "ouroboros-consensus-0.25.0.0-inplace" 'True) (C1 ('MetaCons "PBftConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "pbftParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PBftParams)))
type Rep (ConsensusConfig (WithLeaderSchedule p)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.LeaderSchedule

type Rep (ConsensusConfig (WithLeaderSchedule p)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Mock.Protocol.LeaderSchedule" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "WLSConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "wlsConfigSchedule") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LeaderSchedule) :*: (S1 ('MetaSel ('Just "wlsConfigP") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConsensusConfig p)) :*: S1 ('MetaSel ('Just "wlsConfigNodeId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CoreNodeId))))
type Rep (ConsensusConfig (Praos c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type Rep (ConsensusConfig (Praos c)) = D1 ('MetaData "ConsensusConfig" "Ouroboros.Consensus.Mock.Protocol.Praos" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'False) (C1 ('MetaCons "PraosConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "praosParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosParams) :*: (S1 ('MetaSel ('Just "praosInitialEta") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "praosInitialStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 StakeDist))) :*: (S1 ('MetaSel ('Just "praosEvolvingStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PraosEvolvingStake) :*: (S1 ('MetaSel ('Just "praosSignKeyVRF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignKeyVRF (PraosVRF c))) :*: S1 ('MetaSel ('Just "praosVerKeys") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map CoreNodeId (VerKeyKES (PraosKES c), VerKeyVRF (PraosVRF c))))))))
data ConsensusConfig (HardForkProtocol xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

data ConsensusConfig (Bft c)

(Static) node configuration

Instance details

Defined in Ouroboros.Consensus.Protocol.BFT

newtype ConsensusConfig (PBft c)

(Static) node configuration

Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

data ConsensusConfig (WithLeaderSchedule p) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.LeaderSchedule

data ConsensusConfig (Praos c) Source #

The configuration that will be provided to every node when running the MockPraos protocol.

Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

newtype ConsensusConfig (ModChainSel p s) 
Instance details

Defined in Ouroboros.Consensus.Protocol.ModChainSel

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 forecastFor (ledgerViewForecastAt cfg st) slot must equal protocolLedgerView cfg (applyChainTick cfg slot st). Thus a 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

Instances details
Show (Ticked ()) 
Instance details

Defined in Ouroboros.Consensus.Ticked

Methods

showsPrecIntTicked () → ShowS #

showTicked () → String #

showList ∷ [Ticked ()] → ShowS #

Bridge m a ⇒ GetTip (Ticked (LedgerState (DualBlock m a))) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState (DualBlock m a)) mk → Point (Ticked (LedgerState (DualBlock m a))) Source #

GetTip (Ticked (LedgerState (TestBlockWith ptype))) 
Instance details

Defined in Test.Util.TestBlock

Methods

getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState (TestBlockWith ptype)) mk → Point (Ticked (LedgerState (TestBlockWith ptype))) Source #

GetTip (Ticked (LedgerState (SimpleBlock c ext))) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

Methods

getTip ∷ ∀ (mk ∷ MapKind). Ticked (LedgerState (SimpleBlock c ext)) mk → Point (Ticked (LedgerState (SimpleBlock c ext))) Source #

IsLedger (LedgerState blk) ⇒ GetTip (Ticked (ExtLedgerState blk)) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Extended

Methods

getTip ∷ ∀ (mk ∷ MapKind). Ticked (ExtLedgerState blk) mk → Point (Ticked (ExtLedgerState blk)) Source #

CanStowLedgerTables (Ticked (LedgerState (SimpleBlock c ext))) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

(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 (TxOut (LedgerState m)), MemPack (TxIn (LedgerState m))) ⇒ HasLedgerTables (Ticked (LedgerState (DualBlock m a))) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

HasLedgerTables (Ticked (LedgerState TestBlock)) 
Instance details

Defined in Test.Util.TestBlock

HasLedgerTables (Ticked (LedgerState (SimpleBlock c ext))) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

Methods

projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (SimpleBlock c ext)) mk → LedgerTables (Ticked (LedgerState (SimpleBlock c ext))) mk Source #

withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked (LedgerState (SimpleBlock c ext)) any → LedgerTables (Ticked (LedgerState (SimpleBlock c ext))) mk → Ticked (LedgerState (SimpleBlock c ext)) 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)), MemPack (TxOut (LedgerState blk))) ⇒ HasLedgerTables (Ticked (ExtLedgerState blk)) 
Instance details

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 TestBlock)) 
Instance details

Defined in Test.Util.TestBlock

Methods

convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (LedgerState TestBlock) mk → Ticked (LedgerState TestBlock) mk' Source #

LedgerTablesAreTrivial (Ticked (LedgerState blk)) ⇒ LedgerTablesAreTrivial (Ticked (ExtLedgerState blk)) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Extended

Methods

convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked (ExtLedgerState blk) mk → Ticked (ExtLedgerState blk) mk' Source #

Generic (Ticked (LedgerState (TestBlockWith ptype)) mk) 
Instance details

Defined in Test.Util.TestBlock

Associated Types

type Rep (Ticked (LedgerState (TestBlockWith ptype)) mk) 
Instance details

Defined in Test.Util.TestBlock

type Rep (Ticked (LedgerState (TestBlockWith ptype)) mk) = D1 ('MetaData "Ticked" "Test.Util.TestBlock" "ouroboros-consensus-0.25.0.0-inplace-unstable-consensus-testlib" 'True) (C1 ('MetaCons "TickedTestLedger" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTickedTestLedger") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LedgerState (TestBlockWith ptype) mk))))

Methods

fromTicked (LedgerState (TestBlockWith ptype)) mk → Rep (Ticked (LedgerState (TestBlockWith ptype)) mk) x #

toRep (Ticked (LedgerState (TestBlockWith ptype)) mk) x → Ticked (LedgerState (TestBlockWith ptype)) mk #

Generic (Ticked (LedgerState (SimpleBlock c ext)) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

Associated Types

type Rep (Ticked (LedgerState (SimpleBlock c ext)) mk) 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

type Rep (Ticked (LedgerState (SimpleBlock c ext)) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Mock.Ledger.Block" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'True) (C1 ('MetaCons "TickedSimpleLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTickedSimpleLedgerState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LedgerState (SimpleBlock c ext) mk))))

Methods

fromTicked (LedgerState (SimpleBlock c ext)) mk → Rep (Ticked (LedgerState (SimpleBlock c ext)) mk) x #

toRep (Ticked (LedgerState (SimpleBlock c ext)) mk) x → Ticked (LedgerState (SimpleBlock c ext)) mk #

(SimpleCrypto c, Typeable ext, Show (LedgerState (SimpleBlock c ext) mk)) ⇒ Show (Ticked (LedgerState (SimpleBlock c ext)) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

Methods

showsPrecIntTicked (LedgerState (SimpleBlock c ext)) mk → ShowS #

showTicked (LedgerState (SimpleBlock c ext)) mk → String #

showList ∷ [Ticked (LedgerState (SimpleBlock c ext)) mk] → ShowS #

NoThunks (Ticked (LedgerState (DualBlock m a)) mk) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

(NoThunksMK mk, NoThunks (PayloadDependentState ptype mk)) ⇒ NoThunks (Ticked (LedgerState (TestBlockWith ptype)) mk) 
Instance details

Defined in Test.Util.TestBlock

(SimpleCrypto c, Typeable ext) ⇒ NoThunks (Ticked (LedgerState (SimpleBlock c ext)) TrackingMK) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

Show (Ticked (f a)) ⇒ Show (((TickedTypeType) :.: f) a) 
Instance details

Defined in Ouroboros.Consensus.Ticked

Methods

showsPrecInt → ((TickedTypeType) :.: f) a → ShowS #

show ∷ ((TickedTypeType) :.: f) a → String #

showList ∷ [((TickedTypeType) :.: f) a] → ShowS #

NoThunks (Ticked (f a)) ⇒ NoThunks (((TickedTypeType) :.: f) a) 
Instance details

Defined in Ouroboros.Consensus.Ticked

Methods

noThunksContext → ((TickedTypeType) :.: f) a → IO (Maybe ThunkInfo) Source #

wNoThunksContext → ((TickedTypeType) :.: f) a → IO (Maybe ThunkInfo) Source #

showTypeOfProxy (((TickedTypeType) :.: f) a) → String Source #

data Ticked () 
Instance details

Defined in Ouroboros.Consensus.Ticked

data Ticked (HardForkChainDepState xs ∷ Type) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol

data Ticked (HeaderState blk ∷ Type) 
Instance details

Defined in Ouroboros.Consensus.HeaderValidation

data Ticked (PBftState c ∷ Type) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

newtype Ticked (WrapChainDepState blk ∷ Type) 
Instance details

Defined in Ouroboros.Consensus.TypeFamilyWrappers

data Ticked (PraosChainDepState c ∷ Type) Source #

Ticking the Praos chain dep state has no effect

For the real Praos implementation, ticking is crucial, as it determines the point where the "nonce under construction" is swapped out for the "active" nonce. However, for the mock implementation, we keep the full history, and choose the right nonce from that; this means that ticking has no effect.

We do however need access to the ticked stake distribution.

Instance details

Defined in Ouroboros.Consensus.Mock.Protocol.Praos

type HeaderHash (Ticked l ∷ k) 
Instance details

Defined in Ouroboros.Consensus.Ticked

type HeaderHash (Ticked l ∷ k) = HeaderHash l
type TxIn (Ticked l) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Tables.Basics

type TxIn (Ticked l) = TxIn l
type TxOut (Ticked l) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Tables.Basics

type TxOut (Ticked l) = TxOut l
data Ticked (LedgerState (HardForkBlock xs) ∷ MapKindType) (mk ∷ MapKind) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

data Ticked (LedgerState (DualBlock m a) ∷ MapKindType) (mk ∷ MapKind) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

newtype Ticked (LedgerState (TestBlockWith ptype) ∷ MapKindType) (mk ∷ MapKind) 
Instance details

Defined in Test.Util.TestBlock

newtype Ticked (LedgerState (SimpleBlock c ext) ∷ MapKindType) (mk ∷ MapKind) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

data Ticked (ExtLedgerState blk ∷ MapKindType) (mk ∷ MapKind) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Extended

type Rep (Ticked (LedgerState (TestBlockWith ptype)) mk) 
Instance details

Defined in Test.Util.TestBlock

type Rep (Ticked (LedgerState (TestBlockWith ptype)) mk) = D1 ('MetaData "Ticked" "Test.Util.TestBlock" "ouroboros-consensus-0.25.0.0-inplace-unstable-consensus-testlib" 'True) (C1 ('MetaCons "TickedTestLedger" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTickedTestLedger") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LedgerState (TestBlockWith ptype) mk))))
type Rep (Ticked (LedgerState (SimpleBlock c ext)) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Mock.Ledger.Block

type Rep (Ticked (LedgerState (SimpleBlock c ext)) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Mock.Ledger.Block" "ouroboros-consensus-0.25.0.0-inplace-unstable-mock-block" 'True) (C1 ('MetaCons "TickedSimpleLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTickedSimpleLedgerState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LedgerState (SimpleBlock c ext) mk))))