{-# 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.Core (EraBlockBody (..)) import Cardano.Ledger.Shelley.BlockBody ( ShelleyBlockBody (ShelleyBlockBody), shelleyBlockBodyHash, shelleyBlockBodyTxs, ) import Lens.Micro instance EraBlockBody AllegraEra where type BlockBody AllegraEra = ShelleyBlockBody AllegraEra mkBasicBlockBody :: BlockBody AllegraEra mkBasicBlockBody = StrictSeq (Tx AllegraEra) -> ShelleyBlockBody AllegraEra forall era. (EraTx era, SafeToHash (TxWits era)) => StrictSeq (Tx era) -> ShelleyBlockBody era ShelleyBlockBody StrictSeq (Tx AllegraEra) forall a. Monoid a => a mempty txSeqBlockBodyL :: Lens' (BlockBody AllegraEra) (StrictSeq (Tx AllegraEra)) txSeqBlockBodyL = (ShelleyBlockBody AllegraEra -> StrictSeq (Tx AllegraEra)) -> (ShelleyBlockBody AllegraEra -> StrictSeq (Tx AllegraEra) -> ShelleyBlockBody AllegraEra) -> Lens (ShelleyBlockBody AllegraEra) (ShelleyBlockBody AllegraEra) (StrictSeq (Tx AllegraEra)) (StrictSeq (Tx AllegraEra)) forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b lens ShelleyBlockBody AllegraEra -> StrictSeq (Tx AllegraEra) forall era. ShelleyBlockBody era -> StrictSeq (Tx era) shelleyBlockBodyTxs (\ShelleyBlockBody AllegraEra _ StrictSeq (Tx AllegraEra) s -> StrictSeq (Tx AllegraEra) -> ShelleyBlockBody AllegraEra forall era. (EraTx era, SafeToHash (TxWits era)) => StrictSeq (Tx era) -> ShelleyBlockBody era ShelleyBlockBody StrictSeq (Tx AllegraEra) s) 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