{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
module Cardano.Crypto.Peras.Cert (
PerasCert (..),
) where
import Cardano.Crypto.Peras (PerasRoundNo)
import GHC.Generics (Generic)
import NoThunks.Class (NoThunks)
data BoostedBlock = BoostedBlock
deriving (BoostedBlock -> BoostedBlock -> Bool
(BoostedBlock -> BoostedBlock -> Bool)
-> (BoostedBlock -> BoostedBlock -> Bool) -> Eq BoostedBlock
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BoostedBlock -> BoostedBlock -> Bool
== :: BoostedBlock -> BoostedBlock -> Bool
$c/= :: BoostedBlock -> BoostedBlock -> Bool
/= :: BoostedBlock -> BoostedBlock -> Bool
Eq, Int -> BoostedBlock -> ShowS
[BoostedBlock] -> ShowS
BoostedBlock -> String
(Int -> BoostedBlock -> ShowS)
-> (BoostedBlock -> String)
-> ([BoostedBlock] -> ShowS)
-> Show BoostedBlock
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BoostedBlock -> ShowS
showsPrec :: Int -> BoostedBlock -> ShowS
$cshow :: BoostedBlock -> String
show :: BoostedBlock -> String
$cshowList :: [BoostedBlock] -> ShowS
showList :: [BoostedBlock] -> ShowS
Show, (forall x. BoostedBlock -> Rep BoostedBlock x)
-> (forall x. Rep BoostedBlock x -> BoostedBlock)
-> Generic BoostedBlock
forall x. Rep BoostedBlock x -> BoostedBlock
forall x. BoostedBlock -> Rep BoostedBlock x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BoostedBlock -> Rep BoostedBlock x
from :: forall x. BoostedBlock -> Rep BoostedBlock x
$cto :: forall x. Rep BoostedBlock x -> BoostedBlock
to :: forall x. Rep BoostedBlock x -> BoostedBlock
Generic, Context -> BoostedBlock -> IO (Maybe ThunkInfo)
Proxy BoostedBlock -> String
(Context -> BoostedBlock -> IO (Maybe ThunkInfo))
-> (Context -> BoostedBlock -> IO (Maybe ThunkInfo))
-> (Proxy BoostedBlock -> String)
-> NoThunks BoostedBlock
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> BoostedBlock -> IO (Maybe ThunkInfo)
noThunks :: Context -> BoostedBlock -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> BoostedBlock -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> BoostedBlock -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy BoostedBlock -> String
showTypeOf :: Proxy BoostedBlock -> String
NoThunks)
data PerasCert = PerasCert
{ PerasCert -> PerasRoundNo
pcRoundNo :: !PerasRoundNo
, PerasCert -> BoostedBlock
pcBostedBlock :: !BoostedBlock
}
deriving (PerasCert -> PerasCert -> Bool
(PerasCert -> PerasCert -> Bool)
-> (PerasCert -> PerasCert -> Bool) -> Eq PerasCert
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasCert -> PerasCert -> Bool
== :: PerasCert -> PerasCert -> Bool
$c/= :: PerasCert -> PerasCert -> Bool
/= :: PerasCert -> PerasCert -> Bool
Eq, Int -> PerasCert -> ShowS
[PerasCert] -> ShowS
PerasCert -> String
(Int -> PerasCert -> ShowS)
-> (PerasCert -> String)
-> ([PerasCert] -> ShowS)
-> Show PerasCert
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasCert -> ShowS
showsPrec :: Int -> PerasCert -> ShowS
$cshow :: PerasCert -> String
show :: PerasCert -> String
$cshowList :: [PerasCert] -> ShowS
showList :: [PerasCert] -> ShowS
Show, (forall x. PerasCert -> Rep PerasCert x)
-> (forall x. Rep PerasCert x -> PerasCert) -> Generic PerasCert
forall x. Rep PerasCert x -> PerasCert
forall x. PerasCert -> Rep PerasCert x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasCert -> Rep PerasCert x
from :: forall x. PerasCert -> Rep PerasCert x
$cto :: forall x. Rep PerasCert x -> PerasCert
to :: forall x. Rep PerasCert x -> PerasCert
Generic, Context -> PerasCert -> IO (Maybe ThunkInfo)
Proxy PerasCert -> String
(Context -> PerasCert -> IO (Maybe ThunkInfo))
-> (Context -> PerasCert -> IO (Maybe ThunkInfo))
-> (Proxy PerasCert -> String)
-> NoThunks PerasCert
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasCert -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasCert -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasCert -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasCert -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasCert -> String
showTypeOf :: Proxy PerasCert -> String
NoThunks)