Skip to content

Commit e5b9136

Browse files
committed
Restore deleted commands and add deprecation warning
1 parent e7c8634 commit e5b9136

23 files changed

+222
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ data GenesisCmds era
3838
| GenesisVerKey !GenesisVerKeyCmdArgs
3939
| GenesisTxIn !GenesisTxInCmdArgs
4040
| GenesisAddr !GenesisAddrCmdArgs
41+
| GenesisHashFile !GenesisFile
4142
deriving Show
4243

4344
data GenesisCreateCmdArgs era = GenesisCreateCmdArgs
@@ -191,3 +192,5 @@ renderGenesisCmds = \case
191192
"genesis initial-txin"
192193
GenesisAddr{} ->
193194
"genesis initial-addr"
195+
GenesisHashFile{} ->
196+
"genesis hash"

cardano-cli/src/Cardano/CLI/EraBased/Options/Genesis.hs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,16 @@ pGenesisCmds era envCli =
9999
mconcat
100100
[ "Create data to use for starting a testnet."
101101
]
102+
, Just $
103+
subParser "hash" $
104+
Opt.info pGenesisHash $
105+
Opt.progDesc $
106+
mconcat
107+
[ "DEPRECATION WARNING! This command is deprecated and will be "
108+
, "removed in a future release. Please use hash genesis-file "
109+
, "instead. "
110+
, "Compute the hash of a genesis file."
111+
]
102112
]
103113

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

369+
pGenesisHash :: Parser (GenesisCmds era)
370+
pGenesisHash =
371+
GenesisHashFile <$> pGenesisFile "The genesis file."
372+
359373
pGenesisDir :: Parser GenesisDir
360374
pGenesisDir =
361375
fmap GenesisDir $

cardano-cli/src/Cardano/CLI/EraBased/Run/Genesis.hs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ module Cardano.CLI.EraBased.Run.Genesis
2020
, runGenesisCreateCardanoCmd
2121
, runGenesisCreateCmd
2222
, runGenesisCreateStakedCmd
23+
, runGenesisHashFileCmd
2324
, runGenesisKeyHashCmd
2425
, runGenesisTxInCmd
2526
, runGenesisVerKeyCmd
@@ -107,6 +108,7 @@ runGenesisCmds = \case
107108
GenesisCreateCardano args -> runGenesisCreateCardanoCmd args
108109
GenesisCreateStaked args -> runGenesisCreateStakedCmd args
109110
GenesisCreateTestNetData args -> TN.runGenesisCreateTestNetDataCmd args
111+
GenesisHashFile gf -> runGenesisHashFileCmd gf
110112

111113
runGenesisKeyHashCmd :: VerificationKeyFile In -> ExceptT GenesisCmdError IO ()
112114
runGenesisKeyHashCmd vkeyPath = do
@@ -1339,3 +1341,13 @@ readInitialFundAddresses utxodir nw = do
13391341
(PaymentCredentialByKey vkh)
13401342
NoStakeAddress
13411343
]
1344+
1345+
-- | Hash a genesis file
1346+
runGenesisHashFileCmd :: GenesisFile -> ExceptT GenesisCmdError IO ()
1347+
runGenesisHashFileCmd (GenesisFile fpath) = do
1348+
content <-
1349+
handleIOExceptT (GenesisCmdGenesisFileError . FileIOError fpath) $
1350+
BS.readFile fpath
1351+
let gh :: Crypto.Hash Crypto.Blake2b_256 ByteString
1352+
gh = Crypto.hashWith id content
1353+
liftIO $ Text.putStrLn (Crypto.hashToTextAsHex gh)

cardano-cli/src/Cardano/CLI/Legacy/Commands/Genesis.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ data LegacyGenesisCmds
8181
(VerificationKeyFile In)
8282
NetworkId
8383
(Maybe (File () Out))
84+
| GenesisHashFile
85+
GenesisFile
8486
deriving Show
8587

8688
renderLegacyGenesisCmds :: LegacyGenesisCmds -> Text
@@ -95,3 +97,4 @@ renderLegacyGenesisCmds = \case
9597
GenesisVerKey{} -> "genesis get-ver-key"
9698
GenesisTxIn{} -> "genesis initial-txin"
9799
GenesisAddr{} -> "genesis initial-addr"
100+
GenesisHashFile{} -> "genesis hash"

cardano-cli/src/Cardano/CLI/Legacy/Options.hs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,15 @@ pGenesisCmds envCli =
171171
[ "Create a staked Shelley genesis file from a genesis "
172172
, "template and genesis/delegation/spending keys."
173173
]
174+
, subParser "hash" $
175+
Opt.info pGenesisHash $
176+
Opt.progDesc $
177+
unlines
178+
[ "DEPRECATION WARNING! This command is deprecated and will be "
179+
, "removed in a future release. Please use hash genesis-file "
180+
, "instead. "
181+
, "Compute the hash of a genesis file."
182+
]
174183
]
175184
where
176185
pGenesisKeyGen :: Parser LegacyGenesisCmds
@@ -275,6 +284,10 @@ pGenesisCmds envCli =
275284
<*> pStuffedUtxoCount
276285
<*> Opt.optional pRelayJsonFp
277286

287+
pGenesisHash :: Parser LegacyGenesisCmds
288+
pGenesisHash =
289+
GenesisHashFile <$> pGenesisFile "The genesis file."
290+
278291
pGenesisDir :: Parser GenesisDir
279292
pGenesisDir =
280293
fmap GenesisDir $

cardano-cli/src/Cardano/CLI/Legacy/Run/Genesis.hs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ runLegacyGenesisCmds = \case
4444
runLegacyGenesisCreateCardanoCmd eSbe gd gn un ms am k slotLength sc nw bg sg ag cg mNodeCfg
4545
GenesisCreateStaked eSbe fmt gd gn gp gl un ms am ds nw bf bp su relayJsonFp ->
4646
runLegacyGenesisCreateStakedCmd eSbe fmt gd gn gp gl un ms am ds nw bf bp su relayJsonFp
47+
GenesisHashFile gf ->
48+
runLegacyGenesisHashFileCmd gf
4749

4850
runLegacyGenesisKeyGenGenesisCmd
4951
:: ()
@@ -269,3 +271,10 @@ runLegacyGenesisCreateStakedCmd
269271
, Cmd.numStuffedUtxo = numStuffedUtxo
270272
, Cmd.mStakePoolRelaySpecFile = mStakePoolRelaySpecFile
271273
}
274+
275+
-- | Hash a genesis file
276+
runLegacyGenesisHashFileCmd
277+
:: ()
278+
=> GenesisFile
279+
-> ExceptT GenesisCmdError IO ()
280+
runLegacyGenesisHashFileCmd = runGenesisHashFileCmd

cardano-cli/test/cardano-cli-golden/files/golden/help.cli

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,7 @@ Usage: cardano-cli legacy genesis
544544
| create-cardano
545545
| create
546546
| create-staked
547+
| hash
547548
)
548549

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

668+
Usage: cardano-cli legacy genesis hash --genesis FILEPATH
669+
670+
DEPRECATION WARNING! This command is deprecated and will be removed in a
671+
future release. Please use hash genesis-file instead. Compute the hash of a
672+
genesis file.
673+
667674
Usage: cardano-cli byron
668675
( key
669676
| transaction
@@ -1090,6 +1097,7 @@ Usage: cardano-cli shelley genesis
10901097
| create
10911098
| create-staked
10921099
| create-testnet-data
1100+
| hash
10931101
)
10941102

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

12121220
Create data to use for starting a testnet.
12131221

1222+
Usage: cardano-cli shelley genesis hash --genesis FILEPATH
1223+
1224+
DEPRECATION WARNING! This command is deprecated and will be removed in a
1225+
future release. Please use hash genesis-file instead. Compute the hash of a
1226+
genesis file.
1227+
12141228
Usage: cardano-cli shelley governance
12151229
( create-mir-certificate
12161230
| create-genesis-key-delegation-certificate
@@ -2158,6 +2172,7 @@ Usage: cardano-cli allegra genesis
21582172
| create
21592173
| create-staked
21602174
| create-testnet-data
2175+
| hash
21612176
)
21622177

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

22802295
Create data to use for starting a testnet.
22812296

2297+
Usage: cardano-cli allegra genesis hash --genesis FILEPATH
2298+
2299+
DEPRECATION WARNING! This command is deprecated and will be removed in a
2300+
future release. Please use hash genesis-file instead. Compute the hash of a
2301+
genesis file.
2302+
22822303
Usage: cardano-cli allegra governance
22832304
( create-mir-certificate
22842305
| create-genesis-key-delegation-certificate
@@ -3226,6 +3247,7 @@ Usage: cardano-cli mary genesis
32263247
| create
32273248
| create-staked
32283249
| create-testnet-data
3250+
| hash
32293251
)
32303252

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

33463368
Create data to use for starting a testnet.
33473369

3370+
Usage: cardano-cli mary genesis hash --genesis FILEPATH
3371+
3372+
DEPRECATION WARNING! This command is deprecated and will be removed in a
3373+
future release. Please use hash genesis-file instead. Compute the hash of a
3374+
genesis file.
3375+
33483376
Usage: cardano-cli mary governance
33493377
( create-mir-certificate
33503378
| create-genesis-key-delegation-certificate
@@ -4284,6 +4312,7 @@ Usage: cardano-cli alonzo genesis
42844312
| create
42854313
| create-staked
42864314
| create-testnet-data
4315+
| hash
42874316
)
42884317

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

44044433
Create data to use for starting a testnet.
44054434

4435+
Usage: cardano-cli alonzo genesis hash --genesis FILEPATH
4436+
4437+
DEPRECATION WARNING! This command is deprecated and will be removed in a
4438+
future release. Please use hash genesis-file instead. Compute the hash of a
4439+
genesis file.
4440+
44064441
Usage: cardano-cli alonzo governance
44074442
( create-mir-certificate
44084443
| create-genesis-key-delegation-certificate
@@ -5357,6 +5392,7 @@ Usage: cardano-cli babbage genesis
53575392
| create
53585393
| create-staked
53595394
| create-testnet-data
5395+
| hash
53605396
)
53615397

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

54795515
Create data to use for starting a testnet.
54805516

5517+
Usage: cardano-cli babbage genesis hash --genesis FILEPATH
5518+
5519+
DEPRECATION WARNING! This command is deprecated and will be removed in a
5520+
future release. Please use hash genesis-file instead. Compute the hash of a
5521+
genesis file.
5522+
54815523
Usage: cardano-cli babbage governance
54825524
( create-mir-certificate
54835525
| create-genesis-key-delegation-certificate
@@ -6710,6 +6752,7 @@ Usage: cardano-cli conway genesis
67106752
| create
67116753
| create-staked
67126754
| create-testnet-data
6755+
| hash
67136756
)
67146757

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

68306873
Create data to use for starting a testnet.
68316874

6875+
Usage: cardano-cli conway genesis hash --genesis FILEPATH
6876+
6877+
DEPRECATION WARNING! This command is deprecated and will be removed in a
6878+
future release. Please use hash genesis-file instead. Compute the hash of a
6879+
genesis file.
6880+
68326881
Usage: cardano-cli conway governance (action | committee | drep | vote)
68336882

68346883
Governance commands.
@@ -8705,6 +8754,7 @@ Usage: cardano-cli latest genesis
87058754
| create
87068755
| create-staked
87078756
| create-testnet-data
8757+
| hash
87088758
)
87098759

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

88258875
Create data to use for starting a testnet.
88268876

8877+
Usage: cardano-cli latest genesis hash --genesis FILEPATH
8878+
8879+
DEPRECATION WARNING! This command is deprecated and will be removed in a
8880+
future release. Please use hash genesis-file instead. Compute the hash of a
8881+
genesis file.
8882+
88278883
Usage: cardano-cli latest governance (action | committee | drep | vote)
88288884

88298885
Governance commands.

cardano-cli/test/cardano-cli-golden/files/golden/help/allegra_genesis.cli

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Usage: cardano-cli allegra genesis
1010
| create
1111
| create-staked
1212
| create-testnet-data
13+
| hash
1314
)
1415

1516
Genesis block commands.
@@ -35,3 +36,7 @@ Available commands:
3536
create-staked Create a staked Shelley genesis file from a genesis
3637
template and genesis/delegation/spending keys.
3738
create-testnet-data Create data to use for starting a testnet.
39+
hash DEPRECATION WARNING! This command is deprecated and
40+
will be removed in a future release. Please use hash
41+
genesis-file instead. Compute the hash of a genesis
42+
file.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Usage: cardano-cli allegra genesis hash --genesis FILEPATH
2+
3+
DEPRECATION WARNING! This command is deprecated and will be removed in a
4+
future release. Please use hash genesis-file instead. Compute the hash of a
5+
genesis file.
6+
7+
Available options:
8+
--genesis FILEPATH The genesis file.
9+
-h,--help Show this help text

cardano-cli/test/cardano-cli-golden/files/golden/help/alonzo_genesis.cli

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Usage: cardano-cli alonzo genesis
1010
| create
1111
| create-staked
1212
| create-testnet-data
13+
| hash
1314
)
1415

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

0 commit comments

Comments
 (0)