From 57b9f73ad05592ea27ed68e4c80c7bf87a3cc853 Mon Sep 17 00:00:00 2001 From: John Ky Date: Thu, 25 May 2023 21:52:57 +1000 Subject: [PATCH] Add action create commands --- .../src/Cardano/CLI/Shelley/Commands.hs | 9 ++- .../src/Cardano/CLI/Shelley/Parsers.hs | 62 ++++++++++++++++++- 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/cardano-cli/src/Cardano/CLI/Shelley/Commands.hs b/cardano-cli/src/Cardano/CLI/Shelley/Commands.hs index 67d60ae592..1c08f9cd99 100644 --- a/cardano-cli/src/Cardano/CLI/Shelley/Commands.hs +++ b/cardano-cli/src/Cardano/CLI/Shelley/Commands.hs @@ -435,7 +435,14 @@ renderQueryCmd cmd = TxMempoolQueryInfo -> "info" data GovernanceAction = - GovernanceActionOfInfo + GovernanceActionOfNoConfidenceMotion + | GovernanceActionOfNewCommittee + | GovernanceActionOfConstitutionUpdate + | GovernanceActionOfHardForkInitiation + | GovernanceActionOfProtocolParameterUpdate + ProtocolParametersUpdate + | GovernanceActionOfTreasuryWithdrawal + | GovernanceActionOfInfo GovernanceActionInfoResource deriving Show diff --git a/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs b/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs index ac26ca2a8b..31b3081e11 100644 --- a/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs +++ b/cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs @@ -1236,7 +1236,25 @@ pVoteFileIn = pGovernanceActionCmd :: EnvCli -> Parser GovernanceActionCmd pGovernanceActionCmd envCli = asum - [ subParser "create-info" + [ subParser "create-no-confidence-motion" + $ Opt.info pActionCreateNoConfidenceMotion + $ Opt.progDesc "Create a no-confidence motion action" + , subParser "create-new-committee" + $ Opt.info pActionCreateNewCommittee + $ Opt.progDesc "Create a new-committee action" + , subParser "create-constitution-update" + $ Opt.info pActionCreateConstitutionUpdate + $ Opt.progDesc "Create a constitution-update action" + , subParser "create-hard-fork-initiation" + $ Opt.info pActionCreateHardForkInitiation + $ Opt.progDesc "Create a hard-fork-initiation action" + , subParser "create-protocol-parameter-update" + $ Opt.info pActionCreateProtocolParameterUpdate + $ Opt.progDesc "Create an protocol-parameter-update action" + , subParser "create-treasury-withdrawal" + $ Opt.info pActionCreateTreasuryWithdrawal + $ Opt.progDesc "Create an treasury-withdrawal action" + , subParser "create-info" $ Opt.info pActionCreateInfo $ Opt.progDesc "Create an info action" , subParser "view" @@ -1247,6 +1265,48 @@ pGovernanceActionCmd envCli = $ Opt.progDesc "Query an on-chain action" ] where + pActionCreateNoConfidenceMotion :: Parser GovernanceActionCmd + pActionCreateNoConfidenceMotion = + GovernanceActionCreate + <$> some pStakeVerifier + <*> pure GovernanceActionOfNoConfidenceMotion + <*> pOutputFile + + pActionCreateNewCommittee :: Parser GovernanceActionCmd + pActionCreateNewCommittee = + GovernanceActionCreate + <$> some pStakeVerifier + <*> pure GovernanceActionOfNewCommittee + <*> pOutputFile + + pActionCreateConstitutionUpdate :: Parser GovernanceActionCmd + pActionCreateConstitutionUpdate = + GovernanceActionCreate + <$> some pStakeVerifier + <*> pure GovernanceActionOfConstitutionUpdate + <*> pOutputFile + + pActionCreateHardForkInitiation :: Parser GovernanceActionCmd + pActionCreateHardForkInitiation = + GovernanceActionCreate + <$> some pStakeVerifier + <*> pure GovernanceActionOfHardForkInitiation + <*> pOutputFile + + pActionCreateProtocolParameterUpdate :: Parser GovernanceActionCmd + pActionCreateProtocolParameterUpdate = + GovernanceActionCreate + <$> some pStakeVerifier + <*> (GovernanceActionOfProtocolParameterUpdate <$> pProtocolParametersUpdate) + <*> pOutputFile + + pActionCreateTreasuryWithdrawal :: Parser GovernanceActionCmd + pActionCreateTreasuryWithdrawal = + GovernanceActionCreate + <$> some pStakeVerifier + <*> pure GovernanceActionOfTreasuryWithdrawal + <*> pOutputFile + pActionCreateInfo :: Parser GovernanceActionCmd pActionCreateInfo = GovernanceActionCreate