{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}
module Cardano.Chain.Update.ProtocolParametersUpdate
( ProtocolParametersUpdate(..)
, isEmpty
, apply
)
where
import Cardano.Prelude hiding (empty)
import Data.Aeson (ToJSON)
import Data.Text.Lazy.Builder (Builder)
import Formatting (Format, bprint, build, bytes, later, shortest)
import qualified Formatting.Buildable as B
import Cardano.Binary (FromCBOR(..), ToCBOR(..), encodeListLen, enforceSize)
import Cardano.Chain.Common (LovelacePortion, TxFeePolicy)
import Cardano.Chain.Slotting (EpochNumber, SlotNumber(..))
import Cardano.Chain.Update.ProtocolParameters (ProtocolParameters(..))
import Cardano.Chain.Update.SoftforkRule (SoftforkRule)
data ProtocolParametersUpdate = ProtocolParametersUpdate
{ ProtocolParametersUpdate -> Maybe Word16
ppuScriptVersion :: !(Maybe Word16)
, ProtocolParametersUpdate -> Maybe Natural
ppuSlotDuration :: !(Maybe Natural)
, ProtocolParametersUpdate -> Maybe Natural
ppuMaxBlockSize :: !(Maybe Natural)
, :: !(Maybe Natural)
, ProtocolParametersUpdate -> Maybe Natural
ppuMaxTxSize :: !(Maybe Natural)
, ProtocolParametersUpdate -> Maybe Natural
ppuMaxProposalSize :: !(Maybe Natural)
, ProtocolParametersUpdate -> Maybe LovelacePortion
ppuMpcThd :: !(Maybe LovelacePortion)
, ProtocolParametersUpdate -> Maybe LovelacePortion
ppuHeavyDelThd :: !(Maybe LovelacePortion)
, ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateVoteThd :: !(Maybe LovelacePortion)
, ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateProposalThd :: !(Maybe LovelacePortion)
, ProtocolParametersUpdate -> Maybe SlotNumber
ppuUpdateProposalTTL :: !(Maybe SlotNumber)
, ProtocolParametersUpdate -> Maybe SoftforkRule
ppuSoftforkRule :: !(Maybe SoftforkRule)
, ProtocolParametersUpdate -> Maybe TxFeePolicy
ppuTxFeePolicy :: !(Maybe TxFeePolicy)
, ProtocolParametersUpdate -> Maybe EpochNumber
ppuUnlockStakeEpoch :: !(Maybe EpochNumber)
} deriving (Int -> ProtocolParametersUpdate -> ShowS
[ProtocolParametersUpdate] -> ShowS
ProtocolParametersUpdate -> String
(Int -> ProtocolParametersUpdate -> ShowS)
-> (ProtocolParametersUpdate -> String)
-> ([ProtocolParametersUpdate] -> ShowS)
-> Show ProtocolParametersUpdate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProtocolParametersUpdate] -> ShowS
$cshowList :: [ProtocolParametersUpdate] -> ShowS
show :: ProtocolParametersUpdate -> String
$cshow :: ProtocolParametersUpdate -> String
showsPrec :: Int -> ProtocolParametersUpdate -> ShowS
$cshowsPrec :: Int -> ProtocolParametersUpdate -> ShowS
Show, ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
(ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool)
-> (ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool)
-> Eq ProtocolParametersUpdate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
$c/= :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
== :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
$c== :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
Eq, Eq ProtocolParametersUpdate
Eq ProtocolParametersUpdate
-> (ProtocolParametersUpdate
-> ProtocolParametersUpdate -> Ordering)
-> (ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool)
-> (ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool)
-> (ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool)
-> (ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool)
-> (ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate)
-> (ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate)
-> Ord ProtocolParametersUpdate
ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
ProtocolParametersUpdate -> ProtocolParametersUpdate -> Ordering
ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate
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
min :: ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate
$cmin :: ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate
max :: ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate
$cmax :: ProtocolParametersUpdate
-> ProtocolParametersUpdate -> ProtocolParametersUpdate
>= :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
$c>= :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
> :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
$c> :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
<= :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
$c<= :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
< :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
$c< :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
compare :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Ordering
$ccompare :: ProtocolParametersUpdate -> ProtocolParametersUpdate -> Ordering
$cp1Ord :: Eq ProtocolParametersUpdate
Ord, (forall x.
ProtocolParametersUpdate -> Rep ProtocolParametersUpdate x)
-> (forall x.
Rep ProtocolParametersUpdate x -> ProtocolParametersUpdate)
-> Generic ProtocolParametersUpdate
forall x.
Rep ProtocolParametersUpdate x -> ProtocolParametersUpdate
forall x.
ProtocolParametersUpdate -> Rep ProtocolParametersUpdate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ProtocolParametersUpdate x -> ProtocolParametersUpdate
$cfrom :: forall x.
ProtocolParametersUpdate -> Rep ProtocolParametersUpdate x
Generic)
deriving anyclass ProtocolParametersUpdate -> ()
(ProtocolParametersUpdate -> ()) -> NFData ProtocolParametersUpdate
forall a. (a -> ()) -> NFData a
rnf :: ProtocolParametersUpdate -> ()
$crnf :: ProtocolParametersUpdate -> ()
NFData
instance B.Buildable ProtocolParametersUpdate where
build :: ProtocolParametersUpdate -> Builder
build ProtocolParametersUpdate
ppu = Format
Builder
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder
forall a. Format Builder a -> a
bprint
( Format
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
"{ script version: " Format
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (Word16 -> Builder)
-> Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (Word16 -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", slot duration: " Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (Natural -> Builder)
-> Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (Natural -> Builder)
forall r. Format r (Natural -> r)
bytes'
Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", block size limit: " Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (Natural -> Builder)
-> Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (Natural -> Builder)
forall r. Format r (Natural -> r)
bytes'
Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", header size limit: " Format
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (Natural -> Builder)
-> Format
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (Natural -> Builder)
forall r. Format r (Natural -> r)
bytes'
Format
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", tx size limit: " Format
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (Natural -> Builder)
-> Format
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (Natural -> Builder)
forall r. Format r (Natural -> r)
bytes'
Format
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", proposal size limit: " Format
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (Natural -> Builder)
-> Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (Natural -> Builder)
forall r. Format r (Natural -> r)
bytes'
Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", mpc threshold: " Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (LovelacePortion -> Builder)
-> Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (LovelacePortion -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", heavyweight delegation threshold: " Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (LovelacePortion -> Builder)
-> Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (LovelacePortion -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", update vote threshold: " Format
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (LovelacePortion -> Builder)
-> Format
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (LovelacePortion -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", update proposal threshold: " Format
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (LovelacePortion -> Builder)
-> Format
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (LovelacePortion -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
", update implicit period (slots): " Format
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (SlotNumber -> Builder)
-> Format
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (SlotNumber -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
-> Format
Builder
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
", softfork rule: " Format
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (SoftforkRule -> Builder)
-> Format
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (SoftforkRule -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder (Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder
(Maybe SoftforkRule
-> Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
", tx fee policy: " Format
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder (Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format
Builder (Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (TxFeePolicy -> Builder)
-> Format
(Maybe EpochNumber -> Builder)
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (TxFeePolicy -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format
(Maybe EpochNumber -> Builder)
(Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
-> Format Builder (Maybe EpochNumber -> Builder)
-> Format
Builder (Maybe TxFeePolicy -> Maybe EpochNumber -> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format
(Maybe EpochNumber -> Builder) (Maybe EpochNumber -> Builder)
", unlock stake epoch: " Format
(Maybe EpochNumber -> Builder) (Maybe EpochNumber -> Builder)
-> Format Builder (Maybe EpochNumber -> Builder)
-> Format Builder (Maybe EpochNumber -> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder (EpochNumber -> Builder)
-> Format Builder (Maybe EpochNumber -> Builder)
forall a r.
Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (EpochNumber -> Builder)
forall a r. Buildable a => Format r (a -> r)
build
Format Builder (Maybe EpochNumber -> Builder)
-> Format Builder Builder
-> Format Builder (Maybe EpochNumber -> Builder)
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Format Builder Builder
" }"
)
(ProtocolParametersUpdate -> Maybe Word16
ppuScriptVersion ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe Natural
ppuSlotDuration ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe Natural
ppuMaxBlockSize ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe Natural
ppuMaxHeaderSize ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe Natural
ppuMaxTxSize ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe Natural
ppuMaxProposalSize ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe LovelacePortion
ppuMpcThd ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe LovelacePortion
ppuHeavyDelThd ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateVoteThd ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateProposalThd ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe SlotNumber
ppuUpdateProposalTTL ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe SoftforkRule
ppuSoftforkRule ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe TxFeePolicy
ppuTxFeePolicy ProtocolParametersUpdate
ppu)
(ProtocolParametersUpdate -> Maybe EpochNumber
ppuUnlockStakeEpoch ProtocolParametersUpdate
ppu)
where
bmodifier :: Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier :: Format Builder (a -> Builder) -> Format r (Maybe a -> r)
bmodifier Format Builder (a -> Builder)
b = (Maybe a -> Builder) -> Format r (Maybe a -> r)
forall a r. (a -> Builder) -> Format r (a -> r)
later ((Maybe a -> Builder) -> Format r (Maybe a -> r))
-> (Maybe a -> Builder) -> Format r (Maybe a -> r)
forall a b. (a -> b) -> a -> b
$ Builder -> (a -> Builder) -> Maybe a -> Builder
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Builder
"no change" (Format Builder (a -> Builder) -> a -> Builder
forall a. Format Builder a -> a
bprint Format Builder (a -> Builder)
b)
bytes' :: Format r (Natural -> r)
bytes' :: Format r (Natural -> r)
bytes' = Format Builder (Double -> Builder) -> Format r (Natural -> r)
forall f a r.
(Ord f, Integral a, Fractional f) =>
Format Builder (f -> Builder) -> Format r (a -> r)
bytes (forall r. Real Double => Format r (Double -> r)
forall a r. Real a => Format r (a -> r)
shortest @Double)
instance ToJSON ProtocolParametersUpdate where
instance ToCBOR ProtocolParametersUpdate where
toCBOR :: ProtocolParametersUpdate -> Encoding
toCBOR ProtocolParametersUpdate
ppu =
Word -> Encoding
encodeListLen Word
14
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe Word16 -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe Word16
ppuScriptVersion ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe Natural -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe Natural
ppuSlotDuration ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe Natural -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe Natural
ppuMaxBlockSize ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe Natural -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe Natural
ppuMaxHeaderSize ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe Natural -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe Natural
ppuMaxTxSize ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe Natural -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe Natural
ppuMaxProposalSize ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe LovelacePortion -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuMpcThd ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe LovelacePortion -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuHeavyDelThd ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe LovelacePortion -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateVoteThd ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe LovelacePortion -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateProposalThd ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe SlotNumber -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe SlotNumber
ppuUpdateProposalTTL ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe SoftforkRule -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe SoftforkRule
ppuSoftforkRule ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe TxFeePolicy -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe TxFeePolicy
ppuTxFeePolicy ProtocolParametersUpdate
ppu)
Encoding -> Encoding -> Encoding
forall a. Semigroup a => a -> a -> a
<> Maybe EpochNumber -> Encoding
forall a. ToCBOR a => a -> Encoding
toCBOR (ProtocolParametersUpdate -> Maybe EpochNumber
ppuUnlockStakeEpoch ProtocolParametersUpdate
ppu)
instance FromCBOR ProtocolParametersUpdate where
fromCBOR :: Decoder s ProtocolParametersUpdate
fromCBOR = do
Text -> Int -> Decoder s ()
forall s. Text -> Int -> Decoder s ()
enforceSize Text
"ProtocolParametersUpdate" Int
14
Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate
ProtocolParametersUpdate
(Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe Word16)
-> Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Decoder s (Maybe Word16)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe Natural)
-> Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe Natural)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe Natural)
-> Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe Natural)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe Natural)
-> Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe Natural)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe Natural)
-> Decoder
s
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe Natural)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe Natural)
-> Decoder
s
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe Natural)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe LovelacePortion)
-> Decoder
s
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe LovelacePortion)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe LovelacePortion)
-> Decoder
s
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe LovelacePortion)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe LovelacePortion)
-> Decoder
s
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe LovelacePortion)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe LovelacePortion)
-> Decoder
s
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe LovelacePortion)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe SlotNumber)
-> Decoder
s
(Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe SlotNumber)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate)
-> Decoder s (Maybe SoftforkRule)
-> Decoder
s
(Maybe TxFeePolicy
-> Maybe EpochNumber -> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe SoftforkRule)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder
s
(Maybe TxFeePolicy
-> Maybe EpochNumber -> ProtocolParametersUpdate)
-> Decoder s (Maybe TxFeePolicy)
-> Decoder s (Maybe EpochNumber -> ProtocolParametersUpdate)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe TxFeePolicy)
forall a s. FromCBOR a => Decoder s a
fromCBOR
Decoder s (Maybe EpochNumber -> ProtocolParametersUpdate)
-> Decoder s (Maybe EpochNumber)
-> Decoder s ProtocolParametersUpdate
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Decoder s (Maybe EpochNumber)
forall a s. FromCBOR a => Decoder s a
fromCBOR
empty :: ProtocolParametersUpdate
empty :: ProtocolParametersUpdate
empty = ProtocolParametersUpdate :: Maybe Word16
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe LovelacePortion
-> Maybe SlotNumber
-> Maybe SoftforkRule
-> Maybe TxFeePolicy
-> Maybe EpochNumber
-> ProtocolParametersUpdate
ProtocolParametersUpdate
{ ppuScriptVersion :: Maybe Word16
ppuScriptVersion = Maybe Word16
forall a. Maybe a
Nothing
, ppuSlotDuration :: Maybe Natural
ppuSlotDuration = Maybe Natural
forall a. Maybe a
Nothing
, ppuMaxBlockSize :: Maybe Natural
ppuMaxBlockSize = Maybe Natural
forall a. Maybe a
Nothing
, ppuMaxHeaderSize :: Maybe Natural
ppuMaxHeaderSize = Maybe Natural
forall a. Maybe a
Nothing
, ppuMaxTxSize :: Maybe Natural
ppuMaxTxSize = Maybe Natural
forall a. Maybe a
Nothing
, ppuMaxProposalSize :: Maybe Natural
ppuMaxProposalSize = Maybe Natural
forall a. Maybe a
Nothing
, ppuMpcThd :: Maybe LovelacePortion
ppuMpcThd = Maybe LovelacePortion
forall a. Maybe a
Nothing
, ppuHeavyDelThd :: Maybe LovelacePortion
ppuHeavyDelThd = Maybe LovelacePortion
forall a. Maybe a
Nothing
, ppuUpdateVoteThd :: Maybe LovelacePortion
ppuUpdateVoteThd = Maybe LovelacePortion
forall a. Maybe a
Nothing
, ppuUpdateProposalThd :: Maybe LovelacePortion
ppuUpdateProposalThd = Maybe LovelacePortion
forall a. Maybe a
Nothing
, ppuUpdateProposalTTL :: Maybe SlotNumber
ppuUpdateProposalTTL = Maybe SlotNumber
forall a. Maybe a
Nothing
, ppuSoftforkRule :: Maybe SoftforkRule
ppuSoftforkRule = Maybe SoftforkRule
forall a. Maybe a
Nothing
, ppuTxFeePolicy :: Maybe TxFeePolicy
ppuTxFeePolicy = Maybe TxFeePolicy
forall a. Maybe a
Nothing
, ppuUnlockStakeEpoch :: Maybe EpochNumber
ppuUnlockStakeEpoch = Maybe EpochNumber
forall a. Maybe a
Nothing
}
isEmpty :: ProtocolParametersUpdate -> Bool
isEmpty :: ProtocolParametersUpdate -> Bool
isEmpty = (ProtocolParametersUpdate -> ProtocolParametersUpdate -> Bool
forall a. Eq a => a -> a -> Bool
== ProtocolParametersUpdate
empty)
apply :: ProtocolParametersUpdate -> ProtocolParameters -> ProtocolParameters
apply :: ProtocolParametersUpdate
-> ProtocolParameters -> ProtocolParameters
apply ProtocolParametersUpdate
ppu ProtocolParameters
pp = ProtocolParameters :: Word16
-> Natural
-> Natural
-> Natural
-> Natural
-> Natural
-> LovelacePortion
-> LovelacePortion
-> LovelacePortion
-> LovelacePortion
-> SlotNumber
-> SoftforkRule
-> TxFeePolicy
-> EpochNumber
-> ProtocolParameters
ProtocolParameters
{ ppScriptVersion :: Word16
ppScriptVersion = Word16 -> Maybe Word16 -> Word16
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> Word16
ppScriptVersion ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe Word16
ppuScriptVersion ProtocolParametersUpdate
ppu)
, ppSlotDuration :: Natural
ppSlotDuration = Natural -> Maybe Natural -> Natural
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> Natural
ppSlotDuration ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe Natural
ppuSlotDuration ProtocolParametersUpdate
ppu)
, ppMaxBlockSize :: Natural
ppMaxBlockSize = Natural -> Maybe Natural -> Natural
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> Natural
ppMaxBlockSize ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe Natural
ppuMaxBlockSize ProtocolParametersUpdate
ppu)
, ppMaxHeaderSize :: Natural
ppMaxHeaderSize = Natural -> Maybe Natural -> Natural
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> Natural
ppMaxHeaderSize ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe Natural
ppuMaxHeaderSize ProtocolParametersUpdate
ppu)
, ppMaxTxSize :: Natural
ppMaxTxSize = Natural -> Maybe Natural -> Natural
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> Natural
ppMaxTxSize ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe Natural
ppuMaxTxSize ProtocolParametersUpdate
ppu)
, ppMaxProposalSize :: Natural
ppMaxProposalSize = Natural -> Maybe Natural -> Natural
forall a. a -> Maybe a -> a
fromMaybe
(ProtocolParameters -> Natural
ppMaxProposalSize ProtocolParameters
pp)
(ProtocolParametersUpdate -> Maybe Natural
ppuMaxProposalSize ProtocolParametersUpdate
ppu)
, ppMpcThd :: LovelacePortion
ppMpcThd = LovelacePortion -> Maybe LovelacePortion -> LovelacePortion
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> LovelacePortion
ppMpcThd ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuMpcThd ProtocolParametersUpdate
ppu)
, ppHeavyDelThd :: LovelacePortion
ppHeavyDelThd = LovelacePortion -> Maybe LovelacePortion -> LovelacePortion
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> LovelacePortion
ppHeavyDelThd ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuHeavyDelThd ProtocolParametersUpdate
ppu)
, ppUpdateVoteThd :: LovelacePortion
ppUpdateVoteThd = LovelacePortion -> Maybe LovelacePortion -> LovelacePortion
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> LovelacePortion
ppUpdateVoteThd ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateVoteThd ProtocolParametersUpdate
ppu)
, ppUpdateProposalThd :: LovelacePortion
ppUpdateProposalThd = LovelacePortion -> Maybe LovelacePortion -> LovelacePortion
forall a. a -> Maybe a -> a
fromMaybe
(ProtocolParameters -> LovelacePortion
ppUpdateProposalThd ProtocolParameters
pp)
(ProtocolParametersUpdate -> Maybe LovelacePortion
ppuUpdateProposalThd ProtocolParametersUpdate
ppu)
, ppUpdateProposalTTL :: SlotNumber
ppUpdateProposalTTL = SlotNumber -> Maybe SlotNumber -> SlotNumber
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> SlotNumber
ppUpdateProposalTTL ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe SlotNumber
ppuUpdateProposalTTL ProtocolParametersUpdate
ppu)
, ppSoftforkRule :: SoftforkRule
ppSoftforkRule = SoftforkRule -> Maybe SoftforkRule -> SoftforkRule
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> SoftforkRule
ppSoftforkRule ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe SoftforkRule
ppuSoftforkRule ProtocolParametersUpdate
ppu)
, ppTxFeePolicy :: TxFeePolicy
ppTxFeePolicy = TxFeePolicy -> Maybe TxFeePolicy -> TxFeePolicy
forall a. a -> Maybe a -> a
fromMaybe (ProtocolParameters -> TxFeePolicy
ppTxFeePolicy ProtocolParameters
pp) (ProtocolParametersUpdate -> Maybe TxFeePolicy
ppuTxFeePolicy ProtocolParametersUpdate
ppu)
, ppUnlockStakeEpoch :: EpochNumber
ppUnlockStakeEpoch = EpochNumber -> Maybe EpochNumber -> EpochNumber
forall a. a -> Maybe a -> a
fromMaybe
(ProtocolParameters -> EpochNumber
ppUnlockStakeEpoch ProtocolParameters
pp)
(ProtocolParametersUpdate -> Maybe EpochNumber
ppuUnlockStakeEpoch ProtocolParametersUpdate
ppu)
}