cardano-ledger-conway-1.21.0.0: Cardano ledger with an updated on-chain governance system.
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Conway.State

Synopsis

Documentation

data ConwayAccountState era Source #

Constructors

ConwayAccountState 

Fields

Instances

Instances details
ToJSON (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Typeable era ⇒ DecShareCBOR (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Associated Types

type Share (ConwayAccountState era) 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

EncCBOR (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

ToKeyValuePairs (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

toKeyValuePairsKeyValue e kv ⇒ ConwayAccountState era → [kv] Source #

NFData (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

rnfConwayAccountState era → () #

Generic (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Associated Types

type Rep (ConwayAccountState era) 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Rep (ConwayAccountState era) = D1 ('MetaData "ConwayAccountState" "Cardano.Ledger.Conway.State.Account" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "ConwayAccountState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "casBalance") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Just "casDeposit") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :*: (S1 ('MetaSel ('Just "casStakePoolDelegation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (KeyHash 'StakePool))) :*: S1 ('MetaSel ('Just "casDRepDelegation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe DRep)))))
Show (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Eq (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

NoThunks (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Share (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Rep (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Rep (ConwayAccountState era) = D1 ('MetaData "ConwayAccountState" "Cardano.Ledger.Conway.State.Account" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "ConwayAccountState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "casBalance") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Just "casDeposit") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :*: (S1 ('MetaSel ('Just "casStakePoolDelegation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (KeyHash 'StakePool))) :*: S1 ('MetaSel ('Just "casDRepDelegation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe DRep)))))

newtype ConwayAccounts era Source #

Constructors

ConwayAccounts 

Fields

Instances

Instances details
ToJSON (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Typeable era ⇒ DecShareCBOR (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

EncCBOR (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Default (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

defConwayAccounts era Source #

NFData (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

rnfConwayAccounts era → () #

Generic (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Associated Types

type Rep (ConwayAccounts era) 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Rep (ConwayAccounts era) = D1 ('MetaData "ConwayAccounts" "Cardano.Ledger.Conway.State.Account" "cardano-ledger-conway-1.21.0.0-inplace" 'True) (C1 ('MetaCons "ConwayAccounts" 'PrefixI 'True) (S1 ('MetaSel ('Just "caStates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (Credential 'Staking) (ConwayAccountState era)))))

Methods

fromConwayAccounts era → Rep (ConwayAccounts era) x #

toRep (ConwayAccounts era) x → ConwayAccounts era #

Show (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

showsPrecIntConwayAccounts era → ShowS #

showConwayAccounts era → String #

showList ∷ [ConwayAccounts era] → ShowS #

Eq (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

(==)ConwayAccounts era → ConwayAccounts era → Bool #

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

NoThunks (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Share (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Rep (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

type Rep (ConwayAccounts era) = D1 ('MetaData "ConwayAccounts" "Cardano.Ledger.Conway.State.Account" "cardano-ledger-conway-1.21.0.0-inplace" 'True) (C1 ('MetaCons "ConwayAccounts" 'PrefixI 'True) (S1 ('MetaSel ('Just "caStates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (Credential 'Staking) (ConwayAccountState era)))))

unregisterConwayAccount Source #

Arguments

EraAccounts era 
Credential 'Staking

Credential to unregister

Accounts era

Accounts to remove the account state from

→ (Maybe (AccountState era), Accounts era)

Returns Just whenever account was registered and Nothing otherwise. Produced Accounts will have the account state removed, if it was present there to begin with.

data ConwayCertState era Source #

Constructors

ConwayCertState 

Fields

Instances

Instances details
ToJSON (Accounts era) ⇒ ToJSON (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

EraAccounts era ⇒ DecShareCBOR (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

EraAccounts era ⇒ EncCBOR (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

ToJSON (Accounts era) ⇒ ToKeyValuePairs (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

Methods

toKeyValuePairsKeyValue e kv ⇒ ConwayCertState era → [kv] Source #

Default (Accounts era) ⇒ Default (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

Methods

defConwayCertState era Source #

(Era era, NFData (Accounts era)) ⇒ NFData (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

Methods

rnfConwayCertState era → () #

Generic (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

Associated Types

type Rep (ConwayCertState era) 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

type Rep (ConwayCertState era) = D1 ('MetaData "ConwayCertState" "Cardano.Ledger.Conway.State.CertState" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "ConwayCertState" 'PrefixI 'True) (S1 ('MetaSel ('Just "conwayCertVState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VState era)) :*: (S1 ('MetaSel ('Just "conwayCertPState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PState era)) :*: S1 ('MetaSel ('Just "conwayCertDState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (DState era)))))

Methods

fromConwayCertState era → Rep (ConwayCertState era) x #

toRep (ConwayCertState era) x → ConwayCertState era #

Show (Accounts era) ⇒ Show (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

Methods

showsPrecIntConwayCertState era → ShowS #

showConwayCertState era → String #

showList ∷ [ConwayCertState era] → ShowS #

Eq (Accounts era) ⇒ Eq (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

Methods

(==)ConwayCertState era → ConwayCertState era → Bool #

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

(Era era, NoThunks (Accounts era)) ⇒ NoThunks (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

type Share (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

type Rep (ConwayCertState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.CertState

type Rep (ConwayCertState era) = D1 ('MetaData "ConwayCertState" "Cardano.Ledger.Conway.State.CertState" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "ConwayCertState" 'PrefixI 'True) (S1 ('MetaSel ('Just "conwayCertVState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VState era)) :*: (S1 ('MetaSel ('Just "conwayCertPState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PState era)) :*: S1 ('MetaSel ('Just "conwayCertDState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (DState era)))))

mkConwayCertStateConwayEraCertState era ⇒ VState era → PState era → DState era → CertState era Source #

conwayCertDStateL ∷ ∀ era f. Functor f ⇒ (DState era → f (DState era)) → ConwayCertState era → f (ConwayCertState era) Source #

conwayCertPStateL ∷ ∀ era f. Functor f ⇒ (PState era → f (PState era)) → ConwayCertState era → f (ConwayCertState era) Source #

conwayCertVStateL ∷ ∀ era f. Functor f ⇒ (VState era → f (VState era)) → ConwayCertState era → f (ConwayCertState era) Source #

conwayCertsTotalDepositsTxBody ∷ ∀ era (l ∷ TxLevel). EraTxBody era ⇒ PParams era → ConwayCertState era → TxBody l era → Coin Source #

conwayCertsTotalRefundsTxBody ∷ ∀ era (l ∷ TxLevel). (EraTxBody era, EraAccounts era) ⇒ PParams era → ConwayCertState era → TxBody l era → Coin Source #

newtype ConwayInstantStake era Source #

Instances

Instances details
ToJSON (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

DecShareCBOR (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Associated Types

type Share (ConwayInstantStake era) 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

EncCBOR (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

ToKeyValuePairs (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Methods

toKeyValuePairsKeyValue e kv ⇒ ConwayInstantStake era → [kv] Source #

Default (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

NFData (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Methods

rnfConwayInstantStake era → () #

Monoid (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Semigroup (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Generic (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Associated Types

type Rep (ConwayInstantStake era) 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

type Rep (ConwayInstantStake era) = D1 ('MetaData "ConwayInstantStake" "Cardano.Ledger.Conway.State.Stake" "cardano-ledger-conway-1.21.0.0-inplace" 'True) (C1 ('MetaCons "ConwayInstantStake" 'PrefixI 'True) (S1 ('MetaSel ('Just "cisCredentialStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (Credential 'Staking) (CompactForm Coin)))))
Show (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Eq (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

Ord (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

NoThunks (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

type Share (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

type Rep (ConwayInstantStake era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Stake

type Rep (ConwayInstantStake era) = D1 ('MetaData "ConwayInstantStake" "Cardano.Ledger.Conway.State.Stake" "cardano-ledger-conway-1.21.0.0-inplace" 'True) (C1 ('MetaCons "ConwayInstantStake" 'PrefixI 'True) (S1 ('MetaSel ('Just "cisCredentialStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (Credential 'Staking) (CompactForm Coin)))))

data VState era Source #

The state that tracks the voting entities (DReps and Constitutional Committee members). In the formal ledger specification this type is called GState

Constructors

VState 

Fields

  • vsDReps ∷ !(Map (Credential 'DRepRole) DRepState)
     
  • vsCommitteeState ∷ !(CommitteeState era)
     
  • vsNumDormantEpochs ∷ !EpochNo

    Number of contiguous epochs in which there are exactly zero active governance proposals to vote on. It is incremented in every EPOCH rule if the number of active governance proposals to vote on continues to be zero. It is reset to zero when a new governance action is successfully proposed. We need this counter in order to bump DRep expiries through dormant periods when DReps do not have an opportunity to vote on anything.

Instances

Instances details
ToJSON (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Era era ⇒ DecCBOR (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

decCBORDecoder s (VState era) Source #

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

labelProxy (VState era) → Text Source #

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

Defined in Cardano.Ledger.Conway.State.VState

Associated Types

type Share (VState era) 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

getShareVState era → Share (VState era) Source #

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

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

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

Defined in Cardano.Ledger.Conway.State.VState

Methods

encCBORVState era → Encoding Source #

ToKeyValuePairs (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

toKeyValuePairsKeyValue e kv ⇒ VState era → [kv] Source #

Default (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

defVState era Source #

NFData (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

rnfVState era → () #

Generic (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Associated Types

type Rep (VState era) 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

type Rep (VState era) = D1 ('MetaData "VState" "Cardano.Ledger.Conway.State.VState" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "VState" 'PrefixI 'True) (S1 ('MetaSel ('Just "vsDReps") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'DRepRole) DRepState)) :*: (S1 ('MetaSel ('Just "vsCommitteeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CommitteeState era)) :*: S1 ('MetaSel ('Just "vsNumDormantEpochs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo))))

Methods

fromVState era → Rep (VState era) x #

toRep (VState era) x → VState era #

Show (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

showsPrecIntVState era → ShowS #

showVState era → String #

showList ∷ [VState era] → ShowS #

Eq (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

(==)VState era → VState era → Bool #

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

NoThunks (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

type Share (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

type Rep (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

type Rep (VState era) = D1 ('MetaData "VState" "Cardano.Ledger.Conway.State.VState" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "VState" 'PrefixI 'True) (S1 ('MetaSel ('Just "vsDReps") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'DRepRole) DRepState)) :*: (S1 ('MetaSel ('Just "vsCommitteeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CommitteeState era)) :*: S1 ('MetaSel ('Just "vsNumDormantEpochs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo))))

vsDRepsL ∷ ∀ era f. Functor f ⇒ (Map (Credential 'DRepRole) DRepState → f (Map (Credential 'DRepRole) DRepState)) → VState era → f (VState era) Source #

vsCommitteeStateL ∷ ∀ era f. Functor f ⇒ (CommitteeState era → f (CommitteeState era)) → VState era → f (VState era) Source #

vsNumDormantEpochsL ∷ ∀ era f. Functor f ⇒ (EpochNo → f EpochNo) → VState era → f (VState era) Source #

lookupDepositVStateVState era → Credential 'DRepRoleMaybe Coin Source #

Function that looks up the deposit for currently registered DRep

unDelegReDelegDRep Source #

Arguments

ConwayEraAccounts era 
Credential 'Staking 
AccountState era

Account that is losing its current delegation and/or acquiring a new one

Maybe DRep

Potential new delegation. In case when stake credential unregisters this must be Nothing.

VState era 
VState era 

Reverses DRep delegation. To be called when a stake credential is unregistered or its delegation target changes. If the new delegation matches the previous one, this is a noop.