{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Test.Cardano.Ledger.Conway.Arbitrary (
genUpdateCommittee,
genNoConfidence,
genTreasuryWithdrawals,
genHardForkInitiation,
genParameterChange,
genNewConstitution,
govActionGenerators,
genConwayPlutusPurposePointer,
genGovAction,
genGovActionState,
genPParamUpdateGovAction,
genHardForkGovAction,
genCommitteeGovAction,
genConstitutionGovAction,
genProposals,
ProposalsNewActions (..),
ProposalsForEnactment (..),
ShuffledGovActionStates (..),
) where
import Cardano.Ledger.Alonzo.Plutus.Evaluate (CollectError)
import Cardano.Ledger.BaseTypes (StrictMaybe (..))
import Cardano.Ledger.Conway (ConwayEra)
import Cardano.Ledger.Conway.Core
import Cardano.Ledger.Conway.Genesis (ConwayGenesis (..))
import Cardano.Ledger.Conway.Governance
import Cardano.Ledger.Conway.PParams (
ConwayPParams (..),
THKD (..),
UpgradeConwayPParams (..),
)
import Cardano.Ledger.Conway.Rules
import Cardano.Ledger.Conway.Scripts (ConwayPlutusPurpose (..))
import Cardano.Ledger.Conway.State
import Cardano.Ledger.Conway.TxBody
import Cardano.Ledger.Conway.TxCert
import Cardano.Ledger.Conway.TxInfo (ConwayContextError)
import Cardano.Ledger.HKD (HKD, NoUpdate (..))
import Cardano.Ledger.Plutus (Language (PlutusV3))
import Control.State.Transition.Extended (STS (Event))
import Data.Default (def)
import Data.Foldable (toList)
import Data.Functor.Identity (Identity)
import Data.List (nubBy)
import qualified Data.Map.Strict as Map
import qualified Data.Sequence as Seq
import qualified Data.Sequence.Strict as SSeq
import qualified Data.Set as Set
import Data.Word
import Generic.Random (genericArbitraryU)
import Lens.Micro
import Test.Cardano.Data (genNonEmptyMap)
import Test.Cardano.Data.Arbitrary ()
import Test.Cardano.Ledger.Alonzo.Arbitrary (genValidAndUnknownCostModels, genValidCostModel)
import Test.Cardano.Ledger.Babbage.Arbitrary ()
import Test.Cardano.Ledger.Binary.Random (QC (..))
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Core.Arbitrary (uniformSubMap)
instance
(Era era, Arbitrary (PParamsUpdate era)) =>
Arbitrary (PulsingSnapshot era)
where
arbitrary :: Gen (PulsingSnapshot era)
arbitrary = StrictSeq (GovActionState era)
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era
forall era.
StrictSeq (GovActionState era)
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era
PulsingSnapshot (StrictSeq (GovActionState era)
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
-> Gen (StrictSeq (GovActionState era))
-> Gen
(Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictSeq (GovActionState era))
forall a. Arbitrary a => Gen a
arbitrary Gen
(Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
-> Gen (Map DRep (CompactForm Coin))
-> Gen
(Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map DRep (CompactForm Coin))
forall a. Arbitrary a => Gen a
arbitrary Gen
(Map (Credential 'DRepRole) DRepState
-> Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
-> Gen (Map (Credential 'DRepRole) DRepState)
-> Gen
(Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'DRepRole) DRepState)
forall a. Arbitrary a => Gen a
arbitrary Gen
(Map (KeyHash 'StakePool) (CompactForm Coin)
-> PulsingSnapshot era)
-> Gen (Map (KeyHash 'StakePool) (CompactForm Coin))
-> Gen (PulsingSnapshot era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (KeyHash 'StakePool) (CompactForm Coin))
forall a. Arbitrary a => Gen a
arbitrary
instance
(Arbitrary (InstantStake era), Arbitrary (PParams era), Arbitrary (PParamsUpdate era), Era era) =>
Arbitrary (DRepPulsingState era)
where
arbitrary :: Gen (DRepPulsingState era)
arbitrary = PulsingSnapshot era -> RatifyState era -> DRepPulsingState era
forall era.
PulsingSnapshot era -> RatifyState era -> DRepPulsingState era
DRComplete (PulsingSnapshot era -> RatifyState era -> DRepPulsingState era)
-> Gen (PulsingSnapshot era)
-> Gen (RatifyState era -> DRepPulsingState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (PulsingSnapshot era)
forall a. Arbitrary a => Gen a
arbitrary Gen (RatifyState era -> DRepPulsingState era)
-> Gen (RatifyState era) -> Gen (DRepPulsingState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (RatifyState era)
forall a. Arbitrary a => Gen a
arbitrary
instance
( EraPParams era
, Arbitrary (PlutusPurpose AsItem era)
, Arbitrary (PlutusPurpose AsIx era)
, Arbitrary (TxCert era)
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
Arbitrary (ConwayContextError era)
where
arbitrary :: Gen (ConwayContextError era)
arbitrary = Gen (ConwayContextError era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance Arbitrary ConwayGenesis where
arbitrary :: Gen ConwayGenesis
arbitrary =
UpgradeConwayPParams Identity
-> Constitution ConwayEra
-> Committee ConwayEra
-> ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState
-> ConwayGenesis
ConwayGenesis
(UpgradeConwayPParams Identity
-> Constitution ConwayEra
-> Committee ConwayEra
-> ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState
-> ConwayGenesis)
-> Gen (UpgradeConwayPParams Identity)
-> Gen
(Constitution ConwayEra
-> Committee ConwayEra
-> ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState
-> ConwayGenesis)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (UpgradeConwayPParams Identity)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Constitution ConwayEra
-> Committee ConwayEra
-> ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState
-> ConwayGenesis)
-> Gen (Constitution ConwayEra)
-> Gen
(Committee ConwayEra
-> ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState
-> ConwayGenesis)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Constitution ConwayEra)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Committee ConwayEra
-> ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState
-> ConwayGenesis)
-> Gen (Committee ConwayEra)
-> Gen
(ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState -> ConwayGenesis)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Committee ConwayEra)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(ListMap (Credential 'Staking) Delegatee
-> ListMap (Credential 'DRepRole) DRepState -> ConwayGenesis)
-> Gen (ListMap (Credential 'Staking) Delegatee)
-> Gen (ListMap (Credential 'DRepRole) DRepState -> ConwayGenesis)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (ListMap (Credential 'Staking) Delegatee)
forall a. Arbitrary a => Gen a
arbitrary
Gen (ListMap (Credential 'DRepRole) DRepState -> ConwayGenesis)
-> Gen (ListMap (Credential 'DRepRole) DRepState)
-> Gen ConwayGenesis
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (ListMap (Credential 'DRepRole) DRepState)
forall a. Arbitrary a => Gen a
arbitrary
instance Arbitrary (UpgradeConwayPParams Identity) where
arbitrary :: Gen (UpgradeConwayPParams Identity)
arbitrary =
PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity
HKD Identity PoolVotingThresholds
-> HKD Identity DRepVotingThresholds
-> HKD Identity Word16
-> HKD Identity EpochInterval
-> HKD Identity EpochInterval
-> HKD Identity Coin
-> HKD Identity Coin
-> HKD Identity EpochInterval
-> HKD Identity NonNegativeInterval
-> HKD Identity CostModel
-> UpgradeConwayPParams Identity
forall (f :: * -> *).
HKD f PoolVotingThresholds
-> HKD f DRepVotingThresholds
-> HKD f Word16
-> HKD f EpochInterval
-> HKD f EpochInterval
-> HKD f Coin
-> HKD f Coin
-> HKD f EpochInterval
-> HKD f NonNegativeInterval
-> HKD f CostModel
-> UpgradeConwayPParams f
UpgradeConwayPParams
(PoolVotingThresholds
-> DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen PoolVotingThresholds
-> Gen
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen PoolVotingThresholds
forall a. Arbitrary a => Gen a
arbitrary
Gen
(DRepVotingThresholds
-> Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen DRepVotingThresholds
-> Gen
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen DRepVotingThresholds
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Word16
-> EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen Word16
-> Gen
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Word16
forall a. Arbitrary a => Gen a
arbitrary
Gen
(EpochInterval
-> EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen EpochInterval
-> Gen
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(EpochInterval
-> Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen EpochInterval
-> Gen
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Coin
-> Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen Coin
-> Gen
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Coin
-> EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen Coin
-> Gen
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
Gen
(EpochInterval
-> NonNegativeInterval
-> CostModel
-> UpgradeConwayPParams Identity)
-> Gen EpochInterval
-> Gen
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(NonNegativeInterval -> CostModel -> UpgradeConwayPParams Identity)
-> Gen NonNegativeInterval
-> Gen (CostModel -> UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen NonNegativeInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen (CostModel -> UpgradeConwayPParams Identity)
-> Gen CostModel -> Gen (UpgradeConwayPParams Identity)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Language -> Gen CostModel
genValidCostModel Language
PlutusV3
instance Arbitrary Delegatee where
arbitrary :: Gen Delegatee
arbitrary =
[Gen Delegatee] -> Gen Delegatee
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ KeyHash 'StakePool -> Delegatee
DelegStake (KeyHash 'StakePool -> Delegatee)
-> Gen (KeyHash 'StakePool) -> Gen Delegatee
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (KeyHash 'StakePool)
forall a. Arbitrary a => Gen a
arbitrary
, DRep -> Delegatee
DelegVote (DRep -> Delegatee) -> Gen DRep -> Gen Delegatee
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen DRep
forall a. Arbitrary a => Gen a
arbitrary
, KeyHash 'StakePool -> DRep -> Delegatee
DelegStakeVote (KeyHash 'StakePool -> DRep -> Delegatee)
-> Gen (KeyHash 'StakePool) -> Gen (DRep -> Delegatee)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (KeyHash 'StakePool)
forall a. Arbitrary a => Gen a
arbitrary Gen (DRep -> Delegatee) -> Gen DRep -> Gen Delegatee
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen DRep
forall a. Arbitrary a => Gen a
arbitrary
]
instance Arbitrary ConwayDelegCert where
arbitrary :: Gen ConwayDelegCert
arbitrary =
[Gen ConwayDelegCert] -> Gen ConwayDelegCert
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert
ConwayRegCert (Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert)
-> Gen (Credential 'Staking)
-> Gen (StrictMaybe Coin -> ConwayDelegCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'Staking)
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe Coin -> ConwayDelegCert)
-> Gen (StrictMaybe Coin) -> Gen ConwayDelegCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert
ConwayUnRegCert (Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert)
-> Gen (Credential 'Staking)
-> Gen (StrictMaybe Coin -> ConwayDelegCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'Staking)
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe Coin -> ConwayDelegCert)
-> Gen (StrictMaybe Coin) -> Gen ConwayDelegCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'Staking -> Delegatee -> ConwayDelegCert
ConwayDelegCert (Credential 'Staking -> Delegatee -> ConwayDelegCert)
-> Gen (Credential 'Staking) -> Gen (Delegatee -> ConwayDelegCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'Staking)
forall a. Arbitrary a => Gen a
arbitrary Gen (Delegatee -> ConwayDelegCert)
-> Gen Delegatee -> Gen ConwayDelegCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Delegatee
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'Staking -> Delegatee -> Coin -> ConwayDelegCert
ConwayRegDelegCert (Credential 'Staking -> Delegatee -> Coin -> ConwayDelegCert)
-> Gen (Credential 'Staking)
-> Gen (Delegatee -> Coin -> ConwayDelegCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'Staking)
forall a. Arbitrary a => Gen a
arbitrary Gen (Delegatee -> Coin -> ConwayDelegCert)
-> Gen Delegatee -> Gen (Coin -> ConwayDelegCert)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Delegatee
forall a. Arbitrary a => Gen a
arbitrary Gen (Coin -> ConwayDelegCert) -> Gen Coin -> Gen ConwayDelegCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
]
instance Era era => Arbitrary (ConwayTxCert era) where
arbitrary :: Gen (ConwayTxCert era)
arbitrary =
[Gen (ConwayTxCert era)] -> Gen (ConwayTxCert era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ ConwayDelegCert -> ConwayTxCert era
forall era. ConwayDelegCert -> ConwayTxCert era
ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert era)
-> Gen ConwayDelegCert -> Gen (ConwayTxCert era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen ConwayDelegCert
forall a. Arbitrary a => Gen a
arbitrary
, PoolCert -> ConwayTxCert era
forall era. PoolCert -> ConwayTxCert era
ConwayTxCertPool (PoolCert -> ConwayTxCert era)
-> Gen PoolCert -> Gen (ConwayTxCert era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen PoolCert
forall a. Arbitrary a => Gen a
arbitrary
, ConwayGovCert -> ConwayTxCert era
forall era. ConwayGovCert -> ConwayTxCert era
ConwayTxCertGov (ConwayGovCert -> ConwayTxCert era)
-> Gen ConwayGovCert -> Gen (ConwayTxCert era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen ConwayGovCert
forall a. Arbitrary a => Gen a
arbitrary
]
instance Arbitrary ConwayGovCert where
arbitrary :: Gen ConwayGovCert
arbitrary =
[Gen ConwayGovCert] -> Gen ConwayGovCert
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ Credential 'DRepRole -> Coin -> StrictMaybe Anchor -> ConwayGovCert
ConwayRegDRep (Credential 'DRepRole
-> Coin -> StrictMaybe Anchor -> ConwayGovCert)
-> Gen (Credential 'DRepRole)
-> Gen (Coin -> StrictMaybe Anchor -> ConwayGovCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'DRepRole)
forall a. Arbitrary a => Gen a
arbitrary Gen (Coin -> StrictMaybe Anchor -> ConwayGovCert)
-> Gen Coin -> Gen (StrictMaybe Anchor -> ConwayGovCert)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe Anchor -> ConwayGovCert)
-> Gen (StrictMaybe Anchor) -> Gen ConwayGovCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Anchor)
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'DRepRole -> Coin -> ConwayGovCert
ConwayUnRegDRep (Credential 'DRepRole -> Coin -> ConwayGovCert)
-> Gen (Credential 'DRepRole) -> Gen (Coin -> ConwayGovCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'DRepRole)
forall a. Arbitrary a => Gen a
arbitrary Gen (Coin -> ConwayGovCert) -> Gen Coin -> Gen ConwayGovCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'ColdCommitteeRole
-> Credential 'HotCommitteeRole -> ConwayGovCert
ConwayAuthCommitteeHotKey (Credential 'ColdCommitteeRole
-> Credential 'HotCommitteeRole -> ConwayGovCert)
-> Gen (Credential 'ColdCommitteeRole)
-> Gen (Credential 'HotCommitteeRole -> ConwayGovCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'ColdCommitteeRole)
forall a. Arbitrary a => Gen a
arbitrary Gen (Credential 'HotCommitteeRole -> ConwayGovCert)
-> Gen (Credential 'HotCommitteeRole) -> Gen ConwayGovCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Credential 'HotCommitteeRole)
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'ColdCommitteeRole
-> StrictMaybe Anchor -> ConwayGovCert
ConwayResignCommitteeColdKey (Credential 'ColdCommitteeRole
-> StrictMaybe Anchor -> ConwayGovCert)
-> Gen (Credential 'ColdCommitteeRole)
-> Gen (StrictMaybe Anchor -> ConwayGovCert)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'ColdCommitteeRole)
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe Anchor -> ConwayGovCert)
-> Gen (StrictMaybe Anchor) -> Gen ConwayGovCert
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Anchor)
forall a. Arbitrary a => Gen a
arbitrary
]
deriving instance Arbitrary (ConwayInstantStake era)
instance
( EraPParams era
, Arbitrary (InstantStake era)
, Arbitrary (PParams era)
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
Arbitrary (ConwayGovState era)
where
arbitrary :: Gen (ConwayGovState era)
arbitrary =
Proposals era
-> StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era
forall era.
Proposals era
-> StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era
ConwayGovState
(Proposals era
-> StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
-> Gen (Proposals era)
-> Gen
(StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Proposals era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
-> Gen (StrictMaybe (Committee era))
-> Gen
(Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe (Committee era))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Constitution era
-> PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
-> Gen (Constitution era)
-> Gen
(PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Constitution era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(PParams era
-> PParams era
-> FuturePParams era
-> DRepPulsingState era
-> ConwayGovState era)
-> Gen (PParams era)
-> Gen
(PParams era
-> FuturePParams era -> DRepPulsingState era -> ConwayGovState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PParams era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(PParams era
-> FuturePParams era -> DRepPulsingState era -> ConwayGovState era)
-> Gen (PParams era)
-> Gen
(FuturePParams era -> DRepPulsingState era -> ConwayGovState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PParams era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(FuturePParams era -> DRepPulsingState era -> ConwayGovState era)
-> Gen (FuturePParams era)
-> Gen (DRepPulsingState era -> ConwayGovState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (FuturePParams era)
forall a. Arbitrary a => Gen a
arbitrary
Gen (DRepPulsingState era -> ConwayGovState era)
-> Gen (DRepPulsingState era) -> Gen (ConwayGovState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (DRepPulsingState era)
forall a. Arbitrary a => Gen a
arbitrary
shrink :: ConwayGovState era -> [ConwayGovState era]
shrink = ConwayGovState era -> [ConwayGovState era]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance
(Era era, Arbitrary (PParams era), Arbitrary (PParamsUpdate era)) =>
Arbitrary (RatifyState era)
where
arbitrary :: Gen (RatifyState era)
arbitrary =
EnactState era
-> Seq (GovActionState era)
-> Set GovActionId
-> Bool
-> RatifyState era
forall era.
EnactState era
-> Seq (GovActionState era)
-> Set GovActionId
-> Bool
-> RatifyState era
RatifyState
(EnactState era
-> Seq (GovActionState era)
-> Set GovActionId
-> Bool
-> RatifyState era)
-> Gen (EnactState era)
-> Gen
(Seq (GovActionState era)
-> Set GovActionId -> Bool -> RatifyState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (EnactState era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Seq (GovActionState era)
-> Set GovActionId -> Bool -> RatifyState era)
-> Gen (Seq (GovActionState era))
-> Gen (Set GovActionId -> Bool -> RatifyState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Seq (GovActionState era))
forall a. Arbitrary a => Gen a
arbitrary
Gen (Set GovActionId -> Bool -> RatifyState era)
-> Gen (Set GovActionId) -> Gen (Bool -> RatifyState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Set GovActionId)
forall a. Arbitrary a => Gen a
arbitrary
Gen (Bool -> RatifyState era) -> Gen Bool -> Gen (RatifyState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Bool
forall a. Arbitrary a => Gen a
arbitrary
shrink :: RatifyState era -> [RatifyState era]
shrink (RatifyState EnactState era
a Seq (GovActionState era)
b Set GovActionId
c Bool
d) =
[ EnactState era
-> Seq (GovActionState era)
-> Set GovActionId
-> Bool
-> RatifyState era
forall era.
EnactState era
-> Seq (GovActionState era)
-> Set GovActionId
-> Bool
-> RatifyState era
RatifyState EnactState era
a' ([GovActionState era] -> Seq (GovActionState era)
forall a. [a] -> Seq a
Seq.fromList [GovActionState era]
b') Set GovActionId
c' Bool
d'
| (EnactState era
a', [GovActionState era]
b', Set GovActionId
c', Bool
d') <- (EnactState era, [GovActionState era], Set GovActionId, Bool)
-> [(EnactState era, [GovActionState era], Set GovActionId, Bool)]
forall a. Arbitrary a => a -> [a]
shrink (EnactState era
a, Seq (GovActionState era) -> [GovActionState era]
forall a. Seq a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Seq (GovActionState era)
b, Set GovActionId
c, Bool
d)
]
instance (Era era, Arbitrary (InstantStake era)) => Arbitrary (RatifyEnv era) where
arbitrary :: Gen (RatifyEnv era)
arbitrary =
InstantStake era
-> PoolDistr
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era
forall era.
InstantStake era
-> PoolDistr
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era
RatifyEnv
(InstantStake era
-> PoolDistr
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
-> Gen (InstantStake era)
-> Gen
(PoolDistr
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (InstantStake era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(PoolDistr
-> Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
-> Gen PoolDistr
-> Gen
(Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen PoolDistr
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map DRep (CompactForm Coin)
-> Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
-> Gen (Map DRep (CompactForm Coin))
-> Gen
(Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map DRep (CompactForm Coin))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (Credential 'DRepRole) DRepState
-> EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
-> Gen (Map (Credential 'DRepRole) DRepState)
-> Gen
(EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'DRepRole) DRepState)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(EpochNo
-> CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
-> Gen EpochNo
-> Gen
(CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochNo
forall a. Arbitrary a => Gen a
arbitrary
Gen
(CommitteeState era
-> Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams
-> RatifyEnv era)
-> Gen (CommitteeState era)
-> Gen
(Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams -> RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (CommitteeState era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (Credential 'Staking) DRep
-> Map (KeyHash 'StakePool) PoolParams -> RatifyEnv era)
-> Gen (Map (Credential 'Staking) DRep)
-> Gen (Map (KeyHash 'StakePool) PoolParams -> RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'Staking) DRep)
forall a. Arbitrary a => Gen a
arbitrary
Gen (Map (KeyHash 'StakePool) PoolParams -> RatifyEnv era)
-> Gen (Map (KeyHash 'StakePool) PoolParams) -> Gen (RatifyEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (KeyHash 'StakePool) PoolParams)
forall a. Arbitrary a => Gen a
arbitrary
instance
(Era era, Arbitrary (PParams era)) =>
Arbitrary (EnactState era)
where
arbitrary :: Gen (EnactState era)
arbitrary =
StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era
forall era.
StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era
EnactState
(StrictMaybe (Committee era)
-> Constitution era
-> PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
-> Gen (StrictMaybe (Committee era))
-> Gen
(Constitution era
-> PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictMaybe (Committee era))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Constitution era
-> PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
-> Gen (Constitution era)
-> Gen
(PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Constitution era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(PParams era
-> PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
-> Gen (PParams era)
-> Gen
(PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PParams era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(PParams era
-> Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
-> Gen (PParams era)
-> Gen
(Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PParams era)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Coin
-> Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era
-> EnactState era)
-> Gen Coin
-> Gen
(Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era -> EnactState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (Credential 'Staking) Coin
-> GovRelation StrictMaybe era -> EnactState era)
-> Gen (Map (Credential 'Staking) Coin)
-> Gen (GovRelation StrictMaybe era -> EnactState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'Staking) Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen (GovRelation StrictMaybe era -> EnactState era)
-> Gen (GovRelation StrictMaybe era) -> Gen (EnactState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (GovRelation StrictMaybe era)
forall a. Arbitrary a => Gen a
arbitrary
shrink :: EnactState era -> [EnactState era]
shrink = EnactState era -> [EnactState era]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance Arbitrary (VState era) where
arbitrary :: Gen (VState era)
arbitrary = Map (Credential 'DRepRole) DRepState
-> CommitteeState era -> EpochNo -> VState era
forall era.
Map (Credential 'DRepRole) DRepState
-> CommitteeState era -> EpochNo -> VState era
VState (Map (Credential 'DRepRole) DRepState
-> CommitteeState era -> EpochNo -> VState era)
-> Gen (Map (Credential 'DRepRole) DRepState)
-> Gen (CommitteeState era -> EpochNo -> VState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Map (Credential 'DRepRole) DRepState)
forall a. Arbitrary a => Gen a
arbitrary Gen (CommitteeState era -> EpochNo -> VState era)
-> Gen (CommitteeState era) -> Gen (EpochNo -> VState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (CommitteeState era)
forall a. Arbitrary a => Gen a
arbitrary Gen (EpochNo -> VState era) -> Gen EpochNo -> Gen (VState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochNo
forall a. Arbitrary a => Gen a
arbitrary
instance
( Era era
, Arbitrary (PredicateFailure (EraRule "LEDGERS" era))
) =>
Arbitrary (ConwayBbodyPredFailure era)
where
arbitrary :: Gen (ConwayBbodyPredFailure era)
arbitrary = Gen (ConwayBbodyPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
( EraTxOut era
, Arbitrary (Value era)
, Arbitrary (TxOut era)
, Arbitrary (PredicateFailure (EraRule "UTXOS" era))
) =>
Arbitrary (ConwayUtxoPredFailure era)
where
arbitrary :: Gen (ConwayUtxoPredFailure era)
arbitrary = Gen (ConwayUtxoPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
( Era era
, Arbitrary (PredicateFailure (EraRule "UTXO" era))
, Arbitrary (TxCert era)
, Arbitrary (PlutusPurpose AsItem era)
, Arbitrary (PlutusPurpose AsIx era)
) =>
Arbitrary (ConwayUtxowPredFailure era)
where
arbitrary :: Gen (ConwayUtxowPredFailure era)
arbitrary = Gen (ConwayUtxowPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
_uniqueIdGovActions ::
(Era era, Arbitrary (PParamsUpdate era)) =>
Gen (SSeq.StrictSeq (GovActionState era))
_uniqueIdGovActions :: forall era.
(Era era, Arbitrary (PParamsUpdate era)) =>
Gen (StrictSeq (GovActionState era))
_uniqueIdGovActions = [GovActionState era] -> StrictSeq (GovActionState era)
forall a. [a] -> StrictSeq a
SSeq.fromList ([GovActionState era] -> StrictSeq (GovActionState era))
-> ([GovActionState era] -> [GovActionState era])
-> [GovActionState era]
-> StrictSeq (GovActionState era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (GovActionState era -> GovActionState era -> Bool)
-> [GovActionState era] -> [GovActionState era]
forall a. (a -> a -> Bool) -> [a] -> [a]
nubBy (\GovActionState era
x GovActionState era
y -> GovActionState era -> GovActionId
forall era. GovActionState era -> GovActionId
gasId GovActionState era
x GovActionId -> GovActionId -> Bool
forall a. Eq a => a -> a -> Bool
== GovActionState era -> GovActionId
forall era. GovActionState era -> GovActionId
gasId GovActionState era
y) ([GovActionState era] -> StrictSeq (GovActionState era))
-> Gen [GovActionState era] -> Gen (StrictSeq (GovActionState era))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen [GovActionState era]
forall a. Arbitrary a => Gen a
arbitrary
instance
(forall p. Arbitrary (f (GovPurposeId (p :: GovActionPurpose) era))) =>
Arbitrary (GovRelation f era)
where
arbitrary :: Gen (GovRelation f era)
arbitrary = f (GovPurposeId 'PParamUpdatePurpose era)
-> f (GovPurposeId 'HardForkPurpose era)
-> f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era)
-> GovRelation f era
forall (f :: * -> *) era.
f (GovPurposeId 'PParamUpdatePurpose era)
-> f (GovPurposeId 'HardForkPurpose era)
-> f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era)
-> GovRelation f era
GovRelation (f (GovPurposeId 'PParamUpdatePurpose era)
-> f (GovPurposeId 'HardForkPurpose era)
-> f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era)
-> GovRelation f era)
-> Gen (f (GovPurposeId 'PParamUpdatePurpose era))
-> Gen
(f (GovPurposeId 'HardForkPurpose era)
-> f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era)
-> GovRelation f era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (f (GovPurposeId 'PParamUpdatePurpose era))
forall a. Arbitrary a => Gen a
arbitrary Gen
(f (GovPurposeId 'HardForkPurpose era)
-> f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era)
-> GovRelation f era)
-> Gen (f (GovPurposeId 'HardForkPurpose era))
-> Gen
(f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era) -> GovRelation f era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (f (GovPurposeId 'HardForkPurpose era))
forall a. Arbitrary a => Gen a
arbitrary Gen
(f (GovPurposeId 'CommitteePurpose era)
-> f (GovPurposeId 'ConstitutionPurpose era) -> GovRelation f era)
-> Gen (f (GovPurposeId 'CommitteePurpose era))
-> Gen
(f (GovPurposeId 'ConstitutionPurpose era) -> GovRelation f era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (f (GovPurposeId 'CommitteePurpose era))
forall a. Arbitrary a => Gen a
arbitrary Gen
(f (GovPurposeId 'ConstitutionPurpose era) -> GovRelation f era)
-> Gen (f (GovPurposeId 'ConstitutionPurpose era))
-> Gen (GovRelation f era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (f (GovPurposeId 'ConstitutionPurpose era))
forall a. Arbitrary a => Gen a
arbitrary
data ProposalsForEnactment era
= ProposalsForEnactment
{ forall era. ProposalsForEnactment era -> Proposals era
pfeProposals :: Proposals era
, forall era. ProposalsForEnactment era -> Seq (GovActionState era)
pfeToEnact :: Seq.Seq (GovActionState era)
, forall era. ProposalsForEnactment era -> Set GovActionId
pfeToRemove :: Set.Set GovActionId
, forall era. ProposalsForEnactment era -> Set GovActionId
pfeToRetain :: Set.Set GovActionId
}
deriving (Int -> ProposalsForEnactment era -> ShowS
[ProposalsForEnactment era] -> ShowS
ProposalsForEnactment era -> String
(Int -> ProposalsForEnactment era -> ShowS)
-> (ProposalsForEnactment era -> String)
-> ([ProposalsForEnactment era] -> ShowS)
-> Show (ProposalsForEnactment era)
forall era.
EraPParams era =>
Int -> ProposalsForEnactment era -> ShowS
forall era. EraPParams era => [ProposalsForEnactment era] -> ShowS
forall era. EraPParams era => ProposalsForEnactment era -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall era.
EraPParams era =>
Int -> ProposalsForEnactment era -> ShowS
showsPrec :: Int -> ProposalsForEnactment era -> ShowS
$cshow :: forall era. EraPParams era => ProposalsForEnactment era -> String
show :: ProposalsForEnactment era -> String
$cshowList :: forall era. EraPParams era => [ProposalsForEnactment era] -> ShowS
showList :: [ProposalsForEnactment era] -> ShowS
Show, ProposalsForEnactment era -> ProposalsForEnactment era -> Bool
(ProposalsForEnactment era -> ProposalsForEnactment era -> Bool)
-> (ProposalsForEnactment era -> ProposalsForEnactment era -> Bool)
-> Eq (ProposalsForEnactment era)
forall era.
EraPParams era =>
ProposalsForEnactment era -> ProposalsForEnactment era -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall era.
EraPParams era =>
ProposalsForEnactment era -> ProposalsForEnactment era -> Bool
== :: ProposalsForEnactment era -> ProposalsForEnactment era -> Bool
$c/= :: forall era.
EraPParams era =>
ProposalsForEnactment era -> ProposalsForEnactment era -> Bool
/= :: ProposalsForEnactment era -> ProposalsForEnactment era -> Bool
Eq)
instance
(EraPParams era, Arbitrary (PParamsUpdate era), Arbitrary (PParamsHKD StrictMaybe era)) =>
Arbitrary (ProposalsForEnactment era)
where
arbitrary :: Gen (ProposalsForEnactment era)
arbitrary = do
Proposals era
ps <- forall era.
(HasCallStack, EraPParams era,
Arbitrary (PParamsHKD StrictMaybe era)) =>
(Int, Int) -> Gen (Proposals era)
genProposals @era (Int
2, Int
50)
let gasHasNoLineage :: GovActionState era -> Bool
gasHasNoLineage GovActionState era
gas =
case GovActionState era -> GovAction era
forall era. GovActionState era -> GovAction era
gasAction GovActionState era
gas of
InfoAction {} -> Bool
True
TreasuryWithdrawals {} -> Bool
True
GovAction era
_ -> Bool
False
hasNoLineage :: GovActionId -> Bool
hasNoLineage GovActionId
gaId =
case GovActionId -> Proposals era -> Maybe (GovActionState era)
forall era.
GovActionId -> Proposals era -> Maybe (GovActionState era)
proposalsLookupId GovActionId
gaId Proposals era
ps of
Maybe (GovActionState era)
Nothing -> String -> Bool
forall a. HasCallStack => String -> a
error (String -> Bool) -> String -> Bool
forall a b. (a -> b) -> a -> b
$ String
"Expected " String -> ShowS
forall a. [a] -> [a] -> [a]
++ GovActionId -> String
forall a. Show a => a -> String
show GovActionId
gaId String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
" in generated proposals"
Just GovActionState era
gas -> GovActionState era -> Bool
forall {era}. GovActionState era -> Bool
gasHasNoLineage GovActionState era
gas
Seq (GovActionState era)
pparamUpdates <- (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'PParamUpdatePurpose era)
-> f (f (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage (f (GovPurposeId 'PParamUpdatePurpose era)
-> f (f (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'PParamUpdatePurpose era)
-> f2 (f1 (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'PParamUpdatePurpose era)
-> f (f (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grPParamUpdateL Proposals era
ps Seq (GovActionState era)
forall a. Seq a
Seq.Empty
Seq (GovActionState era)
hardForks <- (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'HardForkPurpose era)
-> f (f (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage (f (GovPurposeId 'HardForkPurpose era)
-> f (f (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'HardForkPurpose era)
-> f2 (f1 (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'HardForkPurpose era)
-> f (f (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grHardForkL Proposals era
ps Seq (GovActionState era)
forall a. Seq a
Seq.Empty
Seq (GovActionState era)
committees <- (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'CommitteePurpose era)
-> f (f (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage (f (GovPurposeId 'CommitteePurpose era)
-> f (f (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'CommitteePurpose era)
-> f2 (f1 (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'CommitteePurpose era)
-> f (f (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grCommitteeL Proposals era
ps Seq (GovActionState era)
forall a. Seq a
Seq.Empty
Seq (GovActionState era)
constitutions <- (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'ConstitutionPurpose era)
-> f (f (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage (f (GovPurposeId 'ConstitutionPurpose era)
-> f (f (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'ConstitutionPurpose era)
-> f2 (f1 (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'ConstitutionPurpose era)
-> f (f (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grConstitutionL Proposals era
ps Seq (GovActionState era)
forall a. Seq a
Seq.Empty
Map GovActionId (GovActionState era)
noLineageMap <- Maybe Int
-> Map GovActionId (GovActionState era)
-> QC
-> Gen (Map GovActionId (GovActionState era))
forall g (m :: * -> *) k v.
(StatefulGen g m, Ord k) =>
Maybe Int -> Map k v -> g -> m (Map k v)
uniformSubMap Maybe Int
forall a. Maybe a
Nothing ((GovActionState era -> Bool)
-> Map GovActionId (GovActionState era)
-> Map GovActionId (GovActionState era)
forall a k. (a -> Bool) -> Map k a -> Map k a
Map.filter GovActionState era -> Bool
forall {era}. GovActionState era -> Bool
gasHasNoLineage (Map GovActionId (GovActionState era)
-> Map GovActionId (GovActionState era))
-> Map GovActionId (GovActionState era)
-> Map GovActionId (GovActionState era)
forall a b. (a -> b) -> a -> b
$ Proposals era -> Map GovActionId (GovActionState era)
forall era. Proposals era -> Map GovActionId (GovActionState era)
proposalsActionsMap Proposals era
ps) QC
QC
Seq (GovActionState era)
noLineage <- [GovActionState era] -> Seq (GovActionState era)
forall a. [a] -> Seq a
Seq.fromList ([GovActionState era] -> Seq (GovActionState era))
-> Gen [GovActionState era] -> Gen (Seq (GovActionState era))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [GovActionState era] -> Gen [GovActionState era]
forall a. [a] -> Gen [a]
shuffle (Map GovActionId (GovActionState era) -> [GovActionState era]
forall k a. Map k a -> [a]
Map.elems Map GovActionId (GovActionState era)
noLineageMap)
Seq (GovActionState era)
sequencedGass <-
Seq (Seq (GovActionState era))
-> Seq (GovActionState era) -> Gen (Seq (GovActionState era))
forall a. Seq (Seq a) -> Seq a -> Gen (Seq a)
sequenceLineages
( (Seq (GovActionState era) -> Bool)
-> Seq (Seq (GovActionState era)) -> Seq (Seq (GovActionState era))
forall a. (a -> Bool) -> Seq a -> Seq a
Seq.filter
(Bool -> Bool
not (Bool -> Bool)
-> (Seq (GovActionState era) -> Bool)
-> Seq (GovActionState era)
-> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Seq (GovActionState era) -> Bool
forall a. Seq a -> Bool
Seq.null)
([Seq (GovActionState era)] -> Seq (Seq (GovActionState era))
forall a. [a] -> Seq a
Seq.fromList [Seq (GovActionState era)
pparamUpdates, Seq (GovActionState era)
hardForks, Seq (GovActionState era)
committees, Seq (GovActionState era)
constitutions, Seq (GovActionState era)
noLineage])
)
Seq (GovActionState era)
forall a. Seq a
Seq.Empty
let notEnacted :: Set GovActionId
notEnacted =
[GovActionId] -> Set GovActionId
forall a. Ord a => [a] -> Set a
Set.fromList (StrictSeq GovActionId -> [GovActionId]
forall a. StrictSeq a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList (StrictSeq GovActionId -> [GovActionId])
-> StrictSeq GovActionId -> [GovActionId]
forall a b. (a -> b) -> a -> b
$ Proposals era -> StrictSeq GovActionId
forall era. Proposals era -> StrictSeq GovActionId
proposalsIds Proposals era
ps)
Set GovActionId -> Set GovActionId -> Set GovActionId
forall a. Ord a => Set a -> Set a -> Set a
`Set.difference` [GovActionId] -> Set GovActionId
forall a. Ord a => [a] -> Set a
Set.fromList (GovActionState era -> GovActionId
forall era. GovActionState era -> GovActionId
gasId (GovActionState era -> GovActionId)
-> [GovActionState era] -> [GovActionId]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Seq (GovActionState era) -> [GovActionState era]
forall a. Seq a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Seq (GovActionState era)
sequencedGass)
let (Set GovActionId
retained, Set GovActionId
removedDueToConflict) = (GovActionId -> Bool)
-> Set GovActionId -> (Set GovActionId, Set GovActionId)
forall a. (a -> Bool) -> Set a -> (Set a, Set a)
Set.partition GovActionId -> Bool
hasNoLineage Set GovActionId
notEnacted
ProposalsForEnactment era -> Gen (ProposalsForEnactment era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ProposalsForEnactment era -> Gen (ProposalsForEnactment era))
-> ProposalsForEnactment era -> Gen (ProposalsForEnactment era)
forall a b. (a -> b) -> a -> b
$
ProposalsForEnactment
{ pfeProposals :: Proposals era
pfeProposals = Proposals era
ps
, pfeToEnact :: Seq (GovActionState era)
pfeToEnact = Seq (GovActionState era)
sequencedGass
, pfeToRemove :: Set GovActionId
pfeToRemove = Set GovActionId
removedDueToConflict
, pfeToRetain :: Set GovActionId
pfeToRetain = Set GovActionId
retained
}
where
chooseLineage ::
(forall f. Lens' (GovRelation f era) (f (GovPurposeId p era))) ->
Proposals era ->
Seq.Seq (GovActionState era) ->
Gen (Seq.Seq (GovActionState era))
chooseLineage :: forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL Proposals era
ps = \case
Seq (GovActionState era)
Seq.Empty ->
let children :: Set (GovPurposeId p era)
children = Proposals era
ps Proposals era
-> Getting
(Set (GovPurposeId p era))
(Proposals era)
(Set (GovPurposeId p era))
-> Set (GovPurposeId p era)
forall s a. s -> Getting a s a -> a
^. (GovRelation PRoot era
-> Const (Set (GovPurposeId p era)) (GovRelation PRoot era))
-> Proposals era
-> Const (Set (GovPurposeId p era)) (Proposals era)
forall era (f :: * -> *).
Functor f =>
(GovRelation PRoot era -> f (GovRelation PRoot era))
-> Proposals era -> f (Proposals era)
pRootsL ((GovRelation PRoot era
-> Const (Set (GovPurposeId p era)) (GovRelation PRoot era))
-> Proposals era
-> Const (Set (GovPurposeId p era)) (Proposals era))
-> ((Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const (Set (GovPurposeId p era)) (GovRelation PRoot era))
-> Getting
(Set (GovPurposeId p era))
(Proposals era)
(Set (GovPurposeId p era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PRoot (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PRoot (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const (Set (GovPurposeId p era)) (GovRelation PRoot era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL ((PRoot (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PRoot (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const (Set (GovPurposeId p era)) (GovRelation PRoot era))
-> ((Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> PRoot (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PRoot (GovPurposeId p era)))
-> (Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const (Set (GovPurposeId p era)) (GovRelation PRoot era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> PRoot (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PRoot (GovPurposeId p era))
forall a (f :: * -> *).
Functor f =>
(Set a -> f (Set a)) -> PRoot a -> f (PRoot a)
prChildrenL
in if Set (GovPurposeId p era) -> Bool
forall a. Set a -> Bool
Set.null Set (GovPurposeId p era)
children
then Seq (GovActionState era) -> Gen (Seq (GovActionState era))
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Seq (GovActionState era)
forall a. Seq a
Seq.Empty
else do
GovPurposeId p era
child <- [GovPurposeId p era] -> Gen (GovPurposeId p era)
forall a. HasCallStack => [a] -> Gen a
elements ([GovPurposeId p era] -> Gen (GovPurposeId p era))
-> [GovPurposeId p era] -> Gen (GovPurposeId p era)
forall a b. (a -> b) -> a -> b
$ Set (GovPurposeId p era) -> [GovPurposeId p era]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set (GovPurposeId p era)
children
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage (f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL Proposals era
ps (Seq (GovActionState era)
forall a. Seq a
Seq.Empty Seq (GovActionState era)
-> GovActionState era -> Seq (GovActionState era)
forall a. Seq a -> a -> Seq a
Seq.:|> (Proposals era -> Map GovActionId (GovActionState era)
forall era. Proposals era -> Map GovActionId (GovActionState era)
proposalsActionsMap Proposals era
ps Map GovActionId (GovActionState era)
-> GovActionId -> GovActionState era
forall k a. Ord k => Map k a -> k -> a
Map.! GovPurposeId p era -> GovActionId
forall (p :: GovActionPurpose) era.
GovPurposeId p era -> GovActionId
unGovPurposeId GovPurposeId p era
child))
lineage :: Seq (GovActionState era)
lineage@(Seq (GovActionState era)
_ Seq.:|> GovActionState era
gas) ->
let children :: Set (GovPurposeId p era)
children = Proposals era
ps Proposals era
-> Getting
(Set (GovPurposeId p era))
(Proposals era)
(Set (GovPurposeId p era))
-> Set (GovPurposeId p era)
forall s a. s -> Getting a s a -> a
^. (GovRelation PGraph era
-> Const (Set (GovPurposeId p era)) (GovRelation PGraph era))
-> Proposals era
-> Const (Set (GovPurposeId p era)) (Proposals era)
forall era (f :: * -> *).
Functor f =>
(GovRelation PGraph era -> f (GovRelation PGraph era))
-> Proposals era -> f (Proposals era)
pGraphL ((GovRelation PGraph era
-> Const (Set (GovPurposeId p era)) (GovRelation PGraph era))
-> Proposals era
-> Const (Set (GovPurposeId p era)) (Proposals era))
-> ((Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> GovRelation PGraph era
-> Const (Set (GovPurposeId p era)) (GovRelation PGraph era))
-> Getting
(Set (GovPurposeId p era))
(Proposals era)
(Set (GovPurposeId p era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PGraph (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PGraph (GovPurposeId p era)))
-> GovRelation PGraph era
-> Const (Set (GovPurposeId p era)) (GovRelation PGraph era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL ((PGraph (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PGraph (GovPurposeId p era)))
-> GovRelation PGraph era
-> Const (Set (GovPurposeId p era)) (GovRelation PGraph era))
-> ((Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> PGraph (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PGraph (GovPurposeId p era)))
-> (Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> GovRelation PGraph era
-> Const (Set (GovPurposeId p era)) (GovRelation PGraph era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Set (GovPurposeId p era))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> PGraph (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PGraph (GovPurposeId p era))
forall a (f :: * -> *).
Functor f =>
(Map a (PEdges a) -> f (Map a (PEdges a)))
-> PGraph a -> f (PGraph a)
pGraphNodesL ((Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Set (GovPurposeId p era))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> PGraph (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PGraph (GovPurposeId p era)))
-> ((Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Set (GovPurposeId p era))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> (Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> PGraph (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PGraph (GovPurposeId p era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> PEdges (GovPurposeId p era))
-> SimpleGetter
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(PEdges (GovPurposeId p era))
forall s a. (s -> a) -> SimpleGetter s a
to (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> GovPurposeId p era -> PEdges (GovPurposeId p era)
forall k a. Ord k => Map k a -> k -> a
Map.! GovActionId -> GovPurposeId p era
forall (p :: GovActionPurpose) era.
GovActionId -> GovPurposeId p era
GovPurposeId (GovActionState era -> GovActionId
forall era. GovActionState era -> GovActionId
gasId GovActionState era
gas)) Getting
(Set (GovPurposeId p era))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(PEdges (GovPurposeId p era))
-> ((Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> PEdges (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PEdges (GovPurposeId p era)))
-> (Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Set (GovPurposeId p era))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (Set (GovPurposeId p era)))
-> PEdges (GovPurposeId p era)
-> Const (Set (GovPurposeId p era)) (PEdges (GovPurposeId p era))
forall a (f :: * -> *).
Functor f =>
(Set a -> f (Set a)) -> PEdges a -> f (PEdges a)
peChildrenL
in if Set (GovPurposeId p era) -> Bool
forall a. Set a -> Bool
Set.null Set (GovPurposeId p era)
children
then Seq (GovActionState era) -> Gen (Seq (GovActionState era))
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Seq (GovActionState era)
lineage
else do
GovPurposeId p era
child <- [GovPurposeId p era] -> Gen (GovPurposeId p era)
forall a. HasCallStack => [a] -> Gen a
elements ([GovPurposeId p era] -> Gen (GovPurposeId p era))
-> [GovPurposeId p era] -> Gen (GovPurposeId p era)
forall a b. (a -> b) -> a -> b
$ Set (GovPurposeId p era) -> [GovPurposeId p era]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set (GovPurposeId p era)
children
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
forall (p :: GovActionPurpose).
(forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Proposals era
-> Seq (GovActionState era)
-> Gen (Seq (GovActionState era))
chooseLineage (f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL Proposals era
ps (Seq (GovActionState era)
lineage Seq (GovActionState era)
-> GovActionState era -> Seq (GovActionState era)
forall a. Seq a -> a -> Seq a
Seq.:|> (Proposals era -> Map GovActionId (GovActionState era)
forall era. Proposals era -> Map GovActionId (GovActionState era)
proposalsActionsMap Proposals era
ps Map GovActionId (GovActionState era)
-> GovActionId -> GovActionState era
forall k a. Ord k => Map k a -> k -> a
Map.! GovPurposeId p era -> GovActionId
forall (p :: GovActionPurpose) era.
GovPurposeId p era -> GovActionId
unGovPurposeId GovPurposeId p era
child))
consumeHeadAtIndex :: Int -> Seq.Seq (Seq.Seq a) -> (a, Seq.Seq (Seq.Seq a))
consumeHeadAtIndex :: forall a. Int -> Seq (Seq a) -> (a, Seq (Seq a))
consumeHeadAtIndex Int
idx Seq (Seq a)
ss = (Seq (Seq a)
ss Seq (Seq a) -> Int -> Seq a
forall a. Seq a -> Int -> a
`Seq.index` Int
idx Seq a -> Int -> a
forall a. Seq a -> Int -> a
`Seq.index` Int
0, (Seq a -> Seq a) -> Int -> Seq (Seq a) -> Seq (Seq a)
forall a. (a -> a) -> Int -> Seq a -> Seq a
Seq.adjust' (Int -> Seq a -> Seq a
forall a. Int -> Seq a -> Seq a
Seq.drop Int
1) Int
idx Seq (Seq a)
ss)
sequenceLineages :: Seq.Seq (Seq.Seq a) -> Seq.Seq a -> Gen (Seq.Seq a)
sequenceLineages :: forall a. Seq (Seq a) -> Seq a -> Gen (Seq a)
sequenceLineages Seq (Seq a)
lineages Seq a
sequenced = case Seq (Seq a)
lineages of
Seq (Seq a)
Seq.Empty -> Seq a -> Gen (Seq a)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Seq a
sequenced
Seq (Seq a)
_ -> do
Int
index <- (Int, Int) -> Gen Int
chooseInt (Int
0, Seq (Seq a) -> Int
forall a. Seq a -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length Seq (Seq a)
lineages Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1)
let (a
chosen, Seq (Seq a)
adjustedLineages) = Int -> Seq (Seq a) -> (a, Seq (Seq a))
forall a. Int -> Seq (Seq a) -> (a, Seq (Seq a))
consumeHeadAtIndex Int
index Seq (Seq a)
lineages
Seq (Seq a) -> Seq a -> Gen (Seq a)
forall a. Seq (Seq a) -> Seq a -> Gen (Seq a)
sequenceLineages ((Seq a -> Bool) -> Seq (Seq a) -> Seq (Seq a)
forall a. (a -> Bool) -> Seq a -> Seq a
Seq.filter (Bool -> Bool
not (Bool -> Bool) -> (Seq a -> Bool) -> Seq a -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Seq a -> Bool
forall a. Seq a -> Bool
Seq.null) Seq (Seq a)
adjustedLineages) (Seq a
sequenced Seq a -> a -> Seq a
forall a. Seq a -> a -> Seq a
Seq.:|> a
chosen)
data ProposalsNewActions era = ProposalsNewActions (Proposals era) [GovActionState era]
deriving (Int -> ProposalsNewActions era -> ShowS
[ProposalsNewActions era] -> ShowS
ProposalsNewActions era -> String
(Int -> ProposalsNewActions era -> ShowS)
-> (ProposalsNewActions era -> String)
-> ([ProposalsNewActions era] -> ShowS)
-> Show (ProposalsNewActions era)
forall era.
EraPParams era =>
Int -> ProposalsNewActions era -> ShowS
forall era. EraPParams era => [ProposalsNewActions era] -> ShowS
forall era. EraPParams era => ProposalsNewActions era -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall era.
EraPParams era =>
Int -> ProposalsNewActions era -> ShowS
showsPrec :: Int -> ProposalsNewActions era -> ShowS
$cshow :: forall era. EraPParams era => ProposalsNewActions era -> String
show :: ProposalsNewActions era -> String
$cshowList :: forall era. EraPParams era => [ProposalsNewActions era] -> ShowS
showList :: [ProposalsNewActions era] -> ShowS
Show, ProposalsNewActions era -> ProposalsNewActions era -> Bool
(ProposalsNewActions era -> ProposalsNewActions era -> Bool)
-> (ProposalsNewActions era -> ProposalsNewActions era -> Bool)
-> Eq (ProposalsNewActions era)
forall era.
EraPParams era =>
ProposalsNewActions era -> ProposalsNewActions era -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall era.
EraPParams era =>
ProposalsNewActions era -> ProposalsNewActions era -> Bool
== :: ProposalsNewActions era -> ProposalsNewActions era -> Bool
$c/= :: forall era.
EraPParams era =>
ProposalsNewActions era -> ProposalsNewActions era -> Bool
/= :: ProposalsNewActions era -> ProposalsNewActions era -> Bool
Eq)
instance
(EraPParams era, Arbitrary (PParamsUpdate era), Arbitrary (PParamsHKD StrictMaybe era)) =>
Arbitrary (ProposalsNewActions era)
where
arbitrary :: Gen (ProposalsNewActions era)
arbitrary = do
Proposals era
ps <- Gen (Proposals era)
forall a. Arbitrary a => Gen a
arbitrary
Int
i <- (Int, Int) -> Gen Int
chooseInt (Int
2, Int
20)
[GovActionState era]
gass <- Int -> Gen (GovActionState era) -> Gen [GovActionState era]
forall a. Int -> Gen a -> Gen [a]
vectorOf Int
i (Gen (GovActionState era) -> Gen [GovActionState era])
-> Gen (GovActionState era) -> Gen [GovActionState era]
forall a b. (a -> b) -> a -> b
$ GovAction era -> Gen (GovActionState era)
forall era. GovAction era -> Gen (GovActionState era)
genGovActionState (GovAction era -> Gen (GovActionState era))
-> Gen (GovAction era) -> Gen (GovActionState era)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Proposals era -> Gen (GovAction era)
forall era.
(Era era, Arbitrary (PParamsHKD StrictMaybe era)) =>
Proposals era -> Gen (GovAction era)
genGovAction Proposals era
ps
ProposalsNewActions era -> Gen (ProposalsNewActions era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ProposalsNewActions era -> Gen (ProposalsNewActions era))
-> ProposalsNewActions era -> Gen (ProposalsNewActions era)
forall a b. (a -> b) -> a -> b
$ Proposals era -> [GovActionState era] -> ProposalsNewActions era
forall era.
Proposals era -> [GovActionState era] -> ProposalsNewActions era
ProposalsNewActions Proposals era
ps [GovActionState era]
gass
instance
(EraPParams era, Arbitrary (PParamsHKD StrictMaybe era)) =>
Arbitrary (Proposals era)
where
arbitrary :: Gen (Proposals era)
arbitrary = (Int, Int) -> Gen (Proposals era)
forall era.
(HasCallStack, EraPParams era,
Arbitrary (PParamsHKD StrictMaybe era)) =>
(Int, Int) -> Gen (Proposals era)
genProposals (Int
0, Int
30)
shrink :: Proposals era -> [Proposals era]
shrink Proposals era
ps =
[ Proposals era
ps'
| Set GovActionId
gais' <- Set GovActionId -> [Set GovActionId]
forall a. Arbitrary a => a -> [a]
shrink Set GovActionId
gais
, let (Proposals era
ps', Map GovActionId (GovActionState era)
_) = Set GovActionId
-> Proposals era
-> (Proposals era, Map GovActionId (GovActionState era))
forall era.
EraPParams era =>
Set GovActionId
-> Proposals era
-> (Proposals era, Map GovActionId (GovActionState era))
proposalsRemoveWithDescendants (Set GovActionId
gais Set GovActionId -> Set GovActionId -> Set GovActionId
forall a. Ord a => Set a -> Set a -> Set a
Set.\\ Set GovActionId
gais') Proposals era
ps
]
where
gais :: Set GovActionId
gais = [GovActionId] -> Set GovActionId
forall a. Ord a => [a] -> Set a
Set.fromList (StrictSeq GovActionId -> [GovActionId]
forall a. StrictSeq a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList (StrictSeq GovActionId -> [GovActionId])
-> StrictSeq GovActionId -> [GovActionId]
forall a b. (a -> b) -> a -> b
$ Proposals era -> StrictSeq GovActionId
forall era. Proposals era -> StrictSeq GovActionId
proposalsIds Proposals era
ps)
genProposals ::
forall era.
( HasCallStack
, EraPParams era
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
(Int, Int) ->
Gen (Proposals era)
genProposals :: forall era.
(HasCallStack, EraPParams era,
Arbitrary (PParamsHKD StrictMaybe era)) =>
(Int, Int) -> Gen (Proposals era)
genProposals (Int, Int)
range = do
GovRelation StrictMaybe era
pgais <- Gen (GovRelation StrictMaybe era)
forall a. Arbitrary a => Gen a
arbitrary
Int
i <- (Int, Int) -> Gen Int
chooseInt (Int, Int)
range
Proposals era -> Int -> Gen (Proposals era)
go (Proposals era
forall a. Default a => a
def Proposals era -> (Proposals era -> Proposals era) -> Proposals era
forall a b. a -> (a -> b) -> b
& (GovRelation PRoot era -> Identity (GovRelation PRoot era))
-> Proposals era -> Identity (Proposals era)
forall era (f :: * -> *).
Functor f =>
(GovRelation PRoot era -> f (GovRelation PRoot era))
-> Proposals era -> f (Proposals era)
pRootsL ((GovRelation PRoot era -> Identity (GovRelation PRoot era))
-> Proposals era -> Identity (Proposals era))
-> GovRelation PRoot era -> Proposals era -> Proposals era
forall s t a b. ASetter s t a b -> b -> s -> t
.~ GovRelation StrictMaybe era -> GovRelation PRoot era
forall era. GovRelation StrictMaybe era -> GovRelation PRoot era
fromPrevGovActionIds GovRelation StrictMaybe era
pgais) Int
i
where
go :: Proposals era -> Int -> Gen (Proposals era)
go :: Proposals era -> Int -> Gen (Proposals era)
go !Proposals era
ps Int
n
| Int
n Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
<= Int
0 = Proposals era -> Gen (Proposals era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Proposals era
ps
| Bool
otherwise = do
GovActionState era
gas <- forall era. GovAction era -> Gen (GovActionState era)
genGovActionState @era (GovAction era -> Gen (GovActionState era))
-> Gen (GovAction era) -> Gen (GovActionState era)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Proposals era -> Gen (GovAction era)
forall era.
(Era era, Arbitrary (PParamsHKD StrictMaybe era)) =>
Proposals era -> Gen (GovAction era)
genGovAction Proposals era
ps
case GovActionState era -> Proposals era -> Maybe (Proposals era)
forall era.
(EraPParams era, HasCallStack) =>
GovActionState era -> Proposals era -> Maybe (Proposals era)
proposalsAddAction GovActionState era
gas Proposals era
ps of
Maybe (Proposals era)
Nothing -> String -> Gen (Proposals era)
forall a. HasCallStack => String -> a
error String
"Error adding GovActionState to Proposals"
Just Proposals era
ps' -> Proposals era -> Int -> Gen (Proposals era)
go Proposals era
ps' (Int
n Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1)
genGovAction ::
forall era.
(Era era, Arbitrary (PParamsHKD StrictMaybe era)) =>
Proposals era ->
Gen (GovAction era)
genGovAction :: forall era.
(Era era, Arbitrary (PParamsHKD StrictMaybe era)) =>
Proposals era -> Gen (GovAction era)
genGovAction Proposals era
ps =
[Gen (GovAction era)] -> Gen (GovAction era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ (StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'PParamUpdatePurpose era)
-> f (f (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
forall (p :: GovActionPurpose).
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
genWithParent StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> Gen (GovAction era)
forall era.
(Era era, Arbitrary (PParamsHKD StrictMaybe era)) =>
StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> Gen (GovAction era)
genPParamUpdateGovAction (f (GovPurposeId 'PParamUpdatePurpose era)
-> f (f (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'PParamUpdatePurpose era)
-> f2 (f1 (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'PParamUpdatePurpose era)
-> f (f (GovPurposeId 'PParamUpdatePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grPParamUpdateL
, (StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'HardForkPurpose era)
-> f (f (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
forall (p :: GovActionPurpose).
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
genWithParent StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> Gen (GovAction era)
forall era.
StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> Gen (GovAction era)
genHardForkGovAction (f (GovPurposeId 'HardForkPurpose era)
-> f (f (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'HardForkPurpose era)
-> f2 (f1 (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'HardForkPurpose era)
-> f (f (GovPurposeId 'HardForkPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grHardForkL
, Gen (GovAction era)
forall era. Gen (GovAction era)
genTreasuryWithdrawals
, (StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'CommitteePurpose era)
-> f (f (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
forall (p :: GovActionPurpose).
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
genWithParent StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Gen (GovAction era)
forall era.
StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Gen (GovAction era)
genCommitteeGovAction (f (GovPurposeId 'CommitteePurpose era)
-> f (f (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'CommitteePurpose era)
-> f2 (f1 (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'CommitteePurpose era)
-> f (f (GovPurposeId 'CommitteePurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grCommitteeL
, (StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'ConstitutionPurpose era)
-> f (f (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
forall (p :: GovActionPurpose).
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
genWithParent StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Gen (GovAction era)
forall era.
Era era =>
StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Gen (GovAction era)
genConstitutionGovAction (f (GovPurposeId 'ConstitutionPurpose era)
-> f (f (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
forall (f1 :: * -> *) era (f2 :: * -> *).
Functor f2 =>
(f1 (GovPurposeId 'ConstitutionPurpose era)
-> f2 (f1 (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f1 era -> f2 (GovRelation f1 era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId 'ConstitutionPurpose era)
-> f (f (GovPurposeId 'ConstitutionPurpose era)))
-> GovRelation f era -> f (GovRelation f era)
grConstitutionL
, GovAction era -> Gen (GovAction era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure GovAction era
forall era. GovAction era
InfoAction
]
where
genWithParent ::
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era)) ->
(forall f. Lens' (GovRelation f era) (f (GovPurposeId p era))) ->
Gen (GovAction era)
genWithParent :: forall (p :: GovActionPurpose).
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era))
-> (forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era))
-> Gen (GovAction era)
genWithParent StrictMaybe (GovPurposeId p era) -> Gen (GovAction era)
gen forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL =
StrictMaybe (GovPurposeId p era) -> Gen (GovAction era)
gen
(StrictMaybe (GovPurposeId p era) -> Gen (GovAction era))
-> Gen (StrictMaybe (GovPurposeId p era)) -> Gen (GovAction era)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< [StrictMaybe (GovPurposeId p era)]
-> Gen (StrictMaybe (GovPurposeId p era))
forall a. HasCallStack => [a] -> Gen a
elements
( (Proposals era
ps Proposals era
-> Getting
(StrictMaybe (GovPurposeId p era))
(Proposals era)
(StrictMaybe (GovPurposeId p era))
-> StrictMaybe (GovPurposeId p era)
forall s a. s -> Getting a s a -> a
^. (GovRelation PRoot era
-> Const
(StrictMaybe (GovPurposeId p era)) (GovRelation PRoot era))
-> Proposals era
-> Const (StrictMaybe (GovPurposeId p era)) (Proposals era)
forall era (f :: * -> *).
Functor f =>
(GovRelation PRoot era -> f (GovRelation PRoot era))
-> Proposals era -> f (Proposals era)
pRootsL ((GovRelation PRoot era
-> Const
(StrictMaybe (GovPurposeId p era)) (GovRelation PRoot era))
-> Proposals era
-> Const (StrictMaybe (GovPurposeId p era)) (Proposals era))
-> ((StrictMaybe (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era))
(StrictMaybe (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const
(StrictMaybe (GovPurposeId p era)) (GovRelation PRoot era))
-> Getting
(StrictMaybe (GovPurposeId p era))
(Proposals era)
(StrictMaybe (GovPurposeId p era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PRoot (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era)) (PRoot (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const (StrictMaybe (GovPurposeId p era)) (GovRelation PRoot era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL ((PRoot (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era)) (PRoot (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const
(StrictMaybe (GovPurposeId p era)) (GovRelation PRoot era))
-> ((StrictMaybe (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era))
(StrictMaybe (GovPurposeId p era)))
-> PRoot (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era)) (PRoot (GovPurposeId p era)))
-> (StrictMaybe (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era))
(StrictMaybe (GovPurposeId p era)))
-> GovRelation PRoot era
-> Const (StrictMaybe (GovPurposeId p era)) (GovRelation PRoot era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era))
(StrictMaybe (GovPurposeId p era)))
-> PRoot (GovPurposeId p era)
-> Const
(StrictMaybe (GovPurposeId p era)) (PRoot (GovPurposeId p era))
forall a (f :: * -> *).
Functor f =>
(StrictMaybe a -> f (StrictMaybe a)) -> PRoot a -> f (PRoot a)
prRootL)
StrictMaybe (GovPurposeId p era)
-> [StrictMaybe (GovPurposeId p era)]
-> [StrictMaybe (GovPurposeId p era)]
forall a. a -> [a] -> [a]
: (GovPurposeId p era -> StrictMaybe (GovPurposeId p era))
-> [GovPurposeId p era] -> [StrictMaybe (GovPurposeId p era)]
forall a b. (a -> b) -> [a] -> [b]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap GovPurposeId p era -> StrictMaybe (GovPurposeId p era)
forall a. a -> StrictMaybe a
SJust (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> [GovPurposeId p era]
forall k a. Map k a -> [k]
Map.keys (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> [GovPurposeId p era])
-> Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> [GovPurposeId p era]
forall a b. (a -> b) -> a -> b
$ Proposals era
ps Proposals era
-> Getting
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Proposals era)
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
-> Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
forall s a. s -> Getting a s a -> a
^. (GovRelation PGraph era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(GovRelation PGraph era))
-> Proposals era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Proposals era)
forall era (f :: * -> *).
Functor f =>
(GovRelation PGraph era -> f (GovRelation PGraph era))
-> Proposals era -> f (Proposals era)
pGraphL ((GovRelation PGraph era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(GovRelation PGraph era))
-> Proposals era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Proposals era))
-> ((Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> GovRelation PGraph era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(GovRelation PGraph era))
-> Getting
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Proposals era)
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (PGraph (GovPurposeId p era)
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(PGraph (GovPurposeId p era)))
-> GovRelation PGraph era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(GovRelation PGraph era)
forall (f :: * -> *) (f :: * -> *).
Functor f =>
(f (GovPurposeId p era) -> f (f (GovPurposeId p era)))
-> GovRelation f era -> f (GovRelation f era)
govRelL ((PGraph (GovPurposeId p era)
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(PGraph (GovPurposeId p era)))
-> GovRelation PGraph era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(GovRelation PGraph era))
-> ((Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> PGraph (GovPurposeId p era)
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(PGraph (GovPurposeId p era)))
-> (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> GovRelation PGraph era
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(GovRelation PGraph era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map (GovPurposeId p era) (PEdges (GovPurposeId p era))
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era))))
-> PGraph (GovPurposeId p era)
-> Const
(Map (GovPurposeId p era) (PEdges (GovPurposeId p era)))
(PGraph (GovPurposeId p era))
forall a (f :: * -> *).
Functor f =>
(Map a (PEdges a) -> f (Map a (PEdges a)))
-> PGraph a -> f (PGraph a)
pGraphNodesL)
)
genPParamUpdateGovAction ::
( Era era
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
StrictMaybe (GovPurposeId 'PParamUpdatePurpose era) ->
Gen (GovAction era)
genPParamUpdateGovAction :: forall era.
(Era era, Arbitrary (PParamsHKD StrictMaybe era)) =>
StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> Gen (GovAction era)
genPParamUpdateGovAction StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
parent = StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era
ParameterChange StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
parent (PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era)
-> Gen (PParamsUpdate era)
-> Gen (StrictMaybe ScriptHash -> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (PParamsUpdate era)
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe ScriptHash -> GovAction era)
-> Gen (StrictMaybe ScriptHash) -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe ScriptHash)
forall a. Arbitrary a => Gen a
arbitrary
genHardForkGovAction ::
StrictMaybe (GovPurposeId 'HardForkPurpose era) ->
Gen (GovAction era)
genHardForkGovAction :: forall era.
StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> Gen (GovAction era)
genHardForkGovAction StrictMaybe (GovPurposeId 'HardForkPurpose era)
parent = StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> ProtVer -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> ProtVer -> GovAction era
HardForkInitiation StrictMaybe (GovPurposeId 'HardForkPurpose era)
parent (ProtVer -> GovAction era) -> Gen ProtVer -> Gen (GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen ProtVer
forall a. Arbitrary a => Gen a
arbitrary
genCommitteeGovAction ::
StrictMaybe (GovPurposeId 'CommitteePurpose era) ->
Gen (GovAction era)
genCommitteeGovAction :: forall era.
StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Gen (GovAction era)
genCommitteeGovAction StrictMaybe (GovPurposeId 'CommitteePurpose era)
parent =
[Gen (GovAction era)] -> Gen (GovAction era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ GovAction era -> Gen (GovAction era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (GovAction era -> Gen (GovAction era))
-> GovAction era -> Gen (GovAction era)
forall a b. (a -> b) -> a -> b
$ StrictMaybe (GovPurposeId 'CommitteePurpose era) -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'CommitteePurpose era) -> GovAction era
NoConfidence StrictMaybe (GovPurposeId 'CommitteePurpose era)
parent
, StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era
forall era.
StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era
UpdateCommittee StrictMaybe (GovPurposeId 'CommitteePurpose era)
parent (Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era)
-> Gen (Set (Credential 'ColdCommitteeRole))
-> Gen
(Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Set (Credential 'ColdCommitteeRole))
forall a. Arbitrary a => Gen a
arbitrary Gen
(Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> GovAction era)
-> Gen (Map (Credential 'ColdCommitteeRole) EpochNo)
-> Gen (UnitInterval -> GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'ColdCommitteeRole) EpochNo)
forall a. Arbitrary a => Gen a
arbitrary Gen (UnitInterval -> GovAction era)
-> Gen UnitInterval -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
]
genConstitutionGovAction ::
Era era =>
StrictMaybe (GovPurposeId 'ConstitutionPurpose era) ->
Gen (GovAction era)
genConstitutionGovAction :: forall era.
Era era =>
StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Gen (GovAction era)
genConstitutionGovAction StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
parent = StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Constitution era -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Constitution era -> GovAction era
NewConstitution StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
parent (Constitution era -> GovAction era)
-> Gen (Constitution era) -> Gen (GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Constitution era)
forall a. Arbitrary a => Gen a
arbitrary
genGovActionState :: GovAction era -> Gen (GovActionState era)
genGovActionState :: forall era. GovAction era -> Gen (GovActionState era)
genGovActionState GovAction era
ga =
GovActionId
-> Map (Credential 'HotCommitteeRole) Vote
-> Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era
forall era.
GovActionId
-> Map (Credential 'HotCommitteeRole) Vote
-> Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era
GovActionState
(GovActionId
-> Map (Credential 'HotCommitteeRole) Vote
-> Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
-> Gen GovActionId
-> Gen
(Map (Credential 'HotCommitteeRole) Vote
-> Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen GovActionId
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (Credential 'HotCommitteeRole) Vote
-> Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
-> Gen (Map (Credential 'HotCommitteeRole) Vote)
-> Gen
(Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'HotCommitteeRole) Vote)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (Credential 'DRepRole) Vote
-> Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
-> Gen (Map (Credential 'DRepRole) Vote)
-> Gen
(Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'DRepRole) Vote)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (KeyHash 'StakePool) Vote
-> ProposalProcedure era
-> EpochNo
-> EpochNo
-> GovActionState era)
-> Gen (Map (KeyHash 'StakePool) Vote)
-> Gen
(ProposalProcedure era -> EpochNo -> EpochNo -> GovActionState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (KeyHash 'StakePool) Vote)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(ProposalProcedure era -> EpochNo -> EpochNo -> GovActionState era)
-> Gen (ProposalProcedure era)
-> Gen (EpochNo -> EpochNo -> GovActionState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era
forall era.
Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era
ProposalProcedure (Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era)
-> Gen Coin
-> Gen
(RewardAccount -> GovAction era -> Anchor -> ProposalProcedure era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary Gen
(RewardAccount -> GovAction era -> Anchor -> ProposalProcedure era)
-> Gen RewardAccount
-> Gen (GovAction era -> Anchor -> ProposalProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen RewardAccount
forall a. Arbitrary a => Gen a
arbitrary Gen (GovAction era -> Anchor -> ProposalProcedure era)
-> Gen (GovAction era) -> Gen (Anchor -> ProposalProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> GovAction era -> Gen (GovAction era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure GovAction era
ga Gen (Anchor -> ProposalProcedure era)
-> Gen Anchor -> Gen (ProposalProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Anchor
forall a. Arbitrary a => Gen a
arbitrary)
Gen (EpochNo -> EpochNo -> GovActionState era)
-> Gen EpochNo -> Gen (EpochNo -> GovActionState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochNo
forall a. Arbitrary a => Gen a
arbitrary
Gen (EpochNo -> GovActionState era)
-> Gen EpochNo -> Gen (GovActionState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochNo
forall a. Arbitrary a => Gen a
arbitrary
instance (Era era, Arbitrary (PParamsUpdate era)) => Arbitrary (GovActionState era) where
arbitrary :: Gen (GovActionState era)
arbitrary = GovAction era -> Gen (GovActionState era)
forall era. GovAction era -> Gen (GovActionState era)
genGovActionState (GovAction era -> Gen (GovActionState era))
-> Gen (GovAction era) -> Gen (GovActionState era)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Gen (GovAction era)
forall a. Arbitrary a => Gen a
arbitrary
shrink :: GovActionState era -> [GovActionState era]
shrink = GovActionState era -> [GovActionState era]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
data ShuffledGovActionStates era
= ShuffledGovActionStates [GovActionState era] [GovActionState era]
deriving (Int -> ShuffledGovActionStates era -> ShowS
[ShuffledGovActionStates era] -> ShowS
ShuffledGovActionStates era -> String
(Int -> ShuffledGovActionStates era -> ShowS)
-> (ShuffledGovActionStates era -> String)
-> ([ShuffledGovActionStates era] -> ShowS)
-> Show (ShuffledGovActionStates era)
forall era.
EraPParams era =>
Int -> ShuffledGovActionStates era -> ShowS
forall era.
EraPParams era =>
[ShuffledGovActionStates era] -> ShowS
forall era. EraPParams era => ShuffledGovActionStates era -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall era.
EraPParams era =>
Int -> ShuffledGovActionStates era -> ShowS
showsPrec :: Int -> ShuffledGovActionStates era -> ShowS
$cshow :: forall era. EraPParams era => ShuffledGovActionStates era -> String
show :: ShuffledGovActionStates era -> String
$cshowList :: forall era.
EraPParams era =>
[ShuffledGovActionStates era] -> ShowS
showList :: [ShuffledGovActionStates era] -> ShowS
Show)
instance
(Era era, Arbitrary (PParamsUpdate era)) =>
Arbitrary (ShuffledGovActionStates era)
where
arbitrary :: Gen (ShuffledGovActionStates era)
arbitrary = do
[GovActionState era]
gass <- (Gen (GovAction era) -> Gen (GovActionState era))
-> [Gen (GovAction era)] -> Gen [GovActionState era]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> [a] -> f [b]
traverse (GovAction era -> Gen (GovActionState era)
forall era. GovAction era -> Gen (GovActionState era)
genGovActionState (GovAction era -> Gen (GovActionState era))
-> Gen (GovAction era) -> Gen (GovActionState era)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<<) [Gen (GovAction era)]
forall era.
(Era era, Arbitrary (PParamsUpdate era)) =>
[Gen (GovAction era)]
govActionGenerators
[GovActionState era]
shuffledGass <- [GovActionState era] -> Gen [GovActionState era]
forall a. [a] -> Gen [a]
shuffle [GovActionState era]
gass
ShuffledGovActionStates era -> Gen (ShuffledGovActionStates era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ShuffledGovActionStates era -> Gen (ShuffledGovActionStates era))
-> ShuffledGovActionStates era -> Gen (ShuffledGovActionStates era)
forall a b. (a -> b) -> a -> b
$ [GovActionState era]
-> [GovActionState era] -> ShuffledGovActionStates era
forall era.
[GovActionState era]
-> [GovActionState era] -> ShuffledGovActionStates era
ShuffledGovActionStates [GovActionState era]
gass [GovActionState era]
shuffledGass
genParameterChange :: Arbitrary (PParamsUpdate era) => Gen (GovAction era)
genParameterChange :: forall era. Arbitrary (PParamsUpdate era) => Gen (GovAction era)
genParameterChange = StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era
ParameterChange (StrictMaybe (GovPurposeId 'PParamUpdatePurpose era)
-> PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era)
-> Gen (StrictMaybe (GovPurposeId 'PParamUpdatePurpose era))
-> Gen
(PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictMaybe (GovPurposeId 'PParamUpdatePurpose era))
forall a. Arbitrary a => Gen a
arbitrary Gen (PParamsUpdate era -> StrictMaybe ScriptHash -> GovAction era)
-> Gen (PParamsUpdate era)
-> Gen (StrictMaybe ScriptHash -> GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PParamsUpdate era)
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe ScriptHash -> GovAction era)
-> Gen (StrictMaybe ScriptHash) -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe ScriptHash)
forall a. Arbitrary a => Gen a
arbitrary
genHardForkInitiation :: Gen (GovAction era)
genHardForkInitiation :: forall era. Gen (GovAction era)
genHardForkInitiation = StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> ProtVer -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> ProtVer -> GovAction era
HardForkInitiation (StrictMaybe (GovPurposeId 'HardForkPurpose era)
-> ProtVer -> GovAction era)
-> Gen (StrictMaybe (GovPurposeId 'HardForkPurpose era))
-> Gen (ProtVer -> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictMaybe (GovPurposeId 'HardForkPurpose era))
forall a. Arbitrary a => Gen a
arbitrary Gen (ProtVer -> GovAction era)
-> Gen ProtVer -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen ProtVer
forall a. Arbitrary a => Gen a
arbitrary
genTreasuryWithdrawals :: Gen (GovAction era)
genTreasuryWithdrawals :: forall era. Gen (GovAction era)
genTreasuryWithdrawals = Map RewardAccount Coin -> StrictMaybe ScriptHash -> GovAction era
forall era.
Map RewardAccount Coin -> StrictMaybe ScriptHash -> GovAction era
TreasuryWithdrawals (Map RewardAccount Coin -> StrictMaybe ScriptHash -> GovAction era)
-> Gen (Map RewardAccount Coin)
-> Gen (StrictMaybe ScriptHash -> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Map RewardAccount Coin)
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe ScriptHash -> GovAction era)
-> Gen (StrictMaybe ScriptHash) -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe ScriptHash)
forall a. Arbitrary a => Gen a
arbitrary
genNoConfidence :: Gen (GovAction era)
genNoConfidence :: forall era. Gen (GovAction era)
genNoConfidence = StrictMaybe (GovPurposeId 'CommitteePurpose era) -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'CommitteePurpose era) -> GovAction era
NoConfidence (StrictMaybe (GovPurposeId 'CommitteePurpose era) -> GovAction era)
-> Gen (StrictMaybe (GovPurposeId 'CommitteePurpose era))
-> Gen (GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictMaybe (GovPurposeId 'CommitteePurpose era))
forall a. Arbitrary a => Gen a
arbitrary
genUpdateCommittee :: Gen (GovAction era)
genUpdateCommittee :: forall era. Gen (GovAction era)
genUpdateCommittee =
StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era
forall era.
StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era
UpdateCommittee
(StrictMaybe (GovPurposeId 'CommitteePurpose era)
-> Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era)
-> Gen (StrictMaybe (GovPurposeId 'CommitteePurpose era))
-> Gen
(Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictMaybe (GovPurposeId 'CommitteePurpose era))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Set (Credential 'ColdCommitteeRole)
-> Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval
-> GovAction era)
-> Gen (Set (Credential 'ColdCommitteeRole))
-> Gen
(Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Set (Credential 'ColdCommitteeRole))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> GovAction era)
-> Gen (Map (Credential 'ColdCommitteeRole) EpochNo)
-> Gen (UnitInterval -> GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'ColdCommitteeRole) EpochNo)
forall a. Arbitrary a => Gen a
arbitrary
Gen (UnitInterval -> GovAction era)
-> Gen UnitInterval -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
genNewConstitution :: Era era => Gen (GovAction era)
genNewConstitution :: forall era. Era era => Gen (GovAction era)
genNewConstitution = StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Constitution era -> GovAction era
forall era.
StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Constitution era -> GovAction era
NewConstitution (StrictMaybe (GovPurposeId 'ConstitutionPurpose era)
-> Constitution era -> GovAction era)
-> Gen (StrictMaybe (GovPurposeId 'ConstitutionPurpose era))
-> Gen (Constitution era -> GovAction era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (StrictMaybe (GovPurposeId 'ConstitutionPurpose era))
forall a. Arbitrary a => Gen a
arbitrary Gen (Constitution era -> GovAction era)
-> Gen (Constitution era) -> Gen (GovAction era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Constitution era)
forall a. Arbitrary a => Gen a
arbitrary
govActionGenerators ::
( Era era
, Arbitrary (PParamsUpdate era)
) =>
[Gen (GovAction era)]
govActionGenerators :: forall era.
(Era era, Arbitrary (PParamsUpdate era)) =>
[Gen (GovAction era)]
govActionGenerators =
[ Gen (GovAction era)
forall era. Arbitrary (PParamsUpdate era) => Gen (GovAction era)
genParameterChange
, Gen (GovAction era)
forall era. Gen (GovAction era)
genHardForkInitiation
, Gen (GovAction era)
forall era. Gen (GovAction era)
genTreasuryWithdrawals
, Gen (GovAction era)
forall era. Gen (GovAction era)
genNoConfidence
, Gen (GovAction era)
forall era. Gen (GovAction era)
genUpdateCommittee
, Gen (GovAction era)
forall era. Era era => Gen (GovAction era)
genNewConstitution
, GovAction era -> Gen (GovAction era)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure GovAction era
forall era. GovAction era
InfoAction
]
instance (Era era, Arbitrary (PParamsUpdate era)) => Arbitrary (GovAction era) where
arbitrary :: Gen (GovAction era)
arbitrary = [Gen (GovAction era)] -> Gen (GovAction era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof [Gen (GovAction era)]
forall era.
(Era era, Arbitrary (PParamsUpdate era)) =>
[Gen (GovAction era)]
govActionGenerators
instance Era era => Arbitrary (Committee era) where
arbitrary :: Gen (Committee era)
arbitrary = Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> Committee era
forall era.
Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> Committee era
Committee (Map (Credential 'ColdCommitteeRole) EpochNo
-> UnitInterval -> Committee era)
-> Gen (Map (Credential 'ColdCommitteeRole) EpochNo)
-> Gen (UnitInterval -> Committee era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Map (Credential 'ColdCommitteeRole) EpochNo)
forall a. Arbitrary a => Gen a
arbitrary Gen (UnitInterval -> Committee era)
-> Gen UnitInterval -> Gen (Committee era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
instance Arbitrary GovActionId where
arbitrary :: Gen GovActionId
arbitrary = TxId -> GovActionIx -> GovActionId
GovActionId (TxId -> GovActionIx -> GovActionId)
-> Gen TxId -> Gen (GovActionIx -> GovActionId)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen TxId
forall a. Arbitrary a => Gen a
arbitrary Gen (GovActionIx -> GovActionId)
-> Gen GovActionIx -> Gen GovActionId
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen GovActionIx
forall a. Arbitrary a => Gen a
arbitrary
deriving instance Arbitrary GovActionIx
deriving instance Arbitrary (GovPurposeId p era)
instance Arbitrary Voter where
arbitrary :: Gen Voter
arbitrary =
[Gen Voter] -> Gen Voter
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ Credential 'HotCommitteeRole -> Voter
CommitteeVoter (Credential 'HotCommitteeRole -> Voter)
-> Gen (Credential 'HotCommitteeRole) -> Gen Voter
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'HotCommitteeRole)
forall a. Arbitrary a => Gen a
arbitrary
, Credential 'DRepRole -> Voter
DRepVoter (Credential 'DRepRole -> Voter)
-> Gen (Credential 'DRepRole) -> Gen Voter
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Credential 'DRepRole)
forall a. Arbitrary a => Gen a
arbitrary
, KeyHash 'StakePool -> Voter
StakePoolVoter (KeyHash 'StakePool -> Voter)
-> Gen (KeyHash 'StakePool) -> Gen Voter
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (KeyHash 'StakePool)
forall a. Arbitrary a => Gen a
arbitrary
]
shrink :: Voter -> [Voter]
shrink = Voter -> [Voter]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance Arbitrary Vote where
arbitrary :: Gen Vote
arbitrary = Gen Vote
forall a. (Bounded a, Enum a) => Gen a
arbitraryBoundedEnum
shrink :: Vote -> [Vote]
shrink = Vote -> [Vote]
forall a. (Bounded a, Enum a, Eq a) => a -> [a]
shrinkBoundedEnum
instance Arbitrary (TxBody ConwayEra) where
arbitrary :: Gen (TxBody ConwayEra)
arbitrary =
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut ConwayEra))
-> StrictMaybe (Sized (TxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (TxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra
ConwayTxBody
(Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (Set TxIn)
-> Gen
(Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Set TxIn)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (Set TxIn)
-> Gen
(Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Set TxIn)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (Set TxIn)
-> Gen
(StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Set TxIn)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> Gen
(StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictSeq (Sized (BabbageTxOut ConwayEra)))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (StrictMaybe (Sized (BabbageTxOut ConwayEra)))
-> Gen
(StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe (Sized (BabbageTxOut ConwayEra)))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictMaybe Coin
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (StrictMaybe Coin)
-> Gen
(OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (OSet (ConwayTxCert ConwayEra))
-> Gen
(Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (OSet (ConwayTxCert ConwayEra))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen Withdrawals
-> Gen
(Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Withdrawals
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Coin
-> ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen Coin
-> Gen
(ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
Gen
(ValidityInterval
-> Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen ValidityInterval
-> Gen
(Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Int -> Int) -> Gen ValidityInterval -> Gen ValidityInterval
forall a. (Int -> Int) -> Gen a -> Gen a
scale (Int -> Int -> Int
forall a. Integral a => a -> a -> a
`div` Int
15) Gen ValidityInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(Set (KeyHash 'Witness)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (Set (KeyHash 'Witness))
-> Gen
(MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Set (KeyHash 'Witness))
forall a. Arbitrary a => Gen a
arbitrary
Gen
(MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen MultiAsset
-> Gen
(StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Int -> Int) -> Gen MultiAsset -> Gen MultiAsset
forall a. (Int -> Int) -> Gen a -> Gen a
scale (Int -> Int -> Int
forall a. Integral a => a -> a -> a
`div` Int
15) Gen MultiAsset
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (StrictMaybe ScriptIntegrityHash)
-> Gen
(StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe ScriptIntegrityHash)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (StrictMaybe TxAuxDataHash)
-> Gen
(StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe TxAuxDataHash)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (StrictMaybe Network)
-> Gen
(VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Network)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody ConwayEra)
-> Gen (VotingProcedures ConwayEra)
-> Gen
(OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin -> Coin -> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (VotingProcedures ConwayEra)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin -> Coin -> TxBody ConwayEra)
-> Gen (OSet (ProposalProcedure ConwayEra))
-> Gen (StrictMaybe Coin -> Coin -> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (OSet (ProposalProcedure ConwayEra))
forall a. Arbitrary a => Gen a
arbitrary
Gen (StrictMaybe Coin -> Coin -> TxBody ConwayEra)
-> Gen (StrictMaybe Coin) -> Gen (Coin -> TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen (Coin -> TxBody ConwayEra)
-> Gen Coin -> Gen (TxBody ConwayEra)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
instance
( Era era
, Arbitrary (TxCert era)
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
Arbitrary (ConwayPlutusPurpose AsItem era)
where
arbitrary :: Gen (ConwayPlutusPurpose AsItem era)
arbitrary =
[Gen (ConwayPlutusPurpose AsItem era)]
-> Gen (ConwayPlutusPurpose AsItem era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ AsItem Word32 TxIn -> ConwayPlutusPurpose AsItem era
forall (f :: * -> * -> *) era.
f Word32 TxIn -> ConwayPlutusPurpose f era
ConwaySpending (AsItem Word32 TxIn -> ConwayPlutusPurpose AsItem era)
-> Gen (AsItem Word32 TxIn) -> Gen (ConwayPlutusPurpose AsItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsItem Word32 TxIn)
forall a. Arbitrary a => Gen a
arbitrary
, AsItem Word32 PolicyID -> ConwayPlutusPurpose AsItem era
forall (f :: * -> * -> *) era.
f Word32 PolicyID -> ConwayPlutusPurpose f era
ConwayMinting (AsItem Word32 PolicyID -> ConwayPlutusPurpose AsItem era)
-> Gen (AsItem Word32 PolicyID)
-> Gen (ConwayPlutusPurpose AsItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsItem Word32 PolicyID)
forall a. Arbitrary a => Gen a
arbitrary
, AsItem Word32 (TxCert era) -> ConwayPlutusPurpose AsItem era
forall (f :: * -> * -> *) era.
f Word32 (TxCert era) -> ConwayPlutusPurpose f era
ConwayCertifying (AsItem Word32 (TxCert era) -> ConwayPlutusPurpose AsItem era)
-> Gen (AsItem Word32 (TxCert era))
-> Gen (ConwayPlutusPurpose AsItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsItem Word32 (TxCert era))
forall a. Arbitrary a => Gen a
arbitrary
, AsItem Word32 RewardAccount -> ConwayPlutusPurpose AsItem era
forall (f :: * -> * -> *) era.
f Word32 RewardAccount -> ConwayPlutusPurpose f era
ConwayRewarding (AsItem Word32 RewardAccount -> ConwayPlutusPurpose AsItem era)
-> Gen (AsItem Word32 RewardAccount)
-> Gen (ConwayPlutusPurpose AsItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsItem Word32 RewardAccount)
forall a. Arbitrary a => Gen a
arbitrary
, AsItem Word32 Voter -> ConwayPlutusPurpose AsItem era
forall (f :: * -> * -> *) era.
f Word32 Voter -> ConwayPlutusPurpose f era
ConwayVoting (AsItem Word32 Voter -> ConwayPlutusPurpose AsItem era)
-> Gen (AsItem Word32 Voter)
-> Gen (ConwayPlutusPurpose AsItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsItem Word32 Voter)
forall a. Arbitrary a => Gen a
arbitrary
, AsItem Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsItem era
forall (f :: * -> * -> *) era.
f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era
ConwayProposing (AsItem Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsItem era)
-> Gen (AsItem Word32 (ProposalProcedure era))
-> Gen (ConwayPlutusPurpose AsItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsItem Word32 (ProposalProcedure era))
forall a. Arbitrary a => Gen a
arbitrary
]
instance
( Era era
, Arbitrary (TxCert era)
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
Arbitrary (ConwayPlutusPurpose AsIxItem era)
where
arbitrary :: Gen (ConwayPlutusPurpose AsIxItem era)
arbitrary =
[Gen (ConwayPlutusPurpose AsIxItem era)]
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ AsIxItem Word32 TxIn -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 TxIn -> ConwayPlutusPurpose f era
ConwaySpending (AsIxItem Word32 TxIn -> ConwayPlutusPurpose AsIxItem era)
-> Gen (AsIxItem Word32 TxIn)
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsIxItem Word32 TxIn)
forall a. Arbitrary a => Gen a
arbitrary
, AsIxItem Word32 PolicyID -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 PolicyID -> ConwayPlutusPurpose f era
ConwayMinting (AsIxItem Word32 PolicyID -> ConwayPlutusPurpose AsIxItem era)
-> Gen (AsIxItem Word32 PolicyID)
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsIxItem Word32 PolicyID)
forall a. Arbitrary a => Gen a
arbitrary
, AsIxItem Word32 (TxCert era) -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 (TxCert era) -> ConwayPlutusPurpose f era
ConwayCertifying (AsIxItem Word32 (TxCert era) -> ConwayPlutusPurpose AsIxItem era)
-> Gen (AsIxItem Word32 (TxCert era))
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsIxItem Word32 (TxCert era))
forall a. Arbitrary a => Gen a
arbitrary
, AsIxItem Word32 RewardAccount -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 RewardAccount -> ConwayPlutusPurpose f era
ConwayRewarding (AsIxItem Word32 RewardAccount -> ConwayPlutusPurpose AsIxItem era)
-> Gen (AsIxItem Word32 RewardAccount)
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsIxItem Word32 RewardAccount)
forall a. Arbitrary a => Gen a
arbitrary
, AsIxItem Word32 Voter -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 Voter -> ConwayPlutusPurpose f era
ConwayVoting (AsIxItem Word32 Voter -> ConwayPlutusPurpose AsIxItem era)
-> Gen (AsIxItem Word32 Voter)
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsIxItem Word32 Voter)
forall a. Arbitrary a => Gen a
arbitrary
, AsIxItem Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era
ConwayProposing (AsIxItem Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsIxItem era)
-> Gen (AsIxItem Word32 (ProposalProcedure era))
-> Gen (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (AsIxItem Word32 (ProposalProcedure era))
forall a. Arbitrary a => Gen a
arbitrary
]
instance
Era era =>
Arbitrary (ConwayPlutusPurpose AsIx era)
where
arbitrary :: Gen (ConwayPlutusPurpose AsIx era)
arbitrary = Gen Word32
forall a. Arbitrary a => Gen a
arbitrary Gen Word32
-> (Word32 -> Gen (ConwayPlutusPurpose AsIx era))
-> Gen (ConwayPlutusPurpose AsIx era)
forall a b. Gen a -> (a -> Gen b) -> Gen b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Word32 -> Gen (ConwayPlutusPurpose AsIx era)
forall era. Word32 -> Gen (ConwayPlutusPurpose AsIx era)
genConwayPlutusPurposePointer
genConwayPlutusPurposePointer :: Word32 -> Gen (ConwayPlutusPurpose AsIx era)
genConwayPlutusPurposePointer :: forall era. Word32 -> Gen (ConwayPlutusPurpose AsIx era)
genConwayPlutusPurposePointer Word32
i =
[ConwayPlutusPurpose AsIx era]
-> Gen (ConwayPlutusPurpose AsIx era)
forall a. HasCallStack => [a] -> Gen a
elements
[ AsIx Word32 TxIn -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 TxIn -> ConwayPlutusPurpose f era
ConwaySpending (Word32 -> AsIx Word32 TxIn
forall ix it. ix -> AsIx ix it
AsIx Word32
i)
, AsIx Word32 PolicyID -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 PolicyID -> ConwayPlutusPurpose f era
ConwayMinting (Word32 -> AsIx Word32 PolicyID
forall ix it. ix -> AsIx ix it
AsIx Word32
i)
, AsIx Word32 (TxCert era) -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 (TxCert era) -> ConwayPlutusPurpose f era
ConwayCertifying (Word32 -> AsIx Word32 (TxCert era)
forall ix it. ix -> AsIx ix it
AsIx Word32
i)
, AsIx Word32 RewardAccount -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 RewardAccount -> ConwayPlutusPurpose f era
ConwayRewarding (Word32 -> AsIx Word32 RewardAccount
forall ix it. ix -> AsIx ix it
AsIx Word32
i)
, AsIx Word32 Voter -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 Voter -> ConwayPlutusPurpose f era
ConwayVoting (Word32 -> AsIx Word32 Voter
forall ix it. ix -> AsIx ix it
AsIx Word32
i)
, AsIx Word32 (ProposalProcedure era) -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era
ConwayProposing (Word32 -> AsIx Word32 (ProposalProcedure era)
forall ix it. ix -> AsIx ix it
AsIx Word32
i)
]
instance (Era era, Arbitrary (PParamsHKD Identity era), Arbitrary (CertState era)) => Arbitrary (GovEnv era) where
arbitrary :: Gen (GovEnv era)
arbitrary =
TxId
-> EpochNo
-> PParams era
-> StrictMaybe ScriptHash
-> CertState era
-> GovEnv era
forall era.
TxId
-> EpochNo
-> PParams era
-> StrictMaybe ScriptHash
-> CertState era
-> GovEnv era
GovEnv
(TxId
-> EpochNo
-> PParams era
-> StrictMaybe ScriptHash
-> CertState era
-> GovEnv era)
-> Gen TxId
-> Gen
(EpochNo
-> PParams era
-> StrictMaybe ScriptHash
-> CertState era
-> GovEnv era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen TxId
forall a. Arbitrary a => Gen a
arbitrary
Gen
(EpochNo
-> PParams era
-> StrictMaybe ScriptHash
-> CertState era
-> GovEnv era)
-> Gen EpochNo
-> Gen
(PParams era
-> StrictMaybe ScriptHash -> CertState era -> GovEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen EpochNo
forall a. Arbitrary a => Gen a
arbitrary
Gen
(PParams era
-> StrictMaybe ScriptHash -> CertState era -> GovEnv era)
-> Gen (PParams era)
-> Gen (StrictMaybe ScriptHash -> CertState era -> GovEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PParams era)
forall a. Arbitrary a => Gen a
arbitrary
Gen (StrictMaybe ScriptHash -> CertState era -> GovEnv era)
-> Gen (StrictMaybe ScriptHash)
-> Gen (CertState era -> GovEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe ScriptHash)
forall a. Arbitrary a => Gen a
arbitrary
Gen (CertState era -> GovEnv era)
-> Gen (CertState era) -> Gen (GovEnv era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (CertState era)
forall a. Arbitrary a => Gen a
arbitrary
instance Era era => Arbitrary (VotingProcedure era) where
arbitrary :: Gen (VotingProcedure era)
arbitrary = Vote -> StrictMaybe Anchor -> VotingProcedure era
forall era. Vote -> StrictMaybe Anchor -> VotingProcedure era
VotingProcedure (Vote -> StrictMaybe Anchor -> VotingProcedure era)
-> Gen Vote -> Gen (StrictMaybe Anchor -> VotingProcedure era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen Vote
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe Anchor -> VotingProcedure era)
-> Gen (StrictMaybe Anchor) -> Gen (VotingProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe Anchor)
forall a. Arbitrary a => Gen a
arbitrary
instance Era era => Arbitrary (VotingProcedures era) where
arbitrary :: Gen (VotingProcedures era)
arbitrary = Map Voter (Map GovActionId (VotingProcedure era))
-> VotingProcedures era
forall era.
Map Voter (Map GovActionId (VotingProcedure era))
-> VotingProcedures era
VotingProcedures (Map Voter (Map GovActionId (VotingProcedure era))
-> VotingProcedures era)
-> Gen (Map Voter (Map GovActionId (VotingProcedure era)))
-> Gen (VotingProcedures era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Map GovActionId (VotingProcedure era))
-> Gen (Map Voter (Map GovActionId (VotingProcedure era)))
forall a. Gen a -> Gen (Map Voter a)
forall (f :: * -> *) a. Arbitrary1 f => Gen a -> Gen (f a)
liftArbitrary (Gen GovActionId
-> Gen (VotingProcedure era)
-> Gen (Map GovActionId (VotingProcedure era))
forall k v. Ord k => Gen k -> Gen v -> Gen (Map k v)
genNonEmptyMap Gen GovActionId
forall a. Arbitrary a => Gen a
arbitrary Gen (VotingProcedure era)
forall a. Arbitrary a => Gen a
arbitrary)
instance (Era era, Arbitrary (PParamsUpdate era)) => Arbitrary (ProposalProcedure era) where
arbitrary :: Gen (ProposalProcedure era)
arbitrary =
Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era
forall era.
Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era
ProposalProcedure
(Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era)
-> Gen Coin
-> Gen
(RewardAccount -> GovAction era -> Anchor -> ProposalProcedure era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen Coin
forall a. Arbitrary a => Gen a
arbitrary
Gen
(RewardAccount -> GovAction era -> Anchor -> ProposalProcedure era)
-> Gen RewardAccount
-> Gen (GovAction era -> Anchor -> ProposalProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen RewardAccount
forall a. Arbitrary a => Gen a
arbitrary
Gen (GovAction era -> Anchor -> ProposalProcedure era)
-> Gen (GovAction era) -> Gen (Anchor -> ProposalProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (GovAction era)
forall a. Arbitrary a => Gen a
arbitrary
Gen (Anchor -> ProposalProcedure era)
-> Gen Anchor -> Gen (ProposalProcedure era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen Anchor
forall a. Arbitrary a => Gen a
arbitrary
shrink :: ProposalProcedure era -> [ProposalProcedure era]
shrink (ProposalProcedure Coin
dep RewardAccount
ret GovAction era
gov Anchor
anch) =
[ Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era
forall era.
Coin
-> RewardAccount
-> GovAction era
-> Anchor
-> ProposalProcedure era
ProposalProcedure Coin
dep' RewardAccount
ret' GovAction era
gov' Anchor
anch'
| (Coin
dep', RewardAccount
ret', GovAction era
gov', Anchor
anch') <- (Coin, RewardAccount, GovAction era, Anchor)
-> [(Coin, RewardAccount, GovAction era, Anchor)]
forall a. Arbitrary a => a -> [a]
shrink (Coin
dep, RewardAccount
ret, GovAction era
gov, Anchor
anch)
]
instance
(EraPParams era, Arbitrary (PParamsUpdate era), Arbitrary (TxCert era)) =>
Arbitrary (GovSignal era)
where
arbitrary :: Gen (GovSignal era)
arbitrary = VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictSeq (TxCert era)
-> GovSignal era
forall era.
VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictSeq (TxCert era)
-> GovSignal era
GovSignal (VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictSeq (TxCert era)
-> GovSignal era)
-> Gen (VotingProcedures era)
-> Gen
(OSet (ProposalProcedure era)
-> StrictSeq (TxCert era) -> GovSignal era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (VotingProcedures era)
forall a. Arbitrary a => Gen a
arbitrary Gen
(OSet (ProposalProcedure era)
-> StrictSeq (TxCert era) -> GovSignal era)
-> Gen (OSet (ProposalProcedure era))
-> Gen (StrictSeq (TxCert era) -> GovSignal era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (OSet (ProposalProcedure era))
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictSeq (TxCert era) -> GovSignal era)
-> Gen (StrictSeq (TxCert era)) -> Gen (GovSignal era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictSeq (TxCert era))
forall a. Arbitrary a => Gen a
arbitrary
shrink :: GovSignal era -> [GovSignal era]
shrink (GovSignal VotingProcedures era
vp OSet (ProposalProcedure era)
pp StrictSeq (TxCert era)
cs) = [VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictSeq (TxCert era)
-> GovSignal era
forall era.
VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictSeq (TxCert era)
-> GovSignal era
GovSignal VotingProcedures era
vp' OSet (ProposalProcedure era)
pp' StrictSeq (TxCert era)
cs' | (VotingProcedures era
vp', OSet (ProposalProcedure era)
pp', StrictSeq (TxCert era)
cs') <- (VotingProcedures era, OSet (ProposalProcedure era),
StrictSeq (TxCert era))
-> [(VotingProcedures era, OSet (ProposalProcedure era),
StrictSeq (TxCert era))]
forall a. Arbitrary a => a -> [a]
shrink (VotingProcedures era
vp, OSet (ProposalProcedure era)
pp, StrictSeq (TxCert era)
cs)]
instance
( Era era
, Arbitrary (PParamsHKD StrictMaybe era)
) =>
Arbitrary (ConwayGovPredFailure era)
where
arbitrary :: Gen (ConwayGovPredFailure era)
arbitrary = Gen (ConwayGovPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
( Era era
, Arbitrary (CollectError era)
) =>
Arbitrary (ConwayUtxosPredFailure era)
where
arbitrary :: Gen (ConwayUtxosPredFailure era)
arbitrary = Gen (ConwayUtxosPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
( Era era
, Arbitrary (PredicateFailure (EraRule "UTXOW" era))
, Arbitrary (PredicateFailure (EraRule "CERTS" era))
, Arbitrary (PredicateFailure (EraRule "GOV" era))
) =>
Arbitrary (ConwayLedgerPredFailure era)
where
arbitrary :: Gen (ConwayLedgerPredFailure era)
arbitrary = Gen (ConwayLedgerPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
( Era era
, Arbitrary (Event (EraRule "POOLREAP" era))
, Arbitrary (Event (EraRule "SNAP" era))
) =>
Arbitrary (ConwayEpochEvent era)
where
arbitrary :: Gen (ConwayEpochEvent era)
arbitrary =
[Gen (ConwayEpochEvent era)] -> Gen (ConwayEpochEvent era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ Event (EraRule "POOLREAP" era) -> ConwayEpochEvent era
forall era. Event (EraRule "POOLREAP" era) -> ConwayEpochEvent era
PoolReapEvent (Event (EraRule "POOLREAP" era) -> ConwayEpochEvent era)
-> Gen (Event (EraRule "POOLREAP" era))
-> Gen (ConwayEpochEvent era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Event (EraRule "POOLREAP" era))
forall a. Arbitrary a => Gen a
arbitrary
, Event (EraRule "SNAP" era) -> ConwayEpochEvent era
forall era. Event (EraRule "SNAP" era) -> ConwayEpochEvent era
SnapEvent (Event (EraRule "SNAP" era) -> ConwayEpochEvent era)
-> Gen (Event (EraRule "SNAP" era)) -> Gen (ConwayEpochEvent era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Event (EraRule "SNAP" era))
forall a. Arbitrary a => Gen a
arbitrary
]
instance
( Era era
, Arbitrary (Event (EraRule "RUPD" era))
) =>
Arbitrary (ConwayNewEpochEvent era)
where
arbitrary :: Gen (ConwayNewEpochEvent era)
arbitrary =
[Gen (ConwayNewEpochEvent era)] -> Gen (ConwayNewEpochEvent era)
forall a. HasCallStack => [Gen a] -> Gen a
oneof
[ Event (EraRule "RUPD" era) -> ConwayNewEpochEvent era
forall era. Event (EraRule "RUPD" era) -> ConwayNewEpochEvent era
DeltaRewardEvent (Event (EraRule "RUPD" era) -> ConwayNewEpochEvent era)
-> Gen (Event (EraRule "RUPD" era))
-> Gen (ConwayNewEpochEvent era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (Event (EraRule "RUPD" era))
forall a. Arbitrary a => Gen a
arbitrary
, EpochNo
-> Map (Credential 'Staking) (Set Reward)
-> Set (Credential 'Staking)
-> ConwayNewEpochEvent era
forall era.
EpochNo
-> Map (Credential 'Staking) (Set Reward)
-> Set (Credential 'Staking)
-> ConwayNewEpochEvent era
RestrainedRewards (EpochNo
-> Map (Credential 'Staking) (Set Reward)
-> Set (Credential 'Staking)
-> ConwayNewEpochEvent era)
-> Gen EpochNo
-> Gen
(Map (Credential 'Staking) (Set Reward)
-> Set (Credential 'Staking) -> ConwayNewEpochEvent era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen EpochNo
forall a. Arbitrary a => Gen a
arbitrary Gen
(Map (Credential 'Staking) (Set Reward)
-> Set (Credential 'Staking) -> ConwayNewEpochEvent era)
-> Gen (Map (Credential 'Staking) (Set Reward))
-> Gen (Set (Credential 'Staking) -> ConwayNewEpochEvent era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Map (Credential 'Staking) (Set Reward))
forall a. Arbitrary a => Gen a
arbitrary Gen (Set (Credential 'Staking) -> ConwayNewEpochEvent era)
-> Gen (Set (Credential 'Staking)) -> Gen (ConwayNewEpochEvent era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (Set (Credential 'Staking))
forall a. Arbitrary a => Gen a
arbitrary
]
instance
( Era era
, Arbitrary (PredicateFailure (EraRule "CERT" era))
) =>
Arbitrary (ConwayCertsPredFailure era)
where
arbitrary :: Gen (ConwayCertsPredFailure era)
arbitrary = Gen (ConwayCertsPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
( Era era
, Arbitrary (PredicateFailure (EraRule "DELEG" era))
, Arbitrary (PredicateFailure (EraRule "POOL" era))
, Arbitrary (PredicateFailure (EraRule "GOVCERT" era))
) =>
Arbitrary (ConwayCertPredFailure era)
where
arbitrary :: Gen (ConwayCertPredFailure era)
arbitrary = Gen (ConwayCertPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance
Era era =>
Arbitrary (ConwayDelegPredFailure era)
where
arbitrary :: Gen (ConwayDelegPredFailure era)
arbitrary = Gen (ConwayDelegPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance Era era => Arbitrary (ConwayGovCertPredFailure era) where
arbitrary :: Gen (ConwayGovCertPredFailure era)
arbitrary = Gen (ConwayGovCertPredFailure era)
forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a
genericArbitraryU
instance Arbitrary (HKD f a) => Arbitrary (THKD t f a) where
arbitrary :: Gen (THKD t f a)
arbitrary = HKD f a -> THKD t f a
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (HKD f a -> THKD t f a) -> Gen (HKD f a) -> Gen (THKD t f a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (HKD f a)
forall a. Arbitrary a => Gen a
arbitrary
instance Era era => Arbitrary (ConwayPParams Identity era) where
arbitrary :: Gen (ConwayPParams Identity era)
arbitrary =
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> HKDNoUpdate Identity ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era
forall (f :: * -> *) era.
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKDNoUpdate f ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
-> ConwayPParams f era
ConwayPParams
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'EconomicGroup 'SecurityGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval)
-> Gen
(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
Identity
NonNegativeInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval
-> ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval)
-> Gen
(ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity UnitInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen ProtVer
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen ProtVer
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) Identity CoinPerByte)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
HKD Identity CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels)
-> Gen CostModels
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity CostModels)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen CostModels
forall a. Arbitrary a => Gen a
arbitrary)
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) Identity Prices)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity OrdExUnits)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity OrdExUnits)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32)
-> Gen
(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'NetworkGroup 'SecurityGroup) Identity Word32)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) Identity Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) Identity Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
PoolVotingThresholds)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
Identity
DRepVotingThresholds)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval)
-> Gen
(THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen (THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'GovGroup 'SecurityGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) Identity Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) Identity EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval
-> ConwayPParams Identity era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval)
-> Gen (ConwayPParams Identity era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
Identity
NonNegativeInterval)
forall a. Arbitrary a => Gen a
arbitrary
shrink :: ConwayPParams Identity era -> [ConwayPParams Identity era]
shrink = ConwayPParams Identity era -> [ConwayPParams Identity era]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance Era era => Arbitrary (ConwayPParams StrictMaybe era) where
arbitrary :: Gen (ConwayPParams StrictMaybe era)
arbitrary =
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> HKDNoUpdate StrictMaybe ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era
forall (f :: * -> *) era.
THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word16
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f EpochInterval
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f NonNegativeInterval
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f UnitInterval
-> HKDNoUpdate f ProtVer
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) f CoinPerByte
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f CostModels
-> THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) f Prices
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) f Word32
-> THKD ('PPGroups 'TechnicalGroup 'NoStakePoolGroup) f Word16
-> THKD ('PPGroups 'NetworkGroup 'NoStakePoolGroup) f Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) f DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Word16
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) f Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) f EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) f NonNegativeInterval
-> ConwayPParams f era
ConwayPParams
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
NonNegativeInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval
-> NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval)
-> Gen
(NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup)
StrictMaybe
UnitInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(NoUpdate ProtVer
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen (NoUpdate ProtVer)
-> Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> NoUpdate ProtVer -> Gen (NoUpdate ProtVer)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure NoUpdate ProtVer
forall a. NoUpdate a
NoUpdate
Gen
(THKD ('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup) StrictMaybe CoinPerByte)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
-> THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (StrictMaybe CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
HKD StrictMaybe CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels
forall (t :: PPGroups) (f :: * -> *) a. HKD f a -> THKD t f a
THKD (StrictMaybe CostModels
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels)
-> Gen (StrictMaybe CostModels)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup)
StrictMaybe
CostModels)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [Gen (StrictMaybe CostModels)] -> Gen (StrictMaybe CostModels)
forall a. HasCallStack => [Gen a] -> Gen a
oneof [CostModels -> StrictMaybe CostModels
forall a. a -> StrictMaybe a
SJust (CostModels -> StrictMaybe CostModels)
-> Gen CostModels -> Gen (StrictMaybe CostModels)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen CostModels
genValidAndUnknownCostModels, StrictMaybe CostModels -> Gen (StrictMaybe CostModels)
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure StrictMaybe CostModels
forall a. StrictMaybe a
SNothing])
Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'NoStakePoolGroup) StrictMaybe Prices)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits
-> THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe OrdExUnits)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits
-> THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe OrdExUnits)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32
-> THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'NetworkGroup 'SecurityGroup) StrictMaybe Word32)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'TechnicalGroup 'NoStakePoolGroup) StrictMaybe Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'NetworkGroup 'NoStakePoolGroup) StrictMaybe Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
PoolVotingThresholds)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup)
StrictMaybe
DRepVotingThresholds)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Word16)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval)
-> Gen
(THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin
-> THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen (THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'GovGroup 'SecurityGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin
-> THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (THKD ('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe Coin)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval
-> THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'GovGroup 'NoStakePoolGroup) StrictMaybe EpochInterval)
forall a. Arbitrary a => Gen a
arbitrary
Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval
-> ConwayPParams StrictMaybe era)
-> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval)
-> Gen (ConwayPParams StrictMaybe era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen
(THKD
('PPGroups 'EconomicGroup 'SecurityGroup)
StrictMaybe
NonNegativeInterval)
forall a. Arbitrary a => Gen a
arbitrary
shrink :: ConwayPParams StrictMaybe era -> [ConwayPParams StrictMaybe era]
shrink = ConwayPParams StrictMaybe era -> [ConwayPParams StrictMaybe era]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance Arbitrary PoolVotingThresholds where
arbitrary :: Gen PoolVotingThresholds
arbitrary =
UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds
PoolVotingThresholds
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> PoolVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval -> UnitInterval -> PoolVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval -> UnitInterval -> PoolVotingThresholds)
-> Gen UnitInterval
-> Gen (UnitInterval -> UnitInterval -> PoolVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen (UnitInterval -> UnitInterval -> PoolVotingThresholds)
-> Gen UnitInterval -> Gen (UnitInterval -> PoolVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen (UnitInterval -> PoolVotingThresholds)
-> Gen UnitInterval -> Gen PoolVotingThresholds
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
shrink :: PoolVotingThresholds -> [PoolVotingThresholds]
shrink = PoolVotingThresholds -> [PoolVotingThresholds]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance Arbitrary DRepVotingThresholds where
arbitrary :: Gen DRepVotingThresholds
arbitrary =
UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds
DRepVotingThresholds
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval
-> UnitInterval
-> UnitInterval
-> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen
(UnitInterval
-> UnitInterval -> UnitInterval -> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen
(UnitInterval
-> UnitInterval -> UnitInterval -> DRepVotingThresholds)
-> Gen UnitInterval
-> Gen (UnitInterval -> UnitInterval -> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen (UnitInterval -> UnitInterval -> DRepVotingThresholds)
-> Gen UnitInterval -> Gen (UnitInterval -> DRepVotingThresholds)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
Gen (UnitInterval -> DRepVotingThresholds)
-> Gen UnitInterval -> Gen DRepVotingThresholds
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen UnitInterval
forall a. Arbitrary a => Gen a
arbitrary
shrink :: DRepVotingThresholds -> [DRepVotingThresholds]
shrink = DRepVotingThresholds -> [DRepVotingThresholds]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
instance Era era => Arbitrary (Constitution era) where
arbitrary :: Gen (Constitution era)
arbitrary = Anchor -> StrictMaybe ScriptHash -> Constitution era
forall era. Anchor -> StrictMaybe ScriptHash -> Constitution era
Constitution (Anchor -> StrictMaybe ScriptHash -> Constitution era)
-> Gen Anchor -> Gen (StrictMaybe ScriptHash -> Constitution era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen Anchor
forall a. Arbitrary a => Gen a
arbitrary Gen (StrictMaybe ScriptHash -> Constitution era)
-> Gen (StrictMaybe ScriptHash) -> Gen (Constitution era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (StrictMaybe ScriptHash)
forall a. Arbitrary a => Gen a
arbitrary
instance Era era => Arbitrary (ConwayCertState era) where
arbitrary :: Gen (ConwayCertState era)
arbitrary = VState era -> PState era -> DState era -> ConwayCertState era
forall era.
VState era -> PState era -> DState era -> ConwayCertState era
ConwayCertState (VState era -> PState era -> DState era -> ConwayCertState era)
-> Gen (VState era)
-> Gen (PState era -> DState era -> ConwayCertState era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Gen (VState era)
forall a. Arbitrary a => Gen a
arbitrary Gen (PState era -> DState era -> ConwayCertState era)
-> Gen (PState era) -> Gen (DState era -> ConwayCertState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (PState era)
forall a. Arbitrary a => Gen a
arbitrary Gen (DState era -> ConwayCertState era)
-> Gen (DState era) -> Gen (ConwayCertState era)
forall a b. Gen (a -> b) -> Gen a -> Gen b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Gen (DState era)
forall a. Arbitrary a => Gen a
arbitrary
shrink :: ConwayCertState era -> [ConwayCertState era]
shrink = ConwayCertState era -> [ConwayCertState era]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink