import { Rpc } from "../../../helpers"; import { BinaryReader } from "../../../binary"; import { MsgSoftwareUpgrade, MsgSoftwareUpgradeResponse, MsgCancelUpgrade, MsgCancelUpgradeResponse } from "./tx"; /** Msg defines the upgrade Msg service. */ export interface Msg { /** * SoftwareUpgrade is a governance operation for initiating a software upgrade. * * Since: cosmos-sdk 0.46 */ softwareUpgrade(request: MsgSoftwareUpgrade): Promise; /** * CancelUpgrade is a governance operation for cancelling a previously * approvid software upgrade. * * Since: cosmos-sdk 0.46 */ cancelUpgrade(request: MsgCancelUpgrade): Promise; } export class MsgClientImpl implements Msg { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.softwareUpgrade = this.softwareUpgrade.bind(this); this.cancelUpgrade = this.cancelUpgrade.bind(this); } softwareUpgrade(request: MsgSoftwareUpgrade): Promise { const data = MsgSoftwareUpgrade.encode(request).finish(); const promise = this.rpc.request("cosmos.upgrade.v1beta1.Msg", "SoftwareUpgrade", data); return promise.then(data => MsgSoftwareUpgradeResponse.decode(new BinaryReader(data))); } cancelUpgrade(request: MsgCancelUpgrade): Promise { const data = MsgCancelUpgrade.encode(request).finish(); const promise = this.rpc.request("cosmos.upgrade.v1beta1.Msg", "CancelUpgrade", data); return promise.then(data => MsgCancelUpgradeResponse.decode(new BinaryReader(data))); } }