-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | The Cardano command-line interface.
@package cardano-cli
@version 1.22.0

module Cardano.CLI.Byron.Legacy

-- | LegacyDelegateKey is a subset of the UserSecret's from the legacy
--   codebase: 1. the VSS keypair must be present 2. the signing key must
--   be present 3. the rest must be absent (Nothing)
--   
--   Legacy reference:
--   <a>https://github.com/input-output-hk/cardano-sl/blob/release/3.0.1/lib/src/Pos/Util/UserSecret.hs#L189</a>
newtype LegacyDelegateKey
LegacyDelegateKey :: SigningKey -> LegacyDelegateKey
[lrkSigningKey] :: LegacyDelegateKey -> SigningKey

-- | Encoder for a Byron/Classic signing key. Lifted from cardano-sl legacy
--   codebase.
encodeLegacyDelegateKey :: LegacyDelegateKey -> Encoding

-- | Decoder for a Byron/Classic signing key. Lifted from cardano-sl legacy
--   codebase.
decodeLegacyDelegateKey :: Decoder s LegacyDelegateKey

module Cardano.CLI.Shelley.Orphans
instance Shelley.Spec.Ledger.API.ShelleyBasedEra era => Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.TxBody.TxIn era)
instance Data.Aeson.Types.ToJSON.ToJSON Ouroboros.Consensus.Byron.Ledger.Block.ByronHash
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.Slotting.Block.BlockNo
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.TxBody.TxId era)
instance (Shelley.Spec.Ledger.API.ShelleyBasedEra era, Data.Aeson.Types.ToJSON.ToJSON (Cardano.Ledger.Core.Value era)) => Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.UTxO.UTxO era)
instance Data.Aeson.Types.ToJSON.ToJSON (Ouroboros.Consensus.Shelley.Ledger.Block.ShelleyHash era)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.BlockChain.HashHeader era)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.MetaData.MetaDataHash era)
instance Data.Aeson.Types.ToJSON.ToJSON Shelley.Spec.Ledger.Rewards.LogWeight
instance Data.Aeson.Types.ToJSON.ToJSON Shelley.Spec.Ledger.Rewards.Likelihood
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.EpochBoundary.Stake Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.Delegation.Certificates.PoolDistr Ouroboros.Consensus.Shelley.Protocol.Crypto.StandardCrypto)
instance Data.Aeson.Types.ToJSON.ToJSON Shelley.Spec.Ledger.Coin.DeltaCoin
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.Keys.GenDelegs Ouroboros.Consensus.Shelley.Protocol.Crypto.StandardCrypto)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.Delegation.Certificates.IndividualPoolStake Ouroboros.Consensus.Shelley.Protocol.Crypto.StandardCrypto)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.PParams.ProposedPPUpdates Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.PPUPState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.EpochBoundary.BlocksMade Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON Shelley.Spec.Ledger.Credential.Ptr
instance Data.Aeson.Types.ToJSON.ToJSON Shelley.Spec.Ledger.LedgerState.AccountState
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.DPState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.DState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.FutureGenDeleg Ouroboros.Consensus.Shelley.Protocol.Crypto.StandardCrypto)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.InstantaneousRewards Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.EpochBoundary.SnapShot Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.EpochBoundary.SnapShots Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.Rewards.NonMyopic Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.LedgerState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.EpochState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.RewardUpdate Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.NewEpochState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.PParams.PParams' Shelley.Spec.Ledger.BaseTypes.StrictMaybe Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.PState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.Credential.StakeReference Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.LedgerState.UTxOState Ouroboros.Consensus.Shelley.Eras.StandardShelley)
instance Data.Aeson.Types.ToJSON.ToJSONKey Shelley.Spec.Ledger.Credential.Ptr
instance Data.Aeson.Types.ToJSON.ToJSONKey (Shelley.Spec.Ledger.LedgerState.FutureGenDeleg Ouroboros.Consensus.Shelley.Protocol.Crypto.StandardCrypto)
instance Shelley.Spec.Ledger.API.ShelleyBasedEra era => Data.Aeson.Types.ToJSON.ToJSONKey (Shelley.Spec.Ledger.TxBody.TxIn era)
instance (Shelley.Spec.Ledger.API.ShelleyBasedEra era, Data.Aeson.Types.ToJSON.ToJSON (Cardano.Ledger.Core.Value era)) => Data.Aeson.Types.ToJSON.ToJSON (Shelley.Spec.Ledger.TxBody.TxOut era)
instance Data.Aeson.Types.ToJSON.ToJSON (Ouroboros.Consensus.HardFork.Combinator.AcrossEras.OneEraHash xs)
instance Data.Aeson.Types.ToJSON.ToJSON (Ouroboros.Network.Block.HeaderHash blk) => Data.Aeson.Types.ToJSON.ToJSON (Ouroboros.Network.Block.Tip blk)
instance (Data.Aeson.Types.ToJSON.ToJSONKey k, Data.Aeson.Types.ToJSON.ToJSON v) => Data.Aeson.Types.ToJSON.ToJSON (Control.Iterate.SetAlgebra.BiMap v k v)

module Cardano.CLI.TopHandler

-- | An exception handler to use for a program top level, as an alternative
--   to the default top level handler provided by GHC.
--   
--   Use like:
--   
--   <pre>
--   main :: IO ()
--   main = toplevelExceptionHandler $ do
--     ...
--   </pre>
toplevelExceptionHandler :: IO a -> IO a

module Cardano.CLI.Types

-- | Specify what the CBOR file is i.e a block, a tx, etc
data CBORObject
CBORBlockByron :: EpochSlots -> CBORObject
CBORDelegationCertificateByron :: CBORObject
CBORTxByron :: CBORObject
CBORUpdateProposalByron :: CBORObject
CBORVoteByron :: CBORObject
newtype CertificateFile
CertificateFile :: FilePath -> CertificateFile
[unCertificateFile] :: CertificateFile -> FilePath
newtype GenesisFile
GenesisFile :: FilePath -> GenesisFile
[unGenesisFile] :: GenesisFile -> FilePath

-- | The desired output format.
data OutputFormat
OutputFormatHex :: OutputFormat
OutputFormatBech32 :: OutputFormat

-- | UTxO query filtering options.
data QueryFilter
FilterByAddress :: !Set (Address Shelley) -> QueryFilter
NoFilter :: QueryFilter
newtype SigningKeyFile
SigningKeyFile :: FilePath -> SigningKeyFile
[unSigningKeyFile] :: SigningKeyFile -> FilePath
data SigningKeyOrScriptFile
ScriptFileForWitness :: FilePath -> SigningKeyOrScriptFile
SigningKeyFileForWitness :: FilePath -> SigningKeyOrScriptFile
newtype SocketPath
SocketPath :: FilePath -> SocketPath
[unSocketPath] :: SocketPath -> FilePath
newtype ScriptFile
ScriptFile :: FilePath -> ScriptFile
[unScriptFile] :: ScriptFile -> FilePath
newtype UpdateProposalFile
UpdateProposalFile :: FilePath -> UpdateProposalFile
[unUpdateProposalFile] :: UpdateProposalFile -> FilePath
newtype VerificationKeyFile
VerificationKeyFile :: FilePath -> VerificationKeyFile
[unVerificationKeyFile] :: VerificationKeyFile -> FilePath
instance GHC.Show.Show Cardano.CLI.Types.CBORObject
instance GHC.Show.Show Cardano.CLI.Types.CertificateFile
instance GHC.Classes.Eq Cardano.CLI.Types.CertificateFile
instance GHC.Show.Show Cardano.CLI.Types.GenesisFile
instance Data.String.IsString Cardano.CLI.Types.GenesisFile
instance GHC.Classes.Ord Cardano.CLI.Types.GenesisFile
instance GHC.Classes.Eq Cardano.CLI.Types.GenesisFile
instance GHC.Show.Show Cardano.CLI.Types.OutputFormat
instance GHC.Classes.Eq Cardano.CLI.Types.OutputFormat
instance GHC.Show.Show Cardano.CLI.Types.QueryFilter
instance GHC.Classes.Eq Cardano.CLI.Types.QueryFilter
instance GHC.Show.Show Cardano.CLI.Types.SigningKeyFile
instance Data.String.IsString Cardano.CLI.Types.SigningKeyFile
instance GHC.Classes.Ord Cardano.CLI.Types.SigningKeyFile
instance GHC.Classes.Eq Cardano.CLI.Types.SigningKeyFile
instance GHC.Show.Show Cardano.CLI.Types.UpdateProposalFile
instance GHC.Classes.Eq Cardano.CLI.Types.UpdateProposalFile
instance GHC.Show.Show Cardano.CLI.Types.VerificationKeyFile
instance GHC.Classes.Eq Cardano.CLI.Types.VerificationKeyFile
instance GHC.Show.Show Cardano.CLI.Types.ScriptFile
instance GHC.Classes.Eq Cardano.CLI.Types.ScriptFile
instance GHC.Show.Show Cardano.CLI.Types.SigningKeyOrScriptFile
instance GHC.Classes.Eq Cardano.CLI.Types.SigningKeyOrScriptFile
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.CLI.Types.GenesisFile


-- | Shelley CLI option data types and functions for cryptographic keys.
module Cardano.CLI.Shelley.Key

-- | Input format/encoding.
data InputFormat a

-- | Bech32 encoding.
[InputFormatBech32] :: SerialiseAsBech32 a => InputFormat a

-- | Hex/Base16 encoding.
[InputFormatHex] :: SerialiseAsRawBytes a => InputFormat a

-- | Text envelope format.
[InputFormatTextEnvelope] :: HasTextEnvelope a => InputFormat a

-- | Input decoding error.
data InputDecodeError

-- | The provided data seems to be a valid text envelope, but some error
--   occurred in deserialising it.
InputTextEnvelopeError :: !TextEnvelopeError -> InputDecodeError

-- | The provided data is valid Bech32, but some error occurred in
--   deserialising it.
InputBech32DecodeError :: !Bech32DecodeError -> InputDecodeError

-- | The provided data does not represent a valid value of the provided
--   type.
InputInvalidError :: InputDecodeError

-- | Deserialise an input of some type that is formatted in some way.
deserialiseInput :: forall a. AsType a -> NonEmpty (InputFormat a) -> ByteString -> Either InputDecodeError a

-- | Deserialise an input of some type that is formatted in some way.
--   
--   The provided <a>ByteString</a> can either be Bech32-encoded or in the
--   text envelope format.
deserialiseInputAnyOf :: forall b. [FromSomeType SerialiseAsBech32 b] -> [FromSomeType HasTextEnvelope b] -> ByteString -> Either InputDecodeError b

-- | Render an error message for a <a>InputDecodeError</a>.
renderInputDecodeError :: InputDecodeError -> Text

-- | Read a cryptographic key from a file.
--   
--   The contents of the file can either be Bech32-encoded, hex-encoded, or
--   in the text envelope format.
readKeyFile :: AsType a -> NonEmpty (InputFormat a) -> FilePath -> IO (Either (FileError InputDecodeError) a)

-- | Read a cryptographic key from a file given that it is one of the
--   provided types.
--   
--   The contents of the file can either be Bech32-encoded or in the text
--   envelope format.
readKeyFileAnyOf :: forall b. [FromSomeType SerialiseAsBech32 b] -> [FromSomeType HasTextEnvelope b] -> FilePath -> IO (Either (FileError InputDecodeError) b)

-- | Read a cryptographic key from a file.
--   
--   The contents of the file must be in the text envelope format.
readKeyFileTextEnvelope :: HasTextEnvelope a => AsType a -> FilePath -> IO (Either (FileError InputDecodeError) a)

-- | Read a signing key from a file.
--   
--   The contents of the file can either be Bech32-encoded, hex-encoded, or
--   in the text envelope format.
readSigningKeyFile :: forall keyrole. (HasTextEnvelope (SigningKey keyrole), SerialiseAsBech32 (SigningKey keyrole)) => AsType keyrole -> SigningKeyFile -> IO (Either (FileError InputDecodeError) (SigningKey keyrole))

-- | Read a signing key from a file given that it is one of the provided
--   types of signing key.
--   
--   The contents of the file can either be Bech32-encoded or in the text
--   envelope format.
readSigningKeyFileAnyOf :: forall b. [FromSomeType SerialiseAsBech32 b] -> [FromSomeType HasTextEnvelope b] -> SigningKeyFile -> IO (Either (FileError InputDecodeError) b)

-- | Either a verification key or path to a verification key file.
data VerificationKeyOrFile keyrole

-- | A verification key.
VerificationKeyValue :: !VerificationKey keyrole -> VerificationKeyOrFile keyrole

-- | A path to a verification key file. Note that this file hasn't been
--   validated at all (whether it exists, contains a key of the correct
--   type, etc.)
VerificationKeyFilePath :: !VerificationKeyFile -> VerificationKeyOrFile keyrole

-- | Read a verification key or verification key file and return a
--   verification key.
--   
--   If a filepath is provided, the file can either be formatted as Bech32,
--   hex, or text envelope.
readVerificationKeyOrFile :: (HasTextEnvelope (VerificationKey keyrole), SerialiseAsBech32 (VerificationKey keyrole)) => AsType keyrole -> VerificationKeyOrFile keyrole -> IO (Either (FileError InputDecodeError) (VerificationKey keyrole))

-- | Read a verification key or verification key file and return a
--   verification key.
--   
--   If a filepath is provided, it will be interpreted as a text envelope
--   formatted file.
readVerificationKeyOrTextEnvFile :: HasTextEnvelope (VerificationKey keyrole) => AsType keyrole -> VerificationKeyOrFile keyrole -> IO (Either (FileError InputDecodeError) (VerificationKey keyrole))

-- | Either an unvalidated text representation of a verification key or a
--   path to a verification key file.
data VerificationKeyTextOrFile
VktofVerificationKeyText :: !Text -> VerificationKeyTextOrFile
VktofVerificationKeyFile :: !VerificationKeyFile -> VerificationKeyTextOrFile

-- | An error in deserializing a <a>VerificationKeyTextOrFile</a> to a
--   <a>VerificationKey</a>.
data VerificationKeyTextOrFileError
VerificationKeyTextError :: !InputDecodeError -> VerificationKeyTextOrFileError
VerificationKeyFileError :: !FileError InputDecodeError -> VerificationKeyTextOrFileError

-- | Deserialise a verification key from text or a verification key file
--   given that it is one of the provided types.
--   
--   If a filepath is provided, the file can either be formatted as Bech32,
--   hex, or text envelope.
readVerificationKeyTextOrFileAnyOf :: forall b. [FromSomeType SerialiseAsBech32 b] -> [FromSomeType HasTextEnvelope b] -> VerificationKeyTextOrFile -> IO (Either VerificationKeyTextOrFileError b)

-- | Render an error message for a <a>VerificationKeyTextOrFileError</a>.
renderVerificationKeyTextOrFileError :: VerificationKeyTextOrFileError -> Text

-- | Verification key, verification key hash, or path to a verification key
--   file.
data VerificationKeyOrHashOrFile keyrole

-- | Either a verification key or path to a verification key file.
VerificationKeyOrFile :: !VerificationKeyOrFile keyrole -> VerificationKeyOrHashOrFile keyrole

-- | A verification key hash.
VerificationKeyHash :: !Hash keyrole -> VerificationKeyOrHashOrFile keyrole

-- | Read a verification key or verification key hash or verification key
--   file and return a verification key hash.
--   
--   If a filepath is provided, the file can either be formatted as Bech32,
--   hex, or text envelope.
readVerificationKeyOrHashOrFile :: (Key keyrole, SerialiseAsBech32 (VerificationKey keyrole)) => AsType keyrole -> VerificationKeyOrHashOrFile keyrole -> IO (Either (FileError InputDecodeError) (Hash keyrole))

-- | Read a verification key or verification key hash or verification key
--   file and return a verification key hash.
--   
--   If a filepath is provided, it will be interpreted as a text envelope
--   formatted file.
readVerificationKeyOrHashOrTextEnvFile :: Key keyrole => AsType keyrole -> VerificationKeyOrHashOrFile keyrole -> IO (Either (FileError InputDecodeError) (Hash keyrole))
instance GHC.Show.Show Cardano.CLI.Shelley.Key.InputDecodeError
instance GHC.Classes.Eq Cardano.CLI.Shelley.Key.InputDecodeError
instance GHC.Show.Show Cardano.CLI.Shelley.Key.VerificationKeyTextOrFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Key.VerificationKeyTextOrFile
instance GHC.Show.Show Cardano.CLI.Shelley.Key.VerificationKeyTextOrFileError
instance GHC.Show.Show (Cardano.Api.Typed.VerificationKey keyrole) => GHC.Show.Show (Cardano.CLI.Shelley.Key.VerificationKeyOrFile keyrole)
instance GHC.Classes.Eq (Cardano.Api.Typed.VerificationKey keyrole) => GHC.Classes.Eq (Cardano.CLI.Shelley.Key.VerificationKeyOrFile keyrole)
instance (GHC.Show.Show (Cardano.CLI.Shelley.Key.VerificationKeyOrFile keyrole), GHC.Show.Show (Cardano.Api.Typed.Hash keyrole)) => GHC.Show.Show (Cardano.CLI.Shelley.Key.VerificationKeyOrHashOrFile keyrole)
instance (GHC.Classes.Eq (Cardano.CLI.Shelley.Key.VerificationKeyOrFile keyrole), GHC.Classes.Eq (Cardano.Api.Typed.Hash keyrole)) => GHC.Classes.Eq (Cardano.CLI.Shelley.Key.VerificationKeyOrHashOrFile keyrole)
instance Cardano.Api.Typed.Error Cardano.CLI.Shelley.Key.InputDecodeError


-- | Shelley CLI command types
module Cardano.CLI.Shelley.Commands

-- | All the CLI subcommands under "shelley".
data ShelleyCommand
AddressCmd :: AddressCmd -> ShelleyCommand
StakeAddressCmd :: StakeAddressCmd -> ShelleyCommand
KeyCmd :: KeyCmd -> ShelleyCommand
TransactionCmd :: TransactionCmd -> ShelleyCommand
NodeCmd :: NodeCmd -> ShelleyCommand
PoolCmd :: PoolCmd -> ShelleyCommand
QueryCmd :: QueryCmd -> ShelleyCommand
GovernanceCmd :: GovernanceCmd -> ShelleyCommand
GenesisCmd :: GenesisCmd -> ShelleyCommand
TextViewCmd :: TextViewCmd -> ShelleyCommand
data AddressCmd
AddressKeyGen :: AddressKeyType -> VerificationKeyFile -> SigningKeyFile -> AddressCmd
AddressKeyHash :: VerificationKeyTextOrFile -> Maybe OutputFile -> AddressCmd
AddressBuild :: VerificationKeyTextOrFile -> Maybe (VerificationKeyOrFile StakeKey) -> NetworkId -> Maybe OutputFile -> AddressCmd
AddressBuildMultiSig :: ScriptFile -> NetworkId -> Maybe OutputFile -> AddressCmd
AddressInfo :: Text -> Maybe OutputFile -> AddressCmd
data StakeAddressCmd
StakeAddressKeyGen :: VerificationKeyFile -> SigningKeyFile -> StakeAddressCmd
StakeAddressKeyHash :: VerificationKeyOrFile StakeKey -> Maybe OutputFile -> StakeAddressCmd
StakeAddressBuild :: VerificationKeyOrFile StakeKey -> NetworkId -> Maybe OutputFile -> StakeAddressCmd
StakeKeyRegistrationCert :: VerificationKeyOrFile StakeKey -> OutputFile -> StakeAddressCmd
StakeKeyDelegationCert :: VerificationKeyOrFile StakeKey -> VerificationKeyOrHashOrFile StakePoolKey -> OutputFile -> StakeAddressCmd
StakeKeyDeRegistrationCert :: VerificationKeyOrFile StakeKey -> OutputFile -> StakeAddressCmd
data KeyCmd
KeyGetVerificationKey :: SigningKeyFile -> VerificationKeyFile -> KeyCmd
KeyNonExtendedKey :: VerificationKeyFile -> VerificationKeyFile -> KeyCmd
KeyConvertByronKey :: Maybe Text -> ByronKeyType -> SomeKeyFile -> OutputFile -> KeyCmd
KeyConvertByronGenesisVKey :: VerificationKeyBase64 -> OutputFile -> KeyCmd
KeyConvertITNStakeKey :: SomeKeyFile -> OutputFile -> KeyCmd
KeyConvertITNExtendedToStakeKey :: SomeKeyFile -> OutputFile -> KeyCmd
KeyConvertITNBip32ToStakeKey :: SomeKeyFile -> OutputFile -> KeyCmd
KeyConvertCardanoAddressSigningKey :: CardanoAddressKeyType -> SigningKeyFile -> OutputFile -> KeyCmd
data TransactionCmd
TxBuildRaw :: [TxIn] -> [TxOut Shelley] -> SlotNo -> Lovelace -> [CertificateFile] -> [(StakeAddress, Lovelace)] -> TxMetadataJsonSchema -> [MetaDataFile] -> Maybe UpdateProposalFile -> TxBodyFile -> TransactionCmd
TxSign :: TxBodyFile -> [WitnessSigningData] -> Maybe NetworkId -> TxFile -> TransactionCmd
TxCreateWitness :: TxBodyFile -> WitnessSigningData -> Maybe NetworkId -> OutputFile -> TransactionCmd
TxAssembleTxBodyWitness :: TxBodyFile -> [WitnessFile] -> OutputFile -> TransactionCmd
TxSubmit :: Protocol -> NetworkId -> FilePath -> TransactionCmd
TxCalculateMinFee :: TxBodyFile -> Maybe NetworkId -> ProtocolParamsFile -> TxInCount -> TxOutCount -> TxShelleyWitnessCount -> TxByronWitnessCount -> TransactionCmd
TxGetTxId :: TxBodyFile -> TransactionCmd
data NodeCmd
NodeKeyGenCold :: VerificationKeyFile -> SigningKeyFile -> OpCertCounterFile -> NodeCmd
NodeKeyGenKES :: VerificationKeyFile -> SigningKeyFile -> NodeCmd
NodeKeyGenVRF :: VerificationKeyFile -> SigningKeyFile -> NodeCmd
NodeKeyHashVRF :: VerificationKeyOrFile VrfKey -> Maybe OutputFile -> NodeCmd
NodeNewCounter :: ColdVerificationKeyOrFile -> Word -> OpCertCounterFile -> NodeCmd
NodeIssueOpCert :: VerificationKeyOrFile KesKey -> SigningKeyFile -> OpCertCounterFile -> KESPeriod -> OutputFile -> NodeCmd
data PoolCmd
PoolRegistrationCert :: VerificationKeyOrFile StakePoolKey -> VerificationKeyOrFile VrfKey -> Lovelace -> Lovelace -> Rational -> VerificationKeyOrFile StakeKey -> [VerificationKeyOrFile StakeKey] -> [StakePoolRelay] -> Maybe StakePoolMetadataReference -> NetworkId -> OutputFile -> PoolCmd
PoolRetirementCert :: VerificationKeyOrFile StakePoolKey -> EpochNo -> OutputFile -> PoolCmd
PoolGetId :: VerificationKeyOrFile StakePoolKey -> OutputFormat -> PoolCmd
PoolMetaDataHash :: PoolMetaDataFile -> Maybe OutputFile -> PoolCmd
data QueryCmd
QueryProtocolParameters :: Protocol -> NetworkId -> Maybe OutputFile -> QueryCmd
QueryTip :: Protocol -> NetworkId -> Maybe OutputFile -> QueryCmd
QueryStakeDistribution :: Protocol -> NetworkId -> Maybe OutputFile -> QueryCmd
QueryStakeAddressInfo :: Protocol -> StakeAddress -> NetworkId -> Maybe OutputFile -> QueryCmd
QueryUTxO :: Protocol -> QueryFilter -> NetworkId -> Maybe OutputFile -> QueryCmd
QueryLedgerState :: Protocol -> NetworkId -> Maybe OutputFile -> QueryCmd
data GovernanceCmd
GovernanceMIRCertificate :: MIRPot -> [VerificationKeyFile] -> [Lovelace] -> OutputFile -> GovernanceCmd
GovernanceGenesisKeyDelegationCertificate :: VerificationKeyOrHashOrFile GenesisKey -> VerificationKeyOrHashOrFile GenesisDelegateKey -> VerificationKeyOrHashOrFile VrfKey -> OutputFile -> GovernanceCmd
GovernanceUpdateProposal :: OutputFile -> EpochNo -> [VerificationKeyFile] -> ProtocolParametersUpdate -> GovernanceCmd
data GenesisCmd
GenesisCreate :: GenesisDir -> Word -> Word -> Maybe SystemStart -> Maybe Lovelace -> NetworkId -> GenesisCmd
GenesisKeyGenGenesis :: VerificationKeyFile -> SigningKeyFile -> GenesisCmd
GenesisKeyGenDelegate :: VerificationKeyFile -> SigningKeyFile -> OpCertCounterFile -> GenesisCmd
GenesisKeyGenUTxO :: VerificationKeyFile -> SigningKeyFile -> GenesisCmd
GenesisCmdKeyHash :: VerificationKeyFile -> GenesisCmd
GenesisVerKey :: VerificationKeyFile -> SigningKeyFile -> GenesisCmd
GenesisTxIn :: VerificationKeyFile -> NetworkId -> Maybe OutputFile -> GenesisCmd
GenesisAddr :: VerificationKeyFile -> NetworkId -> Maybe OutputFile -> GenesisCmd
GenesisHashFile :: GenesisFile -> GenesisCmd
data TextViewCmd
TextViewInfo :: !FilePath -> Maybe OutputFile -> TextViewCmd
renderShelleyCommand :: ShelleyCommand -> Text
data AddressKeyType
AddressKeyShelley :: AddressKeyType
AddressKeyShelleyExtended :: AddressKeyType
AddressKeyByron :: AddressKeyType
data ByronKeyType
ByronPaymentKey :: ByronKeyFormat -> ByronKeyType
ByronGenesisKey :: ByronKeyFormat -> ByronKeyType
ByronDelegateKey :: ByronKeyFormat -> ByronKeyType
data ByronKeyFormat
NonLegacyByronKeyFormat :: ByronKeyFormat
LegacyByronKeyFormat :: ByronKeyFormat

-- | The type of <tt>cardano-address</tt> key.
data CardanoAddressKeyType
CardanoAddressShelleyPaymentKey :: CardanoAddressKeyType
CardanoAddressShelleyStakeKey :: CardanoAddressKeyType
CardanoAddressIcarusPaymentKey :: CardanoAddressKeyType
CardanoAddressByronPaymentKey :: CardanoAddressKeyType
newtype GenesisDir
GenesisDir :: FilePath -> GenesisDir
newtype TxInCount
TxInCount :: Int -> TxInCount
newtype TxOutCount
TxOutCount :: Int -> TxOutCount
newtype TxShelleyWitnessCount
TxShelleyWitnessCount :: Int -> TxShelleyWitnessCount
newtype TxByronWitnessCount
TxByronWitnessCount :: Int -> TxByronWitnessCount

-- | Either a verification or signing key, used for conversions and other
--   commands that make sense for both.
data SomeKeyFile
AVerificationKeyFile :: VerificationKeyFile -> SomeKeyFile
ASigningKeyFile :: SigningKeyFile -> SomeKeyFile
newtype OpCertCounterFile
OpCertCounterFile :: FilePath -> OpCertCounterFile
newtype OutputFile
OutputFile :: FilePath -> OutputFile
newtype ProtocolParamsFile
ProtocolParamsFile :: FilePath -> ProtocolParamsFile
newtype WitnessFile
WitnessFile :: FilePath -> WitnessFile
newtype TxBodyFile
TxBodyFile :: FilePath -> TxBodyFile
newtype TxFile
TxFile :: FilePath -> TxFile

-- | A raw verification key given in Base64, and decoded into a ByteString.
newtype VerificationKeyBase64
VerificationKeyBase64 :: String -> VerificationKeyBase64
newtype GenesisKeyFile
GenesisKeyFile :: FilePath -> GenesisKeyFile
data MetaDataFile
MetaDataFileJSON :: FilePath -> MetaDataFile
MetaDataFileCBOR :: FilePath -> MetaDataFile
newtype PoolId
PoolId :: String -> PoolId
newtype PoolMetaDataFile
PoolMetaDataFile :: FilePath -> PoolMetaDataFile
[unPoolMetaDataFile] :: PoolMetaDataFile -> FilePath
newtype PrivKeyFile
PrivKeyFile :: FilePath -> PrivKeyFile
newtype BlockId
BlockId :: String -> BlockId

-- | Data required to construct a witness.
data WitnessSigningData
KeyWitnessSigningData :: !SigningKeyFile -> !Maybe (Address Byron) -> WitnessSigningData
ScriptWitnessSigningData :: !ScriptFile -> WitnessSigningData

-- | Either a stake pool verification key, genesis delegate verification
--   key, or a path to a cold verification key file.
--   
--   Note that a "cold verification key" refers to either a stake pool or
--   genesis delegate verification key.
--   
--   TODO: A genesis delegate extended key should also be valid here.
data ColdVerificationKeyOrFile
ColdStakePoolVerificationKey :: !VerificationKey StakePoolKey -> ColdVerificationKeyOrFile
ColdGenesisDelegateVerificationKey :: !VerificationKey GenesisDelegateKey -> ColdVerificationKeyOrFile
ColdVerificationKeyFile :: !VerificationKeyFile -> ColdVerificationKeyOrFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.ProtocolParamsFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.ProtocolParamsFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TxInCount
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TxInCount
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TxOutCount
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TxOutCount
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TxShelleyWitnessCount
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TxShelleyWitnessCount
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TxByronWitnessCount
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TxByronWitnessCount
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.BlockId
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.BlockId
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.GenesisKeyFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.GenesisKeyFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.MetaDataFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.MetaDataFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.OutputFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.OutputFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TextViewCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TextViewCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.GovernanceCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.GovernanceCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.QueryCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.QueryCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.StakeAddressCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.StakeAddressCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.PoolId
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.PoolId
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.PoolMetaDataFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.PoolMetaDataFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.PoolCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.PoolCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.GenesisDir
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.GenesisDir
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.SomeKeyFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.SomeKeyFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.AddressKeyType
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.AddressKeyType
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.AddressCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.AddressCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.ByronKeyFormat
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.ByronKeyFormat
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.ByronKeyType
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.ByronKeyType
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.CardanoAddressKeyType
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.CardanoAddressKeyType
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.OpCertCounterFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.OpCertCounterFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.GenesisCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.GenesisCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.PrivKeyFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.PrivKeyFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.WitnessFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.WitnessFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TxBodyFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TxBodyFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TxFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TxFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.VerificationKeyBase64
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.VerificationKeyBase64
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.KeyCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.KeyCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.WitnessSigningData
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.WitnessSigningData
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.TransactionCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.TransactionCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.ColdVerificationKeyOrFile
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.ColdVerificationKeyOrFile
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.NodeCmd
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.NodeCmd
instance GHC.Show.Show Cardano.CLI.Shelley.Commands.ShelleyCommand
instance GHC.Classes.Eq Cardano.CLI.Shelley.Commands.ShelleyCommand

module Cardano.CLI.Shelley.Run.Pool
data ShelleyPoolCmdError
renderShelleyPoolCmdError :: ShelleyPoolCmdError -> Text
runPoolCmd :: PoolCmd -> ExceptT ShelleyPoolCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Pool.ShelleyPoolCmdError

module Cardano.CLI.Shelley.Run.Node
data ShelleyNodeCmdError
renderShelleyNodeCmdError :: ShelleyNodeCmdError -> Text
runNodeCmd :: NodeCmd -> ExceptT ShelleyNodeCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Node.ShelleyNodeCmdError

module Cardano.CLI.Shelley.Parsers
parseShelleyCommands :: Parser ShelleyCommand
parseTxIn :: Parser TxIn
renderTxIn :: TxIn -> Text
instance GHC.Show.Show Cardano.CLI.Shelley.Parsers.FileDirection
instance GHC.Classes.Eq Cardano.CLI.Shelley.Parsers.FileDirection

module Cardano.CLI.Shelley.Run.StakeAddress
data ShelleyStakeAddressCmdError
renderShelleyStakeAddressCmdError :: ShelleyStakeAddressCmdError -> Text
runStakeAddressCmd :: StakeAddressCmd -> ExceptT ShelleyStakeAddressCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.StakeAddress.ShelleyStakeAddressCmdError

module Cardano.CLI.Shelley.Run.Governance
data ShelleyGovernanceCmdError
renderShelleyGovernanceError :: ShelleyGovernanceCmdError -> Text
runGovernanceCmd :: GovernanceCmd -> ExceptT ShelleyGovernanceCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Governance.ShelleyGovernanceCmdError

module Cardano.CLI.Shelley.Run.Address.Info
runAddressInfo :: Text -> Maybe OutputFile -> ExceptT ShelleyAddressInfoError IO ()
newtype ShelleyAddressInfoError
ShelleyAddressInvalid :: Text -> ShelleyAddressInfoError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Address.Info.ShelleyAddressInfoError
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.CLI.Shelley.Run.Address.Info.AddressInfo
instance Cardano.Api.Typed.Error Cardano.CLI.Shelley.Run.Address.Info.ShelleyAddressInfoError

module Cardano.CLI.Shelley.Run.Address
data ShelleyAddressCmdError
renderShelleyAddressCmdError :: ShelleyAddressCmdError -> Text
runAddressCmd :: AddressCmd -> ExceptT ShelleyAddressCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Address.ShelleyAddressCmdError

module Cardano.CLI.Helpers
data HelpersError
CBORPrettyPrintError :: !DeserialiseFailure -> HelpersError
CBORDecodingError :: !DeserialiseFailure -> HelpersError
IOError' :: !FilePath -> !IOException -> HelpersError
OutputMustNotAlreadyExist :: FilePath -> HelpersError
ReadCBORFileFailure :: !FilePath -> !Text -> HelpersError

-- | Checks if a path exists and throws and error if it does.
ensureNewFile :: (FilePath -> a -> IO ()) -> FilePath -> a -> ExceptT HelpersError IO ()
ensureNewFileLBS :: FilePath -> ByteString -> ExceptT HelpersError IO ()
pPrintCBOR :: LByteString -> ExceptT HelpersError IO ()
readCBOR :: FilePath -> ExceptT HelpersError IO LByteString
renderHelpersError :: HelpersError -> Text
textShow :: Show a => a -> Text
validateCBOR :: CBORObject -> LByteString -> Either HelpersError Text
instance GHC.Show.Show Cardano.CLI.Helpers.HelpersError

module Cardano.CLI.Shelley.Run.TextView
data ShelleyTextViewFileError
TextViewReadFileError :: FileError TextEnvelopeError -> ShelleyTextViewFileError
TextViewCBORPrettyPrintError :: !HelpersError -> ShelleyTextViewFileError
renderShelleyTextViewFileError :: ShelleyTextViewFileError -> Text
runTextViewCmd :: TextViewCmd -> ExceptT ShelleyTextViewFileError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.TextView.ShelleyTextViewFileError

module Cardano.CLI.Shelley.Run.Genesis
data ShelleyGenesisCmdError
renderShelleyGenesisCmdError :: ShelleyGenesisCmdError -> Text
runGenesisCmd :: GenesisCmd -> ExceptT ShelleyGenesisCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Genesis.ShelleyGenesisCmdError

module Cardano.CLI.Environment
newtype EnvSocketError
CliEnvVarLookup :: Text -> EnvSocketError

-- | Read the node socket path from the environment. Fails if the
--   environment variable is not set.
readEnvSocketPath :: ExceptT EnvSocketError IO SocketPath
renderEnvSocketError :: EnvSocketError -> Text
instance GHC.Show.Show Cardano.CLI.Environment.EnvSocketError

module Cardano.CLI.Shelley.Run.Transaction
data ShelleyTxCmdError
renderShelleyTxCmdError :: ShelleyTxCmdError -> Text
runTransactionCmd :: TransactionCmd -> ExceptT ShelleyTxCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Transaction.ScriptJsonDecodeError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Transaction.ReadWitnessSigningDataError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Transaction.ShelleyBootstrapWitnessError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Transaction.ShelleyTxCmdError
instance Cardano.Api.Typed.Error Cardano.CLI.Shelley.Run.Transaction.ScriptJsonDecodeError

module Cardano.CLI.Shelley.Run.Query
data ShelleyQueryCmdError
renderShelleyQueryCmdError :: ShelleyQueryCmdError -> Text
runQueryCmd :: QueryCmd -> ExceptT ShelleyQueryCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Query.ShelleyQueryCmdLocalStateQueryError
instance GHC.Classes.Eq Cardano.CLI.Shelley.Run.Query.ShelleyQueryCmdLocalStateQueryError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Query.ShelleyQueryCmdError
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.CLI.Shelley.Run.Query.DelegationsAndRewards

module Cardano.CLI.Byron.Tx
data ByronTxError
TxDeserialisationFailed :: !FilePath -> !DecoderError -> ByronTxError
EnvSocketError :: !EnvSocketError -> ByronTxError
newtype TxFile
TxFile :: FilePath -> TxFile
newtype NewTxFile
NewTxFile :: FilePath -> NewTxFile

-- | Pretty-print an address in its Base58 form, and also its full
--   structure.
prettyAddress :: Address -> Text
readByronTx :: TxFile -> ExceptT ByronTxError IO (GenTx ByronBlock)

-- | The <a>GenTx</a> is all the kinds of transactions that can be
--   submitted and "normal" Byron transactions are just one of the kinds.
normalByronTxToGenTx :: ATxAux ByteString -> GenTx ByronBlock

-- | Generate a transaction spending genesis UTxO at a given address, to
--   given outputs, signed by the given key.
txSpendGenesisUTxOByronPBFT :: Config -> NetworkId -> SigningKey -> Address -> NonEmpty TxOut -> ATxAux ByteString

-- | Generate a transaction from given Tx inputs to outputs, signed by the
--   given key.
txSpendUTxOByronPBFT :: NetworkId -> SigningKey -> NonEmpty TxIn -> NonEmpty TxOut -> ATxAux ByteString

-- | Submit a transaction to a node specified by topology info.
nodeSubmitTx :: NetworkId -> GenTx ByronBlock -> ExceptT ByronTxError IO ()
renderByronTxError :: ByronTxError -> Text
fromCborTxAux :: ByteString -> Either DecoderError (ATxAux ByteString)
toCborTxAux :: ATxAux ByteString -> ByteString
instance GHC.Show.Show Cardano.CLI.Byron.Tx.ByronTxError
instance Data.String.IsString Cardano.CLI.Byron.Tx.TxFile
instance GHC.Show.Show Cardano.CLI.Byron.Tx.TxFile
instance GHC.Classes.Ord Cardano.CLI.Byron.Tx.TxFile
instance GHC.Classes.Eq Cardano.CLI.Byron.Tx.TxFile
instance Data.String.IsString Cardano.CLI.Byron.Tx.NewTxFile
instance GHC.Show.Show Cardano.CLI.Byron.Tx.NewTxFile
instance GHC.Classes.Ord Cardano.CLI.Byron.Tx.NewTxFile
instance GHC.Classes.Eq Cardano.CLI.Byron.Tx.NewTxFile

module Cardano.CLI.Byron.Query
newtype ByronQueryError
ByronQueryEnvVarSocketErr :: EnvSocketError -> ByronQueryError
renderByronQueryError :: ByronQueryError -> Text
runGetLocalNodeTip :: NetworkId -> ExceptT ByronQueryError IO ()
instance GHC.Show.Show Cardano.CLI.Byron.Query.ByronQueryError

module Cardano.CLI.Byron.Key
data ByronKeyFailure
ReadSigningKeyFailure :: !FilePath -> !Text -> ByronKeyFailure
ReadVerificationKeyFailure :: !FilePath -> !Text -> ByronKeyFailure
SigningKeyDeserialisationFailed :: !FilePath -> !DeserialiseFailure -> ByronKeyFailure
VerificationKeyDeserialisationFailed :: !FilePath -> !Text -> ByronKeyFailure
newtype NewSigningKeyFile
NewSigningKeyFile :: FilePath -> NewSigningKeyFile
newtype NewVerificationKeyFile
NewVerificationKeyFile :: FilePath -> NewVerificationKeyFile
newtype VerificationKeyFile
VerificationKeyFile :: FilePath -> VerificationKeyFile
[unVerificationKeyFile] :: VerificationKeyFile -> FilePath

-- | Some commands have variants or file formats that depend on the era.
--   
--   TODO: this looks like it's only used for Byron era keys, so could be
--   renamed
data CardanoEra
ByronEraLegacy :: CardanoEra
ByronEra :: CardanoEra
serialiseSigningKey :: CardanoEra -> SigningKey -> Either ByronKeyFailure ByteString
deserialiseSigningKey :: CardanoEra -> FilePath -> ByteString -> Either ByronKeyFailure SigningKey

-- | Generate a cryptographically random signing key, protected with a
--   (potentially empty) passphrase.
keygen :: PassPhrase -> IO SigningKey

-- | Print some invariant properties of a public key: its hash and
--   formatted view.
prettyPublicKey :: VerificationKey -> Text

-- | Read signing key from a file. Throw an error if the file can't be read
--   or fails to deserialise.
readEraSigningKey :: CardanoEra -> SigningKeyFile -> ExceptT ByronKeyFailure IO SigningKey

-- | Read verification key from a file. Throw an error if the file can't be
--   read or the key fails to deserialise.
readPaymentVerificationKey :: VerificationKeyFile -> ExceptT ByronKeyFailure IO VerificationKey
renderByronKeyFailure :: ByronKeyFailure -> Text
serialisePoorKey :: CardanoEra -> PoorSecret -> Either ByronKeyFailure ByteString

-- | Whether to require a password, or to supply an empty one.
data PasswordRequirement
GetPassword :: PasswordRequirement
EmptyPassword :: PasswordRequirement
type PasswordPrompt = String

-- | Get a passphrase from the standard input, depending on whether it's
--   required.
getPassphrase :: PasswordPrompt -> PasswordRequirement -> IO PassPhrase
instance GHC.Show.Show Cardano.CLI.Byron.Key.ByronKeyFailure
instance Data.String.IsString Cardano.CLI.Byron.Key.NewSigningKeyFile
instance GHC.Show.Show Cardano.CLI.Byron.Key.NewSigningKeyFile
instance GHC.Classes.Ord Cardano.CLI.Byron.Key.NewSigningKeyFile
instance GHC.Classes.Eq Cardano.CLI.Byron.Key.NewSigningKeyFile
instance Data.String.IsString Cardano.CLI.Byron.Key.NewVerificationKeyFile
instance GHC.Show.Show Cardano.CLI.Byron.Key.NewVerificationKeyFile
instance GHC.Classes.Ord Cardano.CLI.Byron.Key.NewVerificationKeyFile
instance GHC.Classes.Eq Cardano.CLI.Byron.Key.NewVerificationKeyFile
instance GHC.Show.Show Cardano.CLI.Byron.Key.PasswordRequirement
instance GHC.Classes.Eq Cardano.CLI.Byron.Key.PasswordRequirement
instance GHC.Show.Show Cardano.CLI.Byron.Key.CardanoEra

module Cardano.CLI.Shelley.Run.Key
data ShelleyKeyCmdError
data SomeSigningKey
AByronSigningKey :: SigningKey ByronKey -> SomeSigningKey
APaymentSigningKey :: SigningKey PaymentKey -> SomeSigningKey
APaymentExtendedSigningKey :: SigningKey PaymentExtendedKey -> SomeSigningKey
AStakeSigningKey :: SigningKey StakeKey -> SomeSigningKey
AStakeExtendedSigningKey :: SigningKey StakeExtendedKey -> SomeSigningKey
AStakePoolSigningKey :: SigningKey StakePoolKey -> SomeSigningKey
AGenesisSigningKey :: SigningKey GenesisKey -> SomeSigningKey
AGenesisExtendedSigningKey :: SigningKey GenesisExtendedKey -> SomeSigningKey
AGenesisDelegateSigningKey :: SigningKey GenesisDelegateKey -> SomeSigningKey
AGenesisDelegateExtendedSigningKey :: SigningKey GenesisDelegateExtendedKey -> SomeSigningKey
AGenesisUTxOSigningKey :: SigningKey GenesisUTxOKey -> SomeSigningKey
AVrfSigningKey :: SigningKey VrfKey -> SomeSigningKey
AKesSigningKey :: SigningKey KesKey -> SomeSigningKey
renderShelleyKeyCmdError :: ShelleyKeyCmdError -> Text
runKeyCmd :: KeyCmd -> ExceptT ShelleyKeyCmdError IO ()

-- | Decode a Bech32-encoded string.
decodeBech32 :: Text -> Either Bech32DecodeError (HumanReadablePart, DataPart, ByteString)
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Key.ItnKeyConversionError
instance GHC.Classes.Eq Cardano.CLI.Shelley.Run.Key.CardanoAddressSigningKeyConversionError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Key.CardanoAddressSigningKeyConversionError
instance GHC.Show.Show Cardano.CLI.Shelley.Run.Key.ShelleyKeyCmdError
instance Cardano.Api.Typed.Error Cardano.CLI.Shelley.Run.Key.CardanoAddressSigningKeyConversionError

module Cardano.CLI.Shelley.Run
data ShelleyClientCmdError
renderShelleyClientCmdError :: ShelleyCommand -> ShelleyClientCmdError -> Text
runShelleyClientCommand :: ShelleyCommand -> ExceptT ShelleyClientCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Shelley.Run.ShelleyClientCmdError

module Cardano.CLI.Byron.Delegation
data ByronDelegationError
CertificateValidationErrors :: !FilePath -> ![Text] -> ByronDelegationError
DlgCertificateDeserialisationFailed :: !FilePath -> !Text -> ByronDelegationError
ByronDelegationKeyError :: !ByronKeyFailure -> ByronDelegationError

-- | Verify that a certificate signifies genesis delegation by assumed
--   genesis key to a delegate key, for a given protocol magic. If
--   certificate fails validation, throw an error.
checkByronGenesisDelegation :: CertificateFile -> ProtocolMagicId -> VerificationKey -> VerificationKey -> ExceptT ByronDelegationError IO ()

-- | Issue a certificate for genesis delegation to a delegate key, signed
--   by the issuer key, for a given protocol magic and coming into effect
--   at given epoch.
issueByronGenesisDelegation :: ProtocolMagicId -> EpochNumber -> SigningKey -> VerificationKey -> Certificate
renderByronDelegationError :: ByronDelegationError -> Text
serialiseDelegationCert :: Certificate -> ByteString
serialiseDelegateKey :: CardanoEra -> SigningKey -> Either ByronDelegationError ByteString
instance GHC.Show.Show Cardano.CLI.Byron.Delegation.ByronDelegationError

module Cardano.CLI.Byron.Genesis
data ByronGenesisError
ByronDelegationCertSerializationError :: !ByronDelegationError -> ByronGenesisError
ByronDelegationKeySerializationError :: ByronDelegationError -> ByronGenesisError
ByronGenesisCardanoEraNotSupported :: !CardanoEra -> ByronGenesisError
GenesisGenerationError :: !GenesisDataGenerationError -> ByronGenesisError
GenesisOutputDirAlreadyExists :: FilePath -> ByronGenesisError
GenesisReadError :: !FilePath -> !GenesisDataError -> ByronGenesisError
GenesisSpecError :: !Text -> ByronGenesisError
MakeGenesisDelegationError :: !GenesisDelegationError -> ByronGenesisError
NoGenesisDelegationForKey :: !Text -> ByronGenesisError
ProtocolParametersParseFailed :: !FilePath -> !Text -> ByronGenesisError
PoorKeyFailure :: !ByronKeyFailure -> ByronGenesisError

-- | Parameters required for generation of new genesis.
data GenesisParameters
GenesisParameters :: !UTCTime -> !FilePath -> !BlockCount -> !ProtocolMagic -> !TestnetBalanceOptions -> !FakeAvvmOptions -> !LovelacePortion -> !Maybe Integer -> GenesisParameters
[gpStartTime] :: GenesisParameters -> !UTCTime
[gpProtocolParamsFile] :: GenesisParameters -> !FilePath
[gpK] :: GenesisParameters -> !BlockCount
[gpProtocolMagic] :: GenesisParameters -> !ProtocolMagic
[gpTestnetBalance] :: GenesisParameters -> !TestnetBalanceOptions
[gpFakeAvvmOptions] :: GenesisParameters -> !FakeAvvmOptions
[gpAvvmBalanceFactor] :: GenesisParameters -> !LovelacePortion
[gpSeed] :: GenesisParameters -> !Maybe Integer
newtype NewDirectory
NewDirectory :: FilePath -> NewDirectory

-- | Write out genesis into a directory that must not yet exist. An error
--   is thrown if the directory already exists, or the genesis has delegate
--   keys that are not delegated to.
dumpGenesis :: CardanoEra -> NewDirectory -> GenesisData -> GeneratedSecrets -> ExceptT ByronGenesisError IO ()

-- | Generate a genesis, for given blockchain start time, protocol
--   parameters, security parameter, protocol magic, testnet balance
--   options, fake AVVM options, AVVM balance factor and seed. Throw an
--   error in the following cases: if the protocol parameters file can't be
--   read or fails parse, if genesis delegation couldn't be generated, if
--   the parameter-derived genesis specification is wrong, or if the
--   genesis fails generation.
mkGenesis :: GenesisParameters -> ExceptT ByronGenesisError IO (GenesisData, GeneratedSecrets)

-- | Read genesis from a file.
readGenesis :: GenesisFile -> NetworkId -> ExceptT ByronGenesisError IO Config
renderByronGenesisError :: ByronGenesisError -> Text
instance GHC.Show.Show Cardano.CLI.Byron.Genesis.ByronGenesisError
instance Data.String.IsString Cardano.CLI.Byron.Genesis.NewDirectory
instance GHC.Show.Show Cardano.CLI.Byron.Genesis.NewDirectory
instance GHC.Classes.Ord Cardano.CLI.Byron.Genesis.NewDirectory
instance GHC.Classes.Eq Cardano.CLI.Byron.Genesis.NewDirectory
instance GHC.Show.Show Cardano.CLI.Byron.Genesis.GenesisParameters

module Cardano.CLI.Byron.UpdateProposal
data ByronUpdateProposalError
ByronReadUpdateProposalFileFailure :: !FilePath -> !Text -> ByronUpdateProposalError
ByronUpdateProposalWriteError :: !HelpersError -> ByronUpdateProposalError
ByronUpdateProposalGenesisReadError :: !FilePath -> !ByronGenesisError -> ByronUpdateProposalError
ByronUpdateProposalTxError :: !ByronTxError -> ByronUpdateProposalError
ReadSigningKeyFailure :: !FilePath -> !ByronKeyFailure -> ByronUpdateProposalError
UpdateProposalDecodingError :: !DecoderError -> ByronUpdateProposalError
data ParametersToUpdate
ScriptVersion :: Word16 -> ParametersToUpdate
SlotDuration :: Natural -> ParametersToUpdate
MaxBlockSize :: Natural -> ParametersToUpdate
MaxHeaderSize :: Natural -> ParametersToUpdate
MaxTxSize :: Natural -> ParametersToUpdate
MaxProposalSize :: Natural -> ParametersToUpdate
MpcThd :: LovelacePortion -> ParametersToUpdate
HeavyDelThd :: LovelacePortion -> ParametersToUpdate

-- | UpdateVoteThd: This represents the minimum percentage of the total
--   number of genesis keys that have to endorse a protocol version to be
--   able to become adopted.
UpdateVoteThd :: LovelacePortion -> ParametersToUpdate

-- | UpdateProposalTTL: If after the number of slots specified the proposal
--   does not reach majority of approvals, the proposal is simply
--   discarded.
UpdateProposalThd :: LovelacePortion -> ParametersToUpdate
UpdateProposalTTL :: SlotNumber -> ParametersToUpdate
SoftforkRuleParam :: SoftforkRule -> ParametersToUpdate
TxFeePolicy :: TxFeePolicy -> ParametersToUpdate
UnlockStakeEpoch :: EpochNumber -> ParametersToUpdate
runProposalCreation :: NetworkId -> SigningKeyFile -> ProtocolVersion -> SoftwareVersion -> SystemTag -> InstallerHash -> FilePath -> [ParametersToUpdate] -> ExceptT ByronUpdateProposalError IO ()
createUpdateProposal :: NetworkId -> SigningKey -> ProtocolVersion -> SoftwareVersion -> SystemTag -> InstallerHash -> [ParametersToUpdate] -> Proposal
deserialiseByronUpdateProposal :: LByteString -> Either ByronUpdateProposalError (AProposal ByteString)
readByronUpdateProposal :: FilePath -> ExceptT ByronUpdateProposalError IO LByteString
renderByronUpdateProposalError :: ByronUpdateProposalError -> Text
submitByronUpdateProposal :: NetworkId -> FilePath -> ExceptT ByronUpdateProposalError IO ()
instance GHC.Show.Show Cardano.CLI.Byron.UpdateProposal.ByronUpdateProposalError
instance GHC.Show.Show Cardano.CLI.Byron.UpdateProposal.ParametersToUpdate

module Cardano.CLI.Byron.Vote
data ByronVoteError
ByronVoteDecodingError :: !DecoderError -> ByronVoteError
ByronVoteGenesisReadError :: !ByronGenesisError -> ByronVoteError
ByronVoteKeyReadFailure :: !ByronKeyFailure -> ByronVoteError
ByronVoteReadFileFailure :: !FilePath -> !Text -> ByronVoteError
ByronVoteTxSubmissionError :: !ByronTxError -> ByronVoteError
ByronVoteUpdateProposalFailure :: !ByronUpdateProposalError -> ByronVoteError
ByronVoteUpdateHelperError :: !HelpersError -> ByronVoteError
renderByronVoteError :: ByronVoteError -> Text
runVoteCreation :: NetworkId -> SigningKeyFile -> FilePath -> Bool -> FilePath -> ExceptT ByronVoteError IO ()
submitByronVote :: NetworkId -> FilePath -> ExceptT ByronVoteError IO ()
instance GHC.Show.Show Cardano.CLI.Byron.Vote.ByronVoteError

module Cardano.CLI.Byron.Commands
data ByronCommand
NodeCmd :: NodeCmd -> ByronCommand
Genesis :: NewDirectory -> GenesisParameters -> CardanoEra -> ByronCommand
PrintGenesisHash :: GenesisFile -> ByronCommand
Keygen :: CardanoEra -> NewSigningKeyFile -> PasswordRequirement -> ByronCommand
ToVerification :: CardanoEra -> SigningKeyFile -> NewVerificationKeyFile -> ByronCommand
PrettySigningKeyPublic :: CardanoEra -> SigningKeyFile -> ByronCommand
MigrateDelegateKeyFrom :: CardanoEra -> SigningKeyFile -> CardanoEra -> NewSigningKeyFile -> ByronCommand
PrintSigningKeyAddress :: CardanoEra -> NetworkId -> SigningKeyFile -> ByronCommand
IssueDelegationCertificate :: NetworkId -> CardanoEra -> EpochNumber -> SigningKeyFile -> VerificationKeyFile -> NewCertificateFile -> ByronCommand
CheckDelegation :: NetworkId -> CertificateFile -> VerificationKeyFile -> VerificationKeyFile -> ByronCommand
GetLocalNodeTip :: NetworkId -> ByronCommand

-- | Filepath of transaction to submit.
SubmitTx :: NetworkId -> TxFile -> ByronCommand
SpendGenesisUTxO :: GenesisFile -> NetworkId -> CardanoEra -> NewTxFile -> SigningKeyFile -> Address -> NonEmpty TxOut -> ByronCommand
SpendUTxO :: NetworkId -> CardanoEra -> NewTxFile -> SigningKeyFile -> NonEmpty TxIn -> NonEmpty TxOut -> ByronCommand
ValidateCBOR :: CBORObject -> FilePath -> ByronCommand
PrettyPrintCBOR :: FilePath -> ByronCommand
data NodeCmd
CreateVote :: NetworkId -> SigningKeyFile -> FilePath -> Bool -> FilePath -> NodeCmd
UpdateProposal :: NetworkId -> SigningKeyFile -> ProtocolVersion -> SoftwareVersion -> SystemTag -> InstallerHash -> FilePath -> [ParametersToUpdate] -> NodeCmd

-- | Update proposal filepath.
SubmitUpdateProposal :: NetworkId -> FilePath -> NodeCmd

-- | Vote filepath.
SubmitVote :: NetworkId -> FilePath -> NodeCmd
newtype VerificationKeyFile
VerificationKeyFile :: FilePath -> VerificationKeyFile
[unVerificationKeyFile] :: VerificationKeyFile -> FilePath
newtype NewVerificationKeyFile
NewVerificationKeyFile :: FilePath -> NewVerificationKeyFile
newtype CertificateFile
CertificateFile :: FilePath -> CertificateFile
[unCertificateFile] :: CertificateFile -> FilePath
newtype NewCertificateFile
NewCertificateFile :: FilePath -> NewCertificateFile
[nFp] :: NewCertificateFile -> FilePath
instance GHC.Show.Show Cardano.CLI.Byron.Commands.NodeCmd
instance Data.String.IsString Cardano.CLI.Byron.Commands.NewCertificateFile
instance GHC.Show.Show Cardano.CLI.Byron.Commands.NewCertificateFile
instance GHC.Classes.Eq Cardano.CLI.Byron.Commands.NewCertificateFile
instance GHC.Show.Show Cardano.CLI.Byron.Commands.ByronCommand

module Cardano.CLI.Byron.Run

-- | Data type that encompasses all the possible errors of the Byron
--   client.
data ByronClientCmdError
renderByronClientCmdError :: ByronClientCmdError -> Text
runByronClientCommand :: ByronCommand -> ExceptT ByronClientCmdError IO ()
instance GHC.Show.Show Cardano.CLI.Byron.Run.ByronClientCmdError


-- | Dispatch for running all the CLI commands
module Cardano.CLI.Run

-- | Sub-commands of 'cardano-cli'.
data ClientCommand

-- | Byron Related Commands
ByronCommand :: ByronCommand -> ClientCommand

-- | Shelley Related Commands
ShelleyCommand :: ShelleyCommand -> ClientCommand
DisplayVersion :: ClientCommand
data ClientCommandErrors
renderClientCommandError :: ClientCommandErrors -> Text
runClientCommand :: ClientCommand -> ExceptT ClientCommandErrors IO ()
instance GHC.Show.Show Cardano.CLI.Run.ClientCommand
instance GHC.Show.Show Cardano.CLI.Run.ClientCommandErrors

module Cardano.CLI.Byron.Parsers
data ByronCommand
NodeCmd :: NodeCmd -> ByronCommand
Genesis :: NewDirectory -> GenesisParameters -> CardanoEra -> ByronCommand
PrintGenesisHash :: GenesisFile -> ByronCommand
Keygen :: CardanoEra -> NewSigningKeyFile -> PasswordRequirement -> ByronCommand
ToVerification :: CardanoEra -> SigningKeyFile -> NewVerificationKeyFile -> ByronCommand
PrettySigningKeyPublic :: CardanoEra -> SigningKeyFile -> ByronCommand
MigrateDelegateKeyFrom :: CardanoEra -> SigningKeyFile -> CardanoEra -> NewSigningKeyFile -> ByronCommand
PrintSigningKeyAddress :: CardanoEra -> NetworkId -> SigningKeyFile -> ByronCommand
IssueDelegationCertificate :: NetworkId -> CardanoEra -> EpochNumber -> SigningKeyFile -> VerificationKeyFile -> NewCertificateFile -> ByronCommand
CheckDelegation :: NetworkId -> CertificateFile -> VerificationKeyFile -> VerificationKeyFile -> ByronCommand
GetLocalNodeTip :: NetworkId -> ByronCommand

-- | Filepath of transaction to submit.
SubmitTx :: NetworkId -> TxFile -> ByronCommand
SpendGenesisUTxO :: GenesisFile -> NetworkId -> CardanoEra -> NewTxFile -> SigningKeyFile -> Address -> NonEmpty TxOut -> ByronCommand
SpendUTxO :: NetworkId -> CardanoEra -> NewTxFile -> SigningKeyFile -> NonEmpty TxIn -> NonEmpty TxOut -> ByronCommand
ValidateCBOR :: CBORObject -> FilePath -> ByronCommand
PrettyPrintCBOR :: FilePath -> ByronCommand
data NodeCmd
CreateVote :: NetworkId -> SigningKeyFile -> FilePath -> Bool -> FilePath -> NodeCmd
UpdateProposal :: NetworkId -> SigningKeyFile -> ProtocolVersion -> SoftwareVersion -> SystemTag -> InstallerHash -> FilePath -> [ParametersToUpdate] -> NodeCmd

-- | Update proposal filepath.
SubmitUpdateProposal :: NetworkId -> FilePath -> NodeCmd

-- | Vote filepath.
SubmitVote :: NetworkId -> FilePath -> NodeCmd
backwardsCompatibilityCommands :: Parser ClientCommand
parseByronCommands :: Parser ByronCommand
parseHeavyDelThd :: Parser (Maybe ParametersToUpdate)
parseInstallerHash :: Parser InstallerHash
parseMaxBlockSize :: Parser (Maybe ParametersToUpdate)
parseMaxHeaderSize :: Parser (Maybe ParametersToUpdate)
parseMaxTxSize :: Parser (Maybe ParametersToUpdate)
parseMaxProposalSize :: Parser (Maybe ParametersToUpdate)
parseMpcThd :: Parser (Maybe ParametersToUpdate)
parseScriptVersion :: Parser (Maybe ParametersToUpdate)
parseSlotDuration :: Parser (Maybe ParametersToUpdate)
parseSoftforkRuleParam :: Parser (Maybe ParametersToUpdate)
parseSystemTag :: Parser SystemTag
parseTxFeePolicy :: Parser (Maybe ParametersToUpdate)
parseUpdateProposalThd :: Parser (Maybe ParametersToUpdate)
parseUpdateProposalTTL :: Parser (Maybe ParametersToUpdate)
parseUnlockStakeEpoch :: Parser (Maybe ParametersToUpdate)
parseUpdateVoteThd :: Parser (Maybe ParametersToUpdate)

module Cardano.CLI.Parsers
opts :: ParserInfo ClientCommand
pref :: ParserPrefs
