| 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, PredicateFailures 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 PredicateFailures 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)) |