{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE QuantifiedConstraints #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Dijkstra.Arbitrary () where import Cardano.Ledger.Allegra.Scripts ( pattern RequireTimeExpire, pattern RequireTimeStart, ) import Cardano.Ledger.BaseTypes (PerasCert (..), StrictMaybe) import Cardano.Ledger.Dijkstra (DijkstraEra) import Cardano.Ledger.Dijkstra.Core import Cardano.Ledger.Dijkstra.Genesis (DijkstraGenesis (..)) import Cardano.Ledger.Dijkstra.PParams (DijkstraPParams, UpgradeDijkstraPParams) import Cardano.Ledger.Dijkstra.Rules import Cardano.Ledger.Dijkstra.Scripts import Cardano.Ledger.Dijkstra.Transition (TransitionConfig (..)) import Cardano.Ledger.Dijkstra.Tx (DijkstraTx (..), Tx (..)) import Cardano.Ledger.Dijkstra.TxBody (TxBody (..)) import Cardano.Ledger.Dijkstra.TxCert import Cardano.Ledger.Dijkstra.TxInfo (DijkstraContextError) import Cardano.Ledger.Shelley.Scripts ( pattern RequireSignature, ) import Control.State.Transition ( STS (..), ) import Data.Functor.Identity (Identity) import qualified Data.OMap.Strict as OMap import Data.Typeable (Typeable) import Generic.Random (genericArbitraryU) import Test.Cardano.Ledger.Allegra.Arbitrary (maxTimelockDepth) import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Conway.Arbitrary () import Test.Cardano.Ledger.Shelley.Arbitrary (sizedNativeScriptGens) instance Arbitrary (DijkstraPParams Identity DijkstraEra) where arbitrary :: Gen (DijkstraPParams Identity DijkstraEra) arbitrary = Gen (DijkstraPParams Identity DijkstraEra) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Arbitrary (DijkstraPParams StrictMaybe DijkstraEra) where arbitrary :: Gen (DijkstraPParams StrictMaybe DijkstraEra) arbitrary = Gen (DijkstraPParams StrictMaybe DijkstraEra) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Arbitrary (TxBody SubTx DijkstraEra) where arbitrary :: Gen (TxBody SubTx DijkstraEra) arbitrary = (EncCBOR (Tx SubTx DijkstraEra), Eq (Tx SubTx DijkstraEra), NFData (Tx SubTx DijkstraEra), Show (Tx SubTx DijkstraEra), DecCBOR (Annotator (Tx SubTx DijkstraEra)), HasOKey TxId (Tx SubTx DijkstraEra)) => Set TxIn -> Set TxIn -> StrictSeq (Sized (TxOut DijkstraEra)) -> OSet (TxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra Set TxIn -> Set TxIn -> StrictSeq (Sized (TxOut DijkstraEra)) -> OSet (TxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra Set TxIn -> Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra DijkstraSubTxBody (Set TxIn -> Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (Set TxIn) -> Gen (Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (Set TxIn) -> Gen (StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra)) -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (StrictSeq (Sized (BabbageTxOut DijkstraEra))) -> Gen (OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra))) forall a. Arbitrary a => Gen a arbitrary Gen (OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (OSet (DijkstraTxCert DijkstraEra)) -> Gen (Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 (DijkstraTxCert DijkstraEra)) forall a. Arbitrary a => Gen a arbitrary Gen (Withdrawals -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen Withdrawals -> Gen (ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 (ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen ValidityInterval -> Gen (OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 (OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (OSet (Credential Guard)) -> Gen (MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 (Credential Guard)) forall a. Arbitrary a => Gen a arbitrary Gen (MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen MultiAsset -> Gen (StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (StrictMaybe ScriptIntegrityHash) -> Gen (StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (StrictMaybe TxAuxDataHash) -> Gen (StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (StrictMaybe Network) -> Gen (VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (VotingProcedures DijkstraEra) -> Gen (OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra) forall a. Arbitrary a => Gen a arbitrary Gen (OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (OSet (ProposalProcedure DijkstraEra)) -> Gen (StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 DijkstraEra)) forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe Coin -> Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (StrictMaybe Coin) -> Gen (Coin -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 -> Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen Coin -> Gen (Map (Credential Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) 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 Guard) (StrictMaybe (Data DijkstraEra)) -> TxBody SubTx DijkstraEra) -> Gen (Map (Credential Guard) (StrictMaybe (Data DijkstraEra))) -> Gen (TxBody SubTx DijkstraEra) 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 Guard) (StrictMaybe (Data DijkstraEra))) forall a. Arbitrary a => Gen a arbitrary instance Arbitrary (TxBody TopTx DijkstraEra) where arbitrary :: Gen (TxBody TopTx DijkstraEra) arbitrary = (EncCBOR (Tx SubTx DijkstraEra), Eq (Tx SubTx DijkstraEra), NFData (Tx SubTx DijkstraEra), Show (Tx SubTx DijkstraEra), DecCBOR (Annotator (Tx SubTx DijkstraEra)), HasOKey TxId (Tx SubTx DijkstraEra)) => Set TxIn -> Set TxIn -> Set TxIn -> StrictSeq (Sized (TxOut DijkstraEra)) -> StrictMaybe (Sized (TxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (TxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra Set TxIn -> Set TxIn -> Set TxIn -> StrictSeq (Sized (TxOut DijkstraEra)) -> StrictMaybe (Sized (TxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (TxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra Set TxIn -> Set TxIn -> Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra DijkstraTxBody (Set TxIn -> Set TxIn -> Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (Set TxIn) -> Gen (Set TxIn -> Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (Set TxIn) -> Gen (Set TxIn -> StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (Set TxIn) -> Gen (StrictSeq (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra)) -> StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictSeq (Sized (BabbageTxOut DijkstraEra))) -> Gen (StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra))) forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe (Sized (BabbageTxOut DijkstraEra)) -> StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictMaybe (Sized (BabbageTxOut DijkstraEra))) -> Gen (StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra))) forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe Coin -> OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictMaybe Coin) -> Gen (OSet (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 (DijkstraTxCert DijkstraEra) -> Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (OSet (DijkstraTxCert DijkstraEra)) -> Gen (Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 (DijkstraTxCert DijkstraEra)) forall a. Arbitrary a => Gen a arbitrary Gen (Withdrawals -> Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen Withdrawals -> Gen (Coin -> ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen Coin -> Gen (ValidityInterval -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 -> OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen ValidityInterval -> Gen (OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 (OSet (Credential Guard) -> MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (OSet (Credential Guard)) -> Gen (MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 (Credential Guard)) forall a. Arbitrary a => Gen a arbitrary Gen (MultiAsset -> StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen MultiAsset -> Gen (StrictMaybe ScriptIntegrityHash -> StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictMaybe ScriptIntegrityHash) -> Gen (StrictMaybe TxAuxDataHash -> StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictMaybe TxAuxDataHash) -> Gen (StrictMaybe Network -> VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictMaybe Network) -> Gen (VotingProcedures DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra -> OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (VotingProcedures DijkstraEra) -> Gen (OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra) forall a. Arbitrary a => Gen a arbitrary Gen (OSet (ProposalProcedure DijkstraEra) -> StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (OSet (ProposalProcedure DijkstraEra)) -> Gen (StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 DijkstraEra)) forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe Coin -> Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (StrictMaybe Coin) -> Gen (Coin -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 -> OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen Coin -> Gen (OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) 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 (OMap TxId (Tx SubTx DijkstraEra) -> TxBody TopTx DijkstraEra) -> Gen (OMap TxId (Tx SubTx DijkstraEra)) -> Gen (TxBody TopTx DijkstraEra) 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 Int forall a. Random a => (a, a) -> Gen a choose (Int 0, Int 4) Gen Int -> (Int -> Gen (OMap TxId (Tx SubTx DijkstraEra))) -> Gen (OMap TxId (Tx SubTx DijkstraEra)) forall a b. Gen a -> (a -> Gen b) -> Gen b forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b >>= \Int n -> [Tx SubTx DijkstraEra] -> OMap TxId (Tx SubTx DijkstraEra) forall (f :: * -> *) k v. (Foldable f, HasOKey k v) => f v -> OMap k v OMap.fromFoldable ([Tx SubTx DijkstraEra] -> OMap TxId (Tx SubTx DijkstraEra)) -> Gen [Tx SubTx DijkstraEra] -> Gen (OMap TxId (Tx SubTx DijkstraEra)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Int -> Gen (Tx SubTx DijkstraEra) -> Gen [Tx SubTx DijkstraEra] forall a. Int -> Gen a -> Gen [a] vectorOf Int n Gen (Tx SubTx DijkstraEra) forall a. Arbitrary a => Gen a arbitrary) instance Arbitrary (UpgradeDijkstraPParams Identity DijkstraEra) where arbitrary :: Gen (UpgradeDijkstraPParams Identity DijkstraEra) arbitrary = Gen (UpgradeDijkstraPParams Identity DijkstraEra) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Arbitrary DijkstraGenesis where arbitrary :: Gen DijkstraGenesis arbitrary = Gen DijkstraGenesis forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Arbitrary (TransitionConfig DijkstraEra) where arbitrary :: Gen (TransitionConfig DijkstraEra) arbitrary = DijkstraGenesis -> TransitionConfig ConwayEra -> TransitionConfig DijkstraEra DijkstraTransitionConfig (DijkstraGenesis -> TransitionConfig ConwayEra -> TransitionConfig DijkstraEra) -> Gen DijkstraGenesis -> Gen (TransitionConfig ConwayEra -> TransitionConfig DijkstraEra) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen DijkstraGenesis forall a. Arbitrary a => Gen a arbitrary Gen (TransitionConfig ConwayEra -> TransitionConfig DijkstraEra) -> Gen (TransitionConfig ConwayEra) -> Gen (TransitionConfig DijkstraEra) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen (TransitionConfig ConwayEra) forall a. Arbitrary a => Gen a arbitrary instance (forall a b. (Arbitrary a, Arbitrary b) => Arbitrary (f a b)) => Arbitrary (DijkstraPlutusPurpose f DijkstraEra) where arbitrary :: Gen (DijkstraPlutusPurpose f DijkstraEra) arbitrary = Gen (DijkstraPlutusPurpose f DijkstraEra) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Arbitrary (DijkstraNativeScript DijkstraEra) where arbitrary :: Gen (DijkstraNativeScript DijkstraEra) arbitrary = Int -> Gen (NativeScript DijkstraEra) forall era. DijkstraEraScript era => Int -> Gen (NativeScript era) sizedDijkstraNativeScript Int maxTimelockDepth sizedDijkstraNativeScript :: DijkstraEraScript era => Int -> Gen (NativeScript era) sizedDijkstraNativeScript :: forall era. DijkstraEraScript era => Int -> Gen (NativeScript era) sizedDijkstraNativeScript Int 0 = KeyHash Witness -> NativeScript era forall era. ShelleyEraScript era => KeyHash Witness -> NativeScript era RequireSignature (KeyHash Witness -> NativeScript era) -> Gen (KeyHash Witness) -> Gen (NativeScript era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen (KeyHash Witness) forall a. Arbitrary a => Gen a arbitrary sizedDijkstraNativeScript Int n = [Gen (NativeScript era)] -> Gen (NativeScript era) forall a. HasCallStack => [Gen a] -> Gen a oneof ([Gen (NativeScript era)] -> Gen (NativeScript era)) -> [Gen (NativeScript era)] -> Gen (NativeScript era) forall a b. (a -> b) -> a -> b $ Int -> [Gen (NativeScript era)] forall era. ShelleyEraScript era => Int -> [Gen (NativeScript era)] sizedNativeScriptGens Int n [Gen (NativeScript era)] -> [Gen (NativeScript era)] -> [Gen (NativeScript era)] forall a. Semigroup a => a -> a -> a <> [ SlotNo -> NativeScript era forall era. AllegraEraScript era => SlotNo -> NativeScript era RequireTimeStart (SlotNo -> NativeScript era) -> Gen SlotNo -> Gen (NativeScript era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen SlotNo forall a. Arbitrary a => Gen a arbitrary , SlotNo -> NativeScript era forall era. AllegraEraScript era => SlotNo -> NativeScript era RequireTimeExpire (SlotNo -> NativeScript era) -> Gen SlotNo -> Gen (NativeScript era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen SlotNo forall a. Arbitrary a => Gen a arbitrary , Credential Guard -> NativeScript era forall era. DijkstraEraScript era => Credential Guard -> NativeScript era RequireGuard (Credential Guard -> NativeScript era) -> Gen (Credential Guard) -> Gen (NativeScript era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen (Credential Guard) forall a. Arbitrary a => Gen a arbitrary ] instance (Arbitrary (TxBody l DijkstraEra), Typeable l) => Arbitrary (Tx l DijkstraEra) where arbitrary :: Gen (Tx l DijkstraEra) arbitrary = (DijkstraTx l DijkstraEra -> Tx l DijkstraEra) -> Gen (DijkstraTx l DijkstraEra) -> Gen (Tx l DijkstraEra) forall a b. (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap DijkstraTx l DijkstraEra -> Tx l DijkstraEra forall (l :: TxLevel). DijkstraTx l DijkstraEra -> Tx l DijkstraEra MkDijkstraTx (Gen (DijkstraTx l DijkstraEra) -> Gen (Tx l DijkstraEra)) -> ((STxBothLevels l (ZonkAny 0) -> Gen (DijkstraTx l DijkstraEra)) -> Gen (DijkstraTx l DijkstraEra)) -> (STxBothLevels l (ZonkAny 0) -> Gen (DijkstraTx l DijkstraEra)) -> Gen (Tx l DijkstraEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . forall (l :: TxLevel) era a. (Typeable l, HasCallStack) => (STxBothLevels l era -> a) -> a withSTxBothLevels @l ((STxBothLevels l (ZonkAny 0) -> Gen (DijkstraTx l DijkstraEra)) -> Gen (Tx l DijkstraEra)) -> (STxBothLevels l (ZonkAny 0) -> Gen (DijkstraTx l DijkstraEra)) -> Gen (Tx l DijkstraEra) forall a b. (a -> b) -> a -> b $ \case STxBothLevels l (ZonkAny 0) STopTx -> TxBody TopTx DijkstraEra -> TxWits DijkstraEra -> IsValid -> StrictMaybe (TxAuxData DijkstraEra) -> DijkstraTx TopTx DijkstraEra TxBody TopTx DijkstraEra -> AlonzoTxWits DijkstraEra -> IsValid -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra forall era. TxBody TopTx era -> TxWits era -> IsValid -> StrictMaybe (TxAuxData era) -> DijkstraTx TopTx era DijkstraTx (TxBody TopTx DijkstraEra -> AlonzoTxWits DijkstraEra -> IsValid -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen (TxBody TopTx DijkstraEra) -> Gen (AlonzoTxWits DijkstraEra -> IsValid -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen (TxBody TopTx DijkstraEra) forall a. Arbitrary a => Gen a arbitrary Gen (AlonzoTxWits DijkstraEra -> IsValid -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen (AlonzoTxWits DijkstraEra) -> Gen (IsValid -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen (AlonzoTxWits DijkstraEra) forall a. Arbitrary a => Gen a arbitrary Gen (IsValid -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen IsValid -> Gen (StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen IsValid forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen (StrictMaybe (AlonzoTxAuxData DijkstraEra)) -> Gen (DijkstraTx l DijkstraEra) 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 (AlonzoTxAuxData DijkstraEra)) forall a. Arbitrary a => Gen a arbitrary STxBothLevels l (ZonkAny 0) SSubTx -> TxBody SubTx DijkstraEra -> TxWits DijkstraEra -> StrictMaybe (TxAuxData DijkstraEra) -> DijkstraTx SubTx DijkstraEra TxBody SubTx DijkstraEra -> AlonzoTxWits DijkstraEra -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra forall era. TxBody SubTx era -> TxWits era -> StrictMaybe (TxAuxData era) -> DijkstraTx SubTx era DijkstraSubTx (TxBody SubTx DijkstraEra -> AlonzoTxWits DijkstraEra -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen (TxBody SubTx DijkstraEra) -> Gen (AlonzoTxWits DijkstraEra -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen (TxBody SubTx DijkstraEra) forall a. Arbitrary a => Gen a arbitrary Gen (AlonzoTxWits DijkstraEra -> StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen (AlonzoTxWits DijkstraEra) -> Gen (StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) forall a b. Gen (a -> b) -> Gen a -> Gen b forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Gen (AlonzoTxWits DijkstraEra) forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe (AlonzoTxAuxData DijkstraEra) -> DijkstraTx l DijkstraEra) -> Gen (StrictMaybe (AlonzoTxAuxData DijkstraEra)) -> Gen (DijkstraTx l DijkstraEra) 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 (AlonzoTxAuxData DijkstraEra)) forall a. Arbitrary a => Gen a arbitrary instance Era era => Arbitrary (DijkstraTxCert era) where arbitrary :: Gen (DijkstraTxCert era) arbitrary = [Gen (DijkstraTxCert era)] -> Gen (DijkstraTxCert era) forall a. HasCallStack => [Gen a] -> Gen a oneof [ DijkstraDelegCert -> DijkstraTxCert era forall era. DijkstraDelegCert -> DijkstraTxCert era DijkstraTxCertDeleg (DijkstraDelegCert -> DijkstraTxCert era) -> Gen DijkstraDelegCert -> Gen (DijkstraTxCert era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen DijkstraDelegCert forall a. Arbitrary a => Gen a arbitrary , PoolCert -> DijkstraTxCert era forall era. PoolCert -> DijkstraTxCert era DijkstraTxCertPool (PoolCert -> DijkstraTxCert era) -> Gen PoolCert -> Gen (DijkstraTxCert era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen PoolCert forall a. Arbitrary a => Gen a arbitrary , ConwayGovCert -> DijkstraTxCert era forall era. ConwayGovCert -> DijkstraTxCert era DijkstraTxCertGov (ConwayGovCert -> DijkstraTxCert era) -> Gen ConwayGovCert -> Gen (DijkstraTxCert era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen ConwayGovCert forall a. Arbitrary a => Gen a arbitrary ] instance Arbitrary DijkstraDelegCert where arbitrary :: Gen DijkstraDelegCert arbitrary = Credential Staking -> Delegatee -> Coin -> DijkstraDelegCert DijkstraRegDelegCert (Credential Staking -> Delegatee -> Coin -> DijkstraDelegCert) -> Gen (Credential Staking) -> Gen (Delegatee -> Coin -> DijkstraDelegCert) 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 -> DijkstraDelegCert) -> Gen Delegatee -> Gen (Coin -> DijkstraDelegCert) 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 -> DijkstraDelegCert) -> Gen Coin -> Gen DijkstraDelegCert 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 ( EraPParams era , Arbitrary (PlutusPurpose AsItem era) , Arbitrary (PlutusPurpose AsIx era) , Arbitrary (PParamsHKD Identity era) , Arbitrary (PParamsHKD StrictMaybe era) , Arbitrary (TxCert era) , Arbitrary (TxOut era) ) => Arbitrary (DijkstraContextError era) where arbitrary :: Gen (DijkstraContextError era) arbitrary = Gen (DijkstraContextError era) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance ( Era era , Arbitrary (PredicateFailure (EraRule "LEDGERS" era)) ) => Arbitrary (DijkstraBbodyPredFailure era) where arbitrary :: Gen (DijkstraBbodyPredFailure era) arbitrary = Gen (DijkstraBbodyPredFailure 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 (DijkstraLedgerPredFailure era) where arbitrary :: Gen (DijkstraLedgerPredFailure era) arbitrary = Gen (DijkstraLedgerPredFailure 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 (DijkstraUtxoPredFailure era) where arbitrary :: Gen (DijkstraUtxoPredFailure era) arbitrary = Gen (DijkstraUtxoPredFailure 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 (DijkstraUtxowPredFailure era) where arbitrary :: Gen (DijkstraUtxowPredFailure era) arbitrary = Gen (DijkstraUtxowPredFailure era) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Era era => Arbitrary (DijkstraGovCertPredFailure era) where arbitrary :: Gen (DijkstraGovCertPredFailure era) arbitrary = Gen (DijkstraGovCertPredFailure era) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance ( Era era , Arbitrary (PParamsHKD StrictMaybe era) ) => Arbitrary (DijkstraGovPredFailure era) where arbitrary :: Gen (DijkstraGovPredFailure era) arbitrary = Gen (DijkstraGovPredFailure era) forall a. (GArbitrary UnsizedOpts a, GUniformWeight a) => Gen a genericArbitraryU instance Arbitrary PerasCert where arbitrary :: Gen PerasCert arbitrary = PerasCert -> Gen PerasCert forall a. a -> Gen a forall (f :: * -> *) a. Applicative f => a -> f a pure PerasCert PerasCert instance ( EraBlockBody era , AlonzoEraTx era , Arbitrary (Tx TopTx era) , SafeToHash (TxWits era) ) => Arbitrary (DijkstraBlockBody era) where arbitrary :: Gen (DijkstraBlockBody era) arbitrary = StrictSeq (Tx TopTx era) -> StrictMaybe PerasCert -> DijkstraBlockBody era forall era. (AlonzoEraTx era, SafeToHash (TxWits era)) => StrictSeq (Tx TopTx era) -> StrictMaybe PerasCert -> DijkstraBlockBody era DijkstraBlockBody (StrictSeq (Tx TopTx era) -> StrictMaybe PerasCert -> DijkstraBlockBody era) -> Gen (StrictSeq (Tx TopTx era)) -> Gen (StrictMaybe PerasCert -> DijkstraBlockBody era) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen (StrictSeq (Tx TopTx era)) forall a. Arbitrary a => Gen a arbitrary Gen (StrictMaybe PerasCert -> DijkstraBlockBody era) -> Gen (StrictMaybe PerasCert) -> Gen (DijkstraBlockBody 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 PerasCert) forall a. Arbitrary a => Gen a arbitrary