shelley-spec-ledger-0.1.0.0
Safe HaskellNone
LanguageHaskell98

Shelley.Spec.Ledger.STS.Deleg

Synopsis

Documentation

data DELEG era Source #

Instances

Instances details
Typeable era ⇒ STS (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Associated Types

type State (DELEG era) Source #

type Signal (DELEG era) Source #

type Environment (DELEG era) Source #

type BaseM (DELEG era) ∷ TypeType Source #

type PredicateFailure (DELEG era) = (b ∷ Type) Source #

Era era ⇒ Embed (DELEG era) (DELPL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delpl

type PredicateFailure (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type BaseM (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type BaseM (DELEG era) = ShelleyBase
type Environment (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type Signal (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type Signal (DELEG era) = DCert era
type State (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type State (DELEG era) = DState era

data DelegEnv Source #

Constructors

DelegEnv 

Fields

Instances

Instances details
Eq DelegEnv Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Methods

(==)DelegEnvDelegEnvBool #

(/=)DelegEnvDelegEnvBool #

Show DelegEnv Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Methods

showsPrecIntDelegEnvShowS #

showDelegEnvString #

showList ∷ [DelegEnv] → ShowS #

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 DelegPredicateFailure era Source #

Constructors

StakeKeyAlreadyRegisteredDELEG !(Credential 'Staking era) 
StakeKeyInRewardsDELEG !(Credential 'Staking era)

Indicates that the stake key is somehow already in the rewards map. This error is now redundant with StakeKeyAlreadyRegisteredDELEG. We should remove it and replace its one use with StakeKeyAlreadyRegisteredDELEG.

StakeKeyNotRegisteredDELEG !(Credential 'Staking era) 
StakeKeyNonZeroAccountBalanceDELEG !(Maybe Coin) 
StakeDelegationImpossibleDELEG !(Credential 'Staking era) 
WrongCertificateTypeDELEG 
GenesisKeyNotInMappingDELEG !(KeyHash 'Genesis (Crypto era)) 
DuplicateGenesisDelegateDELEG !(KeyHash 'GenesisDelegate (Crypto era)) 
InsufficientForInstantaneousRewardsDELEG !MIRPot !Coin !Coin 
MIRCertificateTooLateinEpochDELEG !SlotNo !SlotNo 
DuplicateGenesisVRFDELEG !(Hash (Crypto era) (VerKeyVRF (Crypto era))) 

Instances

Instances details
Eq (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Show (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Generic (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Associated Types

type Rep (DelegPredicateFailure era) ∷ TypeType #

(Typeable era, Era era, Typeable (Script era)) ⇒ ToCBOR (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

(Era era, Typeable (Script era)) ⇒ FromCBOR (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

NoThunks (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

Methods

noThunks ∷ Context → DelegPredicateFailure era → IO (Maybe ThunkInfo)

wNoThunks ∷ Context → DelegPredicateFailure era → IO (Maybe ThunkInfo)

showTypeOfProxy (DelegPredicateFailure era) → String

type Rep (DelegPredicateFailure era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type Rep (DelegPredicateFailure era) = D1 ('MetaData "DelegPredicateFailure" "Shelley.Spec.Ledger.STS.Deleg" "shelley-spec-ledger-0.1.0.0-inplace" 'False) (((C1 ('MetaCons "StakeKeyAlreadyRegisteredDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking era))) :+: C1 ('MetaCons "StakeKeyInRewardsDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking era)))) :+: (C1 ('MetaCons "StakeKeyNotRegisteredDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking era))) :+: (C1 ('MetaCons "StakeKeyNonZeroAccountBalanceDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Coin))) :+: C1 ('MetaCons "StakeDelegationImpossibleDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking era)))))) :+: ((C1 ('MetaCons "WrongCertificateTypeDELEG" 'PrefixI 'False) (U1TypeType) :+: (C1 ('MetaCons "GenesisKeyNotInMappingDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'Genesis (Crypto era)))) :+: C1 ('MetaCons "DuplicateGenesisDelegateDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'GenesisDelegate (Crypto era)))))) :+: (C1 ('MetaCons "InsufficientForInstantaneousRewardsDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MIRPot) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin))) :+: (C1 ('MetaCons "MIRCertificateTooLateinEpochDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo)) :+: C1 ('MetaCons "DuplicateGenesisVRFDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash (Crypto era) (VerKeyVRF (Crypto era)))))))))