@@ -137,8 +137,8 @@ instance IsTx tx => FromJSON (Snapshot tx) where
137137 Left _ -> fail " Failed to deserialize accumulator"
138138 Right acc -> pure $ Accumulator. HydraAccumulator acc
139139 _ -> do
140- -- Reconstruct accumulator from utxo hashes for backward compatibility (or if empty)
141- pure $ Accumulator. buildFromUTxO utxo
140+ -- Reconstruct accumulator from all UTxOs (including commit/decommit) for backward compatibility (or if empty)
141+ pure $ Accumulator. buildFromSnapshotUTxOs utxo utxoToCommit utxoToDecommit
142142 pure $ Snapshot {headId, version, number, confirmed, utxo, utxoToCommit, utxoToDecommit, accumulator}
143143 where
144144 parseBase16 :: Text -> Parser ByteString
@@ -156,12 +156,12 @@ instance (Arbitrary tx, Arbitrary (UTxOType tx), IsTx tx) => Arbitrary (Snapshot
156156 utxo <- arbitrary
157157 utxoToCommit <- arbitrary
158158 utxoToDecommit <- arbitrary
159- let accumulator = Accumulator. buildFromUTxO utxo
159+ let accumulator = Accumulator. buildFromSnapshotUTxOs utxo utxoToCommit utxoToDecommit
160160 pure $ Snapshot {headId, version, number, confirmed, utxo, utxoToCommit, utxoToDecommit, accumulator}
161161
162162 -- NOTE: See note on 'Arbitrary (ClientInput tx)'
163163 shrink Snapshot {headId, version, number, utxo, confirmed, utxoToCommit, utxoToDecommit} =
164- [ let accumulator = Accumulator. buildFromUTxO utxo'
164+ [ let accumulator = Accumulator. buildFromSnapshotUTxOs utxo' utxoToCommit' utxoToDecommit '
165165 in Snapshot headId version number confirmed' utxo' utxoToCommit' utxoToDecommit' accumulator
166166 | confirmed' <- shrink confirmed
167167 , utxo' <- shrink utxo
@@ -252,7 +252,7 @@ genConfirmedSnapshot headId version minSn utxo utxoToCommit utxoToDecommit sks
252252 -- FIXME: This is another nail in the coffin to our current modeling of
253253 -- snapshots
254254 number <- arbitrary `suchThat` (> minSn)
255- let accumulator = Accumulator. buildFromUTxO utxo
255+ let accumulator = Accumulator. buildFromSnapshotUTxOs utxo utxoToCommit utxoToDecommit
256256 snapshot = Snapshot {headId, version, number, confirmed = [] , utxo, utxoToCommit, utxoToDecommit, accumulator}
257257 let signatures = aggregate $ fmap (`sign` snapshot) sks
258258 pure $ ConfirmedSnapshot {snapshot, signatures}
0 commit comments