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