Add equal option to upgrade proto types

This commit is contained in:
Aleksandr Bezobchuk 2020-03-02 14:10:27 -05:00
parent c0384a1b91
commit a89eb77841
No known key found for this signature in database
GPG Key ID: 7DAC30FBD99879B0
2 changed files with 107 additions and 45 deletions

View File

@ -164,32 +164,90 @@ func init() {
func init() { proto.RegisterFile("x/upgrade/types/types.proto", fileDescriptor_2a308fd9dd71aff8) }
var fileDescriptor_2a308fd9dd71aff8 = []byte{
// 364 bytes of a gzipped FileDescriptorProto
// 376 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x52, 0x31, 0x6f, 0xe2, 0x30,
0x18, 0x8d, 0x8f, 0x1c, 0x3a, 0xcc, 0x66, 0x9d, 0x8e, 0x88, 0x13, 0x26, 0x62, 0xa8, 0x18, 0x5a,
0x47, 0xa5, 0x43, 0x3b, 0xd3, 0xbd, 0x42, 0x69, 0xab, 0x4a, 0x5d, 0x90, 0x49, 0x4c, 0x62, 0x91,
0xc4, 0x56, 0x6c, 0x5a, 0xd8, 0x3a, 0x77, 0xe2, 0x67, 0x31, 0x32, 0x32, 0xb5, 0x05, 0xfe, 0x48,
0x95, 0x18, 0xd4, 0xaa, 0x52, 0xb7, 0x2e, 0xf6, 0xfb, 0xac, 0xf7, 0xbd, 0xf7, 0x3e, 0xdb, 0xf0,
0xff, 0xcc, 0x9b, 0xca, 0x28, 0xa7, 0x21, 0xf3, 0xf4, 0x5c, 0x32, 0x65, 0x56, 0x22, 0x73, 0xa1,
0x05, 0x6a, 0x04, 0x42, 0xa5, 0x42, 0x0d, 0x55, 0x38, 0x21, 0x33, 0xb2, 0xe7, 0x91, 0x87, 0xd3,
0xe6, 0x91, 0x8e, 0x79, 0x1e, 0x0e, 0x25, 0xcd, 0xf5, 0xdc, 0x2b, 0xb9, 0x5e, 0x24, 0x22, 0xf1,
0x81, 0x8c, 0x40, 0xb3, 0x1d, 0x09, 0x11, 0x25, 0xcc, 0x50, 0x46, 0xd3, 0xb1, 0xa7, 0x79, 0xca,
0x94, 0xa6, 0xa9, 0x34, 0x84, 0xce, 0x13, 0x80, 0xf6, 0x20, 0xa1, 0x19, 0x42, 0xd0, 0xce, 0x68,
0xca, 0x1c, 0xe0, 0x82, 0x6e, 0xcd, 0x2f, 0x31, 0xba, 0x80, 0x76, 0xc1, 0x77, 0x7e, 0xb9, 0xa0,
0x5b, 0xef, 0x35, 0x89, 0x11, 0x23, 0x07, 0x31, 0x72, 0x73, 0x10, 0xeb, 0xff, 0x59, 0xbe, 0xb4,
0xad, 0xc5, 0x6b, 0x1b, 0xf8, 0x65, 0x07, 0xfa, 0x07, 0xab, 0x31, 0xe3, 0x51, 0xac, 0x9d, 0x8a,
0x0b, 0xba, 0x15, 0x7f, 0x5f, 0x15, 0x2e, 0x3c, 0x1b, 0x0b, 0xc7, 0x36, 0x2e, 0x05, 0xee, 0x3c,
0x03, 0xd8, 0xb8, 0x16, 0x63, 0xfd, 0x48, 0x73, 0x76, 0x6b, 0x46, 0x1c, 0xe4, 0x42, 0x0a, 0x45,
0x13, 0xf4, 0x17, 0xfe, 0xd6, 0x5c, 0x27, 0x87, 0x58, 0xa6, 0x40, 0x2e, 0xac, 0x87, 0x4c, 0x05,
0x39, 0x97, 0x9a, 0x8b, 0xac, 0x8c, 0x57, 0xf3, 0x3f, 0x1f, 0xa1, 0x73, 0x68, 0xcb, 0x84, 0x66,
0xa5, 0x7b, 0xbd, 0xd7, 0x22, 0xdf, 0xdc, 0x23, 0x29, 0x46, 0xef, 0xdb, 0x45, 0x78, 0xbf, 0x6c,
0xe8, 0xdc, 0xc1, 0xd6, 0x25, 0xcd, 0x02, 0x96, 0xfc, 0x70, 0xa2, 0xfe, 0xd5, 0x72, 0x83, 0xad,
0xf5, 0x06, 0x5b, 0xcb, 0x2d, 0x06, 0xab, 0x2d, 0x06, 0x6f, 0x5b, 0x0c, 0x16, 0x3b, 0x6c, 0xad,
0x76, 0xd8, 0x5a, 0xef, 0xb0, 0x75, 0x7f, 0x1c, 0x71, 0x1d, 0x4f, 0x47, 0x24, 0x10, 0xa9, 0x67,
0xf2, 0xee, 0xb7, 0x13, 0x15, 0x4e, 0xbc, 0x2f, 0xdf, 0x64, 0x54, 0x2d, 0x5f, 0xe1, 0xec, 0x3d,
0x00, 0x00, 0xff, 0xff, 0x0f, 0x77, 0x53, 0x0a, 0x40, 0x02, 0x00, 0x00,
0x18, 0x8d, 0x8f, 0x1c, 0x3a, 0xcc, 0x66, 0x9d, 0x8e, 0x88, 0x13, 0x4e, 0xc4, 0x70, 0x62, 0xb8,
0x73, 0x74, 0xdc, 0x70, 0xa7, 0x1b, 0xe9, 0x5e, 0xa1, 0xb4, 0x5d, 0x2a, 0x55, 0xc8, 0x24, 0x26,
0xb1, 0x48, 0x62, 0x2b, 0x36, 0x2d, 0x6c, 0xfd, 0x09, 0xfc, 0x84, 0xfe, 0x1c, 0x46, 0x46, 0xa6,
0xb6, 0xc0, 0xd2, 0x9f, 0x51, 0x25, 0x06, 0xb5, 0xaa, 0xd4, 0xad, 0x8b, 0xfd, 0x3e, 0xeb, 0x7d,
0xef, 0xbd, 0xcf, 0x36, 0xfc, 0x3e, 0xf7, 0x67, 0x32, 0x2e, 0x68, 0xc4, 0x7c, 0xbd, 0x90, 0x4c,
0x99, 0x95, 0xc8, 0x42, 0x68, 0x81, 0x5a, 0xa1, 0x50, 0x99, 0x50, 0x23, 0x15, 0x4d, 0xc9, 0x9c,
0x1c, 0x78, 0xe4, 0xfa, 0x77, 0xfb, 0x87, 0x4e, 0x78, 0x11, 0x8d, 0x24, 0x2d, 0xf4, 0xc2, 0xaf,
0xb8, 0x7e, 0x2c, 0x62, 0xf1, 0x82, 0x8c, 0x40, 0xdb, 0x8d, 0x85, 0x88, 0x53, 0x66, 0x28, 0xe3,
0xd9, 0xc4, 0xd7, 0x3c, 0x63, 0x4a, 0xd3, 0x4c, 0x1a, 0x42, 0xf7, 0x16, 0x40, 0x7b, 0x98, 0xd2,
0x1c, 0x21, 0x68, 0xe7, 0x34, 0x63, 0x0e, 0xf0, 0x40, 0xaf, 0x11, 0x54, 0x18, 0xfd, 0x83, 0x76,
0xc9, 0x77, 0x3e, 0x79, 0xa0, 0xd7, 0xec, 0xb7, 0x89, 0x11, 0x23, 0x47, 0x31, 0x72, 0x7e, 0x14,
0x1b, 0x7c, 0x59, 0xdd, 0xbb, 0xd6, 0xf2, 0xc1, 0x05, 0x41, 0xd5, 0x81, 0xbe, 0xc1, 0x7a, 0xc2,
0x78, 0x9c, 0x68, 0xa7, 0xe6, 0x81, 0x5e, 0x2d, 0x38, 0x54, 0xa5, 0x0b, 0xcf, 0x27, 0xc2, 0xb1,
0x8d, 0x4b, 0x89, 0xbb, 0x4b, 0x00, 0x5b, 0x67, 0x62, 0xa2, 0x6f, 0x68, 0xc1, 0x2e, 0xcc, 0x88,
0xc3, 0x42, 0x48, 0xa1, 0x68, 0x8a, 0xbe, 0xc2, 0xcf, 0x9a, 0xeb, 0xf4, 0x18, 0xcb, 0x14, 0xc8,
0x83, 0xcd, 0x88, 0xa9, 0xb0, 0xe0, 0x52, 0x73, 0x91, 0x57, 0xf1, 0x1a, 0xc1, 0xeb, 0x23, 0xf4,
0x17, 0xda, 0x32, 0xa5, 0x79, 0xe5, 0xde, 0xec, 0x77, 0xc8, 0x3b, 0xf7, 0x48, 0xca, 0xd1, 0x07,
0x76, 0x19, 0x3e, 0xa8, 0x1a, 0xfe, 0xdb, 0x4f, 0x77, 0x2e, 0xe8, 0x5e, 0xc1, 0xce, 0x09, 0xcd,
0x43, 0x96, 0x7e, 0x70, 0x2e, 0x23, 0x3f, 0x38, 0x5d, 0x6d, 0xb1, 0xb5, 0xd9, 0x62, 0x6b, 0xb5,
0xc3, 0x60, 0xbd, 0xc3, 0xe0, 0x71, 0x87, 0xc1, 0x72, 0x8f, 0xad, 0xf5, 0x1e, 0x5b, 0x9b, 0x3d,
0xb6, 0x2e, 0x7f, 0xc6, 0x5c, 0x27, 0xb3, 0x31, 0x09, 0x45, 0xe6, 0x9b, 0xec, 0x87, 0xed, 0x97,
0x8a, 0xa6, 0xfe, 0x9b, 0x2f, 0x33, 0xae, 0x57, 0x2f, 0xf2, 0xe7, 0x39, 0x00, 0x00, 0xff, 0xff,
0x4f, 0x2c, 0xc2, 0xac, 0x4c, 0x02, 0x00, 0x00,
}
func (this *SoftwareUpgradeProposal) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
that1, ok := that.(*SoftwareUpgradeProposal)
if !ok {
that2, ok := that.(SoftwareUpgradeProposal)
if ok {
that1 = &that2
} else {
return false
}
}
if that1 == nil {
return this == nil
} else if this == nil {
return false
}
if this.Title != that1.Title {
return false
}
if this.Description != that1.Description {
return false
}
if !this.Plan.Equal(&that1.Plan) {
return false
}
return true
}
func (this *CancelSoftwareUpgradeProposal) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
that1, ok := that.(*CancelSoftwareUpgradeProposal)
if !ok {
that2, ok := that.(CancelSoftwareUpgradeProposal)
if ok {
that1 = &that2
} else {
return false
}
}
if that1 == nil {
return this == nil
} else if this == nil {
return false
}
if this.Title != that1.Title {
return false
}
if this.Description != that1.Description {
return false
}
return true
}
func (m *Plan) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)

View File

@ -4,41 +4,45 @@ package cosmos_sdk.x.upgrade.v1;
import "third_party/proto/gogoproto/gogo.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/cosmos/cosmos-sdk/x/upgrade/types";
option go_package = "github.com/cosmos/cosmos-sdk/x/upgrade/types";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.goproto_getters_all) = false;
// Plan specifies information about a planned upgrade and when it should occur
message Plan {
// Sets the name for the upgrade. This name will be used by the upgraded version of the software to apply any
// special "on-upgrade" commands during the first BeginBlock method after the upgrade is applied. It is also used
// to detect whether a software version can handle a given upgrade. If no upgrade handler with this name has been
// set in the software, it will be assumed that the software is out-of-date when the upgrade Time or Height
// is reached and the software will exit.
string name = 1;
// Sets the name for the upgrade. This name will be used by the upgraded version of the software to apply any
// special "on-upgrade" commands during the first BeginBlock method after the upgrade is applied. It is also used
// to detect whether a software version can handle a given upgrade. If no upgrade handler with this name has been
// set in the software, it will be assumed that the software is out-of-date when the upgrade Time or Height
// is reached and the software will exit.
string name = 1;
// The time after which the upgrade must be performed.
// Leave set to its zero value to use a pre-defined Height instead.
google.protobuf.Timestamp time = 2 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
// The time after which the upgrade must be performed.
// Leave set to its zero value to use a pre-defined Height instead.
google.protobuf.Timestamp time = 2 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
// The height at which the upgrade must be performed.
// Only used if Time is not set.
int64 height = 3;
// The height at which the upgrade must be performed.
// Only used if Time is not set.
int64 height = 3;
// Any application specific upgrade info to be included on-chain
// such as a git commit that validators could automatically upgrade to
string info = 4;
// Any application specific upgrade info to be included on-chain
// such as a git commit that validators could automatically upgrade to
string info = 4;
}
// SoftwareUpgradeProposal is a gov Content type for initiating a software upgrade
message SoftwareUpgradeProposal {
string title = 1;
string description = 2;
Plan plan = 3 [(gogoproto.nullable) = false];
option (gogoproto.equal) = true;
string title = 1;
string description = 2;
Plan plan = 3 [(gogoproto.nullable) = false];
}
// SoftwareUpgradeProposal is a gov Content type for cancelling a software upgrade
message CancelSoftwareUpgradeProposal {
string title = 1;
string description = 2;
option (gogoproto.equal) = true;
string title = 1;
string description = 2;
}