{-# 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.BaseTypes (ProtVer (..)) import Cardano.Ledger.Binary (EncCBORGroup (..), serialize') import Cardano.Ledger.Core import qualified Data.ByteString as BS 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 TopTx BabbageEra)) txSeqBlockBodyL = (StrictSeq (Tx TopTx BabbageEra) -> f (StrictSeq (Tx TopTx BabbageEra))) -> BlockBody BabbageEra -> f (BlockBody BabbageEra) forall era. (SafeToHash (TxWits era), BlockBody era ~ AlonzoBlockBody era, AlonzoEraTx era) => Lens' (BlockBody era) (StrictSeq (Tx TopTx era)) Lens' (BlockBody BabbageEra) (StrictSeq (Tx TopTx 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 blockBodySize :: ProtVer -> BlockBody BabbageEra -> Int blockBodySize (ProtVer Version v Natural _) = ByteString -> Int BS.length (ByteString -> Int) -> (AlonzoBlockBody BabbageEra -> ByteString) -> AlonzoBlockBody BabbageEra -> Int forall b c a. (b -> c) -> (a -> b) -> a -> c . Version -> Encoding -> ByteString forall a. EncCBOR a => Version -> a -> ByteString serialize' Version v (Encoding -> ByteString) -> (AlonzoBlockBody BabbageEra -> Encoding) -> AlonzoBlockBody BabbageEra -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoBlockBody BabbageEra -> Encoding forall a. EncCBORGroup a => a -> Encoding encCBORGroup