{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Conway (
ConwayEra,
hardforkConwayBootstrapPhase,
hardforkConwayDisallowUnelectedCommitteeFromVoting,
hardforkConwayDELEGIncorrectDepositsAndRefunds,
hardforkConwayMoveWithdrawalsAndDRepChecksToLedgerRule,
Tx (..),
) where
import Cardano.Ledger.Babbage.TxBody ()
import Cardano.Ledger.Conway.BlockBody ()
import Cardano.Ledger.Conway.Era (
ConwayEra,
hardforkConwayBootstrapPhase,
hardforkConwayDELEGIncorrectDepositsAndRefunds,
hardforkConwayDisallowUnelectedCommitteeFromVoting,
hardforkConwayMoveWithdrawalsAndDRepChecksToLedgerRule,
)
import Cardano.Ledger.Conway.Governance (RunConwayRatify (..))
import Cardano.Ledger.Conway.Rules ()
import Cardano.Ledger.Conway.State ()
import Cardano.Ledger.Conway.Transition ()
import Cardano.Ledger.Conway.Translation ()
import Cardano.Ledger.Conway.Tx (Tx (..))
import Cardano.Ledger.Conway.TxInfo ()
import Cardano.Ledger.Conway.TxOut ()
import Cardano.Ledger.Conway.UTxO ()
import Cardano.Ledger.Shelley.API
instance ApplyTx ConwayEra where
applyTxValidation :: ValidationPolicy
-> Globals
-> MempoolEnv ConwayEra
-> MempoolState ConwayEra
-> Tx TopTx ConwayEra
-> Either
(ApplyTxError ConwayEra)
(MempoolState ConwayEra, Validated (Tx TopTx ConwayEra))
applyTxValidation = forall (rule :: Symbol) era.
(STS (EraRule rule era), BaseM (EraRule rule era) ~ ShelleyBase,
Environment (EraRule rule era) ~ LedgerEnv era,
State (EraRule rule era) ~ MempoolState era,
Signal (EraRule rule era) ~ Tx TopTx era,
PredicateFailure (EraRule rule era)
~ PredicateFailure (EraRule "LEDGER" era)) =>
ValidationPolicy
-> Globals
-> LedgerEnv era
-> MempoolState era
-> Tx TopTx era
-> Either
(ApplyTxError era) (MempoolState era, Validated (Tx TopTx era))
ruleApplyTxValidation @"MEMPOOL"
instance ApplyBlock ConwayEra
instance RunConwayRatify ConwayEra