syntax = "proto3"; package cosmos.upgrade.v1beta1; import "google/protobuf/any.proto"; import "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; // Time based upgrades have been deprecated. Time based upgrade logic // has been removed from the SDK. reserved 2; reserved "time"; // 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; // UpgradedClientState field has been deprecated. IBC upgrade logic has been // moved to the IBC module in the sub module 02-client. reserved 5; reserved "option"; } // 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; }