{-# 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, mkBasicBlockBodyShelley, shelleyBlockBodyHash, txSeqBlockBodyShelleyL, ) instance EraBlockBody MaryEra where type BlockBody MaryEra = ShelleyBlockBody MaryEra mkBasicBlockBody :: BlockBody MaryEra mkBasicBlockBody = BlockBody MaryEra forall era. (EraBlockBody era, SafeToHash (TxWits era), BlockBody era ~ ShelleyBlockBody era) => BlockBody era mkBasicBlockBodyShelley txSeqBlockBodyL :: Lens' (BlockBody MaryEra) (StrictSeq (Tx MaryEra)) txSeqBlockBodyL = (StrictSeq (Tx MaryEra) -> f (StrictSeq (Tx MaryEra))) -> BlockBody MaryEra -> f (BlockBody MaryEra) forall era. (EraBlockBody era, SafeToHash (TxWits era), BlockBody era ~ ShelleyBlockBody era) => Lens' (BlockBody era) (StrictSeq (Tx era)) Lens' (BlockBody MaryEra) (StrictSeq (Tx MaryEra)) txSeqBlockBodyShelleyL 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