{-# LANGUAGE DataKinds #-}
{-# LANGUAGE LambdaCase #-}
module Cardano.CLI.EraBased.Script.Type
(
SimpleScriptRequirements (..)
, PlutusSpendingScriptRequirements (..)
, PlutusMintingScriptRequirements (..)
, PlutusNonAssetScriptRequirements (..)
, AnySpendScript (..)
, AnyMintScript (..)
, AnyNonAssetScript (..)
, ScriptDatumOrFileSpending (..)
, CliScriptWitnessError (..)
)
where
import Cardano.Api
import Cardano.Api.Ledger qualified as L
import Cardano.CLI.Type.Common
data CliScriptWitnessError
= PlutusScriptWitnessLanguageNotSupportedInEra
L.Language
AnyShelleyBasedEra
deriving Int -> CliScriptWitnessError -> ShowS
[CliScriptWitnessError] -> ShowS
CliScriptWitnessError -> String
(Int -> CliScriptWitnessError -> ShowS)
-> (CliScriptWitnessError -> String)
-> ([CliScriptWitnessError] -> ShowS)
-> Show CliScriptWitnessError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CliScriptWitnessError -> ShowS
showsPrec :: Int -> CliScriptWitnessError -> ShowS
$cshow :: CliScriptWitnessError -> String
show :: CliScriptWitnessError -> String
$cshowList :: [CliScriptWitnessError] -> ShowS
showList :: [CliScriptWitnessError] -> ShowS
Show
instance Error CliScriptWitnessError where
prettyError :: forall ann. CliScriptWitnessError -> Doc ann
prettyError = \case
PlutusScriptWitnessLanguageNotSupportedInEra Language
version AnyShelleyBasedEra
era ->
Doc ann
"Plutus script version " Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> Language -> Doc ann
forall a ann. Show a => a -> Doc ann
pshow Language
version Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> Doc ann
" is not supported in era " Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> AnyShelleyBasedEra -> Doc ann
forall a ann. Show a => a -> Doc ann
pshow AnyShelleyBasedEra
era
data ScriptDatumOrFileSpending
= PotentialDatum (Maybe ScriptDataOrFile)
| InlineDatum
deriving Int -> ScriptDatumOrFileSpending -> ShowS
[ScriptDatumOrFileSpending] -> ShowS
ScriptDatumOrFileSpending -> String
(Int -> ScriptDatumOrFileSpending -> ShowS)
-> (ScriptDatumOrFileSpending -> String)
-> ([ScriptDatumOrFileSpending] -> ShowS)
-> Show ScriptDatumOrFileSpending
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ScriptDatumOrFileSpending -> ShowS
showsPrec :: Int -> ScriptDatumOrFileSpending -> ShowS
$cshow :: ScriptDatumOrFileSpending -> String
show :: ScriptDatumOrFileSpending -> String
$cshowList :: [ScriptDatumOrFileSpending] -> ShowS
showList :: [ScriptDatumOrFileSpending] -> ShowS
Show
data SimpleScriptRequirements
= OnDiskSimpleScript (File ScriptInAnyLang In)
| ReferenceSimpleScript TxIn
deriving Int -> SimpleScriptRequirements -> ShowS
[SimpleScriptRequirements] -> ShowS
SimpleScriptRequirements -> String
(Int -> SimpleScriptRequirements -> ShowS)
-> (SimpleScriptRequirements -> String)
-> ([SimpleScriptRequirements] -> ShowS)
-> Show SimpleScriptRequirements
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SimpleScriptRequirements -> ShowS
showsPrec :: Int -> SimpleScriptRequirements -> ShowS
$cshow :: SimpleScriptRequirements -> String
show :: SimpleScriptRequirements -> String
$cshowList :: [SimpleScriptRequirements] -> ShowS
showList :: [SimpleScriptRequirements] -> ShowS
Show
data PlutusSpendingScriptRequirements
= OnDiskPlutusSpendingScript
(File ScriptInAnyLang In)
ScriptDatumOrFileSpending
ScriptDataOrFile
ExecutionUnits
| ReferencePlutusSpendingScript
TxIn
AnySLanguage
ScriptDatumOrFileSpending
ScriptDataOrFile
ExecutionUnits
deriving Int -> PlutusSpendingScriptRequirements -> ShowS
[PlutusSpendingScriptRequirements] -> ShowS
PlutusSpendingScriptRequirements -> String
(Int -> PlutusSpendingScriptRequirements -> ShowS)
-> (PlutusSpendingScriptRequirements -> String)
-> ([PlutusSpendingScriptRequirements] -> ShowS)
-> Show PlutusSpendingScriptRequirements
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlutusSpendingScriptRequirements -> ShowS
showsPrec :: Int -> PlutusSpendingScriptRequirements -> ShowS
$cshow :: PlutusSpendingScriptRequirements -> String
show :: PlutusSpendingScriptRequirements -> String
$cshowList :: [PlutusSpendingScriptRequirements] -> ShowS
showList :: [PlutusSpendingScriptRequirements] -> ShowS
Show
data PlutusMintingScriptRequirements
= OnDiskPlutusMintingScript
(File ScriptInAnyLang In)
ScriptDataOrFile
ExecutionUnits
| ReferencePlutusMintingScript
TxIn
AnySLanguage
PolicyId
ScriptDataOrFile
ExecutionUnits
deriving Int -> PlutusMintingScriptRequirements -> ShowS
[PlutusMintingScriptRequirements] -> ShowS
PlutusMintingScriptRequirements -> String
(Int -> PlutusMintingScriptRequirements -> ShowS)
-> (PlutusMintingScriptRequirements -> String)
-> ([PlutusMintingScriptRequirements] -> ShowS)
-> Show PlutusMintingScriptRequirements
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlutusMintingScriptRequirements -> ShowS
showsPrec :: Int -> PlutusMintingScriptRequirements -> ShowS
$cshow :: PlutusMintingScriptRequirements -> String
show :: PlutusMintingScriptRequirements -> String
$cshowList :: [PlutusMintingScriptRequirements] -> ShowS
showList :: [PlutusMintingScriptRequirements] -> ShowS
Show
data PlutusNonAssetScriptRequirements
= OnDiskPlutusNonAssetScript
(File ScriptInAnyLang In)
ScriptDataOrFile
ExecutionUnits
| ReferencePlutusNonAssetScript
TxIn
AnySLanguage
ScriptDataOrFile
ExecutionUnits
deriving Int -> PlutusNonAssetScriptRequirements -> ShowS
[PlutusNonAssetScriptRequirements] -> ShowS
PlutusNonAssetScriptRequirements -> String
(Int -> PlutusNonAssetScriptRequirements -> ShowS)
-> (PlutusNonAssetScriptRequirements -> String)
-> ([PlutusNonAssetScriptRequirements] -> ShowS)
-> Show PlutusNonAssetScriptRequirements
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlutusNonAssetScriptRequirements -> ShowS
showsPrec :: Int -> PlutusNonAssetScriptRequirements -> ShowS
$cshow :: PlutusNonAssetScriptRequirements -> String
show :: PlutusNonAssetScriptRequirements -> String
$cshowList :: [PlutusNonAssetScriptRequirements] -> ShowS
showList :: [PlutusNonAssetScriptRequirements] -> ShowS
Show
data AnySpendScript
= AnySpendScriptSimple SimpleScriptRequirements
| AnySpendScriptPlutus PlutusSpendingScriptRequirements
deriving Int -> AnySpendScript -> ShowS
[AnySpendScript] -> ShowS
AnySpendScript -> String
(Int -> AnySpendScript -> ShowS)
-> (AnySpendScript -> String)
-> ([AnySpendScript] -> ShowS)
-> Show AnySpendScript
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AnySpendScript -> ShowS
showsPrec :: Int -> AnySpendScript -> ShowS
$cshow :: AnySpendScript -> String
show :: AnySpendScript -> String
$cshowList :: [AnySpendScript] -> ShowS
showList :: [AnySpendScript] -> ShowS
Show
data AnyMintScript
= AnyMintScriptSimpleOnDisk (File ScriptInAnyLang In)
| AnyMintScriptSimpleRef TxIn PolicyId
| AnyMintScriptPlutus PlutusMintingScriptRequirements
deriving Int -> AnyMintScript -> ShowS
[AnyMintScript] -> ShowS
AnyMintScript -> String
(Int -> AnyMintScript -> ShowS)
-> (AnyMintScript -> String)
-> ([AnyMintScript] -> ShowS)
-> Show AnyMintScript
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AnyMintScript -> ShowS
showsPrec :: Int -> AnyMintScript -> ShowS
$cshow :: AnyMintScript -> String
show :: AnyMintScript -> String
$cshowList :: [AnyMintScript] -> ShowS
showList :: [AnyMintScript] -> ShowS
Show
data AnyNonAssetScript
= AnyNonAssetScriptSimple SimpleScriptRequirements
| AnyNonAssetScriptPlutus PlutusNonAssetScriptRequirements
deriving Int -> AnyNonAssetScript -> ShowS
[AnyNonAssetScript] -> ShowS
AnyNonAssetScript -> String
(Int -> AnyNonAssetScript -> ShowS)
-> (AnyNonAssetScript -> String)
-> ([AnyNonAssetScript] -> ShowS)
-> Show AnyNonAssetScript
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AnyNonAssetScript -> ShowS
showsPrec :: Int -> AnyNonAssetScript -> ShowS
$cshow :: AnyNonAssetScript -> String
show :: AnyNonAssetScript -> String
$cshowList :: [AnyNonAssetScript] -> ShowS
showList :: [AnyNonAssetScript] -> ShowS
Show