import { BinaryReader, BinaryWriter } from "../../../binary"; /** ParameterChangeProposal defines a proposal to change one or more parameters. */ export interface ParameterChangeProposal { $typeUrl?: "/cosmos.params.v1beta1.ParameterChangeProposal"; title: string; description: string; changes: ParamChange[]; } export interface ParameterChangeProposalProtoMsg { typeUrl: "/cosmos.params.v1beta1.ParameterChangeProposal"; value: Uint8Array; } /** ParameterChangeProposal defines a proposal to change one or more parameters. */ export interface ParameterChangeProposalAmino { title?: string; description?: string; changes?: ParamChangeAmino[]; } export interface ParameterChangeProposalAminoMsg { type: "cosmos-sdk/ParameterChangeProposal"; value: ParameterChangeProposalAmino; } /** ParameterChangeProposal defines a proposal to change one or more parameters. */ export interface ParameterChangeProposalSDKType { $typeUrl?: "/cosmos.params.v1beta1.ParameterChangeProposal"; title: string; description: string; changes: ParamChangeSDKType[]; } /** * ParamChange defines an individual parameter change, for use in * ParameterChangeProposal. */ export interface ParamChange { subspace: string; key: string; value: string; } export interface ParamChangeProtoMsg { typeUrl: "/cosmos.params.v1beta1.ParamChange"; value: Uint8Array; } /** * ParamChange defines an individual parameter change, for use in * ParameterChangeProposal. */ export interface ParamChangeAmino { subspace?: string; key?: string; value?: string; } export interface ParamChangeAminoMsg { type: "cosmos-sdk/ParamChange"; value: ParamChangeAmino; } /** * ParamChange defines an individual parameter change, for use in * ParameterChangeProposal. */ export interface ParamChangeSDKType { subspace: string; key: string; value: string; } function createBaseParameterChangeProposal(): ParameterChangeProposal { return { $typeUrl: "/cosmos.params.v1beta1.ParameterChangeProposal", title: "", description: "", changes: [] }; } export const ParameterChangeProposal = { typeUrl: "/cosmos.params.v1beta1.ParameterChangeProposal", encode(message: ParameterChangeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { if (message.title !== "") { writer.uint32(10).string(message.title); } if (message.description !== "") { writer.uint32(18).string(message.description); } for (const v of message.changes) { ParamChange.encode(v!, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ParameterChangeProposal { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseParameterChangeProposal(); 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.changes.push(ParamChange.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: Partial): ParameterChangeProposal { const message = createBaseParameterChangeProposal(); message.title = object.title ?? ""; message.description = object.description ?? ""; message.changes = object.changes?.map(e => ParamChange.fromPartial(e)) || []; return message; }, fromAmino(object: ParameterChangeProposalAmino): ParameterChangeProposal { const message = createBaseParameterChangeProposal(); if (object.title !== undefined && object.title !== null) { message.title = object.title; } if (object.description !== undefined && object.description !== null) { message.description = object.description; } message.changes = object.changes?.map(e => ParamChange.fromAmino(e)) || []; return message; }, toAmino(message: ParameterChangeProposal): ParameterChangeProposalAmino { const obj: any = {}; obj.title = message.title; obj.description = message.description; if (message.changes) { obj.changes = message.changes.map(e => e ? ParamChange.toAmino(e) : undefined); } else { obj.changes = []; } return obj; }, fromAminoMsg(object: ParameterChangeProposalAminoMsg): ParameterChangeProposal { return ParameterChangeProposal.fromAmino(object.value); }, toAminoMsg(message: ParameterChangeProposal): ParameterChangeProposalAminoMsg { return { type: "cosmos-sdk/ParameterChangeProposal", value: ParameterChangeProposal.toAmino(message) }; }, fromProtoMsg(message: ParameterChangeProposalProtoMsg): ParameterChangeProposal { return ParameterChangeProposal.decode(message.value); }, toProto(message: ParameterChangeProposal): Uint8Array { return ParameterChangeProposal.encode(message).finish(); }, toProtoMsg(message: ParameterChangeProposal): ParameterChangeProposalProtoMsg { return { typeUrl: "/cosmos.params.v1beta1.ParameterChangeProposal", value: ParameterChangeProposal.encode(message).finish() }; } }; function createBaseParamChange(): ParamChange { return { subspace: "", key: "", value: "" }; } export const ParamChange = { typeUrl: "/cosmos.params.v1beta1.ParamChange", encode(message: ParamChange, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { if (message.subspace !== "") { writer.uint32(10).string(message.subspace); } if (message.key !== "") { writer.uint32(18).string(message.key); } if (message.value !== "") { writer.uint32(26).string(message.value); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ParamChange { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseParamChange(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.subspace = reader.string(); break; case 2: message.key = reader.string(); break; case 3: message.value = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: Partial): ParamChange { const message = createBaseParamChange(); message.subspace = object.subspace ?? ""; message.key = object.key ?? ""; message.value = object.value ?? ""; return message; }, fromAmino(object: ParamChangeAmino): ParamChange { const message = createBaseParamChange(); if (object.subspace !== undefined && object.subspace !== null) { message.subspace = object.subspace; } if (object.key !== undefined && object.key !== null) { message.key = object.key; } if (object.value !== undefined && object.value !== null) { message.value = object.value; } return message; }, toAmino(message: ParamChange): ParamChangeAmino { const obj: any = {}; obj.subspace = message.subspace; obj.key = message.key; obj.value = message.value; return obj; }, fromAminoMsg(object: ParamChangeAminoMsg): ParamChange { return ParamChange.fromAmino(object.value); }, toAminoMsg(message: ParamChange): ParamChangeAminoMsg { return { type: "cosmos-sdk/ParamChange", value: ParamChange.toAmino(message) }; }, fromProtoMsg(message: ParamChangeProtoMsg): ParamChange { return ParamChange.decode(message.value); }, toProto(message: ParamChange): Uint8Array { return ParamChange.encode(message).finish(); }, toProtoMsg(message: ParamChange): ParamChangeProtoMsg { return { typeUrl: "/cosmos.params.v1beta1.ParamChange", value: ParamChange.encode(message).finish() }; } };