{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Babbage.BinarySpec (spec) where import Cardano.Ledger.Alonzo.TxWits (Redeemers, TxDats) import Cardano.Ledger.Babbage import Data.Default (def) import Test.Cardano.Ledger.Alonzo.Binary.RoundTrip (roundTripAlonzoCommonSpec) import Test.Cardano.Ledger.Babbage.Arbitrary () import Test.Cardano.Ledger.Babbage.TreeDiff () import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.Binary (specUpgrade) import Test.Cardano.Ledger.Core.Binary as Binary ( decoderEquivalenceCoreEraTypesSpec, decoderEquivalenceEraSpec, txSizeSpec, ) import Test.Cardano.Ledger.Core.Binary.RoundTrip (RuleListEra (..)) 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), DecCBOR (TxAuxData era), DecCBOR (Script era), DecCBOR (TxWits era), DecCBOR (TxBody era), DecCBOR (Tx era)) => BinaryUpgradeOpts -> Spec specUpgrade @BabbageEra forall a. Default a => a def 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, EraStake era, EraCertState era, AlonzoEraScript 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 (PlutusPurpose AsIx era), Arbitrary (PParams era), Arbitrary (PParamsUpdate era), Arbitrary (CertState era), Arbitrary (InstantStake era), DecCBOR (Script era), DecCBOR (TxAuxData era), DecCBOR (TxWits era), DecCBOR (TxBody era), DecCBOR (Tx era), RuleListEra era) => Spec roundTripAlonzoCommonSpec @BabbageEra forall a. HasCallStack => String -> SpecWith a -> SpecWith a describe String "DecCBOR instances equivalence" forall a b. (a -> b) -> a -> b $ do forall era. (EraTx era, Arbitrary (Tx era), Arbitrary (TxBody era), Arbitrary (TxWits era), Arbitrary (TxAuxData era), Arbitrary (Script era), HasCallStack) => Spec Binary.decoderEquivalenceCoreEraTypesSpec @BabbageEra forall era t. (Era era, Eq t, ToCBOR t, DecCBOR (Annotator t), Arbitrary t, Show t) => Spec decoderEquivalenceEraSpec @BabbageEra @(TxDats BabbageEra) forall era t. (Era era, Eq t, ToCBOR t, DecCBOR (Annotator t), Arbitrary t, Show t) => Spec decoderEquivalenceEraSpec @BabbageEra @(Redeemers BabbageEra) forall era. (EraTx era, Arbitrary (Tx era), SafeToHash (TxWits era)) => Spec Binary.txSizeSpec @BabbageEra instance RuleListEra BabbageEra where type EraRules BabbageEra = '[ "DELEG" , "DELEGS" , "DELPL" , "LEDGER" , "LEDGERS" , "POOL" , "PPUP" , "UTXO" , "UTXOW" , "UTXOS" ]