-
Notifications
You must be signed in to change notification settings - Fork 351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow querying for validator public key #1828
Comments
Do you need the consensus public key or the operator public key? In the Cosmos SDK query, only the consensus public key is easily available: What do you need the public key for? |
The one that is used to sign blocks, that is the one we need. I think that would be the consensus one. We need the validator public key in order to verify signatures on the Provider side, as part of cross-slashing. |
See also: osmosis-labs/mesh-security#72. |
I see. Yeah, this is Adding this is source code breaking but we can do it as first thing of the CosmWasm 2.0 work and you can start using a development branch. |
By the way, in https://twitter.com/Rarma_/status/1693977352823533666 you see a case where the operator address is not derived from a pubkey but is a CosmWasm contract address. This means you cannot rely on operator pubkeys/addresses to connect the same operator across chains. This matches the Cosmos SDK return data where you only get an operator address but not pubkey. |
We do not need to connect operators across chains. In fact, in the current design of mesh-security, we ended up not needing the public keys at all. So, this can be closed. Or left open as a nice to have, if you want. |
Thanks! I'll leave it open for now as it is a reasonable addition. |
Let's not increase the response of the list, but for querying a single validator it makes sense to add this to the response. |
Ideally, the pubkey would be returned as part of the
Validator
structhttps://github.com/CosmWasm/cosmwasm/blob/ebb378517fbf2c2093c873e5c99a2ea12ce640cf/packages/std/src/query/staking.rs#L131C10-L139
That means it'll be part of the
StakingQuery::AllValidators
andStakingQuery::Validator
query responses.It can be an optional field for backwards compatibility / non-breaking change.
Alternatively / non-ideally, add a new query type so that the pubkey can be queried.
We need this as part of Mesh Security. See by example osmosis-labs/mesh-security#88.
The text was updated successfully, but these errors were encountered: