| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cardano.Ledger.Conway.Rules
Contents
Synopsis
- data ConwayBBODY era
- data ConwayBbodyPredFailure era
- = WrongBlockBodySizeBBODY (Mismatch 'RelEQ Int)
- | InvalidBodyHashBBODY (Mismatch 'RelEQ (Hash HASH EraIndependentBlockBody))
- | LedgersFailure (PredicateFailure (EraRule "LEDGERS" era))
- | TooManyExUnits (Mismatch 'RelLTEQ ExUnits)
- | BodyRefScriptsSizeTooBig (Mismatch 'RelLTEQ Int)
- alonzoToConwayBbodyPredFailure ∷ ∀ era. AlonzoBbodyPredFailure era → ConwayBbodyPredFailure era
- shelleyToConwayBbodyPredFailure ∷ ∀ era. ShelleyBbodyPredFailure era → ConwayBbodyPredFailure era
- totalRefScriptSizeInBlock ∷ (AlonzoEraTx era, BabbageEraTxBody era) ⇒ ProtVer → StrictSeq (Tx era) → UTxO era → Int
- data ConwayCERT era
- data ConwayCertPredFailure era
- = DelegFailure (PredicateFailure (EraRule "DELEG" era))
- | PoolFailure (PredicateFailure (EraRule "POOL" era))
- | GovCertFailure (PredicateFailure (EraRule "GOVCERT" era))
- data ConwayCertEvent era
- = DelegEvent (Event (EraRule "DELEG" era))
- | PoolEvent (Event (EraRule "POOL" era))
- | GovCertEvent (Event (EraRule "GOVCERT" era))
- data CertEnv era = CertEnv {
- cePParams ∷ PParams era
- ceCurrentEpoch ∷ EpochNo
- ceCurrentCommittee ∷ StrictMaybe (Committee era)
- ceCommitteeProposals ∷ Map (GovPurposeId 'CommitteePurpose) (GovActionState era)
- data ConwayDELEG era
- data ConwayDelegPredFailure era
- = IncorrectDepositDELEG Coin
- | StakeKeyRegisteredDELEG (Credential 'Staking)
- | StakeKeyNotRegisteredDELEG (Credential 'Staking)
- | StakeKeyHasNonZeroRewardAccountBalanceDELEG Coin
- | DelegateeDRepNotRegisteredDELEG (Credential 'DRepRole)
- | DelegateeStakePoolNotRegisteredDELEG (KeyHash 'StakePool)
- | DepositIncorrectDELEG (Mismatch 'RelEQ Coin)
- | RefundIncorrectDELEG (Mismatch 'RelEQ Coin)
- data ConwayDelegEnv era = ConwayDelegEnv {
- cdePParams ∷ PParams era
- cdePools ∷ Map (KeyHash 'StakePool) StakePoolState
- processDelegation ∷ ConwayEraCertState era ⇒ Credential 'Staking → Delegatee → CertState era → CertState era
- data ConwayGOVCERT era
- data ConwayGovCertPredFailure era
- = ConwayDRepAlreadyRegistered (Credential 'DRepRole)
- | ConwayDRepNotRegistered (Credential 'DRepRole)
- | ConwayDRepIncorrectDeposit (Mismatch 'RelEQ Coin)
- | ConwayCommitteeHasPreviouslyResigned (Credential 'ColdCommitteeRole)
- | ConwayDRepIncorrectRefund (Mismatch 'RelEQ Coin)
- | ConwayCommitteeIsUnknown (Credential 'ColdCommitteeRole)
- data ConwayGovCertEnv era = ConwayGovCertEnv {}
- computeDRepExpiry ∷ EpochInterval → EpochNo → EpochNo → EpochNo
- data ConwayCERTS era
- data ConwayCertsPredFailure era
- = WithdrawalsNotInRewardsCERTS Withdrawals
- | CertFailure (PredicateFailure (EraRule "CERT" era))
- newtype ConwayCertsEvent era = CertEvent (Event (EraRule "CERT" era))
- data CertsEnv era = CertsEnv {
- certsTx ∷ Tx era
- certsPParams ∷ PParams era
- certsCurrentEpoch ∷ EpochNo
- certsCurrentCommittee ∷ StrictMaybe (Committee era)
- certsCommitteeProposals ∷ Map (GovPurposeId 'CommitteePurpose) (GovActionState era)
- updateDormantDRepExpiry ∷ EpochNo → VState era → VState era
- updateDormantDRepExpiries ∷ (EraTx era, ConwayEraTxBody era, ConwayEraCertState era) ⇒ Tx era → EpochNo → CertState era → CertState era
- updateVotingDRepExpiries ∷ (EraTx era, ConwayEraTxBody era, ConwayEraCertState era) ⇒ Tx era → EpochNo → EpochInterval → CertState era → CertState era
- data ConwayENACT era
- data EnactSignal era = EnactSignal {
- esGovActionId ∷ !GovActionId
- esGovAction ∷ !(GovAction era)
- 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)
- data ConwayEPOCH era
- type family PredicateFailure a
- data ConwayEpochEvent era
- = PoolReapEvent (Event (EraRule "POOLREAP" era))
- | SnapEvent (Event (EraRule "SNAP" era))
- | EpochBoundaryRatifyState (RatifyState era)
- | GovInfoEvent (Set (GovActionState era)) (Set (GovActionState era)) (Set (GovActionState era)) (Map GovActionId Coin)
- | HardForkEvent (Event (EraRule "HARDFORK" era))
- data ConwayHARDFORK era
- newtype ConwayHardForkEvent era = ConwayHardForkEvent ProtVer
- data ConwayLEDGER era
- data ConwayLedgerPredFailure era
- = ConwayUtxowFailure (PredicateFailure (EraRule "UTXOW" era))
- | ConwayCertsFailure (PredicateFailure (EraRule "CERTS" era))
- | ConwayGovFailure (PredicateFailure (EraRule "GOV" era))
- | ConwayWdrlNotDelegatedToDRep (NonEmpty (KeyHash 'Staking))
- | ConwayTreasuryValueMismatch (Mismatch 'RelEQ Coin)
- | ConwayTxRefScriptsSizeTooBig (Mismatch 'RelLTEQ Int)
- | ConwayMempoolFailure Text
- | ConwayWithdrawalsMissingAccounts Withdrawals
- | ConwayIncompleteWithdrawals Withdrawals
- data ConwayLedgerEvent era
- = UtxowEvent (Event (EraRule "UTXOW" era))
- | CertsEvent (Event (EraRule "CERTS" era))
- | GovEvent (Event (EraRule "GOV" era))
- data ConwayMEMPOOL era
- data ConwayNEWEPOCH era
- data ConwayNewEpochEvent era
- = DeltaRewardEvent !(Event (EraRule "RUPD" era))
- | RestrainedRewards !EpochNo !(Map (Credential 'Staking) (Set Reward)) !(Set (Credential 'Staking))
- | TotalRewardEvent !EpochNo !(Map (Credential 'Staking) (Set Reward))
- | EpochEvent !(Event (EraRule "EPOCH" era))
- | TotalAdaPotsEvent !AdaPots
- data ConwayTICKF era
- data ConwayTickfPredFailure era
- data ConwayTickfEvent era
- data ConwayRATIFY era
- data RatifyState era = RatifyState {
- rsEnactState ∷ !(EnactState era)
- rsEnacted ∷ !(Seq (GovActionState era))
- rsExpired ∷ !(Set GovActionId)
- rsDelayed ∷ !Bool
- committeeAccepted ∷ ConwayEraPParams era ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool
- committeeAcceptedRatio ∷ ∀ era. Map (Credential 'ColdCommitteeRole) EpochNo → Map (Credential 'HotCommitteeRole) Vote → CommitteeState era → EpochNo → Rational
- spoAccepted ∷ (ConwayEraPParams era, ConwayEraAccounts era) ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool
- spoAcceptedRatio ∷ ConwayEraAccounts era ⇒ RatifyEnv era → GovActionState era → ProtVer → Rational
- dRepAccepted ∷ ConwayEraPParams era ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool
- dRepAcceptedRatio ∷ ∀ era. RatifyEnv era → Map (Credential 'DRepRole) Vote → GovAction era → Rational
- acceptedByEveryone ∷ (ConwayEraPParams era, ConwayEraAccounts era) ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool
- prevActionAsExpected ∷ GovActionState era → GovRelation StrictMaybe → Bool
- validCommitteeTerm ∷ ConwayEraPParams era ⇒ GovAction era → PParams era → EpochNo → Bool
- withdrawalCanWithdraw ∷ GovAction era → Coin → Bool
- data ConwayGOV era
- data GovEnv era = GovEnv {
- geTxId ∷ TxId
- geEpoch ∷ EpochNo
- gePParams ∷ PParams era
- gePPolicy ∷ StrictMaybe ScriptHash
- geCertState ∷ CertState era
- geCommittee ∷ StrictMaybe (Committee era)
- data GovSignal era = GovSignal {
- gsVotingProcedures ∷ !(VotingProcedures era)
- gsProposalProcedures ∷ !(OSet (ProposalProcedure era))
- gsCertificates ∷ !(StrictSeq (TxCert era))
- data ConwayGovEvent era
- = GovNewProposals !TxId !(Proposals era)
- | GovRemovedVotes !TxId !(Set (Voter, GovActionId)) !(Set (Credential 'DRepRole))
- data ConwayGovPredFailure era
- = GovActionsDoNotExist (NonEmpty GovActionId)
- | MalformedProposal (GovAction era)
- | ProposalProcedureNetworkIdMismatch RewardAccount Network
- | TreasuryWithdrawalsNetworkIdMismatch (Set RewardAccount) Network
- | ProposalDepositIncorrect (Mismatch 'RelEQ Coin)
- | DisallowedVoters (NonEmpty (Voter, GovActionId))
- | ConflictingCommitteeUpdate (Set (Credential 'ColdCommitteeRole))
- | ExpirationEpochTooSmall (Map (Credential 'ColdCommitteeRole) EpochNo)
- | InvalidPrevGovActionId (ProposalProcedure era)
- | VotingOnExpiredGovAction (NonEmpty (Voter, GovActionId))
- | ProposalCantFollow (StrictMaybe (GovPurposeId 'HardForkPurpose)) (Mismatch 'RelGT ProtVer)
- | InvalidPolicyHash (StrictMaybe ScriptHash) (StrictMaybe ScriptHash)
- | DisallowedProposalDuringBootstrap (ProposalProcedure era)
- | DisallowedVotesDuringBootstrap (NonEmpty (Voter, GovActionId))
- | VotersDoNotExist (NonEmpty Voter)
- | ZeroTreasuryWithdrawals (GovAction era)
- | ProposalReturnAccountDoesNotExist RewardAccount
- | TreasuryWithdrawalReturnAccountsDoNotExist (NonEmpty RewardAccount)
- | UnelectedCommitteeVoters (NonEmpty (Credential 'HotCommitteeRole))
- unelectedCommitteeVoters ∷ StrictMaybe (Committee era) → CommitteeState era → VotingProcedures era → Set (Credential 'HotCommitteeRole)
- data ConwayUTXO era
- allegraToConwayUtxoPredFailure ∷ ∀ era. EraRuleFailure "PPUP" era ~ VoidEraRule "PPUP" era ⇒ AllegraUtxoPredFailure era → ConwayUtxoPredFailure era
- babbageToConwayUtxoPredFailure ∷ ∀ era. BabbageUtxoPredFailure era → ConwayUtxoPredFailure era
- alonzoToConwayUtxoPredFailure ∷ ∀ era. AlonzoUtxoPredFailure era → ConwayUtxoPredFailure era
- data ConwayUtxoPredFailure era
- = UtxosFailure (PredicateFailure (EraRule "UTXOS" era))
- | BadInputsUTxO (Set TxIn)
- | OutsideValidityIntervalUTxO ValidityInterval SlotNo
- | MaxTxSizeUTxO (Mismatch 'RelLTEQ Word32)
- | InputSetEmptyUTxO
- | FeeTooSmallUTxO (Mismatch 'RelGTEQ Coin)
- | ValueNotConservedUTxO (Mismatch 'RelEQ (Value era))
- | WrongNetwork Network (Set Addr)
- | WrongNetworkWithdrawal Network (Set RewardAccount)
- | OutputTooSmallUTxO [TxOut era]
- | OutputBootAddrAttrsTooBig [TxOut era]
- | OutputTooBigUTxO [(Int, Int, TxOut era)]
- | InsufficientCollateral DeltaCoin Coin
- | ScriptsNotPaidUTxO (UTxO era)
- | ExUnitsTooBigUTxO (Mismatch 'RelLTEQ ExUnits)
- | CollateralContainsNonADA (Value era)
- | WrongNetworkInTxBody (Mismatch 'RelEQ Network)
- | OutsideForecast SlotNo
- | TooManyCollateralInputs (Mismatch 'RelLTEQ Natural)
- | NoCollateralInputs
- | IncorrectTotalCollateralField DeltaCoin Coin
- | BabbageOutputTooSmallUTxO [(TxOut era, Coin)]
- | BabbageNonDisjointRefInputs (NonEmpty TxIn)
- data ConwayUTXOS era
- data ConwayUtxosPredFailure era
- data ConwayUtxosEvent era
- alonzoToConwayUtxosPredFailure ∷ ∀ era. EraRuleFailure "PPUP" era ~ VoidEraRule "PPUP" era ⇒ AlonzoUtxosPredFailure era → ConwayUtxosPredFailure era
- alonzoToConwayUtxosEvent ∷ ∀ era. EraRuleEvent "PPUP" era ~ VoidEraRule "PPUP" era ⇒ AlonzoUtxosEvent era → ConwayUtxosEvent era
- alonzoToConwayUtxowPredFailure ∷ ∀ era. AlonzoUtxowPredFailure era → ConwayUtxowPredFailure era
- babbageToConwayUtxowPredFailure ∷ ∀ era. BabbageUtxowPredFailure era → ConwayUtxowPredFailure era
- data ConwayUTXOW era
- data ConwayUtxowPredFailure era
- = UtxoFailure (PredicateFailure (EraRule "UTXO" era))
- | InvalidWitnessesUTXOW [VKey 'Witness]
- | MissingVKeyWitnessesUTXOW (Set (KeyHash 'Witness))
- | MissingScriptWitnessesUTXOW (Set ScriptHash)
- | ScriptWitnessNotValidatingUTXOW (Set ScriptHash)
- | MissingTxBodyMetadataHash TxAuxDataHash
- | MissingTxMetadata TxAuxDataHash
- | ConflictingMetadataHash (Mismatch 'RelEQ TxAuxDataHash)
- | InvalidMetadata
- | ExtraneousScriptWitnessesUTXOW (Set ScriptHash)
- | MissingRedeemers [(PlutusPurpose AsItem era, ScriptHash)]
- | MissingRequiredDatums (Set DataHash) (Set DataHash)
- | NotAllowedSupplementalDatums (Set DataHash) (Set DataHash)
- | PPViewHashesDontMatch (Mismatch 'RelEQ (StrictMaybe ScriptIntegrityHash))
- | UnspendableUTxONoDatumHash (Set TxIn)
- | ExtraRedeemers [PlutusPurpose AsIx era]
- | MalformedScriptWitnesses (Set ScriptHash)
- | MalformedReferenceScripts (Set ScriptHash)
- | ScriptIntegrityHashMismatch (Mismatch 'RelEQ (StrictMaybe ScriptIntegrityHash)) (StrictMaybe ByteString)
- shelleyToConwayUtxowPredFailure ∷ ShelleyUtxowPredFailure era → ConwayUtxowPredFailure era
Documentation
data ConwayBBODY era Source #
Instances
data ConwayBbodyPredFailure era Source #
Constructors
| WrongBlockBodySizeBBODY (Mismatch 'RelEQ Int) | |
| InvalidBodyHashBBODY (Mismatch 'RelEQ (Hash HASH EraIndependentBlockBody)) | |
| LedgersFailure (PredicateFailure (EraRule "LEDGERS" era)) | LEDGERS rule subtransition Failures |
| TooManyExUnits (Mismatch 'RelLTEQ ExUnits) | |
| BodyRefScriptsSizeTooBig (Mismatch 'RelLTEQ Int) |
Instances
alonzoToConwayBbodyPredFailure ∷ ∀ era. AlonzoBbodyPredFailure era → ConwayBbodyPredFailure era Source #
shelleyToConwayBbodyPredFailure ∷ ∀ era. ShelleyBbodyPredFailure era → ConwayBbodyPredFailure era Source #
totalRefScriptSizeInBlock ∷ (AlonzoEraTx era, BabbageEraTxBody era) ⇒ ProtVer → StrictSeq (Tx era) → UTxO era → Int Source #
data ConwayCERT era Source #
Instances
data ConwayCertPredFailure era Source #
Constructors
| DelegFailure (PredicateFailure (EraRule "DELEG" era)) | |
| PoolFailure (PredicateFailure (EraRule "POOL" era)) | |
| GovCertFailure (PredicateFailure (EraRule "GOVCERT" era)) |
Instances
data ConwayCertEvent era Source #
Constructors
| DelegEvent (Event (EraRule "DELEG" era)) | |
| PoolEvent (Event (EraRule "POOL" era)) | |
| GovCertEvent (Event (EraRule "GOVCERT" era)) |
Instances
Constructors
| CertEnv | |
Fields
| |
Instances
data ConwayDELEG era Source #
Instances
data ConwayDelegPredFailure era Source #
Constructors
Instances
data ConwayDelegEnv era Source #
Constructors
| ConwayDelegEnv | |
Fields
| |
Instances
Arguments
| ∷ ConwayEraCertState era | |
| ⇒ Credential 'Staking | Delegator |
| → Delegatee | New delegatee |
| → CertState era | |
| → CertState era |
Apply new delegation, while properly cleaning up older delegations. This function does not enforce that delegatee is registered, that has to be handled by the caller.
data ConwayGOVCERT era Source #
Instances
data ConwayGovCertPredFailure era Source #
Constructors
| ConwayDRepAlreadyRegistered (Credential 'DRepRole) | |
| ConwayDRepNotRegistered (Credential 'DRepRole) | |
| ConwayDRepIncorrectDeposit (Mismatch 'RelEQ Coin) | |
| ConwayCommitteeHasPreviouslyResigned (Credential 'ColdCommitteeRole) | |
| ConwayDRepIncorrectRefund (Mismatch 'RelEQ Coin) | |
| ConwayCommitteeIsUnknown (Credential 'ColdCommitteeRole) | Predicate failure whenever an update to an unknown committee member is attempted. Current Constitutional Committee and all available proposals will be searched before reporting this predicate failure. |
Instances
data ConwayGovCertEnv era Source #
Constructors
| ConwayGovCertEnv | |
Fields
| |
Instances
Arguments
| ∷ EpochInterval | DRepActivity PParam |
| → EpochNo | Current epoch |
| → EpochNo | The count of the dormant epochs |
| → EpochNo | Computed expiry |
data ConwayCERTS era Source #
Instances
data ConwayCertsPredFailure era Source #
Constructors
| WithdrawalsNotInRewardsCERTS Withdrawals | Withdrawals that are missing or do not withdraw the entire amount (pv < 11) |
| CertFailure (PredicateFailure (EraRule "CERT" era)) | CERT rule subtransition Failures |
Instances
newtype ConwayCertsEvent era Source #
Instances
Constructors
| CertsEnv | |
Fields
| |
Instances
updateDormantDRepExpiry Source #
Update dormant expiry for all DReps that are active.
And also reset the numDormantEpochs counter.
updateDormantDRepExpiries ∷ (EraTx era, ConwayEraTxBody era, ConwayEraCertState era) ⇒ Tx era → EpochNo → CertState era → CertState era Source #
If there is a new governance proposal to vote on in this transaction, AND the number of dormant-epochs recorded is greater than zero, we bump the expiry for all DReps by the number of dormant epochs, and reset the counter to zero.
It does not matter that this is called _before_ the GOV rule in LEDGER, even though we cannot validate any governance proposal here, since the entire transaction will fail if the proposal is not accepted in GOV, and so will this expiry bump done here.
updateVotingDRepExpiries ∷ (EraTx era, ConwayEraTxBody era, ConwayEraCertState era) ⇒ Tx era → EpochNo → EpochInterval → CertState era → CertState era Source #
Update DRep expiry for all DReps that are voting in this transaction. This will execute in mutual-exclusion to the updates to the dormant DRep expiry, because if there are no proposals to vote on, there will be no votes either.
data ConwayENACT era Source #
Instances
data EnactSignal era Source #
Constructors
| EnactSignal | |
Fields
| |
Instances
data EnactState era Source #
Constructors
| EnactState | |
Fields
| |
Instances
data ConwayEPOCH era Source #
Instances
type family PredicateFailure a Source #
Descriptive type for the possible failures which might cause a transition to fail.
As a convention, PredicateFailures which are "structural" (meaning that
they are not "throwable" in practice, and are used to pass control from
one transition rule to another) are prefixed with S_.
Structural PredicateFailures represent conditions between rules where
the disjunction of all rules' preconditions is equal to True. That is,
either one rule will throw a structural PredicateFailure and the other
will succeed, or vice-versa.
Instances
data ConwayEpochEvent era Source #
Constructors
| PoolReapEvent (Event (EraRule "POOLREAP" era)) | |
| SnapEvent (Event (EraRule "SNAP" era)) | |
| EpochBoundaryRatifyState (RatifyState era) | |
| GovInfoEvent | |
Fields
| |
| HardForkEvent (Event (EraRule "HARDFORK" era)) | |
Instances
data ConwayHARDFORK era Source #
Instances
newtype ConwayHardForkEvent era Source #
Constructors
| ConwayHardForkEvent ProtVer |
Instances
data ConwayLEDGER era Source #
Instances
data ConwayLedgerPredFailure era Source #
Constructors
Instances
data ConwayLedgerEvent era Source #
Constructors
| UtxowEvent (Event (EraRule "UTXOW" era)) | |
| CertsEvent (Event (EraRule "CERTS" era)) | |
| GovEvent (Event (EraRule "GOV" era)) |
Instances
data ConwayMEMPOOL era Source #
Instances
data ConwayNEWEPOCH era Source #
Instances
data ConwayNewEpochEvent era Source #
Constructors
| DeltaRewardEvent !(Event (EraRule "RUPD" era)) | |
| RestrainedRewards !EpochNo !(Map (Credential 'Staking) (Set Reward)) !(Set (Credential 'Staking)) | |
| TotalRewardEvent !EpochNo !(Map (Credential 'Staking) (Set Reward)) | |
| EpochEvent !(Event (EraRule "EPOCH" era)) | |
| TotalAdaPotsEvent !AdaPots |
Instances
data ConwayTICKF era Source #
Instances
data ConwayTickfPredFailure era Source #
Instances
| Generic (ConwayTickfPredFailure era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Tickf Associated Types type Rep (ConwayTickfPredFailure era) ∷ Type → Type # Methods from ∷ ConwayTickfPredFailure era → Rep (ConwayTickfPredFailure era) x # to ∷ Rep (ConwayTickfPredFailure era) x → ConwayTickfPredFailure era # | |
| Era era ⇒ Show (ConwayTickfPredFailure era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Tickf Methods showsPrec ∷ Int → ConwayTickfPredFailure era → ShowS # show ∷ ConwayTickfPredFailure era → String # showList ∷ [ConwayTickfPredFailure era] → ShowS # | |
| Era era ⇒ Eq (ConwayTickfPredFailure era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Tickf Methods (==) ∷ ConwayTickfPredFailure era → ConwayTickfPredFailure era → Bool # (/=) ∷ ConwayTickfPredFailure era → ConwayTickfPredFailure era → Bool # | |
| NoThunks (ConwayTickfPredFailure era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Tickf | |
| type Rep (ConwayTickfPredFailure era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Tickf | |
data ConwayTickfEvent era Source #
data ConwayRATIFY era Source #
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
committeeAccepted ∷ ConwayEraPParams era ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool Source #
committeeAcceptedRatio ∷ ∀ era. Map (Credential 'ColdCommitteeRole) EpochNo → Map (Credential 'HotCommitteeRole) Vote → CommitteeState era → EpochNo → Rational Source #
spoAccepted ∷ (ConwayEraPParams era, ConwayEraAccounts era) ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool Source #
spoAcceptedRatio ∷ ConwayEraAccounts era ⇒ RatifyEnv era → GovActionState era → ProtVer → Rational Source #
Final ratio for totalAcceptedStakePoolsRatio we want during the bootstrap period is:
t = y / (s - a)
Where:
* y - total delegated stake that voted Yes
* a - total delegated stake that voted Abstain
* s - total delegated stake
For HardForkInitiation all SPOs that didn't vote are considered as
No votes. Whereas, for all other GovActions, SPOs that didn't
vote are considered as Abstain votes.
No votes are not counted.
After the bootstrap period if an SPO didn't vote, it will be considered as a No vote by default.
The only exceptions are when a pool delegated to an AlwaysNoConfidence or an AlwaysAbstain DRep.
In those cases, behaviour is as expected: vote Yes on NoConfidence proposals in case of the former and
and vote Abstain by default in case of the latter. For HardForkInitiation, behaviour is the same as
during the bootstrap period: if an SPO didn't vote, their vote will always count as No.
dRepAccepted ∷ ConwayEraPParams era ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool Source #
dRepAcceptedRatio ∷ ∀ era. RatifyEnv era → Map (Credential 'DRepRole) Vote → GovAction era → Rational Source #
acceptedByEveryone ∷ (ConwayEraPParams era, ConwayEraAccounts era) ⇒ RatifyEnv era → RatifyState era → GovActionState era → Bool Source #
prevActionAsExpected ∷ GovActionState era → GovRelation StrictMaybe → Bool Source #
Check that the previous governance action id specified in the proposal does match the last one of the same purpose that was enacted.
validCommitteeTerm ∷ ConwayEraPParams era ⇒ GovAction era → PParams era → EpochNo → Bool Source #
Instances
Constructors
| GovEnv | |
Fields
| |
Instances
Constructors
| GovSignal | |
Fields
| |
Instances
| Generic (GovSignal era) Source # | |
| (EraPParams era, Show (TxCert era)) ⇒ Show (GovSignal era) Source # | |
| (EraPParams era, EraTxCert era) ⇒ EncCBOR (GovSignal era) Source # | |
| (EraPParams era, NFData (TxCert era)) ⇒ NFData (GovSignal era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Gov | |
| (EraPParams era, Eq (TxCert era)) ⇒ Eq (GovSignal era) Source # | |
| type Rep (GovSignal era) Source # | |
Defined in Cardano.Ledger.Conway.Rules.Gov type Rep (GovSignal era) = D1 ('MetaData "GovSignal" "Cardano.Ledger.Conway.Rules.Gov" "cardano-ledger-conway-1.21.0.0-inplace" 'False) (C1 ('MetaCons "GovSignal" 'PrefixI 'True) (S1 ('MetaSel ('Just "gsVotingProcedures") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VotingProcedures era)) :*: (S1 ('MetaSel ('Just "gsProposalProcedures") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (OSet (ProposalProcedure era))) :*: S1 ('MetaSel ('Just "gsCertificates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictSeq (TxCert era)))))) | |
data ConwayGovEvent era Source #
Constructors
| GovNewProposals !TxId !(Proposals era) | |
| GovRemovedVotes | |
Fields
| |
Instances
data ConwayGovPredFailure era Source #
Constructors
| GovActionsDoNotExist (NonEmpty GovActionId) | |
| MalformedProposal (GovAction era) | |
| ProposalProcedureNetworkIdMismatch RewardAccount Network | |
| TreasuryWithdrawalsNetworkIdMismatch (Set RewardAccount) Network | |
| ProposalDepositIncorrect (Mismatch 'RelEQ Coin) | |
| DisallowedVoters (NonEmpty (Voter, GovActionId)) | Some governance actions are not allowed to be voted on by certain types of Voters. This failure lists all governance action ids with their respective voters that are not allowed to vote on those governance actions. |
| ConflictingCommitteeUpdate | |
Fields
| |
| ExpirationEpochTooSmall | |
Fields
| |
| InvalidPrevGovActionId (ProposalProcedure era) | |
| VotingOnExpiredGovAction (NonEmpty (Voter, GovActionId)) | |
| ProposalCantFollow | |
Fields
| |
| InvalidPolicyHash | |
Fields
| |
| DisallowedProposalDuringBootstrap (ProposalProcedure era) | |
| DisallowedVotesDuringBootstrap (NonEmpty (Voter, GovActionId)) | |
| VotersDoNotExist (NonEmpty Voter) | Predicate failure for votes by entities that are not present in the ledger state |
| ZeroTreasuryWithdrawals (GovAction era) | Treasury withdrawals that sum up to zero are not allowed |
| ProposalReturnAccountDoesNotExist RewardAccount | Proposals that have an invalid reward account for returns of the deposit |
| TreasuryWithdrawalReturnAccountsDoNotExist (NonEmpty RewardAccount) | Treasury withdrawal proposals to an invalid reward account |
| UnelectedCommitteeVoters (NonEmpty (Credential 'HotCommitteeRole)) | Disallow votes by unelected committee members |
Instances
unelectedCommitteeVoters ∷ StrictMaybe (Committee era) → CommitteeState era → VotingProcedures era → Set (Credential 'HotCommitteeRole) Source #
data ConwayUTXO era Source #
Instances
allegraToConwayUtxoPredFailure ∷ ∀ era. EraRuleFailure "PPUP" era ~ VoidEraRule "PPUP" era ⇒ AllegraUtxoPredFailure era → ConwayUtxoPredFailure era Source #
babbageToConwayUtxoPredFailure ∷ ∀ era. BabbageUtxoPredFailure era → ConwayUtxoPredFailure era Source #
alonzoToConwayUtxoPredFailure ∷ ∀ era. AlonzoUtxoPredFailure era → ConwayUtxoPredFailure era Source #
data ConwayUtxoPredFailure era Source #
Predicate failure for the Conway Era
Constructors
| UtxosFailure (PredicateFailure (EraRule "UTXOS" era)) | Subtransition Failures |
| BadInputsUTxO (Set TxIn) | The bad transaction inputs |
| OutsideValidityIntervalUTxO | |
Fields
| |
| MaxTxSizeUTxO (Mismatch 'RelLTEQ Word32) | |
| InputSetEmptyUTxO | |
| FeeTooSmallUTxO (Mismatch 'RelGTEQ Coin) | |
| ValueNotConservedUTxO (Mismatch 'RelEQ (Value era)) | |
| WrongNetwork | the set of addresses with incorrect network IDs |
| WrongNetworkWithdrawal | |
Fields
| |
| OutputTooSmallUTxO [TxOut era] | list of supplied transaction outputs that are too small |
| OutputBootAddrAttrsTooBig [TxOut era] | list of supplied bad transaction outputs |
| OutputTooBigUTxO [(Int, Int, TxOut era)] | list of supplied bad transaction output triples (actualSize,PParameterMaxValue,TxOut) |
| InsufficientCollateral | |
| ScriptsNotPaidUTxO (UTxO era) | The UTxO entries which have the wrong kind of script |
| ExUnitsTooBigUTxO (Mismatch 'RelLTEQ ExUnits) | |
| CollateralContainsNonADA (Value era) | The inputs marked for use as fees contain non-ADA tokens |
| WrongNetworkInTxBody (Mismatch 'RelEQ Network) | Wrong Network ID in body |
| OutsideForecast SlotNo | slot number outside consensus forecast range |
| TooManyCollateralInputs (Mismatch 'RelLTEQ Natural) | There are too many collateral inputs |
| NoCollateralInputs | |
| IncorrectTotalCollateralField | The collateral is not equivalent to the total collateral asserted by the transaction |
| BabbageOutputTooSmallUTxO [(TxOut era, Coin)] | list of supplied transaction outputs that are too small, together with the minimum value for the given output. |
| BabbageNonDisjointRefInputs (NonEmpty TxIn) | TxIns that appear in both inputs and reference inputs |
Instances
data ConwayUTXOS era Source #
Instances
data ConwayUtxosPredFailure era Source #
Constructors
| ValidationTagMismatch IsValid TagMismatchDescription | The |
| CollectErrors [CollectError era] | We could not find all the necessary inputs for a Plutus Script. Previous PredicateFailure tests should make this impossible, but the consequences of not detecting this means scripts get dropped, so things might validate that shouldn't. So we double check in the function collectTwoPhaseScriptInputs, it should find data for every Script. |
Instances
data ConwayUtxosEvent era Source #
Constructors
| TotalDeposits (SafeHash EraIndependentTxBody) Coin | |
| SuccessfulPlutusScriptsEvent (NonEmpty PlutusWithContext) | |
| FailedPlutusScriptsEvent (NonEmpty PlutusWithContext) | |
| TxUTxODiff | The UTxOs consumed and created by a signal tx |
Instances
alonzoToConwayUtxosPredFailure ∷ ∀ era. EraRuleFailure "PPUP" era ~ VoidEraRule "PPUP" era ⇒ AlonzoUtxosPredFailure era → ConwayUtxosPredFailure era Source #
alonzoToConwayUtxosEvent ∷ ∀ era. EraRuleEvent "PPUP" era ~ VoidEraRule "PPUP" era ⇒ AlonzoUtxosEvent era → ConwayUtxosEvent era Source #
alonzoToConwayUtxowPredFailure ∷ ∀ era. AlonzoUtxowPredFailure era → ConwayUtxowPredFailure era Source #
babbageToConwayUtxowPredFailure ∷ ∀ era. BabbageUtxowPredFailure era → ConwayUtxowPredFailure era Source #
data ConwayUTXOW era Source #
Instances
data ConwayUtxowPredFailure era Source #
Predicate failure type for the Conway Era
Constructors
Instances
Orphan instances
| InjectRuleEvent "TICK" ConwayEpochEvent ConwayEra Source # | |
Methods injectEvent ∷ ConwayEpochEvent ConwayEra → EraRuleEvent "TICK" ConwayEra Source # | |
| InjectRuleEvent "TICK" ConwayHardForkEvent ConwayEra Source # | |
Methods injectEvent ∷ ConwayHardForkEvent ConwayEra → EraRuleEvent "TICK" ConwayEra Source # | |