From 9d312f6c1ebf991c72f925b8ad6d234b5eff5a9c Mon Sep 17 00:00:00 2001 From: KtorZ Date: Fri, 19 Sep 2025 10:22:47 +0200 Subject: [PATCH] add NodeToClientV_23 -> GetDRepsDelegations --- .../api/lib/Cardano/Network/NodeToClient/Version.hs | 4 ++++ .../orphan-instances/Cardano/Network/OrphanInstances.hs | 2 ++ .../protocols/cddl/specs/handshake-node-to-client.cddl | 6 +++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cardano-diffusion/api/lib/Cardano/Network/NodeToClient/Version.hs b/cardano-diffusion/api/lib/Cardano/Network/NodeToClient/Version.hs index fd6fd1d1ae0..b74593ab2de 100644 --- a/cardano-diffusion/api/lib/Cardano/Network/NodeToClient/Version.hs +++ b/cardano-diffusion/api/lib/Cardano/Network/NodeToClient/Version.hs @@ -56,6 +56,8 @@ data NodeToClientVersion -- ^ new codecs for @PParams@ and @CompactGenesis@ | NodeToClientV_22 -- ^ support SRV records in @GetBigLedgerPeerSnapshot@ query + | NodeToClientV_23 + -- ^ added @QueryDRepsDelegations@, deriving (Eq, Ord, Enum, Bounded, Show, Generic, NFData) -- | We set 16ths bit to distinguish `NodeToNodeVersion` and @@ -76,6 +78,7 @@ nodeToClientVersionCodec = CodecCBORTerm { encodeTerm, decodeTerm } NodeToClientV_20 -> enc 20 NodeToClientV_21 -> enc 21 NodeToClientV_22 -> enc 22 + NodeToClientV_23 -> enc 23 where enc :: Int -> CBOR.Term enc = CBOR.TInt . (`setBit` nodeToClientVersionBit) @@ -89,6 +92,7 @@ nodeToClientVersionCodec = CodecCBORTerm { encodeTerm, decodeTerm } 20 -> Right NodeToClientV_20 21 -> Right NodeToClientV_21 22 -> Right NodeToClientV_22 + 23 -> Right NodeToClientV_23 n -> Left (unknownTag n) where dec :: CBOR.Term -> Either (Text, Maybe Int) Int diff --git a/cardano-diffusion/orphan-instances/Cardano/Network/OrphanInstances.hs b/cardano-diffusion/orphan-instances/Cardano/Network/OrphanInstances.hs index 944a8d88f32..3a3c7730da8 100644 --- a/cardano-diffusion/orphan-instances/Cardano/Network/OrphanInstances.hs +++ b/cardano-diffusion/orphan-instances/Cardano/Network/OrphanInstances.hs @@ -83,6 +83,7 @@ instance FromJSON NodeToClientVersion where Number 20 -> pure NodeToClientV_20 Number 21 -> pure NodeToClientV_21 Number 22 -> pure NodeToClientV_22 + Number 23 -> pure NodeToClientV_23 Number x -> fail $ "FromJSON.NodeToClientVersion: unsupported node-to-client protocol version " ++ show x x -> fail $ "FromJSON.NodeToClientVersion: error parsing NodeToClientVersion: " ++ show x @@ -95,6 +96,7 @@ instance ToJSON NodeToClientVersion where NodeToClientV_20 -> Number 20 NodeToClientV_21 -> Number 21 NodeToClientV_22 -> Number 22 + NodeToClientV_23 -> Number 23 instance ToJSON NodeToNodeVersionData where toJSON (NodeToNodeVersionData (NetworkMagic m) dm ps q) = object diff --git a/cardano-diffusion/protocols/cddl/specs/handshake-node-to-client.cddl b/cardano-diffusion/protocols/cddl/specs/handshake-node-to-client.cddl index afee197d68b..3d917758421 100644 --- a/cardano-diffusion/protocols/cddl/specs/handshake-node-to-client.cddl +++ b/cardano-diffusion/protocols/cddl/specs/handshake-node-to-client.cddl @@ -19,13 +19,13 @@ versionTable = { * versionNumber => nodeToClientVersionData } ; as of version 2 (which is no longer supported) we set 16th bit to 1 -; 16 / 17 / 18 / 19 / 20 / 21 / 22 -versionNumber = 32784 / 32785 / 32786 / 32787 / 32788 / 32789 / 32790 +; 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 +versionNumber = 32784 / 32785 / 32786 / 32787 / 32788 / 32789 / 32790 / 32791 ; As of version 15 and higher nodeToClientVersionData = [networkMagic, query] -networkMagic = uint +networkMagic = uint query = bool refuseReason