{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} module Cardano.CLI.Compatible.StakePool.Option ( pCompatibleStakePoolCmds ) where import Cardano.Api import Cardano.CLI.Compatible.StakePool.Command import Cardano.CLI.Environment (EnvCli (..)) import Cardano.CLI.EraBased.Common.Option import Cardano.CLI.Parser import Options.Applicative hiding (help, str) import Options.Applicative qualified as Opt pCompatibleStakePoolCmds :: () => ShelleyBasedEra era -> EnvCli -> Maybe (Parser (CompatibleStakePoolCmds era)) pCompatibleStakePoolCmds :: forall era. ShelleyBasedEra era -> EnvCli -> Maybe (Parser (CompatibleStakePoolCmds era)) pCompatibleStakePoolCmds ShelleyBasedEra era era EnvCli envCli = String -> InfoMod (CompatibleStakePoolCmds era) -> [Maybe (Parser (CompatibleStakePoolCmds era))] -> Maybe (Parser (CompatibleStakePoolCmds era)) forall a. String -> InfoMod a -> [Maybe (Parser a)] -> Maybe (Parser a) subInfoParser String "stake-pool" ( String -> InfoMod (CompatibleStakePoolCmds era) forall a. String -> InfoMod a Opt.progDesc (String -> InfoMod (CompatibleStakePoolCmds era)) -> String -> InfoMod (CompatibleStakePoolCmds era) forall a b. (a -> b) -> a -> b $ [String] -> String forall a. Monoid a => [a] -> a mconcat [ String "Stake pool commands." ] ) [ ShelleyBasedEra era -> EnvCli -> Maybe (Parser (CompatibleStakePoolCmds era)) forall era. ShelleyBasedEra era -> EnvCli -> Maybe (Parser (CompatibleStakePoolCmds era)) pCompatibleStakePoolRegistrationCertificateCmd ShelleyBasedEra era era EnvCli envCli ] pCompatibleStakePoolRegistrationCertificateCmd :: () => ShelleyBasedEra era -> EnvCli -> Maybe (Parser (CompatibleStakePoolCmds era)) pCompatibleStakePoolRegistrationCertificateCmd :: forall era. ShelleyBasedEra era -> EnvCli -> Maybe (Parser (CompatibleStakePoolCmds era)) pCompatibleStakePoolRegistrationCertificateCmd ShelleyBasedEra era era EnvCli envCli = do w <- ShelleyBasedEra era -> Maybe (ShelleyBasedEra era) forall (eon :: * -> *) era. Eon eon => ShelleyBasedEra era -> Maybe (eon era) forShelleyBasedEraMaybeEon ShelleyBasedEra era era pure $ Opt.hsubparser $ commandWithMetavar "registration-certificate" $ Opt.info ( fmap CompatibleStakePoolRegistrationCertificateCmd $ CompatibleStakePoolRegistrationCertificateCmdArgs w <$> pStakePoolVerificationKeyOrFile Nothing <*> pVrfVerificationKeyOrFile <*> pPoolPledge <*> pPoolCost <*> pPoolMargin <*> pRewardAcctVerificationKeyOrFile <*> some pPoolOwnerVerificationKeyOrFile <*> many pPoolRelay <*> optional ( pPotentiallyCheckedAnchorData pMustCheckStakeMetadataHash pStakePoolMetadataReference ) <*> pNetworkId envCli <*> pOutputFile ) $ Opt.progDesc "Create a stake pool registration certificate"