{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} module Cardano.CLI.EraBased.StakePool.Option ( pStakePoolCmds ) where import Cardano.Api import Cardano.Api.Experimental import Cardano.Api.Ledger qualified as L import Cardano.CLI.Environment (EnvCli (..)) import Cardano.CLI.EraBased.Common.Option import Cardano.CLI.EraBased.StakePool.Command qualified as Cmd import Cardano.CLI.EraIndependent.Hash.Command qualified as Cmd import Cardano.CLI.Parser import Data.Foldable qualified as F import Options.Applicative hiding (help, str) import Options.Applicative qualified as Opt pStakePoolCmds :: IsEra era => EnvCli -> Maybe (Parser (Cmd.StakePoolCmds era)) pStakePoolCmds :: forall era. IsEra era => EnvCli -> Maybe (Parser (StakePoolCmds era)) pStakePoolCmds EnvCli envCli = String -> InfoMod (StakePoolCmds era) -> [Maybe (Parser (StakePoolCmds era))] -> Maybe (Parser (StakePoolCmds era)) forall a. String -> InfoMod a -> [Maybe (Parser a)] -> Maybe (Parser a) subInfoParser String "stake-pool" ( String -> InfoMod (StakePoolCmds era) forall a. String -> InfoMod a Opt.progDesc (String -> InfoMod (StakePoolCmds era)) -> String -> InfoMod (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ [String] -> String forall a. Monoid a => [a] -> a mconcat [ String "Stake pool commands." ] ) [ EnvCli -> Maybe (Parser (StakePoolCmds era)) forall era. IsEra era => EnvCli -> Maybe (Parser (StakePoolCmds era)) pStakePoolRegistrationCertificateCmd EnvCli envCli , Maybe (Parser (StakePoolCmds era)) forall era. IsEra era => Maybe (Parser (StakePoolCmds era)) pStakePoolDeregistrationCertificateCmd , Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a. a -> Maybe a Just (Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era))) -> Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a b. (a -> b) -> a -> b $ Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a. Mod CommandFields a -> Parser a Opt.hsubparser (Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era)) -> Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a. String -> ParserInfo a -> Mod CommandFields a commandWithMetavar String "id" (ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era)) -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ Parser (StakePoolCmds era) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a. Parser a -> InfoMod a -> ParserInfo a Opt.info Parser (StakePoolCmds era) forall era. Parser (StakePoolCmds era) pStakePoolId (InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era)) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> InfoMod (StakePoolCmds era) forall a. String -> InfoMod a Opt.progDesc String "Build pool id from the offline key" , Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a. a -> Maybe a Just (Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era))) -> Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a b. (a -> b) -> a -> b $ Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a. Mod CommandFields a -> Parser a Opt.hsubparser (Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era)) -> Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a. String -> ParserInfo a -> Mod CommandFields a commandWithMetavar String "metadata-hash" (ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era)) -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ Parser (StakePoolCmds era) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a. Parser a -> InfoMod a -> ParserInfo a Opt.info Parser (StakePoolCmds era) forall era. Parser (StakePoolCmds era) pStakePoolMetadataHashCmd (InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era)) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> InfoMod (StakePoolCmds era) forall a. String -> InfoMod a Opt.progDesc (String -> InfoMod (StakePoolCmds era)) -> String -> InfoMod (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ [String] -> String forall a. Monoid a => [a] -> a mconcat [ String "Calculate the hash of a stake pool metadata file," , String " optionally checking the obtained hash against an expected value." ] ] pStakePoolId :: () => Parser (Cmd.StakePoolCmds era) pStakePoolId :: forall era. Parser (StakePoolCmds era) pStakePoolId = (StakePoolIdCmdArgs era -> StakePoolCmds era) -> Parser (StakePoolIdCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap StakePoolIdCmdArgs era -> StakePoolCmds era forall era. StakePoolIdCmdArgs era -> StakePoolCmds era Cmd.StakePoolIdCmd (Parser (StakePoolIdCmdArgs era) -> Parser (StakePoolCmds era)) -> Parser (StakePoolIdCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ StakePoolVerificationKeySource -> Vary '[FormatBech32, FormatHex] -> Maybe (File () 'Out) -> StakePoolIdCmdArgs era forall era. StakePoolVerificationKeySource -> Vary '[FormatBech32, FormatHex] -> Maybe (File () 'Out) -> StakePoolIdCmdArgs era Cmd.StakePoolIdCmdArgs (StakePoolVerificationKeySource -> Vary '[FormatBech32, FormatHex] -> Maybe (File () 'Out) -> StakePoolIdCmdArgs era) -> Parser StakePoolVerificationKeySource -> Parser (Vary '[FormatBech32, FormatHex] -> Maybe (File () 'Out) -> StakePoolIdCmdArgs era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Maybe String -> Parser StakePoolVerificationKeySource pStakePoolVerificationKeyOrFile Maybe String forall a. Maybe a Nothing Parser (Vary '[FormatBech32, FormatHex] -> Maybe (File () 'Out) -> StakePoolIdCmdArgs era) -> Parser (Vary '[FormatBech32, FormatHex]) -> Parser (Maybe (File () 'Out) -> StakePoolIdCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (Vary '[FormatBech32, FormatHex]) pPoolIdOutputFormat Parser (Maybe (File () 'Out) -> StakePoolIdCmdArgs era) -> Parser (Maybe (File () 'Out)) -> Parser (StakePoolIdCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (Maybe (File () 'Out)) forall content. Parser (Maybe (File content 'Out)) pMaybeOutputFile pStakePoolMetadataHashCmd :: () => Parser (Cmd.StakePoolCmds era) pStakePoolMetadataHashCmd :: forall era. Parser (StakePoolCmds era) pStakePoolMetadataHashCmd = (StakePoolMetadataHashCmdArgs era -> StakePoolCmds era) -> Parser (StakePoolMetadataHashCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap StakePoolMetadataHashCmdArgs era -> StakePoolCmds era forall era. StakePoolMetadataHashCmdArgs era -> StakePoolCmds era Cmd.StakePoolMetadataHashCmd (Parser (StakePoolMetadataHashCmdArgs era) -> Parser (StakePoolCmds era)) -> Parser (StakePoolMetadataHashCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ StakePoolMetadataSource -> HashGoal (Hash StakePoolMetadata) -> StakePoolMetadataHashCmdArgs era forall era. StakePoolMetadataSource -> HashGoal (Hash StakePoolMetadata) -> StakePoolMetadataHashCmdArgs era Cmd.StakePoolMetadataHashCmdArgs (StakePoolMetadataSource -> HashGoal (Hash StakePoolMetadata) -> StakePoolMetadataHashCmdArgs era) -> Parser StakePoolMetadataSource -> Parser (HashGoal (Hash StakePoolMetadata) -> StakePoolMetadataHashCmdArgs era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Parser StakePoolMetadataSource pPoolMetadataSource Parser (HashGoal (Hash StakePoolMetadata) -> StakePoolMetadataHashCmdArgs era) -> Parser (HashGoal (Hash StakePoolMetadata)) -> Parser (StakePoolMetadataHashCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (HashGoal (Hash StakePoolMetadata)) pPoolMetadataHashGoal pPoolMetadataSource :: Parser Cmd.StakePoolMetadataSource pPoolMetadataSource :: Parser StakePoolMetadataSource pPoolMetadataSource = [Parser StakePoolMetadataSource] -> Parser StakePoolMetadataSource forall (t :: * -> *) (f :: * -> *) a. (Foldable t, Alternative f) => t (f a) -> f a F.asum [ StakePoolMetadataFile 'In -> StakePoolMetadataSource Cmd.StakePoolMetadataFileIn (StakePoolMetadataFile 'In -> StakePoolMetadataSource) -> Parser (StakePoolMetadataFile 'In) -> Parser StakePoolMetadataSource forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Parser (StakePoolMetadataFile 'In) pPoolMetadataFile , Url -> StakePoolMetadataSource Cmd.StakePoolMetadataURL (Url -> StakePoolMetadataSource) -> Parser Url -> Parser StakePoolMetadataSource forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> String -> String -> Parser Url pUrl String "pool-metadata-url" String "URL pointing to the JSON Metadata file to hash." ] pPoolMetadataHashGoal :: Parser (Cmd.HashGoal (Hash StakePoolMetadata)) pPoolMetadataHashGoal :: Parser (HashGoal (Hash StakePoolMetadata)) pPoolMetadataHashGoal = [Parser (HashGoal (Hash StakePoolMetadata))] -> Parser (HashGoal (Hash StakePoolMetadata)) forall (t :: * -> *) (f :: * -> *) a. (Foldable t, Alternative f) => t (f a) -> f a F.asum [ Hash StakePoolMetadata -> HashGoal (Hash StakePoolMetadata) forall hash. hash -> HashGoal hash Cmd.CheckHash (Hash StakePoolMetadata -> HashGoal (Hash StakePoolMetadata)) -> Parser (Hash StakePoolMetadata) -> Parser (HashGoal (Hash StakePoolMetadata)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Parser (Hash StakePoolMetadata) pExpectedStakePoolMetadataHash , File () 'Out -> HashGoal (Hash StakePoolMetadata) forall hash. File () 'Out -> HashGoal hash Cmd.HashToFile (File () 'Out -> HashGoal (Hash StakePoolMetadata)) -> Parser (File () 'Out) -> Parser (HashGoal (Hash StakePoolMetadata)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Parser (File () 'Out) forall content. Parser (File content 'Out) pOutputFile ] Parser (HashGoal (Hash StakePoolMetadata)) -> Parser (HashGoal (Hash StakePoolMetadata)) -> Parser (HashGoal (Hash StakePoolMetadata)) forall a. Parser a -> Parser a -> Parser a forall (f :: * -> *) a. Alternative f => f a -> f a -> f a <|> HashGoal (Hash StakePoolMetadata) -> Parser (HashGoal (Hash StakePoolMetadata)) forall a. a -> Parser a forall (f :: * -> *) a. Applicative f => a -> f a pure HashGoal (Hash StakePoolMetadata) forall hash. HashGoal hash Cmd.HashToStdout pExpectedStakePoolMetadataHash :: Parser (Hash StakePoolMetadata) pExpectedStakePoolMetadataHash :: Parser (Hash StakePoolMetadata) pExpectedStakePoolMetadataHash = (SafeHash AnchorData -> Hash StakePoolMetadata) -> String -> Parser (Hash StakePoolMetadata) forall a. (SafeHash AnchorData -> a) -> String -> Parser a pExpectedHash (Hash HASH ByteString -> Hash StakePoolMetadata StakePoolMetadataHash (Hash HASH ByteString -> Hash StakePoolMetadata) -> (SafeHash AnchorData -> Hash HASH ByteString) -> SafeHash AnchorData -> Hash StakePoolMetadata forall b c a. (b -> c) -> (a -> b) -> a -> c . SafeHash ByteString -> Hash HASH ByteString forall i. SafeHash i -> Hash HASH i L.extractHash (SafeHash ByteString -> Hash HASH ByteString) -> (SafeHash AnchorData -> SafeHash ByteString) -> SafeHash AnchorData -> Hash HASH ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . SafeHash AnchorData -> SafeHash ByteString forall i j. SafeHash i -> SafeHash j L.castSafeHash) String "stake pool metadata" pStakePoolRegistrationCertificateCmd :: IsEra era => EnvCli -> Maybe (Parser (Cmd.StakePoolCmds era)) pStakePoolRegistrationCertificateCmd :: forall era. IsEra era => EnvCli -> Maybe (Parser (StakePoolCmds era)) pStakePoolRegistrationCertificateCmd EnvCli envCli = do Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a. a -> Maybe a forall (f :: * -> *) a. Applicative f => a -> f a pure (Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era))) -> Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a b. (a -> b) -> a -> b $ Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a. Mod CommandFields a -> Parser a Opt.hsubparser (Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era)) -> Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a. String -> ParserInfo a -> Mod CommandFields a commandWithMetavar String "registration-certificate" (ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era)) -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ Parser (StakePoolCmds era) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a. Parser a -> InfoMod a -> ParserInfo a Opt.info ( (StakePoolRegistrationCertificateCmdArgs era -> StakePoolCmds era) -> Parser (StakePoolRegistrationCertificateCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap StakePoolRegistrationCertificateCmdArgs era -> StakePoolCmds era forall era. StakePoolRegistrationCertificateCmdArgs era -> StakePoolCmds era Cmd.StakePoolRegistrationCertificateCmd (Parser (StakePoolRegistrationCertificateCmdArgs era) -> Parser (StakePoolCmds era)) -> Parser (StakePoolRegistrationCertificateCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ Era era -> StakePoolVerificationKeySource -> VerificationKeyOrFile VrfKey -> Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era forall era. Era era -> StakePoolVerificationKeySource -> VerificationKeyOrFile VrfKey -> Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era Cmd.StakePoolRegistrationCertificateCmdArgs (Era era -> Era era forall era. Era era -> Era era forall a (f :: a -> *) (g :: a -> *) (era :: a). Convert f g => f era -> g era convert Era era forall era. IsEra era => Era era useEra) (StakePoolVerificationKeySource -> VerificationKeyOrFile VrfKey -> Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser StakePoolVerificationKeySource -> Parser (VerificationKeyOrFile VrfKey -> Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Maybe String -> Parser StakePoolVerificationKeySource pStakePoolVerificationKeyOrFile Maybe String forall a. Maybe a Nothing Parser (VerificationKeyOrFile VrfKey -> Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser (VerificationKeyOrFile VrfKey) -> Parser (Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (VerificationKeyOrFile VrfKey) pVrfVerificationKeyOrFile Parser (Coin -> Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser Coin -> Parser (Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser Coin pPoolPledge Parser (Coin -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser Coin -> Parser (Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser Coin pPoolCost Parser (Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser Rational -> Parser (VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser Rational pPoolMargin Parser (VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser (VerificationKeyOrFile StakeKey) -> Parser ([VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (VerificationKeyOrFile StakeKey) pRewardAcctVerificationKeyOrFile Parser ([VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser [VerificationKeyOrFile StakeKey] -> Parser ([StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (VerificationKeyOrFile StakeKey) -> Parser [VerificationKeyOrFile StakeKey] forall a. Parser a -> Parser [a] forall (f :: * -> *) a. Alternative f => f a -> f [a] some Parser (VerificationKeyOrFile StakeKey) pPoolOwnerVerificationKeyOrFile Parser ([StakePoolRelay] -> Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser [StakePoolRelay] -> Parser (Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser StakePoolRelay -> Parser [StakePoolRelay] forall a. Parser a -> Parser [a] forall (f :: * -> *) a. Alternative f => f a -> f [a] many Parser StakePoolRelay pPoolRelay Parser (Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser (Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference)) -> Parser (NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) -> Parser (Maybe (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference)) forall (f :: * -> *) a. Alternative f => f a -> f (Maybe a) optional ( Parser (MustCheckHash StakePoolMetadataReference) -> Parser StakePoolMetadataReference -> Parser (PotentiallyCheckedAnchor StakePoolMetadataReference StakePoolMetadataReference) forall anchorType anchor. Parser (MustCheckHash anchorType) -> Parser anchor -> Parser (PotentiallyCheckedAnchor anchorType anchor) pPotentiallyCheckedAnchorData Parser (MustCheckHash StakePoolMetadataReference) pMustCheckStakeMetadataHash Parser StakePoolMetadataReference pStakePoolMetadataReference ) Parser (NetworkId -> File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser NetworkId -> Parser (File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> EnvCli -> Parser NetworkId pNetworkId EnvCli envCli Parser (File () 'Out -> StakePoolRegistrationCertificateCmdArgs era) -> Parser (File () 'Out) -> Parser (StakePoolRegistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (File () 'Out) forall content. Parser (File content 'Out) pOutputFile ) (InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era)) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> InfoMod (StakePoolCmds era) forall a. String -> InfoMod a Opt.progDesc String "Create a stake pool registration certificate" pStakePoolDeregistrationCertificateCmd :: IsEra era => Maybe (Parser (Cmd.StakePoolCmds era)) pStakePoolDeregistrationCertificateCmd :: forall era. IsEra era => Maybe (Parser (StakePoolCmds era)) pStakePoolDeregistrationCertificateCmd = do Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a. a -> Maybe a forall (f :: * -> *) a. Applicative f => a -> f a pure (Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era))) -> Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)) forall a b. (a -> b) -> a -> b $ Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a. Mod CommandFields a -> Parser a Opt.hsubparser (Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era)) -> Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a. String -> ParserInfo a -> Mod CommandFields a commandWithMetavar String "deregistration-certificate" (ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era)) -> ParserInfo (StakePoolCmds era) -> Mod CommandFields (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ Parser (StakePoolCmds era) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a. Parser a -> InfoMod a -> ParserInfo a Opt.info ( (StakePoolDeregistrationCertificateCmdArgs era -> StakePoolCmds era) -> Parser (StakePoolDeregistrationCertificateCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap StakePoolDeregistrationCertificateCmdArgs era -> StakePoolCmds era forall era. StakePoolDeregistrationCertificateCmdArgs era -> StakePoolCmds era Cmd.StakePoolDeregistrationCertificateCmd (Parser (StakePoolDeregistrationCertificateCmdArgs era) -> Parser (StakePoolCmds era)) -> Parser (StakePoolDeregistrationCertificateCmdArgs era) -> Parser (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ Era era -> StakePoolVerificationKeySource -> EpochNo -> File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era forall era. Era era -> StakePoolVerificationKeySource -> EpochNo -> File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era Cmd.StakePoolDeregistrationCertificateCmdArgs (Era era -> Era era forall era. Era era -> Era era forall a (f :: a -> *) (g :: a -> *) (era :: a). Convert f g => f era -> g era convert Era era forall era. IsEra era => Era era useEra) (StakePoolVerificationKeySource -> EpochNo -> File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era) -> Parser StakePoolVerificationKeySource -> Parser (EpochNo -> File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Maybe String -> Parser StakePoolVerificationKeySource pStakePoolVerificationKeyOrFile Maybe String forall a. Maybe a Nothing Parser (EpochNo -> File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era) -> Parser EpochNo -> Parser (File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> String -> Parser EpochNo pEpochNo String "The epoch number." Parser (File () 'Out -> StakePoolDeregistrationCertificateCmdArgs era) -> Parser (File () 'Out) -> Parser (StakePoolDeregistrationCertificateCmdArgs era) forall a b. Parser (a -> b) -> Parser a -> Parser b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Parser (File () 'Out) forall content. Parser (File content 'Out) pOutputFile ) (InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era)) -> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era) forall a b. (a -> b) -> a -> b $ String -> InfoMod (StakePoolCmds era) forall a. String -> InfoMod a Opt.progDesc String "Create a stake pool deregistration certificate"