module Cardano.Api.Experimental.Serialise.TextEnvelope.Internal
  ( textEnvelopeToJSONEra
  )
where

import Cardano.Api.Experimental.Era
import Cardano.Api.Serialise.TextEnvelope.Internal
  ( HasTextEnvelope
  , TextEnvelopeDescr
  , textEnvelopeToJSON
  )

import Data.ByteString.Lazy qualified as LBS

textEnvelopeToJSONEra
  :: HasTextEnvelope (f (LedgerEra era))
  => Era era
  -> Maybe TextEnvelopeDescr
  -> f (LedgerEra era)
  -> LBS.ByteString
textEnvelopeToJSONEra :: forall (f :: * -> *) era.
HasTextEnvelope (f (LedgerEra era)) =>
Era era
-> Maybe TextEnvelopeDescr -> f (LedgerEra era) -> ByteString
textEnvelopeToJSONEra Era era
era Maybe TextEnvelopeDescr
mDesc f (LedgerEra era)
c =
  Era era -> (EraCommonConstraints era => ByteString) -> ByteString
forall era a. Era era -> (EraCommonConstraints era => a) -> a
obtainCommonConstraints Era era
era ((EraCommonConstraints era => ByteString) -> ByteString)
-> (EraCommonConstraints era => ByteString) -> ByteString
forall a b. (a -> b) -> a -> b
$ Maybe TextEnvelopeDescr -> f (LedgerEra era) -> ByteString
forall a.
HasTextEnvelope a =>
Maybe TextEnvelopeDescr -> a -> ByteString
textEnvelopeToJSON Maybe TextEnvelopeDescr
mDesc f (LedgerEra era)
c