shelley-spec-ledger-0.1.0.0
Safe HaskellNone
LanguageHaskell98

Shelley.Spec.Ledger.STS.Overlay

Synopsis

Documentation

data OVERLAY crypto Source #

Instances

Instances details
(Crypto crypto, DSignable crypto (OCertSignable crypto), KESignable crypto (BHBody crypto), Signable (VRF crypto) Seed) ⇒ STS (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

Associated Types

type State (OVERLAY crypto) Source #

type Signal (OVERLAY crypto) Source #

type Environment (OVERLAY crypto) Source #

type BaseM (OVERLAY crypto) ∷ TypeType Source #

type PredicateFailure (OVERLAY crypto) = (b ∷ Type) Source #

(Crypto crypto, DSignable crypto (OCertSignable crypto), KESignable crypto (BHBody crypto), Signable (VRF crypto) Seed) ⇒ Embed (OCERT crypto) (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

(Crypto crypto, DSignable crypto (OCertSignable crypto), KESignable crypto (BHBody crypto), VRFSignable crypto Seed) ⇒ Embed (OVERLAY crypto) (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type PredicateFailure (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type BaseM (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type BaseM (OVERLAY crypto) = ShelleyBase
type Environment (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type Environment (OVERLAY crypto) = OverlayEnv crypto
type Signal (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type Signal (OVERLAY crypto) = BHeader crypto
type State (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type State (OVERLAY crypto) = Map (KeyHash 'BlockIssuer crypto) Word64

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

Instances details
type PredicateFailure TICKN Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tickn

type PredicateFailure (UPDN crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Updn

type PredicateFailure (SNAP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Snap

type PredicateFailure (RUPD era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Rupd

type PredicateFailure (PPUP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ppup

type PredicateFailure (UTXO (ShelleyEra c)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Utxo

type PredicateFailure (UTXOW (ShelleyEra c)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Utxow

type PredicateFailure (POOLREAP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.PoolReap

type PredicateFailure (POOL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Pool

type PredicateFailure (NEWPP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Newpp

type PredicateFailure (MIR era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Mir

type PredicateFailure (EPOCH era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Epoch

type PredicateFailure (NEWEPOCH era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.NewEpoch

type PredicateFailure (TICKF era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tick

type PredicateFailure (TICK era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tick

type PredicateFailure (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type PredicateFailure (DELPL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delpl

type PredicateFailure (DELEGS era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delegs

type PredicateFailure (LEDGER era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ledger

type PredicateFailure (LEDGERS era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ledgers

type PredicateFailure (OCERT crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ocert

type PredicateFailure (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type PredicateFailure (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type PredicateFailure (BBODY era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Bbody

type PredicateFailure (CHAIN era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Chain

data OverlayEnv crypto Source #

Constructors

OverlayEnv UnitInterval (PoolDistr crypto) (GenDelegs crypto) Nonce 

Instances

Instances details
Generic (OverlayEnv crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

Associated Types

type Rep (OverlayEnv crypto) ∷ TypeType #

Methods

fromOverlayEnv crypto → Rep (OverlayEnv crypto) x #

toRep (OverlayEnv crypto) x → OverlayEnv crypto #

NoThunks (OverlayEnv crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

Methods

noThunks ∷ Context → OverlayEnv crypto → IO (Maybe ThunkInfo)

wNoThunks ∷ Context → OverlayEnv crypto → IO (Maybe ThunkInfo)

showTypeOfProxy (OverlayEnv crypto) → String

type Rep (OverlayEnv crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

data OverlayPredicateFailure crypto Source #

Instances

Instances details
VRFAlgorithm (VRF crypto) ⇒ Eq (OverlayPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

VRFAlgorithm (VRF crypto) ⇒ Show (OverlayPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

Generic (OverlayPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

Associated Types

type Rep (OverlayPredicateFailure crypto) ∷ TypeType #

VRFAlgorithm (VRF crypto) ⇒ NoThunks (OverlayPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

Methods

noThunks ∷ Context → OverlayPredicateFailure crypto → IO (Maybe ThunkInfo)

wNoThunks ∷ Context → OverlayPredicateFailure crypto → IO (Maybe ThunkInfo)

showTypeOfProxy (OverlayPredicateFailure crypto) → String

type Rep (OverlayPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type Rep (OverlayPredicateFailure crypto) = D1 ('MetaData "OverlayPredicateFailure" "Shelley.Spec.Ledger.STS.Overlay" "shelley-spec-ledger-0.1.0.0-inplace" 'False) (((C1 ('MetaCons "VRFKeyUnknown" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool crypto))) :+: C1 ('MetaCons "VRFKeyWrongVRFKey" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool crypto)) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash crypto (VerKeyVRF crypto))) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash crypto (VerKeyVRF crypto)))))) :+: (C1 ('MetaCons "VRFKeyBadNonce" 'PrefixI 'False) ((S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo)) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CertifiedVRF (VRF crypto) Nonce)))) :+: (C1 ('MetaCons "VRFKeyBadLeaderValue" 'PrefixI 'False) ((S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo)) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CertifiedVRF (VRF crypto) Nonce)))) :+: C1 ('MetaCons "VRFLeaderValueTooBig" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (OutputVRF (VRF crypto))) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Rational) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ActiveSlotCoeff)))))) :+: ((C1 ('MetaCons "NotActiveSlotOVERLAY" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo)) :+: C1 ('MetaCons "WrongGenesisColdKeyOVERLAY" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'BlockIssuer crypto)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'GenesisDelegate crypto)))) :+: (C1 ('MetaCons "WrongGenesisVRFKeyOVERLAY" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'BlockIssuer crypto)) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash crypto (VerKeyVRF crypto))) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash crypto (VerKeyVRF crypto))))) :+: (C1 ('MetaCons "UnknownGenesisKeyOVERLAY" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'Genesis crypto))) :+: C1 ('MetaCons "OcertFailure" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PredicateFailure (OCERT crypto))))))))