{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
module Cardano.CLI.EraBased.StakePool.Option
( pStakePoolCmds
)
where
import Cardano.Api
import Cardano.Api.Experimental
import Cardano.Api.Experimental qualified as Exp
import Cardano.Api.Experimental.Certificate (Hash (StakePoolMetadataHash), StakePoolMetadata)
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 Cardano.CLI.Type.Common (CertificateFile (..), SigningKeyFile)
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))
pStakePoolBlsRegistrationCertificateCmd
, 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. Supported schemes are: file, http, https, ipfs."
]
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
let era :: Era era
era = Era era
forall era. IsEra era => Era era
useEra
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
-> Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era
forall era.
Era era
-> StakePoolVerificationKeySource
-> VerificationKeyOrFile VrfKey
-> Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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
era)
(StakePoolVerificationKeySource
-> VerificationKeyOrFile VrfKey
-> Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser StakePoolVerificationKeySource
-> Parser
(VerificationKeyOrFile VrfKey
-> Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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
-> Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser (VerificationKeyOrFile VrfKey)
-> Parser
(Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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
(Maybe (SigningKeyFile 'In)
-> Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser (Maybe (SigningKeyFile 'In))
-> Parser
(Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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
<*> Era era -> Parser (Maybe (SigningKeyFile 'In))
forall era. Era era -> Parser (Maybe (SigningKeyFile 'In))
pBlsSigningKeyFileForEra Era era
era
Parser
(Coin
-> Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser Coin
-> Parser
(Coin
-> Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser Coin
-> Parser
(Rational
-> VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser Rational
-> Parser
(VerificationKeyOrFile StakeKey
-> [VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser (VerificationKeyOrFile StakeKey)
-> Parser
([VerificationKeyOrFile StakeKey]
-> [StakePoolRelay]
-> ValidateRelays
-> 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]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser [VerificationKeyOrFile StakeKey]
-> Parser
([StakePoolRelay]
-> ValidateRelays
-> 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]
-> ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser [StakePoolRelay]
-> Parser
(ValidateRelays
-> 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
(ValidateRelays
-> Maybe
(PotentiallyCheckedAnchor
StakePoolMetadataReference StakePoolMetadataReference)
-> NetworkId
-> File () 'Out
-> StakePoolRegistrationCertificateCmdArgs era)
-> Parser ValidateRelays
-> 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 ValidateRelays
pValidateRelays
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"
pBlsSigningKeyFileForEra :: Exp.Era era -> Parser (Maybe (SigningKeyFile In))
pBlsSigningKeyFileForEra :: forall era. Era era -> Parser (Maybe (SigningKeyFile 'In))
pBlsSigningKeyFileForEra Era era
Exp.ConwayEra = Maybe (SigningKeyFile 'In) -> Parser (Maybe (SigningKeyFile 'In))
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Maybe (SigningKeyFile 'In)
forall a. Maybe a
Nothing
pBlsSigningKeyFileForEra Era era
Exp.DijkstraEra = SigningKeyFile 'In -> Maybe (SigningKeyFile 'In)
forall a. a -> Maybe a
Just (SigningKeyFile 'In -> Maybe (SigningKeyFile 'In))
-> Parser (SigningKeyFile 'In)
-> Parser (Maybe (SigningKeyFile 'In))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Parser (SigningKeyFile 'In)
pBlsSigningKeyFile
pBlsSigningKeyFile :: Parser (SigningKeyFile In)
pBlsSigningKeyFile :: Parser (SigningKeyFile 'In)
pBlsSigningKeyFile =
String -> SigningKeyFile 'In
forall content (direction :: FileDirection).
String -> File content direction
File
(String -> SigningKeyFile 'In)
-> Parser String -> Parser (SigningKeyFile 'In)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> String -> Parser String
parseFilePath
String
"bls-signing-key-file"
String
"Input filepath of the BLS signing key."
pStakePoolBlsRegistrationCertificateCmd
:: forall era
. IsEra era
=> Maybe (Parser (Cmd.StakePoolCmds era))
pStakePoolBlsRegistrationCertificateCmd :: forall era. IsEra era => Maybe (Parser (StakePoolCmds era))
pStakePoolBlsRegistrationCertificateCmd =
case forall era. IsEra era => Era era
useEra @era of
Era era
Exp.ConwayEra -> Maybe (Parser (StakePoolCmds era))
forall a. Maybe a
Nothing
Era era
Exp.DijkstraEra ->
Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era))
forall a. a -> Maybe a
Just
(Parser (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)))
-> (InfoMod (StakePoolCmds era) -> Parser (StakePoolCmds era))
-> InfoMod (StakePoolCmds era)
-> Maybe (Parser (StakePoolCmds era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era)
forall a. Mod CommandFields a -> Parser a
Opt.hsubparser
(Mod CommandFields (StakePoolCmds era)
-> Parser (StakePoolCmds era))
-> (InfoMod (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era))
-> InfoMod (StakePoolCmds era)
-> Parser (StakePoolCmds era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String
-> ParserInfo (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era)
forall a. String -> ParserInfo a -> Mod CommandFields a
commandWithMetavar String
"bls-registration-certificate"
(ParserInfo (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era))
-> (InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era))
-> InfoMod (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Parser (StakePoolCmds era)
-> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era)
forall a. Parser a -> InfoMod a -> ParserInfo a
Opt.info Parser (StakePoolCmds era)
pOffline
(InfoMod (StakePoolCmds era) -> Maybe (Parser (StakePoolCmds era)))
-> InfoMod (StakePoolCmds era)
-> Maybe (Parser (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
"Create a stake pool registration certificate that keeps the pool's existing"
, String
" parameters and replaces only its BLS key and proof of possession."
]
where
pOffline :: Parser (StakePoolCmds era)
pOffline =
Mod CommandFields (StakePoolCmds era) -> Parser (StakePoolCmds era)
forall a. Mod CommandFields a -> Parser a
Opt.hsubparser
(Mod CommandFields (StakePoolCmds era)
-> Parser (StakePoolCmds era))
-> (InfoMod (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era))
-> InfoMod (StakePoolCmds era)
-> Parser (StakePoolCmds era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String
-> ParserInfo (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era)
forall a. String -> ParserInfo a -> Mod CommandFields a
commandWithMetavar String
"offline"
(ParserInfo (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era))
-> (InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era))
-> InfoMod (StakePoolCmds era)
-> Mod CommandFields (StakePoolCmds era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Parser (StakePoolCmds era)
-> InfoMod (StakePoolCmds era) -> ParserInfo (StakePoolCmds era)
forall a. Parser a -> InfoMod a -> ParserInfo a
Opt.info Parser (StakePoolCmds era)
pBlsRegistrationCertificateOffline
(InfoMod (StakePoolCmds era) -> Parser (StakePoolCmds era))
-> InfoMod (StakePoolCmds era) -> Parser (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
"Create the certificate from the parameters in an existing stake pool registration certificate file."
, String
" No node connection is needed."
]
pBlsRegistrationCertificateOffline :: Parser (StakePoolCmds era)
pBlsRegistrationCertificateOffline =
(StakePoolBlsRegistrationCertificateCmdArgs era
-> StakePoolCmds era)
-> Parser (StakePoolBlsRegistrationCertificateCmdArgs 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 StakePoolBlsRegistrationCertificateCmdArgs era -> StakePoolCmds era
forall era.
StakePoolBlsRegistrationCertificateCmdArgs era -> StakePoolCmds era
Cmd.StakePoolBlsRegistrationCertificateCmd (Parser (StakePoolBlsRegistrationCertificateCmdArgs era)
-> Parser (StakePoolCmds era))
-> Parser (StakePoolBlsRegistrationCertificateCmdArgs era)
-> Parser (StakePoolCmds era)
forall a b. (a -> b) -> a -> b
$
Era era
-> StakePoolParametersSource
-> SigningKeyFile 'In
-> File () 'Out
-> StakePoolBlsRegistrationCertificateCmdArgs era
forall era.
Era era
-> StakePoolParametersSource
-> SigningKeyFile 'In
-> File () 'Out
-> StakePoolBlsRegistrationCertificateCmdArgs era
Cmd.StakePoolBlsRegistrationCertificateCmdArgs (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 -> Era era) -> Era era -> Era era
forall a b. (a -> b) -> a -> b
$ forall era. IsEra era => Era era
useEra @era)
(StakePoolParametersSource
-> SigningKeyFile 'In
-> File () 'Out
-> StakePoolBlsRegistrationCertificateCmdArgs era)
-> Parser StakePoolParametersSource
-> Parser
(SigningKeyFile 'In
-> File () 'Out -> StakePoolBlsRegistrationCertificateCmdArgs era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Parser StakePoolParametersSource
pStakePoolParametersFromCertificate
Parser
(SigningKeyFile 'In
-> File () 'Out -> StakePoolBlsRegistrationCertificateCmdArgs era)
-> Parser (SigningKeyFile 'In)
-> Parser
(File () 'Out -> StakePoolBlsRegistrationCertificateCmdArgs 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 (SigningKeyFile 'In)
pBlsSigningKeyFile
Parser
(File () 'Out -> StakePoolBlsRegistrationCertificateCmdArgs era)
-> Parser (File () 'Out)
-> Parser (StakePoolBlsRegistrationCertificateCmdArgs 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
pStakePoolParametersFromCertificate :: Parser Cmd.StakePoolParametersSource
pStakePoolParametersFromCertificate :: Parser StakePoolParametersSource
pStakePoolParametersFromCertificate =
CertificateFile -> StakePoolParametersSource
Cmd.StakePoolParametersFromCertificate (CertificateFile -> StakePoolParametersSource)
-> (String -> CertificateFile)
-> String
-> StakePoolParametersSource
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> CertificateFile
CertificateFile
(String -> StakePoolParametersSource)
-> Parser String -> Parser StakePoolParametersSource
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> String -> Parser String
parseFilePath
String
"registration-certificate-file"
String
"Input filepath of the stake pool registration certificate to copy the parameters from."
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"