@@ -29,13 +29,12 @@ import Hydra.Chain (
29
29
PostTxError ,
30
30
initHistory ,
31
31
)
32
- import Hydra.Chain.ChainState (ChainStateType , IsChainState , chainStateSlot )
32
+ import Hydra.Chain.ChainState (ChainStateType , IsChainState )
33
33
import Hydra.Events (EventId , EventSink (.. ), EventSource (.. ), getEventId , putEventsToSinks )
34
34
import Hydra.Events.Rotation (EventStore (.. ))
35
35
import Hydra.HeadLogic (
36
36
Effect (.. ),
37
37
HeadState (.. ),
38
- IdleState (.. ),
39
38
Input (.. ),
40
39
NodeState (.. ),
41
40
Outcome (.. ),
@@ -46,7 +45,7 @@ import Hydra.HeadLogic (
46
45
)
47
46
import Hydra.HeadLogic qualified as HeadLogic
48
47
import Hydra.HeadLogic.Outcome (StateChanged (.. ))
49
- import Hydra.HeadLogic.State (getHeadParameters )
48
+ import Hydra.HeadLogic.State (getHeadParameters , initNodeState )
50
49
import Hydra.HeadLogic.StateEvent (StateEvent (.. ))
51
50
import Hydra.Ledger (Ledger )
52
51
import Hydra.Logging (Tracer , traceWith )
@@ -160,7 +159,7 @@ data DraftHydraNode tx m = DraftHydraNode
160
159
{ tracer :: Tracer m (HydraNodeLog tx )
161
160
, env :: Environment
162
161
, ledger :: Ledger tx
163
- , nodeState :: NodeStateHandler tx m
162
+ , nodeStateHandler :: NodeStateHandler tx m
164
163
, inputQueue :: InputQueue m (Input tx )
165
164
, eventSource :: EventSource (StateEvent tx ) m
166
165
, eventSinks :: [EventSink (StateEvent tx ) m ]
@@ -209,19 +208,14 @@ hydrate tracer env ledger initialChainState EventStore{eventSource, eventSink} e
209
208
{ tracer
210
209
, env
211
210
, ledger
212
- , nodeState = nodeStateHandler
211
+ , nodeStateHandler
213
212
, inputQueue
214
213
, eventSource
215
214
, eventSinks = eventSink : eventSinks
216
215
, chainStateHistory
217
216
}
218
217
where
219
- initialState =
220
- NodeState
221
- { headState = Idle IdleState {chainState = initialChainState}
222
- , pendingDeposits = mempty
223
- , currentSlot = chainStateSlot initialChainState
224
- }
218
+ initialState = initNodeState initialChainState
225
219
226
220
recoverNodeStateC =
227
221
mapC stateChanged
@@ -270,16 +264,16 @@ connect ::
270
264
DraftHydraNode tx m ->
271
265
m (HydraNode tx m )
272
266
connect chain network server node =
273
- pure HydraNode {tracer, env, ledger, nodeState , inputQueue, eventSource, eventSinks, oc = chain, hn = network, server}
267
+ pure HydraNode {tracer, env, ledger, nodeStateHandler , inputQueue, eventSource, eventSinks, oc = chain, hn = network, server}
274
268
where
275
- DraftHydraNode {tracer, env, ledger, nodeState , inputQueue, eventSource, eventSinks} = node
269
+ DraftHydraNode {tracer, env, ledger, nodeStateHandler , inputQueue, eventSource, eventSinks} = node
276
270
277
271
-- | Fully connected hydra node with everything wired in.
278
272
data HydraNode tx m = HydraNode
279
273
{ tracer :: Tracer m (HydraNodeLog tx )
280
274
, env :: Environment
281
275
, ledger :: Ledger tx
282
- , nodeState :: NodeStateHandler tx m
276
+ , nodeStateHandler :: NodeStateHandler tx m
283
277
, inputQueue :: InputQueue m (Input tx )
284
278
, eventSource :: EventSource (StateEvent tx ) m
285
279
, eventSinks :: [EventSink (StateEvent tx ) m ]
@@ -354,12 +348,12 @@ processNextInput ::
354
348
HydraNode tx m ->
355
349
Input tx ->
356
350
STM m (Outcome tx )
357
- processNextInput HydraNode {nodeState , ledger, env} e =
351
+ processNextInput HydraNode {nodeStateHandler , ledger, env} e =
358
352
modifyNodeState $ \ s ->
359
353
let outcome = computeOutcome s e
360
354
in (outcome, aggregateState s outcome)
361
355
where
362
- NodeStateHandler {modifyNodeState} = nodeState
356
+ NodeStateHandler {modifyNodeState} = nodeStateHandler
363
357
364
358
computeOutcome = HeadLogic. update env ledger
365
359
@@ -373,7 +367,7 @@ processStateChanges node stateChanges = do
373
367
where
374
368
HydraNode
375
369
{ eventSinks
376
- , nodeState = NodeStateHandler {getNextEventId}
370
+ , nodeStateHandler = NodeStateHandler {getNextEventId}
377
371
} = node
378
372
379
373
processEffects ::
0 commit comments