@@ -30,6 +30,7 @@ import Hydra.Chain (
3030 initHistory ,
3131 )
3232import Hydra.Chain.ChainState (ChainStateType , IsChainState )
33+ import Hydra.Chain.SyncedStatus (SyncedStatus (.. ))
3334import Hydra.Events (EventId , EventSink (.. ), EventSource (.. ), getEventId , putEventsToSinks )
3435import Hydra.Events.Rotation (EventStore (.. ))
3536import Hydra.HeadLogic (
@@ -306,7 +307,8 @@ stepHydraNode ::
306307stepHydraNode node = do
307308 i@ Queued {queuedId, queuedItem} <- dequeue
308309 traceWith tracer $ BeginInput {by = party, inputId = queuedId, input = queuedItem}
309- outcome <- atomically $ processNextInput node queuedItem
310+ syncedStatus <- chainSyncedStatus
311+ outcome <- atomically $ processNextInput node queuedItem syncedStatus
310312 traceWith tracer (LogicOutcome party outcome)
311313 case outcome of
312314 Continue {stateChanges, effects} -> do
@@ -326,7 +328,9 @@ stepHydraNode node = do
326328
327329 Environment {party} = env
328330
329- HydraNode {tracer, inputQueue = InputQueue {dequeue, reenqueue}, env} = node
331+ Chain {chainSyncedStatus} = oc
332+
333+ HydraNode {tracer, inputQueue = InputQueue {dequeue, reenqueue}, env, oc} = node
330334
331335-- | The maximum number of times to re-enqueue a network messages upon 'Wait'.
332336-- outcome.
@@ -347,15 +351,16 @@ processNextInput ::
347351 IsChainState tx =>
348352 HydraNode tx m ->
349353 Input tx ->
354+ SyncedStatus ->
350355 STM m (Outcome tx )
351- processNextInput HydraNode {nodeStateHandler, ledger, env} e =
356+ processNextInput HydraNode {nodeStateHandler, ledger, env} e SyncedStatus {tip} =
352357 modifyNodeState $ \ s ->
353358 let outcome = computeOutcome s e
354359 in (outcome, aggregateState s outcome)
355360 where
356361 NodeStateHandler {modifyNodeState} = nodeStateHandler
357362
358- computeOutcome = HeadLogic. update env ledger
363+ computeOutcome = HeadLogic. update env ledger tip
359364
360365processStateChanges :: (MonadSTM m , MonadTime m ) => HydraNode tx m -> [StateChanged tx ] -> m ()
361366processStateChanges node stateChanges = do
0 commit comments