{-# LANGUAGE DataKinds #-}

module Cardano.CLI.Commands.Debug.LogEpochState
  ( LogEpochStateCmdArgs (..)
  , Configuration
  )
where

import           Cardano.Api

import           Cardano.CLI.Orphans ()

-- | A phantom type to represent the configuration file.
data Configuration

-- | The arguments for the 'debug log-epoch-state' command.
--
-- This command will connect to a local node and log the epoch state.
data LogEpochStateCmdArgs = LogEpochStateCmdArgs
  { LogEpochStateCmdArgs -> SocketPath
nodeSocketPath :: !SocketPath
  , LogEpochStateCmdArgs -> NodeConfigFile 'In
configurationFile :: !(NodeConfigFile 'In)
  , LogEpochStateCmdArgs -> File Configuration 'Out
outputFilePath :: !(File Configuration 'Out)
  }
  deriving Int -> LogEpochStateCmdArgs -> ShowS
[LogEpochStateCmdArgs] -> ShowS
LogEpochStateCmdArgs -> String
(Int -> LogEpochStateCmdArgs -> ShowS)
-> (LogEpochStateCmdArgs -> String)
-> ([LogEpochStateCmdArgs] -> ShowS)
-> Show LogEpochStateCmdArgs
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LogEpochStateCmdArgs -> ShowS
showsPrec :: Int -> LogEpochStateCmdArgs -> ShowS
$cshow :: LogEpochStateCmdArgs -> String
show :: LogEpochStateCmdArgs -> String
$cshowList :: [LogEpochStateCmdArgs] -> ShowS
showList :: [LogEpochStateCmdArgs] -> ShowS
Show