Skip to content

Commit

Permalink
Restore deleted commands and add deprecation warning
Browse files Browse the repository at this point in the history
  • Loading branch information
palas committed Dec 2, 2024
1 parent e7c8634 commit e5b9136
Show file tree
Hide file tree
Showing 23 changed files with 222 additions and 0 deletions.
3 changes: 3 additions & 0 deletions cardano-cli/src/Cardano/CLI/EraBased/Commands/Genesis.hs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ data GenesisCmds era
| GenesisVerKey !GenesisVerKeyCmdArgs
| GenesisTxIn !GenesisTxInCmdArgs
| GenesisAddr !GenesisAddrCmdArgs
| GenesisHashFile !GenesisFile
deriving Show

data GenesisCreateCmdArgs era = GenesisCreateCmdArgs
Expand Down Expand Up @@ -191,3 +192,5 @@ renderGenesisCmds = \case
"genesis initial-txin"
GenesisAddr{} ->
"genesis initial-addr"
GenesisHashFile{} ->
"genesis hash"
14 changes: 14 additions & 0 deletions cardano-cli/src/Cardano/CLI/EraBased/Options/Genesis.hs
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,16 @@ pGenesisCmds era envCli =
mconcat
[ "Create data to use for starting a testnet."
]
, Just $
subParser "hash" $
Opt.info pGenesisHash $
Opt.progDesc $
mconcat
[ "DEPRECATION WARNING! This command is deprecated and will be "
, "removed in a future release. Please use hash genesis-file "
, "instead. "
, "Compute the hash of a genesis file."
]
]

pGenesisKeyGen :: Parser (GenesisCmds era)
Expand Down Expand Up @@ -356,6 +366,10 @@ pGenesisCreateTestNetData sbe envCli =
, Opt.help "The directory where to generate the data. Created if not existing."
]

pGenesisHash :: Parser (GenesisCmds era)
pGenesisHash =
GenesisHashFile <$> pGenesisFile "The genesis file."

pGenesisDir :: Parser GenesisDir
pGenesisDir =
fmap GenesisDir $
Expand Down
12 changes: 12 additions & 0 deletions cardano-cli/src/Cardano/CLI/EraBased/Run/Genesis.hs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ module Cardano.CLI.EraBased.Run.Genesis
, runGenesisCreateCardanoCmd
, runGenesisCreateCmd
, runGenesisCreateStakedCmd
, runGenesisHashFileCmd
, runGenesisKeyHashCmd
, runGenesisTxInCmd
, runGenesisVerKeyCmd
Expand Down Expand Up @@ -107,6 +108,7 @@ runGenesisCmds = \case
GenesisCreateCardano args -> runGenesisCreateCardanoCmd args
GenesisCreateStaked args -> runGenesisCreateStakedCmd args
GenesisCreateTestNetData args -> TN.runGenesisCreateTestNetDataCmd args
GenesisHashFile gf -> runGenesisHashFileCmd gf

runGenesisKeyHashCmd :: VerificationKeyFile In -> ExceptT GenesisCmdError IO ()
runGenesisKeyHashCmd vkeyPath = do
Expand Down Expand Up @@ -1339,3 +1341,13 @@ readInitialFundAddresses utxodir nw = do
(PaymentCredentialByKey vkh)
NoStakeAddress
]

-- | Hash a genesis file
runGenesisHashFileCmd :: GenesisFile -> ExceptT GenesisCmdError IO ()
runGenesisHashFileCmd (GenesisFile fpath) = do
content <-
handleIOExceptT (GenesisCmdGenesisFileError . FileIOError fpath) $
BS.readFile fpath
let gh :: Crypto.Hash Crypto.Blake2b_256 ByteString
gh = Crypto.hashWith id content
liftIO $ Text.putStrLn (Crypto.hashToTextAsHex gh)
3 changes: 3 additions & 0 deletions cardano-cli/src/Cardano/CLI/Legacy/Commands/Genesis.hs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ data LegacyGenesisCmds
(VerificationKeyFile In)
NetworkId
(Maybe (File () Out))
| GenesisHashFile
GenesisFile
deriving Show

renderLegacyGenesisCmds :: LegacyGenesisCmds -> Text
Expand All @@ -95,3 +97,4 @@ renderLegacyGenesisCmds = \case
GenesisVerKey{} -> "genesis get-ver-key"
GenesisTxIn{} -> "genesis initial-txin"
GenesisAddr{} -> "genesis initial-addr"
GenesisHashFile{} -> "genesis hash"
13 changes: 13 additions & 0 deletions cardano-cli/src/Cardano/CLI/Legacy/Options.hs
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,15 @@ pGenesisCmds envCli =
[ "Create a staked Shelley genesis file from a genesis "
, "template and genesis/delegation/spending keys."
]
, subParser "hash" $
Opt.info pGenesisHash $
Opt.progDesc $
unlines
[ "DEPRECATION WARNING! This command is deprecated and will be "
, "removed in a future release. Please use hash genesis-file "
, "instead. "
, "Compute the hash of a genesis file."
]
]
where
pGenesisKeyGen :: Parser LegacyGenesisCmds
Expand Down Expand Up @@ -275,6 +284,10 @@ pGenesisCmds envCli =
<*> pStuffedUtxoCount
<*> Opt.optional pRelayJsonFp

pGenesisHash :: Parser LegacyGenesisCmds
pGenesisHash =
GenesisHashFile <$> pGenesisFile "The genesis file."

pGenesisDir :: Parser GenesisDir
pGenesisDir =
fmap GenesisDir $
Expand Down
9 changes: 9 additions & 0 deletions cardano-cli/src/Cardano/CLI/Legacy/Run/Genesis.hs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ runLegacyGenesisCmds = \case
runLegacyGenesisCreateCardanoCmd eSbe gd gn un ms am k slotLength sc nw bg sg ag cg mNodeCfg
GenesisCreateStaked eSbe fmt gd gn gp gl un ms am ds nw bf bp su relayJsonFp ->
runLegacyGenesisCreateStakedCmd eSbe fmt gd gn gp gl un ms am ds nw bf bp su relayJsonFp
GenesisHashFile gf ->
runLegacyGenesisHashFileCmd gf

runLegacyGenesisKeyGenGenesisCmd
:: ()
Expand Down Expand Up @@ -269,3 +271,10 @@ runLegacyGenesisCreateStakedCmd
, Cmd.numStuffedUtxo = numStuffedUtxo
, Cmd.mStakePoolRelaySpecFile = mStakePoolRelaySpecFile
}

-- | Hash a genesis file
runLegacyGenesisHashFileCmd
:: ()
=> GenesisFile
-> ExceptT GenesisCmdError IO ()
runLegacyGenesisHashFileCmd = runGenesisHashFileCmd
56 changes: 56 additions & 0 deletions cardano-cli/test/cardano-cli-golden/files/golden/help.cli
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,7 @@ Usage: cardano-cli legacy genesis
| create-cardano
| create
| create-staked
| hash
)

Genesis block commands
Expand Down Expand Up @@ -664,6 +665,12 @@ Usage: cardano-cli legacy genesis create-staked
Create a staked Shelley genesis file from a genesis template and
genesis/delegation/spending keys.

Usage: cardano-cli legacy genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli byron
( key
| transaction
Expand Down Expand Up @@ -1090,6 +1097,7 @@ Usage: cardano-cli shelley genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -1211,6 +1219,12 @@ Usage: cardano-cli shelley genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli shelley genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli shelley governance
( create-mir-certificate
| create-genesis-key-delegation-certificate
Expand Down Expand Up @@ -2158,6 +2172,7 @@ Usage: cardano-cli allegra genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -2279,6 +2294,12 @@ Usage: cardano-cli allegra genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli allegra genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli allegra governance
( create-mir-certificate
| create-genesis-key-delegation-certificate
Expand Down Expand Up @@ -3226,6 +3247,7 @@ Usage: cardano-cli mary genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -3345,6 +3367,12 @@ Usage: cardano-cli mary genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli mary genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli mary governance
( create-mir-certificate
| create-genesis-key-delegation-certificate
Expand Down Expand Up @@ -4284,6 +4312,7 @@ Usage: cardano-cli alonzo genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -4403,6 +4432,12 @@ Usage: cardano-cli alonzo genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli alonzo genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli alonzo governance
( create-mir-certificate
| create-genesis-key-delegation-certificate
Expand Down Expand Up @@ -5357,6 +5392,7 @@ Usage: cardano-cli babbage genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -5478,6 +5514,12 @@ Usage: cardano-cli babbage genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli babbage genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli babbage governance
( create-mir-certificate
| create-genesis-key-delegation-certificate
Expand Down Expand Up @@ -6710,6 +6752,7 @@ Usage: cardano-cli conway genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -6829,6 +6872,12 @@ Usage: cardano-cli conway genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli conway genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli conway governance (action | committee | drep | vote)

Governance commands.
Expand Down Expand Up @@ -8705,6 +8754,7 @@ Usage: cardano-cli latest genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand Down Expand Up @@ -8824,6 +8874,12 @@ Usage: cardano-cli latest genesis create-testnet-data [--spec-shelley FILEPATH]

Create data to use for starting a testnet.

Usage: cardano-cli latest genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Usage: cardano-cli latest governance (action | committee | drep | vote)

Governance commands.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Usage: cardano-cli allegra genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand All @@ -35,3 +36,7 @@ Available commands:
create-staked Create a staked Shelley genesis file from a genesis
template and genesis/delegation/spending keys.
create-testnet-data Create data to use for starting a testnet.
hash DEPRECATION WARNING! This command is deprecated and
will be removed in a future release. Please use hash
genesis-file instead. Compute the hash of a genesis
file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Usage: cardano-cli allegra genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Available options:
--genesis FILEPATH The genesis file.
-h,--help Show this help text
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Usage: cardano-cli alonzo genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand All @@ -35,3 +36,7 @@ Available commands:
create-staked Create a staked Shelley genesis file from a genesis
template and genesis/delegation/spending keys.
create-testnet-data Create data to use for starting a testnet.
hash DEPRECATION WARNING! This command is deprecated and
will be removed in a future release. Please use hash
genesis-file instead. Compute the hash of a genesis
file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Usage: cardano-cli alonzo genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Available options:
--genesis FILEPATH The genesis file.
-h,--help Show this help text
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Usage: cardano-cli babbage genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand All @@ -35,3 +36,7 @@ Available commands:
create-staked Create a staked Shelley genesis file from a genesis
template and genesis/delegation/spending keys.
create-testnet-data Create data to use for starting a testnet.
hash DEPRECATION WARNING! This command is deprecated and
will be removed in a future release. Please use hash
genesis-file instead. Compute the hash of a genesis
file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Usage: cardano-cli babbage genesis hash --genesis FILEPATH

DEPRECATION WARNING! This command is deprecated and will be removed in a
future release. Please use hash genesis-file instead. Compute the hash of a
genesis file.

Available options:
--genesis FILEPATH The genesis file.
-h,--help Show this help text
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Usage: cardano-cli conway genesis
| create
| create-staked
| create-testnet-data
| hash
)

Genesis block commands.
Expand All @@ -35,3 +36,7 @@ Available commands:
create-staked Create a staked Shelley genesis file from a genesis
template and genesis/delegation/spending keys.
create-testnet-data Create data to use for starting a testnet.
hash DEPRECATION WARNING! This command is deprecated and
will be removed in a future release. Please use hash
genesis-file instead. Compute the hash of a genesis
file.
Loading

0 comments on commit e5b9136

Please sign in to comment.