{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} module Cardano.CLI.EraBased.Script.Proposal.Type ( PlutusRefScriptCliArgs (..) , createSimpleOrPlutusScriptFromCliArgs , createPlutusReferenceScriptFromCliArgs ) where import Cardano.Api import Cardano.Api.Experimental import Cardano.Api.Experimental qualified as Exp import Cardano.CLI.EraBased.Script.Type import Cardano.CLI.Type.Common (AnySLanguage (..), ScriptDataOrFile) createSimpleOrPlutusScriptFromCliArgs :: File ScriptInAnyLang In -> Maybe (ScriptDataOrFile, ExecutionUnits) -> ScriptRequirements ProposalItem createSimpleOrPlutusScriptFromCliArgs :: File ScriptInAnyLang 'In -> Maybe (ScriptDataOrFile, ExecutionUnits) -> ScriptRequirements 'ProposalItem createSimpleOrPlutusScriptFromCliArgs File ScriptInAnyLang 'In scriptFp (Just (ScriptDataOrFile redeemer, ExecutionUnits execUnits)) = OnDiskPlutusScriptCliArgs 'ProposalItem -> ScriptRequirements 'ProposalItem forall (witnessable :: WitnessableItem). OnDiskPlutusScriptCliArgs witnessable -> ScriptRequirements witnessable OnDiskPlutusScript (OnDiskPlutusScriptCliArgs 'ProposalItem -> ScriptRequirements 'ProposalItem) -> OnDiskPlutusScriptCliArgs 'ProposalItem -> ScriptRequirements 'ProposalItem forall a b. (a -> b) -> a -> b $ File ScriptInAnyLang 'In -> OptionalDatum 'ProposalItem -> ScriptDataOrFile -> ExecutionUnits -> OnDiskPlutusScriptCliArgs 'ProposalItem forall (witnessable :: WitnessableItem). File ScriptInAnyLang 'In -> OptionalDatum witnessable -> ScriptDataOrFile -> ExecutionUnits -> OnDiskPlutusScriptCliArgs witnessable OnDiskPlutusScriptCliArgs File ScriptInAnyLang 'In scriptFp NoScriptDatum OptionalDatum 'ProposalItem Exp.NoScriptDatumAllowed ScriptDataOrFile redeemer ExecutionUnits execUnits createSimpleOrPlutusScriptFromCliArgs File ScriptInAnyLang 'In scriptFp Maybe (ScriptDataOrFile, ExecutionUnits) Nothing = File ScriptInAnyLang 'In -> ScriptRequirements 'ProposalItem forall (witnessable :: WitnessableItem). File ScriptInAnyLang 'In -> ScriptRequirements witnessable OnDiskSimpleScript File ScriptInAnyLang 'In scriptFp createPlutusReferenceScriptFromCliArgs :: TxIn -> AnySLanguage -> ScriptDataOrFile -> ExecutionUnits -> ScriptRequirements ProposalItem createPlutusReferenceScriptFromCliArgs :: TxIn -> AnySLanguage -> ScriptDataOrFile -> ExecutionUnits -> ScriptRequirements 'ProposalItem createPlutusReferenceScriptFromCliArgs TxIn txIn AnySLanguage anySLang ScriptDataOrFile redeemer ExecutionUnits execUnits = PlutusRefScriptCliArgs 'ProposalItem -> ScriptRequirements 'ProposalItem forall (witnessable :: WitnessableItem). PlutusRefScriptCliArgs witnessable -> ScriptRequirements witnessable PlutusReferenceScript (PlutusRefScriptCliArgs 'ProposalItem -> ScriptRequirements 'ProposalItem) -> PlutusRefScriptCliArgs 'ProposalItem -> ScriptRequirements 'ProposalItem forall a b. (a -> b) -> a -> b $ TxIn -> AnySLanguage -> OptionalDatum 'ProposalItem -> MintPolicyId 'ProposalItem -> ScriptDataOrFile -> ExecutionUnits -> PlutusRefScriptCliArgs 'ProposalItem forall (witnessable :: WitnessableItem). TxIn -> AnySLanguage -> OptionalDatum witnessable -> MintPolicyId witnessable -> ScriptDataOrFile -> ExecutionUnits -> PlutusRefScriptCliArgs witnessable PlutusRefScriptCliArgs TxIn txIn AnySLanguage anySLang NoScriptDatum OptionalDatum 'ProposalItem Exp.NoScriptDatumAllowed NoPolicyId MintPolicyId 'ProposalItem NoPolicyId ScriptDataOrFile redeemer ExecutionUnits execUnits