Moduleouroboros-consensus-4.2.1.0
Ouroboros.Consensus.HeaderValidation
- 6 types
- 3 classes
- 24 values
- Packageouroboros-consensus-4.2.1.0
- Exports36
- LicenceApache-2.0
Constructors
AnnTipannTipSlotNo :: !SlotNoannTipBlockNo :: !BlockNoannTipInfo :: !TipInfo blk
Instances9Inject, Isomorphic, Eq, Show, Generic, NoThunks, …
Inject AnnTipDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Embed.NaryIsomorphic AnnTipDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Embed.UnaryHasAnnTip blk => Eq (AnnTip blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationHasAnnTip blk => Show (AnnTip blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationGeneric (AnnTip blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationHasAnnTip blk => NoThunks (AnnTip blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationSerialiseHFC xs => EncodeDisk (HardForkBlock xs) (AnnTip (HardForkBlock xs))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseDisk · orphanSerialiseHFC xs => DecodeDisk (HardForkBlock xs) (AnnTip (HardForkBlock xs))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseDisk · orphantype Rep (AnnTip blk) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation"AnnTip"
"Ouroboros.Consensus.HeaderValidation"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"AnnTip"
'PrefixI 'True) (S1 ('MetaSel ('Just"annTipSlotNo"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo) :*: (S1 ('MetaSel ('Just"annTipBlockNo"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 BlockNo) :*: S1 ('MetaSel ('Just"annTipInfo"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TipInfo blk)))))
Methods
expectedFirstBlockNo :: proxy blk -> BlockNoexpectedNextBlockNo :: proxy blk -> TipInfo blk -> TipInfo blk -> BlockNo -> BlockNominimumPossibleSlotNo :: Proxy blk -> SlotNominimumNextSlotNo :: proxy blk -> TipInfo blk -> TipInfo blk -> SlotNo -> SlotNo
Instances2BasicEnvelopeValidation
CanHardFork xs => BasicEnvelopeValidation (HardForkBlock xs)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Block · orphanBridge m a => BasicEnvelopeValidation (DualBlock m a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.Dual
class
class (StandardHash blk, Show (TipInfo blk), Eq (TipInfo blk), NoThunks (TipInfo blk)) => HasAnnTip blk whereAssociated types
type family TipInfo blk
Methods
getTipInfo :: Header blk -> TipInfo blktipInfoHash :: proxy blk -> TipInfo blk -> HeaderHash blk
Instances2HasAnnTip
CanHardFork xs => HasAnnTip (HardForkBlock xs)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Block · orphanBridge m a => HasAnnTip (DualBlock m a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.Dual
Constructors
UnexpectedBlockNo !BlockNo !BlockNoUnexpectedSlotNo !SlotNo !SlotNoUnexpectedPrevHash !(WithOrigin (HeaderHash blk)) !(ChainHash blk)CheckpointMismatch !BlockNo !(HeaderHash blk) !(HeaderHash blk)OtherHeaderEnvelopeError !(OtherHeaderEnvelopeError blk)
Instances5Eq, Show, Generic, NoThunks, Rep
ValidateEnvelope blk => Eq (HeaderEnvelopeError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationValidateEnvelope blk => Show (HeaderEnvelopeError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationGeneric (HeaderEnvelopeError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(ValidateEnvelope blk, Typeable blk) => NoThunks (HeaderEnvelopeError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationtype Rep (HeaderEnvelopeError blk) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation"HeaderEnvelopeError"
"Ouroboros.Consensus.HeaderValidation"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) ((C1 ('MetaCons"UnexpectedBlockNo"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 BlockNo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 BlockNo)) :+: C1 ('MetaCons"UnexpectedSlotNo"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo))) :+: (C1 ('MetaCons"UnexpectedPrevHash"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (HeaderHash blk))) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ChainHash blk))) :+: (C1 ('MetaCons"CheckpointMismatch"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 BlockNo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash blk)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash blk)))) :+: C1 ('MetaCons"OtherHeaderEnvelopeError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (OtherHeaderEnvelopeError blk))))))
Constructors
Instances5Eq, Show, Generic, NoThunks, Rep
(BlockSupportsProtocol blk, ValidateEnvelope blk) => Eq (HeaderError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(BlockSupportsProtocol blk, ValidateEnvelope blk) => Show (HeaderError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationGeneric (HeaderError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(BlockSupportsProtocol blk, ValidateEnvelope blk) => NoThunks (HeaderError blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationtype Rep (HeaderError blk) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation"HeaderError"
"Ouroboros.Consensus.HeaderValidation"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"HeaderProtocolError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ValidationErr (BlockProtocol blk)))) :+: C1 ('MetaCons"HeaderEnvelopeError"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderEnvelopeError blk))))
Constructors
HeaderStateheaderStateTip :: !WithOrigin (AnnTip blk)headerStateChainDep :: !ChainDepState (BlockProtocol blk)
Instances8Inject, Isomorphic, Eq, Show, Generic, NoThunks, …
Inject HeaderStateDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Embed.NaryIsomorphic HeaderStateDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Embed.Unary(BlockSupportsProtocol blk, HasAnnTip blk) => Eq (HeaderState blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(BlockSupportsProtocol blk, HasAnnTip blk) => Show (HeaderState blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationGeneric (HeaderState blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(BlockSupportsProtocol blk, HasAnnTip blk) => NoThunks (HeaderState blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationtype Rep (HeaderState blk) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation"HeaderState"
"Ouroboros.Consensus.HeaderValidation"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"HeaderState"
'PrefixI 'True) (S1 ('MetaSel ('Just"headerStateTip"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (AnnTip blk))) :*: S1 ('MetaSel ('Just"headerStateChainDep"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ChainDepState (BlockProtocol blk)))))data Ticked (HeaderState blk)TickedHeaderStateuntickedHeaderStateTip :: WithOrigin (AnnTip blk)tickedHeaderStateChainDep :: Ticked (ChainDepState (BlockProtocol blk))
Constructors
Instances9GetHeader1, StandardHash, Eq, Show, Generic, NoThunks, …
GetHeader1 HeaderWithTimeDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(Show (HeaderHash blk), Eq (HeaderHash blk), Ord (HeaderHash blk), Typeable (HeaderHash blk), NoThunks (HeaderHash blk), NFData (HeaderHash blk)) => StandardHash (HeaderWithTime blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationEq (Header blk) => Eq (HeaderWithTime blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationShow (Header blk) => Show (HeaderWithTime blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationGeneric (HeaderWithTime blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationNoThunks (Header blk) => NoThunks (HeaderWithTime blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation(HasHeader (Header blk), StandardHash (HeaderWithTime blk), Typeable blk) => HasHeader (HeaderWithTime blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationtype Rep (HeaderWithTime blk) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation"HeaderWithTime"
"Ouroboros.Consensus.HeaderValidation"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"HeaderWithTime"
'PrefixI 'True) (S1 ('MetaSel ('Just"hwtHeader"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Header blk)) :*: S1 ('MetaSel ('Just"hwtSlotRelativeTime"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RelativeTime)))type HeaderHash (HeaderWithTime blk) = HeaderHash (Header blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation
Constructors
TipInfoIsEBB !(HeaderHash blk) !IsEBB
Instances5Eq, Show, Generic, NoThunks, Rep
StandardHash blk => Eq (TipInfoIsEBB blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationStandardHash blk => Show (TipInfoIsEBB blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationGeneric (TipInfoIsEBB blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationStandardHash blk => NoThunks (TipInfoIsEBB blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidationtype Rep (TipInfoIsEBB blk) = D1 ('MetaDataDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HeaderValidation"TipInfoIsEBB"
"Ouroboros.Consensus.HeaderValidation"
"ouroboros-consensus-4.2.1.0-C9zVP0VXla2Fy4UJAsSSXt"
'False) (C1 ('MetaCons"TipInfoIsEBB"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash blk)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IsEBB)))
class
class (BasicEnvelopeValidation blk, GetPrevHash blk, Eq (OtherHeaderEnvelopeError blk), Show (OtherHeaderEnvelopeError blk), NoThunks (OtherHeaderEnvelopeError blk)) => ValidateEnvelope blk whereAssociated types
type family OtherHeaderEnvelopeError blk
Methods
additionalEnvelopeChecks :: TopLevelConfig blk -> LedgerView (BlockProtocol blk) -> Header blk -> Except (OtherHeaderEnvelopeError blk) ()
Instances2ValidateEnvelope
CanHardFork xs => ValidateEnvelope (HardForkBlock xs)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Ledger · orphanBridge m a => ValidateEnvelope (DualBlock m a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.Dual
Instances19HasLedgerTables, GetTip, Show, NoThunks, HeaderHash, Ticked, …
Show (Ticked ())Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ticked(NoThunks (TxIn blk), NoThunks (TxOut blk), HasLedgerTables (Ticked LedgerState) blk) => HasLedgerTables (Ticked ExtLedgerState) blkDefined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.Extended(CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) => HasLedgerTables (Ticked LedgerState) (HardForkBlock xs)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Ledger · orphan(Bridge m a, HasLedgerTables (Ticked LedgerState) m) => HasLedgerTables (Ticked LedgerState) (DualBlock m a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.DualCanHardFork xs => GetTip (Ticked LedgerState (HardForkBlock xs))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.HardFork.Combinator.Ledger · orphanIsLedger LedgerState blk => GetTip (Ticked ExtLedgerState blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.ExtendedBridge m a => GetTip (Ticked LedgerState (DualBlock m a))Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.DualNoThunks (Ticked LedgerState (DualBlock m a) mk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ledger.DualShow (Ticked (f a)) => Show ((:.:) Ticked f a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.TickedNoThunks (Ticked (f a)) => NoThunks ((:.:) Ticked f a)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Tickedtype HeaderHash (Ticked l blk) = HeaderHash (l blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Tickeddata Ticked LedgerState (HardForkBlock xs)TickedHardForkLedgerStatetickedHardForkLedgerStateTransition :: !TransitionInfotickedHardForkLedgerStatePerEra :: !HardForkState (FlipTickedLedgerState mk) xs
data Ticked LedgerState (DualBlock m a)TickedDualLedgerStatetickedDualLedgerStateMain :: Ticked LedgerState m mktickedDualLedgerStateAux :: Ticked LedgerState a ValuesMKtickedDualLedgerStateBridge :: BridgeLedger m atickedDualLedgerStateAuxOrig :: LedgerState a ValuesMK
data Ticked ExtLedgerStateTickedExtLedgerStatetickedLedgerState :: Ticked LedgerState blk mkledgerView :: LedgerView (BlockProtocol blk)tickedHeaderState :: Ticked (HeaderState blk)
data Ticked (HardForkChainDepState xs)TickedHardForkChainDepStatetickedHardForkChainDepStatePerEra :: HardForkState (Ticked :.: WrapChainDepState) xstickedHardForkChainDepStateEpochInfo :: EpochInfo (Except PastHorizonException)
data Ticked (HeaderState blk)TickedHeaderStateuntickedHeaderStateTip :: WithOrigin (AnnTip blk)tickedHeaderStateChainDep :: Ticked (ChainDepState (BlockProtocol blk))
data Ticked (PBftState c)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Protocol.PBFT · orphandata Ticked (WrapChainDepState blk)Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.TypeFamilyWrappersdata Ticked ()Defined in ouroboros-consensus-4.2.1.0 · Ouroboros.Consensus.Ticked
Fields
untickedHeaderStateTip :: WithOrigin (AnnTip blk)tickedHeaderStateChainDep :: Ticked (ChainDepState (BlockProtocol blk))