Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,8 @@ runGenesisCreateTestNetDataCmd
skeyHotFile = File @(SigningKey ()) $ committeeDir </> "cc.hot.skey"
vkeyColdFile = File @(VerificationKey ()) $ committeeDir </> "cc.cold.vkey"
skeyColdFile = File @(SigningKey ()) $ committeeDir </> "cc.cold.skey"
hotArgs = CC.GovernanceCommitteeKeyGenHotCmdArgs ConwayEraOnwardsConway vkeyHotFile skeyHotFile
coldArgs = CC.GovernanceCommitteeKeyGenColdCmdArgs ConwayEraOnwardsConway vkeyColdFile skeyColdFile
hotArgs = CC.GovernanceCommitteeKeyGenHotCmdArgs eon vkeyHotFile skeyHotFile
coldArgs = CC.GovernanceCommitteeKeyGenColdCmdArgs eon vkeyColdFile skeyColdFile
liftIO $ createDirectoryIfMissing True committeeDir
void $
CC.runGovernanceCommitteeKeyGenHot hotArgs
Expand All @@ -356,7 +356,7 @@ runGenesisCreateTestNetDataCmd
let drepDir = drepsDir </> "drep" <> show index
vkeyFile = File @(VerificationKey ()) $ drepDir </> "drep.vkey"
skeyFile = File @(SigningKey ()) $ drepDir </> "drep.skey"
cmd = DRep.GovernanceDRepKeyGenCmdArgs ConwayEraOnwardsConway vkeyFile skeyFile
cmd = DRep.GovernanceDRepKeyGenCmdArgs eon vkeyFile skeyFile
liftIO $ createDirectoryIfMissing True drepDir
fst <$> DRep.runGovernanceDRepKeyGenCmd cmd
Transient ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ module Cardano.CLI.EraBased.Genesis.Internal.Common
where

import Cardano.Api hiding (ConwayEra)
import Cardano.Api.Experimental (obtainCommonConstraints)
import Cardano.Api.Experimental qualified as Exp
import Cardano.Api.Ledger (AlonzoGenesis, ConwayGenesis)
import Cardano.Api.Ledger qualified as L
import Cardano.Api.Shelley (ShelleyGenesis, ShelleyLedgerEra, decodeAlonzoGenesis)
Expand Down Expand Up @@ -124,12 +126,12 @@ readRelays fp = do
-- TODO: eliminate this and get only the necessary params, and get them in a more
-- helpful way rather than requiring them as a local file.
readProtocolParameters
:: ()
=> ShelleyBasedEra era
-> ProtocolParamsFile
:: forall era
. Exp.IsEra era
=> ProtocolParamsFile
-> ExceptT ProtocolParamsError IO (L.PParams (ShelleyLedgerEra era))
readProtocolParameters sbe (ProtocolParamsFile fpath) = do
readProtocolParameters (ProtocolParamsFile fpath) = do
pparams <- handleIOExceptT (ProtocolParamsErrorFile . FileIOError fpath) $ LBS.readFile fpath
firstExceptT (ProtocolParamsErrorJSON fpath . Text.pack) . hoistEither $
shelleyBasedEraConstraints sbe $
obtainCommonConstraints (Exp.useEra @era) $
A.eitherDecode' pparams
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ module Cardano.CLI.EraBased.Governance.Committee.Command
where

import Cardano.Api
import Cardano.Api.Experimental qualified as Exp
import Cardano.Api.Ledger qualified as L

import Cardano.CLI.Type.Common (PotentiallyCheckedAnchor, ResignationMetadataUrl)
Expand All @@ -37,30 +38,30 @@ data GovernanceCommitteeCmds era

data GovernanceCommitteeKeyGenColdCmdArgs era
= GovernanceCommitteeKeyGenColdCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeyOutFile :: !(File (VerificationKey ()) Out)
, skeyOutFile :: !(File (SigningKey ()) Out)
}
deriving Show

data GovernanceCommitteeKeyGenHotCmdArgs era
= GovernanceCommitteeKeyGenHotCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeyOutFile :: !(File (VerificationKey ()) Out)
, skeyOutFile :: !(File (SigningKey ()) Out)
}
deriving Show

data GovernanceCommitteeKeyHashCmdArgs era
= GovernanceCommitteeKeyHashCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeySource :: !AnyVerificationKeySource
}
deriving Show

data GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmdArgs era
= GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeyColdKeySource :: !(VerificationKeySource CommitteeColdKey)
, vkeyHotKeySource :: !(VerificationKeySource CommitteeHotKey)
, outFile :: !(File () Out)
Expand All @@ -69,7 +70,7 @@ data GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmdArgs era

data GovernanceCommitteeCreateColdKeyResignationCertificateCmdArgs era
= GovernanceCommitteeCreateColdKeyResignationCertificateCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeyColdKeySource :: !(VerificationKeySource CommitteeColdKey)
, anchor
:: !( Maybe
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ module Cardano.CLI.EraBased.Governance.Committee.Option
where

import Cardano.Api
import Cardano.Api.Experimental qualified as Exp
import Cardano.Api.Ledger qualified as L

import Cardano.CLI.EraBased.Common.Option hiding (pAnchorUrl)
Expand All @@ -20,86 +21,67 @@ import Options.Applicative (Parser, optional)
import Options.Applicative qualified as Opt

pGovernanceCommitteeCmds
:: ()
=> ShelleyBasedEra era
-> Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCmds era =
:: Exp.IsEra era => Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCmds =
subInfoParser
"committee"
( Opt.progDesc $
mconcat
[ "Committee member commands."
]
)
[ pGovernanceCommitteeKeyGenColdCmd era
, pGovernanceCommitteeKeyGenHotCmd era
, pGovernanceCommitteeKeyHashCmd era
, pGovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd era
, pGovernanceCommitteeCreateColdKeyResignationCertificateCmd era
[ pGovernanceCommitteeKeyGenColdCmd
, pGovernanceCommitteeKeyGenHotCmd
, pGovernanceCommitteeKeyHashCmd
, pGovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd
, pGovernanceCommitteeCreateColdKeyResignationCertificateCmd
]

pGovernanceCommitteeKeyGenColdCmd
:: ()
=> ShelleyBasedEra era
-> Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeKeyGenColdCmd era = do
w <- forShelleyBasedEraMaybeEon era
:: Exp.IsEra era => Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeKeyGenColdCmd = do
pure $
Opt.hsubparser $
commandWithMetavar "key-gen-cold" $
Opt.info (pCmd w) $
Opt.info (pCmd Exp.useEra) $
Opt.progDesc $
mconcat
[ "Create a cold key pair for a Constitutional Committee Member"
]
where
pCmd
:: ()
=> ConwayEraOnwards era
-> Parser (GovernanceCommitteeCmds era)
pCmd w =
fmap GovernanceCommitteeKeyGenColdCmd $
GovernanceCommitteeKeyGenColdCmdArgs w
<$> pColdVerificationKeyFile
<*> pColdSigningKeyFile

pGovernanceCommitteeKeyGenHotCmd
:: ()
=> ShelleyBasedEra era
-> Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeKeyGenHotCmd era = do
w <- forShelleyBasedEraMaybeEon era
:: Exp.IsEra era => Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeKeyGenHotCmd = do
pure $
Opt.hsubparser $
commandWithMetavar "key-gen-hot" $
Opt.info (pCmd w) $
Opt.info (pCmd Exp.useEra) $
Opt.progDesc $
mconcat
[ "Create a hot key pair for a Constitutional Committee Member"
]
where
pCmd
:: ()
=> ConwayEraOnwards era
-> Parser (GovernanceCommitteeCmds era)
pCmd w =
fmap GovernanceCommitteeKeyGenHotCmd $
GovernanceCommitteeKeyGenHotCmdArgs w
<$> pVerificationKeyFileOut
<*> pSigningKeyFileOut

pGovernanceCommitteeKeyHashCmd
:: ()
=> ShelleyBasedEra era
-> Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeKeyHashCmd era = do
w <- forShelleyBasedEraMaybeEon era
:: Exp.IsEra era => Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeKeyHashCmd = do
pure
$ Opt.hsubparser
$ commandWithMetavar "key-hash"
$ Opt.info
( fmap GovernanceCommitteeKeyHashCmd $
GovernanceCommitteeKeyHashCmdArgs w
GovernanceCommitteeKeyHashCmdArgs Exp.useEra
<$> pAnyVerificationKeySource "Constitutional Committee Member key (hot or cold)"
)
$ Opt.progDesc
Expand All @@ -108,17 +90,14 @@ pGovernanceCommitteeKeyHashCmd era = do
]

pGovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd
:: ()
=> ShelleyBasedEra era
-> Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd era = do
w <- forShelleyBasedEraMaybeEon era
:: Exp.IsEra era => Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd = do
pure
$ Opt.hsubparser
$ commandWithMetavar "create-hot-key-authorization-certificate"
$ Opt.info
( fmap GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd $
GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmdArgs w
GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmdArgs Exp.useEra
<$> pColdCredential
<*> pHotCredential
<*> pOutputFile
Expand All @@ -129,15 +108,12 @@ pGovernanceCommitteeCreateHotKeyAuthorizationCertificateCmd era = do
]

pGovernanceCommitteeCreateColdKeyResignationCertificateCmd
:: ()
=> ShelleyBasedEra era
-> Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCreateColdKeyResignationCertificateCmd era = do
w <- forShelleyBasedEraMaybeEon era
:: Exp.IsEra era => Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCreateColdKeyResignationCertificateCmd = do
pure $
Opt.hsubparser $
commandWithMetavar "create-cold-key-resignation-certificate" $
Opt.info (conwayEraOnwardsConstraints w $ mkParser w) $
Opt.info (mkParser Exp.useEra) $
Opt.progDesc $
mconcat
[ "Create cold key resignation certificate for a Constitutional Committee Member"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ module Cardano.CLI.EraBased.Governance.Committee.Run
where

import Cardano.Api
import Cardano.Api.Experimental (obtainCommonConstraints)
import Cardano.Api.Shelley

import Cardano.CLI.Compatible.Exception
Expand Down Expand Up @@ -69,7 +70,7 @@ runGovernanceCommitteeKeyGenHot
-> CIO e (VerificationKey CommitteeHotKey, SigningKey CommitteeHotKey)
runGovernanceCommitteeKeyGenHot
Cmd.GovernanceCommitteeKeyGenHotCmdArgs
{ Cmd.eon = _eon
{ Cmd.era = _eon
, Cmd.vkeyOutFile = vkeyPath
, Cmd.skeyOutFile = skeyPath
} = do
Expand Down Expand Up @@ -139,12 +140,12 @@ runGovernanceCommitteeCreateHotKeyAuthorizationCertificate
-> CIO e ()
runGovernanceCommitteeCreateHotKeyAuthorizationCertificate
Cmd.GovernanceCommitteeCreateHotKeyAuthorizationCertificateCmdArgs
{ Cmd.eon = eon
{ Cmd.era = eon
, Cmd.vkeyColdKeySource
, Cmd.vkeyHotKeySource
, Cmd.outFile = oFp
} =
conwayEraOnwardsConstraints eon $ do
obtainCommonConstraints eon $ do
hotCred <-
fromExceptTCli $
readVerificationKeySource unCommitteeHotKeyHash vkeyHotKeySource
Expand All @@ -153,7 +154,7 @@ runGovernanceCommitteeCreateHotKeyAuthorizationCertificate
readVerificationKeySource unCommitteeColdKeyHash vkeyColdKeySource
fromEitherIOCli @(FileError ()) $
makeCommitteeHotKeyAuthorizationCertificate
(CommitteeHotKeyAuthorizationRequirements eon coldCred hotCred)
(CommitteeHotKeyAuthorizationRequirements (convert eon) coldCred hotCred)
& textEnvelopeToJSON (Just genKeyDelegCertDesc)
& writeLazyByteStringFile oFp
where
Expand All @@ -166,12 +167,12 @@ runGovernanceCommitteeColdKeyResignationCertificate
-> CIO e ()
runGovernanceCommitteeColdKeyResignationCertificate
Cmd.GovernanceCommitteeCreateColdKeyResignationCertificateCmdArgs
{ Cmd.eon
{ Cmd.era
, Cmd.vkeyColdKeySource
, Cmd.anchor
, Cmd.outFile
} =
conwayEraOnwardsConstraints eon $ do
obtainCommonConstraints era $ do
coldVKeyCred <-
fromExceptTCli $
readVerificationKeySource unCommitteeColdKeyHash vkeyColdKeySource
Expand All @@ -182,7 +183,7 @@ runGovernanceCommitteeColdKeyResignationCertificate

fromEitherIOCli @(FileError ()) $
makeCommitteeColdkeyResignationCertificate
(CommitteeColdkeyResignationRequirements eon coldVKeyCred (pcaAnchor <$> anchor))
(CommitteeColdkeyResignationRequirements (convert era) coldVKeyCred (pcaAnchor <$> anchor))
& textEnvelopeToJSON (Just genKeyDelegCertDesc)
& writeLazyByteStringFile outFile
where
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ module Cardano.CLI.EraBased.Governance.DRep.Command
where

import Cardano.Api
import Cardano.Api.Experimental qualified as Exp
import Cardano.Api.Ledger qualified as L

import Cardano.CLI.EraIndependent.Hash.Command (HashGoal)
Expand All @@ -36,22 +37,22 @@ data GovernanceDRepCmds era

data GovernanceDRepKeyGenCmdArgs era
= GovernanceDRepKeyGenCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeyFile :: !(File (VerificationKey ()) Out)
, skeyFile :: !(File (SigningKey ()) Out)
}

data GovernanceDRepIdCmdArgs era
= GovernanceDRepIdCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, vkeySource :: !(VerificationKeyOrHashOrFile DRepKey)
, idOutputFormat :: !(Vary [FormatBech32, FormatHex, FormatCip129])
, mOutFile :: !(Maybe (File () Out))
}

data GovernanceDRepRegistrationCertificateCmdArgs era
= GovernanceDRepRegistrationCertificateCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, drepHashSource :: !DRepHashSource
, deposit :: !Lovelace
, mAnchor
Expand All @@ -66,15 +67,15 @@ data GovernanceDRepRegistrationCertificateCmdArgs era

data GovernanceDRepRetirementCertificateCmdArgs era
= GovernanceDRepRetirementCertificateCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, drepHashSource :: !DRepHashSource
, deposit :: !Lovelace
, outFile :: !(File () Out)
}

data GovernanceDRepUpdateCertificateCmdArgs era
= GovernanceDRepUpdateCertificateCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, drepHashSource :: !DRepHashSource
, mAnchor
:: Maybe
Expand All @@ -87,7 +88,7 @@ data GovernanceDRepUpdateCertificateCmdArgs era

data GovernanceDRepMetadataHashCmdArgs era
= GovernanceDRepMetadataHashCmdArgs
{ eon :: !(ConwayEraOnwards era)
{ era :: !(Exp.Era era)
, drepMetadataSource :: !DRepMetadataSource
, hashGoal :: !(HashGoal (Hash DRepMetadata))
}
Expand Down
Loading
Loading