@@ -45,7 +45,6 @@ module Cardano.Ledger.Alonzo.TxBody (
4545 atbTxNetworkId
4646 ),
4747 AlonzoTxBodyRaw (.. ),
48- AlonzoTxBodyUpgradeError (.. ),
4948 AlonzoEraTxBody (.. ),
5049 ShelleyEraTxBody (.. ),
5150 AllegraEraTxBody (.. ),
@@ -103,11 +102,7 @@ import Cardano.Ledger.Binary (
103102 )
104103import Cardano.Ledger.Binary.Coders
105104import Cardano.Ledger.Coin (Coin (.. ))
106- import Cardano.Ledger.Mary (MaryEra )
107105import Cardano.Ledger.Mary.Core
108- import Cardano.Ledger.Mary.TxBody (
109- TxBody (.. ),
110- )
111106import Cardano.Ledger.Mary.Value (
112107 MultiAsset (.. ),
113108 PolicyID (.. ),
@@ -124,22 +119,17 @@ import Cardano.Ledger.MemoBytes (
124119 lensMemoRawType ,
125120 mkMemoizedEra ,
126121 )
127- import Cardano.Ledger.Shelley.PParams (ProposedPPUpdates ( .. ), Update (.. ))
122+ import Cardano.Ledger.Shelley.PParams (Update (.. ))
128123import Cardano.Ledger.Shelley.TxBody (getShelleyGenesisKeyHashCountTxBody )
129124import Cardano.Ledger.TxIn (TxIn (.. ))
130- import Control.Arrow (left )
131125import Control.DeepSeq (NFData (.. ))
132- import Control.Monad (when )
133- import Data.Default (def )
134126import qualified Data.Map.Strict as Map
135- import Data.Maybe.Strict (isSJust )
136127import Data.OSet.Strict (OSet )
137128import qualified Data.OSet.Strict as OSet
138129import Data.Sequence.Strict (StrictSeq )
139130import qualified Data.Sequence.Strict as StrictSeq
140131import Data.Set (Set )
141132import qualified Data.Set as Set
142- import Data.Void (absurd )
143133import Data.Word (Word32 )
144134import GHC.Generics (Generic )
145135import Lens.Micro
@@ -200,18 +190,10 @@ deriving instance Show AlonzoTxBodyRaw
200190instance Memoized (TxBody AlonzoEra ) where
201191 type RawType (TxBody AlonzoEra ) = AlonzoTxBodyRaw
202192
203- data AlonzoTxBodyUpgradeError
204- = -- | The TxBody contains a protocol parameter update that attempts to update
205- -- the min UTxO. Since this doesn't exist in Alonzo, we fail if an attempt is
206- -- made to update it.
207- ATBUEMinUTxOUpdated
208- deriving (Show )
209-
210193instance EraTxBody AlonzoEra where
211194 newtype TxBody AlonzoEra = MkAlonzoTxBody (MemoBytes AlonzoTxBodyRaw )
212195 deriving (ToCBOR , Generic )
213196 deriving newtype (SafeToHash )
214- type TxBodyUpgradeError AlonzoEra = AlonzoTxBodyUpgradeError
215197
216198 mkBasicTxBody = mkMemoizedEra @ AlonzoEra emptyAlonzoTxBodyRaw
217199
@@ -254,60 +236,6 @@ instance EraTxBody AlonzoEra where
254236
255237 getGenesisKeyHashCountTxBody = getShelleyGenesisKeyHashCountTxBody
256238
257- upgradeTxBody
258- MaryTxBody
259- { mtbInputs
260- , mtbOutputs
261- , mtbCerts
262- , mtbWithdrawals
263- , mtbTxFee
264- , mtbValidityInterval
265- , mtbUpdate
266- , mtbAuxDataHash
267- , mtbMint
268- } = do
269- certs <-
270- traverse
271- (left absurd . upgradeTxCert)
272- mtbCerts
273-
274- updates <- traverse upgradeUpdate mtbUpdate
275- pure $
276- AlonzoTxBody
277- { atbInputs = mtbInputs
278- , atbOutputs = upgradeTxOut <$> mtbOutputs
279- , atbCerts = certs
280- , atbWithdrawals = mtbWithdrawals
281- , atbTxFee = mtbTxFee
282- , atbValidityInterval = mtbValidityInterval
283- , atbUpdate = updates
284- , atbAuxDataHash = mtbAuxDataHash
285- , atbMint = mtbMint
286- , atbCollateral = mempty
287- , atbReqSignerHashes = mempty
288- , atbScriptIntegrityHash = SNothing
289- , atbTxNetworkId = SNothing
290- }
291- where
292- upgradeUpdate ::
293- Update MaryEra ->
294- Either AlonzoTxBodyUpgradeError (Update AlonzoEra )
295- upgradeUpdate (Update pp epoch) =
296- Update <$> upgradeProposedPPUpdates pp <*> pure epoch
297-
298- upgradeProposedPPUpdates ::
299- ProposedPPUpdates MaryEra ->
300- Either AlonzoTxBodyUpgradeError (ProposedPPUpdates AlonzoEra )
301- upgradeProposedPPUpdates (ProposedPPUpdates m) =
302- ProposedPPUpdates
303- <$> traverse
304- ( \ ppu -> do
305- when (isSJust $ ppu ^. ppuMinUTxOValueL) $
306- Left ATBUEMinUTxOUpdated
307- pure $ upgradePParamsUpdate def ppu
308- )
309- m
310-
311239instance ShelleyEraTxBody AlonzoEra where
312240 ttlTxBodyL = notSupportedInThisEraL
313241
0 commit comments