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

Cardano.Ledger.Conway.State

Synopsis

Documentation

data ConwayAccountState era where Source #

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

toKeyValuePairs ∷ KeyValue e kv ⇒ ConwayAccountState era → [kv] Source #

NFData (ConwayAccountState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

rnf ∷ ConwayAccountState 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.24.0.0-inplace" 'False) ((C1 ('MetaCons "CASNoDelegation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :+: C1 ('MetaCons "CASStakePool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool))))) :+: (C1 ('MetaCons "CASDRep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DRep))) :+: C1 ('MetaCons "CASStakePoolAndDRep" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 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.24.0.0-inplace" 'False) ((C1 ('MetaCons "CASNoDelegation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :+: C1 ('MetaCons "CASStakePool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool))))) :+: (C1 ('MetaCons "CASDRep" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DRep))) :+: C1 ('MetaCons "CASStakePoolAndDRep" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 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

def ∷ ConwayAccounts era Source #

NFData (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

rnf ∷ ConwayAccounts 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.24.0.0-inplace" 'True) (C1 ('MetaCons "ConwayAccounts" 'PrefixI 'True) (S1 ('MetaSel ('Just "caStates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (Credential 'Staking) (ConwayAccountState era)))))

Methods

from ∷ ConwayAccounts era → Rep (ConwayAccounts era) x #

to ∷ Rep (ConwayAccounts era) x → ConwayAccounts era #

Show (ConwayAccounts era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.Account

Methods

showsPrec ∷ Int → ConwayAccounts era → ShowS #

show ∷ ConwayAccounts 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.24.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

toKeyValuePairs ∷ KeyValue e kv ⇒ ConwayCertState era → [kv] Source #

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

Defined in Cardano.Ledger.Conway.State.CertState

Methods

def ∷ ConwayCertState era Source #

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

Defined in Cardano.Ledger.Conway.State.CertState

Methods

rnf ∷ ConwayCertState 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.24.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

from ∷ ConwayCertState era → Rep (ConwayCertState era) x #

to ∷ Rep (ConwayCertState era) x → ConwayCertState era #

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

Defined in Cardano.Ledger.Conway.State.CertState

Methods

showsPrec ∷ Int → ConwayCertState era → ShowS #

show ∷ ConwayCertState 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.24.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)))))

mkConwayCertState ∷ ConwayEraCertState 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 #

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

toKeyValuePairs ∷ KeyValue 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

rnf ∷ ConwayInstantStake 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.24.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.24.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

decCBOR ∷ Decoder s (VState era) Source #

dropCBOR ∷ Proxy (VState era) → Decoder s () Source #

label ∷ Proxy (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

getShare ∷ VState era → Share (VState era) Source #

decShareCBOR ∷ Share (VState era) → Decoder s (VState era) Source #

decSharePlusCBOR ∷ StateT (Share (VState era)) (Decoder s) (VState era) Source #

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

Defined in Cardano.Ledger.Conway.State.VState

Methods

encCBOR ∷ VState era → Encoding Source #

ToKeyValuePairs (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

toKeyValuePairs ∷ KeyValue e kv ⇒ VState era → [kv] Source #

Default (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

def ∷ VState era Source #

NFData (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

rnf ∷ VState 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.24.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

from ∷ VState era → Rep (VState era) x #

to ∷ Rep (VState era) x → VState era #

Show (VState era) Source # 
Instance details

Defined in Cardano.Ledger.Conway.State.VState

Methods

showsPrec ∷ Int → VState era → ShowS #

show ∷ VState 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.24.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 #

lookupDepositVState ∷ VState era → Credential 'DRepRole → Maybe 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.