{-# 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 (..), 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, ConwayGovEvent, ConwayGovPredFailure, ConwayLedgerEvent (..), ConwayLedgerPredFailure, ConwayUtxoPredFailure, ConwayUtxosPredFailure, ConwayUtxowPredFailure, GovEnv (..), GovSignal (..), conwayLedgerTransition, shelleyToConwayLedgerPredFailure, ) import qualified Cardano.Ledger.Conway.Rules as Conway import Cardano.Ledger.Conway.State import Cardano.Ledger.Dijkstra.Era (DijkstraEra, DijkstraGOV, DijkstraLEDGER, 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.Utxo (DijkstraUtxoPredFailure) import Cardano.Ledger.Dijkstra.Rules.Utxow (DijkstraUtxowPredFailure) 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 ( Embed (..), STS (..), ) import Data.List.NonEmpty (NonEmpty) import qualified Data.Map.Strict as Map import Data.Sequence (Seq) import Data.Text (Text) import GHC.Generics (Generic (..)) 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) | DijkstraMempoolFailure Text | DijkstraWithdrawalsMissingAccounts Withdrawals | DijkstraIncompleteWithdrawals (Map.Map RewardAccount (Mismatch RelEQ Coin)) 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 = ConwayLedgerPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall era. ConwayLedgerPredFailure era -> DijkstraLedgerPredFailure era conwayToDijkstraLedgerPredFailure (ConwayLedgerPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra) -> (ShelleyLedgerPredFailure DijkstraEra -> ConwayLedgerPredFailure DijkstraEra) -> ShelleyLedgerPredFailure DijkstraEra -> DijkstraLedgerPredFailure DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyLedgerPredFailure DijkstraEra -> ConwayLedgerPredFailure DijkstraEra forall era. ShelleyLedgerPredFailure era -> ConwayLedgerPredFailure era shelleyToConwayLedgerPredFailure 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 deriving instance ( Era era , Eq (PredicateFailure (EraRule "UTXOW" era)) , Eq (PredicateFailure (EraRule "CERTS" era)) , Eq (PredicateFailure (EraRule "GOV" era)) ) => Eq (DijkstraLedgerPredFailure era) deriving instance ( Era era , Show (PredicateFailure (EraRule "UTXOW" era)) , Show (PredicateFailure (EraRule "CERTS" era)) , Show (PredicateFailure (EraRule "GOV" era)) ) => Show (DijkstraLedgerPredFailure era) instance ( Era era , NoThunks (PredicateFailure (EraRule "UTXOW" era)) , NoThunks (PredicateFailure (EraRule "CERTS" era)) , NoThunks (PredicateFailure (EraRule "GOV" era)) ) => NoThunks (DijkstraLedgerPredFailure era) instance ( Era era , NFData (PredicateFailure (EraRule "UTXOW" era)) , NFData (PredicateFailure (EraRule "CERTS" era)) , NFData (PredicateFailure (EraRule "GOV" era)) ) => NFData (DijkstraLedgerPredFailure era) instance ( Era era , EncCBOR (PredicateFailure (EraRule "UTXOW" era)) , EncCBOR (PredicateFailure (EraRule "CERTS" era)) , EncCBOR (PredicateFailure (EraRule "GOV" 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 DijkstraMempoolFailure Text t -> (Text -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (Text -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum Text -> DijkstraLedgerPredFailure era forall era. Text -> DijkstraLedgerPredFailure era DijkstraMempoolFailure Word 7 Encode Open (Text -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) Text -> Encode Open (DijkstraLedgerPredFailure era) forall (w :: Wrapped) a t (r :: Density). Encode w (a -> t) -> Encode (Closed r) a -> Encode w t !> Text -> Encode (Closed Dense) Text forall t. EncCBOR t => t -> Encode (Closed Dense) t To Text t 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 8 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 Map RewardAccount (Mismatch RelEQ Coin) w -> (Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Word -> Encode Open (Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) forall t. t -> Word -> Encode Open t Sum Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals Word 9 Encode Open (Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Encode (Closed Dense) (Map 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 !> Map RewardAccount (Mismatch RelEQ Coin) -> Encode (Closed Dense) (Map RewardAccount (Mismatch RelEQ Coin)) forall t. EncCBOR t => t -> Encode (Closed Dense) t To Map RewardAccount (Mismatch RelEQ Coin) w instance ( Era era , DecCBOR (PredicateFailure (EraRule "UTXOW" era)) , DecCBOR (PredicateFailure (EraRule "CERTS" era)) , DecCBOR (PredicateFailure (EraRule "GOV" 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 -> (Text -> DijkstraLedgerPredFailure era) -> Decode Open (Text -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD Text -> DijkstraLedgerPredFailure era forall era. Text -> DijkstraLedgerPredFailure era DijkstraMempoolFailure Decode Open (Text -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 6)) Text -> 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)) Text forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 8 -> (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 7)) 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 7)) Withdrawals forall t (w :: Wrapped). DecCBOR t => Decode w t From Word 9 -> (Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Decode Open (Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) forall t. t -> Decode Open t SumD Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals Decode Open (Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era) -> Decode (Closed (ZonkAny 8)) (Map 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 8)) (Map RewardAccount (Mismatch RelEQ Coin)) 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 , GovState era ~ ConwayGovState era , Embed (EraRule "UTXOW" era) (DijkstraLEDGER era) , Embed (EraRule "GOV" era) (DijkstraLEDGER era) , Embed (EraRule "CERTS" 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 , EraCertState era , EraRule "LEDGER" era ~ DijkstraLEDGER era , InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era , InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era , InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure 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 = [forall (someLEDGER :: * -> *) era. (AlonzoEraTx era, ConwayEraTxBody era, ConwayEraGov era, GovState era ~ ConwayGovState era, Signal (someLEDGER era) ~ Tx TopTx era, State (someLEDGER era) ~ LedgerState era, Environment (someLEDGER era) ~ LedgerEnv era, Embed (EraRule "UTXOW" era) (someLEDGER era), Embed (EraRule "GOV" era) (someLEDGER era), Embed (EraRule "CERTS" era) (someLEDGER 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, BaseM (someLEDGER era) ~ ShelleyBase, STS (someLEDGER era), ConwayEraCertState era, EraRule "LEDGER" era ~ someLEDGER era, InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era, InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era) => TransitionRule (someLEDGER era) conwayLedgerTransition @DijkstraLEDGER] 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 instance ( BaseM (DijkstraUTXOW era) ~ ShelleyBase , 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) , PredicateFailure (DijkstraUTXOW era) ~ DijkstraUtxowPredFailure 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) , ConwayEraGov era , AlonzoEraTx era , ConwayEraTxBody era , ConwayEraPParams era , GovState era ~ ConwayGovState 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 , State (EraRule "UTXOW" era) ~ UTxOState era , State (EraRule "CERTS" era) ~ CertState era , State (EraRule "GOV" era) ~ Proposals era , EraRule "GOV" era ~ DijkstraGOV era , Event (EraRule "LEDGER" era) ~ ConwayLedgerEvent era , EraGov era , ConwayEraCertState era , EraRule "LEDGER" era ~ DijkstraLEDGER era , InjectRuleFailure "LEDGER" ShelleyLedgerPredFailure era , InjectRuleFailure "LEDGER" ConwayLedgerPredFailure era , InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure 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 , BaseM (DijkstraLEDGER era) ~ ShelleyBase , PredicateFailure (EraRule "GOV" era) ~ DijkstraGovPredFailure era , Event (EraRule "GOV" era) ~ ConwayGovEvent era , EraRule "GOV" era ~ DijkstraGOV era , InjectRuleFailure "GOV" ConwayGovPredFailure era , InjectRuleFailure "GOV" DijkstraGovPredFailure era , EraCertState 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 f -> Text -> DijkstraLedgerPredFailure era forall era. Text -> DijkstraLedgerPredFailure era DijkstraMempoolFailure Text f Conway.ConwayWithdrawalsMissingAccounts Withdrawals ws -> Withdrawals -> DijkstraLedgerPredFailure era forall era. Withdrawals -> DijkstraLedgerPredFailure era DijkstraWithdrawalsMissingAccounts Withdrawals ws Conway.ConwayIncompleteWithdrawals Map RewardAccount (Mismatch RelEQ Coin) ws -> Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era forall era. Map RewardAccount (Mismatch RelEQ Coin) -> DijkstraLedgerPredFailure era DijkstraIncompleteWithdrawals Map RewardAccount (Mismatch RelEQ Coin) ws 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 "CERTS" era) ~ ConwayCertsPredFailure era , PredicateFailure (EraRule "CERT" era) ~ ConwayCertPredFailure era , EraRuleFailure "CERT" era ~ ConwayCertPredFailure era , Event (EraRule "CERTS" era) ~ ConwayCertsEvent era , EraRule "CERTS" era ~ ConwayCERTS era , EraCertState 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 , EraCertState 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