@@ -169,6 +169,7 @@ import qualified Data.ByteString.Base16 as Base16
169
169
import Data.Ratio (Ratio , (%) )
170
170
import Data.String
171
171
import Test.Gen.Cardano.Api.Hardcoded
172
+ import Data.Typeable
172
173
import Data.Word (Word16 , Word32 , Word64 )
173
174
import GHC.Exts (IsList (.. ))
174
175
import GHC.Stack
@@ -707,7 +708,7 @@ genTxWithdrawals =
707
708
]
708
709
)
709
710
710
- genTxCertificates :: CardanoEra era -> Gen (TxCertificates BuildTx era )
711
+ genTxCertificates :: Typeable era => CardanoEra era -> Gen (TxCertificates BuildTx era )
711
712
genTxCertificates =
712
713
inEonForEra
713
714
(pure TxCertificatesNone )
@@ -720,7 +721,7 @@ genTxCertificates =
720
721
]
721
722
)
722
723
723
- genCertificate :: forall era . ShelleyBasedEra era -> Gen (Certificate era )
724
+ genCertificate :: forall era . Typeable era => ShelleyBasedEra era -> Gen (Certificate era )
724
725
genCertificate sbe =
725
726
Gen. choice
726
727
$ catMaybes
@@ -871,7 +872,7 @@ genTxMintValue =
871
872
, pure $ TxMintValue w (fromList assets)
872
873
]
873
874
874
- genTxBodyContent :: ShelleyBasedEra era -> Gen (TxBodyContent BuildTx era )
875
+ genTxBodyContent :: Typeable era => ShelleyBasedEra era -> Gen (TxBodyContent BuildTx era )
875
876
genTxBodyContent sbe = do
876
877
let era = toCardanoEra sbe
877
878
txIns <-
@@ -992,7 +993,8 @@ genWitnessesByron = Gen.list (Range.constant 1 10) genByronKeyWitness
992
993
993
994
-- | This generator validates generated 'TxBodyContent' and backtracks when the generated body
994
995
-- fails the validation. That also means that it is quite slow.
995
- genValidTxBody :: ShelleyBasedEra era
996
+ genValidTxBody :: Typeable era
997
+ => ShelleyBasedEra era
996
998
-> Gen (TxBody era , TxBodyContent BuildTx era ) -- ^ validated 'TxBody' and 'TxBodyContent'
997
999
genValidTxBody sbe =
998
1000
Gen. mapMaybe
@@ -1003,7 +1005,7 @@ genValidTxBody sbe =
1003
1005
(genTxBodyContent sbe)
1004
1006
1005
1007
-- | Partial! This function will throw an error when the generated transaction is invalid.
1006
- genTxBody :: HasCallStack => ShelleyBasedEra era -> Gen (TxBody era )
1008
+ genTxBody :: ( HasCallStack , Typeable era ) => ShelleyBasedEra era -> Gen (TxBody era )
1007
1009
genTxBody era = do
1008
1010
res <- Api. createTransactionBody era <$> genTxBodyContent era
1009
1011
case res of
@@ -1042,15 +1044,15 @@ genScriptValidity :: Gen ScriptValidity
1042
1044
genScriptValidity = Gen. element [ScriptInvalid , ScriptValid ]
1043
1045
1044
1046
genTx
1045
- :: ()
1047
+ :: Typeable era
1046
1048
=> ShelleyBasedEra era
1047
1049
-> Gen (Tx era )
1048
1050
genTx era =
1049
1051
makeSignedTransaction
1050
1052
<$> genWitnesses era
1051
1053
<*> (fst <$> genValidTxBody era)
1052
1054
1053
- genWitnesses :: ShelleyBasedEra era -> Gen [KeyWitness era ]
1055
+ genWitnesses :: Typeable era => ShelleyBasedEra era -> Gen [KeyWitness era ]
1054
1056
genWitnesses sbe = do
1055
1057
bsWits <- Gen. list (Range. constant 0 10 ) (genShelleyBootstrapWitness sbe)
1056
1058
keyWits <- Gen. list (Range. constant 0 10 ) (genShelleyKeyWitness sbe)
@@ -1095,7 +1097,7 @@ genWitnessNetworkIdOrByronAddress =
1095
1097
]
1096
1098
1097
1099
genShelleyBootstrapWitness
1098
- :: ()
1100
+ :: Typeable era
1099
1101
=> ShelleyBasedEra era
1100
1102
-> Gen (KeyWitness era )
1101
1103
genShelleyBootstrapWitness sbe =
@@ -1104,8 +1106,10 @@ genShelleyBootstrapWitness sbe =
1104
1106
<*> (fst <$> genValidTxBody sbe)
1105
1107
<*> genSigningKey AsByronKey
1106
1108
1109
+
1107
1110
genShelleyKeyWitness
1108
1111
:: ()
1112
+ => Typeable era
1109
1113
=> ShelleyBasedEra era
1110
1114
-> Gen (KeyWitness era )
1111
1115
genShelleyKeyWitness sbe =
@@ -1114,7 +1118,7 @@ genShelleyKeyWitness sbe =
1114
1118
<*> genShelleyWitnessSigningKey
1115
1119
1116
1120
genShelleyWitness
1117
- :: ()
1121
+ :: Typeable era
1118
1122
=> ShelleyBasedEra era
1119
1123
-> Gen (KeyWitness era )
1120
1124
genShelleyWitness sbe =
@@ -1135,7 +1139,7 @@ genShelleyWitnessSigningKey =
1135
1139
]
1136
1140
1137
1141
genCardanoKeyWitness
1138
- :: ()
1142
+ :: Typeable era
1139
1143
=> ShelleyBasedEra era
1140
1144
-> Gen (KeyWitness era )
1141
1145
genCardanoKeyWitness = genShelleyWitness
0 commit comments