From 03da2ca95c54ec8e916a1f3785bddd116c562a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20W=C3=B3jtowicz?= Date: Tue, 4 Feb 2025 14:53:06 +0100 Subject: [PATCH 01/10] Allow outbound connections to non-big ledger peers in Genesis --- cardano-node/src/Cardano/Node/Run.hs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cardano-node/src/Cardano/Node/Run.hs b/cardano-node/src/Cardano/Node/Run.hs index e1e5bdb3633..d3b6660ba44 100644 --- a/cardano-node/src/Cardano/Node/Run.hs +++ b/cardano-node/src/Cardano/Node/Run.hs @@ -939,10 +939,7 @@ mkP2PArguments NodeConfiguration { targetNumberOfEstablishedBigLedgerPeers = ncDeadlineTargetOfEstablishedBigLedgerPeers, targetNumberOfActiveBigLedgerPeers = ncDeadlineTargetOfActiveBigLedgerPeers } - syncTargets = PeerSelectionTargets { - targetNumberOfRootPeers = 0, - targetNumberOfKnownPeers = 0, - targetNumberOfEstablishedPeers = 0, + syncTargets = deadlineTargets { targetNumberOfActivePeers = ncSyncTargetOfActivePeers, targetNumberOfKnownBigLedgerPeers = ncSyncTargetOfKnownBigLedgerPeers, targetNumberOfEstablishedBigLedgerPeers = ncSyncTargetOfEstablishedBigLedgerPeers, From c88e28911fdbc676c3640e9a956f3aef81c01d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20W=C3=B3jtowicz?= Date: Fri, 7 Feb 2025 17:37:21 +0100 Subject: [PATCH 02/10] Fix PeerSelectionTargets trace labels --- .../Cardano/Tracing/OrphanInstances/Network.hs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs index a69a89f7494..60a44ef3595 100644 --- a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs +++ b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs @@ -1754,19 +1754,19 @@ instance (Aeson.ToJSONKey peerAddr, ToJSON peerAddr, Ord peerAddr, Show peerAddr instance ToJSON PeerSelectionTargets where toJSON (PeerSelectionTargets - nRootLedgerPeers - nKnownLedgerPeers - nEstablishedLedgerPeers - nActiveLedgerPeers + nRootPeers + nKnownPeers + nEstablishedPeers + nActivePeers nKnownBigLedgerPeers nEstablishedBigLedgerPeers nActiveBigLedgerPeers ) = Aeson.object [ "kind" .= String "PeerSelectionTargets" - , "targetRootLedgerPeers" .= nRootLedgerPeers - , "targetKnownLedgerPeers" .= nKnownLedgerPeers - , "targetEstablishedLedgerPeers" .= nEstablishedLedgerPeers - , "targetActiveLedgerPeers" .= nActiveLedgerPeers + , "targetRootPeers" .= nRootPeers + , "targetKnownPeers" .= nKnownPeers + , "targetEstablishedPeers" .= nEstablishedPeers + , "targetActivePeers" .= nActivePeers , "targetKnownBigLedgerPeers" .= nKnownBigLedgerPeers , "targetEstablishedBigLedgerPeers" .= nEstablishedBigLedgerPeers From 7fbffea506dfd23c98d45b259b1d24cd9295c415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20W=C3=B3jtowicz?= Date: Fri, 7 Feb 2025 18:32:33 +0100 Subject: [PATCH 03/10] Verify validity of PeerSelectionTargets from configuration --- .../src/Cardano/Node/Configuration/POM.hs | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/cardano-node/src/Cardano/Node/Configuration/POM.hs b/cardano-node/src/Cardano/Node/Configuration/POM.hs index 3b77283d991..183f62fd99e 100644 --- a/cardano-node/src/Cardano/Node/Configuration/POM.hs +++ b/cardano-node/src/Cardano/Node/Configuration/POM.hs @@ -42,8 +42,9 @@ import Ouroboros.Consensus.Node.Genesis (GenesisConfig, GenesisConfigF import Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy (Flag, NumOfDiskSnapshots (..), SnapshotInterval (..)) import Ouroboros.Network.Diffusion.Configuration as Configuration +import qualified Ouroboros.Network.PeerSelection.Governor as PeerSelection -import Control.Monad (when) +import Control.Monad (when, unless) import Data.Aeson import qualified Data.Aeson.Types as Aeson import Data.Bifunctor (Bifunctor (..)) @@ -702,6 +703,32 @@ makeNodeConfiguration pnc = do $ pncGenesisConfigFlags pnc let ncGenesisConfig = mkGenesisConfig mGenesisConfigFlags + let deadlineTargets = + PeerSelectionTargets { + targetNumberOfRootPeers = ncDeadlineTargetOfRootPeers, + targetNumberOfKnownPeers = ncDeadlineTargetOfKnownPeers, + targetNumberOfEstablishedPeers = ncDeadlineTargetOfEstablishedPeers, + targetNumberOfActivePeers = ncDeadlineTargetOfActivePeers, + targetNumberOfKnownBigLedgerPeers = ncDeadlineTargetOfKnownBigLedgerPeers, + targetNumberOfEstablishedBigLedgerPeers = ncDeadlineTargetOfEstablishedBigLedgerPeers, + targetNumberOfActiveBigLedgerPeers = ncDeadlineTargetOfActiveBigLedgerPeers } + syncTargets = deadlineTargets { + targetNumberOfActivePeers = ncSyncTargetOfActivePeers, + targetNumberOfKnownBigLedgerPeers = ncSyncTargetOfKnownBigLedgerPeers, + targetNumberOfEstablishedBigLedgerPeers = ncSyncTargetOfEstablishedBigLedgerPeers, + targetNumberOfActiveBigLedgerPeers = ncSyncTargetOfActiveBigLedgerPeers } + + unless (PeerSelection.sanePeerSelectionTargets deadlineTargets + && PeerSelection.sanePeerSelectionTargets syncTargets) $ + Left $ "Invalid peer selection targets. Ensure that targets satisfy the " + <> "inequalities of known >= established >= active >= 0" + <> "for both deadline and sync target groups. The deadline groups start with " + <> "TargetNumber... while the sync group starts with SyncTarget... " + <> "Additionally, TargetNumberOfEstablishedPeers >= SyncTargetNumberOfActivePeers. " + <> "Within each group, the category of big ledger peers is treated independently, " + <> "but it too must satisfy the same inequality. Refer to cardano-node wiki page " + <> "'understanding config files' for details." + -- TODO: This is not mandatory experimentalProtocols <- lastToEither "Missing ExperimentalProtocolsEnabled" $ From f559161273b14041248b890696f36d22d171dc4a Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Fri, 7 Feb 2025 16:57:53 -0700 Subject: [PATCH 04/10] Update CHaP index and flake input --- cabal.project | 2 +- flake.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cabal.project b/cabal.project index de6488c42c8..cf7c9bf210f 100644 --- a/cabal.project +++ b/cabal.project @@ -14,7 +14,7 @@ repository cardano-haskell-packages -- you need to run if you change them index-state: , hackage.haskell.org 2025-01-01T23:24:19Z - , cardano-haskell-packages 2025-01-22T16:50:05Z + , cardano-haskell-packages 2025-02-11T21:18:23Z packages: cardano-node diff --git a/flake.lock b/flake.lock index ab0214a43a5..b38fd9af8d0 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "CHaP": { "flake": false, "locked": { - "lastModified": 1737566866, - "narHash": "sha256-TQbNlisnUz3RoMb/kc+d6FYET7Qbim+mMMJg76TpLC8=", + "lastModified": 1739310549, + "narHash": "sha256-TfqfDfAn+0VoljIQENLezfhQTvBnZJdu2kcfVRA0ZQQ=", "owner": "intersectmbo", "repo": "cardano-haskell-packages", - "rev": "1206c99a450da9681fbe5c3a403cff58569a2ca8", + "rev": "f837d4d481a0f2e4cd0cf7e458e4bd12a8400f9c", "type": "github" }, "original": { From 8f306992b6b4732cb84bac97a7b4988bde91dd1c Mon Sep 17 00:00:00 2001 From: Marcin Szamotulski Date: Tue, 11 Feb 2025 20:25:17 +0100 Subject: [PATCH 05/10] Update to ouroboros-network-0.19.0.3 (cherry picked from commit 70b809f6aff1a2ecd20d85360eead164d734dd34) --- .../Benchmarking/GeneratorTx/NodeToNode.hs | 60 ++++++++++--------- cardano-node/cardano-node.cabal | 2 +- .../src/Cardano/Tracer/Acceptors/Client.hs | 6 +- .../src/Cardano/Tracer/Acceptors/Server.hs | 2 +- .../test/Cardano/Tracer/Test/Forwarder.hs | 5 +- .../src/Cardano/Logging/Forwarding.hs | 8 ++- trace-forward/trace-forward.cabal | 2 +- 7 files changed, 46 insertions(+), 39 deletions(-) diff --git a/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/NodeToNode.hs b/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/NodeToNode.hs index 1b65bec2129..b17e44eefdf 100644 --- a/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/NodeToNode.hs +++ b/bench/tx-generator/src/Cardano/Benchmarking/GeneratorTx/NodeToNode.hs @@ -133,38 +133,40 @@ benchmarkConnectTxSubmit EnvConsts { .. } handshakeTracer submissionTracer codec , NtN.peerSharing = ownPeerSharing , NtN.query = False }) $ - mkApp $ - NtN.nodeToNodeProtocols NtN.defaultMiniProtocolParameters - NtN.NodeToNodeProtocols - { NtN.chainSyncProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> - runPeer - mempty - (cChainSyncCodec myCodecs) - channel - chainSyncPeerNull - , NtN.blockFetchProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> - runPeer - mempty - (cBlockFetchCodec myCodecs) - channel - (blockFetchClientPeer blockFetchClientNull) - , NtN.keepAliveProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \ctx channel -> - kaClient n2nVer (remoteAddress $ micConnectionId ctx) channel - , NtN.txSubmissionProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> - runPeer - submissionTracer - (cTxSubmission2Codec myCodecs) - channel - (txSubmissionClientPeer myTxSubClient) - , NtN.peerSharingProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> + \n2nData -> + mkApp $ + NtN.nodeToNodeProtocols NtN.defaultMiniProtocolParameters + NtN.NodeToNodeProtocols + { NtN.chainSyncProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> runPeer + mempty + (cChainSyncCodec myCodecs) + channel + chainSyncPeerNull + , NtN.blockFetchProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> + runPeer mempty - (cPeerSharingCodec myCodecs) + (cBlockFetchCodec myCodecs) channel - (peerSharingClientPeer peerSharingClientNull) - } - n2nVer - ownPeerSharing + (blockFetchClientPeer blockFetchClientNull) + , NtN.keepAliveProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \ctx channel -> + kaClient n2nVer (remoteAddress $ micConnectionId ctx) channel + , NtN.txSubmissionProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> + runPeer + submissionTracer + (cTxSubmission2Codec myCodecs) + channel + (txSubmissionClientPeer myTxSubClient) + , NtN.peerSharingProtocol = InitiatorProtocolOnly $ MiniProtocolCb $ \_ctx channel -> + runPeer + mempty + (cPeerSharingCodec myCodecs) + channel + (peerSharingClientPeer peerSharingClientNull) + } + n2nVer + n2nData + -- Stolen from: Ouroboros/Consensus/Network/NodeToNode.hs kaClient :: Ord remotePeer diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index 68ee7ee961e..98920578a85 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -191,7 +191,7 @@ library , ouroboros-consensus-diffusion ^>= 0.19 , ouroboros-consensus-protocol , ouroboros-network-api ^>= 0.12 - , ouroboros-network ^>= 0.19 + , ouroboros-network ^>= 0.19.0.3 , ouroboros-network-framework , ouroboros-network-protocols ^>= 0.13 , prettyprinter diff --git a/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs b/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs index 505f5373b55..fa6b8014aa0 100644 --- a/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs +++ b/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs @@ -74,7 +74,7 @@ runAcceptorsClient tracerEnv tracerEnvRTView p (ekgConfig, tfConfig, dpfConfig) , (runDataPointsAcceptorInit tracerEnv dpfConfig errorHandler, 3) ] where - appInitiator protocolsWithNums = + appInitiator protocolsWithNums _ = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num @@ -95,10 +95,12 @@ doConnectToForwarder -> LocalAddress -> Word32 -> ProtocolTimeLimits (Handshake ForwardingVersion Term) - -> OuroborosApplication 'Mux.InitiatorMode + -> ( ForwardingVersionData + -> OuroborosApplication 'Mux.InitiatorMode (MinimalInitiatorContext LocalAddress) (ResponderContext LocalAddress) LBS.ByteString IO () Void + ) -> IO () doConnectToForwarder snocket address netMagic timeLimits app = do done <- connectToNode diff --git a/cardano-tracer/src/Cardano/Tracer/Acceptors/Server.hs b/cardano-tracer/src/Cardano/Tracer/Acceptors/Server.hs index b44f4f46b7c..fc9385f9377 100644 --- a/cardano-tracer/src/Cardano/Tracer/Acceptors/Server.hs +++ b/cardano-tracer/src/Cardano/Tracer/Acceptors/Server.hs @@ -123,7 +123,7 @@ doListenToForwarder snocket address netMagic timeLimits app = do (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData $ NetworkMagic netMagic) - (SomeResponderApplication app) + (\_ -> SomeResponderApplication app) ) nullErrorPolicies $ \_ serverAsync -> wait serverAsync -- Block until async exception. diff --git a/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs b/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs index fd33054e4cb..2f02ec2604e 100644 --- a/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs +++ b/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs @@ -190,8 +190,9 @@ doConnectToAcceptor TestSetup{..} snocket muxBearer address timeLimits (ekgConfi forwarderApp :: [(RunMiniProtocol 'Mux.InitiatorMode initCtx respCtx LBS.ByteString IO () Void, Word16)] + -> ForwardingVersionData -> OuroborosApplication 'Mux.InitiatorMode initCtx respCtx LBS.ByteString IO () Void - forwarderApp protocols = + forwarderApp protocols _ = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num @@ -239,7 +240,7 @@ doListenToAcceptor TestSetup{..} (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData $ unI tsNetworkMagic) -- Taken from mainnet shelley genesis file. - (SomeResponderApplication $ + (\_ -> SomeResponderApplication $ forwarderApp [ (forwardEKGMetricsResp ekgConfig store, 1) , (forwardTraceObjectsResp tfConfig sink, 2) , (forwardDataPointsResp dpfConfig dpStore, 3) diff --git a/trace-dispatcher/src/Cardano/Logging/Forwarding.hs b/trace-dispatcher/src/Cardano/Logging/Forwarding.hs index b1367281f9a..04e181548a2 100644 --- a/trace-dispatcher/src/Cardano/Logging/Forwarding.hs +++ b/trace-dispatcher/src/Cardano/Logging/Forwarding.hs @@ -244,8 +244,9 @@ doConnectToAcceptor magic snocket makeBearer configureSocket address timeLimits ctaHandshakeCallbacks = HandshakeCallbacks acceptableVersion queryVersion } forwarderApp :: [(RunMiniProtocol 'Mux.InitiatorMode initiatorCtx responderCtx LBS.ByteString IO () Void, Word16)] + -> ForwardingVersionData -> OuroborosApplication 'Mux.InitiatorMode initiatorCtx responderCtx LBS.ByteString IO () Void - forwarderApp protocols = + forwarderApp protocols _ = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num @@ -294,7 +295,7 @@ doListenToAcceptor magic snocket makeBearer configureSocket address timeLimits (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData magic) - (SomeResponderApplication $ + (SomeResponderApplication . forwarderApp [ (forwardEKGMetricsRespRun, 1) , (forwardTraceObjectsResp tfConfig sink, 2) , (forwardDataPointsResp dpfConfig dpStore, 3) @@ -307,8 +308,9 @@ doListenToAcceptor magic snocket makeBearer configureSocket address timeLimits where forwarderApp :: [(RunMiniProtocol 'Mux.ResponderMode initiatorCtx responderCtx LBS.ByteString IO Void (), Word16)] + -> ForwardingVersionData -> OuroborosApplication 'Mux.ResponderMode initiatorCtx responderCtx LBS.ByteString IO Void () - forwarderApp protocols = + forwarderApp protocols _ = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num diff --git a/trace-forward/trace-forward.cabal b/trace-forward/trace-forward.cabal index bbdfdd61a70..6f211d3bce0 100644 --- a/trace-forward/trace-forward.cabal +++ b/trace-forward/trace-forward.cabal @@ -67,7 +67,7 @@ library , network-mux , ouroboros-network-api , singletons ^>= 3.0 - , ouroboros-network-framework ^>= 0.15 + , ouroboros-network-framework ^>= 0.16 , serialise , stm , text From 7cd00740e74f76e90cf01c7f908b4218b106ae8a Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Mon, 10 Feb 2025 17:46:53 -0700 Subject: [PATCH 06/10] Update to ouroboros-consensus-diffusion 0.20 --- cardano-node/cardano-node.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index 98920578a85..1d959de87f3 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -188,7 +188,7 @@ library , optparse-applicative-fork >= 0.18.1 , ouroboros-consensus ^>= 0.22 , ouroboros-consensus-cardano ^>= 0.21 - , ouroboros-consensus-diffusion ^>= 0.19 + , ouroboros-consensus-diffusion ^>= 0.20 , ouroboros-consensus-protocol , ouroboros-network-api ^>= 0.12 , ouroboros-network ^>= 0.19.0.3 From b855300e27e53274a0e54fc20fb9bb460998c1d2 Mon Sep 17 00:00:00 2001 From: Michael Karg Date: Wed, 12 Feb 2025 17:40:54 +0100 Subject: [PATCH 07/10] Use constant functions for forwarder applications --- .../src/Cardano/Tracer/Acceptors/Client.hs | 8 +++----- .../test/Cardano/Tracer/Test/Forwarder.hs | 15 +++++++-------- .../src/Cardano/Logging/Forwarding.hs | 16 +++++++--------- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs b/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs index fa6b8014aa0..038de5ac80e 100644 --- a/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs +++ b/cardano-tracer/src/Cardano/Tracer/Acceptors/Client.hs @@ -74,7 +74,7 @@ runAcceptorsClient tracerEnv tracerEnvRTView p (ekgConfig, tfConfig, dpfConfig) , (runDataPointsAcceptorInit tracerEnv dpfConfig errorHandler, 3) ] where - appInitiator protocolsWithNums _ = + appInitiator protocolsWithNums = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num @@ -95,12 +95,10 @@ doConnectToForwarder -> LocalAddress -> Word32 -> ProtocolTimeLimits (Handshake ForwardingVersion Term) - -> ( ForwardingVersionData - -> OuroborosApplication 'Mux.InitiatorMode + -> OuroborosApplication 'Mux.InitiatorMode (MinimalInitiatorContext LocalAddress) (ResponderContext LocalAddress) LBS.ByteString IO () Void - ) -> IO () doConnectToForwarder snocket address netMagic timeLimits app = do done <- connectToNode @@ -111,7 +109,7 @@ doConnectToForwarder snocket address netMagic timeLimits app = do (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData $ NetworkMagic netMagic) - app + (const app) ) Nothing address diff --git a/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs b/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs index 2f02ec2604e..b39c449e26d 100644 --- a/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs +++ b/cardano-tracer/test/Cardano/Tracer/Test/Forwarder.hs @@ -167,10 +167,10 @@ doConnectToAcceptor TestSetup{..} snocket muxBearer address timeLimits (ekgConfi (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData $ unI tsNetworkMagic) - (forwarderApp [ (forwardEKGMetrics ekgConfig store, 1) - , (forwardTraceObjectsInit tfConfig sink, 2) - , (forwardDataPointsInit dpfConfig dpStore, 3) - ] + (const $ forwarderApp [ (forwardEKGMetrics ekgConfig store, 1) + , (forwardTraceObjectsInit tfConfig sink, 2) + , (forwardDataPointsInit dpfConfig dpStore, 3) + ] ) ) Nothing @@ -190,9 +190,8 @@ doConnectToAcceptor TestSetup{..} snocket muxBearer address timeLimits (ekgConfi forwarderApp :: [(RunMiniProtocol 'Mux.InitiatorMode initCtx respCtx LBS.ByteString IO () Void, Word16)] - -> ForwardingVersionData -> OuroborosApplication 'Mux.InitiatorMode initCtx respCtx LBS.ByteString IO () Void - forwarderApp protocols _ = + forwarderApp protocols = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num @@ -239,8 +238,8 @@ doListenToAcceptor TestSetup{..} (HandshakeCallbacks acceptableVersion queryVersion) (simpleSingletonVersions ForwardingV_1 - (ForwardingVersionData $ unI tsNetworkMagic) -- Taken from mainnet shelley genesis file. - (\_ -> SomeResponderApplication $ + (ForwardingVersionData $ unI tsNetworkMagic) + (const $ SomeResponderApplication $ forwarderApp [ (forwardEKGMetricsResp ekgConfig store, 1) , (forwardTraceObjectsResp tfConfig sink, 2) , (forwardDataPointsResp dpfConfig dpStore, 3) diff --git a/trace-dispatcher/src/Cardano/Logging/Forwarding.hs b/trace-dispatcher/src/Cardano/Logging/Forwarding.hs index 04e181548a2..38799c2b349 100644 --- a/trace-dispatcher/src/Cardano/Logging/Forwarding.hs +++ b/trace-dispatcher/src/Cardano/Logging/Forwarding.hs @@ -222,10 +222,10 @@ doConnectToAcceptor magic snocket makeBearer configureSocket address timeLimits (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData magic) - (forwarderApp [ (forwardEKGMetricsRun, 1) - , (forwardTraceObjectsInit tfConfig sink, 2) - , (forwardDataPointsInit dpfConfig dpStore, 3) - ] + (const $ forwarderApp [ (forwardEKGMetricsRun, 1) + , (forwardTraceObjectsInit tfConfig sink, 2) + , (forwardDataPointsInit dpfConfig dpStore, 3) + ] ) ) Nothing @@ -244,9 +244,8 @@ doConnectToAcceptor magic snocket makeBearer configureSocket address timeLimits ctaHandshakeCallbacks = HandshakeCallbacks acceptableVersion queryVersion } forwarderApp :: [(RunMiniProtocol 'Mux.InitiatorMode initiatorCtx responderCtx LBS.ByteString IO () Void, Word16)] - -> ForwardingVersionData -> OuroborosApplication 'Mux.InitiatorMode initiatorCtx responderCtx LBS.ByteString IO () Void - forwarderApp protocols _ = + forwarderApp protocols = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num @@ -295,7 +294,7 @@ doListenToAcceptor magic snocket makeBearer configureSocket address timeLimits (simpleSingletonVersions ForwardingV_1 (ForwardingVersionData magic) - (SomeResponderApplication . + (const $ SomeResponderApplication $ forwarderApp [ (forwardEKGMetricsRespRun, 1) , (forwardTraceObjectsResp tfConfig sink, 2) , (forwardDataPointsResp dpfConfig dpStore, 3) @@ -308,9 +307,8 @@ doListenToAcceptor magic snocket makeBearer configureSocket address timeLimits where forwarderApp :: [(RunMiniProtocol 'Mux.ResponderMode initiatorCtx responderCtx LBS.ByteString IO Void (), Word16)] - -> ForwardingVersionData -> OuroborosApplication 'Mux.ResponderMode initiatorCtx responderCtx LBS.ByteString IO Void () - forwarderApp protocols _ = + forwarderApp protocols = OuroborosApplication [ MiniProtocol { miniProtocolNum = MiniProtocolNum num From 33af3e9b1ffc0bf5f7356b101a3cf6ffdc304d30 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Mon, 10 Feb 2025 17:50:29 -0700 Subject: [PATCH 08/10] Update to cardano-api 10.8 --- bench/plutus-scripts-bench/plutus-scripts-bench.cabal | 2 +- bench/tx-generator/tx-generator.cabal | 2 +- cardano-node/cardano-node.cabal | 2 +- cardano-submit-api/cardano-submit-api.cabal | 2 +- cardano-testnet/cardano-testnet.cabal | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bench/plutus-scripts-bench/plutus-scripts-bench.cabal b/bench/plutus-scripts-bench/plutus-scripts-bench.cabal index 59bc00ca7bd..1ffa799d2de 100644 --- a/bench/plutus-scripts-bench/plutus-scripts-bench.cabal +++ b/bench/plutus-scripts-bench/plutus-scripts-bench.cabal @@ -82,7 +82,7 @@ library -- IOG dependencies -------------------------- build-depends: - , cardano-api ^>=10.6 + , cardano-api ^>=10.8 , plutus-ledger-api ^>=1.37 , plutus-tx ^>=1.37 , plutus-tx-plugin ^>=1.37 diff --git a/bench/tx-generator/tx-generator.cabal b/bench/tx-generator/tx-generator.cabal index c232a1c4c9b..6d4b27f34c8 100644 --- a/bench/tx-generator/tx-generator.cabal +++ b/bench/tx-generator/tx-generator.cabal @@ -106,7 +106,7 @@ library , attoparsec-aeson , base16-bytestring , bytestring - , cardano-api ^>= 10.6 + , cardano-api ^>= 10.8 , cardano-binary , cardano-cli ^>= 10.3 , cardano-crypto-class diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index 1d959de87f3..4d6b9c3e823 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -145,7 +145,7 @@ library , async , base16-bytestring , bytestring - , cardano-api ^>= 10.6 + , cardano-api ^>= 10.8 , cardano-crypto-class , cardano-crypto-wrapper , cardano-git-rev ^>=0.2.2 diff --git a/cardano-submit-api/cardano-submit-api.cabal b/cardano-submit-api/cardano-submit-api.cabal index 5345979492f..9367fd780da 100644 --- a/cardano-submit-api/cardano-submit-api.cabal +++ b/cardano-submit-api/cardano-submit-api.cabal @@ -39,7 +39,7 @@ library , aeson , async , bytestring - , cardano-api ^>= 10.6 + , cardano-api ^>= 10.8 , cardano-binary , cardano-cli ^>= 10.3 , cardano-crypto-class ^>= 2.1.2 diff --git a/cardano-testnet/cardano-testnet.cabal b/cardano-testnet/cardano-testnet.cabal index d53d16f5558..d2ab8364236 100644 --- a/cardano-testnet/cardano-testnet.cabal +++ b/cardano-testnet/cardano-testnet.cabal @@ -35,7 +35,7 @@ library , aeson-pretty , ansi-terminal , bytestring - , cardano-api ^>= 10.6 + , cardano-api ^>= 10.8 , cardano-cli:{cardano-cli, cardano-cli-test-lib} ^>= 10.3 , cardano-crypto-class , cardano-crypto-wrapper From e702d0198a32f436ffa4dbae92632257b0d1bee0 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Tue, 11 Feb 2025 12:31:29 -0700 Subject: [PATCH 09/10] Update to cardano-cli 10.4 --- bench/tx-generator/tx-generator.cabal | 2 +- cardano-node-chairman/cardano-node-chairman.cabal | 2 +- cardano-submit-api/cardano-submit-api.cabal | 2 +- cardano-testnet/cardano-testnet.cabal | 2 +- .../Cardano/Testnet/Test/Cli/Query.hs | 8 ++++++++ 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bench/tx-generator/tx-generator.cabal b/bench/tx-generator/tx-generator.cabal index 6d4b27f34c8..65c6da53051 100644 --- a/bench/tx-generator/tx-generator.cabal +++ b/bench/tx-generator/tx-generator.cabal @@ -108,7 +108,7 @@ library , bytestring , cardano-api ^>= 10.8 , cardano-binary - , cardano-cli ^>= 10.3 + , cardano-cli ^>= 10.4 , cardano-crypto-class , cardano-crypto-wrapper , cardano-data diff --git a/cardano-node-chairman/cardano-node-chairman.cabal b/cardano-node-chairman/cardano-node-chairman.cabal index c7aa9f6b94a..b0768d80035 100644 --- a/cardano-node-chairman/cardano-node-chairman.cabal +++ b/cardano-node-chairman/cardano-node-chairman.cabal @@ -89,5 +89,5 @@ test-suite chairman-tests ghc-options: -threaded -rtsopts "-with-rtsopts=-N -T" build-tool-depends: cardano-node:cardano-node - , cardano-cli:cardano-cli ^>= 10.3 + , cardano-cli:cardano-cli ^>= 10.4 , cardano-node-chairman:cardano-node-chairman diff --git a/cardano-submit-api/cardano-submit-api.cabal b/cardano-submit-api/cardano-submit-api.cabal index 9367fd780da..1ba105adbbf 100644 --- a/cardano-submit-api/cardano-submit-api.cabal +++ b/cardano-submit-api/cardano-submit-api.cabal @@ -41,7 +41,7 @@ library , bytestring , cardano-api ^>= 10.8 , cardano-binary - , cardano-cli ^>= 10.3 + , cardano-cli ^>= 10.4 , cardano-crypto-class ^>= 2.1.2 , http-media , iohk-monitoring diff --git a/cardano-testnet/cardano-testnet.cabal b/cardano-testnet/cardano-testnet.cabal index d2ab8364236..bc4d73252e0 100644 --- a/cardano-testnet/cardano-testnet.cabal +++ b/cardano-testnet/cardano-testnet.cabal @@ -36,7 +36,7 @@ library , ansi-terminal , bytestring , cardano-api ^>= 10.8 - , cardano-cli:{cardano-cli, cardano-cli-test-lib} ^>= 10.3 + , cardano-cli:{cardano-cli, cardano-cli-test-lib} ^>= 10.4 , cardano-crypto-class , cardano-crypto-wrapper , cardano-git-rev ^>= 0.2.2 diff --git a/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Cli/Query.hs b/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Cli/Query.hs index aa316ce559c..b8337797c39 100644 --- a/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Cli/Query.hs +++ b/cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/Cli/Query.hs @@ -447,6 +447,14 @@ hprop_cli_queries = integrationWorkspace "cli-queries" $ \tempAbsBasePath' -> H. -- TODO @cardano-cli team pure () + TestQueryRatifyStateCmd -> do + -- TODO @cardano-cli team + pure () + + TestQueryFuturePParamsCmd -> do + -- TODO @cardano-cli team + pure () + where -- | Wait for the part of the epoch when futurePParams are known waitForFuturePParamsToStabilise From 1e585676cbfdbc5f3e7dfd360b23afe032645587 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Fri, 7 Feb 2025 16:58:12 -0700 Subject: [PATCH 10/10] Update cardano-node version --- cardano-node/cardano-node.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index 4d6b9c3e823..4acbf819f07 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -1,7 +1,7 @@ cabal-version: 3.0 name: cardano-node -version: 10.2 +version: 10.2.1 synopsis: The cardano full node description: The cardano full node. category: Cardano,