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