{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Mary.BlockBody () where import Cardano.Ledger.Core (EraBlockBody (..)) import Cardano.Ledger.Mary.Era (MaryEra) import Cardano.Ledger.Mary.Tx () import Cardano.Ledger.Shelley.BlockBody ( ShelleyBlockBody (ShelleyBlockBody), shelleyBlockBodyHash, shelleyBlockBodyTxs, ) import Lens.Micro instance EraBlockBody MaryEra where type BlockBody MaryEra = ShelleyBlockBody MaryEra mkBasicBlockBody :: BlockBody MaryEra mkBasicBlockBody = StrictSeq (Tx MaryEra) -> ShelleyBlockBody MaryEra forall era. (EraTx era, SafeToHash (TxWits era)) => StrictSeq (Tx era) -> ShelleyBlockBody era ShelleyBlockBody StrictSeq (Tx MaryEra) forall a. Monoid a => a mempty txSeqBlockBodyL :: Lens' (BlockBody MaryEra) (StrictSeq (Tx MaryEra)) txSeqBlockBodyL = (ShelleyBlockBody MaryEra -> StrictSeq (Tx MaryEra)) -> (ShelleyBlockBody MaryEra -> StrictSeq (Tx MaryEra) -> ShelleyBlockBody MaryEra) -> Lens (ShelleyBlockBody MaryEra) (ShelleyBlockBody MaryEra) (StrictSeq (Tx MaryEra)) (StrictSeq (Tx MaryEra)) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b lens ShelleyBlockBody MaryEra -> StrictSeq (Tx MaryEra) forall era. ShelleyBlockBody era -> StrictSeq (Tx era) shelleyBlockBodyTxs (\ShelleyBlockBody MaryEra _ StrictSeq (Tx MaryEra) s -> StrictSeq (Tx MaryEra) -> ShelleyBlockBody MaryEra forall era. (EraTx era, SafeToHash (TxWits era)) => StrictSeq (Tx era) -> ShelleyBlockBody era ShelleyBlockBody StrictSeq (Tx MaryEra) s) hashBlockBody :: BlockBody MaryEra -> Hash HASH EraIndependentBlockBody hashBlockBody = BlockBody MaryEra -> Hash HASH EraIndependentBlockBody ShelleyBlockBody MaryEra -> Hash HASH EraIndependentBlockBody forall era. ShelleyBlockBody era -> Hash HASH EraIndependentBlockBody shelleyBlockBodyHash numSegComponents :: Word64 numSegComponents = Word64 3