import { Timestamp } from "../../../google/protobuf/timestamp"; import { Any, AnySDKType } from "../../../google/protobuf/any"; import { Long, toTimestamp, fromTimestamp, DeepPartial } from "../../../helpers"; import * as _m0 from "protobufjs/minimal"; /** Plan specifies information about a planned upgrade and when it should occur. */ export interface 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. */ name: string; /** * Deprecated: Time based upgrades have been deprecated. Time based upgrade logic * has been removed from the SDK. * If this field is not empty, an error will be thrown. */ /** @deprecated */ time?: Date; /** The height at which the upgrade must be performed. */ height: Long; /** * Any application specific upgrade info to be included on-chain * such as a git commit that validators could automatically upgrade to */ info: string; /** * Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been * moved to the IBC module in the sub module 02-client. * If this field is not empty, an error will be thrown. */ /** @deprecated */ upgradedClientState?: Any; } /** Plan specifies information about a planned upgrade and when it should occur. */ export interface PlanSDKType { name: string; /** @deprecated */ time?: Date; height: Long; info: string; /** @deprecated */ upgraded_client_state?: AnySDKType; } /** * SoftwareUpgradeProposal is a gov Content type for initiating a software * upgrade. * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov * proposals, see MsgSoftwareUpgrade. */ /** @deprecated */ export interface SoftwareUpgradeProposal { /** title of the proposal */ title: string; /** description of the proposal */ description: string; /** plan of the proposal */ plan?: Plan; } /** * SoftwareUpgradeProposal is a gov Content type for initiating a software * upgrade. * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov * proposals, see MsgSoftwareUpgrade. */ /** @deprecated */ export interface SoftwareUpgradeProposalSDKType { title: string; description: string; plan?: PlanSDKType; } /** * CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software * upgrade. * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov * proposals, see MsgCancelUpgrade. */ /** @deprecated */ export interface CancelSoftwareUpgradeProposal { /** title of the proposal */ title: string; /** description of the proposal */ description: string; } /** * CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software * upgrade. * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov * proposals, see MsgCancelUpgrade. */ /** @deprecated */ export interface CancelSoftwareUpgradeProposalSDKType { title: string; description: string; } /** * ModuleVersion specifies a module and its consensus version. * * Since: cosmos-sdk 0.43 */ export interface ModuleVersion { /** name of the app module */ name: string; /** consensus version of the app module */ version: Long; } /** * ModuleVersion specifies a module and its consensus version. * * Since: cosmos-sdk 0.43 */ export interface ModuleVersionSDKType { name: string; version: Long; } function createBasePlan(): Plan { return { name: "", time: undefined, height: Long.ZERO, info: "", upgradedClientState: undefined }; } export const Plan = { encode(message: Plan, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.name !== "") { writer.uint32(10).string(message.name); } if (message.time !== undefined) { Timestamp.encode(toTimestamp(message.time), writer.uint32(18).fork()).ldelim(); } if (!message.height.isZero()) { writer.uint32(24).int64(message.height); } if (message.info !== "") { writer.uint32(34).string(message.info); } if (message.upgradedClientState !== undefined) { Any.encode(message.upgradedClientState, writer.uint32(42).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Plan { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePlan(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; case 3: message.height = (reader.int64() as Long); break; case 4: message.info = reader.string(); break; case 5: message.upgradedClientState = Any.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): Plan { const message = createBasePlan(); message.name = object.name ?? ""; message.time = object.time ?? undefined; message.height = object.height !== undefined && object.height !== null ? Long.fromValue(object.height) : Long.ZERO; message.info = object.info ?? ""; message.upgradedClientState = object.upgradedClientState !== undefined && object.upgradedClientState !== null ? Any.fromPartial(object.upgradedClientState) : undefined; return message; } }; function createBaseSoftwareUpgradeProposal(): SoftwareUpgradeProposal { return { title: "", description: "", plan: undefined }; } export const SoftwareUpgradeProposal = { encode(message: SoftwareUpgradeProposal, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.title !== "") { writer.uint32(10).string(message.title); } if (message.description !== "") { writer.uint32(18).string(message.description); } if (message.plan !== undefined) { Plan.encode(message.plan, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SoftwareUpgradeProposal { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSoftwareUpgradeProposal(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.description = reader.string(); break; case 3: message.plan = Plan.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): SoftwareUpgradeProposal { const message = createBaseSoftwareUpgradeProposal(); message.title = object.title ?? ""; message.description = object.description ?? ""; message.plan = object.plan !== undefined && object.plan !== null ? Plan.fromPartial(object.plan) : undefined; return message; } }; function createBaseCancelSoftwareUpgradeProposal(): CancelSoftwareUpgradeProposal { return { title: "", description: "" }; } export const CancelSoftwareUpgradeProposal = { encode(message: CancelSoftwareUpgradeProposal, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.title !== "") { writer.uint32(10).string(message.title); } if (message.description !== "") { writer.uint32(18).string(message.description); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): CancelSoftwareUpgradeProposal { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCancelSoftwareUpgradeProposal(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.description = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): CancelSoftwareUpgradeProposal { const message = createBaseCancelSoftwareUpgradeProposal(); message.title = object.title ?? ""; message.description = object.description ?? ""; return message; } }; function createBaseModuleVersion(): ModuleVersion { return { name: "", version: Long.UZERO }; } export const ModuleVersion = { encode(message: ModuleVersion, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.name !== "") { writer.uint32(10).string(message.name); } if (!message.version.isZero()) { writer.uint32(16).uint64(message.version); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ModuleVersion { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseModuleVersion(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.version = (reader.uint64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): ModuleVersion { const message = createBaseModuleVersion(); message.name = object.name ?? ""; message.version = object.version !== undefined && object.version !== null ? Long.fromValue(object.version) : Long.UZERO; return message; } };