From 91a05924c5ea824150b5b84e1b00960d9db6f8d0 Mon Sep 17 00:00:00 2001 From: Sebastian Nagel Date: Wed, 8 May 2024 10:48:51 +0200 Subject: [PATCH] Maybe fix toLedgerTx in presence of aux data changes We suspect that toLedgerTx is incomplete if the cardano-api Tx was modified in it's auxiliary data. --- hydra-cardano-api/src/Hydra/Cardano/Api/Tx.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hydra-cardano-api/src/Hydra/Cardano/Api/Tx.hs b/hydra-cardano-api/src/Hydra/Cardano/Api/Tx.hs index 5d23c6984be..f8d3690a984 100644 --- a/hydra-cardano-api/src/Hydra/Cardano/Api/Tx.hs +++ b/hydra-cardano-api/src/Hydra/Cardano/Api/Tx.hs @@ -32,6 +32,7 @@ import Cardano.Ledger.Api ( datsTxWitsL, feeTxBodyL, hashScriptTxWitsL, + hashTxAuxData, inputsTxBodyL, isValidTxL, mintTxBodyL, @@ -56,7 +57,7 @@ import Cardano.Ledger.Api qualified as Ledger import Cardano.Ledger.Babbage qualified as Ledger import Cardano.Ledger.Babbage.Tx qualified as Ledger import Cardano.Ledger.Babbage.TxWits (upgradeTxDats) -import Cardano.Ledger.BaseTypes (maybeToStrictMaybe, strictMaybeToMaybe) +import Cardano.Ledger.BaseTypes (StrictMaybe (..), maybeToStrictMaybe, strictMaybeToMaybe) import Cardano.Ledger.Coin (Coin (..)) import Cardano.Ledger.Conway.Scripts (PlutusScript (..)) import Cardano.Ledger.Conway.Scripts qualified as Conway @@ -225,7 +226,7 @@ toLedgerTx = \case & hashScriptTxWitsL .~ scripts & datsTxWitsL .~ datums & rdmrsTxWitsL .~ redeemers - in mkBasicTx body + in mkBasicTx (body & auxDataHashTxBodyL .~ maybe SNothing (SJust . hashTxAuxData) auxData) & isValidTxL .~ toLedgerScriptValidity validity & auxDataTxL .~ maybeToStrictMaybe auxData & witsTxL .~ wits