cosmos / cosmjs

The Swiss Army knife to power JavaScript based client solutions ranging from Web apps/explorers over browser extensions to server-side clients like faucets/scrapers.
https://cosmos.github.io/cosmjs/
Apache License 2.0
646 stars 331 forks source link

Bug: Validator signing infos with empty addresses #1436

Closed livthomas closed 1 year ago

livthomas commented 1 year ago

It looks like there is some problem with validator signing infos. It is not possible to get signing infos for all bonded validators. Some records are simply missing.

When I try to get all signing infos using query client with slashing extension, I can see that some records contain an empty string in the address field. This might point at some serialization issue.

I can only reproduce this problem on Cosmos Hub. It does not affect any other Cosmos chain I have tried.

Steps to Reproduce

  1. Get all signing infos via RPC
  2. Get all bonded validators via RPC
  3. Try to match validators to their signing infos
  4. See how many validators do not have any signing infos
  5. See that there are some signing infos with empty addresses

Reproducer

You can find a simple reproducer script here: https://github.com/RBFLabs/bug-reproducers/tree/main/cosmos/cosmjs/empty-signing-info-addresses

webmaster128 commented 1 year ago

Thank you for bringing this up. To be honest, I never worked with signingInfos and don't know the expected output. I think we need someone from the Cosmos SDK or Comet teams to check this out.

livthomas commented 1 year ago

I think we can close this issue since it probably doesn't have anything to do with cosmjs library as it can be easily reproduced by hitting the REST API directly. Moreover, it looks like it is not even an issue with Cosmos SDK but something specific to Cosmos Hub because I'm not able to reproduce it anywhere else.