diff --git a/cardano-cli/src/Cardano/CLI/EraBased/Options/StakeAddress.hs b/cardano-cli/src/Cardano/CLI/EraBased/Options/StakeAddress.hs index 44cb1760b5..5705580986 100644 --- a/cardano-cli/src/Cardano/CLI/EraBased/Options/StakeAddress.hs +++ b/cardano-cli/src/Cardano/CLI/EraBased/Options/StakeAddress.hs @@ -86,28 +86,26 @@ pStakeAddressRegistrationCertificateCmd :: () -> Maybe (Parser (StakeAddressCmds era)) pStakeAddressRegistrationCertificateCmd era = do forEraInEonMaybe era $ \sbe -> - caseShelleyToBabbageOrConwayEraOnwards - (\shelleyToBabbage -> subParser "registration-certificate" - $ Opt.info - ( StakeAddressRegistrationCertificateCmd (shelleyToBabbageEraToShelleyBasedEra shelleyToBabbage) + caseShelleyToAlonzoOrBabbageEraOnwards + (\shelleyToAlonzo -> + make ( StakeAddressRegistrationCertificateCmd (shelleyToAlonzoEraToShelleyBasedEra shelleyToAlonzo) <$> pStakeIdentifier <*> optional pKeyRegistDeposit <*> pOutputFile - ) - desc + ) ) - (\conwayOnwards -> subParser "registration-certificate" - $ Opt.info - ( StakeAddressRegistrationCertificateCmd (conwayEraOnwardsToShelleyBasedEra conwayOnwards) - <$> pStakeIdentifier - <*> fmap Just pKeyRegistDeposit - <*> pOutputFile - ) - desc + (\babbageOnwards -> + let babbageOrConway = babbageEraOnwardsToShelleyBasedEra babbageOnwards + babbageBuilder si = StakeAddressRegistrationCertificateCmd babbageOrConway si Nothing + conwayBuilder si lovelace = StakeAddressRegistrationCertificateCmd babbageOrConway si (Just lovelace) + in make $ case babbageOnwards of + BabbageEraOnwardsBabbage -> babbageBuilder <$> pStakeIdentifier <*> pOutputFile + BabbageEraOnwardsConway -> conwayBuilder <$> pStakeIdentifier <*> pKeyRegistDeposit <*> pOutputFile ) sbe where desc = Opt.progDesc "Create a stake address registration certificate" + make parser = subParser "registration-certificate" (Opt.info parser desc) pStakeAddressDeregistrationCertificateCmd :: () => CardanoEra era