{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
module Ouroboros.Consensus.Peras.Params
(
PerasIgnoranceRounds (..)
, PerasCooldownRounds (..)
, PerasBlockMinSlots (..)
, PerasCertArrivalThreshold (..)
, PerasRoundLength (..)
, PerasWeight (..)
, PerasQuorumStakeThreshold (..)
, PerasQuorumStakeThresholdSafetyMargin (..)
, PerasParams (..)
, mkPerasParams
)
where
import Data.Semigroup (Sum (..))
import Data.Word (Word64)
import GHC.Generics (Generic)
import Ouroboros.Consensus.Util.Condense (Condense (..))
import Ouroboros.Consensus.Util.IOLike (NoThunks)
import Quiet (Quiet (..))
newtype PerasIgnoranceRounds
= PerasIgnoranceRounds {PerasIgnoranceRounds -> Word64
unPerasIgnoranceRounds :: Word64}
deriving Int -> PerasIgnoranceRounds -> ShowS
[PerasIgnoranceRounds] -> ShowS
PerasIgnoranceRounds -> String
(Int -> PerasIgnoranceRounds -> ShowS)
-> (PerasIgnoranceRounds -> String)
-> ([PerasIgnoranceRounds] -> ShowS)
-> Show PerasIgnoranceRounds
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasIgnoranceRounds -> ShowS
showsPrec :: Int -> PerasIgnoranceRounds -> ShowS
$cshow :: PerasIgnoranceRounds -> String
show :: PerasIgnoranceRounds -> String
$cshowList :: [PerasIgnoranceRounds] -> ShowS
showList :: [PerasIgnoranceRounds] -> ShowS
Show via Quiet PerasIgnoranceRounds
deriving stock (forall x. PerasIgnoranceRounds -> Rep PerasIgnoranceRounds x)
-> (forall x. Rep PerasIgnoranceRounds x -> PerasIgnoranceRounds)
-> Generic PerasIgnoranceRounds
forall x. Rep PerasIgnoranceRounds x -> PerasIgnoranceRounds
forall x. PerasIgnoranceRounds -> Rep PerasIgnoranceRounds x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasIgnoranceRounds -> Rep PerasIgnoranceRounds x
from :: forall x. PerasIgnoranceRounds -> Rep PerasIgnoranceRounds x
$cto :: forall x. Rep PerasIgnoranceRounds x -> PerasIgnoranceRounds
to :: forall x. Rep PerasIgnoranceRounds x -> PerasIgnoranceRounds
Generic
deriving newtype (Int -> PerasIgnoranceRounds
PerasIgnoranceRounds -> Int
PerasIgnoranceRounds -> [PerasIgnoranceRounds]
PerasIgnoranceRounds -> PerasIgnoranceRounds
PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds]
PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> [PerasIgnoranceRounds]
(PerasIgnoranceRounds -> PerasIgnoranceRounds)
-> (PerasIgnoranceRounds -> PerasIgnoranceRounds)
-> (Int -> PerasIgnoranceRounds)
-> (PerasIgnoranceRounds -> Int)
-> (PerasIgnoranceRounds -> [PerasIgnoranceRounds])
-> (PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds])
-> (PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds])
-> (PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> [PerasIgnoranceRounds])
-> Enum PerasIgnoranceRounds
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PerasIgnoranceRounds -> PerasIgnoranceRounds
succ :: PerasIgnoranceRounds -> PerasIgnoranceRounds
$cpred :: PerasIgnoranceRounds -> PerasIgnoranceRounds
pred :: PerasIgnoranceRounds -> PerasIgnoranceRounds
$ctoEnum :: Int -> PerasIgnoranceRounds
toEnum :: Int -> PerasIgnoranceRounds
$cfromEnum :: PerasIgnoranceRounds -> Int
fromEnum :: PerasIgnoranceRounds -> Int
$cenumFrom :: PerasIgnoranceRounds -> [PerasIgnoranceRounds]
enumFrom :: PerasIgnoranceRounds -> [PerasIgnoranceRounds]
$cenumFromThen :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds]
enumFromThen :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds]
$cenumFromTo :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds]
enumFromTo :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> [PerasIgnoranceRounds]
$cenumFromThenTo :: PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> [PerasIgnoranceRounds]
enumFromThenTo :: PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> PerasIgnoranceRounds
-> [PerasIgnoranceRounds]
Enum, PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
(PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool)
-> (PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool)
-> Eq PerasIgnoranceRounds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
== :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
$c/= :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
/= :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
Eq, Eq PerasIgnoranceRounds
Eq PerasIgnoranceRounds =>
(PerasIgnoranceRounds -> PerasIgnoranceRounds -> Ordering)
-> (PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool)
-> (PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool)
-> (PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool)
-> (PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool)
-> (PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds)
-> (PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds)
-> Ord PerasIgnoranceRounds
PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
PerasIgnoranceRounds -> PerasIgnoranceRounds -> Ordering
PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Ordering
compare :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Ordering
$c< :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
< :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
$c<= :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
<= :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
$c> :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
> :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
$c>= :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
>= :: PerasIgnoranceRounds -> PerasIgnoranceRounds -> Bool
$cmax :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds
max :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds
$cmin :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds
min :: PerasIgnoranceRounds
-> PerasIgnoranceRounds -> PerasIgnoranceRounds
Ord, Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo)
Proxy PerasIgnoranceRounds -> String
(Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo))
-> (Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo))
-> (Proxy PerasIgnoranceRounds -> String)
-> NoThunks PerasIgnoranceRounds
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasIgnoranceRounds -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasIgnoranceRounds -> String
showTypeOf :: Proxy PerasIgnoranceRounds -> String
NoThunks, PerasIgnoranceRounds -> String
(PerasIgnoranceRounds -> String) -> Condense PerasIgnoranceRounds
forall a. (a -> String) -> Condense a
$ccondense :: PerasIgnoranceRounds -> String
condense :: PerasIgnoranceRounds -> String
Condense)
newtype PerasCooldownRounds
= PerasCooldownRounds {PerasCooldownRounds -> Word64
unPerasCooldownRounds :: Word64}
deriving Int -> PerasCooldownRounds -> ShowS
[PerasCooldownRounds] -> ShowS
PerasCooldownRounds -> String
(Int -> PerasCooldownRounds -> ShowS)
-> (PerasCooldownRounds -> String)
-> ([PerasCooldownRounds] -> ShowS)
-> Show PerasCooldownRounds
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasCooldownRounds -> ShowS
showsPrec :: Int -> PerasCooldownRounds -> ShowS
$cshow :: PerasCooldownRounds -> String
show :: PerasCooldownRounds -> String
$cshowList :: [PerasCooldownRounds] -> ShowS
showList :: [PerasCooldownRounds] -> ShowS
Show via Quiet PerasCooldownRounds
deriving stock (forall x. PerasCooldownRounds -> Rep PerasCooldownRounds x)
-> (forall x. Rep PerasCooldownRounds x -> PerasCooldownRounds)
-> Generic PerasCooldownRounds
forall x. Rep PerasCooldownRounds x -> PerasCooldownRounds
forall x. PerasCooldownRounds -> Rep PerasCooldownRounds x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasCooldownRounds -> Rep PerasCooldownRounds x
from :: forall x. PerasCooldownRounds -> Rep PerasCooldownRounds x
$cto :: forall x. Rep PerasCooldownRounds x -> PerasCooldownRounds
to :: forall x. Rep PerasCooldownRounds x -> PerasCooldownRounds
Generic
deriving newtype (Int -> PerasCooldownRounds
PerasCooldownRounds -> Int
PerasCooldownRounds -> [PerasCooldownRounds]
PerasCooldownRounds -> PerasCooldownRounds
PerasCooldownRounds -> PerasCooldownRounds -> [PerasCooldownRounds]
PerasCooldownRounds
-> PerasCooldownRounds
-> PerasCooldownRounds
-> [PerasCooldownRounds]
(PerasCooldownRounds -> PerasCooldownRounds)
-> (PerasCooldownRounds -> PerasCooldownRounds)
-> (Int -> PerasCooldownRounds)
-> (PerasCooldownRounds -> Int)
-> (PerasCooldownRounds -> [PerasCooldownRounds])
-> (PerasCooldownRounds
-> PerasCooldownRounds -> [PerasCooldownRounds])
-> (PerasCooldownRounds
-> PerasCooldownRounds -> [PerasCooldownRounds])
-> (PerasCooldownRounds
-> PerasCooldownRounds
-> PerasCooldownRounds
-> [PerasCooldownRounds])
-> Enum PerasCooldownRounds
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PerasCooldownRounds -> PerasCooldownRounds
succ :: PerasCooldownRounds -> PerasCooldownRounds
$cpred :: PerasCooldownRounds -> PerasCooldownRounds
pred :: PerasCooldownRounds -> PerasCooldownRounds
$ctoEnum :: Int -> PerasCooldownRounds
toEnum :: Int -> PerasCooldownRounds
$cfromEnum :: PerasCooldownRounds -> Int
fromEnum :: PerasCooldownRounds -> Int
$cenumFrom :: PerasCooldownRounds -> [PerasCooldownRounds]
enumFrom :: PerasCooldownRounds -> [PerasCooldownRounds]
$cenumFromThen :: PerasCooldownRounds -> PerasCooldownRounds -> [PerasCooldownRounds]
enumFromThen :: PerasCooldownRounds -> PerasCooldownRounds -> [PerasCooldownRounds]
$cenumFromTo :: PerasCooldownRounds -> PerasCooldownRounds -> [PerasCooldownRounds]
enumFromTo :: PerasCooldownRounds -> PerasCooldownRounds -> [PerasCooldownRounds]
$cenumFromThenTo :: PerasCooldownRounds
-> PerasCooldownRounds
-> PerasCooldownRounds
-> [PerasCooldownRounds]
enumFromThenTo :: PerasCooldownRounds
-> PerasCooldownRounds
-> PerasCooldownRounds
-> [PerasCooldownRounds]
Enum, PerasCooldownRounds -> PerasCooldownRounds -> Bool
(PerasCooldownRounds -> PerasCooldownRounds -> Bool)
-> (PerasCooldownRounds -> PerasCooldownRounds -> Bool)
-> Eq PerasCooldownRounds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
== :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
$c/= :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
/= :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
Eq, Eq PerasCooldownRounds
Eq PerasCooldownRounds =>
(PerasCooldownRounds -> PerasCooldownRounds -> Ordering)
-> (PerasCooldownRounds -> PerasCooldownRounds -> Bool)
-> (PerasCooldownRounds -> PerasCooldownRounds -> Bool)
-> (PerasCooldownRounds -> PerasCooldownRounds -> Bool)
-> (PerasCooldownRounds -> PerasCooldownRounds -> Bool)
-> (PerasCooldownRounds
-> PerasCooldownRounds -> PerasCooldownRounds)
-> (PerasCooldownRounds
-> PerasCooldownRounds -> PerasCooldownRounds)
-> Ord PerasCooldownRounds
PerasCooldownRounds -> PerasCooldownRounds -> Bool
PerasCooldownRounds -> PerasCooldownRounds -> Ordering
PerasCooldownRounds -> PerasCooldownRounds -> PerasCooldownRounds
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasCooldownRounds -> PerasCooldownRounds -> Ordering
compare :: PerasCooldownRounds -> PerasCooldownRounds -> Ordering
$c< :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
< :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
$c<= :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
<= :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
$c> :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
> :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
$c>= :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
>= :: PerasCooldownRounds -> PerasCooldownRounds -> Bool
$cmax :: PerasCooldownRounds -> PerasCooldownRounds -> PerasCooldownRounds
max :: PerasCooldownRounds -> PerasCooldownRounds -> PerasCooldownRounds
$cmin :: PerasCooldownRounds -> PerasCooldownRounds -> PerasCooldownRounds
min :: PerasCooldownRounds -> PerasCooldownRounds -> PerasCooldownRounds
Ord, Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo)
Proxy PerasCooldownRounds -> String
(Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo))
-> (Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo))
-> (Proxy PerasCooldownRounds -> String)
-> NoThunks PerasCooldownRounds
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasCooldownRounds -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasCooldownRounds -> String
showTypeOf :: Proxy PerasCooldownRounds -> String
NoThunks, PerasCooldownRounds -> String
(PerasCooldownRounds -> String) -> Condense PerasCooldownRounds
forall a. (a -> String) -> Condense a
$ccondense :: PerasCooldownRounds -> String
condense :: PerasCooldownRounds -> String
Condense)
newtype PerasBlockMinSlots
= PerasBlockMinSlots {PerasBlockMinSlots -> Word64
unPerasBlockMinSlots :: Word64}
deriving Int -> PerasBlockMinSlots -> ShowS
[PerasBlockMinSlots] -> ShowS
PerasBlockMinSlots -> String
(Int -> PerasBlockMinSlots -> ShowS)
-> (PerasBlockMinSlots -> String)
-> ([PerasBlockMinSlots] -> ShowS)
-> Show PerasBlockMinSlots
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasBlockMinSlots -> ShowS
showsPrec :: Int -> PerasBlockMinSlots -> ShowS
$cshow :: PerasBlockMinSlots -> String
show :: PerasBlockMinSlots -> String
$cshowList :: [PerasBlockMinSlots] -> ShowS
showList :: [PerasBlockMinSlots] -> ShowS
Show via Quiet PerasBlockMinSlots
deriving stock (forall x. PerasBlockMinSlots -> Rep PerasBlockMinSlots x)
-> (forall x. Rep PerasBlockMinSlots x -> PerasBlockMinSlots)
-> Generic PerasBlockMinSlots
forall x. Rep PerasBlockMinSlots x -> PerasBlockMinSlots
forall x. PerasBlockMinSlots -> Rep PerasBlockMinSlots x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasBlockMinSlots -> Rep PerasBlockMinSlots x
from :: forall x. PerasBlockMinSlots -> Rep PerasBlockMinSlots x
$cto :: forall x. Rep PerasBlockMinSlots x -> PerasBlockMinSlots
to :: forall x. Rep PerasBlockMinSlots x -> PerasBlockMinSlots
Generic
deriving newtype (Int -> PerasBlockMinSlots
PerasBlockMinSlots -> Int
PerasBlockMinSlots -> [PerasBlockMinSlots]
PerasBlockMinSlots -> PerasBlockMinSlots
PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
PerasBlockMinSlots
-> PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
(PerasBlockMinSlots -> PerasBlockMinSlots)
-> (PerasBlockMinSlots -> PerasBlockMinSlots)
-> (Int -> PerasBlockMinSlots)
-> (PerasBlockMinSlots -> Int)
-> (PerasBlockMinSlots -> [PerasBlockMinSlots])
-> (PerasBlockMinSlots
-> PerasBlockMinSlots -> [PerasBlockMinSlots])
-> (PerasBlockMinSlots
-> PerasBlockMinSlots -> [PerasBlockMinSlots])
-> (PerasBlockMinSlots
-> PerasBlockMinSlots
-> PerasBlockMinSlots
-> [PerasBlockMinSlots])
-> Enum PerasBlockMinSlots
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PerasBlockMinSlots -> PerasBlockMinSlots
succ :: PerasBlockMinSlots -> PerasBlockMinSlots
$cpred :: PerasBlockMinSlots -> PerasBlockMinSlots
pred :: PerasBlockMinSlots -> PerasBlockMinSlots
$ctoEnum :: Int -> PerasBlockMinSlots
toEnum :: Int -> PerasBlockMinSlots
$cfromEnum :: PerasBlockMinSlots -> Int
fromEnum :: PerasBlockMinSlots -> Int
$cenumFrom :: PerasBlockMinSlots -> [PerasBlockMinSlots]
enumFrom :: PerasBlockMinSlots -> [PerasBlockMinSlots]
$cenumFromThen :: PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
enumFromThen :: PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
$cenumFromTo :: PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
enumFromTo :: PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
$cenumFromThenTo :: PerasBlockMinSlots
-> PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
enumFromThenTo :: PerasBlockMinSlots
-> PerasBlockMinSlots -> PerasBlockMinSlots -> [PerasBlockMinSlots]
Enum, PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
(PerasBlockMinSlots -> PerasBlockMinSlots -> Bool)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> Bool)
-> Eq PerasBlockMinSlots
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
== :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
$c/= :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
/= :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
Eq, Eq PerasBlockMinSlots
Eq PerasBlockMinSlots =>
(PerasBlockMinSlots -> PerasBlockMinSlots -> Ordering)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> Bool)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> Bool)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> Bool)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> Bool)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots)
-> (PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots)
-> Ord PerasBlockMinSlots
PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
PerasBlockMinSlots -> PerasBlockMinSlots -> Ordering
PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasBlockMinSlots -> PerasBlockMinSlots -> Ordering
compare :: PerasBlockMinSlots -> PerasBlockMinSlots -> Ordering
$c< :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
< :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
$c<= :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
<= :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
$c> :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
> :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
$c>= :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
>= :: PerasBlockMinSlots -> PerasBlockMinSlots -> Bool
$cmax :: PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots
max :: PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots
$cmin :: PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots
min :: PerasBlockMinSlots -> PerasBlockMinSlots -> PerasBlockMinSlots
Ord, Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo)
Proxy PerasBlockMinSlots -> String
(Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo))
-> (Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo))
-> (Proxy PerasBlockMinSlots -> String)
-> NoThunks PerasBlockMinSlots
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasBlockMinSlots -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasBlockMinSlots -> String
showTypeOf :: Proxy PerasBlockMinSlots -> String
NoThunks, PerasBlockMinSlots -> String
(PerasBlockMinSlots -> String) -> Condense PerasBlockMinSlots
forall a. (a -> String) -> Condense a
$ccondense :: PerasBlockMinSlots -> String
condense :: PerasBlockMinSlots -> String
Condense)
newtype PerasCertArrivalThreshold
= PerasCertArrivalThreshold {PerasCertArrivalThreshold -> Word64
unPerasCertArrivalThreshold :: Word64}
deriving Int -> PerasCertArrivalThreshold -> ShowS
[PerasCertArrivalThreshold] -> ShowS
PerasCertArrivalThreshold -> String
(Int -> PerasCertArrivalThreshold -> ShowS)
-> (PerasCertArrivalThreshold -> String)
-> ([PerasCertArrivalThreshold] -> ShowS)
-> Show PerasCertArrivalThreshold
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasCertArrivalThreshold -> ShowS
showsPrec :: Int -> PerasCertArrivalThreshold -> ShowS
$cshow :: PerasCertArrivalThreshold -> String
show :: PerasCertArrivalThreshold -> String
$cshowList :: [PerasCertArrivalThreshold] -> ShowS
showList :: [PerasCertArrivalThreshold] -> ShowS
Show via Quiet PerasCertArrivalThreshold
deriving stock (forall x.
PerasCertArrivalThreshold -> Rep PerasCertArrivalThreshold x)
-> (forall x.
Rep PerasCertArrivalThreshold x -> PerasCertArrivalThreshold)
-> Generic PerasCertArrivalThreshold
forall x.
Rep PerasCertArrivalThreshold x -> PerasCertArrivalThreshold
forall x.
PerasCertArrivalThreshold -> Rep PerasCertArrivalThreshold x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
PerasCertArrivalThreshold -> Rep PerasCertArrivalThreshold x
from :: forall x.
PerasCertArrivalThreshold -> Rep PerasCertArrivalThreshold x
$cto :: forall x.
Rep PerasCertArrivalThreshold x -> PerasCertArrivalThreshold
to :: forall x.
Rep PerasCertArrivalThreshold x -> PerasCertArrivalThreshold
Generic
deriving newtype (Int -> PerasCertArrivalThreshold
PerasCertArrivalThreshold -> Int
PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
PerasCertArrivalThreshold -> PerasCertArrivalThreshold
PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> [PerasCertArrivalThreshold]
(PerasCertArrivalThreshold -> PerasCertArrivalThreshold)
-> (PerasCertArrivalThreshold -> PerasCertArrivalThreshold)
-> (Int -> PerasCertArrivalThreshold)
-> (PerasCertArrivalThreshold -> Int)
-> (PerasCertArrivalThreshold -> [PerasCertArrivalThreshold])
-> (PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold])
-> (PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold])
-> (PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> [PerasCertArrivalThreshold])
-> Enum PerasCertArrivalThreshold
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold
succ :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold
$cpred :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold
pred :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold
$ctoEnum :: Int -> PerasCertArrivalThreshold
toEnum :: Int -> PerasCertArrivalThreshold
$cfromEnum :: PerasCertArrivalThreshold -> Int
fromEnum :: PerasCertArrivalThreshold -> Int
$cenumFrom :: PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
enumFrom :: PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
$cenumFromThen :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
enumFromThen :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
$cenumFromTo :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
enumFromTo :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> [PerasCertArrivalThreshold]
$cenumFromThenTo :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> [PerasCertArrivalThreshold]
enumFromThenTo :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> PerasCertArrivalThreshold
-> [PerasCertArrivalThreshold]
Enum, PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
(PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool)
-> (PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool)
-> Eq PerasCertArrivalThreshold
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
== :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
$c/= :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
/= :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
Eq, Eq PerasCertArrivalThreshold
Eq PerasCertArrivalThreshold =>
(PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> Ordering)
-> (PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool)
-> (PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool)
-> (PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool)
-> (PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool)
-> (PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold)
-> (PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold)
-> Ord PerasCertArrivalThreshold
PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Ordering
PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Ordering
compare :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Ordering
$c< :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
< :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
$c<= :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
<= :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
$c> :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
> :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
$c>= :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
>= :: PerasCertArrivalThreshold -> PerasCertArrivalThreshold -> Bool
$cmax :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold
max :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold
$cmin :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold
min :: PerasCertArrivalThreshold
-> PerasCertArrivalThreshold -> PerasCertArrivalThreshold
Ord, Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo)
Proxy PerasCertArrivalThreshold -> String
(Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo))
-> (Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo))
-> (Proxy PerasCertArrivalThreshold -> String)
-> NoThunks PerasCertArrivalThreshold
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasCertArrivalThreshold -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasCertArrivalThreshold -> String
showTypeOf :: Proxy PerasCertArrivalThreshold -> String
NoThunks, PerasCertArrivalThreshold -> String
(PerasCertArrivalThreshold -> String)
-> Condense PerasCertArrivalThreshold
forall a. (a -> String) -> Condense a
$ccondense :: PerasCertArrivalThreshold -> String
condense :: PerasCertArrivalThreshold -> String
Condense)
newtype PerasRoundLength
= PerasRoundLength {PerasRoundLength -> Word64
unPerasRoundLength :: Word64}
deriving Int -> PerasRoundLength -> ShowS
[PerasRoundLength] -> ShowS
PerasRoundLength -> String
(Int -> PerasRoundLength -> ShowS)
-> (PerasRoundLength -> String)
-> ([PerasRoundLength] -> ShowS)
-> Show PerasRoundLength
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasRoundLength -> ShowS
showsPrec :: Int -> PerasRoundLength -> ShowS
$cshow :: PerasRoundLength -> String
show :: PerasRoundLength -> String
$cshowList :: [PerasRoundLength] -> ShowS
showList :: [PerasRoundLength] -> ShowS
Show via Quiet PerasRoundLength
deriving stock (forall x. PerasRoundLength -> Rep PerasRoundLength x)
-> (forall x. Rep PerasRoundLength x -> PerasRoundLength)
-> Generic PerasRoundLength
forall x. Rep PerasRoundLength x -> PerasRoundLength
forall x. PerasRoundLength -> Rep PerasRoundLength x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasRoundLength -> Rep PerasRoundLength x
from :: forall x. PerasRoundLength -> Rep PerasRoundLength x
$cto :: forall x. Rep PerasRoundLength x -> PerasRoundLength
to :: forall x. Rep PerasRoundLength x -> PerasRoundLength
Generic
deriving newtype (Int -> PerasRoundLength
PerasRoundLength -> Int
PerasRoundLength -> [PerasRoundLength]
PerasRoundLength -> PerasRoundLength
PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
PerasRoundLength
-> PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
(PerasRoundLength -> PerasRoundLength)
-> (PerasRoundLength -> PerasRoundLength)
-> (Int -> PerasRoundLength)
-> (PerasRoundLength -> Int)
-> (PerasRoundLength -> [PerasRoundLength])
-> (PerasRoundLength -> PerasRoundLength -> [PerasRoundLength])
-> (PerasRoundLength -> PerasRoundLength -> [PerasRoundLength])
-> (PerasRoundLength
-> PerasRoundLength -> PerasRoundLength -> [PerasRoundLength])
-> Enum PerasRoundLength
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PerasRoundLength -> PerasRoundLength
succ :: PerasRoundLength -> PerasRoundLength
$cpred :: PerasRoundLength -> PerasRoundLength
pred :: PerasRoundLength -> PerasRoundLength
$ctoEnum :: Int -> PerasRoundLength
toEnum :: Int -> PerasRoundLength
$cfromEnum :: PerasRoundLength -> Int
fromEnum :: PerasRoundLength -> Int
$cenumFrom :: PerasRoundLength -> [PerasRoundLength]
enumFrom :: PerasRoundLength -> [PerasRoundLength]
$cenumFromThen :: PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
enumFromThen :: PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
$cenumFromTo :: PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
enumFromTo :: PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
$cenumFromThenTo :: PerasRoundLength
-> PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
enumFromThenTo :: PerasRoundLength
-> PerasRoundLength -> PerasRoundLength -> [PerasRoundLength]
Enum, PerasRoundLength -> PerasRoundLength -> Bool
(PerasRoundLength -> PerasRoundLength -> Bool)
-> (PerasRoundLength -> PerasRoundLength -> Bool)
-> Eq PerasRoundLength
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasRoundLength -> PerasRoundLength -> Bool
== :: PerasRoundLength -> PerasRoundLength -> Bool
$c/= :: PerasRoundLength -> PerasRoundLength -> Bool
/= :: PerasRoundLength -> PerasRoundLength -> Bool
Eq, Eq PerasRoundLength
Eq PerasRoundLength =>
(PerasRoundLength -> PerasRoundLength -> Ordering)
-> (PerasRoundLength -> PerasRoundLength -> Bool)
-> (PerasRoundLength -> PerasRoundLength -> Bool)
-> (PerasRoundLength -> PerasRoundLength -> Bool)
-> (PerasRoundLength -> PerasRoundLength -> Bool)
-> (PerasRoundLength -> PerasRoundLength -> PerasRoundLength)
-> (PerasRoundLength -> PerasRoundLength -> PerasRoundLength)
-> Ord PerasRoundLength
PerasRoundLength -> PerasRoundLength -> Bool
PerasRoundLength -> PerasRoundLength -> Ordering
PerasRoundLength -> PerasRoundLength -> PerasRoundLength
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasRoundLength -> PerasRoundLength -> Ordering
compare :: PerasRoundLength -> PerasRoundLength -> Ordering
$c< :: PerasRoundLength -> PerasRoundLength -> Bool
< :: PerasRoundLength -> PerasRoundLength -> Bool
$c<= :: PerasRoundLength -> PerasRoundLength -> Bool
<= :: PerasRoundLength -> PerasRoundLength -> Bool
$c> :: PerasRoundLength -> PerasRoundLength -> Bool
> :: PerasRoundLength -> PerasRoundLength -> Bool
$c>= :: PerasRoundLength -> PerasRoundLength -> Bool
>= :: PerasRoundLength -> PerasRoundLength -> Bool
$cmax :: PerasRoundLength -> PerasRoundLength -> PerasRoundLength
max :: PerasRoundLength -> PerasRoundLength -> PerasRoundLength
$cmin :: PerasRoundLength -> PerasRoundLength -> PerasRoundLength
min :: PerasRoundLength -> PerasRoundLength -> PerasRoundLength
Ord, Context -> PerasRoundLength -> IO (Maybe ThunkInfo)
Proxy PerasRoundLength -> String
(Context -> PerasRoundLength -> IO (Maybe ThunkInfo))
-> (Context -> PerasRoundLength -> IO (Maybe ThunkInfo))
-> (Proxy PerasRoundLength -> String)
-> NoThunks PerasRoundLength
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasRoundLength -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasRoundLength -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasRoundLength -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasRoundLength -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasRoundLength -> String
showTypeOf :: Proxy PerasRoundLength -> String
NoThunks)
newtype PerasWeight
= PerasWeight {PerasWeight -> Word64
unPerasWeight :: Word64}
deriving Int -> PerasWeight -> ShowS
[PerasWeight] -> ShowS
PerasWeight -> String
(Int -> PerasWeight -> ShowS)
-> (PerasWeight -> String)
-> ([PerasWeight] -> ShowS)
-> Show PerasWeight
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasWeight -> ShowS
showsPrec :: Int -> PerasWeight -> ShowS
$cshow :: PerasWeight -> String
show :: PerasWeight -> String
$cshowList :: [PerasWeight] -> ShowS
showList :: [PerasWeight] -> ShowS
Show via Quiet PerasWeight
deriving stock (forall x. PerasWeight -> Rep PerasWeight x)
-> (forall x. Rep PerasWeight x -> PerasWeight)
-> Generic PerasWeight
forall x. Rep PerasWeight x -> PerasWeight
forall x. PerasWeight -> Rep PerasWeight x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasWeight -> Rep PerasWeight x
from :: forall x. PerasWeight -> Rep PerasWeight x
$cto :: forall x. Rep PerasWeight x -> PerasWeight
to :: forall x. Rep PerasWeight x -> PerasWeight
Generic
deriving newtype (Int -> PerasWeight
PerasWeight -> Int
PerasWeight -> [PerasWeight]
PerasWeight -> PerasWeight
PerasWeight -> PerasWeight -> [PerasWeight]
PerasWeight -> PerasWeight -> PerasWeight -> [PerasWeight]
(PerasWeight -> PerasWeight)
-> (PerasWeight -> PerasWeight)
-> (Int -> PerasWeight)
-> (PerasWeight -> Int)
-> (PerasWeight -> [PerasWeight])
-> (PerasWeight -> PerasWeight -> [PerasWeight])
-> (PerasWeight -> PerasWeight -> [PerasWeight])
-> (PerasWeight -> PerasWeight -> PerasWeight -> [PerasWeight])
-> Enum PerasWeight
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: PerasWeight -> PerasWeight
succ :: PerasWeight -> PerasWeight
$cpred :: PerasWeight -> PerasWeight
pred :: PerasWeight -> PerasWeight
$ctoEnum :: Int -> PerasWeight
toEnum :: Int -> PerasWeight
$cfromEnum :: PerasWeight -> Int
fromEnum :: PerasWeight -> Int
$cenumFrom :: PerasWeight -> [PerasWeight]
enumFrom :: PerasWeight -> [PerasWeight]
$cenumFromThen :: PerasWeight -> PerasWeight -> [PerasWeight]
enumFromThen :: PerasWeight -> PerasWeight -> [PerasWeight]
$cenumFromTo :: PerasWeight -> PerasWeight -> [PerasWeight]
enumFromTo :: PerasWeight -> PerasWeight -> [PerasWeight]
$cenumFromThenTo :: PerasWeight -> PerasWeight -> PerasWeight -> [PerasWeight]
enumFromThenTo :: PerasWeight -> PerasWeight -> PerasWeight -> [PerasWeight]
Enum, PerasWeight -> PerasWeight -> Bool
(PerasWeight -> PerasWeight -> Bool)
-> (PerasWeight -> PerasWeight -> Bool) -> Eq PerasWeight
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasWeight -> PerasWeight -> Bool
== :: PerasWeight -> PerasWeight -> Bool
$c/= :: PerasWeight -> PerasWeight -> Bool
/= :: PerasWeight -> PerasWeight -> Bool
Eq, Eq PerasWeight
Eq PerasWeight =>
(PerasWeight -> PerasWeight -> Ordering)
-> (PerasWeight -> PerasWeight -> Bool)
-> (PerasWeight -> PerasWeight -> Bool)
-> (PerasWeight -> PerasWeight -> Bool)
-> (PerasWeight -> PerasWeight -> Bool)
-> (PerasWeight -> PerasWeight -> PerasWeight)
-> (PerasWeight -> PerasWeight -> PerasWeight)
-> Ord PerasWeight
PerasWeight -> PerasWeight -> Bool
PerasWeight -> PerasWeight -> Ordering
PerasWeight -> PerasWeight -> PerasWeight
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasWeight -> PerasWeight -> Ordering
compare :: PerasWeight -> PerasWeight -> Ordering
$c< :: PerasWeight -> PerasWeight -> Bool
< :: PerasWeight -> PerasWeight -> Bool
$c<= :: PerasWeight -> PerasWeight -> Bool
<= :: PerasWeight -> PerasWeight -> Bool
$c> :: PerasWeight -> PerasWeight -> Bool
> :: PerasWeight -> PerasWeight -> Bool
$c>= :: PerasWeight -> PerasWeight -> Bool
>= :: PerasWeight -> PerasWeight -> Bool
$cmax :: PerasWeight -> PerasWeight -> PerasWeight
max :: PerasWeight -> PerasWeight -> PerasWeight
$cmin :: PerasWeight -> PerasWeight -> PerasWeight
min :: PerasWeight -> PerasWeight -> PerasWeight
Ord, Context -> PerasWeight -> IO (Maybe ThunkInfo)
Proxy PerasWeight -> String
(Context -> PerasWeight -> IO (Maybe ThunkInfo))
-> (Context -> PerasWeight -> IO (Maybe ThunkInfo))
-> (Proxy PerasWeight -> String)
-> NoThunks PerasWeight
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasWeight -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasWeight -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasWeight -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasWeight -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasWeight -> String
showTypeOf :: Proxy PerasWeight -> String
NoThunks, PerasWeight -> String
(PerasWeight -> String) -> Condense PerasWeight
forall a. (a -> String) -> Condense a
$ccondense :: PerasWeight -> String
condense :: PerasWeight -> String
Condense)
deriving via Sum Word64 instance Semigroup PerasWeight
deriving via Sum Word64 instance Monoid PerasWeight
newtype PerasQuorumStakeThreshold
= PerasQuorumStakeThreshold {PerasQuorumStakeThreshold -> Rational
unPerasQuorumStakeThreshold :: Rational}
deriving Int -> PerasQuorumStakeThreshold -> ShowS
[PerasQuorumStakeThreshold] -> ShowS
PerasQuorumStakeThreshold -> String
(Int -> PerasQuorumStakeThreshold -> ShowS)
-> (PerasQuorumStakeThreshold -> String)
-> ([PerasQuorumStakeThreshold] -> ShowS)
-> Show PerasQuorumStakeThreshold
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasQuorumStakeThreshold -> ShowS
showsPrec :: Int -> PerasQuorumStakeThreshold -> ShowS
$cshow :: PerasQuorumStakeThreshold -> String
show :: PerasQuorumStakeThreshold -> String
$cshowList :: [PerasQuorumStakeThreshold] -> ShowS
showList :: [PerasQuorumStakeThreshold] -> ShowS
Show via Quiet PerasQuorumStakeThreshold
deriving stock (forall x.
PerasQuorumStakeThreshold -> Rep PerasQuorumStakeThreshold x)
-> (forall x.
Rep PerasQuorumStakeThreshold x -> PerasQuorumStakeThreshold)
-> Generic PerasQuorumStakeThreshold
forall x.
Rep PerasQuorumStakeThreshold x -> PerasQuorumStakeThreshold
forall x.
PerasQuorumStakeThreshold -> Rep PerasQuorumStakeThreshold x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
PerasQuorumStakeThreshold -> Rep PerasQuorumStakeThreshold x
from :: forall x.
PerasQuorumStakeThreshold -> Rep PerasQuorumStakeThreshold x
$cto :: forall x.
Rep PerasQuorumStakeThreshold x -> PerasQuorumStakeThreshold
to :: forall x.
Rep PerasQuorumStakeThreshold x -> PerasQuorumStakeThreshold
Generic
deriving newtype (PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
(PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool)
-> (PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool)
-> Eq PerasQuorumStakeThreshold
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
== :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
$c/= :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
/= :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
Eq, Eq PerasQuorumStakeThreshold
Eq PerasQuorumStakeThreshold =>
(PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> Ordering)
-> (PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool)
-> (PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool)
-> (PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool)
-> (PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool)
-> (PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold)
-> (PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold)
-> Ord PerasQuorumStakeThreshold
PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Ordering
PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Ordering
compare :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Ordering
$c< :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
< :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
$c<= :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
<= :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
$c> :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
> :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
$c>= :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
>= :: PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold -> Bool
$cmax :: PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold
max :: PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold
$cmin :: PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold
min :: PerasQuorumStakeThreshold
-> PerasQuorumStakeThreshold -> PerasQuorumStakeThreshold
Ord, Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo)
Proxy PerasQuorumStakeThreshold -> String
(Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo))
-> (Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo))
-> (Proxy PerasQuorumStakeThreshold -> String)
-> NoThunks PerasQuorumStakeThreshold
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasQuorumStakeThreshold -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasQuorumStakeThreshold -> String
showTypeOf :: Proxy PerasQuorumStakeThreshold -> String
NoThunks, PerasQuorumStakeThreshold -> String
(PerasQuorumStakeThreshold -> String)
-> Condense PerasQuorumStakeThreshold
forall a. (a -> String) -> Condense a
$ccondense :: PerasQuorumStakeThreshold -> String
condense :: PerasQuorumStakeThreshold -> String
Condense)
newtype PerasQuorumStakeThresholdSafetyMargin
= PerasQuorumStakeThresholdSafetyMargin {PerasQuorumStakeThresholdSafetyMargin -> Rational
unPerasQuorumStakeThresholdSafetyMargin :: Rational}
deriving Int -> PerasQuorumStakeThresholdSafetyMargin -> ShowS
[PerasQuorumStakeThresholdSafetyMargin] -> ShowS
PerasQuorumStakeThresholdSafetyMargin -> String
(Int -> PerasQuorumStakeThresholdSafetyMargin -> ShowS)
-> (PerasQuorumStakeThresholdSafetyMargin -> String)
-> ([PerasQuorumStakeThresholdSafetyMargin] -> ShowS)
-> Show PerasQuorumStakeThresholdSafetyMargin
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasQuorumStakeThresholdSafetyMargin -> ShowS
showsPrec :: Int -> PerasQuorumStakeThresholdSafetyMargin -> ShowS
$cshow :: PerasQuorumStakeThresholdSafetyMargin -> String
show :: PerasQuorumStakeThresholdSafetyMargin -> String
$cshowList :: [PerasQuorumStakeThresholdSafetyMargin] -> ShowS
showList :: [PerasQuorumStakeThresholdSafetyMargin] -> ShowS
Show via Quiet PerasQuorumStakeThresholdSafetyMargin
deriving stock (forall x.
PerasQuorumStakeThresholdSafetyMargin
-> Rep PerasQuorumStakeThresholdSafetyMargin x)
-> (forall x.
Rep PerasQuorumStakeThresholdSafetyMargin x
-> PerasQuorumStakeThresholdSafetyMargin)
-> Generic PerasQuorumStakeThresholdSafetyMargin
forall x.
Rep PerasQuorumStakeThresholdSafetyMargin x
-> PerasQuorumStakeThresholdSafetyMargin
forall x.
PerasQuorumStakeThresholdSafetyMargin
-> Rep PerasQuorumStakeThresholdSafetyMargin x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
PerasQuorumStakeThresholdSafetyMargin
-> Rep PerasQuorumStakeThresholdSafetyMargin x
from :: forall x.
PerasQuorumStakeThresholdSafetyMargin
-> Rep PerasQuorumStakeThresholdSafetyMargin x
$cto :: forall x.
Rep PerasQuorumStakeThresholdSafetyMargin x
-> PerasQuorumStakeThresholdSafetyMargin
to :: forall x.
Rep PerasQuorumStakeThresholdSafetyMargin x
-> PerasQuorumStakeThresholdSafetyMargin
Generic
deriving newtype (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
(PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool)
-> Eq PerasQuorumStakeThresholdSafetyMargin
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
== :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
$c/= :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
/= :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
Eq, Eq PerasQuorumStakeThresholdSafetyMargin
Eq PerasQuorumStakeThresholdSafetyMargin =>
(PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Ordering)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin)
-> (PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin)
-> Ord PerasQuorumStakeThresholdSafetyMargin
PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Ordering
PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Ordering
compare :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Ordering
$c< :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
< :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
$c<= :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
<= :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
$c> :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
> :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
$c>= :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
>= :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin -> Bool
$cmax :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
max :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
$cmin :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
min :: PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
-> PerasQuorumStakeThresholdSafetyMargin
Ord, Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo)
Proxy PerasQuorumStakeThresholdSafetyMargin -> String
(Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo))
-> (Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo))
-> (Proxy PerasQuorumStakeThresholdSafetyMargin -> String)
-> NoThunks PerasQuorumStakeThresholdSafetyMargin
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo)
noThunks :: Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo)
wNoThunks :: Context
-> PerasQuorumStakeThresholdSafetyMargin -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasQuorumStakeThresholdSafetyMargin -> String
showTypeOf :: Proxy PerasQuorumStakeThresholdSafetyMargin -> String
NoThunks, PerasQuorumStakeThresholdSafetyMargin -> String
(PerasQuorumStakeThresholdSafetyMargin -> String)
-> Condense PerasQuorumStakeThresholdSafetyMargin
forall a. (a -> String) -> Condense a
$ccondense :: PerasQuorumStakeThresholdSafetyMargin -> String
condense :: PerasQuorumStakeThresholdSafetyMargin -> String
Condense)
data PerasParams = PerasParams
{ PerasParams -> PerasIgnoranceRounds
perasIgnoranceRounds :: PerasIgnoranceRounds
, PerasParams -> PerasCooldownRounds
perasCooldownRounds :: PerasCooldownRounds
, PerasParams -> PerasBlockMinSlots
perasBlockMinSlots :: PerasBlockMinSlots
, PerasParams -> PerasCertArrivalThreshold
perasCertArrivalThreshold :: PerasCertArrivalThreshold
, PerasParams -> PerasRoundLength
perasRoundLength :: !PerasRoundLength
, PerasParams -> PerasWeight
perasWeight :: !PerasWeight
, PerasParams -> PerasQuorumStakeThreshold
perasQuorumStakeThreshold :: !PerasQuorumStakeThreshold
, PerasParams -> PerasQuorumStakeThresholdSafetyMargin
perasQuorumStakeThresholdSafetyMargin :: !PerasQuorumStakeThresholdSafetyMargin
}
deriving (Int -> PerasParams -> ShowS
[PerasParams] -> ShowS
PerasParams -> String
(Int -> PerasParams -> ShowS)
-> (PerasParams -> String)
-> ([PerasParams] -> ShowS)
-> Show PerasParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PerasParams -> ShowS
showsPrec :: Int -> PerasParams -> ShowS
$cshow :: PerasParams -> String
show :: PerasParams -> String
$cshowList :: [PerasParams] -> ShowS
showList :: [PerasParams] -> ShowS
Show, PerasParams -> PerasParams -> Bool
(PerasParams -> PerasParams -> Bool)
-> (PerasParams -> PerasParams -> Bool) -> Eq PerasParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PerasParams -> PerasParams -> Bool
== :: PerasParams -> PerasParams -> Bool
$c/= :: PerasParams -> PerasParams -> Bool
/= :: PerasParams -> PerasParams -> Bool
Eq, (forall x. PerasParams -> Rep PerasParams x)
-> (forall x. Rep PerasParams x -> PerasParams)
-> Generic PerasParams
forall x. Rep PerasParams x -> PerasParams
forall x. PerasParams -> Rep PerasParams x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PerasParams -> Rep PerasParams x
from :: forall x. PerasParams -> Rep PerasParams x
$cto :: forall x. Rep PerasParams x -> PerasParams
to :: forall x. Rep PerasParams x -> PerasParams
Generic, Context -> PerasParams -> IO (Maybe ThunkInfo)
Proxy PerasParams -> String
(Context -> PerasParams -> IO (Maybe ThunkInfo))
-> (Context -> PerasParams -> IO (Maybe ThunkInfo))
-> (Proxy PerasParams -> String)
-> NoThunks PerasParams
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> PerasParams -> IO (Maybe ThunkInfo)
noThunks :: Context -> PerasParams -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> PerasParams -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> PerasParams -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy PerasParams -> String
showTypeOf :: Proxy PerasParams -> String
NoThunks)
mkPerasParams :: PerasParams
mkPerasParams :: PerasParams
mkPerasParams =
PerasParams
{ perasIgnoranceRounds :: PerasIgnoranceRounds
perasIgnoranceRounds =
String -> PerasIgnoranceRounds
forall a. HasCallStack => String -> a
error String
"perasIgnoranceRounds: not yet defined"
, perasCooldownRounds :: PerasCooldownRounds
perasCooldownRounds =
String -> PerasCooldownRounds
forall a. HasCallStack => String -> a
error String
"perasCooldownRounds: not yet defined"
, perasBlockMinSlots :: PerasBlockMinSlots
perasBlockMinSlots =
String -> PerasBlockMinSlots
forall a. HasCallStack => String -> a
error String
"perasBlockMinSlots: not yet defined"
, perasCertArrivalThreshold :: PerasCertArrivalThreshold
perasCertArrivalThreshold =
String -> PerasCertArrivalThreshold
forall a. HasCallStack => String -> a
error String
"perasCertArrivalThreshold: not yet defined"
, perasRoundLength :: PerasRoundLength
perasRoundLength =
Word64 -> PerasRoundLength
PerasRoundLength Word64
90
, perasWeight :: PerasWeight
perasWeight =
Word64 -> PerasWeight
PerasWeight Word64
15
, perasQuorumStakeThreshold :: PerasQuorumStakeThreshold
perasQuorumStakeThreshold =
Rational -> PerasQuorumStakeThreshold
PerasQuorumStakeThreshold (Rational
3 Rational -> Rational -> Rational
forall a. Fractional a => a -> a -> a
/ Rational
4)
, perasQuorumStakeThresholdSafetyMargin :: PerasQuorumStakeThresholdSafetyMargin
perasQuorumStakeThresholdSafetyMargin =
Rational -> PerasQuorumStakeThresholdSafetyMargin
PerasQuorumStakeThresholdSafetyMargin (Rational
2 Rational -> Rational -> Rational
forall a. Fractional a => a -> a -> a
/ Rational
100)
}