Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data PRTCL c
- type family State a
- data PrtclEnv c = PrtclEnv UnitInterval (PoolDistr c) (GenDelegs c) Nonce
- data PrtclState c = PrtclState !(Map (KeyHash 'BlockIssuer c) Word64) !Nonce !Nonce
- data PrtclPredicateFailure c
- = OverlayFailure (PredicateFailure (OVERLAY c))
- | UpdnFailure (PredicateFailure (UPDN c))
- type family PredicateFailure a
- data PrtlSeqFailure c
- prtlSeqChecks ∷ (MonadError (PrtlSeqFailure c) m, Crypto c) ⇒ WithOrigin (LastAppliedBlock c) → BHeader c → m ()
Documentation
Instances
Type of the state which the system transitions between.
Instances
PrtclEnv UnitInterval (PoolDistr c) (GenDelegs c) Nonce |
Instances
Generic (PrtclEnv c) Source # | |
NoThunks (PrtclEnv c) Source # | |
type Rep (PrtclEnv c) Source # | |
Defined in Cardano.Protocol.TPraos.Rules.Prtcl type Rep (PrtclEnv c) = D1 ('MetaData "PrtclEnv" "Cardano.Protocol.TPraos.Rules.Prtcl" "cardano-protocol-tpraos-1.3.0.0-inplace" 'False) (C1 ('MetaCons "PrtclEnv" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitInterval) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PoolDistr c))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenDelegs c)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nonce)))) |
data PrtclState c Source #
Instances
data PrtclPredicateFailure c Source #
OverlayFailure (PredicateFailure (OVERLAY c)) | |
UpdnFailure (PredicateFailure (UPDN c)) |
Instances
type family PredicateFailure a Source #
Descriptive type for the possible failures which might cause a transition to fail.
As a convention, PredicateFailure
s which are "structural" (meaning that
they are not "throwable" in practice, and are used to pass control from
one transition rule to another) are prefixed with S_
.
Structural PredicateFailure
s represent conditions between rules where
the disjunction of all rules' preconditions is equal to True
. That is,
either one rule will throw a structural PredicateFailure
and the other
will succeed, or vice-versa.
Instances
data PrtlSeqFailure c Source #
WrongSlotIntervalPrtclSeq | |
WrongBlockNoPrtclSeq | |
| |
WrongBlockSequencePrtclSeq | |
Instances
prtlSeqChecks ∷ (MonadError (PrtlSeqFailure c) m, Crypto c) ⇒ WithOrigin (LastAppliedBlock c) → BHeader c → m () Source #