99{-# LANGUAGE StandaloneDeriving #-}
1010{-# LANGUAGE TypeApplications #-}
1111{-# LANGUAGE TypeFamilies #-}
12+ {-# LANGUAGE TypeOperators #-}
1213{-# LANGUAGE UndecidableInstances #-}
1314{-# LANGUAGE ViewPatterns #-}
1415{-# OPTIONS_GHC -Wno-orphans #-}
@@ -26,6 +27,8 @@ module Cardano.Ledger.Alonzo.BlockBody.Internal (
2627 AlonzoBlockBody (AlonzoBlockBody , .. ),
2728 hashAlonzoSegWits ,
2829 alignedValidFlags ,
30+ mkBasicBlockBodyAlonzo ,
31+ txSeqBlockBodyAlonzoL ,
2932) where
3033
3134import qualified Cardano.Crypto.Hash as Hash
@@ -89,11 +92,29 @@ data AlonzoBlockBody era = AlonzoBlockBodyInternal
8992
9093instance EraBlockBody AlonzoEra where
9194 type BlockBody AlonzoEra = AlonzoBlockBody AlonzoEra
92- mkBasicBlockBody = AlonzoBlockBody mempty
93- txSeqBlockBodyL = lens abbTxs ( \ _ s -> AlonzoBlockBody s)
95+ mkBasicBlockBody = mkBasicBlockBodyAlonzo
96+ txSeqBlockBodyL = txSeqBlockBodyAlonzoL
9497 hashBlockBody = abbHash
9598 numSegComponents = 4
9699
100+ mkBasicBlockBodyAlonzo ::
101+ ( SafeToHash (TxWits era )
102+ , BlockBody era ~ AlonzoBlockBody era
103+ , AlonzoEraTx era
104+ ) =>
105+ BlockBody era
106+ mkBasicBlockBodyAlonzo = AlonzoBlockBody mempty
107+ {-# INLINEABLE mkBasicBlockBodyAlonzo #-}
108+
109+ txSeqBlockBodyAlonzoL ::
110+ ( SafeToHash (TxWits era )
111+ , BlockBody era ~ AlonzoBlockBody era
112+ , AlonzoEraTx era
113+ ) =>
114+ Lens' (BlockBody era ) (StrictSeq (Tx era ))
115+ txSeqBlockBodyAlonzoL = lens abbTxs (\ _ s -> AlonzoBlockBody s)
116+ {-# INLINEABLE txSeqBlockBodyAlonzoL #-}
117+
97118pattern AlonzoBlockBody ::
98119 forall era.
99120 ( AlonzoEraTx era
0 commit comments