{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}

module Test.Cardano.Ledger.Shelley.BinarySpec (spec) where

import Cardano.Ledger.Shelley (ShelleyEra)
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Core.Binary as Binary (decoderEquivalenceCoreEraTypesSpec, txSizeSpec)
import qualified Test.Cardano.Ledger.Shelley.Binary.GoldenSpec as Golden
import qualified Test.Cardano.Ledger.Shelley.Binary.RoundTripSpec as RoundTrip

spec :: Spec
spec :: Spec
spec = do
  Spec
Golden.spec
  Spec
RoundTrip.spec
  forall era.
(EraTx era, Arbitrary (Tx era), Arbitrary (TxBody era),
 Arbitrary (TxWits era), Arbitrary (TxAuxData era),
 Arbitrary (Script era), HasCallStack) =>
Spec
Binary.decoderEquivalenceCoreEraTypesSpec @ShelleyEra
  forall era.
(EraTx era, Arbitrary (Tx era), SafeToHash (TxWits era)) =>
Spec
Binary.txSizeSpec @ShelleyEra