{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Conway.BlockBody where import Cardano.Ledger.Alonzo.BlockBody import Cardano.Ledger.BaseTypes (ProtVer (..)) import Cardano.Ledger.Binary (EncCBORGroup (..), serialize') import Cardano.Ledger.Conway.Era import Cardano.Ledger.Conway.Tx () import Cardano.Ledger.Core import qualified Data.ByteString as BS instance EraBlockBody ConwayEra where type BlockBody ConwayEra = AlonzoBlockBody ConwayEra mkBasicBlockBody :: BlockBody ConwayEra mkBasicBlockBody = BlockBody ConwayEra forall era. (SafeToHash (TxWits era), BlockBody era ~ AlonzoBlockBody era, AlonzoEraTx era) => BlockBody era mkBasicBlockBodyAlonzo txSeqBlockBodyL :: Lens' (BlockBody ConwayEra) (StrictSeq (Tx TopTx ConwayEra)) txSeqBlockBodyL = (StrictSeq (Tx TopTx ConwayEra) -> f (StrictSeq (Tx TopTx ConwayEra))) -> BlockBody ConwayEra -> f (BlockBody ConwayEra) forall era. (SafeToHash (TxWits era), BlockBody era ~ AlonzoBlockBody era, AlonzoEraTx era) => Lens' (BlockBody era) (StrictSeq (Tx TopTx era)) Lens' (BlockBody ConwayEra) (StrictSeq (Tx TopTx ConwayEra)) txSeqBlockBodyAlonzoL hashBlockBody :: BlockBody ConwayEra -> Hash HASH EraIndependentBlockBody hashBlockBody = BlockBody ConwayEra -> Hash HASH EraIndependentBlockBody AlonzoBlockBody ConwayEra -> Hash HASH EraIndependentBlockBody forall era. AlonzoBlockBody era -> Hash HASH EraIndependentBlockBody alonzoBlockBodyHash numSegComponents :: Word64 numSegComponents = Word64 4 blockBodySize :: ProtVer -> BlockBody ConwayEra -> Int blockBodySize (ProtVer Version v Natural _) = ByteString -> Int BS.length (ByteString -> Int) -> (AlonzoBlockBody ConwayEra -> ByteString) -> AlonzoBlockBody ConwayEra -> 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 ConwayEra -> Encoding) -> AlonzoBlockBody ConwayEra -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . AlonzoBlockBody ConwayEra -> Encoding forall a. EncCBORGroup a => a -> Encoding encCBORGroup