/* eslint-disable */ import Long from 'long'; import _m0 from 'protobufjs/minimal'; import { Any } from '../../../google/protobuf/any'; export const protobufPackage = 'cosmos.evidence.v1beta1'; /** * MsgSubmitEvidence represents a message that supports submitting arbitrary * Evidence of misbehavior such as equivocation or counterfactual signing. */ export interface MsgSubmitEvidence { submitter: string; evidence?: Any; } /** MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type. */ export interface MsgSubmitEvidenceResponse { /** hash defines the hash of the evidence. */ hash: Uint8Array; } const baseMsgSubmitEvidence: object = { submitter: '' }; export const MsgSubmitEvidence = { encode(message: MsgSubmitEvidence, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.submitter !== '') { writer.uint32(10).string(message.submitter); } if (message.evidence !== undefined) { Any.encode(message.evidence, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitEvidence { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = { ...baseMsgSubmitEvidence } as MsgSubmitEvidence; while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.submitter = reader.string(); break; case 2: message.evidence = Any.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgSubmitEvidence { const message = { ...baseMsgSubmitEvidence } as MsgSubmitEvidence; if (object.submitter !== undefined && object.submitter !== null) { message.submitter = String(object.submitter); } else { message.submitter = ''; } if (object.evidence !== undefined && object.evidence !== null) { message.evidence = Any.fromJSON(object.evidence); } else { message.evidence = undefined; } return message; }, toJSON(message: MsgSubmitEvidence): unknown { const obj: any = {}; message.submitter !== undefined && (obj.submitter = message.submitter); message.evidence !== undefined && (obj.evidence = message.evidence ? Any.toJSON(message.evidence) : undefined); return obj; }, fromPartial(object: DeepPartial): MsgSubmitEvidence { const message = { ...baseMsgSubmitEvidence } as MsgSubmitEvidence; if (object.submitter !== undefined && object.submitter !== null) { message.submitter = object.submitter; } else { message.submitter = ''; } if (object.evidence !== undefined && object.evidence !== null) { message.evidence = Any.fromPartial(object.evidence); } else { message.evidence = undefined; } return message; }, }; const baseMsgSubmitEvidenceResponse: object = {}; export const MsgSubmitEvidenceResponse = { encode(message: MsgSubmitEvidenceResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.hash.length !== 0) { writer.uint32(34).bytes(message.hash); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitEvidenceResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = { ...baseMsgSubmitEvidenceResponse } as MsgSubmitEvidenceResponse; message.hash = new Uint8Array(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 4: message.hash = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgSubmitEvidenceResponse { const message = { ...baseMsgSubmitEvidenceResponse } as MsgSubmitEvidenceResponse; message.hash = new Uint8Array(); if (object.hash !== undefined && object.hash !== null) { message.hash = bytesFromBase64(object.hash); } return message; }, toJSON(message: MsgSubmitEvidenceResponse): unknown { const obj: any = {}; message.hash !== undefined && (obj.hash = base64FromBytes(message.hash !== undefined ? message.hash : new Uint8Array())); return obj; }, fromPartial(object: DeepPartial): MsgSubmitEvidenceResponse { const message = { ...baseMsgSubmitEvidenceResponse } as MsgSubmitEvidenceResponse; if (object.hash !== undefined && object.hash !== null) { message.hash = object.hash; } else { message.hash = new Uint8Array(); } return message; }, }; /** Msg defines the evidence Msg service. */ export interface Msg { /** * SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or * counterfactual signing. */ SubmitEvidence(request: MsgSubmitEvidence): Promise; } export class MsgClientImpl implements Msg { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.SubmitEvidence = this.SubmitEvidence.bind(this); } SubmitEvidence(request: MsgSubmitEvidence): Promise { const data = MsgSubmitEvidence.encode(request).finish(); const promise = this.rpc.request('cosmos.evidence.v1beta1.Msg', 'SubmitEvidence', data); return promise.then((data) => MsgSubmitEvidenceResponse.decode(new _m0.Reader(data))); } } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } declare var self: any | undefined; declare var window: any | undefined; var globalThis: any = (() => { if (typeof globalThis !== 'undefined') return globalThis; if (typeof self !== 'undefined') return self; if (typeof window !== 'undefined') return window; if (typeof global !== 'undefined') return global; throw 'Unable to locate global object'; })(); const atob: (b64: string) => string = globalThis.atob || ((b64) => globalThis.Buffer.from(b64, 'base64').toString('binary')); function bytesFromBase64(b64: string): Uint8Array { const bin = atob(b64); const arr = new Uint8Array(bin.length); for (let i = 0; i < bin.length; ++i) { arr[i] = bin.charCodeAt(i); } return arr; } const btoa: (bin: string) => string = globalThis.btoa || ((bin) => globalThis.Buffer.from(bin, 'binary').toString('base64')); function base64FromBytes(arr: Uint8Array): string { const bin: string[] = []; for (let i = 0; i < arr.byteLength; ++i) { bin.push(String.fromCharCode(arr[i])); } return btoa(bin.join('')); } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined | Long; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial } : Partial; if (_m0.util.Long !== Long) { _m0.util.Long = Long as any; _m0.configure(); }