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

Cardano.Ledger.Shelley.LedgerState

Description

This module implements the operation rules for treating UTxO transactions (Tx) as state transformations on a ledger state (LedgerState), as specified in A Simplified Formal Specification of a UTxO Ledger.

Synopsis

UTxO

newtype UTxO era Source #

The unspent transaction outputs.

Constructors

UTxO 

Fields

Instances

Instances details
CanGetUTxO UTxO 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

utxoGSimpleGetter (UTxO era) (UTxO era) Source #

CanSetUTxO UTxO 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

utxoLLens' (UTxO era) (UTxO era) Source #

ToJSON (TxOut era) ⇒ ToJSON (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

toJSONUTxO era → Value Source #

toEncodingUTxO era → Encoding Source #

toJSONList ∷ [UTxO era] → Value Source #

toEncodingList ∷ [UTxO era] → Encoding Source #

omitFieldUTxO era → Bool Source #

Era era ⇒ Monoid (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

memptyUTxO era #

mappendUTxO era → UTxO era → UTxO era #

mconcat ∷ [UTxO era] → UTxO era #

Semigroup (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

(<>)UTxO era → UTxO era → UTxO era #

sconcatNonEmpty (UTxO era) → UTxO era #

stimesIntegral b ⇒ b → UTxO era → UTxO era #

Generic (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Associated Types

type Rep (UTxO era) ∷ TypeType #

Methods

fromUTxO era → Rep (UTxO era) x #

toRep (UTxO era) x → UTxO era #

Show (TxOut era) ⇒ Show (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

showsPrecIntUTxO era → ShowS #

showUTxO era → String #

showList ∷ [UTxO era] → ShowS #

(DecCBOR (TxOut era), Era era) ⇒ FromCBOR (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

fromCBORDecoder s (UTxO era) Source #

labelProxy (UTxO era) → Text Source #

(EncCBOR (TxOut era), Era era) ⇒ ToCBOR (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

toCBORUTxO era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (UTxO era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [UTxO era] → Size Source #

(Era era, DecCBOR (TxOut era)) ⇒ DecCBOR (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

decCBORDecoder s (UTxO era) Source #

dropCBORProxy (UTxO era) → Decoder s () Source #

labelProxy (UTxO era) → Text Source #

(DecShareCBOR (TxOut era), Share (TxOut era) ~ Interns (Credential 'Staking)) ⇒ DecShareCBOR (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Associated Types

type Share (UTxO era) Source #

Methods

getShareUTxO era → Share (UTxO era) Source #

decShareCBORShare (UTxO era) → Decoder s (UTxO era) Source #

decSharePlusCBORStateT (Share (UTxO era)) (Decoder s) (UTxO era) Source #

(Era era, EncCBOR (TxOut era)) ⇒ EncCBOR (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

encCBORUTxO era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (UTxO era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [UTxO era] → Size Source #

Default (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

defUTxO era Source #

(Era era, NFData (TxOut era)) ⇒ NFData (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

rnfUTxO era → () #

(Era era, Eq (TxOut era)) ⇒ Eq (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

(==)UTxO era → UTxO era → Bool #

(/=)UTxO era → UTxO era → Bool #

NoThunks (TxOut era) ⇒ NoThunks (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

type Rep (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

type Rep (UTxO era) = D1 ('MetaData "UTxO" "Cardano.Ledger.State.UTxO" "cardano-ledger-core-1.18.0.0-inplace" 'True) (C1 ('MetaCons "UTxO" 'PrefixI 'True) (S1 ('MetaSel ('Just "unUTxO") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map TxIn (TxOut era)))))
type Share (UTxO era) 
Instance details

Defined in Cardano.Ledger.State.UTxO

class CanGetUTxO (t ∷ TypeType) where Source #

Minimal complete definition

Nothing

Methods

utxoGSimpleGetter (t era) (UTxO era) Source #

Instances

Instances details
CanGetUTxO UTxO 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

utxoGSimpleGetter (UTxO era) (UTxO era) Source #

CanGetUTxO EpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (EpochState era) (UTxO era) Source #

CanGetUTxO LedgerState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (LedgerState era) (UTxO era) Source #

CanGetUTxO NewEpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (NewEpochState era) (UTxO era) Source #

CanGetUTxO UTxOState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (UTxOState era) (UTxO era) Source #

class CanGetUTxO t ⇒ CanSetUTxO (t ∷ TypeType) where Source #

Methods

utxoLLens' (t era) (UTxO era) Source #

Instances

Instances details
CanSetUTxO UTxO 
Instance details

Defined in Cardano.Ledger.State.UTxO

Methods

utxoLLens' (UTxO era) (UTxO era) Source #

CanSetUTxO EpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (EpochState era) (UTxO era) Source #

CanSetUTxO LedgerState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (LedgerState era) (UTxO era) Source #

CanSetUTxO NewEpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (NewEpochState era) (UTxO era) Source #

CanSetUTxO UTxOState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (UTxOState era) (UTxO era) Source #

Others to organize

data AccountState Source #

Constructors

AccountState 

Fields

Instances

Instances details
ToJSON AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

Generic AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

Associated Types

type Rep AccountStateTypeType #

Show AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

DecCBOR AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

EncCBOR AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

Default AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

NFData AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

Methods

rnfAccountState → () #

Eq AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

NoThunks AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

type Rep AccountState 
Instance details

Defined in Cardano.Ledger.State.AccountState

type Rep AccountState = D1 ('MetaData "AccountState" "Cardano.Ledger.State.AccountState" "cardano-ledger-core-1.18.0.0-inplace" 'False) (C1 ('MetaCons "AccountState" 'PrefixI 'True) (S1 ('MetaSel ('Just "asTreasury") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin) :*: S1 ('MetaSel ('Just "asReserves") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin)))

class (Era era, ToJSON (CertState era), EncCBOR (CertState era), DecShareCBOR (CertState era), Share (CertState era) ~ (Interns (Credential 'Staking), Interns (KeyHash 'StakePool), Interns (Credential 'DRepRole), Interns (Credential 'HotCommitteeRole)), Default (CertState era), NoThunks (CertState era), NFData (CertState era), Show (CertState era), Eq (CertState era)) ⇒ EraCertState era where Source #

The state associated with the DELPL rule, which combines the DELEG rule and the POOL rule.

Associated Types

type CertState era = (r ∷ Type) | r → era Source #

Methods

certDStateLLens' (CertState era) (DState era) Source #

certPStateLLens' (CertState era) (PState era) Source #

obligationCertStateCertState era → Obligations Source #

Calculate total possible refunds in the system that are related to certificates

There is an invariant that the sum of all the fields should be the same as the utxosDeposited field of the UTxOState. Note that this does not depend upon the current values of the Key and Pool deposits of the PParams.

certsTotalDepositsTxBodyPParams era → CertState era → TxBody era → Coin Source #

Compute the total deposits from the Certs of a TxBody.

This is the contribution of a TxBody towards the deposit pot (utxosDeposit field of the UTxOState) of the system

certsTotalRefundsTxBodyPParams era → CertState era → TxBody era → Coin Source #

Compute the total refunds from the Certs of a TxBody.

This is the contribution of a TxBody towards the total Obligations of the system See Obligations and obligationCertState for more information.

data DState era Source #

The state used by the DELEG rule, which roughly tracks stake delegation and some governance features.

Constructors

DState 

Fields

Instances

Instances details
ToJSON (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Generic (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Rep (DState era) ∷ TypeType #

Methods

fromDState era → Rep (DState era) x #

toRep (DState era) x → DState era #

Show (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

showsPrecIntDState era → ShowS #

showDState era → String #

showList ∷ [DState era] → ShowS #

DecShareCBOR (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Share (DState era) Source #

Methods

getShareDState era → Share (DState era) Source #

decShareCBORShare (DState era) → Decoder s (DState era) Source #

decSharePlusCBORStateT (Share (DState era)) (Decoder s) (DState era) Source #

Era era ⇒ EncCBOR (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

encCBORDState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (DState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [DState era] → Size Source #

Default (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

defDState era Source #

NFData (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

rnfDState era → () #

Eq (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

(==)DState era → DState era → Bool #

(/=)DState era → DState era → Bool #

NoThunks (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep (DState era) = D1 ('MetaData "DState" "Cardano.Ledger.State.CertState" "cardano-ledger-core-1.18.0.0-inplace" 'False) (C1 ('MetaCons "DState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "dsUnified") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UMap) :*: S1 ('MetaSel ('Just "dsFutureGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map FutureGenDeleg GenDelegPair))) :*: (S1 ('MetaSel ('Just "dsGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenDelegs) :*: S1 ('MetaSel ('Just "dsIRewards") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InstantaneousRewards))))
type Share (DState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

ptrsMapDState era → Map Ptr (Credential 'Staking) Source #

get the actual ptrs map, we don't need a view

data EpochState era Source #

Constructors

EpochState 

Fields

Instances

Instances details
CanGetInstantStake EpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanSetInstantStake EpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanGetUTxO EpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (EpochState era) (UTxO era) Source #

CanSetUTxO EpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (EpochState era) (UTxO era) Source #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ ToJSON (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Generic (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Associated Types

type Rep (EpochState era) ∷ TypeType #

Methods

fromEpochState era → Rep (EpochState era) x #

toRep (EpochState era) x → EpochState era #

(EraTxOut era, Show (GovState era), Show (CertState era), Show (InstantStake era)) ⇒ Show (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

showsPrecIntEpochState era → ShowS #

showEpochState era → String #

showList ∷ [EpochState era] → ShowS #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ FromCBOR (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

fromCBORDecoder s (EpochState era) Source #

labelProxy (EpochState era) → Text Source #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ ToCBOR (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

toCBOREpochState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (EpochState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [EpochState era] → Size Source #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ DecCBOR (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

decCBORDecoder s (EpochState era) Source #

dropCBORProxy (EpochState era) → Decoder s () Source #

labelProxy (EpochState era) → Text Source #

(EraTxOut era, EraStake era, EncCBOR (GovState era), EncCBOR (CertState era)) ⇒ EncCBOR (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

encCBOREpochState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (EpochState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [EpochState era] → Size Source #

Default (LedgerState era) ⇒ Default (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

defEpochState era Source #

(EraTxOut era, NFData (GovState era), NFData (CertState era), NFData (InstantStake era)) ⇒ NFData (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

rnfEpochState era → () #

(EraTxOut era, Eq (GovState era), Eq (CertState era), Eq (InstantStake era)) ⇒ Eq (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

(==)EpochState era → EpochState era → Bool #

(/=)EpochState era → EpochState era → Bool #

(EraTxOut era, NoThunks (GovState era), NoThunks (CertState era), NoThunks (InstantStake era)) ⇒ NoThunks (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (EpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (EpochState era) = D1 ('MetaData "EpochState" "Cardano.Ledger.Shelley.LedgerState.Types" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "EpochState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "esAccountState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AccountState) :*: S1 ('MetaSel ('Just "esLState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerState era))) :*: (S1 ('MetaSel ('Just "esSnapshots") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SnapShots) :*: S1 ('MetaSel ('Just "esNonMyopic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NonMyopic))))

data PulsingRewUpdate Source #

The state used in the STS rules

Instances

Instances details
ToJSON PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Generic PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Associated Types

type Rep PulsingRewUpdateTypeType #

Show PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

DecCBOR PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

EncCBOR PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

NFData PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

rnfPulsingRewUpdate → () #

Eq PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

NoThunks PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

type Rep PulsingRewUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

type Rep PulsingRewUpdate = D1 ('MetaData "PulsingRewUpdate" "Cardano.Ledger.Shelley.RewardUpdate" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "Pulsing" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RewardSnapShot) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Pulser)) :+: C1 ('MetaCons "Complete" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RewardUpdate)))

data FutureGenDeleg Source #

Instances

Instances details
ToJSON FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

Generic FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Rep FutureGenDelegTypeType #

Show FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

DecCBOR FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

EncCBOR FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

NFData FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

rnfFutureGenDeleg → () #

Eq FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

Ord FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

NoThunks FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep FutureGenDeleg 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep FutureGenDeleg = D1 ('MetaData "FutureGenDeleg" "Cardano.Ledger.State.CertState" "cardano-ledger-core-1.18.0.0-inplace" 'False) (C1 ('MetaCons "FutureGenDeleg" 'PrefixI 'True) (S1 ('MetaSel ('Just "fGenDelegSlot") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo) :*: S1 ('MetaSel ('Just "fGenDelegGenKeyHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'Genesis))))

data InstantaneousRewards Source #

InstantaneousRewards captures the pending changes to the ledger state caused by MIR certificates. It consists of two mappings, the rewards which will be paid out from the reserves and the rewards which will be paid out from the treasury. It also consists of two coin values which represent the transfer of coins from one pot to the other pot. NOTE that the following property should always hold: deltaReserves + deltaTreasury = 0

Instances

Instances details
ToJSON InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

Generic InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Rep InstantaneousRewardsTypeType #

Show InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

DecShareCBOR InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Share InstantaneousRewards Source #

EncCBOR InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

Default InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

NFData InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

rnfInstantaneousRewards → () #

Eq InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

NoThunks InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep InstantaneousRewards = D1 ('MetaData "InstantaneousRewards" "Cardano.Ledger.State.CertState" "cardano-ledger-core-1.18.0.0-inplace" 'False) (C1 ('MetaCons "InstantaneousRewards" 'PrefixI 'True) ((S1 ('MetaSel ('Just "iRReserves") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) Coin)) :*: S1 ('MetaSel ('Just "iRTreasury") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) Coin))) :*: (S1 ('MetaSel ('Just "deltaReserves") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DeltaCoin) :*: S1 ('MetaSel ('Just "deltaTreasury") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DeltaCoin))))
type Share InstantaneousRewards 
Instance details

Defined in Cardano.Ledger.State.CertState

data LedgerState era Source #

The state associated with a Ledger.

Constructors

LedgerState 

Fields

Instances

Instances details
CanGetInstantStake LedgerState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanSetInstantStake LedgerState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanGetUTxO LedgerState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (LedgerState era) (UTxO era) Source #

CanSetUTxO LedgerState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (LedgerState era) (UTxO era) Source #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ ToJSON (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Generic (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Associated Types

type Rep (LedgerState era) ∷ TypeType #

Methods

fromLedgerState era → Rep (LedgerState era) x #

toRep (LedgerState era) x → LedgerState era #

(EraTxOut era, Show (GovState era), Show (CertState era), Show (InstantStake era)) ⇒ Show (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

showsPrecIntLedgerState era → ShowS #

showLedgerState era → String #

showList ∷ [LedgerState era] → ShowS #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ FromCBOR (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ ToCBOR (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

toCBORLedgerState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (LedgerState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [LedgerState era] → Size Source #

(EraTxOut era, EraGov era, EraStake era, EraCertState era) ⇒ DecShareCBOR (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Associated Types

type Share (LedgerState era) Source #

(EraTxOut era, EraStake era, EncCBOR (GovState era), EncCBOR (CertState era)) ⇒ EncCBOR (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

encCBORLedgerState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (LedgerState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [LedgerState era] → Size Source #

(Default (UTxOState era), Default (CertState era)) ⇒ Default (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

defLedgerState era Source #

(EraTxOut era, NFData (GovState era), NFData (CertState era), NFData (InstantStake era)) ⇒ NFData (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

rnfLedgerState era → () #

(EraTxOut era, Eq (GovState era), Eq (CertState era), Eq (InstantStake era)) ⇒ Eq (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

(==)LedgerState era → LedgerState era → Bool #

(/=)LedgerState era → LedgerState era → Bool #

(EraTxOut era, NoThunks (GovState era), NoThunks (CertState era), NoThunks (InstantStake era)) ⇒ NoThunks (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (LedgerState era) = D1 ('MetaData "LedgerState" "Cardano.Ledger.Shelley.LedgerState.Types" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "LedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "lsUTxOState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (UTxOState era)) :*: S1 ('MetaSel ('Just "lsCertState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CertState era))))
type Share (LedgerState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

data PState era Source #

The state used by the POOL rule, which tracks stake pool information.

Constructors

PState 

Fields

Instances

Instances details
ToJSON (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Generic (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Rep (PState era) ∷ TypeType #

Methods

fromPState era → Rep (PState era) x #

toRep (PState era) x → PState era #

Show (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

showsPrecIntPState era → ShowS #

showPState era → String #

showList ∷ [PState era] → ShowS #

(Era era, DecShareCBOR (PState era)) ⇒ DecCBOR (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

decCBORDecoder s (PState era) Source #

dropCBORProxy (PState era) → Decoder s () Source #

labelProxy (PState era) → Text Source #

DecShareCBOR (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Associated Types

type Share (PState era) Source #

Methods

getSharePState era → Share (PState era) Source #

decShareCBORShare (PState era) → Decoder s (PState era) Source #

decSharePlusCBORStateT (Share (PState era)) (Decoder s) (PState era) Source #

Era era ⇒ EncCBOR (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

encCBORPState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (PState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [PState era] → Size Source #

Default (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

defPState era Source #

NFData (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

rnfPState era → () #

Eq (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

Methods

(==)PState era → PState era → Bool #

(/=)PState era → PState era → Bool #

NoThunks (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

type Rep (PState era) = D1 ('MetaData "PState" "Cardano.Ledger.State.CertState" "cardano-ledger-core-1.18.0.0-inplace" 'False) (C1 ('MetaCons "PState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "psStakePoolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) PoolParams)) :*: S1 ('MetaSel ('Just "psFutureStakePoolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) PoolParams))) :*: (S1 ('MetaSel ('Just "psRetiring") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) EpochNo)) :*: S1 ('MetaSel ('Just "psDeposits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) Coin)))))
type Share (PState era) 
Instance details

Defined in Cardano.Ledger.State.CertState

data RewardUpdate Source #

The ultimate goal of a reward update computation. Aggregating rewards for each staking credential.

Constructors

RewardUpdate 

Instances

Instances details
ToJSON RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Generic RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Associated Types

type Rep RewardUpdateTypeType #

Show RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

DecCBOR RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

EncCBOR RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

NFData RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

rnfRewardUpdate → () #

Eq RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

NoThunks RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

type Rep RewardUpdate Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

type Rep RewardUpdate = D1 ('MetaData "RewardUpdate" "Cardano.Ledger.Shelley.RewardUpdate" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "RewardUpdate" 'PrefixI 'True) ((S1 ('MetaSel ('Just "deltaT") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DeltaCoin) :*: S1 ('MetaSel ('Just "deltaR") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DeltaCoin)) :*: (S1 ('MetaSel ('Just "rs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) (Set Reward))) :*: (S1 ('MetaSel ('Just "deltaF") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DeltaCoin) :*: S1 ('MetaSel ('Just "nonMyopic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NonMyopic)))))

data RewardSnapShot Source #

To complete the reward update, we need a snap shot of the EpochState particular to this computation

Instances

Instances details
Generic RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Associated Types

type Rep RewardSnapShotTypeType #

Show RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

DecCBOR RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

EncCBOR RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

NFData RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

rnfRewardSnapShot → () #

Eq RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

NoThunks RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

type Rep RewardSnapShot Source # 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

type Rep RewardSnapShot = D1 ('MetaData "RewardSnapShot" "Cardano.Ledger.Shelley.RewardUpdate" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "RewardSnapShot" 'PrefixI 'True) (((S1 ('MetaSel ('Just "rewFees") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin) :*: S1 ('MetaSel ('Just "rewProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer)) :*: (S1 ('MetaSel ('Just "rewNonMyopic") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NonMyopic) :*: S1 ('MetaSel ('Just "rewDeltaR1") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin))) :*: ((S1 ('MetaSel ('Just "rewR") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin) :*: S1 ('MetaSel ('Just "rewDeltaT1") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin)) :*: (S1 ('MetaSel ('Just "rewLikelihoods") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) Likelihood)) :*: S1 ('MetaSel ('Just "rewLeaders") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) (Set Reward)))))))

data UTxOState era Source #

There is a serious invariant that we must maintain in the UTxOState. Given (UTxOState utxo _ _ _ istake) it must be the case that Of course computing the RHS of the above equality can be very expensive, so we only use this route in the testing function smartUTxO. But we are very careful, wherever we update the UTxO, we carefully make INCREMENTAL changes to istake to maintain this invariant. This happens in the UTxO rule.

Constructors

UTxOState 

Instances

Instances details
CanGetInstantStake UTxOState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanSetInstantStake UTxOState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanGetUTxO UTxOState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (UTxOState era) (UTxO era) Source #

CanSetUTxO UTxOState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (UTxOState era) (UTxO era) Source #

(EraTxOut era, EraGov era, EraStake era) ⇒ ToJSON (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Generic (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Associated Types

type Rep (UTxOState era) ∷ TypeType #

Methods

fromUTxOState era → Rep (UTxOState era) x #

toRep (UTxOState era) x → UTxOState era #

(EraTxOut era, Show (GovState era), Show (InstantStake era)) ⇒ Show (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

showsPrecIntUTxOState era → ShowS #

showUTxOState era → String #

showList ∷ [UTxOState era] → ShowS #

(EraTxOut era, EraGov era, EraStake era) ⇒ FromCBOR (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

fromCBORDecoder s (UTxOState era) Source #

labelProxy (UTxOState era) → Text Source #

(EraTxOut era, EraGov era, EraStake era) ⇒ ToCBOR (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

toCBORUTxOState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (UTxOState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [UTxOState era] → Size Source #

(EraTxOut era, EraGov era, EraStake era) ⇒ DecShareCBOR (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Associated Types

type Share (UTxOState era) Source #

(EraTxOut era, EraStake era, EncCBOR (GovState era)) ⇒ EncCBOR (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

encCBORUTxOState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (UTxOState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [UTxOState era] → Size Source #

(EraGov era, EraStake era) ⇒ Default (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

defUTxOState era Source #

(EraTxOut era, NFData (GovState era), NFData (InstantStake era)) ⇒ NFData (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

rnfUTxOState era → () #

(EraTxOut era, Eq (GovState era), Eq (InstantStake era)) ⇒ Eq (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

(==)UTxOState era → UTxOState era → Bool #

(/=)UTxOState era → UTxOState era → Bool #

(NoThunks (UTxO era), NoThunks (GovState era), NoThunks (InstantStake era)) ⇒ NoThunks (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (UTxOState era) = D1 ('MetaData "UTxOState" "Cardano.Ledger.Shelley.LedgerState.Types" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "UTxOState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "utxosUtxo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (UTxO era)) :*: (S1 ('MetaSel ('Just "utxosDeposited") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin) :*: S1 ('MetaSel ('Just "utxosFees") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin))) :*: (S1 ('MetaSel ('Just "utxosGovState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (GovState era)) :*: (S1 ('MetaSel ('Just "utxosInstantStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (InstantStake era)) :*: S1 ('MetaSel ('Just "utxosDonation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin)))))
type Share (UTxOState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

smartUTxOStateEraStake era ⇒ PParams era → UTxO era → CoinCoinGovState era → CoinUTxOState era Source #

A valid (or self-consistent) UTxOState{utxosUtxo, utxosDeposited , utxosFees , utxosPpups , utxosStakeDistr} maintains an invariant between the utxosUtxo and utxosStakeDistr fields. the utxosStakeDistr field is the aggregation of Coin over the StakeReferences in the UTxO. It can be computed by a pure function from the _utxo field. In some situations, mostly unit or example tests, or when initializing a small UTxO, we want to create a UTxOState that computes the utxosStakeDistr from the utxosUtxo. This is aways safe to do, but if the utxosUtxo field is big, this can be very expensive, which defeats the purpose of memoizing the utxosStakeDistr field. So use of this function should be restricted to tests and initializations, where the invariant should be maintained.

TO IncrementalStake

data ShelleyCertState era Source #

Constructors

ShelleyCertState 

Fields

Instances

Instances details
ToJSON (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Generic (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Associated Types

type Rep (ShelleyCertState era) ∷ TypeType #

Methods

fromShelleyCertState era → Rep (ShelleyCertState era) x #

toRep (ShelleyCertState era) x → ShelleyCertState era #

Show (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Era era ⇒ DecShareCBOR (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Associated Types

type Share (ShelleyCertState era) Source #

Era era ⇒ EncCBOR (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Methods

encCBORShelleyCertState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (ShelleyCertState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [ShelleyCertState era] → Size Source #

Default (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Methods

defShelleyCertState era Source #

Era era ⇒ NFData (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Methods

rnfShelleyCertState era → () #

Eq (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Methods

(==)ShelleyCertState era → ShelleyCertState era → Bool #

(/=)ShelleyCertState era → ShelleyCertState era → Bool #

Era era ⇒ NoThunks (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

type Rep (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

type Rep (ShelleyCertState era) = D1 ('MetaData "ShelleyCertState" "Cardano.Ledger.Shelley.State.CertState" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "ShelleyCertState" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyCertPState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PState era)) :*: S1 ('MetaSel ('Just "shelleyCertDState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (DState era))))
type Share (ShelleyCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.State.CertState

Genesis State

genesisState ∷ ∀ era. (EraGov era, EraCertState era, EraStake era) ⇒ Map (KeyHash 'Genesis) GenDelegPairUTxO era → LedgerState era Source #

Creates the ledger state for an empty ledger which contains the specified transaction outputs.

Validation

consumedEraUTxO era ⇒ PParams era → CertState era → UTxO era → TxBody era → Value era Source #

produced ∷ (EraUTxO era, EraCertState era) ⇒ PParams era → CertState era → TxBody era → Value era Source #

Compute the lovelace which are created by the transaction For eras before Conway, VState is expected to have an empty Map for vsDReps, and so deposit summed up is zero.

DelegationState

payPoolDepositEraPParams era ⇒ KeyHash 'StakePoolPParams era → PState era → PState era Source #

One only pays a deposit on the initial pool registration. So return the the Deposits unchanged if the keyhash already exists. There are legal situations where a pool may be registered multiple times.

totalObligation ∷ (EraGov era, EraCertState era) ⇒ CertState era → GovState era → Coin Source #

Epoch boundary

applyRUpd ∷ (EraGov era, EraCertState era) ⇒ RewardUpdateEpochState era → EpochState era Source #

Apply a RewardUpdate to the EpochState. Does several things 1) Adds reward coins to Rewards component of the UMap field of the DState, for actively delegated Stake 2) Adds to the Treasury of the AccountState for non-actively delegated stake 3) Adds fees to the UTxOState

data FilteredRewards era Source #

Constructors

FilteredRewards 

Fields

Instances

Instances details
NFData (FilteredRewards era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.IncrementalStake

Methods

rnfFilteredRewards era → () #

createRUpd ∷ ∀ era. (EraGov era, EraCertState era) ⇒ EpochSizeBlocksMadeEpochState era → CoinActiveSlotCoeffNonZero Word64ShelleyBase RewardUpdate Source #

To create a reward update, run all 3 phases This function is not used in the rules, so it ignores RewardEvents

completeRupdPulsingRewUpdateShelleyBase (RewardUpdate, RewardEvent) Source #

Phase 3 of reward update has several parts a) completeM the pulser (in case there are still computions to run) b) Combine the pulser provenance with the RewardProvenance c) Construct the final RewardUpdate d) Add the leader rewards to both the events and the computed Rewards

pulseStepPulsingRewUpdateShelleyBase (PulsingRewUpdate, RewardEvent) Source #

Run the pulser for a bit. If is has nothing left to do, complete it.

data NewEpochState era Source #

New Epoch state and environment

Instances

Instances details
CanGetInstantStake NewEpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanSetInstantStake NewEpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

CanGetUTxO NewEpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoGSimpleGetter (NewEpochState era) (UTxO era) Source #

CanSetUTxO NewEpochState Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

utxoLLens' (NewEpochState era) (UTxO era) Source #

Generic (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Associated Types

type Rep (NewEpochState era) ∷ TypeType #

Methods

fromNewEpochState era → Rep (NewEpochState era) x #

toRep (NewEpochState era) x → NewEpochState era #

(EraTxOut era, Show (StashedAVVMAddresses era), Show (GovState era), Show (CertState era), Show (InstantStake era)) ⇒ Show (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

showsPrecIntNewEpochState era → ShowS #

showNewEpochState era → String #

showList ∷ [NewEpochState era] → ShowS #

(EraTxOut era, EraGov era, EraStake era, EraCertState era, DecCBOR (StashedAVVMAddresses era)) ⇒ FromCBOR (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

(EraTxOut era, EraGov era, EraStake era, EraCertState era, EncCBOR (StashedAVVMAddresses era)) ⇒ ToCBOR (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

toCBORNewEpochState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (NewEpochState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [NewEpochState era] → Size Source #

(EraTxOut era, EraGov era, EraStake era, DecCBOR (StashedAVVMAddresses era), EraCertState era) ⇒ DecCBOR (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

(EraTxOut era, EraStake era, EncCBOR (StashedAVVMAddresses era), EncCBOR (GovState era), EncCBOR (CertState era)) ⇒ EncCBOR (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

encCBORNewEpochState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (NewEpochState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [NewEpochState era] → Size Source #

(EraTxOut era, NFData (StashedAVVMAddresses era), NFData (GovState era), NFData (CertState era), NFData (InstantStake era)) ⇒ NFData (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

rnfNewEpochState era → () #

(EraTxOut era, Eq (StashedAVVMAddresses era), Eq (GovState era), Eq (CertState era), Eq (InstantStake era)) ⇒ Eq (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

Methods

(==)NewEpochState era → NewEpochState era → Bool #

(/=)NewEpochState era → NewEpochState era → Bool #

(Era era, NoThunks (EpochState era), NoThunks (StashedAVVMAddresses era)) ⇒ NoThunks (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (NewEpochState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.LedgerState.Types

type Rep (NewEpochState era) = D1 ('MetaData "NewEpochState" "Cardano.Ledger.Shelley.LedgerState.Types" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "NewEpochState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "nesEL") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo) :*: (S1 ('MetaSel ('Just "nesBprev") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlocksMade) :*: S1 ('MetaSel ('Just "nesBcur") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlocksMade))) :*: ((S1 ('MetaSel ('Just "nesEs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EpochState era)) :*: S1 ('MetaSel ('Just "nesRu") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe PulsingRewUpdate))) :*: (S1 ('MetaSel ('Just "nesPd") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PoolDistr) :*: S1 ('MetaSel ('Just "stashedAVVMAddresses") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StashedAVVMAddresses era))))))

stashedAVVMAddressesNewEpochState era → StashedAVVMAddresses era Source #

AVVM addresses to be removed at the end of the Shelley era. Note that the existence of this field is a hack, related to the transition of UTxO to disk. We remove AVVM addresses from the UTxO on the Shelley/Allegra boundary. However, by this point the UTxO will be moved to disk, and hence doing a scan of the UTxO for AVVM addresses will be expensive. Our solution to this is to do a scan of the UTxO on the Byron/Shelley boundary (since Byron UTxO are still on disk), stash the results here, and then remove them at the Shelley/Allegra boundary.

This is very much an awkward implementation hack, and hence we hide it from as many places as possible.

updateNESEraGov era ⇒ NewEpochState era → BlocksMadeLedgerState era → NewEpochState era Source #

Update new epoch state

circulationEpochState era → CoinCoin Source #

Calculate the current circulation

This is used in the rewards calculation, and for API endpoints for pool ranking.

Decay

Remove Bootstrap Redeem Addresses

pvCanFollow Source #

Arguments

ProtVer

Previous protocol version

ProtVer

New protocol version

Bool 

Check whether the new protocol version is a legitimate version bump with respect to the previous one.

availableAfterMIRMIRPotAccountStateInstantaneousRewardsCoin Source #

This function returns the coin balance of a given pot, either the reserves or the treasury, after the instantaneous rewards and pot transfers are accounted for.

data ShelleyGovState era Source #

Constructors

ShelleyGovState 

Fields

Instances

Instances details
EraPParams era ⇒ ToJSON (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Generic (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Associated Types

type Rep (ShelleyGovState era) ∷ TypeType #

Methods

fromShelleyGovState era → Rep (ShelleyGovState era) x #

toRep (ShelleyGovState era) x → ShelleyGovState era #

(Show (PParamsUpdate era), Show (PParams era)) ⇒ Show (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Methods

showsPrecIntShelleyGovState era → ShowS #

showShelleyGovState era → String #

showList ∷ [ShelleyGovState era] → ShowS #

(Era era, DecCBOR (PParamsUpdate era), DecCBOR (PParams era)) ⇒ FromCBOR (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

(Era era, EncCBOR (PParamsUpdate era), EncCBOR (PParams era)) ⇒ ToCBOR (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Methods

toCBORShelleyGovState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (ShelleyGovState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [ShelleyGovState era] → Size Source #

(Era era, DecCBOR (PParamsUpdate era), DecCBOR (PParams era)) ⇒ DecCBOR (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

(Era era, DecCBOR (PParamsUpdate era), DecCBOR (PParams era)) ⇒ DecShareCBOR (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Associated Types

type Share (ShelleyGovState era) Source #

(Era era, EncCBOR (PParamsUpdate era), EncCBOR (PParams era)) ⇒ EncCBOR (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Methods

encCBORShelleyGovState era → Encoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy (ShelleyGovState era) → Size Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [ShelleyGovState era] → Size Source #

EraPParams era ⇒ Default (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Methods

defShelleyGovState era Source #

(NFData (PParamsUpdate era), NFData (PParams era)) ⇒ NFData (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Methods

rnfShelleyGovState era → () #

(Eq (PParamsUpdate era), Eq (PParams era)) ⇒ Eq (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Methods

(==)ShelleyGovState era → ShelleyGovState era → Bool #

(/=)ShelleyGovState era → ShelleyGovState era → Bool #

(NoThunks (PParamsUpdate era), NoThunks (PParams era)) ⇒ NoThunks (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

type Rep (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

type Rep (ShelleyGovState era) = D1 ('MetaData "ShelleyGovState" "Cardano.Ledger.Shelley.Governance" "cardano-ledger-shelley-1.17.0.0-inplace" 'False) (C1 ('MetaCons "ShelleyGovState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "sgsCurProposals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ProposedPPUpdates era)) :*: S1 ('MetaSel ('Just "sgsFutureProposals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ProposedPPUpdates era))) :*: (S1 ('MetaSel ('Just "sgsCurPParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams era)) :*: (S1 ('MetaSel ('Just "sgsPrevPParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams era)) :*: S1 ('MetaSel ('Just "sgsFuturePParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (FuturePParams era))))))
type Share (ShelleyGovState era) Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Lenses from Types

utxosUtxoLLens' (UTxOState era) (UTxO era) Source #

Deprecated: In favor of utxoL

Lenses from CertState

Lenses from SnapShot(s)