Skip to content

Commit b8748fb

Browse files
authored
Merge pull request #2046 from IntersectMBO/kderme/10.6.1
Update to node 10.6.1
2 parents 9bad32d + 97546e7 commit b8748fb

File tree

99 files changed

+2395
-682
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+2395
-682
lines changed

cabal.project

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ repository cardano-haskell-packages
1010
d4a35cd3121aa00d18544bb0ac01c3e1691d618f462c46129271bccf39f7e8ee
1111

1212
index-state:
13-
, hackage.haskell.org 2025-08-03T21:32:16Z
14-
, cardano-haskell-packages 2025-07-30T14:13:57Z
13+
, hackage.haskell.org 2025-10-17T00:26:22Z
14+
, cardano-haskell-packages 2025-11-20T19:55:27Z
1515

1616
packages:
1717
cardano-db
@@ -75,8 +75,6 @@ constraints:
7575
-- then clashes with the `show` in `Prelude`.
7676
, text < 2.1.2
7777

78-
, cardano-node ^>= 10.4
79-
8078
if impl (ghc >= 9.12)
8179
allow-newer:
8280
-- https://github.com/kapralVV/Unique/issues/11
@@ -86,3 +84,14 @@ if impl (ghc >= 9.12)
8684
-- when using the "cabal" wrapper script provided by nix-shell.
8785
-- --------------------------- 8< --------------------------
8886
-- Please do not put any `source-repository-package` clause above this line.
87+
88+
source-repository-package
89+
type: git
90+
location: https://github.com/IntersectMBO/cardano-node
91+
tag: 0c220b27a9b612bb94b557017452be4a97b640d4
92+
--sha256: sha256-rsm/3pyU5a5gwMWuig9sJOA36otpgQpMbmh+sRzfoOo=
93+
subdir:
94+
cardano-node
95+
trace-dispatcher
96+
trace-forward
97+
trace-resources

cardano-chain-gen/cardano-chain-gen.cabal

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ library
8383
, extra
8484
, mtl
8585
, microlens
86-
, network-mux
86+
, network
8787
, nothunks
8888
, ouroboros-consensus
8989
, ouroboros-consensus-cardano
@@ -97,10 +97,10 @@ library
9797
, plutus-ledger-api:{plutus-ledger-api-testlib}
9898
, serialise
9999
, strict-sop-core
100-
, strict-stm
100+
, io-classes:strict-stm
101101
, text
102102
, typed-protocols
103-
, typed-protocols-stateful
103+
, typed-protocols:stateful
104104

105105
test-suite cardano-chain-gen
106106
type: exitcode-stdio-1.0
@@ -183,9 +183,9 @@ test-suite cardano-chain-gen
183183
, extra
184184
, filepath
185185
, int-cast
186+
, io-classes:strict-stm
186187
, silently
187188
, stm
188-
, strict-stm
189189
, tasty
190190
, tasty-quickcheck
191191
, text

cardano-chain-gen/src/Cardano/Mock/ChainSync/Server.hs

Lines changed: 35 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,12 @@ import Control.Concurrent.Class.MonadSTM.Strict (
4444
)
4545
import Control.Exception (bracket)
4646
import Control.Monad (forever)
47-
import Control.Tracer (nullTracer)
47+
import Control.Tracer
4848
import Data.ByteString.Lazy.Char8 (ByteString)
4949
import qualified Data.Map.Strict as Map
5050
import Data.Maybe (fromJust)
51-
import Data.Void (Void)
52-
import qualified Network.Mux as Mux
51+
import qualified Network.Socket as Socket
5352
import Network.TypedProtocol.Peer (Peer (..))
54-
import Network.TypedProtocol.Stateful.Codec ()
5553
import qualified Network.TypedProtocol.Stateful.Peer as St
5654
import Ouroboros.Consensus.Block (CodecConfig, HasHeader, Point, StandardHash, castPoint)
5755
import Ouroboros.Consensus.Config (TopLevelConfig, configCodec)
@@ -65,7 +63,6 @@ import Ouroboros.Consensus.Node.DbMarker ()
6563
import Ouroboros.Consensus.Node.InitStorage ()
6664
import Ouroboros.Consensus.Node.NetworkProtocolVersion (
6765
BlockNodeToClientVersion,
68-
NodeToClientVersion,
6966
SupportedNetworkProtocolVersion,
7067
latestReleasedNodeVersion,
7168
supportedNodeToClientVersions,
@@ -87,25 +84,22 @@ import Ouroboros.Network.Block (
8784
)
8885
import Ouroboros.Network.Channel (Channel)
8986
import Ouroboros.Network.Driver.Simple (runPeer)
90-
import qualified Ouroboros.Network.Driver.Stateful as St (runPeer)
91-
import Ouroboros.Network.IOManager (IOManager)
92-
import qualified Ouroboros.Network.IOManager as IOManager
87+
import qualified Ouroboros.Network.Driver.Stateful as Stateful
9388
import Ouroboros.Network.Magic (NetworkMagic)
94-
import Ouroboros.Network.Mux (OuroborosApplicationWithMinimalCtx)
95-
import Ouroboros.Network.NodeToClient (NodeToClientVersionData (..))
96-
import qualified Ouroboros.Network.NodeToClient as NodeToClient
97-
import Ouroboros.Network.NodeToNode (Versions)
89+
import Ouroboros.Network.NodeToClient
9890
import Ouroboros.Network.Protocol.ChainSync.Server (
9991
ChainSyncServer (..),
10092
ServerStIdle (..),
10193
ServerStIntersect (..),
10294
ServerStNext (SendMsgRollBackward, SendMsgRollForward),
10395
chainSyncServerPeer,
10496
)
105-
import Ouroboros.Network.Protocol.Handshake.Version (simpleSingletonVersions)
97+
import Ouroboros.Network.Protocol.Handshake
10698
import qualified Ouroboros.Network.Protocol.LocalStateQuery.Type as LocalStateQuery
107-
import Ouroboros.Network.Snocket (LocalAddress, LocalSnocket, LocalSocket (..))
99+
import Ouroboros.Network.Server.Simple as Server
100+
import Ouroboros.Network.Snocket
108101
import qualified Ouroboros.Network.Snocket as Snocket
102+
import Ouroboros.Network.Socket
109103
import Ouroboros.Network.Util.ShowProxy (Proxy (..), ShowProxy (..))
110104

111105
{- HLINT ignore "Use readTVarIO" -}
@@ -212,33 +206,41 @@ runLocalServer ::
212206
FilePath ->
213207
StrictTVar IO (ChainProducerState blk) ->
214208
IO ()
215-
runLocalServer iom codecConfig netMagic localDomainSock chainProdState =
216-
withSnocket iom localDomainSock $ \localSocket localSnocket -> do
217-
networkState <- NodeToClient.newNetworkMutableState
218-
_ <-
219-
NodeToClient.withServer
220-
localSnocket
221-
NodeToClient.nullNetworkServerTracers -- debuggingNetworkServerTracers
222-
networkState
223-
localSocket
224-
(versions chainProdState)
225-
NodeToClient.networkErrorPolicies
226-
pure ()
209+
runLocalServer iom codecConfig netMagic localDomainSock chainProdState = do
210+
_ <-
211+
Server.with
212+
(Snocket.socketSnocket iom)
213+
makeSocketBearer
214+
(\_ _ -> pure ())
215+
(Socket.SockAddrUnix localDomainSock)
216+
( HandshakeArguments
217+
{ haHandshakeTracer = nullTracer -- showTracing stdoutTracer
218+
, haBearerTracer = nullTracer -- showTracing stdoutTracer
219+
, haHandshakeCodec = codecHandshake nodeToClientVersionCodec
220+
, haVersionDataCodec = cborTermVersionDataCodec nodeToClientCodecCBORTerm
221+
, haAcceptVersion = acceptableVersion
222+
, haQueryVersion = queryVersion
223+
, haTimeLimits = noTimeLimitsHandshake
224+
}
225+
)
226+
(versions chainProdState)
227+
(\_ serverAsync -> wait serverAsync)
228+
pure ()
227229
where
228230
versions ::
229231
StrictTVar IO (ChainProducerState blk) ->
230232
Versions
231233
NodeToClientVersion
232234
NodeToClientVersionData
233-
(OuroborosApplicationWithMinimalCtx 'Mux.ResponderMode LocalAddress ByteString IO Void ())
235+
(SomeResponderApplication Socket.SockAddr ByteString IO ())
234236
versions state =
235237
let version = fromJust $ snd $ latestReleasedNodeVersion (Proxy @blk)
236238
allVersions = supportedNodeToClientVersions (Proxy @blk)
237239
blockVersion = fromJust $ Map.lookup version allVersions
238240
in simpleSingletonVersions
239241
version
240242
(NodeToClientVersionData netMagic False)
241-
(\versionData -> NTC.responder version versionData $ mkApps state version blockVersion (NTC.defaultCodecs codecConfig blockVersion version))
243+
(\versionData' -> SomeResponderApplication $ NTC.responder version versionData' $ mkApps state version blockVersion (NTC.defaultCodecs codecConfig blockVersion version))
242244

243245
mkApps ::
244246
StrictTVar IO (ChainProducerState blk) ->
@@ -260,11 +262,10 @@ runLocalServer iom codecConfig netMagic localDomainSock chainProdState =
260262
IO ((), Maybe ByteString)
261263
chainSyncServer' _them channel =
262264
runPeer
263-
nullTracer -- TODO add a tracer!
265+
nullTracer -- (showTracing stdoutTracer)
264266
(cChainSyncCodec codecs)
265267
channel
266-
$ chainSyncServerPeer
267-
$ chainSyncServer state codecConfig blockVersion
268+
(chainSyncServerPeer $ chainSyncServer state codecConfig blockVersion)
268269

269270
txSubmitServer ::
270271
localPeer ->
@@ -277,13 +278,9 @@ runLocalServer iom codecConfig netMagic localDomainSock chainProdState =
277278
channel
278279
(Effect (forever $ threadDelay 3_600_000_000))
279280

280-
stateQueryServer ::
281-
localPeer ->
282-
Channel IO ByteString ->
283-
IO ((), Maybe ByteString)
284281
stateQueryServer _them channel =
285-
St.runPeer
286-
nullTracer
282+
Stateful.runPeer
283+
nullTracer -- (showTracing stdoutTracer)
287284
(cStateQueryCodec codecs)
288285
channel
289286
LocalStateQuery.StateIdle
@@ -354,8 +351,7 @@ chainSyncServer state codec _blockVersion =
354351
(Tip blk, ChainUpdate blk blk) ->
355352
ServerStNext (Serialised blk) (Point blk) (Tip blk) m ()
356353
sendNext r (tip, AddBlock b) =
357-
-- SendMsgRollForward -- (Serialised $ toLazyByteString $ encodeNodeToClient codec blockVersion b) tip (idle' r)
358-
SendMsgRollForward (mkSerialised (encodeDisk codec) b) tip (idle' r) -- encodeNodeToClient codec blockVersion -- mkSerialised encode b
354+
SendMsgRollForward (mkSerialised (encodeDisk codec) b) tip (idle' r)
359355
sendNext r (tip, RollBack p) = SendMsgRollBackward (castPoint p) tip (idle' r)
360356

361357
newFollower :: m FollowerId
@@ -404,36 +400,3 @@ chainSyncServer state codec _blockVersion =
404400
writeTVar state cps'
405401
let chain = chainDB cps'
406402
pure (castTip (headTip chain), u)
407-
408-
withSnocket ::
409-
forall a.
410-
IOManager ->
411-
FilePath ->
412-
(LocalSocket -> LocalSnocket -> IO a) ->
413-
IO a
414-
withSnocket iocp localDomainSock k =
415-
bracket localServerInit localServerCleanup localServerBody
416-
where
417-
localServerInit :: IO (LocalSocket, LocalSnocket)
418-
localServerInit = do
419-
let sn = Snocket.localSnocket iocp
420-
sd <-
421-
Snocket.open
422-
sn
423-
( Snocket.addrFamily sn $
424-
Snocket.localAddressFromPath localDomainSock
425-
)
426-
pure (sd, sn)
427-
428-
-- We close the socket here, even if it was provided for us.
429-
localServerCleanup :: (LocalSocket, LocalSnocket) -> IO ()
430-
localServerCleanup (sd, sn) = Snocket.close sn sd
431-
432-
localServerBody :: (LocalSocket, LocalSnocket) -> IO a
433-
localServerBody (sd, sn) = do
434-
Snocket.bind sn sd (Snocket.localAddressFromPath localDomainSock)
435-
Snocket.listen sn sd
436-
k sd sn
437-
438-
withIOManager :: (IOManager -> IO a) -> IO a
439-
withIOManager = IOManager.withIOManager

0 commit comments

Comments
 (0)