Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cardano.Ledger.Conway.Governance
Synopsis
- class (EraPParams era, Eq (GovState era), Show (GovState era), NoThunks (GovState era), NFData (GovState era), EncCBOR (GovState era), DecCBOR (GovState era), DecShareCBOR (GovState era), ToCBOR (GovState era), FromCBOR (GovState era), Default (GovState era), ToJSON (GovState era)) ⇒ EraGov era where
- type GovState era = (r ∷ Type) | r → era
- emptyGovState ∷ GovState era
- getProposedPPUpdates ∷ GovState era → Maybe (ProposedPPUpdates era)
- curPParamsGovStateL ∷ Lens' (GovState era) (PParams era)
- prevPParamsGovStateL ∷ Lens' (GovState era) (PParams era)
- futurePParamsGovStateL ∷ Lens' (GovState era) (FuturePParams era)
- obligationGovState ∷ GovState era → Obligations
- data EnactState era = EnactState {
- ensCommittee ∷ !(StrictMaybe (Committee era))
- ensConstitution ∷ !(Constitution era)
- ensCurPParams ∷ !(PParams era)
- ensPrevPParams ∷ !(PParams era)
- ensTreasury ∷ !Coin
- ensWithdrawals ∷ !(Map (Credential 'Staking) Coin)
- ensPrevGovActionIds ∷ !(GovRelation StrictMaybe era)
- data RatifyState era = RatifyState {
- rsEnactState ∷ !(EnactState era)
- rsEnacted ∷ !(Seq (GovActionState era))
- rsExpired ∷ !(Set GovActionId)
- rsDelayed ∷ !Bool
- data RatifyEnv era = RatifyEnv {
- reStakeDistr ∷ !(Map (Credential 'Staking) (CompactForm Coin))
- reStakePoolDistr ∷ !PoolDistr
- reDRepDistr ∷ !(Map DRep (CompactForm Coin))
- reDRepState ∷ !(Map (Credential 'DRepRole) DRepState)
- reCurrentEpoch ∷ !EpochNo
- reCommitteeState ∷ !(CommitteeState era)
- reDelegatees ∷ !(Map (Credential 'Staking) DRep)
- rePoolParams ∷ !(Map (KeyHash 'StakePool) PoolParams)
- newtype RatifySignal era = RatifySignal {
- unRatifySignal ∷ StrictSeq (GovActionState era)
- data ConwayGovState era = ConwayGovState {
- cgsProposals ∷ !(Proposals era)
- cgsCommittee ∷ !(StrictMaybe (Committee era))
- cgsConstitution ∷ !(Constitution era)
- cgsCurPParams ∷ !(PParams era)
- cgsPrevPParams ∷ !(PParams era)
- cgsFuturePParams ∷ !(FuturePParams era)
- cgsDRepPulsingState ∷ !(DRepPulsingState era)
- predictFuturePParams ∷ ConwayGovState era → ConwayGovState era
- data Committee era = Committee {}
- committeeMembersL ∷ Lens' (Committee era) (Map (Credential 'ColdCommitteeRole) EpochNo)
- committeeThresholdL ∷ Lens' (Committee era) UnitInterval
- authorizedElectedHotCommitteeCredentials ∷ ConwayEraGov era ⇒ LedgerState era → Set (Credential 'HotCommitteeRole)
- data GovAction era
- = ParameterChange !(StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)) !(PParamsUpdate era) !(StrictMaybe ScriptHash)
- | HardForkInitiation !(StrictMaybe (GovPurposeId 'HardForkPurpose era)) !ProtVer
- | TreasuryWithdrawals !(Map RewardAccount Coin) !(StrictMaybe ScriptHash)
- | NoConfidence !(StrictMaybe (GovPurposeId 'CommitteePurpose era))
- | UpdateCommittee !(StrictMaybe (GovPurposeId 'CommitteePurpose era)) !(Set (Credential 'ColdCommitteeRole)) !(Map (Credential 'ColdCommitteeRole) EpochNo) !UnitInterval
- | NewConstitution !(StrictMaybe (GovPurposeId 'ConstitutionPurpose era)) !(Constitution era)
- | InfoAction
- data GovActionState era = GovActionState {
- gasId ∷ !GovActionId
- gasCommitteeVotes ∷ !(Map (Credential 'HotCommitteeRole) Vote)
- gasDRepVotes ∷ !(Map (Credential 'DRepRole) Vote)
- gasStakePoolVotes ∷ !(Map (KeyHash 'StakePool) Vote)
- gasProposalProcedure ∷ !(ProposalProcedure era)
- gasProposedIn ∷ !EpochNo
- gasExpiresAfter ∷ !EpochNo
- newtype GovActionIx = GovActionIx {}
- data GovActionId = GovActionId {}
- data GovActionPurpose
- class ToGovActionPurpose (p ∷ GovActionPurpose)
- isGovActionWithPurpose ∷ ∀ p era. ToGovActionPurpose p ⇒ GovAction era → Bool
- data DRepPulsingState era
- = DRPulsing !(DRepPulser era Identity (RatifyState era))
- | DRComplete !(PulsingSnapshot era) !(RatifyState era)
- data DRepPulser era (m ∷ Type → Type) ans where
- DRepPulser ∷ ∀ era ans m. (ans ~ RatifyState era, m ~ Identity, RunConwayRatify era) ⇒ {..} → DRepPulser era m ans
- govActionIdToText ∷ GovActionId → Text
- data Voter
- data Vote
- data VotingProcedure era = VotingProcedure {
- vProcVote ∷ !Vote
- vProcAnchor ∷ !(StrictMaybe Anchor)
- newtype VotingProcedures era = VotingProcedures {
- unVotingProcedures ∷ Map Voter (Map GovActionId (VotingProcedure era))
- foldlVotingProcedures ∷ (c → Voter → GovActionId → VotingProcedure era → c) → c → VotingProcedures era → c
- foldrVotingProcedures ∷ (Voter → GovActionId → VotingProcedure era → c → c) → c → VotingProcedures era → c
- data ProposalProcedure era = ProposalProcedure {
- pProcDeposit ∷ !Coin
- pProcReturnAddr ∷ !RewardAccount
- pProcGovAction ∷ !(GovAction era)
- pProcAnchor ∷ !Anchor
- data Anchor = Anchor {
- anchorUrl ∷ !Url
- anchorDataHash ∷ !(SafeHash AnchorData)
- newtype AnchorData = AnchorData ByteString
- indexedGovProps ∷ Seq (ProposalProcedure era) → Seq (GovActionIx, ProposalProcedure era)
- data Constitution era = Constitution {}
- class EraGov era ⇒ ConwayEraGov era where
- constitutionGovStateL ∷ Lens' (GovState era) (Constitution era)
- proposalsGovStateL ∷ Lens' (GovState era) (Proposals era)
- drepPulsingStateGovStateL ∷ Lens' (GovState era) (DRepPulsingState era)
- committeeGovStateL ∷ Lens' (GovState era) (StrictMaybe (Committee era))
- votingStakePoolThreshold ∷ ConwayEraPParams era ⇒ RatifyState era → GovAction era → StrictMaybe UnitInterval
- votingDRepThreshold ∷ ConwayEraPParams era ⇒ RatifyState era → GovAction era → StrictMaybe UnitInterval
- votingCommitteeThreshold ∷ ConwayEraPParams era ⇒ EpochNo → RatifyState era → CommitteeState era → GovAction era → StrictMaybe UnitInterval
- isStakePoolVotingAllowed ∷ ConwayEraPParams era ⇒ GovAction era → Bool
- isDRepVotingAllowed ∷ ConwayEraPParams era ⇒ GovAction era → Bool
- isCommitteeVotingAllowed ∷ ConwayEraPParams era ⇒ EpochNo → CommitteeState era → GovAction era → Bool
- reorderActions ∷ StrictSeq (GovActionState era) → StrictSeq (GovActionState era)
- actionPriority ∷ GovAction era → Int
- data Proposals era
- mkProposals ∷ (EraPParams era, MonadFail m) ⇒ GovRelation StrictMaybe era → OMap GovActionId (GovActionState era) → m (Proposals era)
- unsafeMkProposals ∷ (HasCallStack, EraPParams era) ⇒ GovRelation StrictMaybe era → OMap GovActionId (GovActionState era) → Proposals era
- newtype GovPurposeId (p ∷ GovActionPurpose) era = GovPurposeId {}
- data PRoot a = PRoot {
- prRoot ∷ !(StrictMaybe a)
- prChildren ∷ !(Set a)
- data PEdges a = PEdges {
- peParent ∷ !(StrictMaybe a)
- peChildren ∷ !(Set a)
- newtype PGraph a = PGraph {}
- pRootsL ∷ Lens' (Proposals era) (GovRelation PRoot era)
- pPropsL ∷ Lens' (Proposals era) (OMap GovActionId (GovActionState era))
- prRootL ∷ Lens' (PRoot a) (StrictMaybe a)
- prChildrenL ∷ Lens' (PRoot a) (Set a)
- peChildrenL ∷ Lens' (PEdges a) (Set a)
- pGraphL ∷ Lens' (Proposals era) (GovRelation PGraph era)
- pGraphNodesL ∷ Lens' (PGraph a) (Map a (PEdges a))
- data GovRelation (f ∷ Type → Type) era = GovRelation {
- grPParamUpdate ∷ !(f (GovPurposeId 'PParamUpdatePurpose era))
- grHardFork ∷ !(f (GovPurposeId 'HardForkPurpose era))
- grCommittee ∷ !(f (GovPurposeId 'CommitteePurpose era))
- grConstitution ∷ !(f (GovPurposeId 'ConstitutionPurpose era))
- hoistGovRelation ∷ (∀ a. f a → g a) → GovRelation f era → GovRelation g era
- withGovActionParent ∷ GovActionState era → a → (∀ p. (∀ f. Lens' (GovRelation f era) (f (GovPurposeId p era))) → StrictMaybe (GovPurposeId p era) → GovPurposeId p era → a) → a
- toPrevGovActionIds ∷ GovRelation PRoot era → GovRelation StrictMaybe era
- fromPrevGovActionIds ∷ GovRelation StrictMaybe era → GovRelation PRoot era
- grPParamUpdateL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'PParamUpdatePurpose era))
- grHardForkL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'HardForkPurpose era))
- grCommitteeL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'CommitteePurpose era))
- grConstitutionL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'ConstitutionPurpose era))
- proposalsActions ∷ Proposals era → StrictSeq (GovActionState era)
- proposalsDeposits ∷ Proposals era → Map (Credential 'Staking) (CompactForm Coin)
- proposalsAddAction ∷ ∀ era. (EraPParams era, HasCallStack) ⇒ GovActionState era → Proposals era → Maybe (Proposals era)
- proposalsRemoveWithDescendants ∷ EraPParams era ⇒ Set GovActionId → Proposals era → (Proposals era, Map GovActionId (GovActionState era))
- proposalsAddVote ∷ Voter → Vote → GovActionId → Proposals era → Proposals era
- proposalsIds ∷ Proposals era → StrictSeq GovActionId
- proposalsApplyEnactment ∷ ∀ era. EraPParams era ⇒ Seq (GovActionState era) → Set GovActionId → Proposals era → (Proposals era, Map GovActionId (GovActionState era), Map GovActionId (GovActionState era), Map GovActionId (GovActionState era))
- proposalsSize ∷ Proposals era → Int
- proposalsLookupId ∷ GovActionId → Proposals era → Maybe (GovActionState era)
- proposalsActionsMap ∷ Proposals era → Map GovActionId (GovActionState era)
- proposalsWithPurpose ∷ ∀ p era. ToGovActionPurpose p ⇒ (∀ f. Lens' (GovRelation f era) (f (GovPurposeId p era))) → Proposals era → Map (GovPurposeId p era) (GovActionState era)
- cgsProposalsL ∷ Lens' (ConwayGovState era) (Proposals era)
- cgsDRepPulsingStateL ∷ Lens' (ConwayGovState era) (DRepPulsingState era)
- cgsCurPParamsL ∷ Lens' (ConwayGovState era) (PParams era)
- cgsPrevPParamsL ∷ Lens' (ConwayGovState era) (PParams era)
- cgsFuturePParamsL ∷ Lens' (ConwayGovState era) (FuturePParams era)
- cgsCommitteeL ∷ Lens' (ConwayGovState era) (StrictMaybe (Committee era))
- cgsConstitutionL ∷ Lens' (ConwayGovState era) (Constitution era)
- ensCommitteeL ∷ Lens' (EnactState era) (StrictMaybe (Committee era))
- ensConstitutionL ∷ Lens' (EnactState era) (Constitution era)
- ensCurPParamsL ∷ Lens' (EnactState era) (PParams era)
- ensPrevPParamsL ∷ Lens' (EnactState era) (PParams era)
- ensWithdrawalsL ∷ Lens' (EnactState era) (Map (Credential 'Staking) Coin)
- ensTreasuryL ∷ Lens' (EnactState era) Coin
- ensPrevGovActionIdsL ∷ Lens' (EnactState era) (GovRelation StrictMaybe era)
- ensPrevPParamUpdateL ∷ Lens' (EnactState era) (StrictMaybe (GovPurposeId 'PParamUpdatePurpose era))
- ensPrevHardForkL ∷ Lens' (EnactState era) (StrictMaybe (GovPurposeId 'HardForkPurpose era))
- ensPrevCommitteeL ∷ Lens' (EnactState era) (StrictMaybe (GovPurposeId 'CommitteePurpose era))
- ensPrevConstitutionL ∷ Lens' (EnactState era) (StrictMaybe (GovPurposeId 'ConstitutionPurpose era))
- ensProtVerL ∷ EraPParams era ⇒ Lens' (EnactState era) ProtVer
- rsEnactStateL ∷ Lens' (RatifyState era) (EnactState era)
- rsExpiredL ∷ Lens' (RatifyState era) (Set GovActionId)
- rsEnactedL ∷ Lens' (RatifyState era) (Seq (GovActionState era))
- rsDelayedL ∷ Lens' (RatifyState era) Bool
- constitutionScriptL ∷ Lens' (Constitution era) (StrictMaybe ScriptHash)
- constitutionAnchorL ∷ Lens' (Constitution era) Anchor
- gasIdL ∷ Lens' (GovActionState era) GovActionId
- gasDepositL ∷ Lens' (GovActionState era) Coin
- gasCommitteeVotesL ∷ Lens' (GovActionState era) (Map (Credential 'HotCommitteeRole) Vote)
- gasDRepVotesL ∷ Lens' (GovActionState era) (Map (Credential 'DRepRole) Vote)
- gasStakePoolVotesL ∷ Lens' (GovActionState era) (Map (KeyHash 'StakePool) Vote)
- gasExpiresAfterL ∷ Lens' (GovActionState era) EpochNo
- gasActionL ∷ Lens' (GovActionState era) (GovAction era)
- gasReturnAddrL ∷ Lens' (GovActionState era) RewardAccount
- gasProposedInL ∷ Lens' (GovActionState era) EpochNo
- gasProposalProcedureL ∷ Lens' (GovActionState era) (ProposalProcedure era)
- gasDeposit ∷ GovActionState era → Coin
- gasAction ∷ GovActionState era → GovAction era
- gasReturnAddr ∷ GovActionState era → RewardAccount
- pProcDepositL ∷ Lens' (ProposalProcedure era) Coin
- pProcGovActionL ∷ Lens' (ProposalProcedure era) (GovAction era)
- pProcReturnAddrL ∷ Lens' (ProposalProcedure era) RewardAccount
- pProcAnchorL ∷ Lens' (ProposalProcedure era) Anchor
- newEpochStateDRepPulsingStateL ∷ ConwayEraGov era ⇒ Lens' (NewEpochState era) (DRepPulsingState era)
- epochStateDRepPulsingStateL ∷ ConwayEraGov era ⇒ Lens' (EpochState era) (DRepPulsingState era)
- epochStateStakeDistrL ∷ Lens' (EpochState era) (VMap VB VP (Credential 'Staking) (CompactForm Coin))
- epochStateIncrStakeDistrL ∷ Lens' (EpochState era) (Map (Credential 'Staking) (CompactForm Coin))
- epochStateRegDrepL ∷ Lens' (EpochState era) (Map (Credential 'DRepRole) DRepState)
- epochStateUMapL ∷ Lens' (EpochState era) UMap
- pulseDRepPulsingState ∷ DRepPulsingState era → DRepPulsingState era
- completeDRepPulsingState ∷ DRepPulsingState era → DRepPulsingState era
- extractDRepPulsingState ∷ DRepPulsingState era → RatifyState era
- forceDRepPulsingState ∷ ConwayEraGov era ⇒ NewEpochState era → NewEpochState era
- finishDRepPulser ∷ ∀ era. DRepPulsingState era → (PulsingSnapshot era, RatifyState era)
- computeDRepDistr ∷ Map (Credential 'Staking) (CompactForm Coin) → Map (Credential 'DRepRole) DRepState → Map (Credential 'Staking) (CompactForm Coin) → PoolDistr → Map DRep (CompactForm Coin) → Map (Credential 'Staking) UMElem → (Map DRep (CompactForm Coin), PoolDistr)
- getRatifyState ∷ ConwayGovState era → RatifyState era
- conwayGovStateDRepDistrG ∷ SimpleGetter (ConwayGovState era) (Map DRep (CompactForm Coin))
- psDRepDistrG ∷ SimpleGetter (DRepPulsingState era) (Map DRep (CompactForm Coin))
- data PulsingSnapshot era = PulsingSnapshot {
- psProposals ∷ !(StrictSeq (GovActionState era))
- psDRepDistr ∷ !(Map DRep (CompactForm Coin))
- psDRepState ∷ !(Map (Credential 'DRepRole) DRepState)
- psPoolDistr ∷ Map (KeyHash 'StakePool) (CompactForm Coin)
- setCompleteDRepPulsingState ∷ GovState era ~ ConwayGovState era ⇒ PulsingSnapshot era → RatifyState era → EpochState era → EpochState era
- setFreshDRepPulsingState ∷ (GovState era ~ ConwayGovState era, Monad m, RunConwayRatify era, ConwayEraGov era) ⇒ EpochNo → PoolDistr → EpochState era → ReaderT Globals m (EpochState era)
- psProposalsL ∷ Lens' (PulsingSnapshot era) (StrictSeq (GovActionState era))
- psDRepDistrL ∷ Lens' (PulsingSnapshot era) (Map DRep (CompactForm Coin))
- psDRepStateL ∷ Lens' (PulsingSnapshot era) (Map (Credential 'DRepRole) DRepState)
- psPoolDistrL ∷ Lens' (PulsingSnapshot era) (Map (KeyHash 'StakePool) (CompactForm Coin))
- class (STS (ConwayRATIFY era), Signal (ConwayRATIFY era) ~ RatifySignal era, BaseM (ConwayRATIFY era) ~ Reader Globals, Environment (ConwayRATIFY era) ~ RatifyEnv era, State (ConwayRATIFY era) ~ RatifyState era, PredicateFailure (ConwayRATIFY era) ~ Void) ⇒ RunConwayRatify era where
- runConwayRatify ∷ Globals → RatifyEnv era → RatifyState era → RatifySignal era → RatifyState era
- govStatePrevGovActionIds ∷ ConwayEraGov era ⇒ GovState era → GovRelation StrictMaybe era
- mkEnactState ∷ ConwayEraGov era ⇒ GovState era → EnactState era
- ratifySignalL ∷ Lens' (RatifySignal era) (StrictSeq (GovActionState era))
- reStakeDistrL ∷ Lens' (RatifyEnv era) (Map (Credential 'Staking) (CompactForm Coin))
- reStakePoolDistrL ∷ Lens' (RatifyEnv era) PoolDistr
- reDRepDistrL ∷ Lens' (RatifyEnv era) (Map DRep (CompactForm Coin))
- reDRepStateL ∷ Lens' (RatifyEnv era) (Map (Credential 'DRepRole) DRepState)
- reCurrentEpochL ∷ Lens' (RatifyEnv era) EpochNo
- reCommitteeStateL ∷ Lens' (RatifyEnv era) (CommitteeState era)
- data DefaultVote
- defaultStakePoolVote ∷ KeyHash 'StakePool → Map (KeyHash 'StakePool) PoolParams → Map (Credential 'Staking) DRep → DefaultVote
- pparamsUpdateThreshold ∷ ∀ era. ConwayEraPParams era ⇒ DRepVotingThresholds → PParamsUpdate era → UnitInterval
- data TreeMaybe a = TreeMaybe {
- unTreeMaybe ∷ Tree (StrictMaybe a)
- toGovRelationTree ∷ (Era era, HasCallStack) ⇒ Proposals era → GovRelation TreeMaybe era
- toGovRelationTreeEither ∷ Era era ⇒ Proposals era → Either String (GovRelation TreeMaybe era)
- showGovActionType ∷ GovAction era → String
Documentation
class (EraPParams era, Eq (GovState era), Show (GovState era), NoThunks (GovState era), NFData (GovState era), EncCBOR (GovState era), DecCBOR (GovState era), DecShareCBOR (GovState era), ToCBOR (GovState era), FromCBOR (GovState era), Default (GovState era), ToJSON (GovState era)) ⇒ EraGov era where Source #
Minimal complete definition
curPParamsGovStateL, prevPParamsGovStateL, futurePParamsGovStateL, obligationGovState
Methods
emptyGovState ∷ GovState era Source #
Construct empty governance state
getProposedPPUpdates ∷ GovState era → Maybe (ProposedPPUpdates era) Source #
Returns Nothing
for all eras starting with Conway, otherwise returns proposed
pparams updates
curPParamsGovStateL ∷ Lens' (GovState era) (PParams era) Source #
Lens for accessing current protocol parameters
prevPParamsGovStateL ∷ Lens' (GovState era) (PParams era) Source #
Lens for accessing the previous protocol parameters
futurePParamsGovStateL ∷ Lens' (GovState era) (FuturePParams era) Source #
Lens for accessing the future protocol parameters.
This lens will produce DefinitePParamsUpdate
whenever we are absolutely sure that
the new PParams will be updated. Which means there will be no chance of a
DefinitePParamsUpdate
value until we are past the point of no return, which is 2
stability windows before the end of the epoch. This lens is mostly intended for
ledger usage and nextEpochUpdatedPParams
should be used instead whenever definite
results are desired.
obligationGovState ∷ GovState era → Obligations Source #
Instances
data EnactState era Source #
Constructors
EnactState | |
Fields
|
Instances
data RatifyState era Source #
RatifyState
stores information about what will happen to the active
governance actions at the next epoch boundary.
Constructors
RatifyState | |
Fields
|
Instances
Constructors
RatifyEnv | |
Fields
|
Instances
Generic (RatifyEnv era) Source # | |
Show (RatifyEnv era) Source # | |
Era era ⇒ DecCBOR (RatifyEnv era) Source # | |
Era era ⇒ EncCBOR (RatifyEnv era) Source # | |
Default (RatifyEnv era) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Internal | |
Era era ⇒ NFData (RatifyEnv era) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Internal | |
Eq (RatifyEnv era) Source # | |
Typeable era ⇒ NoThunks (RatifyEnv era) Source # | |
type Rep (RatifyEnv era) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Internal type Rep (RatifyEnv era) = D1 ('MetaData "RatifyEnv" "Cardano.Ledger.Conway.Governance.Internal" "cardano-ledger-conway-1.19.0.0-inplace" 'False) (C1 ('MetaCons "RatifyEnv" 'PrefixI 'True) (((S1 ('MetaSel ('Just "reStakeDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) (CompactForm Coin))) :*: S1 ('MetaSel ('Just "reStakePoolDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PoolDistr)) :*: (S1 ('MetaSel ('Just "reDRepDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map DRep (CompactForm Coin))) :*: S1 ('MetaSel ('Just "reDRepState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'DRepRole) DRepState)))) :*: ((S1 ('MetaSel ('Just "reCurrentEpoch") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo) :*: S1 ('MetaSel ('Just "reCommitteeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CommitteeState era))) :*: (S1 ('MetaSel ('Just "reDelegatees") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) DRep)) :*: S1 ('MetaSel ('Just "rePoolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) PoolParams)))))) |
newtype RatifySignal era Source #
Constructors
RatifySignal | |
Fields
|
Instances
data ConwayGovState era Source #
Conway governance state
Constructors
ConwayGovState | |
Fields
|
Instances
predictFuturePParams ∷ ConwayGovState era → ConwayGovState era Source #
This function updates the thunk, which will contain new PParams once evaluated or Nothing when there was no update. At the same time if we already know the future of PParams, then it will act as an identity function.
Constructors
Committee | |
Fields
|
Instances
committeeMembersL ∷ Lens' (Committee era) (Map (Credential 'ColdCommitteeRole) EpochNo) Source #
committeeThresholdL ∷ Lens' (Committee era) UnitInterval Source #
authorizedElectedHotCommitteeCredentials ∷ ConwayEraGov era ⇒ LedgerState era → Set (Credential 'HotCommitteeRole) Source #
Note that the previous governance action id is only optional for the very first governance action of the same purpose.
Constructors
ParameterChange | |
Fields
| |
HardForkInitiation | |
Fields
| |
TreasuryWithdrawals | |
Fields
| |
NoConfidence | |
Fields
| |
UpdateCommittee | |
Fields
| |
NewConstitution | |
Fields
| |
InfoAction |
Instances
EraPParams era ⇒ ToJSON (GovAction era) Source # | |
Generic (GovAction era) Source # | |
EraPParams era ⇒ Show (GovAction era) Source # | |
EraPParams era ⇒ DecCBOR (GovAction era) Source # | |
EraPParams era ⇒ EncCBOR (GovAction era) Source # | |
EraPParams era ⇒ NFData (GovAction era) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures | |
EraPParams era ⇒ Eq (GovAction era) Source # | |
EraPParams era ⇒ Ord (GovAction era) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures | |
EraPParams era ⇒ NoThunks (GovAction era) Source # | |
type Rep (GovAction era) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures type Rep (GovAction era) = D1 ('MetaData "GovAction" "Cardano.Ledger.Conway.Governance.Procedures" "cardano-ledger-conway-1.19.0.0-inplace" 'False) ((C1 ('MetaCons "ParameterChange" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (GovPurposeId 'PParamUpdatePurpose era))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParamsUpdate era)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe ScriptHash)))) :+: (C1 ('MetaCons "HardForkInitiation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (GovPurposeId 'HardForkPurpose era))) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtVer)) :+: C1 ('MetaCons "TreasuryWithdrawals" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map RewardAccount Coin)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe ScriptHash))))) :+: ((C1 ('MetaCons "NoConfidence" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (GovPurposeId 'CommitteePurpose era)))) :+: C1 ('MetaCons "UpdateCommittee" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (GovPurposeId 'CommitteePurpose era))) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set (Credential 'ColdCommitteeRole)))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'ColdCommitteeRole) EpochNo)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UnitInterval)))) :+: (C1 ('MetaCons "NewConstitution" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (GovPurposeId 'ConstitutionPurpose era))) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Constitution era))) :+: C1 ('MetaCons "InfoAction" 'PrefixI 'False) (U1 ∷ Type → Type)))) |
data GovActionState era Source #
Constructors
GovActionState | |
Fields
|
Instances
newtype GovActionIx Source #
Constructors
GovActionIx | |
Fields |
Instances
data GovActionId Source #
Constructors
GovActionId | |
Fields |
Instances
data GovActionPurpose Source #
Instances
class ToGovActionPurpose (p ∷ GovActionPurpose) Source #
Minimal complete definition
toGovActionPurpose
Instances
ToGovActionPurpose 'CommitteePurpose Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures Methods | |
ToGovActionPurpose 'ConstitutionPurpose Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures Methods | |
ToGovActionPurpose 'HardForkPurpose Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures Methods | |
ToGovActionPurpose 'PParamUpdatePurpose Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures Methods |
isGovActionWithPurpose ∷ ∀ p era. ToGovActionPurpose p ⇒ GovAction era → Bool Source #
data DRepPulsingState era Source #
Constructors
DRPulsing !(DRepPulser era Identity (RatifyState era)) | |
DRComplete !(PulsingSnapshot era) !(RatifyState era) |
Instances
data DRepPulser era (m ∷ Type → Type) ans where Source #
The type of a Pulser which uses computeDRepDistr
as its underlying
function. Note that we use two type equality (~) constraints to fix both
the monad m
and the ans
type, to the context where we will use the
type as a Pulser. The type DRepPulser must have m
and ans
as its last
two parameters so we can make a Pulsable instance. We will always use this
instantiation (DRepPulser era Identity (RatifyState era))
Constructors
DRepPulser | |
Fields
|
Instances
Constructors
CommitteeVoter !(Credential 'HotCommitteeRole) | |
DRepVoter !(Credential 'DRepRole) | |
StakePoolVoter !(KeyHash 'StakePool) |
Instances
Instances
ToJSON Vote Source # | |
Bounded Vote Source # | |
Enum Vote Source # | |
Generic Vote Source # | |
Show Vote Source # | |
DecCBOR Vote Source # | |
EncCBOR Vote Source # | |
NFData Vote Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures | |
Eq Vote Source # | |
Ord Vote Source # | |
NoThunks Vote Source # | |
type Rep Vote Source # | |
Defined in Cardano.Ledger.Conway.Governance.Procedures type Rep Vote = D1 ('MetaData "Vote" "Cardano.Ledger.Conway.Governance.Procedures" "cardano-ledger-conway-1.19.0.0-inplace" 'False) (C1 ('MetaCons "VoteNo" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "VoteYes" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "Abstain" 'PrefixI 'False) (U1 ∷ Type → Type))) |
data VotingProcedure era Source #
Constructors
VotingProcedure | |
Fields
|
Instances
newtype VotingProcedures era Source #
Constructors
VotingProcedures | |
Fields
|
Instances
foldlVotingProcedures Source #
Arguments
∷ (c → Voter → GovActionId → VotingProcedure era → c) | Accumulating function |
→ c | Initial accumulator |
→ VotingProcedures era | Procedures to fold over |
→ c |
foldrVotingProcedures Source #
Arguments
∷ (Voter → GovActionId → VotingProcedure era → c → c) | Accumulating function |
→ c | Initial accumulator |
→ VotingProcedures era | Procedures to fold over |
→ c |
data ProposalProcedure era Source #
Constructors
ProposalProcedure | |
Fields
|
Instances
Constructors
Anchor | |
Fields
|
Instances
FromJSON Anchor | |
ToJSON Anchor | |
Generic Anchor | |
Show Anchor | |
DecCBOR Anchor | |
EncCBOR Anchor | |
Default Anchor | |
Defined in Cardano.Ledger.BaseTypes | |
NFData Anchor | |
Defined in Cardano.Ledger.BaseTypes | |
Eq Anchor | |
Ord Anchor | |
NoThunks Anchor | |
type Rep Anchor | |
Defined in Cardano.Ledger.BaseTypes type Rep Anchor = D1 ('MetaData "Anchor" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "Anchor" 'PrefixI 'True) (S1 ('MetaSel ('Just "anchorUrl") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Url) :*: S1 ('MetaSel ('Just "anchorDataHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SafeHash AnchorData)))) |
newtype AnchorData Source #
Constructors
AnchorData ByteString |
Instances
SafeToHash AnchorData | |
Defined in Cardano.Ledger.BaseTypes Methods originalBytes ∷ AnchorData → ByteString Source # originalBytesSize ∷ AnchorData → Int Source # makeHashWithExplicitProxys ∷ Proxy i → AnchorData → SafeHash i Source # | |
Eq AnchorData | |
Defined in Cardano.Ledger.BaseTypes | |
HashAnnotated AnchorData AnchorData | |
Defined in Cardano.Ledger.BaseTypes Methods |
indexedGovProps ∷ Seq (ProposalProcedure era) → Seq (GovActionIx, ProposalProcedure era) Source #
Attaches indices to a sequence of proposal procedures. The indices grow from left to right.
data Constitution era Source #
Constructors
Constitution | |
Fields |
Instances
class EraGov era ⇒ ConwayEraGov era where Source #
Methods
constitutionGovStateL ∷ Lens' (GovState era) (Constitution era) Source #
proposalsGovStateL ∷ Lens' (GovState era) (Proposals era) Source #
drepPulsingStateGovStateL ∷ Lens' (GovState era) (DRepPulsingState era) Source #
committeeGovStateL ∷ Lens' (GovState era) (StrictMaybe (Committee era)) Source #
Instances
votingStakePoolThreshold ∷ ConwayEraPParams era ⇒ RatifyState era → GovAction era → StrictMaybe UnitInterval Source #
votingDRepThreshold ∷ ConwayEraPParams era ⇒ RatifyState era → GovAction era → StrictMaybe UnitInterval Source #
votingCommitteeThreshold ∷ ConwayEraPParams era ⇒ EpochNo → RatifyState era → CommitteeState era → GovAction era → StrictMaybe UnitInterval Source #
isStakePoolVotingAllowed ∷ ConwayEraPParams era ⇒ GovAction era → Bool Source #
isDRepVotingAllowed ∷ ConwayEraPParams era ⇒ GovAction era → Bool Source #
isCommitteeVotingAllowed ∷ ConwayEraPParams era ⇒ EpochNo → CommitteeState era → GovAction era → Bool Source #
reorderActions ∷ StrictSeq (GovActionState era) → StrictSeq (GovActionState era) Source #
actionPriority ∷ GovAction era → Int Source #
Self-contained representation of all 4 proposals trees. This forest
is made up of only action-ids for nodes - full GovActionState
s are
stored only once in the OMap
. All functions in this module prefixed
with the string proposals-
operate on this data-type keeping it
consistent.
NOTE: The correct way to think about this data-structure is similar
to 4 of the following, one for each GovActionPurpose
data Tree a = Node (StrictMaybe a) [Tree a]
but because this does not allow us to look-up a node's edges in
predictable time, we use a map from nodes to their edges (parent and
children) to capture the graph (
). We also need to always
know the roots of the 4 trees, and those we store in the PGraph
PRoot
NOTE: At the end of an epoch boundary, we expect
to be the same
as the pRoots
from the PrevGovActionIds
EnactState
Instances
mkProposals ∷ (EraPParams era, MonadFail m) ⇒ GovRelation StrictMaybe era → OMap GovActionId (GovActionState era) → m (Proposals era) Source #
Reconstruct the
forest from an Proposals
of
OMap
s and the 4 roots (GovActionState
)PrevGovActionIds
unsafeMkProposals ∷ (HasCallStack, EraPParams era) ⇒ GovRelation StrictMaybe era → OMap GovActionId (GovActionState era) → Proposals era Source #
Reconstruct the
forest from an Proposals
of
OMap
s and the 4 roots (GovActionState
).
This function can fail and may return a malformed PrevGovActionIds
Proposals
if not given correct inputs.
WARNING: Should only be used for testing!
newtype GovPurposeId (p ∷ GovActionPurpose) era Source #
Constructors
GovPurposeId | |
Fields |
Instances
The root of a single Proposals
tree. prRoot
is always expected
to be equal to the respective PrevGovActionId
at the end of every
epoch boundary
Constructors
PRoot | |
Fields
|
Instances
Generic (PRoot a) Source # | |
Show a ⇒ Show (PRoot a) Source # | |
Default (PRoot a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
NFData a ⇒ NFData (PRoot a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
Eq a ⇒ Eq (PRoot a) Source # | |
Ord a ⇒ Ord (PRoot a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
NoThunks a ⇒ NoThunks (PRoot a) Source # | |
type Rep (PRoot a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals type Rep (PRoot a) = D1 ('MetaData "PRoot" "Cardano.Ledger.Conway.Governance.Proposals" "cardano-ledger-conway-1.19.0.0-inplace" 'False) (C1 ('MetaCons "PRoot" 'PrefixI 'True) (S1 ('MetaSel ('Just "prRoot") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe a)) :*: S1 ('MetaSel ('Just "prChildren") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set a)))) |
A non-root edges in a Proposals
tree. peParent
is expected to be
a SNothing
only at the begining when no governance actions has been
enacted yet.
Constructors
PEdges | |
Fields
|
Instances
Generic (PEdges a) Source # | |
Show a ⇒ Show (PEdges a) Source # | |
Default (PEdges a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
NFData a ⇒ NFData (PEdges a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
Eq a ⇒ Eq (PEdges a) Source # | |
Ord a ⇒ Ord (PEdges a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
NoThunks a ⇒ NoThunks (PEdges a) Source # | |
type Rep (PEdges a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals type Rep (PEdges a) = D1 ('MetaData "PEdges" "Cardano.Ledger.Conway.Governance.Proposals" "cardano-ledger-conway-1.19.0.0-inplace" 'False) (C1 ('MetaCons "PEdges" 'PrefixI 'True) (S1 ('MetaSel ('Just "peParent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe a)) :*: S1 ('MetaSel ('Just "peChildren") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set a)))) |
A single proposal-tree. This map represents all the action-ids that form a tree.
Instances
Generic (PGraph a) Source # | |
Show a ⇒ Show (PGraph a) Source # | |
Default (PGraph a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
NFData a ⇒ NFData (PGraph a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
Eq a ⇒ Eq (PGraph a) Source # | |
Ord a ⇒ Ord (PGraph a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals | |
NoThunks a ⇒ NoThunks (PGraph a) Source # | |
type Rep (PGraph a) Source # | |
Defined in Cardano.Ledger.Conway.Governance.Proposals |
pPropsL ∷ Lens' (Proposals era) (OMap GovActionId (GovActionState era)) Source #
data GovRelation (f ∷ Type → Type) era Source #
Abstract data type for representing relationship of governance action with the same purpose
Constructors
GovRelation | |
Fields
|
Instances
hoistGovRelation ∷ (∀ a. f a → g a) → GovRelation f era → GovRelation g era Source #
Arguments
∷ GovActionState era | |
→ a | The result to be used for governance actions that can't have a parent |
→ (∀ p. (∀ f. Lens' (GovRelation f era) (f (GovPurposeId p era))) → StrictMaybe (GovPurposeId p era) → GovPurposeId p era → a) | Function that will be applied to a lens and a parent |
→ a |
Apply a function to a GovAction that can have a parent.
toPrevGovActionIds ∷ GovRelation PRoot era → GovRelation StrictMaybe era Source #
fromPrevGovActionIds ∷ GovRelation StrictMaybe era → GovRelation PRoot era Source #
grPParamUpdateL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'PParamUpdatePurpose era)) Source #
grHardForkL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'HardForkPurpose era)) Source #
grCommitteeL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'CommitteePurpose era)) Source #
grConstitutionL ∷ Lens' (GovRelation f era) (f (GovPurposeId 'ConstitutionPurpose era)) Source #
proposalsActions ∷ Proposals era → StrictSeq (GovActionState era) Source #
Get the sequence of GovActionState
s
proposalsDeposits ∷ Proposals era → Map (Credential 'Staking) (CompactForm Coin) Source #
Get a mapping from the reward-account staking credentials to deposits of all proposals.
proposalsAddAction ∷ ∀ era. (EraPParams era, HasCallStack) ⇒ GovActionState era → Proposals era → Maybe (Proposals era) Source #
Add a single
to the GovActionState
forest.
The tree to which it is added is picked according to its
Proposals
. Returns GovActionPurpose
Nothing
when the operation cannot
succeed.
proposalsRemoveWithDescendants ∷ EraPParams era ⇒ Set GovActionId → Proposals era → (Proposals era, Map GovActionId (GovActionState era)) Source #
Remove the set of given action-ids with their descendants from the
forest. Cannot be used for removing enacted GovActionIds (i.e. roots)Proposals