{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Allegra.BinarySpec (spec) where import Cardano.Ledger.Allegra import Data.Default (def) import Test.Cardano.Ledger.Allegra.Arbitrary () import Test.Cardano.Ledger.Allegra.TreeDiff () import Test.Cardano.Ledger.Common import Test.Cardano.Ledger.Core.Binary (specUpgrade) import Test.Cardano.Ledger.Core.Binary.RoundTrip (RuleListEra (..)) import Test.Cardano.Ledger.Shelley.Binary.RoundTrip (roundTripShelleyCommonSpec) 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 @AllegraEra 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, Eq (StashedAVVMAddresses era), Show (StashedAVVMAddresses era), EncCBOR (StashedAVVMAddresses era), DecCBOR (StashedAVVMAddresses era), Arbitrary (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 roundTripShelleyCommonSpec @AllegraEra instance RuleListEra AllegraEra where type EraRules AllegraEra = '[ "DELEG" , "DELEGS" , "DELPL" , "LEDGER" , "LEDGERS" , "POOL" , "PPUP" , "UTXO" , "UTXOW" ]