@@ -26,93 +26,79 @@ import Options.Applicative hiding (help, str)
2626import Options.Applicative qualified as Opt
2727
2828pGenesisCmds
29- :: ()
30- => ShelleyBasedEra era
31- -> EnvCli
29+ :: Exp. IsEra era
30+ => EnvCli
3231 -> Maybe (Parser (GenesisCmds era ))
33- pGenesisCmds era envCli =
32+ pGenesisCmds envCli =
3433 subInfoParser
3534 " genesis"
3635 ( Opt. progDesc $
3736 mconcat
3837 [ " Genesis block commands."
3938 ]
4039 )
41- [ Just $
42- Opt. hsubparser $
40+ $ map
41+ Just
42+ [ Opt. hsubparser $
4343 commandWithMetavar " key-gen-genesis" $
4444 Opt. info pGenesisKeyGen $
4545 Opt. progDesc " Create a Shelley genesis key pair"
46- , Just $
47- Opt. hsubparser $
46+ , Opt. hsubparser $
4847 commandWithMetavar " key-gen-delegate" $
4948 Opt. info pGenesisDelegateKeyGen $
5049 Opt. progDesc " Create a Shelley genesis delegate key pair"
51- , Just $
52- Opt. hsubparser $
50+ , Opt. hsubparser $
5351 commandWithMetavar " key-gen-utxo" $
5452 Opt. info pGenesisUTxOKeyGen $
5553 Opt. progDesc " Create a Shelley genesis UTxO key pair"
56- , Just $
57- Opt. hsubparser $
54+ , Opt. hsubparser $
5855 commandWithMetavar " key-hash" $
5956 Opt. info pGenesisKeyHash $
6057 Opt. progDesc " Print the identifier (hash) of a public key"
61- , Just $
62- Opt. hsubparser $
58+ , Opt. hsubparser $
6359 commandWithMetavar " get-ver-key" $
6460 Opt. info pGenesisVerKey $
6561 Opt. progDesc " Derive the verification key from a signing key"
66- , Just $
67- Opt. hsubparser $
62+ , Opt. hsubparser $
6863 commandWithMetavar " initial-addr" $
6964 Opt. info (pGenesisAddr envCli) $
7065 Opt. progDesc " Get the address for an initial UTxO based on the verification key"
71- , Just $
72- Opt. hsubparser $
66+ , Opt. hsubparser $
7367 commandWithMetavar " initial-txin" $
7468 Opt. info (pGenesisTxIn envCli) $
7569 Opt. progDesc " Get the TxIn for an initial UTxO based on the verification key"
76- , forShelleyBasedEraInEonMaybe
77- era
78- ( \ sbe ->
79- Opt. hsubparser $
80- commandWithMetavar " create-cardano" $
81- Opt. info (pGenesisCreateCardano sbe envCli) $
82- Opt. progDesc $
83- mconcat
84- [ " Create a Byron and Shelley genesis file from a genesis "
85- , " template and genesis/delegation/spending keys."
86- ]
87- )
88- , forShelleyBasedEraInEonMaybe era $ \ sbe ->
89- Opt. hsubparser $
70+ , Opt. hsubparser $
71+ commandWithMetavar " create-cardano" $
72+ Opt. info (pGenesisCreateCardano envCli) $
73+ Opt. progDesc $
74+ mconcat
75+ [ " Create a Byron and Shelley genesis file from a genesis "
76+ , " template and genesis/delegation/spending keys."
77+ ]
78+ , Opt. hsubparser $
9079 commandWithMetavar " create" $
91- Opt. info (pGenesisCreate sbe envCli) $
80+ Opt. info (pGenesisCreate envCli) $
9281 Opt. progDesc $
9382 mconcat
9483 [ " Create a Shelley genesis file from a genesis "
9584 , " template and genesis/delegation/spending keys."
9685 ]
97- , forShelleyBasedEraInEonMaybe era $ \ sbe ->
98- Opt. hsubparser $
86+ , Opt. hsubparser $
9987 commandWithMetavar " create-staked" $
100- Opt. info (pGenesisCreateStaked sbe envCli) $
88+ Opt. info (pGenesisCreateStaked envCli) $
10189 Opt. progDesc $
10290 mconcat
10391 [ " Create a staked Shelley genesis file from a genesis "
10492 , " template and genesis/delegation/spending keys."
10593 ]
106- , forShelleyBasedEraInEonMaybe era $ \ sbe ->
107- Opt. hsubparser $
94+ , Opt. hsubparser $
10895 commandWithMetavar " create-testnet-data" $
109- Opt. info (pGenesisCreateTestNetData sbe envCli) $
96+ Opt. info (pGenesisCreateTestNetData envCli) $
11097 Opt. progDesc $
11198 mconcat
11299 [ " Create data to use for starting a testnet."
113100 ]
114- , Just $
115- Opt. hsubparser $
101+ , Opt. hsubparser $
116102 commandWithMetavar " hash" $
117103 Opt. info pGenesisHash $
118104 Opt. progDesc $
@@ -122,7 +108,7 @@ pGenesisCmds era envCli =
122108 , " instead. "
123109 , " Compute the hash of a genesis file."
124110 ]
125- ]
111+ ]
126112
127113pGenesisKeyGen :: Parser (GenesisCmds era )
128114pGenesisKeyGen =
@@ -174,10 +160,10 @@ pGenesisTxIn envCli =
174160 <*> pNetworkId envCli
175161 <*> pMaybeOutputFile
176162
177- pGenesisCreateCardano :: ShelleyBasedEra era - > EnvCli -> Parser (GenesisCmds era )
178- pGenesisCreateCardano sbe envCli =
163+ pGenesisCreateCardano :: Exp. IsEra era = > EnvCli -> Parser (GenesisCmds era )
164+ pGenesisCreateCardano envCli =
179165 fmap GenesisCreateCardano $
180- GenesisCreateCardanoCmdArgs sbe
166+ GenesisCreateCardanoCmdArgs (convert Exp. useEra)
181167 <$> pGenesisDir
182168 <*> pGenesisNumGenesisKeys
183169 <*> pGenesisNumUTxOKeys
@@ -201,10 +187,10 @@ pGenesisCreateCardano sbe envCli =
201187 " JSON file with genesis defaults for conway."
202188 <*> pNodeConfigTemplate
203189
204- pGenesisCreate :: ShelleyBasedEra era - > EnvCli -> Parser (GenesisCmds era )
205- pGenesisCreate sbe envCli =
190+ pGenesisCreate :: Exp. IsEra era = > EnvCli -> Parser (GenesisCmds era )
191+ pGenesisCreate envCli =
206192 fmap GenesisCreate $
207- GenesisCreateCmdArgs sbe
193+ GenesisCreateCmdArgs (convert Exp. useEra)
208194 <$> pKeyOutputFormat
209195 <*> pGenesisDir
210196 <*> pGenesisNumGenesisKeys
@@ -213,10 +199,10 @@ pGenesisCreate sbe envCli =
213199 <*> pInitialSupplyNonDelegated
214200 <*> pNetworkId envCli
215201
216- pGenesisCreateStaked :: ShelleyBasedEra era - > EnvCli -> Parser (GenesisCmds era )
217- pGenesisCreateStaked sbe envCli =
202+ pGenesisCreateStaked :: Exp. IsEra era = > EnvCli -> Parser (GenesisCmds era )
203+ pGenesisCreateStaked envCli =
218204 fmap GenesisCreateStaked $
219- GenesisCreateStakedCmdArgs sbe
205+ GenesisCreateStakedCmdArgs (convert Exp. useEra)
220206 <$> pKeyOutputFormat
221207 <*> pGenesisDir
222208 <*> pGenesisNumGenesisKeys
@@ -236,18 +222,18 @@ pGenesisCreateStaked sbe envCli =
236222 pRelayJsonFp =
237223 parseFilePath " relay-specification-file" " JSON file that specifies the relays of each stake pool."
238224
239- pGenesisCreateTestNetData :: Exp. Era era - > EnvCli -> Parser (GenesisCmds era )
240- pGenesisCreateTestNetData era envCli =
225+ pGenesisCreateTestNetData :: forall era . Exp. IsEra era = > EnvCli -> Parser (GenesisCmds era )
226+ pGenesisCreateTestNetData envCli =
241227 fmap GenesisCreateTestNetData $
242- GenesisCreateTestNetDataCmdArgs era
228+ GenesisCreateTestNetDataCmdArgs (convert $ Exp. useEra @ era )
243229 <$> optional (pSpecFile " shelley" )
244230 <*> optional (pSpecFile " alonzo" )
245231 <*> optional (pSpecFile " conway" )
246232 <*> pNumGenesisKeys
247233 <*> pNumPools
248234 <*> pNumStakeDelegs
249- <*> (case era of Exp. ConwayEra -> pNumCommittee) -- Committee doesn't exist in babbage
250- <*> (case era of Exp. ConwayEra -> pNumDReps) -- DReps don't exist in babbage
235+ <*> (case Exp. useEra @ era of Exp. ConwayEra -> pNumCommittee) -- Committee doesn't exist in babbage
236+ <*> (case Exp. useEra @ era of Exp. ConwayEra -> pNumDReps) -- DReps don't exist in babbage
251237 <*> pNumStuffedUtxoCount
252238 <*> pNumUtxoKeys
253239 <*> pSupply
0 commit comments