{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Rules.Ledger ( DijkstraLEDGER, DijkstraLedgerPredFailure (..), shelleyToDijkstraLedgerPredFailure, conwayToDijkstraLedgerPredFailure, ) where import Cardano.Ledger.Address (RewardAccount (..)) import Cardano.Ledger.Allegra.Rules (AllegraUtxoPredFailure) import Cardano.Ledger.Alonzo (AlonzoScript) import Cardano.Ledger.Alonzo.Rules ( AlonzoUtxoPredFailure, AlonzoUtxosPredFailure, AlonzoUtxowEvent, AlonzoUtxowPredFailure, ) import Cardano.Ledger.Alonzo.UTxO (AlonzoScriptsNeeded) import Cardano.Ledger.Babbage (BabbageTxOut) import Cardano.Ledger.Babbage.Rules ( BabbageUtxoPredFailure, BabbageUtxowPredFailure, ) import Cardano.Ledger.BaseTypes ( Mismatch (..), Relation (..), ShelleyBase, ) import Cardano.Ledger.Binary (DecCBOR (..), EncCBOR (..)) import Cardano.Ledger.Binary.Coders import Cardano.Ledger.Coin (Coin) import Cardano.Ledger.Conway.Core import Cardano.Ledger.Conway.Governance ( ConwayEraGov (..), ConwayGovState, Proposals, ) import Cardano.Ledger.Conway.Rules ( CertEnv, CertsEnv (..), ConwayCERTS, ConwayCertEvent (..), ConwayCertPredFailure (..), ConwayCertsEvent (..), ConwayCertsPredFailure (..), ConwayDELEG, ConwayDelegPredFailure, ConwayGovCertPredFailure, ConwayGovPredFailure, ConwayLedgerEvent (..), ConwayLedgerPredFailure, ConwayUtxoPredFailure, ConwayUtxosPredFailure, ConwayUtxowPredFailure, GovEnv (..), GovSignal (..), conwayLedgerTransitionTRC, ) import qualified Cardano.Ledger.Conway.Rules as Conway import Cardano.Ledger.Conway.State import Cardano.Ledger.Dijkstra.Era ( DijkstraEra, DijkstraGOV, DijkstraLEDGER, DijkstraSUBCERT, DijkstraSUBCERTS, DijkstraSUBDELEG, DijkstraSUBGOV, DijkstraSUBGOVCERT, DijkstraSUBPOOL, DijkstraSUBUTXO, DijkstraSUBUTXOS, DijkstraSUBUTXOW, DijkstraUTXOW, ) import Cardano.Ledger.Dijkstra.Rules.Certs () import Cardano.Ledger.Dijkstra.Rules.Gov (DijkstraGovPredFailure) import Cardano.Ledger.Dijkstra.Rules.GovCert (DijkstraGovCertPredFailure) import Cardano.Ledger.Dijkstra.Rules.SubLedger import Cardano.Ledger.Dijkstra.Rules.SubLedgers import Cardano.Ledger.Dijkstra.Rules.Utxo (DijkstraUtxoPredFailure) import Cardano.Ledger.Dijkstra.Rules.Utxow (DijkstraUtxowPredFailure) import Cardano.Ledger.Dijkstra.TxBody import Cardano.Ledger.Dijkstra.TxCert import Cardano.Ledger.Shelley.LedgerState ( LedgerState (..), UTxOState (..), ) import Cardano.Ledger.Shelley.Rules ( LedgerEnv (..), ShelleyLEDGERS, ShelleyLedgerPredFailure (..), ShelleyLedgersEvent (LedgerEvent), ShelleyLedgersPredFailure (LedgerFailure), ShelleyPoolPredFailure, ShelleyUtxoPredFailure, ShelleyUtxowPredFailure, UtxoEnv (..), renderDepositEqualsObligationViolation, shelleyLedgerAssertions, ) import Control.DeepSeq (NFData) import Control.State.Transition.Extended import Data.List.NonEmpty (NonEmpty) import Data.Map.NonEmpty (NonEmptyMap) import Data.Sequence (Seq) import Data.Void (absurd) import GHC.Generics (Generic (..)) import Lens.Micro import NoThunks.Class (NoThunks (..)) data DijkstraLedgerPredFailure era = DijkstraUtxowFailure (PredicateFailure (EraRule "UTXOW" era)) | DijkstraCertsFailure (PredicateFailure (EraRule "CERTS" era)) | DijkstraGovFailure (PredicateFailure (EraRule "GOV" era)) | DijkstraWdrlNotDelegatedToDRep (NonEmpty (KeyHash Staking)) | DijkstraTreasuryValueMismatch (Mismatch RelEQ Coin) | DijkstraTxRefScriptsSizeTooBig (Mismatch RelLTEQ Int) | DijkstraWithdrawalsMissingAccounts Withdrawals | DijkstraIncompleteWithdrawals (NonEmptyMap RewardAccount (Mismatch RelEQ Coin)) | DijkstraSubLedgersFailure (PredicateFailure (EraRule "SUBLEDGERS" era)) deriving ((forall x. DijkstraLedgerPredFailure era -> Rep (DijkstraLedgerPredFailure era) x) -> (forall x. Rep (DijkstraLedgerPredFailure era) x -> DijkstraLedgerPredFailure era) -> Generic (DijkstraLedgerPredFailure era) forall x. Rep (DijkstraLedgerPredFailure era) x -> DijkstraLedgerPredFailure era forall x. DijkstraLedgerPredFailure era -> Rep (DijkstraLedgerPredFailure era) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall era x. Rep (DijkstraLedgerPredFailure era) x -> DijkstraLedgerPredFailure era forall era x. DijkstraLedgerPredFailure era -> Rep (DijkstraLedgerPredFailure era) x $cfrom :: forall era x. DijkstraLedgerPredFailure era -> Rep (DijkstraLedgerPredFailure era) x from :: forall x. DijkstraLedgerPredFailure era -> Rep (DijkstraLedgerPredFailure era) x $cto :: forall era x. Rep (DijkstraLedgerPredFailure era) x -> DijkstraLedgerPredFailure era to :: forall x. Rep (DijkstraLedgerPredFailure era) x -> DijkstraLedgerPredFailure era Generic) type instance EraRuleFailure "LEDGER" DijkstraEra = DijkstraLedgerPredFailure DijkstraEra type instance EraRuleEvent "LEDGER" DijkstraEra = ConwayLedgerEvent DijkstraEra instance InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure DijkstraEra instance InjectRuleFailure "LEDGER" ConwayLedgerPredFailure DijkstraEra where injectFailure :: ConwayLedgerPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = ConwayLedgerPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ConwayLedgerPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. ConwayLedgerPredFailure era -> DijkstraLedgerPredFailure era conwayToDijkstraLedgerPredFailure instance InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure DijkstraEra where injectFailure :: ShelleyLedgerPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = ShelleyLedgerPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra ShelleyLedgerPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. ShelleyLedgerPredFailure era -> DijkstraLedgerPredFailure era shelleyToDijkstraLedgerPredFailure instance InjectRuleFailure "LEDGER" DijkstraUtxowPredFailure DijkstraEra where injectFailure :: DijkstraUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure instance InjectRuleFailure "LEDGER" ConwayUtxowPredFailure DijkstraEra where injectFailure :: ConwayUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> ConwayUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra ConwayUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" BabbageUtxowPredFailure DijkstraEra where injectFailure :: BabbageUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (BabbageUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> BabbageUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . BabbageUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra BabbageUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" AlonzoUtxowPredFailure DijkstraEra where injectFailure :: AlonzoUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (AlonzoUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> AlonzoUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra AlonzoUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyUtxowPredFailure DijkstraEra where injectFailure :: ShelleyUtxowPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ShelleyUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> ShelleyUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyUtxowPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra ShelleyUtxowPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" DijkstraUtxoPredFailure DijkstraEra where injectFailure :: DijkstraUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (DijkstraUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> DijkstraUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra DijkstraUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ConwayUtxoPredFailure DijkstraEra where injectFailure :: ConwayUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> ConwayUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra ConwayUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" BabbageUtxoPredFailure DijkstraEra where injectFailure :: BabbageUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (BabbageUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> BabbageUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . BabbageUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra BabbageUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" AlonzoUtxoPredFailure DijkstraEra where injectFailure :: AlonzoUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (AlonzoUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> AlonzoUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra AlonzoUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" AlonzoUtxosPredFailure DijkstraEra where injectFailure :: AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (AlonzoUtxosPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> AlonzoUtxosPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra AlonzoUtxosPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ConwayUtxosPredFailure DijkstraEra where injectFailure :: ConwayUtxosPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayUtxosPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> ConwayUtxosPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayUtxosPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra ConwayUtxosPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyUtxoPredFailure DijkstraEra where injectFailure :: ShelleyUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ShelleyUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> ShelleyUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra ShelleyUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" AllegraUtxoPredFailure DijkstraEra where injectFailure :: AllegraUtxoPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "UTXOW" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure (DijkstraUtxowPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (AllegraUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra) -> AllegraUtxoPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . AllegraUtxoPredFailure DijkstraEra -> EraRuleFailure "UTXOW" DijkstraEra AllegraUtxoPredFailure DijkstraEra -> DijkstraUtxowPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ConwayCertsPredFailure DijkstraEra where injectFailure :: ConwayCertsPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "CERTS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra ConwayCertsPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure instance InjectRuleFailure "LEDGER" ConwayCertPredFailure DijkstraEra where injectFailure :: ConwayCertPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "CERTS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure (ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> ConwayCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayCertPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra ConwayCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ConwayDelegPredFailure DijkstraEra where injectFailure :: ConwayDelegPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "CERTS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure (ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayDelegPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> ConwayDelegPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayDelegPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra ConwayDelegPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ShelleyPoolPredFailure DijkstraEra where injectFailure :: ShelleyPoolPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "CERTS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure (ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ShelleyPoolPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> ShelleyPoolPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyPoolPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra ShelleyPoolPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" DijkstraGovCertPredFailure DijkstraEra where injectFailure :: DijkstraGovCertPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "CERTS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure (ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (DijkstraGovCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> DijkstraGovCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraGovCertPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra DijkstraGovCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" DijkstraGovPredFailure DijkstraEra where injectFailure :: DijkstraGovPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "GOV" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era DijkstraGovFailure (DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (DijkstraGovPredFailure DijkstraEra -> DijkstraGovPredFailure DijkstraEra) -> DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraGovPredFailure DijkstraEra -> EraRuleFailure "GOV" DijkstraEra DijkstraGovPredFailure DijkstraEra -> DijkstraGovPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ConwayGovCertPredFailure DijkstraEra where injectFailure :: ConwayGovCertPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "CERTS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure (ConwayCertsPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayGovCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra) -> ConwayGovCertPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayGovCertPredFailure DijkstraEra -> EraRuleFailure "CERTS" DijkstraEra ConwayGovCertPredFailure DijkstraEra -> ConwayCertsPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" ConwayGovPredFailure DijkstraEra where injectFailure :: ConwayGovPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "GOV" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era DijkstraGovFailure (DijkstraGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ConwayGovPredFailure DijkstraEra -> DijkstraGovPredFailure DijkstraEra) -> ConwayGovPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayGovPredFailure DijkstraEra -> EraRuleFailure "GOV" DijkstraEra ConwayGovPredFailure DijkstraEra -> DijkstraGovPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure instance InjectRuleFailure "LEDGER" DijkstraSubLedgersPredFailure DijkstraEra where injectFailure :: DijkstraSubLedgersPredFailure DijkstraEra -> EraRuleFailure "LEDGER" DijkstraEra injectFailure = PredicateFailure (EraRule "SUBLEDGERS" DijkstraEra) -> DijkstraLedgerPredFailure DijkstraEra DijkstraSubLedgersPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era DijkstraSubLedgersFailure (DijkstraSubLedgersPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (DijkstraSubLedgersPredFailure DijkstraEra -> DijkstraSubLedgersPredFailure DijkstraEra) -> DijkstraSubLedgersPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . DijkstraSubLedgersPredFailure DijkstraEra -> EraRuleFailure "SUBLEDGERS" DijkstraEra DijkstraSubLedgersPredFailure DijkstraEra -> DijkstraSubLedgersPredFailure DijkstraEra forall (rule :: Symbol) (t :: * -> *) era. InjectRuleFailure rule t era => t era -> EraRuleFailure rule era injectFailure deriving instance ( Era era , Eq (PredicateFailure (EraRule "UTXOW" era)) , Eq (PredicateFailure (EraRule "CERTS" era)) , Eq (PredicateFailure (EraRule "GOV" era)) , Eq (PredicateFailure (EraRule "SUBLEDGERS" era)) ) => Eq (DijkstraLedgerPredFailure era) deriving instance ( Era era , Show (PredicateFailure (EraRule "UTXOW" era)) , Show (PredicateFailure (EraRule "CERTS" era)) , Show (PredicateFailure (EraRule "GOV" era)) , Show (PredicateFailure (EraRule "SUBLEDGERS" era)) ) => Show (DijkstraLedgerPredFailure era) instance ( Era era , NoThunks (PredicateFailure (EraRule "UTXOW" era)) , NoThunks (PredicateFailure (EraRule "CERTS" era)) , NoThunks (PredicateFailure (EraRule "GOV" era)) , NoThunks (PredicateFailure (EraRule "SUBLEDGERS" era)) ) => NoThunks (DijkstraLedgerPredFailure era) instance ( Era era , NFData (PredicateFailure (EraRule "UTXOW" era)) , NFData (PredicateFailure (EraRule "CERTS" era)) , NFData (PredicateFailure (EraRule "GOV" era)) , NFData (PredicateFailure (EraRule "SUBLEDGERS" era)) ) => NFData (DijkstraLedgerPredFailure era) instance ( Era era , EncCBOR (PredicateFailure (EraRule "UTXOW" era)) , EncCBOR (PredicateFailure (EraRule "CERTS" era)) , EncCBOR (PredicateFailure (EraRule "GOV" era)) , EncCBOR (PredicateFailure (EraRule "SUBLEDGERS" era)) ) => EncCBOR (DijkstraLedgerPredFailure era) where encCBOR :: DijkstraLedgerPredFailure era -> Encoding encCBOR = Encode Open (DijkstraLedgerPredFailure era) -> Encoding forall (w :: Wrapped) t. Encode w t -> Encoding encode (Encode Open (DijkstraLedgerPredFailure era) -> Encoding) -> (DijkstraLedgerPredFailure era -> Encode Open (DijkstraLedgerPredFailure era)) -> DijkstraLedgerPredFailure era -> Encoding forall b c a. (b -> c) -> (a -> b) -> a -> c . \case DijkstraUtxowFailure PredicateFailure (EraRule "UTXOW" era) x -> (PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum (forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure @era) Word 1 Encode Open (PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (PredicateFailure (EraRule "UTXOW" era)) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> PredicateFailure (EraRule "UTXOW" era) -> Encode (Closed Dense) (PredicateFailure (EraRule "UTXOW" era)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To PredicateFailure (EraRule "UTXOW" era) x DijkstraCertsFailure PredicateFailure (EraRule "CERTS" era) x -> (PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum (forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure @era) Word 2 Encode Open (PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (PredicateFailure (EraRule "CERTS" era)) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> PredicateFailure (EraRule "CERTS" era) -> Encode (Closed Dense) (PredicateFailure (EraRule "CERTS" era)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To PredicateFailure (EraRule "CERTS" era) x DijkstraGovFailure PredicateFailure (EraRule "GOV" era) x -> (PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum (forall era. PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era DijkstraGovFailure @era) Word 3 Encode Open (PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (PredicateFailure (EraRule "GOV" era)) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> PredicateFailure (EraRule "GOV" era) -> Encode (Closed Dense) (PredicateFailure (EraRule "GOV" era)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To PredicateFailure (EraRule "GOV" era) x DijkstraWdrlNotDelegatedToDRep NonEmpty (KeyHash Staking) x -> (NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum (forall era. NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era DijkstraWdrlNotDelegatedToDRep @era) Word 4 Encode Open (NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (NonEmpty (KeyHash Staking)) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> NonEmpty (KeyHash Staking) -> Encode (Closed Dense) (NonEmpty (KeyHash Staking)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To NonEmpty (KeyHash Staking) x DijkstraTreasuryValueMismatch Mismatch RelEQ Coin mm -> (Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum (forall era. Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era DijkstraTreasuryValueMismatch @era) Word 5 Encode Open (Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (Mismatch RelEQ Coin) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> Mismatch RelEQ Coin -> Encode (Closed Dense) (Mismatch RelEQ Coin) forall t. EncCBOR t => t -> Encode (Closed Dense) t To Mismatch RelEQ Coin mm DijkstraTxRefScriptsSizeTooBig Mismatch RelLTEQ Int mm -> (Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era forall era. Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era DijkstraTxRefScriptsSizeTooBig Word 6 Encode Open (Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (Mismatch RelLTEQ Int) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> Mismatch RelLTEQ Int -> Encode (Closed Dense) (Mismatch RelLTEQ Int) forall t. EncCBOR t => t -> Encode (Closed Dense) t To Mismatch RelLTEQ Int mm DijkstraWithdrawalsMissingAccounts Withdrawals w -> (Withdrawals -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (Withdrawals -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum Withdrawals -> DijkstraLedgerPredFailure era forall era. Withdrawals -> DijkstraLedgerPredFailure era DijkstraWithdrawalsMissingAccounts Word 7 Encode Open (Withdrawals -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) Withdrawals -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> Withdrawals -> Encode (Closed Dense) Withdrawals forall t. EncCBOR t => t -> Encode (Closed Dense) t To Withdrawals w DijkstraIncompleteWithdrawals NonEmptyMap RewardAccount (Mismatch RelEQ Coin) w -> (NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals Word 8 Encode Open (NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (NonEmptyMap RewardAccount (Mismatch RelEQ Coin)) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> Encode (Closed Dense) (NonEmptyMap RewardAccount (Mismatch RelEQ Coin)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To NonEmptyMap RewardAccount (Mismatch RelEQ Coin) w DijkstraSubLedgersFailure PredicateFailure (EraRule "SUBLEDGERS" era) w -> (PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era DijkstraSubLedgersFailure Word 9 Encode Open (PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (PredicateFailure (EraRule "SUBLEDGERS" era)) -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> PredicateFailure (EraRule "SUBLEDGERS" era) -> Encode (Closed Dense) (PredicateFailure (EraRule "SUBLEDGERS" era)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To PredicateFailure (EraRule "SUBLEDGERS" era) w instance ( Era era , DecCBOR (PredicateFailure (EraRule "UTXOW" era)) , DecCBOR (PredicateFailure (EraRule "CERTS" era)) , DecCBOR (PredicateFailure (EraRule "GOV" era)) , DecCBOR (PredicateFailure (EraRule "SUBLEDGERS" era)) ) => DecCBOR (DijkstraLedgerPredFailure era) where decCBOR :: forall s. Decoder s (DijkstraLedgerPredFailure era) decCBOR = Decode (Closed Dense) (DijkstraLedgerPredFailure era) -> Decoder s (DijkstraLedgerPredFailure era) forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t decode (Decode (Closed Dense) (DijkstraLedgerPredFailure era) -> Decoder s (DijkstraLedgerPredFailure era)) -> ((Word -> Decode Open (DijkstraLedgerPredFailure era)) -> Decode (Closed Dense) (DijkstraLedgerPredFailure era)) -> (Word -> Decode Open (DijkstraLedgerPredFailure era)) -> Decoder s (DijkstraLedgerPredFailure era) forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> (Word -> Decode Open (DijkstraLedgerPredFailure era)) -> Decode (Closed Dense) (DijkstraLedgerPredFailure era) forall t. Text -> (Word -> Decode Open t) -> Decode (Closed Dense) t Summands Text "DijkstraLedgerPredFailure" ((Word -> Decode Open (DijkstraLedgerPredFailure era)) -> Decoder s (DijkstraLedgerPredFailure era)) -> (Word -> Decode Open (DijkstraLedgerPredFailure era)) -> Decoder s (DijkstraLedgerPredFailure era) forall a b. (a -> b) -> a -> b $ \case Word 1 -> (PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era) -> Decode Open (PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure Decode Open (PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 0)) (PredicateFailure (EraRule "UTXOW" era)) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 0)) (PredicateFailure (EraRule "UTXOW" era)) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 2 -> (PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era) -> Decode Open (PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure Decode Open (PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 1)) (PredicateFailure (EraRule "CERTS" era)) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 1)) (PredicateFailure (EraRule "CERTS" era)) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 3 -> (PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era) -> Decode Open (PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era DijkstraGovFailure Decode Open (PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 2)) (PredicateFailure (EraRule "GOV" era)) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 2)) (PredicateFailure (EraRule "GOV" era)) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 4 -> (NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era) -> Decode Open (NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era forall era. NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era DijkstraWdrlNotDelegatedToDRep Decode Open (NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 3)) (NonEmpty (KeyHash Staking)) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 3)) (NonEmpty (KeyHash Staking)) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 5 -> (Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era) -> Decode Open (Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era forall era. Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era DijkstraTreasuryValueMismatch Decode Open (Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 4)) (Mismatch RelEQ Coin) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 4)) (Mismatch RelEQ Coin) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 6 -> (Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era) -> Decode Open (Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era forall era. Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era DijkstraTxRefScriptsSizeTooBig Decode Open (Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 5)) (Mismatch RelLTEQ Int) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 5)) (Mismatch RelLTEQ Int) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 7 -> (Withdrawals -> DijkstraLedgerPredFailure era) -> Decode Open (Withdrawals -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD Withdrawals -> DijkstraLedgerPredFailure era forall era. Withdrawals -> DijkstraLedgerPredFailure era DijkstraWithdrawalsMissingAccounts Decode Open (Withdrawals -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 6)) Withdrawals -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 6)) Withdrawals forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 8 -> (NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Decode Open (NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals Decode Open (NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 7)) (NonEmptyMap RewardAccount (Mismatch RelEQ Coin)) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 7)) (NonEmptyMap RewardAccount (Mismatch RelEQ Coin)) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 9 -> (PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era) -> Decode Open (PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era DijkstraSubLedgersFailure Decode Open (PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 8)) (PredicateFailure (EraRule "SUBLEDGERS" era)) -> Decode Open (DijkstraLedgerPredFailure era) forall a (w1 :: Wrapped) t (w :: Density). Typeable a => Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t <! Decode (Closed (ZonkAny 8)) (PredicateFailure (EraRule "SUBLEDGERS" era)) forall t (w :: Wrapped). DecCBOR t => Decode w t From Word n -> Word -> Decode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) t. Word -> Decode w t Invalid Word n instance ( AlonzoEraTx era , ConwayEraTxBody era , ConwayEraGov era , DijkstraEraTxBody era , GovState era ~ ConwayGovState era , Embed (EraRule "UTXOW" era) (DijkstraLEDGER era) , Embed (EraRule "GOV" era) (DijkstraLEDGER era) , Embed (EraRule "CERTS" era) (DijkstraLEDGER era) , Embed (EraRule "SUBLEDGERS" era) (DijkstraLEDGER era) , State (EraRule "UTXOW" era) ~ UTxOState era , State (EraRule "CERTS" era) ~ CertState era , State (EraRule "GOV" era) ~ Proposals era , Environment (EraRule "UTXOW" era) ~ UtxoEnv era , Environment (EraRule "CERTS" era) ~ CertsEnv era , Environment (EraRule "GOV" era) ~ GovEnv era , Signal (EraRule "UTXOW" era) ~ Tx TopTx era , Signal (EraRule "CERTS" era) ~ Seq (TxCert era) , Signal (EraRule "GOV" era) ~ GovSignal era , ConwayEraCertState era , EraRule "LEDGER" era ~ DijkstraLEDGER era , InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era , InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era , InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure era , EraRule "SUBLEDGERS" era ~ DijkstraSUBLEDGERS era ) => STS (DijkstraLEDGER era) where type State (DijkstraLEDGER era) = LedgerState era type Signal (DijkstraLEDGER era) = Tx TopTx era type Environment (DijkstraLEDGER era) = LedgerEnv era type BaseM (DijkstraLEDGER era) = ShelleyBase type PredicateFailure (DijkstraLEDGER era) = DijkstraLedgerPredFailure era type Event (DijkstraLEDGER era) = ConwayLedgerEvent era initialRules :: [InitialRule (DijkstraLEDGER era)] initialRules = [] transitionRules :: [TransitionRule (DijkstraLEDGER era)] transitionRules = [TransitionRule (DijkstraLEDGER era) forall era. (AlonzoEraTx era, ConwayEraCertState era, ConwayEraGov era, DijkstraEraTxBody era, GovState era ~ ConwayGovState era, Embed (EraRule "UTXOW" era) (DijkstraLEDGER era), Embed (EraRule "GOV" era) (DijkstraLEDGER era), Embed (EraRule "CERTS" era) (DijkstraLEDGER era), Embed (EraRule "SUBLEDGERS" era) (DijkstraLEDGER era), State (EraRule "UTXOW" era) ~ UTxOState era, State (EraRule "CERTS" era) ~ CertState era, State (EraRule "GOV" era) ~ Proposals era, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, Environment (EraRule "GOV" era) ~ GovEnv era, Environment (EraRule "CERTS" era) ~ CertsEnv era, Signal (EraRule "UTXOW" era) ~ Tx TopTx era, Signal (EraRule "CERTS" era) ~ Seq (TxCert era), Signal (EraRule "GOV" era) ~ GovSignal era, STS (DijkstraLEDGER era), EraRule "LEDGER" era ~ DijkstraLEDGER era, EraRule "SUBLEDGERS" era ~ DijkstraSUBLEDGERS era, InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era, InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era) => TransitionRule (DijkstraLEDGER era) dijkstraLedgerTransition] renderAssertionViolation :: AssertionViolation (DijkstraLEDGER era) -> String renderAssertionViolation = AssertionViolation (DijkstraLEDGER era) -> String forall era t. (EraTx era, EraGov era, EraCertState era, Environment t ~ LedgerEnv era, Signal t ~ Tx TopTx era, State t ~ LedgerState era) => AssertionViolation t -> String renderDepositEqualsObligationViolation assertions :: [Assertion (DijkstraLEDGER era)] assertions = forall era (rule :: * -> *). (EraGov era, EraCertState era, State (rule era) ~ LedgerState era) => [Assertion (rule era)] shelleyLedgerAssertions @era @DijkstraLEDGER dijkstraLedgerTransition :: forall era. ( AlonzoEraTx era , ConwayEraCertState era , ConwayEraGov era , DijkstraEraTxBody era , GovState era ~ ConwayGovState era , Embed (EraRule "UTXOW" era) (DijkstraLEDGER era) , Embed (EraRule "GOV" era) (DijkstraLEDGER era) , Embed (EraRule "CERTS" era) (DijkstraLEDGER era) , Embed (EraRule "SUBLEDGERS" era) (DijkstraLEDGER era) , State (EraRule "UTXOW" era) ~ UTxOState era , State (EraRule "CERTS" era) ~ CertState era , State (EraRule "GOV" era) ~ Proposals era , Environment (EraRule "UTXOW" era) ~ UtxoEnv era , Environment (EraRule "GOV" era) ~ GovEnv era , Environment (EraRule "CERTS" era) ~ CertsEnv era , Signal (EraRule "UTXOW" era) ~ Tx TopTx era , Signal (EraRule "CERTS" era) ~ Seq (TxCert era) , Signal (EraRule "GOV" era) ~ GovSignal era , STS (DijkstraLEDGER era) , EraRule "LEDGER" era ~ DijkstraLEDGER era , EraRule "SUBLEDGERS" era ~ DijkstraSUBLEDGERS era , InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era , InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era ) => TransitionRule (DijkstraLEDGER era) dijkstraLedgerTransition :: forall era. (AlonzoEraTx era, ConwayEraCertState era, ConwayEraGov era, DijkstraEraTxBody era, GovState era ~ ConwayGovState era, Embed (EraRule "UTXOW" era) (DijkstraLEDGER era), Embed (EraRule "GOV" era) (DijkstraLEDGER era), Embed (EraRule "CERTS" era) (DijkstraLEDGER era), Embed (EraRule "SUBLEDGERS" era) (DijkstraLEDGER era), State (EraRule "UTXOW" era) ~ UTxOState era, State (EraRule "CERTS" era) ~ CertState era, State (EraRule "GOV" era) ~ Proposals era, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, Environment (EraRule "GOV" era) ~ GovEnv era, Environment (EraRule "CERTS" era) ~ CertsEnv era, Signal (EraRule "UTXOW" era) ~ Tx TopTx era, Signal (EraRule "CERTS" era) ~ Seq (TxCert era), Signal (EraRule "GOV" era) ~ GovSignal era, STS (DijkstraLEDGER era), EraRule "LEDGER" era ~ DijkstraLEDGER era, EraRule "SUBLEDGERS" era ~ DijkstraSUBLEDGERS era, InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era, InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era) => TransitionRule (DijkstraLEDGER era) dijkstraLedgerTransition = do TRC (env, ledgerState, tx) <- Rule (DijkstraLEDGER era) 'Transition (RuleContext 'Transition (DijkstraLEDGER era)) F (Clause (DijkstraLEDGER era) 'Transition) (TRC (DijkstraLEDGER era)) forall sts (rtype :: RuleType). Rule sts rtype (RuleContext rtype sts) judgmentContext ledgerStateAfterSubledgers <- trans @(EraRule "SUBLEDGERS" era) $ TRC (env, ledgerState, tx ^. bodyTxL . subTransactionsTxBodyL) conwayLedgerTransitionTRC (TRC (env, ledgerStateAfterSubledgers, tx)) instance ( AlonzoEraTx era , EraUTxO era , BabbageEraTxBody era , Embed (EraRule "UTXO" era) (DijkstraUTXOW era) , State (EraRule "UTXO" era) ~ UTxOState era , Environment (EraRule "UTXO" era) ~ UtxoEnv era , Script era ~ AlonzoScript era , TxOut era ~ BabbageTxOut era , ScriptsNeeded era ~ AlonzoScriptsNeeded era , Signal (EraRule "UTXO" era) ~ Tx TopTx era , PredicateFailure (EraRule "UTXOW" era) ~ DijkstraUtxowPredFailure era , Event (EraRule "UTXOW" era) ~ AlonzoUtxowEvent era , STS (DijkstraUTXOW era) , Event (DijkstraUTXOW era) ~ AlonzoUtxowEvent era ) => Embed (DijkstraUTXOW era) (DijkstraLEDGER era) where wrapFailed :: PredicateFailure (DijkstraUTXOW era) -> PredicateFailure (DijkstraLEDGER era) wrapFailed = PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era PredicateFailure (DijkstraUTXOW era) -> PredicateFailure (DijkstraLEDGER era) forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure wrapEvent :: Event (DijkstraUTXOW era) -> Event (DijkstraLEDGER era) wrapEvent = Event (EraRule "UTXOW" era) -> ConwayLedgerEvent era Event (DijkstraUTXOW era) -> Event (DijkstraLEDGER era) forall era. Event (EraRule "UTXOW" era) -> ConwayLedgerEvent era Conway.UtxowEvent instance ( Embed (EraRule "UTXOW" era) (DijkstraLEDGER era) , Embed (EraRule "CERTS" era) (DijkstraLEDGER era) , Embed (EraRule "GOV" era) (DijkstraLEDGER era) , Embed (EraRule "SUBLEDGERS" era) (DijkstraSUBLEDGERS era) , ConwayEraGov era , AlonzoEraTx era , ConwayEraPParams era , DijkstraEraTxBody era , GovState era ~ ConwayGovState era , Environment (EraRule "UTXOW" era) ~ UtxoEnv era , Environment (EraRule "CERTS" era) ~ CertsEnv era , Signal (EraRule "UTXOW" era) ~ Tx TopTx era , Signal (EraRule "CERTS" era) ~ Seq (TxCert era) , State (EraRule "UTXOW" era) ~ UTxOState era , State (EraRule "CERTS" era) ~ CertState era , EraRule "GOV" era ~ DijkstraGOV era , ConwayEraCertState era , EraRule "LEDGER" era ~ DijkstraLEDGER era , EraRule "SUBLEDGERS" era ~ DijkstraSUBLEDGERS era , EraRule "SUBLEDGER" era ~ DijkstraSUBLEDGER era , EraRule "SUBGOV" era ~ DijkstraSUBGOV era , EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era , EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era , EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era , EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era , EraRule "SUBCERT" era ~ DijkstraSUBCERT era , EraRule "SUBDELEG" era ~ DijkstraSUBDELEG era , EraRule "SUBPOOL" era ~ DijkstraSUBPOOL era , EraRule "SUBGOVCERT" era ~ DijkstraSUBGOVCERT era , InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era , InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era , InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure era , InjectRuleFailure "LEDGER" DijkstraSubLedgersPredFailure era , TxCert era ~ DijkstraTxCert era ) => Embed (DijkstraLEDGER era) (ShelleyLEDGERS era) where wrapFailed :: PredicateFailure (DijkstraLEDGER era) -> PredicateFailure (ShelleyLEDGERS era) wrapFailed = PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era PredicateFailure (DijkstraLEDGER era) -> PredicateFailure (ShelleyLEDGERS era) forall era. PredicateFailure (EraRule "LEDGER" era) -> ShelleyLedgersPredFailure era LedgerFailure wrapEvent :: Event (DijkstraLEDGER era) -> Event (ShelleyLEDGERS era) wrapEvent = Event (EraRule "LEDGER" era) -> ShelleyLedgersEvent era Event (DijkstraLEDGER era) -> Event (ShelleyLEDGERS era) forall era. Event (EraRule "LEDGER" era) -> ShelleyLedgersEvent era LedgerEvent instance ( ConwayEraTxCert era , ConwayEraPParams era , ConwayEraGov era , EraRule "GOV" era ~ DijkstraGOV era , InjectRuleFailure "GOV" ConwayGovPredFailure era , InjectRuleFailure "GOV" DijkstraGovPredFailure era , ConwayEraCertState era ) => Embed (DijkstraGOV era) (DijkstraLEDGER era) where wrapFailed :: PredicateFailure (DijkstraGOV era) -> PredicateFailure (DijkstraLEDGER era) wrapFailed = PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era PredicateFailure (DijkstraGOV era) -> PredicateFailure (DijkstraLEDGER era) forall era. PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era DijkstraGovFailure wrapEvent :: Event (DijkstraGOV era) -> Event (DijkstraLEDGER era) wrapEvent = Event (EraRule "GOV" era) -> ConwayLedgerEvent era Event (DijkstraGOV era) -> Event (DijkstraLEDGER era) forall era. Event (EraRule "GOV" era) -> ConwayLedgerEvent era GovEvent conwayToDijkstraLedgerPredFailure :: forall era. ConwayLedgerPredFailure era -> DijkstraLedgerPredFailure era conwayToDijkstraLedgerPredFailure :: forall era. ConwayLedgerPredFailure era -> DijkstraLedgerPredFailure era conwayToDijkstraLedgerPredFailure = \case Conway.ConwayUtxowFailure PredicateFailure (EraRule "UTXOW" era) f -> PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure PredicateFailure (EraRule "UTXOW" era) f Conway.ConwayCertsFailure PredicateFailure (EraRule "CERTS" era) f -> PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure PredicateFailure (EraRule "CERTS" era) f Conway.ConwayGovFailure PredicateFailure (EraRule "GOV" era) f -> PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "GOV" era) -> DijkstraLedgerPredFailure era DijkstraGovFailure PredicateFailure (EraRule "GOV" era) f Conway.ConwayWdrlNotDelegatedToDRep NonEmpty (KeyHash Staking) kh -> NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era forall era. NonEmpty (KeyHash Staking) -> DijkstraLedgerPredFailure era DijkstraWdrlNotDelegatedToDRep NonEmpty (KeyHash Staking) kh Conway.ConwayTreasuryValueMismatch Mismatch RelEQ Coin mm -> Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era forall era. Mismatch RelEQ Coin -> DijkstraLedgerPredFailure era DijkstraTreasuryValueMismatch Mismatch RelEQ Coin mm Conway.ConwayTxRefScriptsSizeTooBig Mismatch RelLTEQ Int mm -> Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era forall era. Mismatch RelLTEQ Int -> DijkstraLedgerPredFailure era DijkstraTxRefScriptsSizeTooBig Mismatch RelLTEQ Int mm Conway.ConwayMempoolFailure Text _ -> String -> DijkstraLedgerPredFailure era forall a. HasCallStack => String -> a error String "Impossible: MempoolFailure has been moved to MEMPOOL rule in Dijkstra" Conway.ConwayWithdrawalsMissingAccounts Withdrawals ws -> Withdrawals -> DijkstraLedgerPredFailure era forall era. Withdrawals -> DijkstraLedgerPredFailure era DijkstraWithdrawalsMissingAccounts Withdrawals ws Conway.ConwayIncompleteWithdrawals NonEmptyMap RewardAccount (Mismatch RelEQ Coin) ws -> NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals NonEmptyMap RewardAccount (Mismatch RelEQ Coin) ws shelleyToDijkstraLedgerPredFailure :: forall era. ShelleyLedgerPredFailure era -> DijkstraLedgerPredFailure era shelleyToDijkstraLedgerPredFailure :: forall era. ShelleyLedgerPredFailure era -> DijkstraLedgerPredFailure era shelleyToDijkstraLedgerPredFailure = \case UtxowFailure PredicateFailure (EraRule "UTXOW" era) x -> PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "UTXOW" era) -> DijkstraLedgerPredFailure era DijkstraUtxowFailure PredicateFailure (EraRule "UTXOW" era) x DelegsFailure PredicateFailure (EraRule "DELEGS" era) _ -> String -> DijkstraLedgerPredFailure era forall a. HasCallStack => String -> a error String "Impossible: DELEGS has ben removed in Dijkstra" ShelleyWithdrawalsMissingAccounts Withdrawals x -> Withdrawals -> DijkstraLedgerPredFailure era forall era. Withdrawals -> DijkstraLedgerPredFailure era DijkstraWithdrawalsMissingAccounts Withdrawals x ShelleyIncompleteWithdrawals NonEmptyMap RewardAccount (Mismatch RelEQ Coin) x -> NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. NonEmptyMap RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals NonEmptyMap RewardAccount (Mismatch RelEQ Coin) x instance ( EraTx era , ConwayEraTxBody era , ConwayEraPParams era , ConwayEraGov era , Embed (EraRule "CERT" era) (ConwayCERTS era) , State (EraRule "CERT" era) ~ CertState era , Environment (EraRule "CERT" era) ~ CertEnv era , Signal (EraRule "CERT" era) ~ TxCert era , PredicateFailure (EraRule "CERT" era) ~ ConwayCertPredFailure era , EraRuleFailure "CERT" era ~ ConwayCertPredFailure era , EraRule "CERTS" era ~ ConwayCERTS era , ConwayEraCertState era ) => Embed (ConwayCERTS era) (DijkstraLEDGER era) where wrapFailed :: PredicateFailure (ConwayCERTS era) -> PredicateFailure (DijkstraLEDGER era) wrapFailed = PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era PredicateFailure (ConwayCERTS era) -> PredicateFailure (DijkstraLEDGER era) forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure wrapEvent :: Event (ConwayCERTS era) -> Event (DijkstraLEDGER era) wrapEvent = Event (EraRule "CERTS" era) -> ConwayLedgerEvent era Event (ConwayCERTS era) -> Event (DijkstraLEDGER era) forall era. Event (EraRule "CERTS" era) -> ConwayLedgerEvent era CertsEvent instance ( EraPParams era , EraRule "DELEG" era ~ ConwayDELEG era , PredicateFailure (EraRule "CERTS" era) ~ ConwayCertsPredFailure era , PredicateFailure (EraRule "CERT" era) ~ ConwayCertPredFailure era , Event (EraRule "CERTS" era) ~ ConwayCertsEvent era , Event (EraRule "CERT" era) ~ ConwayCertEvent era , ConwayEraCertState era ) => Embed (ConwayDELEG era) (DijkstraLEDGER era) where wrapFailed :: PredicateFailure (ConwayDELEG era) -> PredicateFailure (DijkstraLEDGER era) wrapFailed = PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era ConwayCertsPredFailure era -> DijkstraLedgerPredFailure era forall era. PredicateFailure (EraRule "CERTS" era) -> DijkstraLedgerPredFailure era DijkstraCertsFailure (ConwayCertsPredFailure era -> DijkstraLedgerPredFailure era) -> (ConwayDelegPredFailure era -> ConwayCertsPredFailure era) -> ConwayDelegPredFailure era -> DijkstraLedgerPredFailure era forall b c a. (b -> c) -> (a -> b) -> a -> c . PredicateFailure (EraRule "CERT" era) -> ConwayCertsPredFailure era ConwayCertPredFailure era -> ConwayCertsPredFailure era forall era. PredicateFailure (EraRule "CERT" era) -> ConwayCertsPredFailure era CertFailure (ConwayCertPredFailure era -> ConwayCertsPredFailure era) -> (ConwayDelegPredFailure era -> ConwayCertPredFailure era) -> ConwayDelegPredFailure era -> ConwayCertsPredFailure era forall b c a. (b -> c) -> (a -> b) -> a -> c . PredicateFailure (EraRule "DELEG" era) -> ConwayCertPredFailure era ConwayDelegPredFailure era -> ConwayCertPredFailure era forall era. PredicateFailure (EraRule "DELEG" era) -> ConwayCertPredFailure era DelegFailure wrapEvent :: Event (ConwayDELEG era) -> Event (DijkstraLEDGER era) wrapEvent = ConwayCertsEvent era -> ConwayLedgerEvent era Event (EraRule "CERTS" era) -> ConwayLedgerEvent era forall era. Event (EraRule "CERTS" era) -> ConwayLedgerEvent era CertsEvent (ConwayCertsEvent era -> ConwayLedgerEvent era) -> (Void -> ConwayCertsEvent era) -> Void -> ConwayLedgerEvent era forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayCertEvent era -> ConwayCertsEvent era Event (EraRule "CERT" era) -> ConwayCertsEvent era forall era. Event (EraRule "CERT" era) -> ConwayCertsEvent era CertEvent (ConwayCertEvent era -> ConwayCertsEvent era) -> (Void -> ConwayCertEvent era) -> Void -> ConwayCertsEvent era forall b c a. (b -> c) -> (a -> b) -> a -> c . Void -> ConwayCertEvent era Event (EraRule "DELEG" era) -> ConwayCertEvent era forall era. Event (EraRule "DELEG" era) -> ConwayCertEvent era DelegEvent instance ( EraTx era , ConwayEraTxBody era , ConwayEraGov era , ConwayEraCertState era , EraRule "SUBLEDGERS" era ~ DijkstraSUBLEDGERS era , EraRule "SUBLEDGER" era ~ DijkstraSUBLEDGER era , EraRule "SUBGOV" era ~ DijkstraSUBGOV era , EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era , EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era , EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era , EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era , EraRule "SUBCERT" era ~ DijkstraSUBCERT era , EraRule "SUBDELEG" era ~ DijkstraSUBDELEG era , EraRule "SUBPOOL" era ~ DijkstraSUBPOOL era , EraRule "SUBGOVCERT" era ~ DijkstraSUBGOVCERT era , TxCert era ~ DijkstraTxCert era ) => Embed (DijkstraSUBLEDGERS era) (DijkstraLEDGER era) where wrapFailed :: PredicateFailure (DijkstraSUBLEDGERS era) -> PredicateFailure (DijkstraLEDGER era) wrapFailed = PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era PredicateFailure (DijkstraSUBLEDGERS era) -> PredicateFailure (DijkstraLEDGER era) forall era. PredicateFailure (EraRule "SUBLEDGERS" era) -> DijkstraLedgerPredFailure era DijkstraSubLedgersFailure wrapEvent :: Event (DijkstraSUBLEDGERS era) -> Event (DijkstraLEDGER era) wrapEvent = Void -> ConwayLedgerEvent era Event (DijkstraSUBLEDGERS era) -> Event (DijkstraLEDGER era) forall a. Void -> a absurd