{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE EmptyDataDeriving #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Dijkstra.Rules.SubUtxow (
DijkstraSUBUTXOW,
DijkstraSubUtxowPredFailure (..),
DijkstraSubUtxowEvent (..),
SubUtxowEnv (..),
) where
import Cardano.Crypto.Hash (ByteString)
import Cardano.Ledger.Alonzo.Plutus.Context (EraPlutusContext)
import Cardano.Ledger.Alonzo.Rules (AlonzoUtxowPredFailure)
import qualified Cardano.Ledger.Alonzo.Rules as Alonzo (
checkScriptIntegrityHash,
hasExactSetOfRedeemers,
missingRequiredDatums,
)
import Cardano.Ledger.Alonzo.UTxO (AlonzoEraUTxO (..), AlonzoScriptsNeeded)
import Cardano.Ledger.Babbage.Rules (BabbageUtxowPredFailure)
import qualified Cardano.Ledger.Babbage.Rules as Babbage (
validateFailedBabbageScripts,
validateScriptsWellFormedTxOuts,
)
import Cardano.Ledger.Babbage.Tx (mkScriptIntegrity)
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.Binary (
DecCBOR (..),
EncCBOR (..),
)
import Cardano.Ledger.Binary.Coders
import Cardano.Ledger.Conway.Core
import Cardano.Ledger.Conway.Governance
import Cardano.Ledger.Conway.Rules (
ConwayUtxowPredFailure,
UtxoEnv (..),
alonzoToConwayUtxowPredFailure,
babbageToConwayUtxowPredFailure,
shelleyToConwayUtxowPredFailure,
)
import Cardano.Ledger.Dijkstra.Era (
DijkstraEra,
DijkstraSUBUTXOW,
)
import Cardano.Ledger.Dijkstra.Rules.SubUtxo
import Cardano.Ledger.Dijkstra.Rules.Utxo (DijkstraUtxoPredFailure (..))
import Cardano.Ledger.Dijkstra.Rules.Utxow (
DijkstraUtxowPredFailure (..),
conwayToDijkstraUtxowPredFailure,
)
import Cardano.Ledger.Keys (VKey)
import Cardano.Ledger.Rules.ValidationMode
import Cardano.Ledger.Shelley.LedgerState (UTxOState, utxosUtxo)
import Cardano.Ledger.Shelley.Rules (ShelleyUtxowPredFailure)
import qualified Cardano.Ledger.Shelley.Rules as Shelley (
validateMetadata,
validateNeededWitnesses,
validateVerifiedWits,
)
import Cardano.Ledger.State (CertState, EraUTxO (..), ScriptsProvided (..))
import Cardano.Ledger.TxIn (TxIn)
import Control.DeepSeq (NFData)
import Control.State.Transition.Extended
import Data.List.NonEmpty (NonEmpty)
import Data.Set (Set)
import Data.Set.NonEmpty (NonEmptySet)
import GHC.Generics (Generic)
import Lens.Micro
import NoThunks.Class (
InspectHeapNamed (..),
NoThunks (..),
)
data SubUtxowEnv era = SubUtxowEnv
{ forall era. SubUtxowEnv era -> SlotNo
sueSlot :: SlotNo
, forall era. SubUtxowEnv era -> PParams era
suePParams :: PParams era
, forall era. SubUtxowEnv era -> CertState era
sueCertState :: CertState era
, forall era. SubUtxowEnv era -> ScriptsProvided era
sueScriptsProvided :: ScriptsProvided era
}
data DijkstraSubUtxowPredFailure era
= SubUtxoFailure (PredicateFailure (EraRule "SUBUTXO" era))
| SubInvalidWitnessesUTXOW (NonEmpty (VKey Witness))
|
SubMissingVKeyWitnessesUTXOW
(NonEmptySet (KeyHash Witness))
|
SubScriptWitnessNotValidatingUTXOW (NonEmptySet ScriptHash)
|
SubMissingTxBodyMetadataHash TxAuxDataHash
|
SubMissingTxMetadata TxAuxDataHash
| SubConflictingMetadataHash (Mismatch RelEQ TxAuxDataHash)
|
SubInvalidMetadata
| SubMissingRedeemers (NonEmpty (PlutusPurpose AsItem era, ScriptHash))
| SubMissingRequiredDatums
(NonEmptySet DataHash)
(Set DataHash)
| SubNotAllowedSupplementalDatums
(NonEmptySet DataHash)
(Set DataHash)
| SubPPViewHashesDontMatch
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
|
SubUnspendableUTxONoDatumHash
(NonEmptySet TxIn)
|
(NonEmpty (PlutusPurpose AsIx era))
|
SubMalformedScriptWitnesses (NonEmptySet ScriptHash)
|
SubMalformedReferenceScripts (NonEmptySet ScriptHash)
|
SubScriptIntegrityHashMismatch
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
(StrictMaybe ByteString)
deriving ((forall x.
DijkstraSubUtxowPredFailure era
-> Rep (DijkstraSubUtxowPredFailure era) x)
-> (forall x.
Rep (DijkstraSubUtxowPredFailure era) x
-> DijkstraSubUtxowPredFailure era)
-> Generic (DijkstraSubUtxowPredFailure era)
forall x.
Rep (DijkstraSubUtxowPredFailure era) x
-> DijkstraSubUtxowPredFailure era
forall x.
DijkstraSubUtxowPredFailure era
-> Rep (DijkstraSubUtxowPredFailure era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall era x.
Rep (DijkstraSubUtxowPredFailure era) x
-> DijkstraSubUtxowPredFailure era
forall era x.
DijkstraSubUtxowPredFailure era
-> Rep (DijkstraSubUtxowPredFailure era) x
$cfrom :: forall era x.
DijkstraSubUtxowPredFailure era
-> Rep (DijkstraSubUtxowPredFailure era) x
from :: forall x.
DijkstraSubUtxowPredFailure era
-> Rep (DijkstraSubUtxowPredFailure era) x
$cto :: forall era x.
Rep (DijkstraSubUtxowPredFailure era) x
-> DijkstraSubUtxowPredFailure era
to :: forall x.
Rep (DijkstraSubUtxowPredFailure era) x
-> DijkstraSubUtxowPredFailure era
Generic)
deriving stock instance
( ConwayEraScript era
, Eq (PredicateFailure (EraRule "SUBUTXO" era))
) =>
Eq (DijkstraSubUtxowPredFailure era)
deriving stock instance
( ConwayEraScript era
, Show (PredicateFailure (EraRule "SUBUTXO" era))
) =>
Show (DijkstraSubUtxowPredFailure era)
deriving via
InspectHeapNamed "DijkstraSubUtxowPred" (DijkstraSubUtxowPredFailure era)
instance
NoThunks (DijkstraSubUtxowPredFailure era)
instance
( ConwayEraScript era
, NFData (TxCert era)
, NFData (PredicateFailure (EraRule "SUBUTXO" era))
) =>
NFData (DijkstraSubUtxowPredFailure era)
type instance EraRuleFailure "SUBUTXOW" DijkstraEra = DijkstraSubUtxowPredFailure DijkstraEra
type instance EraRuleEvent "SUBUTXOW" DijkstraEra = DijkstraSubUtxowEvent DijkstraEra
instance InjectRuleFailure "SUBUTXOW" DijkstraSubUtxowPredFailure DijkstraEra
instance InjectRuleFailure "SUBUTXOW" DijkstraSubUtxoPredFailure DijkstraEra where
injectFailure :: DijkstraSubUtxoPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
injectFailure = PredicateFailure (EraRule "SUBUTXO" DijkstraEra)
-> DijkstraSubUtxowPredFailure DijkstraEra
DijkstraSubUtxoPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
forall era.
PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
SubUtxoFailure
instance InjectRuleFailure "SUBUTXOW" DijkstraUtxowPredFailure DijkstraEra where
injectFailure :: DijkstraUtxowPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
injectFailure = DijkstraUtxowPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall era.
(InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era,
PredicateFailure (EraRule "UTXO" era)
~ DijkstraUtxoPredFailure era) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure
instance InjectRuleFailure "SUBUTXOW" ConwayUtxowPredFailure DijkstraEra where
injectFailure :: ConwayUtxowPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
injectFailure = DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall era.
(InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era,
PredicateFailure (EraRule "UTXO" era)
~ DijkstraUtxoPredFailure era) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure (DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra)
-> (ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> ConwayUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra
forall era.
ConwayUtxowPredFailure era -> DijkstraUtxowPredFailure era
conwayToDijkstraUtxowPredFailure
instance InjectRuleFailure "SUBUTXOW" BabbageUtxowPredFailure DijkstraEra where
injectFailure :: BabbageUtxowPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
injectFailure =
DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall era.
(InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era,
PredicateFailure (EraRule "UTXO" era)
~ DijkstraUtxoPredFailure era) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure
(DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra)
-> (BabbageUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> BabbageUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. 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 "SUBUTXOW" AlonzoUtxowPredFailure DijkstraEra where
injectFailure :: AlonzoUtxowPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
injectFailure =
DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall era.
(InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era,
PredicateFailure (EraRule "UTXO" era)
~ DijkstraUtxoPredFailure era) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure
(DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra)
-> (AlonzoUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> AlonzoUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. 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 "SUBUTXOW" ShelleyUtxowPredFailure DijkstraEra where
injectFailure :: ShelleyUtxowPredFailure DijkstraEra
-> EraRuleFailure "SUBUTXOW" DijkstraEra
injectFailure =
DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall era.
(InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era,
PredicateFailure (EraRule "UTXO" era)
~ DijkstraUtxoPredFailure era) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure
(DijkstraUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra)
-> (ShelleyUtxowPredFailure DijkstraEra
-> DijkstraUtxowPredFailure DijkstraEra)
-> ShelleyUtxowPredFailure DijkstraEra
-> DijkstraSubUtxowPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. 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 InjectRuleEvent "SUBUTXOW" DijkstraSubUtxowEvent DijkstraEra
newtype DijkstraSubUtxowEvent era = SubUtxo (Event (EraRule "SUBUTXO" era))
deriving ((forall x.
DijkstraSubUtxowEvent era -> Rep (DijkstraSubUtxowEvent era) x)
-> (forall x.
Rep (DijkstraSubUtxowEvent era) x -> DijkstraSubUtxowEvent era)
-> Generic (DijkstraSubUtxowEvent era)
forall x.
Rep (DijkstraSubUtxowEvent era) x -> DijkstraSubUtxowEvent era
forall x.
DijkstraSubUtxowEvent era -> Rep (DijkstraSubUtxowEvent era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall era x.
Rep (DijkstraSubUtxowEvent era) x -> DijkstraSubUtxowEvent era
forall era x.
DijkstraSubUtxowEvent era -> Rep (DijkstraSubUtxowEvent era) x
$cfrom :: forall era x.
DijkstraSubUtxowEvent era -> Rep (DijkstraSubUtxowEvent era) x
from :: forall x.
DijkstraSubUtxowEvent era -> Rep (DijkstraSubUtxowEvent era) x
$cto :: forall era x.
Rep (DijkstraSubUtxowEvent era) x -> DijkstraSubUtxowEvent era
to :: forall x.
Rep (DijkstraSubUtxowEvent era) x -> DijkstraSubUtxowEvent era
Generic)
deriving instance Eq (Event (EraRule "SUBUTXO" era)) => Eq (DijkstraSubUtxowEvent era)
instance NFData (Event (EraRule "SUBUTXO" era)) => NFData (DijkstraSubUtxowEvent era)
instance
( AlonzoEraTx era
, AlonzoEraUTxO era
, BabbageEraTxOut era
, ConwayEraGov era
, ConwayEraTxBody era
, EraPlutusContext era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, Embed (EraRule "SUBUTXO" era) (DijkstraSUBUTXOW era)
, InjectRuleFailure "SUBUTXOW" AlonzoUtxowPredFailure era
, InjectRuleFailure "SUBUTXOW" ShelleyUtxowPredFailure era
, InjectRuleFailure "SUBUTXOW" BabbageUtxowPredFailure era
, ScriptsNeeded era ~ AlonzoScriptsNeeded era
) =>
STS (DijkstraSUBUTXOW era)
where
type State (DijkstraSUBUTXOW era) = UTxOState era
type Signal (DijkstraSUBUTXOW era) = Tx SubTx era
type Environment (DijkstraSUBUTXOW era) = SubUtxowEnv era
type BaseM (DijkstraSUBUTXOW era) = ShelleyBase
type PredicateFailure (DijkstraSUBUTXOW era) = DijkstraSubUtxowPredFailure era
type Event (DijkstraSUBUTXOW era) = DijkstraSubUtxowEvent era
transitionRules :: [TransitionRule (DijkstraSUBUTXOW era)]
transitionRules = [forall era.
(AlonzoEraTx era, AlonzoEraUTxO era, BabbageEraTxOut era,
EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era,
EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era,
Embed (EraRule "SUBUTXO" era) (DijkstraSUBUTXOW era),
InjectRuleFailure "SUBUTXOW" AlonzoUtxowPredFailure era,
InjectRuleFailure "SUBUTXOW" ShelleyUtxowPredFailure era,
InjectRuleFailure "SUBUTXOW" BabbageUtxowPredFailure era,
ScriptsNeeded era ~ AlonzoScriptsNeeded era) =>
TransitionRule (EraRule "SUBUTXOW" era)
dijkstraSubUtxowTransition @era]
dijkstraSubUtxowTransition ::
forall era.
( AlonzoEraTx era
, AlonzoEraUTxO era
, BabbageEraTxOut era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, Embed (EraRule "SUBUTXO" era) (DijkstraSUBUTXOW era)
, InjectRuleFailure "SUBUTXOW" AlonzoUtxowPredFailure era
, InjectRuleFailure "SUBUTXOW" ShelleyUtxowPredFailure era
, InjectRuleFailure "SUBUTXOW" BabbageUtxowPredFailure era
, ScriptsNeeded era ~ AlonzoScriptsNeeded era
) =>
TransitionRule (EraRule "SUBUTXOW" era)
dijkstraSubUtxowTransition :: forall era.
(AlonzoEraTx era, AlonzoEraUTxO era, BabbageEraTxOut era,
EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era,
EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era,
Embed (EraRule "SUBUTXO" era) (DijkstraSUBUTXOW era),
InjectRuleFailure "SUBUTXOW" AlonzoUtxowPredFailure era,
InjectRuleFailure "SUBUTXOW" ShelleyUtxowPredFailure era,
InjectRuleFailure "SUBUTXOW" BabbageUtxowPredFailure era,
ScriptsNeeded era ~ AlonzoScriptsNeeded era) =>
TransitionRule (EraRule "SUBUTXOW" era)
dijkstraSubUtxowTransition = do
TRC (SubUtxowEnv slot pp certState scriptsProvided, utxoState, tx) <- Rule
(DijkstraSUBUTXOW era)
'Transition
(RuleContext 'Transition (DijkstraSUBUTXOW era))
F (Clause (DijkstraSUBUTXOW era) 'Transition)
(TRC (DijkstraSUBUTXOW era))
forall sts (rtype :: RuleType).
Rule sts rtype (RuleContext rtype sts)
judgmentContext
let utxo = UTxOState era -> UTxO era
forall era. UTxOState era -> UTxO era
utxosUtxo State (DijkstraSUBUTXOW era)
UTxOState era
utxoState
txBody = Tx SubTx era
Signal (DijkstraSUBUTXOW era)
tx 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
witsKeyHashes = TxWits era -> Set (KeyHash Witness)
forall era. EraTxWits era => TxWits era -> Set (KeyHash Witness)
keyHashWitnessesTxWits (Tx SubTx era
Signal (DijkstraSUBUTXOW era)
tx Tx SubTx era
-> Getting (TxWits era) (Tx SubTx era) (TxWits era) -> TxWits era
forall s a. s -> Getting a s a -> a
^. Getting (TxWits era) (Tx SubTx 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)
runTestOnSignal $ Shelley.validateVerifiedWits tx
let scriptsNeeded = 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
utxo TxBody SubTx era
txBody
scriptHashesNeeded = ScriptsNeeded era -> Set ScriptHash
forall era. EraUTxO era => ScriptsNeeded era -> Set ScriptHash
getScriptsHashesNeeded ScriptsNeeded era
scriptsNeeded
runTest $ Babbage.validateFailedBabbageScripts tx scriptsProvided scriptHashesNeeded
runTest $ Shelley.validateNeededWitnesses witsKeyHashes certState utxo txBody
runTest $ Alonzo.missingRequiredDatums utxo tx
runTestOnSignal $ Shelley.validateMetadata pp tx
let scriptIntegrity = PParams era
-> Tx SubTx 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 SubTx era
Signal (DijkstraSUBUTXOW era)
tx ScriptsProvided era
scriptsProvided Set ScriptHash
scriptHashesNeeded
runTest $ Alonzo.checkScriptIntegrityHash tx pp scriptIntegrity
runTest $ Alonzo.hasExactSetOfRedeemers tx scriptsProvided scriptsNeeded
runTest $
Babbage.validateScriptsWellFormedTxOuts
pp
(tx ^. witsTxL . scriptTxWitsL)
(tx ^. bodyTxL . outputsTxBodyL)
trans @(EraRule "SUBUTXO" era) $ TRC (UtxoEnv slot pp certState, utxoState, tx)
instance
( ConwayEraGov era
, ConwayEraTxBody era
, EraPlutusContext era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
) =>
Embed (DijkstraSUBUTXO era) (DijkstraSUBUTXOW era)
where
wrapFailed :: PredicateFailure (DijkstraSUBUTXO era)
-> PredicateFailure (DijkstraSUBUTXOW era)
wrapFailed = PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
PredicateFailure (DijkstraSUBUTXO era)
-> PredicateFailure (DijkstraSUBUTXOW era)
forall era.
PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
SubUtxoFailure
wrapEvent :: Event (DijkstraSUBUTXO era) -> Event (DijkstraSUBUTXOW era)
wrapEvent = Event (EraRule "SUBUTXO" era) -> DijkstraSubUtxowEvent era
Event (DijkstraSUBUTXO era) -> Event (DijkstraSUBUTXOW era)
forall era.
Event (EraRule "SUBUTXO" era) -> DijkstraSubUtxowEvent era
SubUtxo
instance
( ConwayEraScript era
, EncCBOR (PredicateFailure (EraRule "SUBUTXO" era))
) =>
EncCBOR (DijkstraSubUtxowPredFailure era)
where
encCBOR :: DijkstraSubUtxowPredFailure era -> Encoding
encCBOR =
Encode Open (DijkstraSubUtxowPredFailure era) -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode Open (DijkstraSubUtxowPredFailure era) -> Encoding)
-> (DijkstraSubUtxowPredFailure era
-> Encode Open (DijkstraSubUtxowPredFailure era))
-> DijkstraSubUtxowPredFailure era
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. \case
SubUtxoFailure PredicateFailure (EraRule "SUBUTXO" era)
x -> (PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
forall era.
PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
SubUtxoFailure Word
0 Encode
Open
(PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (PredicateFailure (EraRule "SUBUTXO" era))
-> Encode Open (DijkstraSubUtxowPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> PredicateFailure (EraRule "SUBUTXO" era)
-> Encode (Closed Dense) (PredicateFailure (EraRule "SUBUTXO" era))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To PredicateFailure (EraRule "SUBUTXO" era)
x
SubInvalidWitnessesUTXOW NonEmpty (VKey Witness)
xs -> (NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era
SubInvalidWitnessesUTXOW Word
1 Encode
Open (NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmpty (VKey Witness))
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubMissingVKeyWitnessesUTXOW NonEmptySet (KeyHash Witness)
xs -> (NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era
SubMissingVKeyWitnessesUTXOW Word
2 Encode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet (KeyHash Witness))
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubScriptWitnessNotValidatingUTXOW NonEmptySet ScriptHash
xs -> (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubScriptWitnessNotValidatingUTXOW Word
3 Encode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubMissingTxBodyMetadataHash TxAuxDataHash
xs -> (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubMissingTxBodyMetadataHash Word
4 Encode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) TxAuxDataHash
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubMissingTxMetadata TxAuxDataHash
xs -> (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubMissingTxMetadata Word
5 Encode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) TxAuxDataHash
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubConflictingMetadataHash Mismatch RelEQ TxAuxDataHash
mm -> (Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubConflictingMetadataHash Word
6 Encode
Open
(Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (Mismatch RelEQ TxAuxDataHash)
-> Encode Open (DijkstraSubUtxowPredFailure 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
DijkstraSubUtxowPredFailure era
SubInvalidMetadata -> DijkstraSubUtxowPredFailure era
-> Word -> Encode Open (DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum DijkstraSubUtxowPredFailure era
forall era. DijkstraSubUtxowPredFailure era
SubInvalidMetadata Word
7
SubMissingRedeemers NonEmpty (PlutusPurpose AsItem era, ScriptHash)
x -> (NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era
SubMissingRedeemers Word
8 Encode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era)
-> Encode
(Closed Dense) (NonEmpty (PlutusPurpose AsItem era, ScriptHash))
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubMissingRequiredDatums NonEmptySet DataHash
x Set DataHash
y -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
SubMissingRequiredDatums Word
9 Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet DataHash)
-> Encode Open (Set DataHash -> DijkstraSubUtxowPredFailure 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 -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (Set DataHash)
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubNotAllowedSupplementalDatums NonEmptySet DataHash
x Set DataHash
y -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
SubNotAllowedSupplementalDatums Word
10 Encode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet DataHash)
-> Encode Open (Set DataHash -> DijkstraSubUtxowPredFailure 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 -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (Set DataHash)
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubPPViewHashesDontMatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era
SubPPViewHashesDontMatch Word
11 Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era)
-> Encode
(Closed Dense) (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubUnspendableUTxONoDatumHash NonEmptySet TxIn
x -> (NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era
forall era. NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era
SubUnspendableUTxONoDatumHash Word
12 Encode Open (NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet TxIn)
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubExtraRedeemers NonEmpty (PlutusPurpose AsIx era)
x -> (NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era
SubExtraRedeemers Word
13 Encode
Open
(NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmpty (PlutusPurpose AsIx era))
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubMalformedScriptWitnesses NonEmptySet ScriptHash
x -> (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubMalformedScriptWitnesses Word
14 Encode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubMalformedReferenceScripts NonEmptySet ScriptHash
x -> (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubMalformedReferenceScripts Word
15 Encode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (NonEmptySet ScriptHash)
-> Encode Open (DijkstraSubUtxowPredFailure 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
SubScriptIntegrityHashMismatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
x StrictMaybe ByteString
y -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
-> Word
-> Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era
SubScriptIntegrityHashMismatch Word
16 Encode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
-> Encode
(Closed Dense) (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Encode
Open (StrictMaybe ByteString -> DijkstraSubUtxowPredFailure 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 -> DijkstraSubUtxowPredFailure era)
-> Encode (Closed Dense) (StrictMaybe ByteString)
-> Encode Open (DijkstraSubUtxowPredFailure 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
instance
( ConwayEraScript era
, DecCBOR (PredicateFailure (EraRule "SUBUTXO" era))
) =>
DecCBOR (DijkstraSubUtxowPredFailure era)
where
decCBOR :: forall s. Decoder s (DijkstraSubUtxowPredFailure era)
decCBOR = Decode (Closed Dense) (DijkstraSubUtxowPredFailure era)
-> Decoder s (DijkstraSubUtxowPredFailure era)
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) (DijkstraSubUtxowPredFailure era)
-> Decoder s (DijkstraSubUtxowPredFailure era))
-> ((Word -> Decode Open (DijkstraSubUtxowPredFailure era))
-> Decode (Closed Dense) (DijkstraSubUtxowPredFailure era))
-> (Word -> Decode Open (DijkstraSubUtxowPredFailure era))
-> Decoder s (DijkstraSubUtxowPredFailure era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text
-> (Word -> Decode Open (DijkstraSubUtxowPredFailure era))
-> Decode (Closed Dense) (DijkstraSubUtxowPredFailure era)
forall t.
Text -> (Word -> Decode Open t) -> Decode (Closed Dense) t
Summands Text
"DijkstraUtxowPred" ((Word -> Decode Open (DijkstraSubUtxowPredFailure era))
-> Decoder s (DijkstraSubUtxowPredFailure era))
-> (Word -> Decode Open (DijkstraSubUtxowPredFailure era))
-> Decoder s (DijkstraSubUtxowPredFailure era)
forall a b. (a -> b) -> a -> b
$ \case
Word
0 -> (PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
forall era.
PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
SubUtxoFailure Decode
Open
(PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 0)) (PredicateFailure (EraRule "SUBUTXO" era))
-> Decode Open (DijkstraSubUtxowPredFailure 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 "SUBUTXO" era))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
1 -> (NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era)
-> Decode
Open (NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era
SubInvalidWitnessesUTXOW Decode
Open (NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 1)) (NonEmpty (VKey Witness))
-> Decode Open (DijkstraSubUtxowPredFailure 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) -> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era
SubMissingVKeyWitnessesUTXOW Decode
Open
(NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 2)) (NonEmptySet (KeyHash Witness))
-> Decode Open (DijkstraSubUtxowPredFailure 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 -> DijkstraSubUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubScriptWitnessNotValidatingUTXOW Decode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 3)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraSubUtxowPredFailure 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 -> (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Decode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubMissingTxBodyMetadataHash Decode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 4)) TxAuxDataHash
-> Decode Open (DijkstraSubUtxowPredFailure 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)) TxAuxDataHash
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
5 -> (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Decode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubMissingTxMetadata Decode Open (TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 5)) TxAuxDataHash
-> Decode Open (DijkstraSubUtxowPredFailure 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 -> (Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubConflictingMetadataHash Decode
Open
(Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 6)) (Mismatch RelEQ TxAuxDataHash)
-> Decode Open (DijkstraSubUtxowPredFailure 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)) (Mismatch RelEQ TxAuxDataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
7 -> DijkstraSubUtxowPredFailure era
-> Decode Open (DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD DijkstraSubUtxowPredFailure era
forall era. DijkstraSubUtxowPredFailure era
SubInvalidMetadata
Word
8 -> (NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era
SubMissingRedeemers Decode
Open
(NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 7))
(NonEmpty (PlutusPurpose AsItem era, ScriptHash))
-> Decode Open (DijkstraSubUtxowPredFailure 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))
(NonEmpty (PlutusPurpose AsItem era, ScriptHash))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
9 -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
SubMissingRequiredDatums Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 9)) (NonEmptySet DataHash)
-> Decode Open (Set DataHash -> DijkstraSubUtxowPredFailure 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)) (NonEmptySet DataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From Decode Open (Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 8)) (Set DataHash)
-> Decode Open (DijkstraSubUtxowPredFailure 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)) (Set DataHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
10 -> (NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
SubNotAllowedSupplementalDatums Decode
Open
(NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 11)) (NonEmptySet DataHash)
-> Decode Open (Set DataHash -> DijkstraSubUtxowPredFailure 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 -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 10)) (Set DataHash)
-> Decode Open (DijkstraSubUtxowPredFailure 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
11 -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era
SubPPViewHashesDontMatch Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 12))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Decode Open (DijkstraSubUtxowPredFailure 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))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
12 -> (NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era)
-> Decode
Open (NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era
forall era. NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era
SubUnspendableUTxONoDatumHash Decode Open (NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 13)) (NonEmptySet TxIn)
-> Decode Open (DijkstraSubUtxowPredFailure 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 TxIn)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
13 -> (NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era
SubExtraRedeemers Decode
Open
(NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 14)) (NonEmpty (PlutusPurpose AsIx era))
-> Decode Open (DijkstraSubUtxowPredFailure 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)) (NonEmpty (PlutusPurpose AsIx era))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
14 -> (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubMalformedScriptWitnesses Decode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 15)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraSubUtxowPredFailure 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 ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
15 -> (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Decode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubMalformedReferenceScripts Decode
Open (NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 16)) (NonEmptySet ScriptHash)
-> Decode Open (DijkstraSubUtxowPredFailure 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)) (NonEmptySet ScriptHash)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
16 -> (Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
-> Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era
SubScriptIntegrityHashMismatch Decode
Open
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
-> Decode
(Closed (ZonkAny 18))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
-> Decode
Open (StrictMaybe ByteString -> DijkstraSubUtxowPredFailure 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))
(Mismatch RelEQ (StrictMaybe ScriptIntegrityHash))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From Decode
Open (StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era)
-> Decode (Closed (ZonkAny 17)) (StrictMaybe ByteString)
-> Decode Open (DijkstraSubUtxowPredFailure 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)) (StrictMaybe ByteString)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
n -> Word -> Decode Open (DijkstraSubUtxowPredFailure era)
forall (w :: Wrapped) t. Word -> Decode w t
Invalid Word
n
dijkstraUtxowToDijkstraSubUtxowPredFailure ::
forall era.
( InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era
, PredicateFailure (EraRule "UTXO" era) ~ DijkstraUtxoPredFailure era
) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure :: forall era.
(InjectRuleFailure "SUBUTXO" DijkstraUtxoPredFailure era,
PredicateFailure (EraRule "UTXO" era)
~ DijkstraUtxoPredFailure era) =>
DijkstraUtxowPredFailure era -> DijkstraSubUtxowPredFailure era
dijkstraUtxowToDijkstraSubUtxowPredFailure = \case
UtxoFailure PredicateFailure (EraRule "UTXO" era)
f -> PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
forall era.
PredicateFailure (EraRule "SUBUTXO" era)
-> DijkstraSubUtxowPredFailure era
SubUtxoFailure (forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure @"SUBUTXO" PredicateFailure (EraRule "UTXO" era)
DijkstraUtxoPredFailure era
f)
InvalidWitnessesUTXOW NonEmpty (VKey Witness)
ks -> NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (VKey Witness) -> DijkstraSubUtxowPredFailure era
SubInvalidWitnessesUTXOW NonEmpty (VKey Witness)
ks
MissingVKeyWitnessesUTXOW NonEmptySet (KeyHash Witness)
ks -> NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet (KeyHash Witness) -> DijkstraSubUtxowPredFailure era
SubMissingVKeyWitnessesUTXOW NonEmptySet (KeyHash Witness)
ks
MissingScriptWitnessesUTXOW NonEmptySet ScriptHash
_ -> String -> DijkstraSubUtxowPredFailure era
forall a. HasCallStack => String -> a
error String
"Impossible: `MissingScriptWitnessesUTXOW` for SUBUTXOW"
ScriptWitnessNotValidatingUTXOW NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubScriptWitnessNotValidatingUTXOW NonEmptySet ScriptHash
hs
MissingTxBodyMetadataHash TxAuxDataHash
dh -> TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubMissingTxBodyMetadataHash TxAuxDataHash
dh
MissingTxMetadata TxAuxDataHash
dh -> TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era. TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubMissingTxMetadata TxAuxDataHash
dh
ConflictingMetadataHash Mismatch RelEQ TxAuxDataHash
mm -> Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ TxAuxDataHash -> DijkstraSubUtxowPredFailure era
SubConflictingMetadataHash Mismatch RelEQ TxAuxDataHash
mm
DijkstraUtxowPredFailure era
InvalidMetadata -> DijkstraSubUtxowPredFailure era
forall era. DijkstraSubUtxowPredFailure era
SubInvalidMetadata
ExtraneousScriptWitnessesUTXOW NonEmptySet ScriptHash
_ -> String -> DijkstraSubUtxowPredFailure era
forall a. HasCallStack => String -> a
error String
"Impossible: `ExtraneousScriptWitnessesUTXOW` for SUBUTXOW"
MissingRedeemers NonEmpty (PlutusPurpose AsItem era, ScriptHash)
pps -> NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsItem era, ScriptHash)
-> DijkstraSubUtxowPredFailure era
SubMissingRedeemers NonEmpty (PlutusPurpose AsItem era, ScriptHash)
pps
MissingRequiredDatums NonEmptySet DataHash
hs1 Set DataHash
hs2 -> NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
SubMissingRequiredDatums NonEmptySet DataHash
hs1 Set DataHash
hs2
NotAllowedSupplementalDatums NonEmptySet DataHash
hs1 Set DataHash
hs2 -> NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet DataHash
-> Set DataHash -> DijkstraSubUtxowPredFailure era
SubNotAllowedSupplementalDatums NonEmptySet DataHash
hs1 Set DataHash
hs2
PPViewHashesDontMatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm -> Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> DijkstraSubUtxowPredFailure era
SubPPViewHashesDontMatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm
UnspendableUTxONoDatumHash NonEmptySet TxIn
txs -> NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era
forall era. NonEmptySet TxIn -> DijkstraSubUtxowPredFailure era
SubUnspendableUTxONoDatumHash NonEmptySet TxIn
txs
ExtraRedeemers NonEmpty (PlutusPurpose AsIx era)
pps -> NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era
forall era.
NonEmpty (PlutusPurpose AsIx era)
-> DijkstraSubUtxowPredFailure era
SubExtraRedeemers NonEmpty (PlutusPurpose AsIx era)
pps
MalformedScriptWitnesses NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubMalformedScriptWitnesses NonEmptySet ScriptHash
hs
MalformedReferenceScripts NonEmptySet ScriptHash
hs -> NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
forall era.
NonEmptySet ScriptHash -> DijkstraSubUtxowPredFailure era
SubMalformedReferenceScripts NonEmptySet ScriptHash
hs
ScriptIntegrityHashMismatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm StrictMaybe ByteString
f -> Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era
forall era.
Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
-> StrictMaybe ByteString -> DijkstraSubUtxowPredFailure era
SubScriptIntegrityHashMismatch Mismatch RelEQ (StrictMaybe ScriptIntegrityHash)
mm StrictMaybe ByteString
f