{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RankNTypes #-}

module Cardano.Ledger.Alonzo.TxSeq
  {-# DEPRECATED "Use `Cardano.Ledger.Alonzo.BlockBody` instead" #-} (
  AlonzoTxSeq,
  pattern AlonzoTxSeq,
  hashAlonzoTxSeq,
  txSeqTxns,
) where

import Cardano.Ledger.Alonzo.BlockBody
import Cardano.Ledger.Alonzo.Tx
import Cardano.Ledger.Core
import Data.Sequence.Strict

type AlonzoTxSeq = AlonzoBlockBody

pattern AlonzoTxSeq ::
  ( AlonzoEraTx era
  , SafeToHash (TxWits era)
  ) =>
  StrictSeq (Tx era) -> AlonzoBlockBody era
pattern $mAlonzoTxSeq :: forall {r} {era}.
(AlonzoEraTx era, SafeToHash (TxWits era)) =>
AlonzoBlockBody era
-> (StrictSeq (Tx era) -> r) -> ((# #) -> r) -> r
$bAlonzoTxSeq :: forall era.
(AlonzoEraTx era, SafeToHash (TxWits era)) =>
StrictSeq (Tx era) -> AlonzoBlockBody era
AlonzoTxSeq s = AlonzoBlockBody s

txSeqTxns :: AlonzoBlockBody era -> StrictSeq (Tx era)
txSeqTxns :: forall era. AlonzoBlockBody era -> StrictSeq (Tx era)
txSeqTxns = AlonzoBlockBody era -> StrictSeq (Tx era)
forall era. AlonzoBlockBody era -> StrictSeq (Tx era)
alonzoBlockBodyTxs

hashAlonzoTxSeq :: AlonzoBlockBody era -> Hash HASH EraIndependentBlockBody
hashAlonzoTxSeq :: forall era.
AlonzoBlockBody era -> Hash HASH EraIndependentBlockBody
hashAlonzoTxSeq = AlonzoBlockBody era -> Hash HASH EraIndependentBlockBody
forall era.
AlonzoBlockBody era -> Hash HASH EraIndependentBlockBody
alonzoBlockBodyHash