From a484ee8cda32493c7770859e9ff0c2db02877050 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Tue, 18 Jan 2022 10:46:43 +0100 Subject: [PATCH] Add clarification about mutating the collect-com result datum. --- .../test/Hydra/Chain/Direct/ContractSpec.hs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs b/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs index d8634395e02..bce4a593dc0 100644 --- a/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs +++ b/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs @@ -436,19 +436,29 @@ genCollectComMutation (tx, _utxo) = pure $ TxOut collectComOutputAddress mutatedValue collectComOutputDatum , SomeMutation MutateOpenUtxoHash . ChangeOutput 0 <$> do mutatedUtxoHash <- BS.pack <$> vector 32 + -- NOTE / TODO: + -- + -- This should probably be defined a 'Mutation', but it is different + -- from 'ChangeHeadDatum'. The latter modifies the _input_ datum given + -- to the script, whereas this one modifies the resulting head datum in + -- the output. case collectComOutputDatum of - TxOutDatumNone -> error "unexpected empty head datum" - (TxOutDatumHash _sdsie _ha) -> error "unexpected hash-only datum" + TxOutDatumNone -> + error "Unexpected empty head datum" + (TxOutDatumHash _sdsie _ha) -> + error "Unexpected hash-only datum" (TxOutDatum _sdsie sd) -> case fromData $ toPlutusData sd of - Nothing -> error "Invalid data" (Just Head.Open{parties}) -> pure $ TxOut collectComOutputAddress collectComOutputValue (mkTxOutDatum Head.Open{parties, Head.utxoHash = toBuiltin mutatedUtxoHash}) - (Just st) -> error $ "unexpected state " <> show st + (Just st) -> + error $ "Unexpected state " <> show st + Nothing -> + error "Invalid data" ] where TxOut collectComOutputAddress collectComOutputValue collectComOutputDatum =