Skip to content

Commit

Permalink
Misc changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Jimbo4350 committed Feb 3, 2025
1 parent f818873 commit 4ac423b
Show file tree
Hide file tree
Showing 11 changed files with 38 additions and 24 deletions.
2 changes: 2 additions & 0 deletions cardano-cli/cardano-cli.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,11 @@ library
Cardano.CLI.EraBased.Script.Certificate.Types
Cardano.CLI.EraBased.Script.Mint.Read
Cardano.CLI.EraBased.Script.Mint.Types
Cardano.CLI.EraBased.Script.Read.Common
Cardano.CLI.EraBased.Script.Spend.Read
Cardano.CLI.EraBased.Script.Spend.Types
Cardano.CLI.EraBased.Script.Types
Cardano.CLI.EraBased.Script.Vote.Read
Cardano.CLI.EraBased.Script.Vote.Types
Cardano.CLI.EraBased.Transaction.HashCheck
Cardano.CLI.Helpers
Expand Down
6 changes: 4 additions & 2 deletions cardano-cli/src/Cardano/CLI/Compatible/Transaction.hs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import Cardano.CLI.EraBased.Run.Transaction
import Cardano.CLI.EraBased.Script.Certificate.Read
import Cardano.CLI.EraBased.Script.Certificate.Types
import Cardano.CLI.EraBased.Script.Types
import Cardano.CLI.EraBased.Script.Vote.Types (CliVoteScriptRequirements,
VoteScriptWitness (..))
import Cardano.CLI.Parser
import Cardano.CLI.Read
import Cardano.CLI.Types.Common
Expand Down Expand Up @@ -182,7 +184,7 @@ data CompatibleTransactionCmds era
[TxOutAnyEra]
!(Maybe (Featured ShelleyToBabbageEra era (Maybe UpdateProposalFile)))
!(Maybe (Featured ConwayEraOnwards era [(ProposalFile In, Maybe (ScriptWitnessFiles WitCtxStake))]))
![(VoteFile In, Maybe (ScriptWitnessFiles WitCtxStake))]
![(VoteFile In, Maybe CliVoteScriptRequirements)]
[WitnessSigningData]
-- ^ Signing keys
(Maybe NetworkId)
Expand Down Expand Up @@ -272,7 +274,7 @@ runCompatibleTransactionCmd
readVotingProceduresFiles w mVotes
votingProcedures <-
firstExceptT CompatibleVoteMergeError . hoistEither $
mkTxVotingProcedures votesAndWits
mkTxVotingProcedures [(v, vswScriptWitness <$> mSwit) | (v, mSwit) <- votesAndWits]
return (prop, VotingProcedures w votingProcedures)
)
sbe
Expand Down
16 changes: 8 additions & 8 deletions cardano-cli/src/Cardano/CLI/EraBased/Options/Common.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1104,10 +1104,10 @@ pScriptWitnessFiles witctx autoBalanceExecUnits scriptFlagPrefix scriptFlagPrefi
toScriptWitnessFiles
:: ScriptFile
-> Maybe
( ScriptDatumOrFile witctx
, ScriptRedeemerOrFile
, ExecutionUnits
)
( ScriptDatumOrFile witctx
, ScriptRedeemerOrFile
, ExecutionUnits
)
-> ScriptWitnessFiles witctx
toScriptWitnessFiles sf Nothing = SimpleScriptWitnessFile sf
toScriptWitnessFiles sf (Just (d, r, e)) = PlutusScriptWitnessFiles sf d r e
Expand Down Expand Up @@ -1611,10 +1611,10 @@ pMetadataFile =
pWithdrawal
:: BalanceTxExecUnits
-> Parser
( StakeAddress
, Lovelace
, Maybe (ScriptWitnessFiles WitCtxStake)
)
( StakeAddress
, Lovelace
, Maybe (ScriptWitnessFiles WitCtxStake)
)
pWithdrawal balance =
(\(stakeAddr, lovelace) maybeScriptFp -> (stakeAddr, lovelace, maybeScriptFp))
<$> Opt.option
Expand Down
7 changes: 4 additions & 3 deletions cardano-cli/src/Cardano/CLI/EraBased/Run/Governance/Vote.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import qualified Cardano.Api.Ledger as L
import Cardano.Api.Shelley

import qualified Cardano.CLI.EraBased.Commands.Governance.Vote as Cmd
import Cardano.CLI.Read (readSingleVote)
import Cardano.CLI.EraBased.Script.Vote.Read
import Cardano.CLI.Run.Hash (carryHashChecks)
import Cardano.CLI.Types.Common
import Cardano.CLI.Types.Errors.CmdError
Expand Down Expand Up @@ -108,8 +108,9 @@ runGovernanceVoteViewCmd

shelleyBasedEraConstraints sbe $ do
voteProcedures <-
fmap fst . firstExceptT GovernanceVoteCmdReadVoteFileError . newExceptT $
readSingleVote eon (voteFile, Nothing)
fmap fst $
firstExceptT GovernanceVoteCmdReadVoteFileError $
readVoteScriptWitness eon (voteFile, Nothing)
firstExceptT GovernanceVoteCmdWriteError
. newExceptT
. ( case outFormat of
Expand Down
4 changes: 0 additions & 4 deletions cardano-cli/src/Cardano/CLI/EraBased/Script/Read/Common.hs
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,14 @@ import Cardano.CLI.Types.Errors.PlutusScriptDecodeError
import Cardano.CLI.Types.Errors.ScriptDataError
import Cardano.CLI.Types.Errors.ScriptDecodeError


import Prelude

import qualified Data.Aeson as Aeson
import Data.Bifunctor
import qualified Data.ByteString as BS

import qualified Data.ByteString.Lazy.Char8 as LBS

import qualified Data.Text as Text


deserialisePlutusScript
:: BS.ByteString
-> Either PlutusScriptDecodeError AnyPlutusScript
Expand Down
15 changes: 13 additions & 2 deletions cardano-cli/src/Cardano/CLI/EraBased/Script/Types.hs
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}

module Cardano.CLI.EraBased.Script.Types
( -- * Errors
CliScriptWitnessError (..)
( AnyPlutusScript (..)

-- * Errors
, CliScriptWitnessError (..)
)
where

Expand All @@ -12,17 +15,25 @@ import Cardano.CLI.Types.Errors.PlutusScriptDecodeError
import Cardano.CLI.Types.Errors.ScriptDataError
import Cardano.CLI.Types.Errors.ScriptDecodeError

-- TODO: Move to cardano-api
data AnyPlutusScript where
AnyPlutusScript
:: IsPlutusScriptLanguage lang => PlutusScriptVersion lang -> PlutusScript lang -> AnyPlutusScript

data CliScriptWitnessError
= SimpleScriptWitnessDecodeError ScriptDecodeError
| TextEnvelopeError TextEnvelopeError
| PlutusScriptWitnessDecodeError PlutusScriptDecodeError
| PlutusScriptWitnessLanguageNotSupportedInEra
AnyPlutusScriptVersion
AnyShelleyBasedEra
| PlutusScriptWitnessRedeemerError ScriptDataError
deriving Show

instance Error CliScriptWitnessError where
prettyError = \case
SimpleScriptWitnessDecodeError err -> prettyError err
TextEnvelopeError err -> prettyError err
PlutusScriptWitnessDecodeError err -> prettyError err
PlutusScriptWitnessLanguageNotSupportedInEra version era ->
"Plutus script version " <> pshow version <> " is not supported in era " <> pshow era
Expand Down
2 changes: 1 addition & 1 deletion cardano-cli/src/Cardano/CLI/EraBased/Script/Vote/Read.hs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ readVoteScriptWitness w (voteFp, Just certScriptReq) = do
readFileSimpleScript sFp
case s of
SimpleScript ss -> do
return
return
( votProceds
, Just $
VoteScriptWitness
Expand Down
1 change: 0 additions & 1 deletion cardano-cli/src/Cardano/CLI/Read.hs
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,6 @@ readScriptWitnessFilesTuple era = mapM readSwitFile
return (tIn, b, Just sWit)
readSwitFile (tIn, b, Nothing) = return (tIn, b, Nothing)

-- TODO: Left off here. Move this to Cardano.CLI.EraBased.Script.Read.Common
readScriptWitness
:: ShelleyBasedEra era
-> ScriptWitnessFiles witctx
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ module Cardano.CLI.Types.Errors.GovernanceVoteCmdError where
import Cardano.Api.Shelley

import Cardano.Binary (DecoderError)
import Cardano.CLI.EraBased.Script.Types
import Cardano.CLI.Read (VoteError)
import Cardano.CLI.Types.Errors.HashCmdError (HashCheckError)

Expand All @@ -16,7 +17,7 @@ import qualified Formatting.Buildable as B

data GovernanceVoteCmdError
= GovernanceVoteCmdReadVerificationKeyError !(FileError InputDecodeError)
| GovernanceVoteCmdReadVoteFileError !VoteError
| GovernanceVoteCmdReadVoteFileError !(FileError CliScriptWitnessError)
| GovernanceVoteCmdCredentialDecodeError !DecoderError
| GovernanceVoteCmdWriteError !(FileError ())
| GovernanceVoteCmdReadVoteTextError !VoteError
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ data PlutusScriptDecodeError
-- ^ Script version
!AnyPlutusScriptVersion
-- ^ Attempted to decode with version
deriving Show

instance Error PlutusScriptDecodeError where
prettyError = \case
Expand Down
5 changes: 3 additions & 2 deletions cardano-cli/test/cardano-cli-golden/Test/Golden/ErrorsSpec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import Cardano.Api.Shelley
import Cardano.Binary
import Cardano.CLI.EraBased.Run.Governance.Actions
import Cardano.CLI.EraBased.Run.Governance.Committee
import Cardano.CLI.EraBased.Script.Types
import Cardano.CLI.Read
import Cardano.CLI.Types.Errors.DelegationError
import Cardano.CLI.Types.Errors.GovernanceCmdError
Expand Down Expand Up @@ -233,8 +234,8 @@ test_VoteReadError =
,
( "GovernanceVoteCmdReadVoteFileError"
, GovernanceVoteCmdReadVoteFileError $
VoteErrorFile $
FileError "path/file.txt" $
FileError "path/file.txt" $
TextEnvelopeError $
TextEnvelopeAesonDecodeError "some error description"
)
,
Expand Down

0 comments on commit 4ac423b

Please sign in to comment.