Skip to content

Conversation

@KtorZ
Copy link
Contributor

@KtorZ KtorZ commented Oct 15, 2025

Description

Add support for a newly introduce ledger query, that still needs to be wired in the state-query protocol.

See also IntersectMBO/ouroboros-consensus#1717.

Checklist

Quality

  • Commit sequence makes sense and have useful messages, see ref.
  • New tests are added and existing tests are updated.
  • Self-reviewed the PR.

Maintenance

  • Linked an issue or added the PR to the current sprint of ouroboros-network project.
  • Added labels.
  • Updated changelog files.
  • The documentation has been properly updated, see ref.

Copy link
Collaborator

@coot coot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to update cardano-ping, we'll release it along side #5205.

@coot
Copy link
Collaborator

coot commented Oct 16, 2025

You need to update ouroboros-network:orphan-instances:

orphan-instances/Cardano/Network/OrphanInstances.hs:91:12: error: [GHC-62161] [-Wincomplete-patterns, Werror=incomplete-patterns]
    Pattern match(es) are non-exhaustive
    In a \case alternative:
        Patterns of type ‘NodeToClientVersion’ not matched:
            NodeToClientV_23
   |
91 |   toJSON = \case
   |            ^^^^^...

@coot
Copy link
Collaborator

coot commented Oct 16, 2025

Also a cddl test failed:

    NodeToClient.Handshake:            FAIL (2.06s)
      *** Failed! Falsified (after 7 tests):
      AnyMessage (MsgProposeVersions (fromList [(NodeToClientV_20,TList [TInt 1,TBool True]),(NodeToClientV_21,TList [TInt 6,TBool False]),(NodeToClientV_23,TList [TInt 8,TBool True])]))
      Right ("",TList [TInt 0,TMap [(TInt 32788,TList [TInt 1,TBool True]),(TInt 32789,TList [TInt 6,TBool False]),(TInt 32791,TList [TInt 8,TBool True])]])
      Source locally installed gems is ignoring #<Bundler::StubSpecification name=rbs version=3.4.0 platform=ruby> because it is missing extensions
      Source locally installed gems is ignoring #<Bundler::StubSpecification name=racc version=1.7.3 platform=ruby> because it is missing extensions
      Source locally installed gems is ignoring #<Bundler::StubSpecification name=debug version=1.9.2 platform=ruby> because it is missing extensions
      /nix/store/9zd1infh9sh8zzp58rmgkq5cs784vsp9-ruby3.3-cddl-0.12.9/lib/ruby/gems/3.3.0/gems/cddl-0.12.9/lib/cddl.rb:10: warning: base64 was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.4.0.
      You can add base64 to your Gemfile or gemspec to silence this warning.
      CDDL validation failure (nil for [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}]):
      [0,
       [:int, 3],
       "\n" +
       "occur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \"\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\n" +
       "occur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]][0, [:int, 1], \"\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\"\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\n" +
       "occur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:array, [:member, 0, Infinity, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]]]]], [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]], [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]]]]][0, [:int, 2], \"\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\"\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]][0, [:int, 1], \\\"\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\\\\\"\\\\\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:array, [:member, 0, Infinity, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]]]]], [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]], [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]]]]]\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:array, [:member, 0, Infinity, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]]]]], [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]], [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]]]]]\n" +
       "occur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 3]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][0, [:int, 3], \"\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\"\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]][0, [:int, 1], \\\"\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\\\\\"\\\\\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:array, [:member, 0, Infinity, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]]]]], [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]], [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]]]]][0, [:int, 2], \\\"\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\\\\\"\\\\\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]][0, [:int, 1], \\\\\\\"\\\\\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]][false, [:prim, 7, 20], \\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\noccur 0 < 1, not reached at 1 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\\\\\\\\\\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\\\\\\\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\\\\\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]\\\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:array, [:member, 0, Infinity, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]]]]], [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]], [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]]]]]\\\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:array, [:member, 1, 1, nil, [:int, 0]], [:member, 1, 1, nil, [:array, [:member, 0, Infinity, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]]]]], [:array, [:member, 1, 1, nil, [:int, 1]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]], [:array, [:member, 1, 1, nil, [:int, 2]], [:member, 1, 1, nil, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]]], [:member, 1, 1, nil, [:prim, 3]]]]]]\\noccur 0 < 1, not reached at 0 in array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 3]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]\"] -- cannot complete (false, 2) array [0, {32788=>[1, true], 32789=>[6, false], 32791=>[8, true]}] for [:array, [:member, 1, 1, nil, [:int, 3]], [:member, 1, 1, nil, [:map, [:member, 0, Infinity, [:type1, [:int, 32784], [:int, 32785], [:int, 32786], [:int, 32787], [:int, 32788], [:int, 32789], [:int, 32790]], [:array, [:member, 1, 1, nil, [:prim, 0]], [:member, 1, 1, nil, [:type1, [:prim, 7, 20], [:prim, 7, 21]]]]]]]]"]
      
      Use --quickcheck-replay="(SMGen 14156764549742522538 4629085955657003555,6)" to reproduce.
      Use -p '/encoding.NodeToClient.Handshake/' to rerun this test only.

You just need to add the new version to the spec.

@KtorZ
Copy link
Contributor Author

KtorZ commented Oct 16, 2025

@coot would you be kind enough to do those remaining updates yourself 🙏? It'll likely take you far less time than me.

@KtorZ
Copy link
Contributor Author

KtorZ commented Oct 16, 2025

Nevermind;

@coot
Copy link
Collaborator

coot commented Oct 20, 2025

sure, I'll take care of it. There are also some conflicts which are likely due to a refactoring PR we merged just recently.

@coot
Copy link
Collaborator

coot commented Oct 20, 2025

I cannot becasue it's a PR from a fork. You can update your branch using coot/node-to-cleint-version-23 branch I just pushed.

@KtorZ
Copy link
Contributor Author

KtorZ commented Oct 21, 2025

Update to what @coot? The changes for the spec & orphan instance are already on my branch and yours.

@coot
Copy link
Collaborator

coot commented Oct 22, 2025

You only updated a comment in the spec, not the spec itself. That's why the test still fails.

@KtorZ
Copy link
Contributor Author

KtorZ commented Oct 22, 2025

🤦‍♂️

@coot coot moved this from In Progress to In Review in Ouroboros Network Oct 23, 2025
@KtorZ
Copy link
Contributor Author

KtorZ commented Oct 23, 2025

Done @coot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

node-to-client Issues & PRs related to node-to-client protocols

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

2 participants