{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Allegra.BlockBody () where import Cardano.Ledger.Allegra.Era (AllegraEra) import Cardano.Ledger.Allegra.Tx () import Cardano.Ledger.BaseTypes (ProtVer (..)) import Cardano.Ledger.Binary (EncCBORGroup (..), serialize') import Cardano.Ledger.Core (EraBlockBody (..)) import Cardano.Ledger.Shelley.BlockBody ( ShelleyBlockBody, mkBasicBlockBodyShelley, shelleyBlockBodyHash, txSeqBlockBodyShelleyL, ) import qualified Data.ByteString as BS instance EraBlockBody AllegraEra where type BlockBody AllegraEra = ShelleyBlockBody AllegraEra mkBasicBlockBody :: BlockBody AllegraEra mkBasicBlockBody = BlockBody AllegraEra forall era. (EraBlockBody era, SafeToHash (TxWits era), BlockBody era ~ ShelleyBlockBody era) => BlockBody era mkBasicBlockBodyShelley txSeqBlockBodyL :: Lens' (BlockBody AllegraEra) (StrictSeq (Tx TopTx AllegraEra)) txSeqBlockBodyL = (StrictSeq (Tx TopTx AllegraEra) -> f (StrictSeq (Tx TopTx AllegraEra))) -> BlockBody AllegraEra -> f (BlockBody AllegraEra) forall era. (EraBlockBody era, SafeToHash (TxWits era), BlockBody era ~ ShelleyBlockBody era) => Lens' (BlockBody era) (StrictSeq (Tx TopTx era)) Lens' (BlockBody AllegraEra) (StrictSeq (Tx TopTx AllegraEra)) txSeqBlockBodyShelleyL hashBlockBody :: BlockBody AllegraEra -> Hash HASH EraIndependentBlockBody hashBlockBody = BlockBody AllegraEra -> Hash HASH EraIndependentBlockBody ShelleyBlockBody AllegraEra -> Hash HASH EraIndependentBlockBody forall era. ShelleyBlockBody era -> Hash HASH EraIndependentBlockBody shelleyBlockBodyHash numSegComponents :: Word64 numSegComponents = Word64 3 blockBodySize :: ProtVer -> BlockBody AllegraEra -> Int blockBodySize (ProtVer Version v Natural _) = ByteString -> Int BS.length (ByteString -> Int) -> (ShelleyBlockBody AllegraEra -> ByteString) -> ShelleyBlockBody AllegraEra -> 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) -> (ShelleyBlockBody AllegraEra -> Encoding) -> ShelleyBlockBody AllegraEra -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . ShelleyBlockBody AllegraEra -> Encoding forall a. EncCBORGroup a => a -> Encoding encCBORGroup