Skip to content

Commit b012e05

Browse files
committed
Propagate ProposalScriptWitness amongst the parser result types
1 parent 5ff4a95 commit b012e05

File tree

4 files changed

+22
-25
lines changed

4 files changed

+22
-25
lines changed

cardano-cli/cardano-cli.cabal

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ library
121121
Cardano.CLI.EraBased.Script.Certificate.Types
122122
Cardano.CLI.EraBased.Script.Mint.Read
123123
Cardano.CLI.EraBased.Script.Mint.Types
124+
Cardano.CLI.EraBased.Script.Proposal.Read
125+
Cardano.CLI.EraBased.Script.Proposal.Types
124126
Cardano.CLI.EraBased.Script.Read.Common
125127
Cardano.CLI.EraBased.Script.Spend.Read
126128
Cardano.CLI.EraBased.Script.Spend.Types

cardano-cli/src/Cardano/CLI/Compatible/Transaction.hs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import Cardano.CLI.EraBased.Options.Common hiding (pRefScriptFp, pTxOu
2424
import Cardano.CLI.EraBased.Run.Transaction
2525
import Cardano.CLI.EraBased.Script.Certificate.Read
2626
import Cardano.CLI.EraBased.Script.Certificate.Types
27+
import Cardano.CLI.EraBased.Script.Proposal.Types
2728
import Cardano.CLI.EraBased.Script.Types
2829
import Cardano.CLI.EraBased.Script.Vote.Types (CliVoteScriptRequirements,
2930
VoteScriptWitness (..))
@@ -182,7 +183,7 @@ data CompatibleTransactionCmds era
182183
[TxIn]
183184
[TxOutAnyEra]
184185
!(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile)))
185-
!(Maybe (Featured ConwayEraOnwards era [(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]))
186+
!(Maybe (Featured ConwayEraOnwards era [(ProposalFile In, Maybe CliProposalScriptRequirements)]))
186187
![(VoteFile In, Maybe CliVoteScriptRequirements)]
187188
[WitnessSigningData]
188189
-- ^ Signing keys
@@ -354,7 +355,7 @@ readUpdateProposalFile (Featured sToB (Just updateProposalFile)) = do
354355
TxUpdateProposal _ proposal -> return $ ProtocolUpdate sToB proposal
355356

356357
readProposalProcedureFile
357-
:: Featured ConwayEraOnwards era [(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]
358+
:: Featured ConwayEraOnwards era [(ProposalFile In, Maybe CliProposalScriptRequirements)]
358359
-> ExceptT CompatibleTransactionError IO (AnyProtocolUpdate era)
359360
readProposalProcedureFile (Featured cEraOnwards []) =
360361
let sbe = convert cEraOnwards
@@ -367,4 +368,5 @@ readProposalProcedureFile (Featured cEraOnwards proposals) = do
367368
return $
368369
conwayEraOnwardsConstraints cEraOnwards $
369370
ProposalProcedures cEraOnwards $
370-
mkTxProposalProcedures [(govProp, mScriptWit) | (Proposal govProp, mScriptWit) <- props]
371+
mkTxProposalProcedures
372+
[(govProp, pswScriptWitness <$> mScriptWit) | (Proposal govProp, mScriptWit) <- props]

cardano-cli/src/Cardano/CLI/EraBased/Commands/Transaction.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import Cardano.Api.Shelley
2727

2828
import Cardano.CLI.EraBased.Script.Certificate.Types (CliCertificateScriptRequirements)
2929
import Cardano.CLI.EraBased.Script.Mint.Types
30+
import Cardano.CLI.EraBased.Script.Proposal.Types (CliProposalScriptRequirements)
3031
import Cardano.CLI.EraBased.Script.Spend.Types (CliSpendScriptRequirements)
3132
import Cardano.CLI.EraBased.Script.Vote.Types
3233
import Cardano.CLI.Orphans ()
@@ -84,7 +85,7 @@ data TransactionBuildRawCmdArgs era = TransactionBuildRawCmdArgs
8485
, mProtocolParamsFile :: !(Maybe ProtocolParamsFile)
8586
, mUpdateProprosalFile :: !(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile)))
8687
, voteFiles :: ![(VoteFile In, Maybe CliVoteScriptRequirements)]
87-
, proposalFiles :: ![(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]
88+
, proposalFiles :: ![(ProposalFile In, Maybe CliProposalScriptRequirements)]
8889
, currentTreasuryValueAndDonation :: !(Maybe (TxCurrentTreasuryValue, TxTreasuryDonation))
8990
, txBodyOutFile :: !(TxBodyFile Out)
9091
}
@@ -130,7 +131,7 @@ data TransactionBuildCmdArgs era = TransactionBuildCmdArgs
130131
, metadataFiles :: ![MetadataFile]
131132
, mUpdateProposalFile :: !(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile)))
132133
, voteFiles :: ![(VoteFile In, Maybe CliVoteScriptRequirements)]
133-
, proposalFiles :: ![(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]
134+
, proposalFiles :: ![(ProposalFile In, Maybe CliProposalScriptRequirements)]
134135
, treasuryDonation :: !(Maybe TxTreasuryDonation)
135136
, buildOutputOptions :: !TxBuildOutputOptions
136137
}
@@ -180,7 +181,7 @@ data TransactionBuildEstimateCmdArgs era = TransactionBuildEstimateCmdArgs
180181
, metadataFiles :: ![MetadataFile]
181182
, mUpdateProposalFile :: !(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile)))
182183
, voteFiles :: ![(VoteFile In, Maybe CliVoteScriptRequirements)]
183-
, proposalFiles :: ![(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]
184+
, proposalFiles :: ![(ProposalFile In, Maybe CliProposalScriptRequirements)]
184185
, currentTreasuryValueAndDonation :: !(Maybe (TxCurrentTreasuryValue, TxTreasuryDonation))
185186
, txBodyOutFile :: !(TxBodyFile Out)
186187
}

cardano-cli/src/Cardano/CLI/Read.hs

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ import qualified Cardano.Api.Ledger as L
103103
import Cardano.Api.Shelley as Api
104104

105105
import qualified Cardano.Binary as CBOR
106+
import Cardano.CLI.EraBased.Script.Proposal.Read
107+
import Cardano.CLI.EraBased.Script.Proposal.Types (CliProposalScriptRequirements,
108+
ProposalScriptWitness)
106109
import Cardano.CLI.EraBased.Script.Read.Common
107110
import Cardano.CLI.EraBased.Script.Types
108111
import Cardano.CLI.EraBased.Script.Vote.Read
@@ -854,16 +857,14 @@ data ConstitutionError
854857
deriving Show
855858

856859
data ProposalError
857-
= ProposalErrorFile (FileError TextEnvelopeError)
860+
= ProposalErrorFile (FileError CliScriptWitnessError)
858861
| ProposalNotSupportedInEra AnyCardanoEra
859-
| ProposalNotUnicodeError Text.UnicodeException
860-
| ProposalErrorScriptWitness ScriptWitnessError
861862
deriving Show
862863

863864
readTxGovernanceActions
864865
:: ShelleyBasedEra era
865-
-> [(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]
866-
-> IO (Either ProposalError [(Proposal era, Maybe (ScriptWitness WitCtxStake era))])
866+
-> [(ProposalFile In, Maybe CliProposalScriptRequirements)]
867+
-> IO (Either ProposalError [(Proposal era, Maybe (ProposalScriptWitness era))])
867868
readTxGovernanceActions _ [] = return $ Right []
868869
readTxGovernanceActions era files = runExceptT $ do
869870
w <-
@@ -877,21 +878,12 @@ readTxGovernanceActions era files = runExceptT $ do
877878

878879
readProposal
879880
:: ConwayEraOnwards era
880-
-> (ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))
881-
-> IO (Either ProposalError (Proposal era, Maybe (ScriptWitness WitCtxStake era)))
881+
-> (ProposalFile In, Maybe CliProposalScriptRequirements)
882+
-> IO (Either ProposalError (Proposal era, Maybe (ProposalScriptWitness era)))
882883
readProposal w (fp, mScriptWit) = do
883-
prop <-
884-
conwayEraOnwardsConstraints w $
885-
first ProposalErrorFile <$> readFileTextEnvelope AsProposal fp
886-
case mScriptWit of
887-
Nothing -> pure $ (,Nothing) <$> prop
888-
sWitFile -> do
889-
let sbe = convert w
890-
runExceptT $ do
891-
sWit <-
892-
firstExceptT ProposalErrorScriptWitness $
893-
mapM (readScriptWitness sbe) sWitFile
894-
hoistEither $ (,sWit) <$> prop
884+
runExceptT $
885+
firstExceptT ProposalErrorFile $
886+
readProposalScriptWitness w (fp, mScriptWit)
895887

896888
constitutionHashSourceToHash
897889
:: ()

0 commit comments

Comments
 (0)