{-# LANGUAGE GADTs #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
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 Test.Cardano.Ledger.Core.Arbitrary (genEraProtVer)
import Test.Cardano.Ledger.Dijkstra.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
:: forall era ledgerera m
. MonadGen m
=> ShelleyBasedEra era
-> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams :: forall era ledgerera (m :: * -> *).
MonadGen m =>
ShelleyBasedEra era -> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams ShelleyBasedEra era
sbe =
ShelleyBasedEra era
-> (ShelleyBasedEraConstraints era =>
m (DeprecatedAfterBabbagePParams ledgerera))
-> m (DeprecatedAfterBabbagePParams ledgerera)
forall era a.
ShelleyBasedEra era -> (ShelleyBasedEraConstraints era => a) -> a
shelleyBasedEraConstraints ShelleyBasedEra era
sbe ((ShelleyBasedEraConstraints era =>
m (DeprecatedAfterBabbagePParams ledgerera))
-> m (DeprecatedAfterBabbagePParams ledgerera))
-> (ShelleyBasedEraConstraints era =>
m (DeprecatedAfterBabbagePParams ledgerera))
-> m (DeprecatedAfterBabbagePParams ledgerera)
forall a b. (a -> b) -> a -> b
$
StrictMaybe ProtVer -> DeprecatedAfterBabbagePParams ledgerera
forall ledgerera.
StrictMaybe ProtVer -> DeprecatedAfterBabbagePParams ledgerera
DeprecatedAfterBabbagePParams
(StrictMaybe ProtVer -> DeprecatedAfterBabbagePParams ledgerera)
-> m (StrictMaybe ProtVer)
-> m (DeprecatedAfterBabbagePParams ledgerera)
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 (Gen ProtVer -> m ProtVer
forall (m :: * -> *) a. MonadGen m => Gen a -> m a
Q.quickcheck (forall era. Era era => Gen ProtVer
genEraProtVer @(ShelleyLedgerEra era)))
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 -> m (EraBasedProtocolParametersUpdate era)
m (EraBasedProtocolParametersUpdate DijkstraEra)
forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate DijkstraEra)
genDijkstraEraBasedProtocolParametersUpdate
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
<*> ShelleyBasedEra ShelleyEra
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall era ledgerera (m :: * -> *).
MonadGen m =>
ShelleyBasedEra era -> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams ShelleyBasedEra ShelleyEra
ShelleyBasedEraShelley
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
<*> ShelleyBasedEra AllegraEra
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall era ledgerera (m :: * -> *).
MonadGen m =>
ShelleyBasedEra era -> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams ShelleyBasedEra AllegraEra
ShelleyBasedEraAllegra
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
<*> ShelleyBasedEra MaryEra
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall era ledgerera (m :: * -> *).
MonadGen m =>
ShelleyBasedEra era -> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams ShelleyBasedEra MaryEra
ShelleyBasedEraMary
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
<*> ShelleyBasedEra AlonzoEra
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall era ledgerera (m :: * -> *).
MonadGen m =>
ShelleyBasedEra era -> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams ShelleyBasedEra AlonzoEra
ShelleyBasedEraAlonzo
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
<*> ShelleyBasedEra BabbageEra
-> m (DeprecatedAfterBabbagePParams ShelleyEra)
forall era ledgerera (m :: * -> *).
MonadGen m =>
ShelleyBasedEra era -> m (DeprecatedAfterBabbagePParams ledgerera)
genDeprecatedAfterBabbagePParams ShelleyBasedEra BabbageEra
ShelleyBasedEraBabbage
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
genIntroducedInDijkstraPParams :: MonadGen m => m (IntroducedInDijkstraPParams era)
genIntroducedInDijkstraPParams :: forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInDijkstraPParams era)
genIntroducedInDijkstraPParams =
StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe (NonZero Word32)
-> StrictMaybe PositiveInterval
-> IntroducedInDijkstraPParams era
forall era.
StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe (NonZero Word32)
-> StrictMaybe PositiveInterval
-> IntroducedInDijkstraPParams era
IntroducedInDijkstraPParams
(StrictMaybe Word32
-> StrictMaybe Word32
-> StrictMaybe (NonZero Word32)
-> StrictMaybe PositiveInterval
-> IntroducedInDijkstraPParams era)
-> m (StrictMaybe Word32)
-> m (StrictMaybe Word32
-> StrictMaybe (NonZero Word32)
-> StrictMaybe PositiveInterval
-> IntroducedInDijkstraPParams era)
forall (f :: * -> *) a b. Functor 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 (NonZero Word32)
-> StrictMaybe PositiveInterval
-> IntroducedInDijkstraPParams era)
-> m (StrictMaybe Word32)
-> m (StrictMaybe (NonZero Word32)
-> StrictMaybe PositiveInterval -> IntroducedInDijkstraPParams 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 (NonZero Word32)
-> StrictMaybe PositiveInterval -> IntroducedInDijkstraPParams era)
-> m (StrictMaybe (NonZero Word32))
-> m (StrictMaybe PositiveInterval
-> IntroducedInDijkstraPParams 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 (NonZero Word32) -> m (StrictMaybe (NonZero Word32))
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m (NonZero Word32)
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
m (StrictMaybe PositiveInterval -> IntroducedInDijkstraPParams era)
-> m (StrictMaybe PositiveInterval)
-> m (IntroducedInDijkstraPParams 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 PositiveInterval -> m (StrictMaybe PositiveInterval)
forall (m :: * -> *) a. MonadGen m => m a -> m (StrictMaybe a)
genStrictMaybe m PositiveInterval
forall a (m :: * -> *). (Arbitrary a, MonadGen m) => m a
Q.arbitrary
genDijkstraEraBasedProtocolParametersUpdate
:: MonadGen m => m (EraBasedProtocolParametersUpdate DijkstraEra)
genDijkstraEraBasedProtocolParametersUpdate :: forall (m :: * -> *).
MonadGen m =>
m (EraBasedProtocolParametersUpdate DijkstraEra)
genDijkstraEraBasedProtocolParametersUpdate =
CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams DijkstraEra
-> IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams (ShelleyLedgerEra DijkstraEra)
-> IntroducedInDijkstraPParams (ShelleyLedgerEra DijkstraEra)
-> EraBasedProtocolParametersUpdate DijkstraEra
CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams DijkstraEra
-> IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra
DijkstraEraBasedProtocolParametersUpdate
(CommonProtocolParametersUpdate
-> AlonzoOnwardsPParams DijkstraEra
-> IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
-> m CommonProtocolParametersUpdate
-> m (AlonzoOnwardsPParams DijkstraEra
-> IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> m CommonProtocolParametersUpdate
forall (m :: * -> *).
MonadGen m =>
m CommonProtocolParametersUpdate
genCommonProtocolParametersUpdate
m (AlonzoOnwardsPParams DijkstraEra
-> IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
-> m (AlonzoOnwardsPParams DijkstraEra)
-> m (IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
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 DijkstraEra)
forall (m :: * -> *) era.
MonadGen m =>
m (AlonzoOnwardsPParams era)
genAlonzoOnwardsPParams
m (IntroducedInBabbagePParams DijkstraEra
-> IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
-> m (IntroducedInBabbagePParams DijkstraEra)
-> m (IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
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 DijkstraEra)
forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInBabbagePParams era)
genIntroducedInBabbagePParams
m (IntroducedInConwayPParams DijkstraEra
-> IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
-> m (IntroducedInConwayPParams DijkstraEra)
-> m (IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
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 DijkstraEra)
forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInConwayPParams era)
genIntroducedInConwayPParams
m (IntroducedInDijkstraPParams DijkstraEra
-> EraBasedProtocolParametersUpdate DijkstraEra)
-> m (IntroducedInDijkstraPParams DijkstraEra)
-> m (EraBasedProtocolParametersUpdate DijkstraEra)
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> m (IntroducedInDijkstraPParams DijkstraEra)
forall (m :: * -> *) era.
MonadGen m =>
m (IntroducedInDijkstraPParams era)
genIntroducedInDijkstraPParams