{-# LANGUAGE GADTs #-}
module Test.Gen.Cardano.Api.ProtocolParameters where
import Cardano.Api
import Cardano.Api.Ledger
import Test.Cardano.Ledger.Alonzo.Arbitrary ()
import Test.Cardano.Ledger.Conway.Arbitrary ()
import Hedgehog (MonadGen)
import Hedgehog.Gen qualified as Gen
import Hedgehog.Gen.QuickCheck qualified as Q
genStrictMaybe :: MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe :: forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m a
gen =
(Size -> m (StrictMaybe a)) -> m (StrictMaybe a)
forall (m :: * -> *) a. MonadGen m => (Size -> m a) -> m a
Gen.sized ((Size -> m (StrictMaybe a)) -> m (StrictMaybe a))
-> (Size -> m (StrictMaybe a)) -> m (StrictMaybe a)
forall a b. (a -> b) -> a -> b
$ \Size
n ->
[(Int, m (StrictMaybe a))] -> m (StrictMaybe a)
forall (m :: * -> *) a.
(HasCallStack, MonadGen m) =>
[(Int, m a)] -> m a
Gen.frequency
[ (Int
2, StrictMaybe a -> m (StrictMaybe a)
forall a. a -> m a
forall (f :: * -> *) a. Applicative f => a -> f a
pure StrictMaybe a
forall a. StrictMaybe a
SNothing)
, (Int
1 Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Size -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Size
n, a -> StrictMaybe a
forall a. a -> StrictMaybe a
SJust (a -> StrictMaybe a) -> m a -> m (StrictMaybe a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m a
gen)
]
genCommonProtocolParametersUpdate :: MonadGen m => m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate =
StrictMaybe CoinPerByte
-> StrictMaybe Coin
-> StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate
CommonProtocolParametersUpdate
(StrictMaybe CoinPerByte
-> StrictMaybe Coin
-> StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe CoinPerByte)
-> m (StrictMaybe Coin
-> StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CoinPerByte -> m (StrictMaybe CoinPerByte)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m CoinPerByte
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Coin
-> StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Coin)
-> m (StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Word32)
-> m (StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word32 -> m (StrictMaybe Word32)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word32
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Word32)
-> m (StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word32 -> m (StrictMaybe Word32)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word32
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word16
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Word16)
-> m (StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word16 -> m (StrictMaybe Word16)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word16
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Coin)
-> m (StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Coin)
-> m (StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe EpochInterval
-> StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe EpochInterval)
-> m (StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m EpochInterval -> m (StrictMaybe EpochInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m EpochInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word16
-> StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe Word16)
-> m (StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word16 -> m (StrictMaybe Word16)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word16
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe NonNegativeInterval
-> StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe NonNegativeInterval)
-> m (StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m NonNegativeInterval -> m (StrictMaybe NonNegativeInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m NonNegativeInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe UnitInterval
-> StrictMaybe UnitInterval
-> StrictMaybe Coin
-> CommonProtocolParametersUpdate)
-> m (StrictMaybe UnitInterval)
-> m (StrictMaybe UnitInterval
-> StrictMaybe Coin -> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m UnitInterval -> m (StrictMaybe UnitInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m UnitInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe UnitInterval
-> StrictMaybe Coin -> CommonProtocolParametersUpdate)
-> m (StrictMaybe UnitInterval)
-> m (StrictMaybe Coin -> CommonProtocolParametersUpdate)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m UnitInterval -> m (StrictMaybe UnitInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m UnitInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Coin -> CommonProtocolParametersUpdate)
-> m (StrictMaybe Coin) -> m CommonProtocolParametersUpdate
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genDeprecatedAfterMaryPParams :: MonadGen m => m (DeprecatedAfterMaryPParams era)
genDeprecatedAfterMaryPParams :: forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterMaryPParams era)
genDeprecatedAfterMaryPParams = StrictMaybe Coin -> DeprecatedAfterMaryPParams era
forall ledgerera.
StrictMaybe Coin -> DeprecatedAfterMaryPParams ledgerera
DeprecatedAfterMaryPParams (StrictMaybe Coin -> DeprecatedAfterMaryPParams era)
-> m (StrictMaybe Coin) -> m (DeprecatedAfterMaryPParams era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genDeprecatedAfterBabbagePParams :: MonadGen m => m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams :: forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams = StrictMaybe ProtVer -> DeprecatedAfterBabbagePParams era
forall ledgerera.
StrictMaybe ProtVer -> DeprecatedAfterBabbagePParams ledgerera
DeprecatedAfterBabbagePParams (StrictMaybe ProtVer -> DeprecatedAfterBabbagePParams era)
-> m (StrictMaybe ProtVer) -> m (DeprecatedAfterBabbagePParams era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m ProtVer -> m (StrictMaybe ProtVer)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m ProtVer
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genShelleyToAlonzoPParams :: MonadGen m => m (ShelleyToAlonzoPParams era)
genShelleyToAlonzoPParams :: forall (m :: * -> *) era.
MonadGen m =>
m (ShelleyToAlonzoPParams era)
genShelleyToAlonzoPParams =
StrictMaybe Nonce
-> StrictMaybe UnitInterval -> ShelleyToAlonzoPParams era
forall ledgerera.
StrictMaybe Nonce
-> StrictMaybe UnitInterval -> ShelleyToAlonzoPParams ledgerera
ShelleyToAlonzoPParams
(StrictMaybe Nonce
-> StrictMaybe UnitInterval -> ShelleyToAlonzoPParams era)
-> m (StrictMaybe Nonce)
-> m (StrictMaybe UnitInterval -> ShelleyToAlonzoPParams era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m Nonce -> m (StrictMaybe Nonce)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Nonce
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe UnitInterval -> ShelleyToAlonzoPParams era)
-> m (StrictMaybe UnitInterval) -> m (ShelleyToAlonzoPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m UnitInterval -> m (StrictMaybe UnitInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m UnitInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genAlonzoOnwardsPParams :: MonadGen m => m (AlonzoOnwardsPParams era)
genAlonzoOnwardsPParams :: forall (m :: * -> *) era.
MonadGen m =>
m (AlonzoOnwardsPParams era)
genAlonzoOnwardsPParams =
StrictMaybe CostModels
-> StrictMaybe Prices
-> StrictMaybe ExUnits
-> StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era
forall ledgerera.
StrictMaybe CostModels
-> StrictMaybe Prices
-> StrictMaybe ExUnits
-> StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams ledgerera
AlonzoOnwardsPParams StrictMaybe CostModels
forall a. StrictMaybe a
SNothing
(StrictMaybe Prices
-> StrictMaybe ExUnits
-> StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
-> m (StrictMaybe Prices)
-> m (StrictMaybe ExUnits
-> StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m Prices -> m (StrictMaybe Prices)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Prices
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe ExUnits
-> StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
-> m (StrictMaybe ExUnits)
-> m (StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m ExUnits -> m (StrictMaybe ExUnits)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m ExUnits
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe ExUnits
-> StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
-> m (StrictMaybe ExUnits)
-> m (StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m ExUnits -> m (StrictMaybe ExUnits)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m ExUnits
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word32
-> StrictMaybe Word16
-> StrictMaybe Word16
-> AlonzoOnwardsPParams era)
-> m (StrictMaybe Word32)
-> m (StrictMaybe Word16
-> StrictMaybe Word16 -> AlonzoOnwardsPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word32 -> m (StrictMaybe Word32)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word32
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word16
-> StrictMaybe Word16 -> AlonzoOnwardsPParams era)
-> m (StrictMaybe Word16)
-> m (StrictMaybe Word16 -> AlonzoOnwardsPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word16 -> m (StrictMaybe Word16)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word16
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word16 -> AlonzoOnwardsPParams era)
-> m (StrictMaybe Word16) -> m (AlonzoOnwardsPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word16 -> m (StrictMaybe Word16)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word16
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genIntroducedInBabbagePParams :: MonadGen m => m (IntroducedInBabbagePParams era)
genIntroducedInBabbagePParams :: forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInBabbagePParams era)
genIntroducedInBabbagePParams = StrictMaybe CoinPerByte -> IntroducedInBabbagePParams era
forall era.
StrictMaybe CoinPerByte -> IntroducedInBabbagePParams era
IntroducedInBabbagePParams (StrictMaybe CoinPerByte -> IntroducedInBabbagePParams era)
-> m (StrictMaybe CoinPerByte)
-> m (IntroducedInBabbagePParams era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CoinPerByte -> m (StrictMaybe CoinPerByte)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m CoinPerByte
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genIntroducedInConwayPParams :: MonadGen m => m (IntroducedInConwayPParams era)
genIntroducedInConwayPParams :: forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInConwayPParams era)
genIntroducedInConwayPParams =
StrictMaybe PoolVotingThresholds
-> StrictMaybe DRepVotingThresholds
-> StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era
forall era.
StrictMaybe PoolVotingThresholds
-> StrictMaybe DRepVotingThresholds
-> StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era
IntroducedInConwayPParams
(StrictMaybe PoolVotingThresholds
-> StrictMaybe DRepVotingThresholds
-> StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe PoolVotingThresholds)
-> m (StrictMaybe DRepVotingThresholds
-> StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m PoolVotingThresholds -> m (StrictMaybe PoolVotingThresholds)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m PoolVotingThresholds
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe DRepVotingThresholds
-> StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe DRepVotingThresholds)
-> m (StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m DRepVotingThresholds -> m (StrictMaybe DRepVotingThresholds)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m DRepVotingThresholds
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Word16
-> StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe Word16)
-> m (StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Word16 -> m (StrictMaybe Word16)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Word16
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe EpochInterval
-> StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe EpochInterval)
-> m (StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m EpochInterval -> m (StrictMaybe EpochInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m EpochInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe EpochInterval
-> StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe EpochInterval)
-> m (StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m EpochInterval -> m (StrictMaybe EpochInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m EpochInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Coin
-> StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe Coin)
-> m (StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe Coin
-> StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe Coin)
-> m (StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m Coin -> m (StrictMaybe Coin)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m Coin
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe EpochInterval
-> StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe EpochInterval)
-> m (StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m EpochInterval -> m (StrictMaybe EpochInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m EpochInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe NonNegativeInterval
-> IntroducedInConwayPParams era)
-> m (StrictMaybe NonNegativeInterval)
-> m (IntroducedInConwayPParams era)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m NonNegativeInterval -> m (StrictMaybe NonNegativeInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m NonNegativeInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genEraBasedProtocolParametersUpdate
:: MonadGen m
=> CardanoEra era
-> m (EraBasedProtocolParametersUpdate era)
genEraBasedProtocolParametersUpdate :: forall (m :: * -> *) era.
MonadGen m =>
CardanoEra era -> m (EraBasedProtocolParametersUpdate era)
genEraBasedProtocolParametersUpdate CardanoEra era
era =
case CardanoEra era
era of
CardanoEra era
ByronEra ->
[Char] -> m (EraBasedProtocolParametersUpdate era)
forall a. HasCallStack => [Char] -> a
error
[Char]
"genEraBasedProtocolParametersUpdate: ByronEra does not support \
\protocol parameter updates"
CardanoEra era
ShelleyEra -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate ShelleyEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate ShelleyEra)
genShelleyEraBasedProtocolParametersUpdate
CardanoEra era
AllegraEra -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate AllegraEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate AllegraEra)
genAllegraEraBasedProtocolParametersUpdate
CardanoEra era
MaryEra -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate MaryEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate MaryEra)
genMaryEraBasedProtocolParametersUpdate
CardanoEra era
AlonzoEra -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate AlonzoEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate AlonzoEra)
genAlonzoEraBasedProtocolParametersUpdate
CardanoEra era
BabbageEra -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate BabbageEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate BabbageEra)
genBabbageEraBasedProtocolParametersUpdate
CardanoEra era
ConwayEra -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate ConwayEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate ConwayEra)
genConwayEraBasedProtocolParametersUpdate
CardanoEra era
DijkstraEra -> [Char] -> m (EraBasedProtocolParametersUpdate era)
forall a. HasCallStack => [Char] -> a
error [Char]
"TODO Dijkstra: genEraBasedProtocolParametersUpdate: era not supported"
genShelleyEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate ShelleyEra)
genShelleyEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate ShelleyEra)
genShelleyEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> DeprecatedAfterMaryPParams ShelleyEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra
ShelleyEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> DeprecatedAfterMaryPParams ShelleyEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
-> m CommonProtocolParametersUpdate
-> m (DeprecatedAfterMaryPParams ShelleyEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (DeprecatedAfterMaryPParams ShelleyEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
-> m (DeprecatedAfterMaryPParams ShelleyEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra
-> ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterMaryPParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterMaryPParams era)
genDeprecatedAfterMaryPParams
m (DeprecatedAfterBabbagePParams ShelleyEra
-> ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
-> m (ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams
m (ShelleyToAlonzoPParams ShelleyEra
-> EraBasedProtocolParametersUpdate ShelleyEra)
-> m (ShelleyToAlonzoPParams ShelleyEra)
-> m (EraBasedProtocolParametersUpdate ShelleyEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (ShelleyToAlonzoPParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (ShelleyToAlonzoPParams era)
genShelleyToAlonzoPParams
genAllegraEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate AllegraEra)
genAllegraEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate AllegraEra)
genAllegraEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> DeprecatedAfterMaryPParams AllegraEra
-> ShelleyToAlonzoPParams AllegraEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra
AllegraEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> DeprecatedAfterMaryPParams AllegraEra
-> ShelleyToAlonzoPParams AllegraEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
-> m CommonProtocolParametersUpdate
-> m (DeprecatedAfterMaryPParams AllegraEra
-> ShelleyToAlonzoPParams AllegraEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (DeprecatedAfterMaryPParams AllegraEra
-> ShelleyToAlonzoPParams AllegraEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
-> m (DeprecatedAfterMaryPParams AllegraEra)
-> m (ShelleyToAlonzoPParams AllegraEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterMaryPParams AllegraEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterMaryPParams era)
genDeprecatedAfterMaryPParams
m (ShelleyToAlonzoPParams AllegraEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
-> m (ShelleyToAlonzoPParams AllegraEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (ShelleyToAlonzoPParams AllegraEra)
forall (m :: * -> *) era.
MonadGen m =>
m (ShelleyToAlonzoPParams era)
genShelleyToAlonzoPParams
m (DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AllegraEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
-> m (EraBasedProtocolParametersUpdate AllegraEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams
genMaryEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate MaryEra)
genMaryEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate MaryEra)
genMaryEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> DeprecatedAfterMaryPParams MaryEra
-> ShelleyToAlonzoPParams MaryEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra
MaryEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> DeprecatedAfterMaryPParams MaryEra
-> ShelleyToAlonzoPParams MaryEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
-> m CommonProtocolParametersUpdate
-> m (DeprecatedAfterMaryPParams MaryEra
-> ShelleyToAlonzoPParams MaryEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (DeprecatedAfterMaryPParams MaryEra
-> ShelleyToAlonzoPParams MaryEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
-> m (DeprecatedAfterMaryPParams MaryEra)
-> m (ShelleyToAlonzoPParams MaryEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterMaryPParams MaryEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterMaryPParams era)
genDeprecatedAfterMaryPParams
m (ShelleyToAlonzoPParams MaryEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
-> m (ShelleyToAlonzoPParams MaryEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (ShelleyToAlonzoPParams MaryEra)
forall (m :: * -> *) era.
MonadGen m =>
m (ShelleyToAlonzoPParams era)
genShelleyToAlonzoPParams
m (DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate MaryEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
-> m (EraBasedProtocolParametersUpdate MaryEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams
genAlonzoEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate AlonzoEra)
genAlonzoEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate AlonzoEra)
genAlonzoEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> ShelleyToAlonzoPParams AlonzoEra
-> AlonzoOnwardsPParams AlonzoEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra
AlonzoEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> ShelleyToAlonzoPParams AlonzoEra
-> AlonzoOnwardsPParams AlonzoEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
-> m CommonProtocolParametersUpdate
-> m (ShelleyToAlonzoPParams AlonzoEra
-> AlonzoOnwardsPParams AlonzoEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (ShelleyToAlonzoPParams AlonzoEra
-> AlonzoOnwardsPParams AlonzoEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
-> m (ShelleyToAlonzoPParams AlonzoEra)
-> m (AlonzoOnwardsPParams AlonzoEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (ShelleyToAlonzoPParams AlonzoEra)
forall (m :: * -> *) era.
MonadGen m =>
m (ShelleyToAlonzoPParams era)
genShelleyToAlonzoPParams
m (AlonzoOnwardsPParams AlonzoEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
-> m (AlonzoOnwardsPParams AlonzoEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (AlonzoOnwardsPParams AlonzoEra)
forall (m :: * -> *) era.
MonadGen m =>
m (AlonzoOnwardsPParams era)
genAlonzoOnwardsPParams
m (DeprecatedAfterBabbagePParams ShelleyEra
-> EraBasedProtocolParametersUpdate AlonzoEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
-> m (EraBasedProtocolParametersUpdate AlonzoEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams
genBabbageEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate BabbageEra)
genBabbageEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate BabbageEra)
genBabbageEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams BabbageEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra
BabbageEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams BabbageEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
-> m CommonProtocolParametersUpdate
-> m (AlonzoOnwardsPParams BabbageEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (AlonzoOnwardsPParams BabbageEra
-> DeprecatedAfterBabbagePParams ShelleyEra
-> IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
-> m (AlonzoOnwardsPParams BabbageEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra
-> IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (AlonzoOnwardsPParams BabbageEra)
forall (m :: * -> *) era.
MonadGen m =>
m (AlonzoOnwardsPParams era)
genAlonzoOnwardsPParams
m (DeprecatedAfterBabbagePParams ShelleyEra
-> IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
-> m (IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall (m :: * -> *) era.
MonadGen m =>
m (DeprecatedAfterBabbagePParams era)
genDeprecatedAfterBabbagePParams
m (IntroducedInBabbagePParams BabbageEra
-> EraBasedProtocolParametersUpdate BabbageEra)
-> m (IntroducedInBabbagePParams BabbageEra)
-> m (EraBasedProtocolParametersUpdate BabbageEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (IntroducedInBabbagePParams BabbageEra)
forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInBabbagePParams era)
genIntroducedInBabbagePParams
genConwayEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate ConwayEra)
genConwayEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate ConwayEra)
genConwayEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams ConwayEra
-> IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams (ShelleyLedgerEra ConwayEra)
-> EraBasedProtocolParametersUpdate ConwayEra
CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams ConwayEra
-> IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra
ConwayEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams ConwayEra
-> IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
-> m CommonProtocolParametersUpdate
-> m (AlonzoOnwardsPParams ConwayEra
-> IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (AlonzoOnwardsPParams ConwayEra
-> IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
-> m (AlonzoOnwardsPParams ConwayEra)
-> m (IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (AlonzoOnwardsPParams ConwayEra)
forall (m :: * -> *) era.
MonadGen m =>
m (AlonzoOnwardsPParams era)
genAlonzoOnwardsPParams
m (IntroducedInBabbagePParams ConwayEra
-> IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
-> m (IntroducedInBabbagePParams ConwayEra)
-> m (IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (IntroducedInBabbagePParams ConwayEra)
forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInBabbagePParams era)
genIntroducedInBabbagePParams
m (IntroducedInConwayPParams ConwayEra
-> EraBasedProtocolParametersUpdate ConwayEra)
-> m (IntroducedInConwayPParams ConwayEra)
-> m (EraBasedProtocolParametersUpdate ConwayEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (IntroducedInConwayPParams ConwayEra)
forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInConwayPParams era)
genIntroducedInConwayPParams