{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} module Cardano.CLI.EraBased.Script.Certificate.Type ( CertificateScriptWitness (..) , PlutusRefScriptCliArgs (..) , createSimpleOrPlutusScriptFromCliArgs , createPlutusReferenceScriptFromCliArgs ) where import Cardano.Api import Cardano.Api.Experimental import Cardano.CLI.EraBased.Script.Type import Cardano.CLI.Type.Common (ScriptDataOrFile) newtype CertificateScriptWitness era = CertificateScriptWitness {forall era. CertificateScriptWitness era -> ScriptWitness WitCtxStake era cswScriptWitness :: ScriptWitness WitCtxStake era} deriving Int -> CertificateScriptWitness era -> ShowS [CertificateScriptWitness era] -> ShowS CertificateScriptWitness era -> String (Int -> CertificateScriptWitness era -> ShowS) -> (CertificateScriptWitness era -> String) -> ([CertificateScriptWitness era] -> ShowS) -> Show (CertificateScriptWitness era) forall era. Int -> CertificateScriptWitness era -> ShowS forall era. [CertificateScriptWitness era] -> ShowS forall era. CertificateScriptWitness era -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: forall era. Int -> CertificateScriptWitness era -> ShowS showsPrec :: Int -> CertificateScriptWitness era -> ShowS $cshow :: forall era. CertificateScriptWitness era -> String show :: CertificateScriptWitness era -> String $cshowList :: forall era. [CertificateScriptWitness era] -> ShowS showList :: [CertificateScriptWitness era] -> ShowS Show createSimpleOrPlutusScriptFromCliArgs :: File ScriptInAnyLang In -> Maybe (ScriptDataOrFile, ExecutionUnits) -> ScriptRequirements CertItem createSimpleOrPlutusScriptFromCliArgs :: File ScriptInAnyLang 'In -> Maybe (ScriptDataOrFile, ExecutionUnits) -> ScriptRequirements 'CertItem createSimpleOrPlutusScriptFromCliArgs File ScriptInAnyLang 'In scriptFp (Just (ScriptDataOrFile redeemer, ExecutionUnits execUnits)) = OnDiskPlutusScriptCliArgs 'CertItem -> ScriptRequirements 'CertItem forall (witnessable :: WitnessableItem). OnDiskPlutusScriptCliArgs witnessable -> ScriptRequirements witnessable OnDiskPlutusScript (OnDiskPlutusScriptCliArgs 'CertItem -> ScriptRequirements 'CertItem) -> OnDiskPlutusScriptCliArgs 'CertItem -> ScriptRequirements 'CertItem forall a b. (a -> b) -> a -> b $ File ScriptInAnyLang 'In -> OptionalDatum 'CertItem -> ScriptDataOrFile -> ExecutionUnits -> OnDiskPlutusScriptCliArgs 'CertItem forall (witnessable :: WitnessableItem). File ScriptInAnyLang 'In -> OptionalDatum witnessable -> ScriptDataOrFile -> ExecutionUnits -> OnDiskPlutusScriptCliArgs witnessable OnDiskPlutusScriptCliArgs File ScriptInAnyLang 'In scriptFp NoScriptDatum OptionalDatum 'CertItem NoScriptDatumAllowed ScriptDataOrFile redeemer ExecutionUnits execUnits createSimpleOrPlutusScriptFromCliArgs File ScriptInAnyLang 'In scriptFp Maybe (ScriptDataOrFile, ExecutionUnits) Nothing = File ScriptInAnyLang 'In -> ScriptRequirements 'CertItem forall (witnessable :: WitnessableItem). File ScriptInAnyLang 'In -> ScriptRequirements witnessable OnDiskSimpleScript File ScriptInAnyLang 'In scriptFp createPlutusReferenceScriptFromCliArgs :: TxIn -> AnyPlutusScriptVersion -> ScriptDataOrFile -> ExecutionUnits -> ScriptRequirements CertItem createPlutusReferenceScriptFromCliArgs :: TxIn -> AnyPlutusScriptVersion -> ScriptDataOrFile -> ExecutionUnits -> ScriptRequirements 'CertItem createPlutusReferenceScriptFromCliArgs TxIn txIn AnyPlutusScriptVersion version ScriptDataOrFile redeemer ExecutionUnits execUnits = PlutusRefScriptCliArgs 'CertItem -> ScriptRequirements 'CertItem forall (witnessable :: WitnessableItem). PlutusRefScriptCliArgs witnessable -> ScriptRequirements witnessable PlutusReferenceScript (PlutusRefScriptCliArgs 'CertItem -> ScriptRequirements 'CertItem) -> PlutusRefScriptCliArgs 'CertItem -> ScriptRequirements 'CertItem forall a b. (a -> b) -> a -> b $ TxIn -> AnyPlutusScriptVersion -> OptionalDatum 'CertItem -> MintPolicyId 'CertItem -> ScriptDataOrFile -> ExecutionUnits -> PlutusRefScriptCliArgs 'CertItem forall (witnessable :: WitnessableItem). TxIn -> AnyPlutusScriptVersion -> OptionalDatum witnessable -> MintPolicyId witnessable -> ScriptDataOrFile -> ExecutionUnits -> PlutusRefScriptCliArgs witnessable PlutusRefScriptCliArgs TxIn txIn AnyPlutusScriptVersion version NoScriptDatum OptionalDatum 'CertItem NoScriptDatumAllowed NoPolicyId MintPolicyId 'CertItem NoPolicyId ScriptDataOrFile redeemer ExecutionUnits execUnits