{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Cardano.Network.Types where
import Data.Aeson (FromJSON)
import GHC.Generics (Generic)
import NoThunks.Class (NoThunks)
data LedgerStateJudgement = YoungEnough | TooOld
deriving (LedgerStateJudgement -> LedgerStateJudgement -> Bool
(LedgerStateJudgement -> LedgerStateJudgement -> Bool)
-> (LedgerStateJudgement -> LedgerStateJudgement -> Bool)
-> Eq LedgerStateJudgement
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LedgerStateJudgement -> LedgerStateJudgement -> Bool
== :: LedgerStateJudgement -> LedgerStateJudgement -> Bool
$c/= :: LedgerStateJudgement -> LedgerStateJudgement -> Bool
/= :: LedgerStateJudgement -> LedgerStateJudgement -> Bool
Eq, Int -> LedgerStateJudgement -> ShowS
[LedgerStateJudgement] -> ShowS
LedgerStateJudgement -> String
(Int -> LedgerStateJudgement -> ShowS)
-> (LedgerStateJudgement -> String)
-> ([LedgerStateJudgement] -> ShowS)
-> Show LedgerStateJudgement
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LedgerStateJudgement -> ShowS
showsPrec :: Int -> LedgerStateJudgement -> ShowS
$cshow :: LedgerStateJudgement -> String
show :: LedgerStateJudgement -> String
$cshowList :: [LedgerStateJudgement] -> ShowS
showList :: [LedgerStateJudgement] -> ShowS
Show, (forall x. LedgerStateJudgement -> Rep LedgerStateJudgement x)
-> (forall x. Rep LedgerStateJudgement x -> LedgerStateJudgement)
-> Generic LedgerStateJudgement
forall x. Rep LedgerStateJudgement x -> LedgerStateJudgement
forall x. LedgerStateJudgement -> Rep LedgerStateJudgement x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. LedgerStateJudgement -> Rep LedgerStateJudgement x
from :: forall x. LedgerStateJudgement -> Rep LedgerStateJudgement x
$cto :: forall x. Rep LedgerStateJudgement x -> LedgerStateJudgement
to :: forall x. Rep LedgerStateJudgement x -> LedgerStateJudgement
Generic)
instance NoThunks LedgerStateJudgement
newtype NumberOfBigLedgerPeers =
NumberOfBigLedgerPeers { NumberOfBigLedgerPeers -> Int
getNumberOfBigLedgerPeers :: Int }
deriving stock (NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool
(NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool)
-> (NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool)
-> Eq NumberOfBigLedgerPeers
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool
== :: NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool
$c/= :: NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool
/= :: NumberOfBigLedgerPeers -> NumberOfBigLedgerPeers -> Bool
Eq, Int -> NumberOfBigLedgerPeers -> ShowS
[NumberOfBigLedgerPeers] -> ShowS
NumberOfBigLedgerPeers -> String
(Int -> NumberOfBigLedgerPeers -> ShowS)
-> (NumberOfBigLedgerPeers -> String)
-> ([NumberOfBigLedgerPeers] -> ShowS)
-> Show NumberOfBigLedgerPeers
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NumberOfBigLedgerPeers -> ShowS
showsPrec :: Int -> NumberOfBigLedgerPeers -> ShowS
$cshow :: NumberOfBigLedgerPeers -> String
show :: NumberOfBigLedgerPeers -> String
$cshowList :: [NumberOfBigLedgerPeers] -> ShowS
showList :: [NumberOfBigLedgerPeers] -> ShowS
Show)
deriving newtype (Maybe NumberOfBigLedgerPeers
Value -> Parser [NumberOfBigLedgerPeers]
Value -> Parser NumberOfBigLedgerPeers
(Value -> Parser NumberOfBigLedgerPeers)
-> (Value -> Parser [NumberOfBigLedgerPeers])
-> Maybe NumberOfBigLedgerPeers
-> FromJSON NumberOfBigLedgerPeers
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser NumberOfBigLedgerPeers
parseJSON :: Value -> Parser NumberOfBigLedgerPeers
$cparseJSONList :: Value -> Parser [NumberOfBigLedgerPeers]
parseJSONList :: Value -> Parser [NumberOfBigLedgerPeers]
$comittedField :: Maybe NumberOfBigLedgerPeers
omittedField :: Maybe NumberOfBigLedgerPeers
FromJSON)