{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Test.Cardano.Ledger.Conway.Binary.Annotator (
  module Test.Cardano.Ledger.Babbage.Binary.Annotator,
) where

import Cardano.Ledger.Binary
import Cardano.Ledger.Conway (ConwayEra)
import Cardano.Ledger.Conway.Core
import Cardano.Ledger.Conway.TxBody
import Test.Cardano.Ledger.Babbage.Binary.Annotator

instance DecCBOR (Annotator ConwayTxBodyRaw) where
  decCBOR :: forall s. Decoder s (Annotator ConwayTxBodyRaw)
decCBOR = ConwayTxBodyRaw -> Annotator ConwayTxBodyRaw
forall a. a -> Annotator a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ConwayTxBodyRaw -> Annotator ConwayTxBodyRaw)
-> Decoder s ConwayTxBodyRaw
-> Decoder s (Annotator ConwayTxBodyRaw)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Decoder s ConwayTxBodyRaw
forall s. Decoder s ConwayTxBodyRaw
forall a s. DecCBOR a => Decoder s a
decCBOR

deriving via Mem ConwayTxBodyRaw instance DecCBOR (Annotator (TxBody ConwayEra))