Skip to content

Commit 22ca97b

Browse files
committed
Misc conversions to CIO e ()
Update golden files
1 parent af982a3 commit 22ca97b

File tree

5 files changed

+91
-3
lines changed

5 files changed

+91
-3
lines changed

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

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{-# LANGUAGE FlexibleInstances #-}
22
{-# LANGUAGE GADTs #-}
3+
{-# LANGUAGE LambdaCase #-}
34
{-# LANGUAGE MultiParamTypeClasses #-}
45
{-# OPTIONS_GHC -Wno-orphans #-}
56

@@ -10,13 +11,20 @@ where
1011

1112
import Cardano.Api
1213
import Cardano.Api.Ledger qualified as L
13-
import Cardano.Api.Shelley (VotesMergingConflict, scriptDataToJsonDetailedSchema)
14+
import Cardano.Api.Shelley
15+
( GovernancePollError (..)
16+
, VotesMergingConflict
17+
, renderGovernancePollError
18+
, scriptDataToJsonDetailedSchema
19+
)
1420

21+
import Cardano.CLI.Type.Error.ScriptDecodeError
1522
import Cardano.Ledger.CertState qualified as L
1623
import Cardano.Ledger.Conway.Governance qualified as L
1724
import Cardano.Ledger.State qualified as L
1825

1926
import Data.Aeson
27+
import Data.Text qualified as Text
2028

2129
instance ToJSON L.DefaultVote where
2230
toJSON defaultVote =
@@ -49,3 +57,22 @@ instance ToJSON HashableScriptData where
4957
[ "hash" .= hashScriptDataBytes hsd
5058
, "json" .= scriptDataToJsonDetailedSchema hsd
5159
]
60+
61+
instance
62+
Error
63+
( Either
64+
( FileError
65+
ScriptDecodeError
66+
)
67+
(FileError InputDecodeError)
68+
)
69+
where
70+
prettyError = \case
71+
Left e -> prettyError e
72+
Right e -> prettyError e
73+
74+
instance Error GovernancePollError where
75+
prettyError = pshow . Text.unpack . renderGovernancePollError
76+
77+
instance Error String where
78+
prettyError = pshow

cardano-cli/src/Cardano/CLI/Type/Error/HashCmdError.hs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{-# LANGUAGE InstanceSigs #-}
22
{-# LANGUAGE LambdaCase #-}
3+
{-# LANGUAGE TypeApplications #-}
34

45
module Cardano.CLI.Type.Error.HashCmdError
56
( HashCmdError (..)
@@ -58,6 +59,16 @@ data FetchURLError
5859
| FetchURLIpfsGatewayNotSetError
5960
deriving Show
6061

62+
instance Error FetchURLError where
63+
prettyError (FetchURLInvalidURLError text) = "Cannot parse URI: " <> pshow text
64+
prettyError (FetchURLReadFileError filepath exc) =
65+
"Cannot read " <> pshow filepath <> ": " <> pshow (displayException exc)
66+
prettyError (FetchURLUnsupportedURLSchemeError text) = pshow $ "Unsupported URL scheme: " <> text
67+
prettyError (FetchURLReadEnvVarError exc) = pshow $ "Cannot read environment variable: " <> displayException exc
68+
prettyError (FetchURLGetFileFromHttpError err) = pshow $ displayException err
69+
prettyError FetchURLIpfsGatewayNotSetError =
70+
pshow @String "IPFS scheme requires IPFS_GATEWAY_URI environment variable to be set."
71+
6172
instance Exception FetchURLError where
6273
displayException :: FetchURLError -> String
6374
displayException (FetchURLInvalidURLError text) = "Cannot parse URI: " <> text
@@ -89,6 +100,17 @@ data HashCheckError
89100
| FetchURLError FetchURLError
90101
deriving Show
91102

103+
instance Error HashCheckError where
104+
prettyError = \case
105+
HashMismatchError expectedHash actualHash ->
106+
"Hashes do not match!"
107+
<> "\nExpected:"
108+
<+> pretty (show (L.extractHash expectedHash))
109+
<> "\n Actual:"
110+
<+> pretty (show (L.extractHash actualHash))
111+
FetchURLError fetchErr ->
112+
prettyError fetchErr
113+
92114
instance Exception HashCheckError where
93115
displayException :: HashCheckError -> String
94116
displayException (HashMismatchError expectedHash actualHash) =
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11
Command failed: governance committee create-cold-key-resignation-certificate
2-
Error: Error while checking metadata hash: Hashes do not match!
2+
Error: Command failed: governance committee create-cold-key-resignation-certificate
3+
Error: Hashes do not match!
34
Expected: "ee38a4f5b8b9d8372386cc923bad19d1a0662298cf355bbe947e5eedf127fa9c"
45
Actual: "de38a4f5b8b9d8372386cc923bad19d1a0662298cf355bbe947e5eedf127fa9c"
6+
CallStack (from HasCallStack):
7+
fromExceptTCli, called at src/Cardano/CLI/EraBased/Governance/Committee/Run.hs:181:10 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Committee.Run
8+
runGovernanceCommitteeColdKeyResignationCertificate, called at src/Cardano/CLI/EraBased/Governance/Committee/Run.hs:49:5 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Committee.Run
9+
runGovernanceCommitteeCmds, called at src/Cardano/CLI/EraBased/Governance/Run.hs:51:5 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Run
10+
runGovernanceCmds, called at src/Cardano/CLI/EraBased/Run.hs:54:20 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Run
11+
12+
HasCallStack backtrace:
13+
collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
14+
toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
15+
throwIO, called at src/UnliftIO/Exception.hs:441:20 in unliftio-0.2.25.1-72aefeaee6ad674227745dd80100c28616aed606398ce50b030ba8dc9e02a8b9:UnliftIO.Exception
16+
17+
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11
Command failed: governance drep metadata-hash
2+
Error: Command failed: governance drep metadata-hash
23
Error: Hashes do not match!
34
Expected: "ee38a4f5b8b9d8372386cc923bad19d1a0662298cf355bbe947e5eedf127fa9c"
45
Actual: "de38a4f5b8b9d8372386cc923bad19d1a0662298cf355bbe947e5eedf127fa9c"
6+
CallStack (from HasCallStack):
7+
throwCliError, called at src/Cardano/CLI/EraBased/Governance/DRep/Run.hs:207:13 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.DRep.Run
8+
runGovernanceDRepMetadataHashCmd, called at src/Cardano/CLI/EraBased/Governance/DRep/Run.hs:58:5 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.DRep.Run
9+
runGovernanceDRepCmds, called at src/Cardano/CLI/EraBased/Governance/Run.hs:55:5 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Run
10+
runGovernanceCmds, called at src/Cardano/CLI/EraBased/Run.hs:54:20 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Run
11+
12+
HasCallStack backtrace:
13+
collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
14+
toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
15+
throwIO, called at src/UnliftIO/Exception.hs:441:20 in unliftio-0.2.25.1-72aefeaee6ad674227745dd80100c28616aed606398ce50b030ba8dc9e02a8b9:UnliftIO.Exception
16+
17+
Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11
Command failed: governance vote create
2-
Error: Error while checking resignation certificate metadata hash: Hashes do not match!
2+
Error: Command failed: governance vote create
3+
Error: Hashes do not match!
34
Expected: "ee38a4f5b8b9d8372386cc923bad19d1a0662298cf355bbe947e5eedf127fa9c"
45
Actual: "de38a4f5b8b9d8372386cc923bad19d1a0662298cf355bbe947e5eedf127fa9c"
6+
CallStack (from HasCallStack):
7+
fromExceptTCli, called at src/Cardano/CLI/EraBased/Governance/Vote/Run.hs:68:8 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Vote.Run
8+
runGovernanceVoteCreateCmd, called at src/Cardano/CLI/EraBased/Governance/Vote/Run.hs:41:5 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Vote.Run
9+
runGovernanceVoteCmds, called at src/Cardano/CLI/EraBased/Governance/Run.hs:59:5 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Governance.Run
10+
runGovernanceCmds, called at src/Cardano/CLI/EraBased/Run.hs:54:20 in cardano-cli-10.8.0.0-inplace:Cardano.CLI.EraBased.Run
11+
12+
HasCallStack backtrace:
13+
collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
14+
toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
15+
throwIO, called at src/UnliftIO/Exception.hs:441:20 in unliftio-0.2.25.1-72aefeaee6ad674227745dd80100c28616aed606398ce50b030ba8dc9e02a8b9:UnliftIO.Exception
16+
17+

0 commit comments

Comments
 (0)