import { Rpc } from "../../../../helpers"; import { BinaryReader } from "../../../../binary"; import { MsgCreateClient, MsgCreateClientResponse, MsgUpdateClient, MsgUpdateClientResponse, MsgUpgradeClient, MsgUpgradeClientResponse, MsgSubmitMisbehaviour, MsgSubmitMisbehaviourResponse } from "./tx"; /** Msg defines the ibc/client Msg service. */ export interface Msg { /** CreateClient defines a rpc handler method for MsgCreateClient. */ createClient(request: MsgCreateClient): Promise; /** UpdateClient defines a rpc handler method for MsgUpdateClient. */ updateClient(request: MsgUpdateClient): Promise; /** UpgradeClient defines a rpc handler method for MsgUpgradeClient. */ upgradeClient(request: MsgUpgradeClient): Promise; /** SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour. */ submitMisbehaviour(request: MsgSubmitMisbehaviour): Promise; } export class MsgClientImpl implements Msg { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.createClient = this.createClient.bind(this); this.updateClient = this.updateClient.bind(this); this.upgradeClient = this.upgradeClient.bind(this); this.submitMisbehaviour = this.submitMisbehaviour.bind(this); } createClient(request: MsgCreateClient): Promise { const data = MsgCreateClient.encode(request).finish(); const promise = this.rpc.request("ibc.core.client.v1.Msg", "CreateClient", data); return promise.then(data => MsgCreateClientResponse.decode(new BinaryReader(data))); } updateClient(request: MsgUpdateClient): Promise { const data = MsgUpdateClient.encode(request).finish(); const promise = this.rpc.request("ibc.core.client.v1.Msg", "UpdateClient", data); return promise.then(data => MsgUpdateClientResponse.decode(new BinaryReader(data))); } upgradeClient(request: MsgUpgradeClient): Promise { const data = MsgUpgradeClient.encode(request).finish(); const promise = this.rpc.request("ibc.core.client.v1.Msg", "UpgradeClient", data); return promise.then(data => MsgUpgradeClientResponse.decode(new BinaryReader(data))); } submitMisbehaviour(request: MsgSubmitMisbehaviour): Promise { const data = MsgSubmitMisbehaviour.encode(request).finish(); const promise = this.rpc.request("ibc.core.client.v1.Msg", "SubmitMisbehaviour", data); return promise.then(data => MsgSubmitMisbehaviourResponse.decode(new BinaryReader(data))); } }