From efae3071dab6e9aaa6880f6096f2b16f2a08dd47 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 17:02:26 +0530 Subject: [PATCH 01/10] feat: add support for pubkey --- client/v2/autocli/flag/address.go | 52 +++++++++++++++++++++++++++++++ client/v2/autocli/flag/builder.go | 2 ++ 2 files changed, 54 insertions(+) diff --git a/client/v2/autocli/flag/address.go b/client/v2/autocli/flag/address.go index 507a7267a9fc..fa979ae51c42 100644 --- a/client/v2/autocli/flag/address.go +++ b/client/v2/autocli/flag/address.go @@ -139,3 +139,55 @@ func (a *consensusAddressValue) Set(s string) error { return nil } + +type pubkeyType struct{} + +func (a pubkeyType) NewValue(_ context.Context, _ *Builder) Value { + return pubkeyValue{} +} + +func (a pubkeyType) DefaultValue() string { + return "" +} + +type pubkeyValue struct { + value *types.Any +} + +func (a pubkeyValue) Get(protoreflect.Value) (protoreflect.Value, error) { + return protoreflect.ValueOf(a.value), nil +} + +func (a pubkeyValue) String() string { + return a.value.String() +} + +func (a pubkeyValue) Set(s string) error { + // 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 +} + +func (a pubkeyValue) Type() string { + return "pubkey" +} diff --git a/client/v2/autocli/flag/builder.go b/client/v2/autocli/flag/builder.go index a30f809dc720..8b15cacaa26d 100644 --- a/client/v2/autocli/flag/builder.go +++ b/client/v2/autocli/flag/builder.go @@ -28,6 +28,7 @@ const ( AddressStringScalarType = "cosmos.AddressString" ValidatorAddressStringScalarType = "cosmos.ValidatorAddressString" ConsensusAddressStringScalarType = "cosmos.ConsensusAddressString" + PubkeyScalarType = "cosmos.pubkey" ) // Builder manages options for building pflag flags for protobuf messages. @@ -71,6 +72,7 @@ func (b *Builder) init() { b.scalarFlagTypes[AddressStringScalarType] = addressStringType{} b.scalarFlagTypes[ValidatorAddressStringScalarType] = validatorAddressStringType{} b.scalarFlagTypes[ConsensusAddressStringScalarType] = consensusAddressStringType{} + b.scalarFlagTypes[PubkeyScalarType] = pubkeyType{} } } From f63a109c31fdc7b42da5add49ea7ab4d078a7535 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 21:35:57 +0530 Subject: [PATCH 02/10] update autocli --- client/v2/autocli/flag/builder.go | 2 +- proto/cosmos/staking/v1beta1/tx.proto | 2 +- x/staking/autocli.go | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/client/v2/autocli/flag/builder.go b/client/v2/autocli/flag/builder.go index 8b15cacaa26d..2fe5eb72424f 100644 --- a/client/v2/autocli/flag/builder.go +++ b/client/v2/autocli/flag/builder.go @@ -28,7 +28,7 @@ const ( AddressStringScalarType = "cosmos.AddressString" ValidatorAddressStringScalarType = "cosmos.ValidatorAddressString" ConsensusAddressStringScalarType = "cosmos.ConsensusAddressString" - PubkeyScalarType = "cosmos.pubkey" + PubkeyScalarType = "cosmos.Pubkey" ) // Builder manages options for building pflag flags for protobuf messages. diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 0d46d8067d44..29c6f9c083ad 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -221,7 +221,7 @@ message MsgRotateConsPubKey { option (gogoproto.equal) = false; string validator_address = 1 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; - google.protobuf.Any new_pubkey = 2 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; + google.protobuf.Any new_pubkey = 2 [(cosmos_proto.scalar) = "cosmos.PubKey"]; } // MsgRotateConsPubKeyResponse defines the response structure for executing a diff --git a/x/staking/autocli.go b/x/staking/autocli.go index d8ed6e80999f..70e348cb08ee 100644 --- a/x/staking/autocli.go +++ b/x/staking/autocli.go @@ -173,6 +173,13 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { Example: fmt.Sprintf(`%s tx staking cancel-unbond cosmosvaloper... 100stake 2 --from mykey`, version.AppName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "validator_address"}, {ProtoField: "amount"}, {ProtoField: "creation_height"}}, }, + { + 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 ", + Example: fmt.Sprintf(`%s tx staking rotate-cons-pubkey cosmosvaloper... {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="} --from myvalidator`, version.AppName), + PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "validator_address"}, {ProtoField: "new_pubkey"}}, + }, { RpcMethod: "UpdateParams", Use: "update-params-proposal [params]", From 4aec2fe43e13703f815b361a85e238e2c3f5d74a Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 22:28:12 +0530 Subject: [PATCH 03/10] review changes --- client/v2/autocli/flag/address.go | 52 ------------------------- client/v2/autocli/flag/pubkey.go | 64 +++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 52 deletions(-) create mode 100644 client/v2/autocli/flag/pubkey.go diff --git a/client/v2/autocli/flag/address.go b/client/v2/autocli/flag/address.go index fa979ae51c42..507a7267a9fc 100644 --- a/client/v2/autocli/flag/address.go +++ b/client/v2/autocli/flag/address.go @@ -139,55 +139,3 @@ func (a *consensusAddressValue) Set(s string) error { return nil } - -type pubkeyType struct{} - -func (a pubkeyType) NewValue(_ context.Context, _ *Builder) Value { - return pubkeyValue{} -} - -func (a pubkeyType) DefaultValue() string { - return "" -} - -type pubkeyValue struct { - value *types.Any -} - -func (a pubkeyValue) Get(protoreflect.Value) (protoreflect.Value, error) { - return protoreflect.ValueOf(a.value), nil -} - -func (a pubkeyValue) String() string { - return a.value.String() -} - -func (a pubkeyValue) Set(s string) error { - // 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 -} - -func (a pubkeyValue) Type() string { - return "pubkey" -} diff --git a/client/v2/autocli/flag/pubkey.go b/client/v2/autocli/flag/pubkey.go new file mode 100644 index 000000000000..d5078e49c8fc --- /dev/null +++ b/client/v2/autocli/flag/pubkey.go @@ -0,0 +1,64 @@ +package flag + +import ( + "context" + "fmt" + + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/types" + cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type pubkeyType struct{} + +func (a pubkeyType) NewValue(_ context.Context, _ *Builder) Value { + return pubkeyValue{} +} + +func (a pubkeyType) DefaultValue() string { + return "" +} + +type pubkeyValue struct { + value *types.Any +} + +func (a pubkeyValue) Get(protoreflect.Value) (protoreflect.Value, error) { + return protoreflect.ValueOf(a.value), nil +} + +func (a pubkeyValue) String() string { + return a.value.String() +} + +func (a pubkeyValue) Set(s string) error { + // 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 +} + +func (a pubkeyValue) Type() string { + return "pubkey" +} From 9d2ce045d1fb45ce16130d5fb92cb5dae8d3298b Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 22:29:18 +0530 Subject: [PATCH 04/10] review --- x/staking/autocli.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/autocli.go b/x/staking/autocli.go index 70e348cb08ee..5f1ee62b696f 100644 --- a/x/staking/autocli.go +++ b/x/staking/autocli.go @@ -177,7 +177,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { 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 ", - Example: fmt.Sprintf(`%s tx staking rotate-cons-pubkey cosmosvaloper... {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="} --from myvalidator`, version.AppName), + Example: fmt.Sprintf(`%s tx staking rotate-cons-pubkey myvalidator {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="}`, version.AppName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "validator_address"}, {ProtoField: "new_pubkey"}}, }, { From 11068bfbcd44a7db8af63b6a8aa079b1718f6040 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 22:51:26 +0530 Subject: [PATCH 05/10] review changes --- client/v2/autocli/flag/pubkey.go | 12 +++--------- proto/cosmos/staking/v1beta1/tx.proto | 5 ++++- x/staking/autocli.go | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/client/v2/autocli/flag/pubkey.go b/client/v2/autocli/flag/pubkey.go index d5078e49c8fc..504383369ddb 100644 --- a/client/v2/autocli/flag/pubkey.go +++ b/client/v2/autocli/flag/pubkey.go @@ -34,15 +34,14 @@ func (a pubkeyValue) String() string { } func (a pubkeyValue) Set(s string) error { - // 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) + err := cdc.UnmarshalInterfaceJSON([]byte(s), &pk) + if err != nil { + return fmt.Errorf("input isn't a pubkey: %w", err) } any, err := types.NewAnyWithValue(pk) @@ -51,11 +50,6 @@ func (a pubkeyValue) Set(s string) error { } a.value = any - // a.value, err = a.addressCodec.BytesToString(pk.Address()) - // if err != nil { - // return fmt.Errorf("invalid pubkey address: %w", err) - // } - return nil } diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 29c6f9c083ad..21a21d6eecdd 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -89,7 +89,10 @@ message MsgEditValidator { option (gogoproto.goproto_getters) = false; Description description = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; - string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; + string validator_address = 2 [ + (cosmos_proto.scalar) = "cosmos.ValidatorAddressString", + (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey" + ]; // We pass a reference to the new commission rate and min self delegation as // it's not mandatory to update. If not updated, the deserialized rate will be diff --git a/x/staking/autocli.go b/x/staking/autocli.go index 5f1ee62b696f..b6a187812b81 100644 --- a/x/staking/autocli.go +++ b/x/staking/autocli.go @@ -176,7 +176,7 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { { 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 ", + Short: fmt.Sprintf("rotate validator consensus pub key. Note: you have to replace the `~/.%sd/config/priv_validator_key.json` with new key and restart the node after rotating the key", version.AppName), Example: fmt.Sprintf(`%s tx staking rotate-cons-pubkey myvalidator {"@type":"/cosmos.crypto.ed25519.PubKey","key":"oWg2ISpLF405Jcm2vXV+2v4fnjodh6aafuIdeoW+rUw="}`, version.AppName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "validator_address"}, {ProtoField: "new_pubkey"}}, }, From 6f5dfb2d1e0992226631b1ef756fb63b4dc63622 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 22:55:59 +0530 Subject: [PATCH 06/10] changelog --- client/v2/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/client/v2/CHANGELOG.md b/client/v2/CHANGELOG.md index 2287e6bd07cc..bf24eb2992bf 100644 --- a/client/v2/CHANGELOG.md +++ b/client/v2/CHANGELOG.md @@ -41,6 +41,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Features * [#18461](https://github.com/cosmos/cosmos-sdk/pull/18461) Support governance proposals. +* [#19039](https://github.com/cosmos/cosmos-sdk/pull/19039) add support for pubkey in autocli. ### API Breaking Changes From 8d55f186b0a1644f643cb3e144595d52b8082018 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 23:01:06 +0530 Subject: [PATCH 07/10] review changes --- docs/build/building-modules/05-protobuf-annotations.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/build/building-modules/05-protobuf-annotations.md b/docs/build/building-modules/05-protobuf-annotations.md index 3621e10485df..d25f6abcf634 100644 --- a/docs/build/building-modules/05-protobuf-annotations.md +++ b/docs/build/building-modules/05-protobuf-annotations.md @@ -40,6 +40,12 @@ Example of validator address string scalar: https://github.com/cosmos/cosmos-sdk/blob/e8f28bf5db18b8d6b7e0d94b542ce4cf48fed9d6/proto/cosmos/distribution/v1beta1/query.proto#L87 ``` +Example of pubkey scalar: + +```proto reference +https://github.com/cosmos/cosmos-sdk/blob/11068bfbcd44a7db8af63b6a8aa079b1718f6040/proto/cosmos/staking/v1beta1/tx.proto#L94 +``` + Example of Decimals scalar: ```proto reference From 6b49042b1f4d48257643033b7d8f3d4603b8bc5c Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 23:06:11 +0530 Subject: [PATCH 08/10] review changes --- proto/cosmos/staking/v1beta1/tx.proto | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 21a21d6eecdd..0fb0f848f2a7 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -89,10 +89,7 @@ message MsgEditValidator { option (gogoproto.goproto_getters) = false; Description description = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; - string validator_address = 2 [ - (cosmos_proto.scalar) = "cosmos.ValidatorAddressString", - (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey" - ]; + string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; // We pass a reference to the new commission rate and min self delegation as // it's not mandatory to update. If not updated, the deserialized rate will be @@ -224,7 +221,10 @@ message MsgRotateConsPubKey { option (gogoproto.equal) = false; string validator_address = 1 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; - google.protobuf.Any new_pubkey = 2 [(cosmos_proto.scalar) = "cosmos.PubKey"]; + google.protobuf.Any new_pubkey = 2 [ + (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", + (cosmos_proto.scalar) = "cosmos.PubKey" + ]; } // MsgRotateConsPubKeyResponse defines the response structure for executing a From e394895b3bb7dfd0fb780f7ec3762407091bf8ba Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Fri, 12 Jan 2024 17:41:15 +0000 Subject: [PATCH 09/10] proto-gen --- api/cosmos/staking/v1beta1/tx.pulsar.go | 155 ++++++++++++------------ proto/cosmos/staking/v1beta1/tx.proto | 6 +- x/staking/types/tx.pb.go | 155 ++++++++++++------------ 3 files changed, 158 insertions(+), 158 deletions(-) diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 97fe05488d6f..eab9304b9e8f 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -8914,96 +8914,97 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, + 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, - 0x09, 0x6e, 0x65, 0x77, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, 0x41, 0x88, 0xa0, 0x1f, 0x00, - 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x1e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x1d, 0x0a, - 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x93, 0x07, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x29, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0xd2, + 0xb4, 0x2d, 0x0d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x52, 0x09, 0x6e, 0x65, 0x77, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, 0x41, 0x88, 0xa0, 0x1f, + 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x1e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x1d, + 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, + 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x93, 0x07, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, - 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, + 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, - 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 0fb0f848f2a7..b02d271aba32 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -221,10 +221,8 @@ message MsgRotateConsPubKey { option (gogoproto.equal) = false; string validator_address = 1 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; - google.protobuf.Any new_pubkey = 2 [ - (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", - (cosmos_proto.scalar) = "cosmos.PubKey" - ]; + google.protobuf.Any new_pubkey = 2 + [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", (cosmos_proto.scalar) = "cosmos.PubKey"]; } // MsgRotateConsPubKeyResponse defines the response structure for executing a diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 55aa50e48b71..c5b66a095871 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -752,83 +752,84 @@ func init() { func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1210 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xf7, 0xda, 0x49, 0xfa, 0xcd, 0xe4, 0x9b, 0x5f, 0x9b, 0xa4, 0x75, 0x36, 0xa9, 0x5d, 0xb6, - 0x81, 0x44, 0x41, 0xb6, 0xdb, 0x14, 0x15, 0x61, 0x2a, 0xd4, 0x38, 0x29, 0x50, 0xc0, 0x28, 0xda, - 0x90, 0x22, 0x21, 0x24, 0x33, 0xde, 0x9d, 0x6c, 0x56, 0xf1, 0xce, 0x6c, 0x77, 0xc6, 0x69, 0x7d, - 0x43, 0x9c, 0x80, 0x0b, 0x95, 0x38, 0x23, 0x95, 0x03, 0x12, 0xdc, 0x72, 0xc8, 0xbf, 0x80, 0x54, - 0x71, 0xaa, 0x72, 0x42, 0x3d, 0x04, 0x94, 0x1c, 0xd2, 0xff, 0x80, 0x03, 0x17, 0xb4, 0xbb, 0xb3, - 0xeb, 0xdd, 0xf5, 0xcf, 0x04, 0x7a, 0xe9, 0x25, 0xb1, 0xdf, 0x7c, 0xde, 0x67, 0xe6, 0xbd, 0xcf, - 0x9b, 0x37, 0xcf, 0x20, 0xab, 0x12, 0x6a, 0x12, 0x5a, 0xa0, 0x0c, 0xee, 0x1a, 0x58, 0x2f, 0xec, - 0x5d, 0xaf, 0x22, 0x06, 0xaf, 0x17, 0xd8, 0xc3, 0xbc, 0x65, 0x13, 0x46, 0xc4, 0x8b, 0x1e, 0x20, - 0xcf, 0x01, 0x79, 0x0e, 0x90, 0x66, 0x75, 0x42, 0xf4, 0x1a, 0x2a, 0xb8, 0xa8, 0x6a, 0x7d, 0xbb, - 0x00, 0x71, 0xc3, 0x73, 0x91, 0xb2, 0xf1, 0x25, 0x66, 0x98, 0x88, 0x32, 0x68, 0x5a, 0x1c, 0x30, - 0xad, 0x13, 0x9d, 0xb8, 0x1f, 0x0b, 0xce, 0x27, 0x6e, 0x9d, 0xf5, 0x76, 0xaa, 0x78, 0x0b, 0x7c, - 0x5b, 0x6f, 0x29, 0xc3, 0x4f, 0x59, 0x85, 0x14, 0x05, 0x47, 0x54, 0x89, 0x81, 0xf9, 0xfa, 0x42, - 0x87, 0x28, 0xfc, 0x43, 0x7b, 0xa8, 0x4b, 0x1c, 0x65, 0x52, 0x07, 0xe1, 0xfc, 0xe3, 0x0b, 0x93, - 0xd0, 0x34, 0x30, 0x29, 0xb8, 0x7f, 0x3d, 0x93, 0xfc, 0xf7, 0x00, 0x10, 0xcb, 0x54, 0x5f, 0xb3, - 0x11, 0x64, 0xe8, 0x1e, 0xac, 0x19, 0x1a, 0x64, 0xc4, 0x16, 0x37, 0xc0, 0x88, 0x86, 0xa8, 0x6a, - 0x1b, 0x16, 0x33, 0x08, 0x4e, 0x0b, 0x57, 0x84, 0xa5, 0x91, 0x95, 0xab, 0xf9, 0xf6, 0x39, 0xca, - 0xaf, 0x37, 0xa1, 0xa5, 0xe1, 0x27, 0x47, 0xd9, 0xc4, 0xcf, 0xa7, 0xfb, 0xcb, 0x82, 0x12, 0xa6, - 0x10, 0x15, 0x00, 0x54, 0x62, 0x9a, 0x06, 0xa5, 0x0e, 0x61, 0xd2, 0x25, 0x5c, 0xec, 0x44, 0xb8, - 0x16, 0x20, 0x15, 0xc8, 0x10, 0x0d, 0x93, 0x86, 0x58, 0xc4, 0x2f, 0xc0, 0x94, 0x69, 0xe0, 0x0a, - 0x45, 0xb5, 0xed, 0x8a, 0x86, 0x6a, 0x48, 0x87, 0xee, 0x69, 0x53, 0x57, 0x84, 0xa5, 0xe1, 0xd2, - 0x35, 0xc7, 0xe7, 0xd9, 0x51, 0x76, 0xc6, 0xdb, 0x83, 0x6a, 0xbb, 0x79, 0x83, 0x14, 0x4c, 0xc8, - 0x76, 0xf2, 0x77, 0x31, 0x3b, 0x3c, 0xc8, 0x01, 0xbe, 0xf9, 0x5d, 0xcc, 0x3c, 0xea, 0x49, 0xd3, - 0xc0, 0x9b, 0xa8, 0xb6, 0xbd, 0x1e, 0x50, 0x89, 0xef, 0x81, 0x49, 0x4e, 0x4c, 0xec, 0x0a, 0xd4, - 0x34, 0x1b, 0x51, 0x9a, 0x1e, 0x70, 0xf9, 0xa5, 0xc3, 0x83, 0xdc, 0x34, 0xa7, 0x58, 0xf5, 0x56, - 0x36, 0x99, 0x6d, 0x60, 0x3d, 0x2d, 0x28, 0x13, 0x81, 0x13, 0x5f, 0x11, 0x3f, 0x06, 0x93, 0x7b, - 0x7e, 0x76, 0x03, 0xa2, 0x41, 0x97, 0xe8, 0x95, 0xc3, 0x83, 0xdc, 0x65, 0x4e, 0x14, 0x28, 0x10, - 0x61, 0x54, 0x26, 0xf6, 0x62, 0x76, 0xf1, 0x5d, 0x30, 0x64, 0xd5, 0xab, 0xbb, 0xa8, 0x91, 0x1e, - 0x72, 0x53, 0x39, 0x9d, 0xf7, 0x8a, 0x31, 0xef, 0x17, 0x63, 0x7e, 0x15, 0x37, 0x4a, 0xe9, 0xdf, - 0x9a, 0x67, 0x54, 0xed, 0x86, 0xc5, 0x48, 0x7e, 0xa3, 0x5e, 0xfd, 0x10, 0x35, 0x14, 0xee, 0x2d, - 0x16, 0xc1, 0xe0, 0x1e, 0xac, 0xd5, 0x51, 0xfa, 0x82, 0x4b, 0x33, 0xeb, 0x2b, 0xe2, 0x54, 0x60, - 0x48, 0x0e, 0x23, 0x22, 0xac, 0xe7, 0x52, 0xbc, 0xfd, 0xf5, 0xe3, 0x6c, 0xe2, 0xf9, 0xe3, 0x6c, - 0xe2, 0xab, 0xd3, 0xfd, 0xe5, 0xd6, 0xf0, 0xbe, 0x3d, 0xdd, 0x5f, 0xe6, 0x71, 0xe5, 0xa8, 0xb6, - 0x5b, 0x68, 0x2d, 0x33, 0x79, 0x1e, 0x48, 0xad, 0x56, 0x05, 0x51, 0x8b, 0x60, 0x8a, 0xe4, 0x9f, - 0x52, 0x60, 0xa2, 0x4c, 0xf5, 0x3b, 0x9a, 0xc1, 0x5e, 0x64, 0x65, 0xb6, 0x95, 0x26, 0x79, 0x7e, - 0x69, 0xee, 0x81, 0xf1, 0x66, 0x8d, 0x56, 0x6c, 0xc8, 0x10, 0xaf, 0xc8, 0xdc, 0xb3, 0xa3, 0xec, - 0x5c, 0x6b, 0x35, 0x7e, 0x84, 0x74, 0xa8, 0x36, 0xd6, 0x91, 0x1a, 0xaa, 0xc9, 0x75, 0xa4, 0x2a, - 0x63, 0x6a, 0xe4, 0x16, 0x88, 0x9f, 0xb6, 0xaf, 0x76, 0xaf, 0x1a, 0x17, 0xfb, 0xac, 0xf4, 0x36, - 0x45, 0x5e, 0x7c, 0xa7, 0xb7, 0x8e, 0x73, 0x51, 0x1d, 0x23, 0x92, 0xc8, 0x12, 0x48, 0xc7, 0x6d, - 0x81, 0x86, 0x3f, 0x24, 0xc1, 0x48, 0x99, 0xea, 0x7c, 0x37, 0x24, 0xde, 0x69, 0x77, 0xa1, 0x04, - 0x37, 0x84, 0x74, 0xa7, 0x0b, 0xd5, 0xef, 0x75, 0xfa, 0x17, 0x9a, 0xdd, 0x02, 0x43, 0xd0, 0x24, - 0x75, 0xcc, 0x5c, 0xa9, 0xfa, 0xbd, 0x07, 0xdc, 0xa7, 0xf8, 0x56, 0x24, 0x81, 0x2d, 0xf1, 0x39, - 0x09, 0xbc, 0x18, 0x4d, 0xa0, 0x9f, 0x0f, 0x79, 0x06, 0x4c, 0x85, 0xbe, 0x06, 0x69, 0xfb, 0x26, - 0xe5, 0xb6, 0xe5, 0x12, 0xd2, 0x0d, 0xac, 0x20, 0xed, 0x3f, 0xce, 0xde, 0x16, 0x98, 0x69, 0x66, - 0x8f, 0xda, 0xea, 0xd9, 0x33, 0x38, 0x15, 0xf8, 0x6f, 0xda, 0x6a, 0x5b, 0x5a, 0x8d, 0xb2, 0x80, - 0x36, 0x75, 0x76, 0xda, 0x75, 0xca, 0x5a, 0xb5, 0x19, 0x38, 0x87, 0x36, 0xb7, 0x7b, 0x6b, 0x13, - 0x6b, 0x52, 0xb1, 0xa4, 0xcb, 0x96, 0xdb, 0xa4, 0x62, 0x56, 0x5f, 0x29, 0x51, 0x71, 0x6f, 0xbb, - 0x55, 0x43, 0xce, 0x55, 0xaa, 0x38, 0x13, 0x00, 0xef, 0x49, 0x52, 0x4b, 0x47, 0xfe, 0xc4, 0x1f, - 0x0f, 0x4a, 0xa3, 0xce, 0x39, 0x1f, 0xfd, 0x91, 0x15, 0xbc, 0xb3, 0x8e, 0x35, 0x19, 0x1c, 0x8c, - 0xfc, 0x63, 0x12, 0x8c, 0x96, 0xa9, 0xbe, 0x85, 0xb5, 0x97, 0xfa, 0xda, 0xbc, 0xdd, 0x5b, 0x9a, - 0x74, 0x54, 0x9a, 0x66, 0x46, 0xe4, 0x5f, 0x04, 0x30, 0x13, 0xb1, 0xbc, 0x48, 0x45, 0x42, 0x81, - 0x26, 0xcf, 0x1e, 0xa8, 0xfc, 0x3c, 0x09, 0xe6, 0x9d, 0x77, 0x0e, 0x62, 0x15, 0xd5, 0xb6, 0x70, - 0x95, 0x60, 0xcd, 0xc0, 0x7a, 0x68, 0xcc, 0x78, 0x19, 0xe5, 0x15, 0x17, 0xc1, 0xb8, 0xea, 0xbc, - 0xec, 0x8e, 0x0a, 0x3b, 0xc8, 0xd0, 0x77, 0xbc, 0x0b, 0x9c, 0x52, 0xc6, 0x7c, 0xf3, 0xfb, 0xae, - 0xb5, 0xf8, 0x41, 0xef, 0x3a, 0x58, 0x8c, 0xcd, 0x11, 0x9d, 0x32, 0x29, 0xbf, 0x06, 0x16, 0xba, - 0xad, 0x07, 0x0d, 0xf6, 0x57, 0x01, 0x8c, 0x3b, 0xe5, 0x63, 0x69, 0x90, 0xa1, 0x0d, 0x68, 0x43, - 0x93, 0x8a, 0x37, 0xc1, 0x30, 0xac, 0xb3, 0x1d, 0x62, 0x1b, 0xac, 0xd1, 0x33, 0xfb, 0x4d, 0xa8, - 0xb8, 0x0a, 0x86, 0x2c, 0x97, 0x81, 0x17, 0x47, 0xa6, 0xd3, 0x34, 0xe2, 0xed, 0x13, 0xc9, 0x95, - 0xe7, 0x58, 0x7c, 0xd3, 0x09, 0xbd, 0x49, 0xe9, 0x84, 0xbc, 0x10, 0x0a, 0xf9, 0x61, 0x30, 0xf1, - 0xc7, 0xce, 0x2c, 0xcf, 0x82, 0x4b, 0x31, 0x53, 0x10, 0xe2, 0x5f, 0x82, 0xfb, 0xb6, 0x28, 0x84, - 0x41, 0x86, 0xd6, 0x08, 0xa6, 0xde, 0xe8, 0xd7, 0xbe, 0x4a, 0x84, 0xf3, 0x57, 0x49, 0x19, 0x00, - 0x8c, 0x1e, 0x54, 0xf8, 0x38, 0x9a, 0x3c, 0xd7, 0x38, 0x3a, 0x8c, 0xd1, 0x83, 0x0d, 0x97, 0xa0, - 0xb8, 0xda, 0x7b, 0x1a, 0xc9, 0x44, 0xab, 0x21, 0x1e, 0xa1, 0x7c, 0x19, 0xcc, 0xb5, 0x31, 0xfb, - 0x89, 0x59, 0xf9, 0xfe, 0x02, 0x48, 0x95, 0xa9, 0x2e, 0xde, 0x07, 0xe3, 0xf1, 0xdf, 0x3d, 0xcb, - 0x9d, 0xa4, 0x6b, 0x1d, 0x53, 0xa5, 0x95, 0xfe, 0xb1, 0x41, 0x6f, 0xda, 0x05, 0xa3, 0xd1, 0x71, - 0x76, 0xa9, 0x0b, 0x49, 0x04, 0x29, 0x5d, 0xeb, 0x17, 0x19, 0x6c, 0xf6, 0x39, 0xf8, 0x5f, 0x30, - 0x77, 0x5d, 0xed, 0xe2, 0xed, 0x83, 0xa4, 0xd7, 0xfb, 0x00, 0x05, 0xec, 0xf7, 0xc1, 0x78, 0x7c, - 0x3c, 0xe9, 0x96, 0xbd, 0x18, 0xb6, 0x6b, 0xf6, 0x3a, 0xbd, 0xb5, 0x55, 0x00, 0x42, 0x6f, 0xe2, - 0xab, 0x5d, 0x18, 0x9a, 0x30, 0x29, 0xd7, 0x17, 0x2c, 0xd8, 0xe3, 0x3b, 0x01, 0xcc, 0x76, 0x6e, - 0xd4, 0x6f, 0x74, 0xd3, 0xbc, 0x93, 0x97, 0x74, 0xeb, 0x3c, 0x5e, 0xc1, 0x89, 0x76, 0xc0, 0xff, - 0x23, 0x6d, 0x6a, 0xb1, 0x5b, 0x40, 0x21, 0xa0, 0x54, 0xe8, 0x13, 0x18, 0xec, 0xc4, 0xc0, 0x44, - 0x4b, 0xb7, 0xe8, 0x56, 0x13, 0x71, 0xb0, 0x74, 0xe3, 0x0c, 0x60, 0x7f, 0x57, 0x69, 0xf0, 0x4b, - 0xa7, 0x15, 0x96, 0x6e, 0x3e, 0x39, 0xce, 0x08, 0x4f, 0x8f, 0x33, 0xc2, 0x9f, 0xc7, 0x19, 0xe1, - 0xd1, 0x49, 0x26, 0xf1, 0xf4, 0x24, 0x93, 0xf8, 0xfd, 0x24, 0x93, 0xf8, 0x6c, 0x3e, 0xf2, 0xbb, - 0xa6, 0xd9, 0x0b, 0x59, 0xc3, 0x42, 0xb4, 0x3a, 0xe4, 0xb6, 0x98, 0x1b, 0xff, 0x04, 0x00, 0x00, - 0xff, 0xff, 0x45, 0xdc, 0x49, 0x1f, 0xe2, 0x11, 0x00, 0x00, + // 1219 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xda, 0x49, 0x4a, 0x26, 0xe4, 0xd7, 0x26, 0x69, 0x9d, 0x4d, 0x6a, 0x97, 0x6d, 0x20, + 0x21, 0xc8, 0x76, 0x9b, 0xa2, 0x22, 0x4c, 0x85, 0x1a, 0x27, 0x05, 0x0a, 0x04, 0x45, 0x1b, 0x52, + 0x24, 0x84, 0x30, 0xe3, 0xdd, 0xc9, 0x66, 0x15, 0xef, 0xcc, 0x76, 0x67, 0x9c, 0xd6, 0x37, 0xc4, + 0xa9, 0x70, 0xa1, 0x12, 0x67, 0xa4, 0x72, 0x40, 0x82, 0x5b, 0x0e, 0xf9, 0x17, 0x90, 0x2a, 0x4e, + 0x55, 0x4e, 0xa8, 0x87, 0x80, 0x92, 0x43, 0xfa, 0x3f, 0x70, 0x41, 0xbb, 0x3b, 0xbb, 0xde, 0x5d, + 0xff, 0x4c, 0x68, 0x2f, 0xbd, 0x24, 0xf6, 0x9b, 0xef, 0x7d, 0x33, 0xef, 0x7d, 0x6f, 0xde, 0x3c, + 0x83, 0xac, 0x4a, 0xa8, 0x49, 0x68, 0x81, 0x32, 0xb8, 0x63, 0x60, 0xbd, 0xb0, 0x7b, 0xb5, 0x82, + 0x18, 0xbc, 0x5a, 0x60, 0xf7, 0xf3, 0x96, 0x4d, 0x18, 0x11, 0xcf, 0x7b, 0x80, 0x3c, 0x07, 0xe4, + 0x39, 0x40, 0x9a, 0xd6, 0x09, 0xd1, 0xab, 0xa8, 0xe0, 0xa2, 0x2a, 0xb5, 0xad, 0x02, 0xc4, 0x75, + 0xcf, 0x45, 0xca, 0xc6, 0x97, 0x98, 0x61, 0x22, 0xca, 0xa0, 0x69, 0x71, 0xc0, 0xa4, 0x4e, 0x74, + 0xe2, 0x7e, 0x2c, 0x38, 0x9f, 0xb8, 0x75, 0xda, 0xdb, 0xa9, 0xec, 0x2d, 0xf0, 0x6d, 0xbd, 0xa5, + 0x0c, 0x3f, 0x65, 0x05, 0x52, 0x14, 0x1c, 0x51, 0x25, 0x06, 0xe6, 0xeb, 0x73, 0x6d, 0xa2, 0xf0, + 0x0f, 0xed, 0xa1, 0x2e, 0x70, 0x94, 0x49, 0x1d, 0x84, 0xf3, 0x8f, 0x2f, 0x8c, 0x43, 0xd3, 0xc0, + 0xa4, 0xe0, 0xfe, 0xf5, 0x4c, 0xf2, 0xbf, 0x7d, 0x40, 0x5c, 0xa3, 0xfa, 0x8a, 0x8d, 0x20, 0x43, + 0x77, 0x60, 0xd5, 0xd0, 0x20, 0x23, 0xb6, 0xb8, 0x0e, 0x86, 0x34, 0x44, 0x55, 0xdb, 0xb0, 0x98, + 0x41, 0x70, 0x5a, 0xb8, 0x24, 0x2c, 0x0c, 0x2d, 0x5d, 0xce, 0xb7, 0xce, 0x51, 0x7e, 0xb5, 0x01, + 0x2d, 0x0d, 0x3e, 0x3e, 0xcc, 0x26, 0x7e, 0x3b, 0xd9, 0x5b, 0x14, 0x94, 0x30, 0x85, 0xa8, 0x00, + 0xa0, 0x12, 0xd3, 0x34, 0x28, 0x75, 0x08, 0x93, 0x2e, 0xe1, 0x7c, 0x3b, 0xc2, 0x95, 0x00, 0xa9, + 0x40, 0x86, 0x68, 0x98, 0x34, 0xc4, 0x22, 0x7e, 0x03, 0x26, 0x4c, 0x03, 0x97, 0x29, 0xaa, 0x6e, + 0x95, 0x35, 0x54, 0x45, 0x3a, 0x74, 0x4f, 0x9b, 0xba, 0x24, 0x2c, 0x0c, 0x96, 0xae, 0x38, 0x3e, + 0x4f, 0x0f, 0xb3, 0x53, 0xde, 0x1e, 0x54, 0xdb, 0xc9, 0x1b, 0xa4, 0x60, 0x42, 0xb6, 0x9d, 0xbf, + 0x8d, 0xd9, 0xc1, 0x7e, 0x0e, 0xf0, 0xcd, 0x6f, 0x63, 0xe6, 0x51, 0x8f, 0x9b, 0x06, 0xde, 0x40, + 0xd5, 0xad, 0xd5, 0x80, 0x4a, 0xfc, 0x10, 0x8c, 0x73, 0x62, 0x62, 0x97, 0xa1, 0xa6, 0xd9, 0x88, + 0xd2, 0x74, 0x9f, 0xcb, 0x2f, 0x1d, 0xec, 0xe7, 0x26, 0x39, 0xc5, 0xb2, 0xb7, 0xb2, 0xc1, 0x6c, + 0x03, 0xeb, 0x69, 0x41, 0x19, 0x0b, 0x9c, 0xf8, 0x8a, 0xf8, 0x19, 0x18, 0xdf, 0xf5, 0xb3, 0x1b, + 0x10, 0xf5, 0xbb, 0x44, 0xaf, 0x1d, 0xec, 0xe7, 0x2e, 0x72, 0xa2, 0x40, 0x81, 0x08, 0xa3, 0x32, + 0xb6, 0x1b, 0xb3, 0x8b, 0x1f, 0x80, 0x01, 0xab, 0x56, 0xd9, 0x41, 0xf5, 0xf4, 0x80, 0x9b, 0xca, + 0xc9, 0xbc, 0x57, 0x8c, 0x79, 0xbf, 0x18, 0xf3, 0xcb, 0xb8, 0x5e, 0x4a, 0xff, 0xd9, 0x38, 0xa3, + 0x6a, 0xd7, 0x2d, 0x46, 0xf2, 0xeb, 0xb5, 0xca, 0x27, 0xa8, 0xae, 0x70, 0x6f, 0xb1, 0x08, 0xfa, + 0x77, 0x61, 0xb5, 0x86, 0xd2, 0xe7, 0x5c, 0x9a, 0x69, 0x5f, 0x11, 0xa7, 0x02, 0x43, 0x72, 0x18, + 0x11, 0x61, 0x3d, 0x97, 0xe2, 0xcd, 0x07, 0x8f, 0xb2, 0x89, 0x67, 0x8f, 0xb2, 0x89, 0xef, 0x4e, + 0xf6, 0x16, 0x9b, 0xc3, 0xfb, 0xe1, 0x64, 0x6f, 0x91, 0xc7, 0x95, 0xa3, 0xda, 0x4e, 0xa1, 0xb9, + 0xcc, 0xe4, 0x59, 0x20, 0x35, 0x5b, 0x15, 0x44, 0x2d, 0x82, 0x29, 0x92, 0x7f, 0x4d, 0x81, 0xb1, + 0x35, 0xaa, 0xdf, 0xd2, 0x0c, 0xf6, 0x22, 0x2b, 0xb3, 0xa5, 0x34, 0xc9, 0xb3, 0x4b, 0x73, 0x07, + 0x8c, 0x36, 0x6a, 0xb4, 0x6c, 0x43, 0x86, 0x78, 0x45, 0xe6, 0x9e, 0x1e, 0x66, 0x67, 0x9a, 0xab, + 0xf1, 0x53, 0xa4, 0x43, 0xb5, 0xbe, 0x8a, 0xd4, 0x50, 0x4d, 0xae, 0x22, 0x55, 0x19, 0x51, 0x23, + 0xb7, 0x40, 0xfc, 0xa2, 0x75, 0xb5, 0x7b, 0xd5, 0x38, 0xdf, 0x63, 0xa5, 0xb7, 0x28, 0xf2, 0xe2, + 0xfb, 0xdd, 0x75, 0x9c, 0x89, 0xea, 0x18, 0x91, 0x44, 0x96, 0x40, 0x3a, 0x6e, 0x0b, 0x34, 0xfc, + 0x39, 0x09, 0x86, 0xd6, 0xa8, 0xce, 0x77, 0x43, 0xe2, 0xad, 0x56, 0x17, 0x4a, 0x70, 0x43, 0x48, + 0xb7, 0xbb, 0x50, 0xbd, 0x5e, 0xa7, 0xff, 0xa1, 0xd9, 0x0d, 0x30, 0x00, 0x4d, 0x52, 0xc3, 0xcc, + 0x95, 0xaa, 0xd7, 0x7b, 0xc0, 0x7d, 0x8a, 0xef, 0x46, 0x12, 0xd8, 0x14, 0x9f, 0x93, 0xc0, 0xf3, + 0xd1, 0x04, 0xfa, 0xf9, 0x90, 0xa7, 0xc0, 0x44, 0xe8, 0x6b, 0x90, 0xb6, 0xef, 0x53, 0x6e, 0x5b, + 0x2e, 0x21, 0xdd, 0xc0, 0x0a, 0xd2, 0x9e, 0x73, 0xf6, 0x36, 0xc1, 0x54, 0x23, 0x7b, 0xd4, 0x56, + 0x4f, 0x9f, 0xc1, 0x89, 0xc0, 0x7f, 0xc3, 0x56, 0x5b, 0xd2, 0x6a, 0x94, 0x05, 0xb4, 0xa9, 0xd3, + 0xd3, 0xae, 0x52, 0xd6, 0xac, 0x4d, 0xdf, 0x19, 0xb4, 0xb9, 0xd9, 0x5d, 0x9b, 0x58, 0x93, 0x8a, + 0x25, 0x5d, 0xb6, 0xdc, 0x26, 0x15, 0xb3, 0xfa, 0x4a, 0x89, 0x8a, 0x7b, 0xdb, 0xad, 0x2a, 0x72, + 0xae, 0x52, 0xd9, 0x99, 0x00, 0x78, 0x4f, 0x92, 0x9a, 0x3a, 0xf2, 0xe7, 0xfe, 0x78, 0x50, 0x1a, + 0x76, 0xce, 0xf9, 0xf0, 0xef, 0xac, 0xe0, 0x9d, 0x75, 0xa4, 0xc1, 0xe0, 0x60, 0xe4, 0x5f, 0x92, + 0x60, 0x78, 0x8d, 0xea, 0x9b, 0x58, 0x7b, 0xa9, 0xaf, 0xcd, 0x7b, 0xdd, 0xa5, 0x49, 0x47, 0xa5, + 0x69, 0x64, 0x44, 0xfe, 0x5d, 0x00, 0x53, 0x11, 0xcb, 0x8b, 0x54, 0x24, 0x14, 0x68, 0xf2, 0xf4, + 0x81, 0xca, 0xcf, 0x92, 0x60, 0xd6, 0x79, 0xe7, 0x20, 0x56, 0x51, 0x75, 0x13, 0x57, 0x08, 0xd6, + 0x0c, 0xac, 0x87, 0xc6, 0x8c, 0x97, 0x51, 0x5e, 0x71, 0x1e, 0x8c, 0xaa, 0xce, 0xcb, 0xee, 0xa8, + 0xb0, 0x8d, 0x0c, 0x7d, 0xdb, 0xbb, 0xc0, 0x29, 0x65, 0xc4, 0x37, 0x7f, 0xe4, 0x5a, 0x8b, 0x1f, + 0x77, 0xaf, 0x83, 0xf9, 0xd8, 0x1c, 0xd1, 0x2e, 0x93, 0xf2, 0x1b, 0x60, 0xae, 0xd3, 0x7a, 0xd0, + 0x60, 0xff, 0x10, 0xc0, 0xa8, 0x53, 0x3e, 0x96, 0x06, 0x19, 0x5a, 0x87, 0x36, 0x34, 0xa9, 0x78, + 0x1d, 0x0c, 0xc2, 0x1a, 0xdb, 0x26, 0xb6, 0xc1, 0xea, 0x5d, 0xb3, 0xdf, 0x80, 0x8a, 0xcb, 0x60, + 0xc0, 0x72, 0x19, 0x78, 0x71, 0x64, 0xda, 0x4d, 0x23, 0xde, 0x3e, 0x91, 0x5c, 0x79, 0x8e, 0xc5, + 0x77, 0x9c, 0xd0, 0x1b, 0x94, 0x4e, 0xc8, 0x73, 0xa1, 0x90, 0xef, 0x07, 0x13, 0x7f, 0xec, 0xcc, + 0xf2, 0x34, 0xb8, 0x10, 0x33, 0x05, 0x21, 0x3e, 0x48, 0xba, 0x6f, 0x8b, 0x42, 0x18, 0x64, 0x68, + 0x85, 0x60, 0xea, 0x8d, 0x7e, 0xad, 0xab, 0x44, 0x38, 0x7b, 0x95, 0x7c, 0x0d, 0x00, 0x46, 0xf7, + 0xca, 0x7c, 0x1c, 0x4d, 0x76, 0x18, 0x47, 0xdf, 0x6c, 0x37, 0x8e, 0x1e, 0xec, 0xe7, 0x86, 0xb9, + 0x9d, 0xcf, 0xa7, 0x83, 0x18, 0xdd, 0x5b, 0x77, 0x19, 0x8b, 0xcb, 0xdd, 0xc7, 0x93, 0x4c, 0xb4, + 0x3c, 0xe2, 0x21, 0xcb, 0x17, 0xc1, 0x4c, 0x0b, 0xb3, 0x9f, 0xa9, 0xa5, 0x9f, 0xce, 0x81, 0xd4, + 0x1a, 0xd5, 0xc5, 0xbb, 0x60, 0x34, 0xfe, 0x43, 0x68, 0xb1, 0x9d, 0x96, 0xcd, 0x73, 0xab, 0xb4, + 0xd4, 0x3b, 0x36, 0x68, 0x56, 0x3b, 0x60, 0x38, 0x3a, 0xdf, 0x2e, 0x74, 0x20, 0x89, 0x20, 0xa5, + 0x2b, 0xbd, 0x22, 0x83, 0xcd, 0xbe, 0x02, 0xaf, 0x04, 0x83, 0xd8, 0xe5, 0x0e, 0xde, 0x3e, 0x48, + 0x7a, 0xab, 0x07, 0x50, 0xc0, 0x7e, 0x17, 0x8c, 0xc6, 0xe7, 0x95, 0x4e, 0xd9, 0x8b, 0x61, 0x3b, + 0x66, 0xaf, 0xdd, 0xe3, 0x5b, 0x01, 0x20, 0xf4, 0x48, 0xbe, 0xde, 0x81, 0xa1, 0x01, 0x93, 0x72, + 0x3d, 0xc1, 0x82, 0x3d, 0x7e, 0x14, 0xc0, 0x74, 0xfb, 0xce, 0xfd, 0x76, 0x27, 0xcd, 0xdb, 0x79, + 0x49, 0x37, 0xce, 0xe2, 0x15, 0x9c, 0x68, 0x1b, 0xbc, 0x1a, 0xe9, 0x5b, 0xf3, 0x9d, 0x02, 0x0a, + 0x01, 0xa5, 0x42, 0x8f, 0xc0, 0x60, 0x27, 0x06, 0xc6, 0x9a, 0xda, 0x47, 0xa7, 0x9a, 0x88, 0x83, + 0xa5, 0x6b, 0xa7, 0x00, 0xfb, 0xbb, 0x4a, 0xfd, 0xdf, 0x3a, 0xbd, 0xb1, 0x74, 0xfd, 0xf1, 0x51, + 0x46, 0x78, 0x72, 0x94, 0x11, 0xfe, 0x39, 0xca, 0x08, 0x0f, 0x8f, 0x33, 0x89, 0x27, 0xc7, 0x99, + 0xc4, 0x5f, 0xc7, 0x99, 0xc4, 0x97, 0xb3, 0x91, 0x1f, 0x3a, 0x8d, 0xe6, 0xc8, 0xea, 0x16, 0xa2, + 0x95, 0x01, 0xb7, 0xe7, 0x5c, 0xfb, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x6a, 0xe6, 0x96, 0xbc, 0xf3, + 0x11, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From 8206741e7591b0daef40f81b964a46e59ecd8976 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 12 Jan 2024 23:43:07 +0530 Subject: [PATCH 10/10] fix lint --- client/v2/autocli/flag/pubkey.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/client/v2/autocli/flag/pubkey.go b/client/v2/autocli/flag/pubkey.go index 504383369ddb..c5ec2535a2fc 100644 --- a/client/v2/autocli/flag/pubkey.go +++ b/client/v2/autocli/flag/pubkey.go @@ -4,17 +4,18 @@ import ( "context" "fmt" + "google.golang.org/protobuf/reflect/protoreflect" + "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "google.golang.org/protobuf/reflect/protoreflect" ) type pubkeyType struct{} func (a pubkeyType) NewValue(_ context.Context, _ *Builder) Value { - return pubkeyValue{} + return &pubkeyValue{} } func (a pubkeyType) DefaultValue() string { @@ -33,7 +34,7 @@ func (a pubkeyValue) String() string { return a.value.String() } -func (a pubkeyValue) Set(s string) error { +func (a *pubkeyValue) Set(s string) error { registry := types.NewInterfaceRegistry() cryptocodec.RegisterInterfaces(registry) cdc := codec.NewProtoCodec(registry) @@ -48,6 +49,7 @@ func (a pubkeyValue) Set(s string) error { if err != nil { return fmt.Errorf("error converting to any type") } + a.value = any return nil