Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.STS.Overlay
Synopsis
- data OVERLAY crypto
- type family PredicateFailure a = (b ∷ Type) | b → a
- data OverlayEnv crypto = OverlayEnv UnitInterval (PoolDistr crypto) (GenDelegs crypto) Nonce
- data OverlayPredicateFailure crypto
- = VRFKeyUnknown !(KeyHash 'StakePool crypto)
- | VRFKeyWrongVRFKey !(KeyHash 'StakePool crypto) !(Hash crypto (VerKeyVRF crypto)) !(Hash crypto (VerKeyVRF crypto))
- | VRFKeyBadNonce !Nonce !SlotNo !Nonce !(CertifiedVRF (VRF crypto) Nonce)
- | VRFKeyBadLeaderValue !Nonce !SlotNo !Nonce !(CertifiedVRF (VRF crypto) Nonce)
- | VRFLeaderValueTooBig !(OutputVRF (VRF crypto)) !Rational !ActiveSlotCoeff
- | NotActiveSlotOVERLAY !SlotNo
- | WrongGenesisColdKeyOVERLAY !(KeyHash 'BlockIssuer crypto) !(KeyHash 'GenesisDelegate crypto)
- | WrongGenesisVRFKeyOVERLAY !(KeyHash 'BlockIssuer crypto) !(Hash crypto (VerKeyVRF crypto)) !(Hash crypto (VerKeyVRF crypto))
- | UnknownGenesisKeyOVERLAY !(KeyHash 'Genesis crypto)
- | OcertFailure (PredicateFailure (OCERT crypto))
Documentation
Instances
type family PredicateFailure a = (b ∷ Type) | b → 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 OverlayEnv crypto Source #
Constructors
OverlayEnv UnitInterval (PoolDistr crypto) (GenDelegs crypto) Nonce |
Instances
data OverlayPredicateFailure crypto Source #
Constructors
VRFKeyUnknown !(KeyHash 'StakePool crypto) | |
VRFKeyWrongVRFKey !(KeyHash 'StakePool crypto) !(Hash crypto (VerKeyVRF crypto)) !(Hash crypto (VerKeyVRF crypto)) | |
VRFKeyBadNonce !Nonce !SlotNo !Nonce !(CertifiedVRF (VRF crypto) Nonce) | |
VRFKeyBadLeaderValue !Nonce !SlotNo !Nonce !(CertifiedVRF (VRF crypto) Nonce) | |
VRFLeaderValueTooBig !(OutputVRF (VRF crypto)) !Rational !ActiveSlotCoeff | |
NotActiveSlotOVERLAY !SlotNo | |
WrongGenesisColdKeyOVERLAY !(KeyHash 'BlockIssuer crypto) !(KeyHash 'GenesisDelegate crypto) | |
WrongGenesisVRFKeyOVERLAY !(KeyHash 'BlockIssuer crypto) !(Hash crypto (VerKeyVRF crypto)) !(Hash crypto (VerKeyVRF crypto)) | |
UnknownGenesisKeyOVERLAY !(KeyHash 'Genesis crypto) | |
OcertFailure (PredicateFailure (OCERT crypto)) |