Skip to content

Commit

Permalink
Fix server output api schema
Browse files Browse the repository at this point in the history
  • Loading branch information
ffakenz committed Apr 30, 2024
1 parent f358e61 commit 099366e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
5 changes: 2 additions & 3 deletions hydra-node/src/Hydra/API/ServerOutput.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import Hydra.HeadId (HeadId)
import Hydra.HeadLogic.State (HeadState)
import Hydra.Ledger (IsTx, UTxOType, ValidationError)
import Hydra.Network (Host, NodeId)
import Hydra.Network.Message (HydraVersionedProtocolNumber, KnownHydraVersions)
import Hydra.OnChainId (OnChainId)
import Hydra.Party (Party)
import Hydra.Prelude hiding (seq)
Expand Down Expand Up @@ -56,8 +55,8 @@ data ServerOutput tx
| PeerDisconnected {peer :: NodeId}
| PeerHandshakeFailure
{ remoteHost :: Host
, ourVersion :: HydraVersionedProtocolNumber
, theirVersions :: KnownHydraVersions
, ourVersion :: Int
, theirVersions :: [Int]
}
| HeadIsInitializing {headId :: HeadId, parties :: [Party]}
| Committed {headId :: HeadId, party :: Party, utxo :: UTxOType tx}
Expand Down
18 changes: 16 additions & 2 deletions hydra-node/src/Hydra/HeadLogic.hs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ import Hydra.Ledger (
applyTransactions,
txId,
)
import Hydra.Network.Message (Connectivity (..), Message (..), NetworkEvent (..))
import Hydra.Network.Message (Connectivity (..), HydraVersionedProtocolNumber (..), KnownHydraVersions (..), Message (..), NetworkEvent (..))
import Hydra.OnChainId (OnChainId)
import Hydra.Party (Party (vkey))
import Hydra.Snapshot (ConfirmedSnapshot (..), Snapshot (..), SnapshotNumber, getSnapshot)
Expand All @@ -103,7 +103,21 @@ onConnectionEvent = \case
Disconnected{nodeId} ->
causes [ClientEffect (ServerOutput.PeerDisconnected nodeId)]
HandshakeFailure{remoteHost, ourVersion, theirVersions} ->
causes [ClientEffect (ServerOutput.PeerHandshakeFailure{remoteHost, ourVersion, theirVersions})]
causes
[ ClientEffect
( ServerOutput.PeerHandshakeFailure
{ remoteHost
, ourVersion = getVersion ourVersion
, theirVersions = getKnownVersions theirVersions
}
)
]
where
getVersion MkHydraVersionedProtocolNumber{hydraVersionedProtocolNumber} = hydraVersionedProtocolNumber

getKnownVersions = \case
NoKnownHydraVersions -> []
KnownHydraVersions{fromKnownHydraVersions} -> getVersion <$> fromKnownHydraVersions

-- * The Coordinated Head protocol

Expand Down

0 comments on commit 099366e

Please sign in to comment.