{-# LANGUAGE TypeApplications #-}
module Test.Cardano.Ledger.Alonzo.BinarySpec (spec) where
import Cardano.Ledger.Alonzo
import Cardano.Ledger.Alonzo.Genesis
import Test.Cardano.Ledger.Alonzo.Arbitrary ()
import Test.Cardano.Ledger.Alonzo.Binary.RoundTrip (roundTripAlonzoCommonSpec)
import Test.Cardano.Ledger.Alonzo.TreeDiff ()
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Core.Binary (BinaryUpgradeOpts (..), specUpgrade)
import Test.Cardano.Ledger.Core.Binary.RoundTrip (roundTripEraSpec)
spec :: Spec
spec :: Spec
spec = do
forall era.
(Arbitrary (TxOut (PreviousEra era)),
Arbitrary (TxCert (PreviousEra era)),
Arbitrary (TxAuxData (PreviousEra era)),
Arbitrary (TxWits (PreviousEra era)),
Arbitrary (TxBody (PreviousEra era)), EraTx (PreviousEra era),
EraTx era, Arbitrary (Tx (PreviousEra era)),
Arbitrary (Script (PreviousEra era)), HasCallStack,
ToExpr (Tx era), ToExpr (TxBody era), ToExpr (TxWits era),
ToExpr (TxAuxData era)) =>
BinaryUpgradeOpts -> Spec
specUpgrade @Alonzo (Bool -> Bool -> BinaryUpgradeOpts
BinaryUpgradeOpts Bool
False Bool
False)
forall a. HasCallStack => String -> SpecWith a -> SpecWith a
describe String
"RoundTrip" forall a b. (a -> b) -> a -> b
$ do
forall era.
(EraTx era, EraGov era, StashedAVVMAddresses era ~ (),
Arbitrary (Tx era), Arbitrary (TxBody era), Arbitrary (TxOut era),
Arbitrary (TxCert era), Arbitrary (TxWits era),
Arbitrary (TxAuxData era), Arbitrary (Value era),
Arbitrary (CompactForm (Value era)), Arbitrary (Script era),
Arbitrary (GovState era), Arbitrary (PParams era),
Arbitrary (PParamsUpdate era), RuleListEra era) =>
Spec
roundTripAlonzoCommonSpec @Alonzo
forall era t.
(Era era, Show t, Eq t, EncCBOR t, DecCBOR t, Arbitrary t,
HasCallStack) =>
Spec
roundTripEraSpec @Alonzo @AlonzoGenesis