{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
module Cardano.Ledger.Shelley.RewardProvenance (
RewardProvenance (..),
RewardProvenancePool (..),
Desirability (..),
) where
import Cardano.Ledger.BaseTypes (BlocksMade (..))
import Cardano.Ledger.Binary (DecCBOR (..), EncCBOR (..))
import Cardano.Ledger.Binary.Coders
import Cardano.Ledger.Coin (Coin (..))
import Cardano.Ledger.Keys (KeyHash (..), KeyRole (..))
import Cardano.Ledger.State (StakePoolParams (..))
import Control.DeepSeq (NFData)
import Data.Aeson (FromJSON, ToJSON)
import Data.Default (Default (..))
import Data.Map.Strict (Map)
import Data.Word (Word64)
import GHC.Generics
import NoThunks.Class (NoThunks (..))
import Numeric.Natural (Natural)
data RewardProvenancePool = RewardProvenancePool
{ RewardProvenancePool -> Natural
poolBlocksP :: !Natural
, RewardProvenancePool -> Rational
sigmaP :: !Rational
, RewardProvenancePool -> Rational
sigmaAP :: !Rational
, RewardProvenancePool -> Coin
ownerStakeP :: !Coin
, RewardProvenancePool -> StakePoolParams
stakePoolParamsP :: !StakePoolParams
, RewardProvenancePool -> Rational
pledgeRatioP :: !Rational
, RewardProvenancePool -> Coin
maxPP :: !Coin
, RewardProvenancePool -> Rational
appPerfP :: !Rational
, RewardProvenancePool -> Coin
poolRP :: !Coin
, RewardProvenancePool -> Coin
lRewardP :: !Coin
}
deriving (RewardProvenancePool -> RewardProvenancePool -> Bool
(RewardProvenancePool -> RewardProvenancePool -> Bool)
-> (RewardProvenancePool -> RewardProvenancePool -> Bool)
-> Eq RewardProvenancePool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RewardProvenancePool -> RewardProvenancePool -> Bool
== :: RewardProvenancePool -> RewardProvenancePool -> Bool
$c/= :: RewardProvenancePool -> RewardProvenancePool -> Bool
/= :: RewardProvenancePool -> RewardProvenancePool -> Bool
Eq, (forall x. RewardProvenancePool -> Rep RewardProvenancePool x)
-> (forall x. Rep RewardProvenancePool x -> RewardProvenancePool)
-> Generic RewardProvenancePool
forall x. Rep RewardProvenancePool x -> RewardProvenancePool
forall x. RewardProvenancePool -> Rep RewardProvenancePool x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. RewardProvenancePool -> Rep RewardProvenancePool x
from :: forall x. RewardProvenancePool -> Rep RewardProvenancePool x
$cto :: forall x. Rep RewardProvenancePool x -> RewardProvenancePool
to :: forall x. Rep RewardProvenancePool x -> RewardProvenancePool
Generic)
instance NoThunks RewardProvenancePool
instance NFData RewardProvenancePool
instance FromJSON RewardProvenancePool
instance ToJSON RewardProvenancePool
instance Default RewardProvenancePool where
def :: RewardProvenancePool
def = Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool
RewardProvenancePool Natural
0 Rational
0 Rational
0 (Integer -> Coin
Coin Integer
0) StakePoolParams
forall a. Default a => a
def Rational
0 (Integer -> Coin
Coin Integer
0) Rational
0 (Integer -> Coin
Coin Integer
0) (Integer -> Coin
Coin Integer
0)
data Desirability = Desirability
{ Desirability -> Double
desirabilityScore :: !Double
, Desirability -> Double
hitRateEstimate :: !Double
}
deriving (Desirability -> Desirability -> Bool
(Desirability -> Desirability -> Bool)
-> (Desirability -> Desirability -> Bool) -> Eq Desirability
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Desirability -> Desirability -> Bool
== :: Desirability -> Desirability -> Bool
$c/= :: Desirability -> Desirability -> Bool
/= :: Desirability -> Desirability -> Bool
Eq, Int -> Desirability -> ShowS
[Desirability] -> ShowS
Desirability -> String
(Int -> Desirability -> ShowS)
-> (Desirability -> String)
-> ([Desirability] -> ShowS)
-> Show Desirability
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Desirability -> ShowS
showsPrec :: Int -> Desirability -> ShowS
$cshow :: Desirability -> String
show :: Desirability -> String
$cshowList :: [Desirability] -> ShowS
showList :: [Desirability] -> ShowS
Show, (forall x. Desirability -> Rep Desirability x)
-> (forall x. Rep Desirability x -> Desirability)
-> Generic Desirability
forall x. Rep Desirability x -> Desirability
forall x. Desirability -> Rep Desirability x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Desirability -> Rep Desirability x
from :: forall x. Desirability -> Rep Desirability x
$cto :: forall x. Rep Desirability x -> Desirability
to :: forall x. Rep Desirability x -> Desirability
Generic)
instance NoThunks Desirability
instance NFData Desirability
data RewardProvenance = RewardProvenance
{ RewardProvenance -> Word64
spe :: !Word64
, RewardProvenance -> BlocksMade
blocks :: !BlocksMade
, RewardProvenance -> Coin
maxLL :: !Coin
, RewardProvenance -> Coin
deltaR1 :: !Coin
, RewardProvenance -> Coin
deltaR2 :: !Coin
, RewardProvenance -> Coin
r :: !Coin
, RewardProvenance -> Coin
totalStake :: !Coin
, RewardProvenance -> Integer
blocksCount :: !Integer
, RewardProvenance -> Rational
d :: !Rational
, RewardProvenance -> Integer
expBlocks :: !Integer
, RewardProvenance -> Rational
eta :: !Rational
, RewardProvenance -> Coin
rPot :: !Coin
, RewardProvenance -> Coin
deltaT1 :: !Coin
, RewardProvenance -> Coin
activeStake :: !Coin
, RewardProvenance -> Map (KeyHash StakePool) RewardProvenancePool
pools :: !(Map (KeyHash StakePool) RewardProvenancePool)
, RewardProvenance -> Map (KeyHash StakePool) Desirability
desirabilities :: !(Map (KeyHash StakePool) Desirability)
}
deriving (RewardProvenance -> RewardProvenance -> Bool
(RewardProvenance -> RewardProvenance -> Bool)
-> (RewardProvenance -> RewardProvenance -> Bool)
-> Eq RewardProvenance
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RewardProvenance -> RewardProvenance -> Bool
== :: RewardProvenance -> RewardProvenance -> Bool
$c/= :: RewardProvenance -> RewardProvenance -> Bool
/= :: RewardProvenance -> RewardProvenance -> Bool
Eq, (forall x. RewardProvenance -> Rep RewardProvenance x)
-> (forall x. Rep RewardProvenance x -> RewardProvenance)
-> Generic RewardProvenance
forall x. Rep RewardProvenance x -> RewardProvenance
forall x. RewardProvenance -> Rep RewardProvenance x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. RewardProvenance -> Rep RewardProvenance x
from :: forall x. RewardProvenance -> Rep RewardProvenance x
$cto :: forall x. Rep RewardProvenance x -> RewardProvenance
to :: forall x. Rep RewardProvenance x -> RewardProvenance
Generic)
instance FromJSON Desirability
instance ToJSON Desirability
instance FromJSON RewardProvenance
instance ToJSON RewardProvenance
instance NoThunks RewardProvenance
instance NFData RewardProvenance
instance Default RewardProvenance where
def :: RewardProvenance
def =
Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance
RewardProvenance
Word64
0
(Map (KeyHash StakePool) Natural -> BlocksMade
BlocksMade Map (KeyHash StakePool) Natural
forall a. Default a => a
def)
(Integer -> Coin
Coin Integer
0)
(Integer -> Coin
Coin Integer
0)
(Integer -> Coin
Coin Integer
0)
(Integer -> Coin
Coin Integer
0)
(Integer -> Coin
Coin Integer
0)
Integer
0
Rational
0
Integer
0
Rational
0
(Integer -> Coin
Coin Integer
0)
(Integer -> Coin
Coin Integer
0)
(Integer -> Coin
Coin Integer
0)
Map (KeyHash StakePool) RewardProvenancePool
forall a. Default a => a
def
Map (KeyHash StakePool) Desirability
forall a. Default a => a
def
mylines :: Int -> [String] -> String
mylines :: Int -> Context -> String
mylines Int
n Context
xs = Context -> String
unlines (ShowS -> Context -> Context
forall a b. (a -> b) -> [a] -> [b]
map (Int -> Char -> String
forall a. Int -> a -> [a]
replicate Int
n Char
' ' String -> ShowS
forall a. [a] -> [a] -> [a]
++) Context
xs)
instance Show RewardProvenancePool where
show :: RewardProvenancePool -> String
show RewardProvenancePool
t =
String
"RewardProvenancePool\n"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> Context -> String
mylines
Int
3
[ String
"poolBlocks = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Natural -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Natural
poolBlocksP RewardProvenancePool
t)
, String
"sigma = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Rational -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Rational
sigmaP RewardProvenancePool
t)
, String
"sigmaA = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Rational -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Rational
sigmaAP RewardProvenancePool
t)
, String
"ownerStake = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Coin
ownerStakeP RewardProvenancePool
t)
, String
"poolParams = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ StakePoolParams -> String
showPoolParams (RewardProvenancePool -> StakePoolParams
stakePoolParamsP RewardProvenancePool
t)
, String
"pledgeRatio = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Rational -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Rational
pledgeRatioP RewardProvenancePool
t)
, String
"maxP = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Coin
maxPP RewardProvenancePool
t)
, String
"appPerf = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Rational -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Rational
appPerfP RewardProvenancePool
t)
, String
"poolR = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Coin
poolRP RewardProvenancePool
t)
, String
"lReward = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenancePool -> Coin
lRewardP RewardProvenancePool
t)
]
showPoolParams :: StakePoolParams -> String
showPoolParams :: StakePoolParams -> String
showPoolParams StakePoolParams
x =
String
"StakePoolParams\n"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> Context -> String
mylines
Int
6
[ String
"poolId = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ KeyHash StakePool -> String
forall a. Show a => a -> String
show (StakePoolParams -> KeyHash StakePool
sppId StakePoolParams
x)
, String
"poolVrf = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ VRFVerKeyHash StakePoolVRF -> String
forall a. Show a => a -> String
show (StakePoolParams -> VRFVerKeyHash StakePoolVRF
sppVrf StakePoolParams
x)
, String
"poolPledge = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (StakePoolParams -> Coin
sppPledge StakePoolParams
x)
, String
"poolCost = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (StakePoolParams -> Coin
sppCost StakePoolParams
x)
, String
"poolMargin = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ UnitInterval -> String
forall a. Show a => a -> String
show (StakePoolParams -> UnitInterval
sppMargin StakePoolParams
x)
, String
"poolRAcnt = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ RewardAccount -> String
forall a. Show a => a -> String
show (StakePoolParams -> RewardAccount
sppRewardAccount StakePoolParams
x)
, String
"poolOwners = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Set (KeyHash Staking) -> String
forall a. Show a => a -> String
show (StakePoolParams -> Set (KeyHash Staking)
sppOwners StakePoolParams
x)
, String
"poolRelays = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ StrictSeq StakePoolRelay -> String
forall a. Show a => a -> String
show (StakePoolParams -> StrictSeq StakePoolRelay
sppRelays StakePoolParams
x)
, String
"poolMD = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ StrictMaybe PoolMetadata -> String
forall a. Show a => a -> String
show (StakePoolParams -> StrictMaybe PoolMetadata
sppMetadata StakePoolParams
x)
]
instance Show RewardProvenance where
show :: RewardProvenance -> String
show RewardProvenance
t =
String
"RewardProvenance\n"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> Context -> String
mylines
Int
3
[ String
"spe = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Word64 -> String
forall a. Show a => a -> String
show (RewardProvenance -> Word64
spe RewardProvenance
t)
, String
"blocks = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ BlocksMade -> String
forall a. Show a => a -> String
show (RewardProvenance -> BlocksMade
blocks RewardProvenance
t)
, String
"maxLL = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
maxLL RewardProvenance
t)
, String
"deltaR1 = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
deltaR1 RewardProvenance
t)
, String
"deltaR2 = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
deltaR2 RewardProvenance
t)
, String
"r = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
r RewardProvenance
t)
, String
"totalStake = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
totalStake RewardProvenance
t)
, String
"blocksCount = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Integer -> String
forall a. Show a => a -> String
show (RewardProvenance -> Integer
blocksCount RewardProvenance
t)
, String
"d = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Rational -> String
forall a. Show a => a -> String
show (RewardProvenance -> Rational
d RewardProvenance
t)
, String
"expBlocks = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Integer -> String
forall a. Show a => a -> String
show (RewardProvenance -> Integer
expBlocks RewardProvenance
t)
, String
"eta = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Rational -> String
forall a. Show a => a -> String
show (RewardProvenance -> Rational
eta RewardProvenance
t)
, String
"rPot = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
rPot RewardProvenance
t)
, String
"deltaT1 = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
deltaT1 RewardProvenance
t)
, String
"activeStake = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Coin -> String
forall a. Show a => a -> String
show (RewardProvenance -> Coin
activeStake RewardProvenance
t)
, String
"pools = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Map (KeyHash StakePool) RewardProvenancePool -> String
forall a. Show a => a -> String
show (RewardProvenance -> Map (KeyHash StakePool) RewardProvenancePool
pools RewardProvenance
t)
, String
"desirabilities = " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Map (KeyHash StakePool) Desirability -> String
forall a. Show a => a -> String
show (RewardProvenance -> Map (KeyHash StakePool) Desirability
desirabilities RewardProvenance
t)
]
instance EncCBOR Desirability where
encCBOR :: Desirability -> Encoding
encCBOR (Desirability Double
p1 Double
p2) =
Encode (Closed Dense) Desirability -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode (Closed Dense) Desirability -> Encoding)
-> Encode (Closed Dense) Desirability -> Encoding
forall a b. (a -> b) -> a -> b
$ (Double -> Double -> Desirability)
-> Encode (Closed Dense) (Double -> Double -> Desirability)
forall t. t -> Encode (Closed Dense) t
Rec Double -> Double -> Desirability
Desirability Encode (Closed Dense) (Double -> Double -> Desirability)
-> Encode (Closed Dense) Double
-> Encode (Closed Dense) (Double -> Desirability)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Double -> Encode (Closed Dense) Double
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Double
p1 Encode (Closed Dense) (Double -> Desirability)
-> Encode (Closed Dense) Double
-> Encode (Closed Dense) Desirability
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Double -> Encode (Closed Dense) Double
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Double
p2
instance DecCBOR Desirability where
decCBOR :: forall s. Decoder s Desirability
decCBOR = Decode (Closed Dense) Desirability -> Decoder s Desirability
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) Desirability -> Decoder s Desirability)
-> Decode (Closed Dense) Desirability -> Decoder s Desirability
forall a b. (a -> b) -> a -> b
$ (Double -> Double -> Desirability)
-> Decode (Closed Dense) (Double -> Double -> Desirability)
forall t. t -> Decode (Closed Dense) t
RecD Double -> Double -> Desirability
Desirability Decode (Closed Dense) (Double -> Double -> Desirability)
-> Decode (Closed (ZonkAny 17)) Double
-> Decode (Closed Dense) (Double -> Desirability)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 17)) Double
forall t (w :: Wrapped). DecCBOR t => Decode w t
From Decode (Closed Dense) (Double -> Desirability)
-> Decode (Closed (ZonkAny 16)) Double
-> Decode (Closed Dense) Desirability
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 16)) Double
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
instance EncCBOR RewardProvenancePool where
encCBOR :: RewardProvenancePool -> Encoding
encCBOR (RewardProvenancePool Natural
p1 Rational
p2 Rational
p3 Coin
p4 StakePoolParams
p5 Rational
p6 Coin
p7 Rational
p8 Coin
p9 Coin
p10) =
Encode (Closed Dense) RewardProvenancePool -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode (Closed Dense) RewardProvenancePool -> Encoding)
-> Encode (Closed Dense) RewardProvenancePool -> Encoding
forall a b. (a -> b) -> a -> b
$
(Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Encode
(Closed Dense)
(Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall t. t -> Encode (Closed Dense) t
Rec Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool
RewardProvenancePool
Encode
(Closed Dense)
(Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Encode (Closed Dense) Natural
-> Encode
(Closed Dense)
(Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Natural -> Encode (Closed Dense) Natural
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Natural
p1
Encode
(Closed Dense)
(Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Encode (Closed Dense) Rational
-> Encode
(Closed Dense)
(Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Rational -> Encode (Closed Dense) Rational
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Rational
p2
Encode
(Closed Dense)
(Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Encode (Closed Dense) Rational
-> Encode
(Closed Dense)
(Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Rational -> Encode (Closed Dense) Rational
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Rational
p3
Encode
(Closed Dense)
(Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p4
Encode
(Closed Dense)
(StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Encode (Closed Dense) StakePoolParams
-> Encode
(Closed Dense)
(Rational
-> Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> StakePoolParams -> Encode (Closed Dense) StakePoolParams
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To StakePoolParams
p5
Encode
(Closed Dense)
(Rational
-> Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
-> Encode (Closed Dense) Rational
-> Encode
(Closed Dense)
(Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Rational -> Encode (Closed Dense) Rational
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Rational
p6
Encode
(Closed Dense)
(Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense) (Rational -> Coin -> Coin -> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p7
Encode
(Closed Dense) (Rational -> Coin -> Coin -> RewardProvenancePool)
-> Encode (Closed Dense) Rational
-> Encode (Closed Dense) (Coin -> Coin -> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Rational -> Encode (Closed Dense) Rational
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Rational
p8
Encode (Closed Dense) (Coin -> Coin -> RewardProvenancePool)
-> Encode (Closed Dense) Coin
-> Encode (Closed Dense) (Coin -> RewardProvenancePool)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p9
Encode (Closed Dense) (Coin -> RewardProvenancePool)
-> Encode (Closed Dense) Coin
-> Encode (Closed Dense) RewardProvenancePool
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p10
instance DecCBOR RewardProvenancePool where
decCBOR :: forall s. Decoder s RewardProvenancePool
decCBOR =
Decode (Closed Dense) RewardProvenancePool
-> Decoder s RewardProvenancePool
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) RewardProvenancePool
-> Decoder s RewardProvenancePool)
-> Decode (Closed Dense) RewardProvenancePool
-> Decoder s RewardProvenancePool
forall a b. (a -> b) -> a -> b
$
(Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Decode
(Closed Dense)
(Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall t. t -> Decode (Closed Dense) t
RecD Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool
RewardProvenancePool
Decode
(Closed Dense)
(Natural
-> Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Decode (Closed (ZonkAny 27)) Natural
-> Decode
(Closed Dense)
(Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 27)) Natural
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Rational
-> Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Decode (Closed (ZonkAny 26)) Rational
-> Decode
(Closed Dense)
(Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 26)) Rational
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Rational
-> Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Decode (Closed (ZonkAny 25)) Rational
-> Decode
(Closed Dense)
(Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 25)) Rational
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Decode (Closed (ZonkAny 24)) Coin
-> Decode
(Closed Dense)
(StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 24)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(StakePoolParams
-> Rational
-> Coin
-> Rational
-> Coin
-> Coin
-> RewardProvenancePool)
-> Decode (Closed (ZonkAny 23)) StakePoolParams
-> Decode
(Closed Dense)
(Rational
-> Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 23)) StakePoolParams
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Rational
-> Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
-> Decode (Closed (ZonkAny 22)) Rational
-> Decode
(Closed Dense)
(Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 22)) Rational
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin -> Rational -> Coin -> Coin -> RewardProvenancePool)
-> Decode (Closed (ZonkAny 21)) Coin
-> Decode
(Closed Dense) (Rational -> Coin -> Coin -> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 21)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense) (Rational -> Coin -> Coin -> RewardProvenancePool)
-> Decode (Closed (ZonkAny 20)) Rational
-> Decode (Closed Dense) (Coin -> Coin -> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 20)) Rational
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode (Closed Dense) (Coin -> Coin -> RewardProvenancePool)
-> Decode (Closed (ZonkAny 19)) Coin
-> Decode (Closed Dense) (Coin -> RewardProvenancePool)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 19)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode (Closed Dense) (Coin -> RewardProvenancePool)
-> Decode (Closed (ZonkAny 18)) Coin
-> Decode (Closed Dense) RewardProvenancePool
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 18)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
instance EncCBOR RewardProvenance where
encCBOR :: RewardProvenance -> Encoding
encCBOR (RewardProvenance Word64
p1 BlocksMade
p2 Coin
p3 Coin
p4 Coin
p5 Coin
p6 Coin
p7 Integer
p8 Rational
p9 Integer
p10 Rational
p11 Coin
p12 Coin
p13 Coin
p14 Map (KeyHash StakePool) RewardProvenancePool
p15 Map (KeyHash StakePool) Desirability
p16) =
Encode (Closed Dense) RewardProvenance -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode (Closed Dense) RewardProvenance -> Encoding)
-> Encode (Closed Dense) RewardProvenance -> Encoding
forall a b. (a -> b) -> a -> b
$
(Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode
(Closed Dense)
(Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall t. t -> Encode (Closed Dense) t
Rec Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance
RewardProvenance
Encode
(Closed Dense)
(Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Word64
-> Encode
(Closed Dense)
(BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word64 -> Encode (Closed Dense) Word64
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Word64
p1
Encode
(Closed Dense)
(BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) BlocksMade
-> Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> BlocksMade -> Encode (Closed Dense) BlocksMade
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To BlocksMade
p2
Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p3
Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p4
Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p5
Encode
(Closed Dense)
(Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p6
Encode
(Closed Dense)
(Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p7
Encode
(Closed Dense)
(Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Integer
-> Encode
(Closed Dense)
(Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Integer -> Encode (Closed Dense) Integer
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Integer
p8
Encode
(Closed Dense)
(Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Rational
-> Encode
(Closed Dense)
(Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Rational -> Encode (Closed Dense) Rational
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Rational
p9
Encode
(Closed Dense)
(Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Integer
-> Encode
(Closed Dense)
(Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Integer -> Encode (Closed Dense) Integer
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Integer
p10
Encode
(Closed Dense)
(Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Rational
-> Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Rational -> Encode (Closed Dense) Rational
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Rational
p11
Encode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p12
Encode
(Closed Dense)
(Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p13
Encode
(Closed Dense)
(Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Encode (Closed Dense) Coin
-> Encode
(Closed Dense)
(Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability -> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
p14
Encode
(Closed Dense)
(Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability -> RewardProvenance)
-> Encode
(Closed Dense) (Map (KeyHash StakePool) RewardProvenancePool)
-> Encode
(Closed Dense)
(Map (KeyHash StakePool) Desirability -> RewardProvenance)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Map (KeyHash StakePool) RewardProvenancePool
-> Encode
(Closed Dense) (Map (KeyHash StakePool) RewardProvenancePool)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Map (KeyHash StakePool) RewardProvenancePool
p15
Encode
(Closed Dense)
(Map (KeyHash StakePool) Desirability -> RewardProvenance)
-> Encode (Closed Dense) (Map (KeyHash StakePool) Desirability)
-> Encode (Closed Dense) RewardProvenance
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Map (KeyHash StakePool) Desirability
-> Encode (Closed Dense) (Map (KeyHash StakePool) Desirability)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Map (KeyHash StakePool) Desirability
p16
instance DecCBOR RewardProvenance where
decCBOR :: forall s. Decoder s RewardProvenance
decCBOR =
Decode (Closed Dense) RewardProvenance
-> Decoder s RewardProvenance
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) RewardProvenance
-> Decoder s RewardProvenance)
-> Decode (Closed Dense) RewardProvenance
-> Decoder s RewardProvenance
forall a b. (a -> b) -> a -> b
$
(Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode
(Closed Dense)
(Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall t. t -> Decode (Closed Dense) t
RecD Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance
RewardProvenance
Decode
(Closed Dense)
(Word64
-> BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 15)) Word64
-> Decode
(Closed Dense)
(BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 15)) Word64
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(BlocksMade
-> Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 14)) BlocksMade
-> Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 14)) BlocksMade
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 13)) Coin
-> Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 13)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 12)) Coin
-> Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 12)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 11)) Coin
-> Decode
(Closed Dense)
(Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 11)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 10)) Coin
-> Decode
(Closed Dense)
(Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 10)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 9)) Coin
-> Decode
(Closed Dense)
(Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 9)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Integer
-> Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 8)) Integer
-> Decode
(Closed Dense)
(Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 8)) Integer
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Rational
-> Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 7)) Rational
-> Decode
(Closed Dense)
(Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 7)) Rational
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Integer
-> Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 6)) Integer
-> Decode
(Closed Dense)
(Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 6)) Integer
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Rational
-> Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 5)) Rational
-> Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 5)) Rational
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 4)) Coin
-> Decode
(Closed Dense)
(Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 4)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 3)) Coin
-> Decode
(Closed Dense)
(Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 3)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Coin
-> Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability
-> RewardProvenance)
-> Decode (Closed (ZonkAny 2)) Coin
-> Decode
(Closed Dense)
(Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability -> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 2)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Map (KeyHash StakePool) RewardProvenancePool
-> Map (KeyHash StakePool) Desirability -> RewardProvenance)
-> Decode
(Closed (ZonkAny 1)) (Map (KeyHash StakePool) RewardProvenancePool)
-> Decode
(Closed Dense)
(Map (KeyHash StakePool) Desirability -> RewardProvenance)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode
(Closed (ZonkAny 1)) (Map (KeyHash StakePool) RewardProvenancePool)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Decode
(Closed Dense)
(Map (KeyHash StakePool) Desirability -> RewardProvenance)
-> Decode
(Closed (ZonkAny 0)) (Map (KeyHash StakePool) Desirability)
-> Decode (Closed Dense) RewardProvenance
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 0)) (Map (KeyHash StakePool) Desirability)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From