cardano-ledger-shelley-1.12.2.1: Shelley Ledger Executable Model
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.Ledger.Shelley.Rules.Deleg

Synopsis

Documentation

data ShelleyDELEG era Source #

Instances

Instances details
(EraPParams era, ShelleyEraTxCert era, ProtVerAtMost era 8) ⇒ STS (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

(ShelleyEraTxCert era, EraPParams era, ProtVerAtMost era 8, PredicateFailure (EraRule "DELEG" era) ~ ShelleyDelegPredFailure era, Event (EraRule "DELEG" era) ~ ShelleyDelegEvent era) ⇒ Embed (ShelleyDELEG era) (ShelleyDELPL era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Delpl

type BaseM (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Environment (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Event (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type PredicateFailure (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Signal (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Signal (ShelleyDELEG era) = TxCert era
type State (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type State (ShelleyDELEG era) = DState era

data DelegEnv era Source #

Constructors

DelegEnv 

Fields

Instances

Instances details
Generic (DelegEnv era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Associated Types

type Rep (DelegEnv era) ∷ TypeType Source #

Methods

fromDelegEnv era → Rep (DelegEnv era) x Source #

toRep (DelegEnv era) x → DelegEnv era Source #

Show (PParams era) ⇒ Show (DelegEnv era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Methods

showsPrecIntDelegEnv era → ShowS Source #

showDelegEnv era → String Source #

showList ∷ [DelegEnv era] → ShowS Source #

NFData (PParams era) ⇒ NFData (DelegEnv era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Methods

rnfDelegEnv era → () Source #

Eq (PParams era) ⇒ Eq (DelegEnv era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Methods

(==)DelegEnv era → DelegEnv era → Bool Source #

(/=)DelegEnv era → DelegEnv era → Bool Source #

type Rep (DelegEnv era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Rep (DelegEnv era) = D1 ('MetaData "DelegEnv" "Cardano.Ledger.Shelley.Rules.Deleg" "cardano-ledger-shelley-1.12.2.1-inplace" 'False) (C1 ('MetaCons "DelegEnv" 'PrefixI 'True) ((S1 ('MetaSel ('Just "slotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo) :*: S1 ('MetaSel ('Just "ptr_") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Ptr)) :*: (S1 ('MetaSel ('Just "acnt_") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AccountState) :*: S1 ('MetaSel ('Just "ppDE") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams era)))))

type family PredicateFailure 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 (ShelleyBBODY era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Bbody

type PredicateFailure (ShelleyDELEG era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type PredicateFailure (ShelleyDELEGS era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Delegs

type PredicateFailure (ShelleyDELPL era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Delpl

type PredicateFailure (ShelleyEPOCH era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Epoch

type PredicateFailure (ShelleyLEDGER era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

type PredicateFailure (ShelleyLEDGERS era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledgers

type PredicateFailure (ShelleyMIR era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Mir

type PredicateFailure (ShelleyNEWEPOCH era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.NewEpoch

type PredicateFailure (ShelleyNEWPP era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Newpp

type PredicateFailure (ShelleyPOOL era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Pool

type PredicateFailure (ShelleyPOOLREAP era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.PoolReap

type PredicateFailure (ShelleyPPUP era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ppup

type PredicateFailure (ShelleyRUPD era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Rupd

type PredicateFailure (ShelleySNAP era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Snap

type PredicateFailure (ShelleyTICK era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Tick

type PredicateFailure (ShelleyTICKF era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Tick

type PredicateFailure (ShelleyUPEC era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Upec

type PredicateFailure (ShelleyUTXO era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Utxo

type PredicateFailure (ShelleyUTXOW era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Utxow

type PredicateFailure (STUB e st si f m) 
Instance details

Defined in Control.State.Transition.Extended

type PredicateFailure (STUB e st si f m) = f

data ShelleyDelegPredFailure era Source #

Instances

Instances details
InjectRuleFailure "BBODY" ShelleyDelegPredFailure (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Bbody

InjectRuleFailure "DELEG" ShelleyDelegPredFailure (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

InjectRuleFailure "DELEGS" ShelleyDelegPredFailure (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Delegs

InjectRuleFailure "DELPL" ShelleyDelegPredFailure (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Delpl

InjectRuleFailure "LEDGER" ShelleyDelegPredFailure (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

InjectRuleFailure "LEDGERS" ShelleyDelegPredFailure (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledgers

Generic (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Associated Types

type Rep (ShelleyDelegPredFailure era) ∷ TypeType Source #

Show (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

(Era era, Typeable (Script era)) ⇒ DecCBOR (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

(Era era, Typeable (Script era)) ⇒ EncCBOR (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

NFData (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Methods

rnfShelleyDelegPredFailure era → () Source #

Eq (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

NoThunks (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Rep (ShelleyDelegPredFailure era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Rep (ShelleyDelegPredFailure era) = D1 ('MetaData "ShelleyDelegPredFailure" "Cardano.Ledger.Shelley.Rules.Deleg" "cardano-ledger-shelley-1.12.2.1-inplace" 'False) ((((C1 ('MetaCons "StakeKeyAlreadyRegisteredDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking (EraCrypto era)))) :+: C1 ('MetaCons "StakeKeyInRewardsDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking (EraCrypto era))))) :+: (C1 ('MetaCons "StakeKeyNotRegisteredDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking (EraCrypto 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 (EraCrypto era)))) :+: C1 ('MetaCons "WrongCertificateTypeDELEG" 'PrefixI 'False) (U1TypeType)) :+: (C1 ('MetaCons "GenesisKeyNotInMappingDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'Genesis (EraCrypto era)))) :+: C1 ('MetaCons "DuplicateGenesisDelegateDELEG" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'GenesisDelegate (EraCrypto 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 (EraCrypto era) (VerKeyVRF (EraCrypto era))))) :+: C1 ('MetaCons "MIRTransferNotCurrentlyAllowed" 'PrefixI 'False) (U1TypeType))) :+: ((C1 ('MetaCons "MIRNegativesNotCurrentlyAllowed" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "InsufficientForTransferDELEG" '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 "MIRProducesNegativeUpdate" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "MIRNegativeTransfer" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MIRPot) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin))))))

newtype ShelleyDelegEvent era Source #

Constructors

DelegNewEpoch EpochNo 

Instances

Instances details
Generic (ShelleyDelegEvent era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Associated Types

type Rep (ShelleyDelegEvent era) ∷ TypeType Source #

NFData (ShelleyDelegEvent era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

Methods

rnfShelleyDelegEvent era → () Source #

Eq (ShelleyDelegEvent era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Rep (ShelleyDelegEvent era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Deleg

type Rep (ShelleyDelegEvent era) = D1 ('MetaData "ShelleyDelegEvent" "Cardano.Ledger.Shelley.Rules.Deleg" "cardano-ledger-shelley-1.12.2.1-inplace" 'True) (C1 ('MetaCons "DelegNewEpoch" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EpochNo)))

Orphan instances