-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
feat(client/v2): add support for pubkey #19039
Conversation
This comment has been minimized.
This comment has been minimized.
x/staking/autocli.go
Outdated
{ | ||
RpcMethod: "RotateConsPubKey", | ||
Use: "rotate-cons-pubkey [validator-address] [new-pubkey]", | ||
Short: "rotate validator consensus pub key. Note: you have to replace the `~/.simapp/config/priv_validator_key.json` with new key and restart the node after rotating the key ", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use version.AppName+"d" instead of simapp
WalkthroughThe recent updates enhance the functionality of a blockchain client by introducing support for a new public key scalar type, specifically for Cosmos. It includes the addition of this scalar type to a builder configuration, methods for handling public keys, and an update to the protocol buffer definition for staking transactions to accommodate the public key changes. Additionally, a new command has been added to the staking module to allow for the rotation of validator consensus public keys. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
client/v2/autocli/flag/pubkey.go
Outdated
// fallback to pubkey parsing | ||
registry := types.NewInterfaceRegistry() | ||
cryptocodec.RegisterInterfaces(registry) | ||
cdc := codec.NewProtoCodec(registry) | ||
|
||
var pk cryptotypes.PubKey | ||
err2 := cdc.UnmarshalInterfaceJSON([]byte(s), &pk) | ||
if err2 != nil { | ||
return fmt.Errorf("input isn't a pubkey, or is an invalid account address: %w", err2) | ||
} | ||
|
||
any, err := types.NewAnyWithValue(pk) | ||
if err != nil { | ||
return fmt.Errorf("error converting to any type") | ||
} | ||
a.value = any | ||
|
||
// a.value, err = a.addressCodec.BytesToString(pk.Address()) | ||
// if err != nil { | ||
// return fmt.Errorf("invalid pubkey address: %w", err) | ||
// } | ||
|
||
return nil | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The method Set
in pubkeyValue
struct is responsible for parsing the public key from a string and setting it to the value
field. The error message in line 45 has been updated to include both cases of invalid public key and invalid account address, which is a good practice for error handling. However, the commented-out code from lines 54-57 should be removed if it's no longer needed to avoid confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
Description
This PR adds support
rotate-cons-pubkey
to use autocliref: #18141
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...