{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE LambdaCase #-}
module Cardano.CLI.Legacy.Genesis.Command
( LegacyGenesisCmds (..)
, renderLegacyGenesisCmds
)
where
import Cardano.Api
import Cardano.Api.Experimental
import Cardano.CLI.Type.Common
import Cardano.Ledger.BaseTypes (NonZero)
import Data.Text (Text)
import Data.Word (Word64)
import Vary (Vary)
data LegacyGenesisCmds
= GenesisCreate
AnyShelleyBasedEra
(Vary [FormatBech32, FormatTextEnvelope])
GenesisDir
Word
Word
(Maybe SystemStart)
(Maybe Coin)
NetworkId
| forall era. GenesisCreateCardano
(Era era)
GenesisDir
Word
Word
(Maybe SystemStart)
(Maybe Coin)
(NonZero Word64)
Word
Rational
NetworkId
FilePath
FilePath
FilePath
FilePath
(Maybe FilePath)
|
forall era. GenesisCreateStaked
(Era era)
(Vary [FormatBech32, FormatTextEnvelope])
GenesisDir
Word
Word
Word
Word
(Maybe SystemStart)
(Maybe Coin)
Coin
NetworkId
Word
Word
Word
(Maybe FilePath)
| GenesisKeyGenGenesis
(VerificationKeyFile Out)
(SigningKeyFile Out)
| GenesisKeyGenDelegate
(VerificationKeyFile Out)
(SigningKeyFile Out)
(OpCertCounterFile Out)
| GenesisKeyGenUTxO
(VerificationKeyFile Out)
(SigningKeyFile Out)
| GenesisCmdKeyHash
(VerificationKeyFile In)
| GenesisVerKey
(VerificationKeyFile Out)
(SigningKeyFile In)
| GenesisTxIn
(VerificationKeyFile In)
NetworkId
(Maybe (File () Out))
| GenesisAddr
(VerificationKeyFile In)
NetworkId
(Maybe (File () Out))
| GenesisHashFile
GenesisFile
renderLegacyGenesisCmds :: LegacyGenesisCmds -> Text
renderLegacyGenesisCmds :: LegacyGenesisCmds -> Text
renderLegacyGenesisCmds = \case
GenesisCreate{} -> Text
"genesis create"
GenesisCreateCardano{} -> Text
"genesis create-cardano"
GenesisCreateStaked{} -> Text
"genesis create-staked"
GenesisKeyGenGenesis{} -> Text
"genesis key-gen-genesis"
GenesisKeyGenDelegate{} -> Text
"genesis key-gen-delegate"
GenesisKeyGenUTxO{} -> Text
"genesis key-gen-utxo"
GenesisCmdKeyHash{} -> Text
"genesis key-hash"
GenesisVerKey{} -> Text
"genesis get-ver-key"
GenesisTxIn{} -> Text
"genesis initial-txin"
GenesisAddr{} -> Text
"genesis initial-addr"
GenesisHashFile{} -> Text
"genesis hash"