{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# 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.Utxow (
DijkstraUTXOW,
DijkstraUtxowPredFailure (..),
conwayToDijkstraUtxowPredFailure,
) where
import Cardano.Crypto.Hash (ByteString)
import Cardano.Ledger.Allegra.Rules (
AllegraUtxoPredFailure,
)
import Cardano.Ledger.Alonzo.Rules (
AlonzoUtxoEvent,
AlonzoUtxoPredFailure,
AlonzoUtxosPredFailure,
AlonzoUtxowEvent (WrappedShelleyEraEvent),
AlonzoUtxowPredFailure,
checkScriptIntegrityHash,
hasExactSetOfRedeemers,
missingRequiredDatums,
)
import Cardano.Ledger.Alonzo.UTxO (
AlonzoEraUTxO (..),
AlonzoScriptsNeeded (..),
)
import Cardano.Ledger.Babbage.Rules (
BabbageUtxoPredFailure,
BabbageUtxowPredFailure,
babbageMissingScripts,
validateFailedBabbageScripts,
validateScriptsWellFormed,
)
import Cardano.Ledger.Babbage.Tx (mkScriptIntegrity)
import Cardano.Ledger.Babbage.UTxO (getReferenceScripts)
import Cardano.Ledger.BaseTypes (
Mismatch (..),
Relation (..),
ShelleyBase,
StrictMaybe (..),
)
import Cardano.Ledger.Binary (DecCBOR (..), EncCBOR (..))
import Cardano.Ledger.Binary.Coders (
Decode (..),
Encode (..),
decode,
encode,
(!>),
(<!),
)
import Cardano.Ledger.Conway.Core
import Cardano.Ledger.Conway.Rules (
ConwayUtxoPredFailure,
ConwayUtxosPredFailure,
ConwayUtxowPredFailure,
alonzoToConwayUtxowPredFailure,
babbageToConwayUtxowPredFailure,
shelleyToConwayUtxowPredFailure,
)
import qualified Cardano.Ledger.Conway.Rules as Conway
import Cardano.Ledger.Credential (Credential)
import Cardano.Ledger.Dijkstra.Era (DijkstraEra, DijkstraUTXO, DijkstraUTXOW)
import Cardano.Ledger.Dijkstra.Rules.Utxo (DijkstraUtxoEnv (..), DijkstraUtxoPredFailure)
import Cardano.Ledger.Dijkstra.TxBody (DijkstraEraTxBody (..))
import Cardano.Ledger.Keys (VKey)
import Cardano.Ledger.Rules.ValidationMode (runTest, runTestOnSignal)
import Cardano.Ledger.Shelley.LedgerState (UTxOState)
import Cardano.Ledger.Shelley.Rules (
ShelleyUtxoPredFailure,
ShelleyUtxowEvent (UtxoEvent),
ShelleyUtxowPredFailure,
validateNeededWitnesses,
)
import qualified Cardano.Ledger.Shelley.Rules as Shelley (
validateMetadata,
validateVerifiedWits,
)
import Cardano.Ledger.State (EraUTxO (..))
import Cardano.Ledger.TxIn (TxIn)
import Control.DeepSeq (NFData)
import Control.State.Transition.Extended (
Embed (..),
STS (..),
TRC (..),
TransitionRule,
failureOnNonEmptySet,
judgmentContext,
trans,
)
import Data.List.NonEmpty (NonEmpty)
import qualified Data.Map.Strict as Map
import qualified Data.OMap.Strict as OMap
import qualified Data.OSet.Strict as OSet
import Data.Set (Set)
import qualified Data.Set as Set
import Data.Set.NonEmpty (NonEmptySet)
import GHC.Generics (Generic)
import Lens.Micro ((^.))
data DijkstraUtxowPredFailure era
= UtxoFailure (PredicateFailure (EraRule "UTXO" era))
| InvalidWitnessesUTXOW (NonEmpty (VKey Witness))
|
MissingVKeyWitnessesUTXOW
(NonEmptySet (KeyHash Witness))
|
MissingScriptWitnessesUTXOW (NonEmptySet ScriptHash)
|
ScriptWitnessNotValidatingUTXOW (NonEmptySet ScriptHash)
|
MissingTxBodyMetadataHash TxAuxDataHash
|
MissingTxMetadata TxAuxDataHash
| ConflictingMetadataHash (Mismatch RelEQ TxAuxDataHash)
|
InvalidMetadata
|
(NonEmptySet ScriptHash)
| MissingRedeemers (NonEmpty (PlutusPurpose AsItem era, ScriptHash))
| MissingRequiredDatums
(NonEmptySet DataHash)
(Set DataHash)
| NotAllowedSupplementalDatums
(NonEmptySet DataHash)
(Set DataHash)
| PPViewHashesDontMatch
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
|
UnspendableUTxONoDatumHash
(NonEmptySet TxIn)
|
(NonEmpty (PlutusPurpose AsIx era))
|
MalformedScriptWitnesses (NonEmptySet ScriptHash)
|
MalformedReferenceScripts (NonEmptySet ScriptHash)
|
ScriptIntegrityHashMismatch
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
(StrictMaybe ByteString)
|
MissingRequiredGuards (NonEmptySet (Credential Guard))
deriving ((forall x.
DijkstraUtxowPredFailure era
-> Rep (DijkstraUtxowPredFailure era) x)
-> (forall x.
Rep (DijkstraUtxowPredFailure era) x
-> DijkstraUtxowPredFailure era)
-> Generic (DijkstraUtxowPredFailure era)
forall x.
Rep (DijkstraUtxowPredFailure era) x
-> DijkstraUtxowPredFailure era
forall x.
DijkstraUtxowPredFailure era
-> Rep (DijkstraUtxowPredFailure era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall era x.
Rep (DijkstraUtxowPredFailure era) x
-> DijkstraUtxowPredFailure era
forall era x.
DijkstraUtxowPredFailure era
-> Rep (DijkstraUtxowPredFailure era) x
$cfrom :: forall era x.
DijkstraUtxowPredFailure era
-> Rep (DijkstraUtxowPredFailure era) x
from :: forall x.
DijkstraUtxowPredFailure era
-> Rep (DijkstraUtxowPredFailure era) x
$cto :: forall era x.
Rep (DijkstraUtxowPredFailure era) x
-> DijkstraUtxowPredFailure era
to :: forall x.
Rep (DijkstraUtxowPredFailure era) x
-> DijkstraUtxowPredFailure era
Generic)
type instance EraRuleFailure "UTXOW" DijkstraEra = DijkstraUtxowPredFailure DijkstraEra
type instance EraRuleEvent "UTXOW" DijkstraEra = AlonzoUtxowEvent DijkstraEra
instance InjectRuleFailure "UTXOW" DijkstraUtxowPredFailure DijkstraEra
instance InjectRuleFailure "UTXOW" ConwayUtxowPredFailure DijkstraEra where
injectFailure :: ConwayUtxowPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = ConwayUtxowPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
ConwayUtxowPredFailure era -> DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure
instance InjectRuleFailure "UTXOW" BabbageUtxowPredFailure DijkstraEra where
injectFailure :: BabbageUtxowPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
ConwayUtxowPredFailure era -> DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure (ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (BabbageUtxowPredFailure DijkstraEra
-> ConwayUtxowPredFailure DijkstraEra)
-> BabbageUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. BabbageUtxowPredFailure DijkstraEra
-> ConwayUtxowPredFailure DijkstraEra
forall era.
BabbageUtxowPredFailure era -> ConwayUtxowPredFailure era
babbageToConwayUtxowPredFailure
instance InjectRuleFailure "UTXOW" AlonzoUtxowPredFailure DijkstraEra where
injectFailure :: AlonzoUtxowPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
ConwayUtxowPredFailure era -> DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure (ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (AlonzoUtxowPredFailure DijkstraEra
-> ConwayUtxowPredFailure DijkstraEra)
-> AlonzoUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxowPredFailure DijkstraEra
-> ConwayUtxowPredFailure DijkstraEra
forall era.
AlonzoUtxowPredFailure era -> ConwayUtxowPredFailure era
alonzoToConwayUtxowPredFailure
instance InjectRuleFailure "UTXOW" ShelleyUtxowPredFailure DijkstraEra where
injectFailure :: ShelleyUtxowPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
ConwayUtxowPredFailure era -> DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure (ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (ShelleyUtxowPredFailure DijkstraEra
-> ConwayUtxowPredFailure DijkstraEra)
-> ShelleyUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyUtxowPredFailure DijkstraEra
-> ConwayUtxowPredFailure DijkstraEra
forall era.
ShelleyUtxowPredFailure era -> ConwayUtxowPredFailure era
shelleyToConwayUtxowPredFailure
instance InjectRuleFailure "UTXOW" DijkstraUtxoPredFailure DijkstraEra where
injectFailure :: DijkstraUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" ConwayUtxoPredFailure DijkstraEra where
injectFailure :: ConwayUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (ConwayUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> ConwayUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
ConwayUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" BabbageUtxoPredFailure DijkstraEra where
injectFailure :: BabbageUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (BabbageUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> BabbageUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. BabbageUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
BabbageUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" AlonzoUtxoPredFailure DijkstraEra where
injectFailure :: AlonzoUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (AlonzoUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> AlonzoUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
AlonzoUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" AlonzoUtxosPredFailure DijkstraEra where
injectFailure :: AlonzoUtxosPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (AlonzoUtxosPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> AlonzoUtxosPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxosPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
AlonzoUtxosPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" ConwayUtxosPredFailure DijkstraEra where
injectFailure :: ConwayUtxosPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (ConwayUtxosPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> ConwayUtxosPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayUtxosPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
ConwayUtxosPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" ShelleyUtxoPredFailure DijkstraEra where
injectFailure :: ShelleyUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (ShelleyUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> ShelleyUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
ShelleyUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "UTXOW" AllegraUtxoPredFailure DijkstraEra where
injectFailure :: AllegraUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "UTXO" DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure (DijkstraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> (AllegraUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra)
-> AllegraUtxoPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AllegraUtxoPredFailure DijkstraEra
-> EraRuleFailure "UTXO" DijkstraEra
AllegraUtxoPredFailure DijkstraEra
-> DijkstraUtxoPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
deriving instance
( ConwayEraScript era
, Show (PredicateFailure (EraRule "UTXO" era))
) =>
Show (DijkstraUtxowPredFailure era)
deriving instance
( ConwayEraScript era
, Eq (PredicateFailure (EraRule "UTXO" era))
) =>
Eq (DijkstraUtxowPredFailure era)
instance
( ConwayEraScript era
, NFData (TxCert era)
, NFData (PredicateFailure (EraRule "UTXO" era))
) =>
NFData (DijkstraUtxowPredFailure era)
dijkstraUtxowTransition ::
forall era.
( AlonzoEraTx era
, AlonzoEraUTxO era
, ScriptsNeeded era ~ AlonzoScriptsNeeded era
, DijkstraEraTxBody era
, EraRule "UTXOW" era ~ DijkstraUTXOW era
, InjectRuleFailure "UTXOW" ShelleyUtxowPredFailure era
, InjectRuleFailure "UTXOW" AlonzoUtxowPredFailure era
, InjectRuleFailure "UTXOW" BabbageUtxowPredFailure era
, InjectRuleFailure "UTXOW" DijkstraUtxowPredFailure era
,
Embed (EraRule "UTXO" era) (DijkstraUTXOW era)
, Environment (EraRule "UTXO" era) ~ DijkstraUtxoEnv era
, State (EraRule "UTXO" era) ~ UTxOState era
, Signal (EraRule "UTXO" era) ~ StAnnTx TopTx era
) =>
TransitionRule (EraRule "UTXOW" era)
dijkstraUtxowTransition :: forall era.
(AlonzoEraTx era, AlonzoEraUTxO era,
ScriptsNeeded era ~ AlonzoScriptsNeeded era, DijkstraEraTxBody era,
EraRule "UTXOW" era ~ DijkstraUTXOW era,
InjectRuleFailure "UTXOW" ShelleyUtxowPredFailure era,
InjectRuleFailure "UTXOW" AlonzoUtxowPredFailure era,
InjectRuleFailure "UTXOW" BabbageUtxowPredFailure era,
InjectRuleFailure "UTXOW" DijkstraUtxowPredFailure era,
Embed (EraRule "UTXO" era) (DijkstraUTXOW era),
Environment (EraRule "UTXO" era) ~ DijkstraUtxoEnv era,
State (EraRule "UTXO" era) ~ UTxOState era,
Signal (EraRule "UTXO" era) ~ StAnnTx TopTx era) =>
TransitionRule (EraRule "UTXOW" era)
dijkstraUtxowTransition = do
TRC (DijkstraUtxoEnv slot pp certState originalUtxo scriptsProvided, u, stAnnTx) <- Rule
(DijkstraUTXOW era)
'Transition
(RuleContext 'Transition (DijkstraUTXOW era))
F (Clause (DijkstraUTXOW era) 'Transition)
(TRC (DijkstraUTXOW era))
forall sts (rtype :: RuleType).
Rule sts rtype (RuleContext rtype sts)
judgmentContext
let tx = StAnnTx TopTx era
Signal (DijkstraUTXOW era)
stAnnTx StAnnTx TopTx era
-> Getting (Tx TopTx era) (StAnnTx TopTx era) (Tx TopTx era)
-> Tx TopTx era
forall s a. s -> Getting a s a -> a
^. Getting (Tx TopTx era) (StAnnTx TopTx era) (Tx TopTx era)
forall era (l :: TxLevel).
EraTx era =>
SimpleGetter (StAnnTx l era) (Tx l era)
forall (l :: TxLevel). SimpleGetter (StAnnTx l era) (Tx l era)
txStAnnTxG
let txBody = Tx TopTx era
tx Tx TopTx era
-> Getting (TxBody TopTx era) (Tx TopTx era) (TxBody TopTx era)
-> TxBody TopTx era
forall s a. s -> Getting a s a -> a
^. Getting (TxBody TopTx era) (Tx TopTx era) (TxBody TopTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxBody l era)
forall (l :: TxLevel). Lens' (Tx l era) (TxBody l era)
bodyTxL
subTxs = OMap TxId (Tx SubTx era) -> [Tx SubTx era]
forall k v. Ord k => OMap k v -> [v]
OMap.elems (OMap TxId (Tx SubTx era) -> [Tx SubTx era])
-> OMap TxId (Tx SubTx era) -> [Tx SubTx era]
forall a b. (a -> b) -> a -> b
$ TxBody TopTx era
txBody TxBody TopTx era
-> Getting
(OMap TxId (Tx SubTx era))
(TxBody TopTx era)
(OMap TxId (Tx SubTx era))
-> OMap TxId (Tx SubTx era)
forall s a. s -> Getting a s a -> a
^. Getting
(OMap TxId (Tx SubTx era))
(TxBody TopTx era)
(OMap TxId (Tx SubTx era))
forall era.
DijkstraEraTxBody era =>
Lens' (TxBody TopTx era) (OMap TxId (Tx SubTx era))
Lens' (TxBody TopTx era) (OMap TxId (Tx SubTx era))
subTransactionsTxBodyL
witsKeyHashes = TxWits era -> Set (KeyHash Witness)
forall era. EraTxWits era => TxWits era -> Set (KeyHash Witness)
keyHashWitnessesTxWits (Tx TopTx era
tx Tx TopTx era
-> Getting (TxWits era) (Tx TopTx era) (TxWits era) -> TxWits era
forall s a. s -> Getting a s a -> a
^. Getting (TxWits era) (Tx TopTx era) (TxWits era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxWits era)
forall (l :: TxLevel). Lens' (Tx l era) (TxWits era)
witsTxL)
let topScriptsNeeded = UTxO era -> TxBody TopTx era -> ScriptsNeeded era
forall era (t :: TxLevel).
EraUTxO era =>
UTxO era -> TxBody t era -> ScriptsNeeded era
forall (t :: TxLevel).
UTxO era -> TxBody t era -> ScriptsNeeded era
getScriptsNeeded UTxO era
originalUtxo TxBody TopTx era
txBody
topScriptHashesNeeded = ScriptsNeeded era -> Set ScriptHash
forall era. EraUTxO era => ScriptsNeeded era -> Set ScriptHash
getScriptsHashesNeeded ScriptsNeeded era
topScriptsNeeded
let allScriptHashesNeeded =
[Set ScriptHash] -> Set ScriptHash
forall (f :: * -> *) a. (Foldable f, Ord a) => f (Set a) -> Set a
Set.unions ([Set ScriptHash] -> Set ScriptHash)
-> [Set ScriptHash] -> Set ScriptHash
forall a b. (a -> b) -> a -> b
$
Set ScriptHash
topScriptHashesNeeded
Set ScriptHash -> [Set ScriptHash] -> [Set ScriptHash]
forall a. a -> [a] -> [a]
: [ ScriptsNeeded era -> Set ScriptHash
forall era. EraUTxO era => ScriptsNeeded era -> Set ScriptHash
getScriptsHashesNeeded
(UTxO era -> TxBody SubTx era -> ScriptsNeeded era
forall era (t :: TxLevel).
EraUTxO era =>
UTxO era -> TxBody t era -> ScriptsNeeded era
forall (t :: TxLevel).
UTxO era -> TxBody t era -> ScriptsNeeded era
getScriptsNeeded UTxO era
originalUtxo (Tx SubTx era
subTx Tx SubTx era
-> Getting (TxBody SubTx era) (Tx SubTx era) (TxBody SubTx era)
-> TxBody SubTx era
forall s a. s -> Getting a s a -> a
^. Getting (TxBody SubTx era) (Tx SubTx era) (TxBody SubTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxBody l era)
forall (l :: TxLevel). Lens' (Tx l era) (TxBody l era)
bodyTxL))
| Tx SubTx era
subTx <- [Tx SubTx era]
subTxs
]
runTest $ validateFailedBabbageScripts tx scriptsProvided topScriptHashesNeeded
let witnessScripts =
Map ScriptHash (Script era) -> Set ScriptHash
forall k a. Map k a -> Set k
Map.keysSet (Tx TopTx era
tx Tx TopTx era
-> Getting
(Map ScriptHash (Script era))
(Tx TopTx era)
(Map ScriptHash (Script era))
-> Map ScriptHash (Script era)
forall s a. s -> Getting a s a -> a
^. (TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era))
-> Tx TopTx era
-> Const (Map ScriptHash (Script era)) (Tx TopTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxWits era)
forall (l :: TxLevel). Lens' (Tx l era) (TxWits era)
witsTxL ((TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era))
-> Tx TopTx era
-> Const (Map ScriptHash (Script era)) (Tx TopTx era))
-> ((Map ScriptHash (Script era)
-> Const
(Map ScriptHash (Script era)) (Map ScriptHash (Script era)))
-> TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era))
-> Getting
(Map ScriptHash (Script era))
(Tx TopTx era)
(Map ScriptHash (Script era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map ScriptHash (Script era)
-> Const
(Map ScriptHash (Script era)) (Map ScriptHash (Script era)))
-> TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era)
forall era.
EraTxWits era =>
Lens' (TxWits era) (Map ScriptHash (Script era))
Lens' (TxWits era) (Map ScriptHash (Script era))
scriptTxWitsL)
Set ScriptHash -> Set ScriptHash -> Set ScriptHash
forall a. Semigroup a => a -> a -> a
<> (Tx SubTx era -> Set ScriptHash)
-> [Tx SubTx era] -> Set ScriptHash
forall m a. Monoid m => (a -> m) -> [a] -> m
forall (t :: * -> *) m a.
(Foldable t, Monoid m) =>
(a -> m) -> t a -> m
foldMap (Map ScriptHash (Script era) -> Set ScriptHash
forall k a. Map k a -> Set k
Map.keysSet (Map ScriptHash (Script era) -> Set ScriptHash)
-> (Tx SubTx era -> Map ScriptHash (Script era))
-> Tx SubTx era
-> Set ScriptHash
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Tx SubTx era
-> Getting
(Map ScriptHash (Script era))
(Tx SubTx era)
(Map ScriptHash (Script era))
-> Map ScriptHash (Script era)
forall s a. s -> Getting a s a -> a
^. (TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era))
-> Tx SubTx era
-> Const (Map ScriptHash (Script era)) (Tx SubTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxWits era)
forall (l :: TxLevel). Lens' (Tx l era) (TxWits era)
witsTxL ((TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era))
-> Tx SubTx era
-> Const (Map ScriptHash (Script era)) (Tx SubTx era))
-> ((Map ScriptHash (Script era)
-> Const
(Map ScriptHash (Script era)) (Map ScriptHash (Script era)))
-> TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era))
-> Getting
(Map ScriptHash (Script era))
(Tx SubTx era)
(Map ScriptHash (Script era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map ScriptHash (Script era)
-> Const
(Map ScriptHash (Script era)) (Map ScriptHash (Script era)))
-> TxWits era -> Const (Map ScriptHash (Script era)) (TxWits era)
forall era.
EraTxWits era =>
Lens' (TxWits era) (Map ScriptHash (Script era))
Lens' (TxWits era) (Map ScriptHash (Script era))
scriptTxWitsL)) [Tx SubTx era]
subTxs
allRefScriptInputs =
TxBody TopTx era
txBody TxBody TopTx era
-> Getting (Set TxIn) (TxBody TopTx era) (Set TxIn) -> Set TxIn
forall s a. s -> Getting a s a -> a
^. Getting (Set TxIn) (TxBody TopTx era) (Set TxIn)
forall era (l :: TxLevel).
BabbageEraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
referenceInputsTxBodyL
Set TxIn -> Set TxIn -> Set TxIn
forall a. Semigroup a => a -> a -> a
<> TxBody TopTx era
txBody TxBody TopTx era
-> Getting (Set TxIn) (TxBody TopTx era) (Set TxIn) -> Set TxIn
forall s a. s -> Getting a s a -> a
^. Getting (Set TxIn) (TxBody TopTx era) (Set TxIn)
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
inputsTxBodyL
Set TxIn -> Set TxIn -> Set TxIn
forall a. Semigroup a => a -> a -> a
<> (Tx SubTx era -> Set TxIn) -> [Tx SubTx era] -> Set TxIn
forall m a. Monoid m => (a -> m) -> [a] -> m
forall (t :: * -> *) m a.
(Foldable t, Monoid m) =>
(a -> m) -> t a -> m
foldMap
( \Tx SubTx era
subTx ->
Tx SubTx era
subTx Tx SubTx era
-> Getting (Set TxIn) (Tx SubTx era) (Set TxIn) -> Set TxIn
forall s a. s -> Getting a s a -> a
^. (TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era))
-> Tx SubTx era -> Const (Set TxIn) (Tx SubTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxBody l era)
forall (l :: TxLevel). Lens' (Tx l era) (TxBody l era)
bodyTxL ((TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era))
-> Tx SubTx era -> Const (Set TxIn) (Tx SubTx era))
-> ((Set TxIn -> Const (Set TxIn) (Set TxIn))
-> TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era))
-> Getting (Set TxIn) (Tx SubTx era) (Set TxIn)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set TxIn -> Const (Set TxIn) (Set TxIn))
-> TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era)
forall era (l :: TxLevel).
BabbageEraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
referenceInputsTxBodyL
Set TxIn -> Set TxIn -> Set TxIn
forall a. Semigroup a => a -> a -> a
<> Tx SubTx era
subTx Tx SubTx era
-> Getting (Set TxIn) (Tx SubTx era) (Set TxIn) -> Set TxIn
forall s a. s -> Getting a s a -> a
^. (TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era))
-> Tx SubTx era -> Const (Set TxIn) (Tx SubTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxBody l era)
forall (l :: TxLevel). Lens' (Tx l era) (TxBody l era)
bodyTxL ((TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era))
-> Tx SubTx era -> Const (Set TxIn) (Tx SubTx era))
-> ((Set TxIn -> Const (Set TxIn) (Set TxIn))
-> TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era))
-> Getting (Set TxIn) (Tx SubTx era) (Set TxIn)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set TxIn -> Const (Set TxIn) (Set TxIn))
-> TxBody SubTx era -> Const (Set TxIn) (TxBody SubTx era)
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
inputsTxBodyL
)
[Tx SubTx era]
subTxs
refScripts = Map ScriptHash (Script era) -> Set ScriptHash
forall k a. Map k a -> Set k
Map.keysSet (Map ScriptHash (Script era) -> Set ScriptHash)
-> Map ScriptHash (Script era) -> Set ScriptHash
forall a b. (a -> b) -> a -> b
$ UTxO era -> Set TxIn -> Map ScriptHash (Script era)
forall era.
BabbageEraTxOut era =>
UTxO era -> Set TxIn -> Map ScriptHash (Script era)
getReferenceScripts UTxO era
originalUtxo Set TxIn
allRefScriptInputs
runTest $ babbageMissingScripts pp allScriptHashesNeeded refScripts witnessScripts
runTest $ missingRequiredDatums originalUtxo tx
runTest $ hasExactSetOfRedeemers tx scriptsProvided topScriptsNeeded
runTestOnSignal $ Shelley.validateVerifiedWits tx
runTest $ validateNeededWitnesses witsKeyHashes certState originalUtxo txBody
runTestOnSignal $ Shelley.validateMetadata pp tx
runTest $ validateScriptsWellFormed pp tx
let scriptIntegrity = PParams era
-> Tx TopTx era
-> ScriptsProvided era
-> Set ScriptHash
-> StrictMaybe (ScriptIntegrity era)
forall era (l :: TxLevel).
(AlonzoEraPParams era, AlonzoEraTxWits era, EraUTxO era) =>
PParams era
-> Tx l era
-> ScriptsProvided era
-> Set ScriptHash
-> StrictMaybe (ScriptIntegrity era)
mkScriptIntegrity PParams era
pp Tx TopTx era
tx ScriptsProvided era
scriptsProvided Set ScriptHash
topScriptHashesNeeded
runTest $ checkScriptIntegrityHash tx pp scriptIntegrity
let requiredGuardsBySubTxs =
(Tx SubTx era -> Set (Credential Guard))
-> [Tx SubTx era] -> Set (Credential Guard)
forall m a. Monoid m => (a -> m) -> [a] -> m
forall (t :: * -> *) m a.
(Foldable t, Monoid m) =>
(a -> m) -> t a -> m
foldMap (Map (Credential Guard) (StrictMaybe (Data era))
-> Set (Credential Guard)
forall k a. Map k a -> Set k
Map.keysSet (Map (Credential Guard) (StrictMaybe (Data era))
-> Set (Credential Guard))
-> (Tx SubTx era
-> Map (Credential Guard) (StrictMaybe (Data era)))
-> Tx SubTx era
-> Set (Credential Guard)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Tx SubTx era
-> Getting
(Map (Credential Guard) (StrictMaybe (Data era)))
(Tx SubTx era)
(Map (Credential Guard) (StrictMaybe (Data era)))
-> Map (Credential Guard) (StrictMaybe (Data era))
forall s a. s -> Getting a s a -> a
^. (TxBody SubTx era
-> Const
(Map (Credential Guard) (StrictMaybe (Data era)))
(TxBody SubTx era))
-> Tx SubTx era
-> Const
(Map (Credential Guard) (StrictMaybe (Data era))) (Tx SubTx era)
forall era (l :: TxLevel).
EraTx era =>
Lens' (Tx l era) (TxBody l era)
forall (l :: TxLevel). Lens' (Tx l era) (TxBody l era)
bodyTxL ((TxBody SubTx era
-> Const
(Map (Credential Guard) (StrictMaybe (Data era)))
(TxBody SubTx era))
-> Tx SubTx era
-> Const
(Map (Credential Guard) (StrictMaybe (Data era))) (Tx SubTx era))
-> ((Map (Credential Guard) (StrictMaybe (Data era))
-> Const
(Map (Credential Guard) (StrictMaybe (Data era)))
(Map (Credential Guard) (StrictMaybe (Data era))))
-> TxBody SubTx era
-> Const
(Map (Credential Guard) (StrictMaybe (Data era)))
(TxBody SubTx era))
-> Getting
(Map (Credential Guard) (StrictMaybe (Data era)))
(Tx SubTx era)
(Map (Credential Guard) (StrictMaybe (Data era)))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map (Credential Guard) (StrictMaybe (Data era))
-> Const
(Map (Credential Guard) (StrictMaybe (Data era)))
(Map (Credential Guard) (StrictMaybe (Data era))))
-> TxBody SubTx era
-> Const
(Map (Credential Guard) (StrictMaybe (Data era)))
(TxBody SubTx era)
forall era.
DijkstraEraTxBody era =>
Lens'
(TxBody SubTx era)
(Map (Credential Guard) (StrictMaybe (Data era)))
Lens'
(TxBody SubTx era)
(Map (Credential Guard) (StrictMaybe (Data era)))
requiredTopLevelGuardsL)) [Tx SubTx era]
subTxs
topLevelGuards = OSet (Credential Guard) -> Set (Credential Guard)
forall a. OSet a -> Set a
OSet.toSet (TxBody TopTx era
txBody TxBody TopTx era
-> Getting
(OSet (Credential Guard))
(TxBody TopTx era)
(OSet (Credential Guard))
-> OSet (Credential Guard)
forall s a. s -> Getting a s a -> a
^. Getting
(OSet (Credential Guard))
(TxBody TopTx era)
(OSet (Credential Guard))
forall era (l :: TxLevel).
DijkstraEraTxBody era =>
Lens' (TxBody l era) (OSet (Credential Guard))
forall (l :: TxLevel).
Lens' (TxBody l era) (OSet (Credential Guard))
guardsTxBodyL)
missingGuards = Set (Credential Guard)
requiredGuardsBySubTxs Set (Credential Guard)
-> Set (Credential Guard) -> Set (Credential Guard)
forall a. Ord a => Set a -> Set a -> Set a
`Set.difference` Set (Credential Guard)
topLevelGuards
runTestOnSignal $ failureOnNonEmptySet missingGuards MissingRequiredGuards
trans @(EraRule "UTXO" era) $
TRC (DijkstraUtxoEnv slot pp certState originalUtxo scriptsProvided, u, stAnnTx)
instance
forall era.
( AlonzoEraTx era
, AlonzoEraUTxO era
, ScriptsNeeded era ~ AlonzoScriptsNeeded era
, DijkstraEraTxBody era
, EraRule "UTXOW" era ~ DijkstraUTXOW era
, InjectRuleFailure "UTXOW" ShelleyUtxowPredFailure era
, InjectRuleFailure "UTXOW" AlonzoUtxowPredFailure era
, InjectRuleFailure "UTXOW" BabbageUtxowPredFailure era
, InjectRuleFailure "UTXOW" ConwayUtxowPredFailure era
, InjectRuleFailure "UTXOW" DijkstraUtxowPredFailure era
,
Embed (EraRule "UTXO" era) (DijkstraUTXOW era)
, Environment (EraRule "UTXO" era) ~ DijkstraUtxoEnv era
, State (EraRule "UTXO" era) ~ UTxOState era
, Signal (EraRule "UTXO" era) ~ StAnnTx TopTx era
, Eq (PredicateFailure (EraRule "UTXOS" era))
, Show (PredicateFailure (EraRule "UTXOS" era))
) =>
STS (DijkstraUTXOW era)
where
type State (DijkstraUTXOW era) = UTxOState era
type Signal (DijkstraUTXOW era) = StAnnTx TopTx era
type Environment (DijkstraUTXOW era) = DijkstraUtxoEnv era
type BaseM (DijkstraUTXOW era) = ShelleyBase
type PredicateFailure (DijkstraUTXOW era) = DijkstraUtxowPredFailure era
type Event (DijkstraUTXOW era) = AlonzoUtxowEvent era
transitionRules :: [TransitionRule (DijkstraUTXOW era)]
transitionRules = [forall era.
(AlonzoEraTx era, AlonzoEraUTxO era,
ScriptsNeeded era ~ AlonzoScriptsNeeded era, DijkstraEraTxBody era,
EraRule "UTXOW" era ~ DijkstraUTXOW era,
InjectRuleFailure "UTXOW" ShelleyUtxowPredFailure era,
InjectRuleFailure "UTXOW" AlonzoUtxowPredFailure era,
InjectRuleFailure "UTXOW" BabbageUtxowPredFailure era,
InjectRuleFailure "UTXOW" DijkstraUtxowPredFailure era,
Embed (EraRule "UTXO" era) (DijkstraUTXOW era),
Environment (EraRule "UTXO" era) ~ DijkstraUtxoEnv era,
State (EraRule "UTXO" era) ~ UTxOState era,
Signal (EraRule "UTXO" era) ~ StAnnTx TopTx era) =>
TransitionRule (EraRule "UTXOW" era)
dijkstraUtxowTransition @era]
initialRules :: [InitialRule (DijkstraUTXOW era)]
initialRules = []
instance
( STS (DijkstraUTXO era)
, PredicateFailure (EraRule "UTXO" era) ~ DijkstraUtxoPredFailure era
, Event (EraRule "UTXO" era) ~ AlonzoUtxoEvent era
) =>
Embed (DijkstraUTXO era) (DijkstraUTXOW era)
where
wrapFailed :: PredicateFailure (DijkstraUTXO era)
-> PredicateFailure (DijkstraUTXOW era)
wrapFailed = PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
PredicateFailure (DijkstraUTXO era)
-> PredicateFailure (DijkstraUTXOW era)
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure
wrapEvent :: Event (DijkstraUTXO era) -> Event (DijkstraUTXOW era)
wrapEvent = ShelleyUtxowEvent era -> AlonzoUtxowEvent era
forall era. ShelleyUtxowEvent era -> AlonzoUtxowEvent era
WrappedShelleyEraEvent (ShelleyUtxowEvent era -> AlonzoUtxowEvent era)
-> (AlonzoUtxoEvent era -> ShelleyUtxowEvent era)
-> AlonzoUtxoEvent era
-> AlonzoUtxowEvent era
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxoEvent era -> ShelleyUtxowEvent era
Event (EraRule "UTXO" era) -> ShelleyUtxowEvent era
forall era. Event (EraRule "UTXO" era) -> ShelleyUtxowEvent era
UtxoEvent
instance
( ConwayEraScript era
, EncCBOR (PredicateFailure (EraRule "UTXO" era))
) =>
EncCBOR (DijkstraUtxowPredFailure era)
where
encCBOR :: DijkstraUtxowPredFailure era -> Encoding
encCBOR =
Encode Open (DijkstraUtxowPredFailure era) -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode Open (DijkstraUtxowPredFailure era) -> Encoding)
-> (DijkstraUtxowPredFailure era
-> Encode Open (DijkstraUtxowPredFailure era))
-> DijkstraUtxowPredFailure era
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. \case
UtxoFailure PredicateFailure (EraRule "UTXO" era)
x -> (PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure Word
0 Encode
Open
(PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (PredicateFailure (EraRule "UTXO" era))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> PredicateFailure (EraRule "UTXO" era)
-> Encode (Closed Dense) (PredicateFailure (EraRule "UTXO" era))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To PredicateFailure (EraRule "UTXO" era)
x
InvalidWitnessesUTXOW NonEmpty (VKey Witness)
xs -> (NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era
forall era. NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era
InvalidWitnessesUTXOW Word
1 Encode
Open (NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmpty (VKey Witness))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmpty (VKey Witness)
-> Encode (Closed Dense) (NonEmpty (VKey Witness))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmpty (VKey Witness)
xs
MissingVKeyWitnessesUTXOW NonEmptySet (KeyHash Witness)
xs -> (NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era
MissingVKeyWitnessesUTXOW Word
2 Encode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet (KeyHash Witness))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet (KeyHash Witness)
-> Encode (Closed Dense) (NonEmptySet (KeyHash Witness))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet (KeyHash Witness)
xs
MissingScriptWitnessesUTXOW NonEmptySet ScriptHash
xs -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MissingScriptWitnessesUTXOW Word
3 Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet ScriptHash
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet ScriptHash
xs
ScriptWitnessNotValidatingUTXOW NonEmptySet ScriptHash
xs -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
ScriptWitnessNotValidatingUTXOW Word
4 Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet ScriptHash
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet ScriptHash
xs
MissingTxBodyMetadataHash TxAuxDataHash
xs -> (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraUtxowPredFailure era
MissingTxBodyMetadataHash Word
5 Encode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) TxAuxDataHash
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> TxAuxDataHash -> Encode (Closed Dense) TxAuxDataHash
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To TxAuxDataHash
xs
MissingTxMetadata TxAuxDataHash
xs -> (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraUtxowPredFailure era
MissingTxMetadata Word
6 Encode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) TxAuxDataHash
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> TxAuxDataHash -> Encode (Closed Dense) TxAuxDataHash
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To TxAuxDataHash
xs
ConflictingMetadataHash Mismatch RelEQ TxAuxDataHash
mm -> (Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era
ConflictingMetadataHash Word
7 Encode
Open (Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (Mismatch RelEQ TxAuxDataHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelEQ TxAuxDataHash
-> Encode (Closed Dense) (Mismatch RelEQ TxAuxDataHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelEQ TxAuxDataHash
mm
DijkstraUtxowPredFailure era
InvalidMetadata -> DijkstraUtxowPredFailure era
-> Word -> Encode Open (DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum DijkstraUtxowPredFailure era
forall era. DijkstraUtxowPredFailure era
InvalidMetadata Word
8
ExtraneousScriptWitnessesUTXOW NonEmptySet ScriptHash
xs -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
ExtraneousScriptWitnessesUTXOW Word
9 Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet ScriptHash
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet ScriptHash
xs
MissingRedeemers NonEmpty (PlutusPurpose AsItem era, ScriptHash)
x -> (NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era
MissingRedeemers Word
10 Encode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era)
-> Encode
(Closed Dense) (NonEmpty (PlutusPurpose AsItem era, ScriptHash))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> Encode
(Closed Dense) (NonEmpty (PlutusPurpose AsItem era, ScriptHash))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmpty (PlutusPurpose AsItem era, ScriptHash)
x
MissingRequiredDatums NonEmptySet DataHash
x Set DataHash
y -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
MissingRequiredDatums Word
11 Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet DataHash)
-> Encode Open (Set DataHash -> DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet DataHash
-> Encode (Closed Dense) (NonEmptySet DataHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet DataHash
x Encode Open (Set DataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (Set DataHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Set DataHash -> Encode (Closed Dense) (Set DataHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Set DataHash
y
NotAllowedSupplementalDatums NonEmptySet DataHash
x Set DataHash
y -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
NotAllowedSupplementalDatums Word
12 Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet DataHash)
-> Encode Open (Set DataHash -> DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet DataHash
-> Encode (Closed Dense) (NonEmptySet DataHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet DataHash
x Encode Open (Set DataHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (Set DataHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Set DataHash -> Encode (Closed Dense) (Set DataHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Set DataHash
y
PPViewHashesDontMatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era
PPViewHashesDontMatch Word
13 Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era)
-> Encode
(Closed Dense) (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> Encode
(Closed Dense) (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm
UnspendableUTxONoDatumHash NonEmptySet TxIn
x -> (NonEmptySet TxIn -> DijkstraUtxowPredFailure era)
-> Word
-> Encode Open (NonEmptySet TxIn -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet TxIn -> DijkstraUtxowPredFailure era
forall era. NonEmptySet TxIn -> DijkstraUtxowPredFailure era
UnspendableUTxONoDatumHash Word
14 Encode Open (NonEmptySet TxIn -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet TxIn)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet TxIn -> Encode (Closed Dense) (NonEmptySet TxIn)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet TxIn
x
ExtraRedeemers NonEmpty (PlutusPurpose AsIx era)
x -> (NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era
ExtraRedeemers Word
15 Encode
Open
(NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmpty (PlutusPurpose AsIx era))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmpty (PlutusPurpose AsIx era)
-> Encode (Closed Dense) (NonEmpty (PlutusPurpose AsIx era))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmpty (PlutusPurpose AsIx era)
x
MalformedScriptWitnesses NonEmptySet ScriptHash
x -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MalformedScriptWitnesses Word
16 Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet ScriptHash
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet ScriptHash
x
MalformedReferenceScripts NonEmptySet ScriptHash
x -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MalformedReferenceScripts Word
17 Encode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet ScriptHash
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet ScriptHash
x
ScriptIntegrityHashMismatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
x StrictMaybe ByteString
y -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era
ScriptIntegrityHashMismatch Word
18 Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
-> Encode
(Closed Dense) (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Encode
Open (StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> Encode
(Closed Dense) (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
x Encode
Open (StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (StrictMaybe ByteString)
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> StrictMaybe ByteString
-> Encode (Closed Dense) (StrictMaybe ByteString)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To StrictMaybe ByteString
y
MissingRequiredGuards NonEmptySet (Credential Guard)
x -> (NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era
MissingRequiredGuards Word
19 Encode
Open
(NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet (Credential Guard))
-> Encode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> NonEmptySet (Credential Guard)
-> Encode (Closed Dense) (NonEmptySet (Credential Guard))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To NonEmptySet (Credential Guard)
x
instance
( ConwayEraScript era
, DecCBOR (PredicateFailure (EraRule "UTXO" era))
) =>
DecCBOR (DijkstraUtxowPredFailure era)
where
decCBOR :: forall s. Decoder s (DijkstraUtxowPredFailure era)
decCBOR = Decode (Closed Dense) (DijkstraUtxowPredFailure era)
-> Decoder s (DijkstraUtxowPredFailure era)
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) (DijkstraUtxowPredFailure era)
-> Decoder s (DijkstraUtxowPredFailure era))
-> ((Word -> Decode Open (DijkstraUtxowPredFailure era))
-> Decode (Closed Dense) (DijkstraUtxowPredFailure era))
-> (Word -> Decode Open (DijkstraUtxowPredFailure era))
-> Decoder s (DijkstraUtxowPredFailure era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text
-> (Word -> Decode Open (DijkstraUtxowPredFailure era))
-> Decode (Closed Dense) (DijkstraUtxowPredFailure era)
forall t.
Text -> (Word -> Decode Open t) -> Decode (Closed Dense) t
Summands Text
"ConwayUtxowPred" ((Word -> Decode Open (DijkstraUtxowPredFailure era))
-> Decoder s (DijkstraUtxowPredFailure era))
-> (Word -> Decode Open (DijkstraUtxowPredFailure era))
-> Decoder s (DijkstraUtxowPredFailure era)
forall a b. (a -> b) -> a -> b
$ \case
Word
0 -> (PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era)
-> Decode
Open
(PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure Decode
Open
(PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 0)) (PredicateFailure (EraRule "UTXO" era))
-> Decode Open (DijkstraUtxowPredFailure 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 "UTXO" era))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
1 -> (NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era)
-> Decode
Open (NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era
forall era. NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era
InvalidWitnessesUTXOW Decode
Open (NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 1)) (NonEmpty (VKey Witness))
-> Decode Open (DijkstraUtxowPredFailure 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)) (NonEmpty (VKey Witness))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
2 -> (NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era)
-> Decode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era
MissingVKeyWitnessesUTXOW Decode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 2)) (NonEmptySet (KeyHash Witness))
-> Decode Open (DijkstraUtxowPredFailure 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)) (NonEmptySet (KeyHash Witness))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
3 -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MissingScriptWitnessesUTXOW Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 3)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraUtxowPredFailure 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)) (NonEmptySet ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
4 -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
ScriptWitnessNotValidatingUTXOW Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 4)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraUtxowPredFailure 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)) (NonEmptySet ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
5 -> (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Decode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraUtxowPredFailure era
MissingTxBodyMetadataHash Decode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 5)) TxAuxDataHash
-> Decode Open (DijkstraUtxowPredFailure 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)) TxAuxDataHash
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
6 -> (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Decode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraUtxowPredFailure era
MissingTxMetadata Decode Open (TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 6)) TxAuxDataHash
-> Decode Open (DijkstraUtxowPredFailure 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)) TxAuxDataHash
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
7 -> (Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Decode
Open (Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era
ConflictingMetadataHash Decode
Open (Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 7)) (Mismatch RelEQ TxAuxDataHash)
-> Decode Open (DijkstraUtxowPredFailure 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)) (Mismatch RelEQ TxAuxDataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
8 -> DijkstraUtxowPredFailure era
-> Decode Open (DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD DijkstraUtxowPredFailure era
forall era. DijkstraUtxowPredFailure era
InvalidMetadata
Word
9 -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
ExtraneousScriptWitnessesUTXOW Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 8)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraUtxowPredFailure 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)) (NonEmptySet ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
10 -> (NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era)
-> Decode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era
MissingRedeemers Decode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 9))
(NonEmpty (PlutusPurpose AsItem era, ScriptHash))
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode
(Closed (ZonkAny 9))
(NonEmpty (PlutusPurpose AsItem era, ScriptHash))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
11 -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
MissingRequiredDatums Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 11)) (NonEmptySet DataHash)
-> Decode Open (Set DataHash -> DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 11)) (NonEmptySet DataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From Decode Open (Set DataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 10)) (Set DataHash)
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 10)) (Set DataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
12 -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
NotAllowedSupplementalDatums Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 13)) (NonEmptySet DataHash)
-> Decode Open (Set DataHash -> DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 13)) (NonEmptySet DataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From Decode Open (Set DataHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 12)) (Set DataHash)
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 12)) (Set DataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
13 -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era)
-> Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era
PPViewHashesDontMatch Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 14))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode
(Closed (ZonkAny 14))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
14 -> (NonEmptySet TxIn -> DijkstraUtxowPredFailure era)
-> Decode Open (NonEmptySet TxIn -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet TxIn -> DijkstraUtxowPredFailure era
forall era. NonEmptySet TxIn -> DijkstraUtxowPredFailure era
UnspendableUTxONoDatumHash Decode Open (NonEmptySet TxIn -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 15)) (NonEmptySet TxIn)
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 15)) (NonEmptySet TxIn)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
15 -> (NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era)
-> Decode
Open
(NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era
ExtraRedeemers Decode
Open
(NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 16)) (NonEmpty (PlutusPurpose AsIx era))
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 16)) (NonEmpty (PlutusPurpose AsIx era))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
16 -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MalformedScriptWitnesses Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 17)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 17)) (NonEmptySet ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
17 -> (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MalformedReferenceScripts Decode
Open (NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 18)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 18)) (NonEmptySet ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
18 -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
-> Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era
ScriptIntegrityHashMismatch Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 20))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Decode
Open (StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode
(Closed (ZonkAny 20))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From Decode
Open (StrictMaybe ByteString -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 19)) (StrictMaybe ByteString)
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 19)) (StrictMaybe ByteString)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
19 -> (NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era)
-> Decode
Open
(NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era
MissingRequiredGuards Decode
Open
(NonEmptySet (Credential Guard) -> DijkstraUtxowPredFailure era)
-> Decode (Closed (ZonkAny 21)) (NonEmptySet (Credential Guard))
-> Decode Open (DijkstraUtxowPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 21)) (NonEmptySet (Credential Guard))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
n -> Word -> Decode Open (DijkstraUtxowPredFailure era)
forall (w :: Wrapped) t. Word -> Decode w t
Invalid Word
n
conwayToDijkstraUtxowPredFailure ::
forall era.
ConwayUtxowPredFailure era ->
DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure :: forall era.
ConwayUtxowPredFailure era -> DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure = \case
Conway.UtxoFailure PredicateFailure (EraRule "UTXO" era)
f -> PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
forall era.
PredicateFailure (EraRule "UTXO" era)
-> DijkstraUtxowPredFailure era
UtxoFailure PredicateFailure (EraRule "UTXO" era)
f
Conway.InvalidWitnessesUTXOW NonEmpty (VKey Witness)
ks -> NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era
forall era. NonEmpty (VKey Witness) -> DijkstraUtxowPredFailure era
InvalidWitnessesUTXOW NonEmpty (VKey Witness)
ks
Conway.MissingVKeyWitnessesUTXOW NonEmptySet (KeyHash Witness)
ks -> NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet (KeyHash Witness) -> DijkstraUtxowPredFailure era
MissingVKeyWitnessesUTXOW NonEmptySet (KeyHash Witness)
ks
Conway.MissingScriptWitnessesUTXOW NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MissingScriptWitnessesUTXOW NonEmptySet ScriptHash
hs
Conway.ScriptWitnessNotValidatingUTXOW NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
ScriptWitnessNotValidatingUTXOW NonEmptySet ScriptHash
hs
Conway.MissingTxBodyMetadataHash TxAuxDataHash
dh -> TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraUtxowPredFailure era
MissingTxBodyMetadataHash TxAuxDataHash
dh
Conway.MissingTxMetadata TxAuxDataHash
dh -> TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraUtxowPredFailure era
MissingTxMetadata TxAuxDataHash
dh
Conway.ConflictingMetadataHash Mismatch RelEQ TxAuxDataHash
mm -> Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ TxAuxDataHash -> DijkstraUtxowPredFailure era
ConflictingMetadataHash Mismatch RelEQ TxAuxDataHash
mm
ConwayUtxowPredFailure era
Conway.InvalidMetadata -> DijkstraUtxowPredFailure era
forall era. DijkstraUtxowPredFailure era
InvalidMetadata
Conway.ExtraneousScriptWitnessesUTXOW NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
ExtraneousScriptWitnessesUTXOW NonEmptySet ScriptHash
hs
Conway.MissingRedeemers NonEmpty (PlutusPurpose AsItem era, ScriptHash)
pps -> NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraUtxowPredFailure era
MissingRedeemers NonEmpty (PlutusPurpose AsItem era, ScriptHash)
pps
Conway.MissingRequiredDatums NonEmptySet DataHash
hs1 Set DataHash
hs2 -> NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
MissingRequiredDatums NonEmptySet DataHash
hs1 Set DataHash
hs2
Conway.NotAllowedSupplementalDatums NonEmptySet DataHash
hs1 Set DataHash
hs2 -> NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraUtxowPredFailure era
NotAllowedSupplementalDatums NonEmptySet DataHash
hs1 Set DataHash
hs2
Conway.PPViewHashesDontMatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm -> Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraUtxowPredFailure era
PPViewHashesDontMatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm
Conway.UnspendableUTxONoDatumHash NonEmptySet TxIn
txs -> NonEmptySet TxIn -> DijkstraUtxowPredFailure era
forall era. NonEmptySet TxIn -> DijkstraUtxowPredFailure era
UnspendableUTxONoDatumHash NonEmptySet TxIn
txs
Conway.ExtraRedeemers NonEmpty (PlutusPurpose AsIx era)
pps -> NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsIx era) -> DijkstraUtxowPredFailure era
ExtraRedeemers NonEmpty (PlutusPurpose AsIx era)
pps
Conway.MalformedScriptWitnesses NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MalformedScriptWitnesses NonEmptySet ScriptHash
hs
Conway.MalformedReferenceScripts NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
forall era. NonEmptySet ScriptHash -> DijkstraUtxowPredFailure era
MalformedReferenceScripts NonEmptySet ScriptHash
hs
Conway.ScriptIntegrityHashMismatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm StrictMaybe ByteString
f -> Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraUtxowPredFailure era
ScriptIntegrityHashMismatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm StrictMaybe ByteString
f