@@ -21,6 +21,8 @@ import Cardano.CLI.Environment (EnvCli (..), envCliAnyEon)
2121import Cardano.CLI.EraBased.Script.Certificate.Types (CliCertificateScriptRequirements )
2222import qualified Cardano.CLI.EraBased.Script.Certificate.Types as Certifying
2323import Cardano.CLI.EraBased.Script.Mint.Types
24+ import Cardano.CLI.EraBased.Script.Proposal.Types (CliProposalScriptRequirements )
25+ import qualified Cardano.CLI.EraBased.Script.Proposal.Types as Proposing
2426import Cardano.CLI.EraBased.Script.Spend.Types (CliSpendScriptRequirements )
2527import qualified Cardano.CLI.EraBased.Script.Spend.Types as PlutusSpend
2628import Cardano.CLI.EraBased.Script.Vote.Types (CliVoteScriptRequirements )
@@ -1302,7 +1304,7 @@ pVoteFile balExUnits =
13021304 " vote"
13031305 Nothing
13041306 " a vote"
1305- <|> pVoteReferencePlutusScriptWitness " vote- " balExUnits
1307+ <|> pVoteReferencePlutusScriptWitness " vote" balExUnits
13061308
13071309pVoteScriptWitness
13081310 :: BalanceTxExecUnits -> String -> Maybe String -> String -> Parser CliVoteScriptRequirements
@@ -1324,19 +1326,20 @@ pVoteScriptWitness bExecUnits scriptFlagPrefix scriptFlagPrefixDeprecated help =
13241326pVoteReferencePlutusScriptWitness
13251327 :: String -> BalanceTxExecUnits -> Parser CliVoteScriptRequirements
13261328pVoteReferencePlutusScriptWitness prefix autoBalanceExecUnits =
1327- Voting. createPlutusReferenceScriptFromCliArgs
1328- <$> pReferenceTxIn prefix " plutus"
1329- <*> plutusP prefix PlutusScriptV3 " v3"
1330- <*> pScriptRedeemerOrFile (prefix ++ " reference-tx-in" )
1331- <*> ( case autoBalanceExecUnits of
1332- AutoBalance -> pure (ExecutionUnits 0 0 )
1333- ManualBalance -> pExecutionUnits $ prefix ++ " reference-tx-in"
1334- )
1329+ let appendedPrefix = prefix ++ " -"
1330+ in Voting. createPlutusReferenceScriptFromCliArgs
1331+ <$> pReferenceTxIn appendedPrefix " plutus"
1332+ <*> plutusP appendedPrefix PlutusScriptV3 " v3"
1333+ <*> pScriptRedeemerOrFile (appendedPrefix ++ " reference-tx-in" )
1334+ <*> ( case autoBalanceExecUnits of
1335+ AutoBalance -> pure (ExecutionUnits 0 0 )
1336+ ManualBalance -> pExecutionUnits $ appendedPrefix ++ " reference-tx-in"
1337+ )
13351338
13361339pProposalFiles
13371340 :: ShelleyBasedEra era
13381341 -> BalanceTxExecUnits
1339- -> Parser [(ProposalFile In , Maybe ( ScriptWitnessFiles WitCtxStake ) )]
1342+ -> Parser [(ProposalFile In , Maybe CliProposalScriptRequirements )]
13401343pProposalFiles sbe balExUnits =
13411344 caseShelleyToBabbageOrConwayEraOnwards
13421345 (const $ pure [] )
@@ -1345,22 +1348,51 @@ pProposalFiles sbe balExUnits =
13451348
13461349pProposalFile
13471350 :: BalanceTxExecUnits
1348- -> Parser (ProposalFile In , Maybe ( ScriptWitnessFiles WitCtxStake ) )
1351+ -> Parser (ProposalFile In , Maybe CliProposalScriptRequirements )
13491352pProposalFile balExUnits =
13501353 (,)
13511354 <$> pFileInDirection " proposal-file" " Filepath of the proposal."
13521355 <*> optional (pProposingScriptOrReferenceScriptWitness balExUnits)
13531356 where
13541357 pProposingScriptOrReferenceScriptWitness
1355- :: BalanceTxExecUnits -> Parser ( ScriptWitnessFiles WitCtxStake )
1358+ :: BalanceTxExecUnits -> Parser CliProposalScriptRequirements
13561359 pProposingScriptOrReferenceScriptWitness bExUnits =
1357- pScriptWitnessFiles
1358- WitCtxStake
1360+ pProposalScriptWitness
13591361 bExUnits
13601362 " proposal"
13611363 Nothing
13621364 " a proposal"
1363- <|> pPlutusStakeReferenceScriptWitnessFilesVotingProposing " proposal-" balExUnits
1365+ <|> pProposalReferencePlutusScriptWitness " proposal" balExUnits
1366+
1367+ pProposalScriptWitness
1368+ :: BalanceTxExecUnits -> String -> Maybe String -> String -> Parser CliProposalScriptRequirements
1369+ pProposalScriptWitness bExecUnits scriptFlagPrefix scriptFlagPrefixDeprecated help =
1370+ Proposing. createSimpleOrPlutusScriptFromCliArgs
1371+ <$> pScriptFor
1372+ (scriptFlagPrefix ++ " -script-file" )
1373+ ((++ " -script-file" ) <$> scriptFlagPrefixDeprecated)
1374+ (" The file containing the script to witness " ++ help)
1375+ <*> optional
1376+ ( (,)
1377+ <$> pScriptRedeemerOrFile scriptFlagPrefix
1378+ <*> ( case bExecUnits of
1379+ AutoBalance -> pure (ExecutionUnits 0 0 )
1380+ ManualBalance -> pExecutionUnits scriptFlagPrefix
1381+ )
1382+ )
1383+
1384+ pProposalReferencePlutusScriptWitness
1385+ :: String -> BalanceTxExecUnits -> Parser CliProposalScriptRequirements
1386+ pProposalReferencePlutusScriptWitness prefix autoBalanceExecUnits =
1387+ let appendedPrefix = prefix ++ " -"
1388+ in Proposing. createPlutusReferenceScriptFromCliArgs
1389+ <$> pReferenceTxIn appendedPrefix " plutus"
1390+ <*> plutusP appendedPrefix PlutusScriptV3 " v3"
1391+ <*> pScriptRedeemerOrFile (appendedPrefix ++ " reference-tx-in" )
1392+ <*> ( case autoBalanceExecUnits of
1393+ AutoBalance -> pure (ExecutionUnits 0 0 )
1394+ ManualBalance -> pExecutionUnits $ appendedPrefix ++ " reference-tx-in"
1395+ )
13641396
13651397pCurrentTreasuryValueAndDonation
13661398 :: ShelleyBasedEra era -> Parser (Maybe (TxCurrentTreasuryValue , TxTreasuryDonation ))
@@ -1527,7 +1559,7 @@ pCertificateFile balanceExecUnits =
15271559 " certificate"
15281560 Nothing
15291561 " the use of the certificate."
1530- <|> pCertificateReferencePlutusScriptWitness " certificate- " bExecUnits
1562+ <|> pCertificateReferencePlutusScriptWitness " certificate" bExecUnits
15311563
15321564 helpText =
15331565 mconcat
@@ -1556,14 +1588,15 @@ pCertificatePlutusScriptWitness bExecUnits scriptFlagPrefix scriptFlagPrefixDepr
15561588pCertificateReferencePlutusScriptWitness
15571589 :: String -> BalanceTxExecUnits -> Parser CliCertificateScriptRequirements
15581590pCertificateReferencePlutusScriptWitness prefix autoBalanceExecUnits =
1559- Certifying. createPlutusReferenceScriptFromCliArgs
1560- <$> pReferenceTxIn prefix " plutus"
1561- <*> pPlutusScriptLanguage prefix
1562- <*> pScriptRedeemerOrFile (prefix ++ " reference-tx-in" )
1563- <*> ( case autoBalanceExecUnits of
1564- AutoBalance -> pure (ExecutionUnits 0 0 )
1565- ManualBalance -> pExecutionUnits $ prefix ++ " reference-tx-in"
1566- )
1591+ let appendedPrefix = prefix ++ " -"
1592+ in Certifying. createPlutusReferenceScriptFromCliArgs
1593+ <$> pReferenceTxIn appendedPrefix " plutus"
1594+ <*> pPlutusScriptLanguage appendedPrefix
1595+ <*> pScriptRedeemerOrFile (appendedPrefix ++ " reference-tx-in" )
1596+ <*> ( case autoBalanceExecUnits of
1597+ AutoBalance -> pure (ExecutionUnits 0 0 )
1598+ ManualBalance -> pExecutionUnits $ appendedPrefix ++ " reference-tx-in"
1599+ )
15671600
15681601pPoolMetadataFile :: Parser (StakePoolMetadataFile In )
15691602pPoolMetadataFile =
@@ -1633,7 +1666,7 @@ pWithdrawal balance =
16331666 " withdrawal"
16341667 Nothing
16351668 " the withdrawal of rewards."
1636- <|> pPlutusStakeReferenceScriptWitnessFiles " withdrawal- " balance
1669+ <|> pPlutusStakeReferenceScriptWitnessFiles " withdrawal" balance
16371670
16381671 helpText =
16391672 mconcat
@@ -1667,15 +1700,16 @@ pPlutusStakeReferenceScriptWitnessFiles
16671700 -> BalanceTxExecUnits
16681701 -> Parser (ScriptWitnessFiles WitCtxStake )
16691702pPlutusStakeReferenceScriptWitnessFiles prefix autoBalanceExecUnits =
1670- PlutusReferenceScriptWitnessFiles
1671- <$> pReferenceTxIn prefix " plutus"
1672- <*> pPlutusScriptLanguage prefix
1673- <*> pure NoScriptDatumOrFileForStake
1674- <*> pScriptRedeemerOrFile (prefix ++ " reference-tx-in" )
1675- <*> ( case autoBalanceExecUnits of
1676- AutoBalance -> pure (ExecutionUnits 0 0 )
1677- ManualBalance -> pExecutionUnits $ prefix ++ " reference-tx-in"
1678- )
1703+ let appendedPrefix = prefix ++ " -"
1704+ in PlutusReferenceScriptWitnessFiles
1705+ <$> pReferenceTxIn appendedPrefix " plutus"
1706+ <*> pPlutusScriptLanguage appendedPrefix
1707+ <*> pure NoScriptDatumOrFileForStake
1708+ <*> pScriptRedeemerOrFile (appendedPrefix ++ " reference-tx-in" )
1709+ <*> ( case autoBalanceExecUnits of
1710+ AutoBalance -> pure (ExecutionUnits 0 0 )
1711+ ManualBalance -> pExecutionUnits $ appendedPrefix ++ " reference-tx-in"
1712+ )
16791713
16801714pPlutusScriptLanguage :: String -> Parser AnyPlutusScriptVersion
16811715pPlutusScriptLanguage prefix = plutusP prefix PlutusScriptV2 " v2" <|> plutusP prefix PlutusScriptV3 " v3"
0 commit comments