syntax = "proto3"; 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 (gogoproto.goproto_stringer_all) = false; option (gogoproto.goproto_getters_all) = false; // Plan specifies information about a planned upgrade and when it should occur message Plan { option (gogoproto.equal) = true; // 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 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; } // SoftwareUpgradeProposal is a gov Content type for initiating a software upgrade message SoftwareUpgradeProposal { option (gogoproto.equal) = true; string title = 1; string description = 2; Plan plan = 3 [(gogoproto.nullable) = false]; } // CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software upgrade message CancelSoftwareUpgradeProposal { option (gogoproto.equal) = true; string title = 1; string description = 2; }