{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Babbage.BlockBody where

import Cardano.Ledger.Alonzo.BlockBody
import Cardano.Ledger.Babbage.Era
import Cardano.Ledger.Babbage.Tx ()
import Cardano.Ledger.Core

instance EraBlockBody BabbageEra where
  type BlockBody BabbageEra = AlonzoBlockBody BabbageEra
  mkBasicBlockBody :: BlockBody BabbageEra
mkBasicBlockBody = BlockBody BabbageEra
forall era.
(SafeToHash (TxWits era), BlockBody era ~ AlonzoBlockBody era,
 AlonzoEraTx era) =>
BlockBody era
mkBasicBlockBodyAlonzo
  txSeqBlockBodyL :: Lens' (BlockBody BabbageEra) (StrictSeq (Tx BabbageEra))
txSeqBlockBodyL = (StrictSeq (Tx BabbageEra) -> f (StrictSeq (Tx BabbageEra)))
-> BlockBody BabbageEra -> f (BlockBody BabbageEra)
forall era.
(SafeToHash (TxWits era), BlockBody era ~ AlonzoBlockBody era,
 AlonzoEraTx era) =>
Lens' (BlockBody era) (StrictSeq (Tx era))
Lens' (BlockBody BabbageEra) (StrictSeq (Tx BabbageEra))
txSeqBlockBodyAlonzoL
  hashBlockBody :: BlockBody BabbageEra -> Hash HASH EraIndependentBlockBody
hashBlockBody = BlockBody BabbageEra -> Hash HASH EraIndependentBlockBody
AlonzoBlockBody BabbageEra -> Hash HASH EraIndependentBlockBody
forall era.
AlonzoBlockBody era -> Hash HASH EraIndependentBlockBody
alonzoBlockBodyHash
  numSegComponents :: Word64
numSegComponents = Word64
4