Skip to content

Commit 46d83d4

Browse files
committed
Move Environment into dedicated module
1 parent e5c2eec commit 46d83d4

File tree

14 files changed

+55
-54
lines changed

14 files changed

+55
-54
lines changed

hydra-node/hydra-node.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ library
6767
Hydra.Chain.Offline
6868
Hydra.ContestationPeriod
6969
Hydra.Crypto
70+
Hydra.Environment
7071
Hydra.Events
7172
Hydra.HeadId
7273
Hydra.HeadLogic
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
module Hydra.Environment where
2+
3+
import Hydra.Prelude
4+
5+
import Hydra.ContestationPeriod (ContestationPeriod)
6+
import Hydra.Crypto (HydraKey, SigningKey)
7+
import Hydra.OnChainId (OnChainId)
8+
import Hydra.Party (Party, deriveParty)
9+
10+
data Environment = Environment
11+
{ party :: Party
12+
-- ^ This is the p_i from the paper
13+
, -- XXX: In the long run we would not want to keep the signing key in memory,
14+
-- i.e. have an 'Effect' for signing or so.
15+
signingKey :: SigningKey HydraKey
16+
, otherParties :: [Party]
17+
, -- XXX: Improve naming
18+
participants :: [OnChainId]
19+
, contestationPeriod :: ContestationPeriod
20+
}
21+
deriving stock (Show)
22+
23+
instance Arbitrary Environment where
24+
arbitrary = do
25+
signingKey <- arbitrary
26+
otherParties <- arbitrary
27+
participants <- arbitrary
28+
contestationPeriod <- arbitrary
29+
pure $
30+
Environment
31+
{ signingKey
32+
, party = deriveParty signingKey
33+
, otherParties
34+
, contestationPeriod
35+
, participants
36+
}

hydra-node/src/Hydra/HeadLogic.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import Hydra.Crypto (
4747
sign,
4848
verifyMultiSignature,
4949
)
50+
import Hydra.Environment (Environment (..))
5051
import Hydra.HeadId (HeadId, HeadSeed)
5152
import Hydra.HeadLogic.Error (
5253
LogicError (..),
@@ -69,7 +70,6 @@ import Hydra.HeadLogic.State (
6970
ClosedState (..),
7071
Committed,
7172
CoordinatedHeadState (..),
72-
Environment (..),
7373
HeadState (..),
7474
IdleState (IdleState, chainState),
7575
InitialState (..),

hydra-node/src/Hydra/HeadLogic/Outcome.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Hydra.Prelude
88
import Hydra.API.ServerOutput (ServerOutput)
99
import Hydra.Chain (ChainStateType, HeadParameters, IsChainState, PostChainTx)
1010
import Hydra.Crypto (MultiSignature, Signature)
11+
import Hydra.Environment (Environment (..))
1112
import Hydra.Events (HasEventId (..))
1213
import Hydra.HeadId (HeadId, HeadSeed)
1314
import Hydra.HeadLogic.Error (LogicError)

hydra-node/src/Hydra/HeadLogic/State.hs

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,12 @@ import Hydra.Prelude
88

99
import Data.Map qualified as Map
1010
import Hydra.Chain (ChainStateType, HeadParameters)
11-
import Hydra.ContestationPeriod (ContestationPeriod)
12-
import Hydra.Crypto (HydraKey, Signature, SigningKey)
11+
import Hydra.Crypto (Signature)
1312
import Hydra.HeadId (HeadId, HeadSeed)
1413
import Hydra.Ledger (ChainSlot, IsTx (..))
15-
import Hydra.OnChainId (OnChainId)
16-
import Hydra.Party (Party, deriveParty)
14+
import Hydra.Party (Party)
1715
import Hydra.Snapshot (ConfirmedSnapshot, Snapshot (..), SnapshotNumber)
1816

19-
data Environment = Environment
20-
{ party :: Party
21-
-- ^ This is the p_i from the paper
22-
, -- NOTE(MB): In the long run we would not want to keep the signing key in
23-
-- memory, i.e. have an 'Effect' for signing or so.
24-
signingKey :: SigningKey HydraKey
25-
, otherParties :: [Party]
26-
, -- XXX: Improve naming
27-
participants :: [OnChainId]
28-
, contestationPeriod :: ContestationPeriod
29-
}
30-
deriving stock (Show)
31-
32-
instance Arbitrary Environment where
33-
arbitrary = do
34-
signingKey <- arbitrary
35-
otherParties <- arbitrary
36-
participants <- arbitrary
37-
contestationPeriod <- arbitrary
38-
pure $
39-
Environment
40-
{ signingKey
41-
, party = deriveParty signingKey
42-
, otherParties
43-
, contestationPeriod
44-
, participants
45-
}
46-
4717
-- | The main state of the Hydra protocol state machine. It holds both, the
4818
-- overall protocol state, but also the off-chain 'CoordinatedHeadState'.
4919
--

hydra-node/src/Hydra/Node.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ import Hydra.Chain (
3333
import Hydra.Chain.Direct.Tx (verificationKeyToOnChainId)
3434
import Hydra.Chain.Direct.Util (readFileTextEnvelopeThrow)
3535
import Hydra.Crypto (AsType (AsHydraKey))
36+
import Hydra.Environment (Environment (..))
3637
import Hydra.Events (EventSink (..), EventSource (..), putEventToSinks, putEventsToSinks)
3738
import Hydra.HeadLogic (
3839
Effect (..),
39-
Environment (..),
4040
HeadState (..),
4141
IdleState (..),
4242
Input (..),

hydra-node/src/Hydra/Node/Run.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import Hydra.Chain.CardanoClient (QueryPoint (..), queryGenesisParameters)
1212
import Hydra.Chain.Direct (loadChainContext, mkTinyWallet, withDirectChain)
1313
import Hydra.Chain.Direct.State (initialChainState)
1414
import Hydra.Chain.Offline (loadGenesisFile, withOfflineChain)
15-
import Hydra.HeadLogic (Environment (..))
15+
import Hydra.Environment (Environment (..))
1616
import Hydra.Ledger.Cardano qualified as Ledger
1717
import Hydra.Ledger.Cardano.Configuration (
1818
Globals,

hydra-node/test/Hydra/BehaviorSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ import Hydra.Chain.Direct.Handlers (getLatest, newLocalChainState, pushNew, roll
3838
import Hydra.Chain.Direct.State (ChainStateAt (..))
3939
import Hydra.ContestationPeriod (ContestationPeriod (UnsafeContestationPeriod), toNominalDiffTime)
4040
import Hydra.Crypto (HydraKey, aggregate, sign)
41+
import Hydra.Environment (Environment (..))
4142
import Hydra.HeadLogic (
4243
Effect (..),
43-
Environment (..),
4444
HeadState (..),
4545
IdleState (..),
4646
Input (..),

hydra-node/test/Hydra/HeadLogicSnapshotSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import Data.List qualified as List
1010
import Data.Map.Strict qualified as Map
1111
import Hydra.Chain (HeadParameters (..))
1212
import Hydra.Crypto (sign)
13+
import Hydra.Environment (Environment (..))
1314
import Hydra.HeadLogic (
1415
CoordinatedHeadState (..),
1516
Effect (..),
16-
Environment (..),
1717
HeadState (..),
1818
Input (NetworkInput),
1919
OpenState (OpenState),

hydra-node/test/Hydra/HeadLogicSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ import Hydra.Chain.Direct.Fixture qualified as Fixture
2828
import Hydra.Chain.Direct.State ()
2929
import Hydra.Crypto (generateSigningKey, sign)
3030
import Hydra.Crypto qualified as Crypto
31+
import Hydra.Environment (Environment (..))
3132
import Hydra.Events (EventId)
3233
import Hydra.HeadLogic (
3334
ClosedState (..),
3435
CoordinatedHeadState (..),
3536
Effect (..),
36-
Environment (..),
3737
HeadState (..),
3838
IdleState (..),
3939
InitialState (..),

0 commit comments

Comments
 (0)