99{-# LANGUAGE GeneralizedNewtypeDeriving #-}
1010{-# LANGUAGE MultiParamTypeClasses #-}
1111{-# LANGUAGE NamedFieldPuns #-}
12- {-# LANGUAGE OverloadedStrings #-}
13- {-# LANGUAGE PatternSynonyms #-}
1412{-# LANGUAGE ScopedTypeVariables #-}
1513{-# LANGUAGE StandaloneDeriving #-}
1614{-# LANGUAGE TypeApplications #-}
@@ -42,6 +40,7 @@ module Cardano.Ledger.Alonzo.Tx (
4240 ScriptIntegrityHash ,
4341 -- Figure 3
4442 AlonzoTx (AlonzoTx , atBody , atWits , atIsValid , atAuxData ),
43+ Tx (.. ),
4544 AlonzoEraTx (.. ),
4645 mkBasicAlonzoTx ,
4746 bodyAlonzoTxL ,
@@ -61,7 +60,6 @@ module Cardano.Ledger.Alonzo.Tx (
6160 -- Other
6261 toCBORForSizeComputation ,
6362 toCBORForMempoolSubmission ,
64- alonzoEqTxRaw ,
6563) where
6664
6765import Cardano.Ledger.Allegra.Tx (validateTimelock )
@@ -108,10 +106,9 @@ import Cardano.Ledger.Binary (
108106import Cardano.Ledger.Binary.Coders
109107import Cardano.Ledger.Coin (Coin (.. ))
110108import Cardano.Ledger.Core
111- import Cardano.Ledger.MemoBytes ( EqRaw (.. ))
109+ import Cardano.Ledger.Mary ( Tx (.. ))
112110import Cardano.Ledger.Plutus.Data (Data , hashData )
113111import Cardano.Ledger.Plutus.Language (nonNativeLanguages )
114- import Cardano.Ledger.Shelley.Tx (shelleyEqTxRaw )
115112import qualified Cardano.Ledger.State as Shelley
116113import Cardano.Ledger.Val (Val ((<+>) , (<×>) ))
117114import Control.DeepSeq (NFData (.. ))
@@ -145,20 +142,22 @@ data AlonzoTx era = AlonzoTx
145142 deriving (Generic )
146143
147144instance EraTx AlonzoEra where
148- type Tx AlonzoEra = AlonzoTx AlonzoEra
145+ newtype Tx AlonzoEra = MkAlonzoTx (AlonzoTx AlonzoEra )
146+ deriving newtype (Eq , NFData , EncCBOR , ToCBOR , NoThunks , Show )
147+ deriving (Generic )
149148
150- mkBasicTx = mkBasicAlonzoTx
149+ mkBasicTx = MkAlonzoTx . mkBasicAlonzoTx
151150
152- bodyTxL = bodyAlonzoTxL
151+ bodyTxL = alonzoTxL . bodyAlonzoTxL
153152 {-# INLINE bodyTxL #-}
154153
155- witsTxL = witsAlonzoTxL
154+ witsTxL = alonzoTxL . witsAlonzoTxL
156155 {-# INLINE witsTxL #-}
157156
158- auxDataTxL = auxDataAlonzoTxL
157+ auxDataTxL = alonzoTxL . auxDataAlonzoTxL
159158 {-# INLINE auxDataTxL #-}
160159
161- sizeTxF = sizeAlonzoTxF
160+ sizeTxF = alonzoTxL . sizeAlonzoTxF
162161 {-# INLINE sizeTxF #-}
163162
164163 validateNativeScript = validateTimelock
@@ -167,17 +166,20 @@ instance EraTx AlonzoEra where
167166 getMinFeeTx pp tx _ = alonzoMinFeeTx pp tx
168167 {-# INLINE getMinFeeTx #-}
169168
170- instance (Tx era ~ AlonzoTx era , AlonzoEraTx era ) => EqRaw (AlonzoTx era ) where
171- eqRaw = alonzoEqTxRaw
169+ alonzoTxL :: Lens' (Tx AlonzoEra ) (AlonzoTx AlonzoEra )
170+ alonzoTxL = lens undefined undefined
172171
173172class
174173 (EraTx era , AlonzoEraTxBody era , AlonzoEraTxWits era , AlonzoEraScript era ) =>
175174 AlonzoEraTx era
176175 where
177176 isValidTxL :: Lens' (Tx era ) IsValid
178177
178+ instance DecCBOR (Annotator (Tx AlonzoEra )) where
179+ decCBOR = fmap MkAlonzoTx <$> decCBOR
180+
179181instance AlonzoEraTx AlonzoEra where
180- isValidTxL = isValidAlonzoTxL
182+ isValidTxL = alonzoTxL . isValidAlonzoTxL
181183 {-# INLINE isValidTxL #-}
182184
183185mkBasicAlonzoTx :: Monoid (TxWits era ) => TxBody era -> AlonzoTx era
@@ -395,7 +397,3 @@ instance
395397 <$> decodeNullMaybe decCBOR
396398 )
397399 {-# INLINE decCBOR #-}
398-
399- alonzoEqTxRaw :: AlonzoEraTx era => Tx era -> Tx era -> Bool
400- alonzoEqTxRaw tx1 tx2 =
401- shelleyEqTxRaw tx1 tx2 && (tx1 ^. isValidTxL == tx2 ^. isValidTxL)
0 commit comments