diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/README.md b/README.md index a728150..f56fc32 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # js-abci -ABCI server for Node.js. Supports Tendermint version 0.33+. +ABCI server for Node.js. Supports Tendermint version 0.34+. ## Usage diff --git a/example/counter.js b/example/counter.js index f997f09..c8dd9e0 100644 --- a/example/counter.js +++ b/example/counter.js @@ -1,53 +1,53 @@ -let createABCIServer = require('abci') +let createABCIServer = require(".."); // turn on debug logging -require('debug').enable('abci*') +require("debug").enable("abci*"); let state = { - count: 0 -} + count: 0, +}; let handlers = { - info (request) { + info(request) { return { - data: 'Node.js counter app', - version: '0.0.0', + data: "Node.js counter app", + version: "0.0.0", lastBlockHeight: 0, - lastBlockAppHash: Buffer.alloc(0) - } + lastBlockAppHash: Buffer.alloc(0), + }; }, - checkTx (request) { - let tx = padTx(request.tx) - let number = tx.readUInt32BE(0) + checkTx(request) { + let tx = padTx(request.tx); + let number = tx.readUInt32BE(0); if (number !== state.count) { - return { code: 1, log: 'tx does not match count' } + return { code: 1, log: "tx does not match count" }; } - return { code: 0, log: 'tx succeeded' } + return { code: 0, log: "tx succeeded" }; }, - deliverTx (request) { - let tx = padTx(request.tx) - let number = tx.readUInt32BE(0) + deliverTx(request) { + let tx = padTx(request.tx); + let number = tx.readUInt32BE(0); if (number !== state.count) { - return { code: 1, log: 'tx does not match count' } + return { code: 1, log: "tx does not match count" }; } // update state - state.count += 1 + state.count += 1; - return { code: 0, log: 'tx succeeded' } - } -} + return { code: 0, log: "tx succeeded" }; + }, +}; // make sure the transaction data is 4 bytes long -function padTx (tx) { - let buf = Buffer.alloc(4) - tx.copy(buf, 4 - tx.length) - return buf +function padTx(tx) { + let buf = Buffer.alloc(4); + tx.copy(buf, 4 - tx.length); + return buf; } -let port = 26658 +let port = 26658; createABCIServer(handlers).listen(port, () => { - console.log(`listening on port ${port}`) -}) + console.log(`listening on port ${port}`); +}); diff --git a/index.d.ts b/index.d.ts index 629f6a7..11112cc 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,8350 +1,19961 @@ import * as $protobuf from "protobufjs"; -/** Namespace abci. */ -export namespace abci { +/** Namespace tendermint. */ +export namespace tendermint { - /** Properties of a Request. */ - interface IRequest { + /** Namespace abci. */ + namespace abci { - /** Request echo */ - echo?: (abci.IRequestEcho|null); + /** Properties of a Request. */ + interface IRequest { - /** Request flush */ - flush?: (abci.IRequestFlush|null); + /** Request echo */ + echo?: (tendermint.abci.IRequestEcho|null); - /** Request info */ - info?: (abci.IRequestInfo|null); + /** Request flush */ + flush?: (tendermint.abci.IRequestFlush|null); - /** Request setOption */ - setOption?: (abci.IRequestSetOption|null); + /** Request info */ + info?: (tendermint.abci.IRequestInfo|null); - /** Request initChain */ - initChain?: (abci.IRequestInitChain|null); + /** Request setOption */ + setOption?: (tendermint.abci.IRequestSetOption|null); - /** Request query */ - query?: (abci.IRequestQuery|null); + /** Request initChain */ + initChain?: (tendermint.abci.IRequestInitChain|null); - /** Request beginBlock */ - beginBlock?: (abci.IRequestBeginBlock|null); + /** Request query */ + query?: (tendermint.abci.IRequestQuery|null); - /** Request checkTx */ - checkTx?: (abci.IRequestCheckTx|null); + /** Request beginBlock */ + beginBlock?: (tendermint.abci.IRequestBeginBlock|null); - /** Request deliverTx */ - deliverTx?: (abci.IRequestDeliverTx|null); + /** Request checkTx */ + checkTx?: (tendermint.abci.IRequestCheckTx|null); - /** Request endBlock */ - endBlock?: (abci.IRequestEndBlock|null); + /** Request deliverTx */ + deliverTx?: (tendermint.abci.IRequestDeliverTx|null); - /** Request commit */ - commit?: (abci.IRequestCommit|null); - } + /** Request endBlock */ + endBlock?: (tendermint.abci.IRequestEndBlock|null); - /** Represents a Request. */ - class Request implements IRequest { - - /** - * Constructs a new Request. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequest); - - /** Request echo. */ - public echo?: (abci.IRequestEcho|null); - - /** Request flush. */ - public flush?: (abci.IRequestFlush|null); - - /** Request info. */ - public info?: (abci.IRequestInfo|null); - - /** Request setOption. */ - public setOption?: (abci.IRequestSetOption|null); - - /** Request initChain. */ - public initChain?: (abci.IRequestInitChain|null); - - /** Request query. */ - public query?: (abci.IRequestQuery|null); - - /** Request beginBlock. */ - public beginBlock?: (abci.IRequestBeginBlock|null); - - /** Request checkTx. */ - public checkTx?: (abci.IRequestCheckTx|null); - - /** Request deliverTx. */ - public deliverTx?: (abci.IRequestDeliverTx|null); - - /** Request endBlock. */ - public endBlock?: (abci.IRequestEndBlock|null); - - /** Request commit. */ - public commit?: (abci.IRequestCommit|null); - - /** Request value. */ - public value?: ("echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"); - - /** - * Creates a new Request instance using the specified properties. - * @param [properties] Properties to set - * @returns Request instance - */ - public static create(properties?: abci.IRequest): abci.Request; - - /** - * Encodes the specified Request message. Does not implicitly {@link abci.Request.verify|verify} messages. - * @param message Request message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Request message, length delimited. Does not implicitly {@link abci.Request.verify|verify} messages. - * @param message Request message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Request message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Request - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Request; - - /** - * Decodes a Request message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Request - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Request; - - /** - * Verifies a Request message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Request message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Request - */ - public static fromObject(object: { [k: string]: any }): abci.Request; - - /** - * Creates a plain object from a Request message. Also converts values to other types if specified. - * @param message Request - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Request, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Request to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Request commit */ + commit?: (tendermint.abci.IRequestCommit|null); - /** Properties of a RequestEcho. */ - interface IRequestEcho { + /** Request listSnapshots */ + listSnapshots?: (tendermint.abci.IRequestListSnapshots|null); - /** RequestEcho message */ - message?: (string|null); - } + /** Request offerSnapshot */ + offerSnapshot?: (tendermint.abci.IRequestOfferSnapshot|null); - /** Represents a RequestEcho. */ - class RequestEcho implements IRequestEcho { - - /** - * Constructs a new RequestEcho. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestEcho); - - /** RequestEcho message. */ - public message: string; - - /** - * Creates a new RequestEcho instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestEcho instance - */ - public static create(properties?: abci.IRequestEcho): abci.RequestEcho; - - /** - * Encodes the specified RequestEcho message. Does not implicitly {@link abci.RequestEcho.verify|verify} messages. - * @param message RequestEcho message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestEcho, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestEcho message, length delimited. Does not implicitly {@link abci.RequestEcho.verify|verify} messages. - * @param message RequestEcho message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestEcho, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestEcho message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestEcho; - - /** - * Decodes a RequestEcho message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestEcho; - - /** - * Verifies a RequestEcho message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestEcho message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestEcho - */ - public static fromObject(object: { [k: string]: any }): abci.RequestEcho; - - /** - * Creates a plain object from a RequestEcho message. Also converts values to other types if specified. - * @param message RequestEcho - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestEcho, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestEcho to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Request loadSnapshotChunk */ + loadSnapshotChunk?: (tendermint.abci.IRequestLoadSnapshotChunk|null); - /** Properties of a RequestFlush. */ - interface IRequestFlush { - } + /** Request applySnapshotChunk */ + applySnapshotChunk?: (tendermint.abci.IRequestApplySnapshotChunk|null); + } - /** Represents a RequestFlush. */ - class RequestFlush implements IRequestFlush { - - /** - * Constructs a new RequestFlush. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestFlush); - - /** - * Creates a new RequestFlush instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestFlush instance - */ - public static create(properties?: abci.IRequestFlush): abci.RequestFlush; - - /** - * Encodes the specified RequestFlush message. Does not implicitly {@link abci.RequestFlush.verify|verify} messages. - * @param message RequestFlush message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestFlush, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestFlush message, length delimited. Does not implicitly {@link abci.RequestFlush.verify|verify} messages. - * @param message RequestFlush message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestFlush, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestFlush message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestFlush; - - /** - * Decodes a RequestFlush message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestFlush; - - /** - * Verifies a RequestFlush message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestFlush message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestFlush - */ - public static fromObject(object: { [k: string]: any }): abci.RequestFlush; - - /** - * Creates a plain object from a RequestFlush message. Also converts values to other types if specified. - * @param message RequestFlush - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestFlush, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestFlush to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Represents a Request. */ + class Request implements IRequest { - /** Properties of a RequestInfo. */ - interface IRequestInfo { + /** + * Constructs a new Request. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequest); - /** RequestInfo version */ - version?: (string|null); + /** Request echo. */ + public echo?: (tendermint.abci.IRequestEcho|null); - /** RequestInfo blockVersion */ - blockVersion?: (number|Long|null); + /** Request flush. */ + public flush?: (tendermint.abci.IRequestFlush|null); - /** RequestInfo p2pVersion */ - p2pVersion?: (number|Long|null); - } + /** Request info. */ + public info?: (tendermint.abci.IRequestInfo|null); - /** Represents a RequestInfo. */ - class RequestInfo implements IRequestInfo { - - /** - * Constructs a new RequestInfo. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestInfo); - - /** RequestInfo version. */ - public version: string; - - /** RequestInfo blockVersion. */ - public blockVersion: (number|Long); - - /** RequestInfo p2pVersion. */ - public p2pVersion: (number|Long); - - /** - * Creates a new RequestInfo instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestInfo instance - */ - public static create(properties?: abci.IRequestInfo): abci.RequestInfo; - - /** - * Encodes the specified RequestInfo message. Does not implicitly {@link abci.RequestInfo.verify|verify} messages. - * @param message RequestInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestInfo message, length delimited. Does not implicitly {@link abci.RequestInfo.verify|verify} messages. - * @param message RequestInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestInfo message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestInfo; - - /** - * Decodes a RequestInfo message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestInfo; - - /** - * Verifies a RequestInfo message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestInfo message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestInfo - */ - public static fromObject(object: { [k: string]: any }): abci.RequestInfo; - - /** - * Creates a plain object from a RequestInfo message. Also converts values to other types if specified. - * @param message RequestInfo - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestInfo to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Request setOption. */ + public setOption?: (tendermint.abci.IRequestSetOption|null); - /** Properties of a RequestSetOption. */ - interface IRequestSetOption { + /** Request initChain. */ + public initChain?: (tendermint.abci.IRequestInitChain|null); - /** RequestSetOption key */ - key?: (string|null); + /** Request query. */ + public query?: (tendermint.abci.IRequestQuery|null); - /** RequestSetOption value */ - value?: (string|null); - } + /** Request beginBlock. */ + public beginBlock?: (tendermint.abci.IRequestBeginBlock|null); - /** Represents a RequestSetOption. */ - class RequestSetOption implements IRequestSetOption { - - /** - * Constructs a new RequestSetOption. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestSetOption); - - /** RequestSetOption key. */ - public key: string; - - /** RequestSetOption value. */ - public value: string; - - /** - * Creates a new RequestSetOption instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestSetOption instance - */ - public static create(properties?: abci.IRequestSetOption): abci.RequestSetOption; - - /** - * Encodes the specified RequestSetOption message. Does not implicitly {@link abci.RequestSetOption.verify|verify} messages. - * @param message RequestSetOption message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestSetOption message, length delimited. Does not implicitly {@link abci.RequestSetOption.verify|verify} messages. - * @param message RequestSetOption message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestSetOption message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestSetOption; - - /** - * Decodes a RequestSetOption message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestSetOption; - - /** - * Verifies a RequestSetOption message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestSetOption message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestSetOption - */ - public static fromObject(object: { [k: string]: any }): abci.RequestSetOption; - - /** - * Creates a plain object from a RequestSetOption message. Also converts values to other types if specified. - * @param message RequestSetOption - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestSetOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestSetOption to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Request checkTx. */ + public checkTx?: (tendermint.abci.IRequestCheckTx|null); - /** Properties of a RequestInitChain. */ - interface IRequestInitChain { + /** Request deliverTx. */ + public deliverTx?: (tendermint.abci.IRequestDeliverTx|null); - /** RequestInitChain time */ - time?: (google.protobuf.ITimestamp|null); + /** Request endBlock. */ + public endBlock?: (tendermint.abci.IRequestEndBlock|null); - /** RequestInitChain chainId */ - chainId?: (string|null); + /** Request commit. */ + public commit?: (tendermint.abci.IRequestCommit|null); - /** RequestInitChain consensusParams */ - consensusParams?: (abci.IConsensusParams|null); + /** Request listSnapshots. */ + public listSnapshots?: (tendermint.abci.IRequestListSnapshots|null); - /** RequestInitChain validators */ - validators?: (abci.IValidatorUpdate[]|null); + /** Request offerSnapshot. */ + public offerSnapshot?: (tendermint.abci.IRequestOfferSnapshot|null); - /** RequestInitChain appStateBytes */ - appStateBytes?: (Uint8Array|null); - } + /** Request loadSnapshotChunk. */ + public loadSnapshotChunk?: (tendermint.abci.IRequestLoadSnapshotChunk|null); - /** Represents a RequestInitChain. */ - class RequestInitChain implements IRequestInitChain { - - /** - * Constructs a new RequestInitChain. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestInitChain); - - /** RequestInitChain time. */ - public time?: (google.protobuf.ITimestamp|null); - - /** RequestInitChain chainId. */ - public chainId: string; - - /** RequestInitChain consensusParams. */ - public consensusParams?: (abci.IConsensusParams|null); - - /** RequestInitChain validators. */ - public validators: abci.IValidatorUpdate[]; - - /** RequestInitChain appStateBytes. */ - public appStateBytes: Uint8Array; - - /** - * Creates a new RequestInitChain instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestInitChain instance - */ - public static create(properties?: abci.IRequestInitChain): abci.RequestInitChain; - - /** - * Encodes the specified RequestInitChain message. Does not implicitly {@link abci.RequestInitChain.verify|verify} messages. - * @param message RequestInitChain message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestInitChain message, length delimited. Does not implicitly {@link abci.RequestInitChain.verify|verify} messages. - * @param message RequestInitChain message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestInitChain message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestInitChain; - - /** - * Decodes a RequestInitChain message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestInitChain; - - /** - * Verifies a RequestInitChain message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestInitChain message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestInitChain - */ - public static fromObject(object: { [k: string]: any }): abci.RequestInitChain; - - /** - * Creates a plain object from a RequestInitChain message. Also converts values to other types if specified. - * @param message RequestInitChain - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestInitChain, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestInitChain to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Request applySnapshotChunk. */ + public applySnapshotChunk?: (tendermint.abci.IRequestApplySnapshotChunk|null); - /** Properties of a RequestQuery. */ - interface IRequestQuery { + /** Request value. */ + public value?: ("echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|"listSnapshots"|"offerSnapshot"|"loadSnapshotChunk"|"applySnapshotChunk"); - /** RequestQuery data */ - data?: (Uint8Array|null); + /** + * Creates a new Request instance using the specified properties. + * @param [properties] Properties to set + * @returns Request instance + */ + public static create(properties?: tendermint.abci.IRequest): tendermint.abci.Request; - /** RequestQuery path */ - path?: (string|null); + /** + * Encodes the specified Request message. Does not implicitly {@link tendermint.abci.Request.verify|verify} messages. + * @param message Request message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequest, writer?: $protobuf.Writer): $protobuf.Writer; - /** RequestQuery height */ - height?: (number|Long|null); + /** + * Encodes the specified Request message, length delimited. Does not implicitly {@link tendermint.abci.Request.verify|verify} messages. + * @param message Request message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequest, writer?: $protobuf.Writer): $protobuf.Writer; - /** RequestQuery prove */ - prove?: (boolean|null); - } + /** + * Decodes a Request message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Request + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.Request; - /** Represents a RequestQuery. */ - class RequestQuery implements IRequestQuery { - - /** - * Constructs a new RequestQuery. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestQuery); - - /** RequestQuery data. */ - public data: Uint8Array; - - /** RequestQuery path. */ - public path: string; - - /** RequestQuery height. */ - public height: (number|Long); - - /** RequestQuery prove. */ - public prove: boolean; - - /** - * Creates a new RequestQuery instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestQuery instance - */ - public static create(properties?: abci.IRequestQuery): abci.RequestQuery; - - /** - * Encodes the specified RequestQuery message. Does not implicitly {@link abci.RequestQuery.verify|verify} messages. - * @param message RequestQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestQuery message, length delimited. Does not implicitly {@link abci.RequestQuery.verify|verify} messages. - * @param message RequestQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestQuery message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestQuery; - - /** - * Decodes a RequestQuery message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestQuery; - - /** - * Verifies a RequestQuery message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestQuery message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestQuery - */ - public static fromObject(object: { [k: string]: any }): abci.RequestQuery; - - /** - * Creates a plain object from a RequestQuery message. Also converts values to other types if specified. - * @param message RequestQuery - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestQuery to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Decodes a Request message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Request + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.Request; - /** Properties of a RequestBeginBlock. */ - interface IRequestBeginBlock { + /** + * Verifies a Request message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** RequestBeginBlock hash */ - hash?: (Uint8Array|null); + /** + * Creates a Request message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Request + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.Request; - /** RequestBeginBlock header */ - header?: (abci.IHeader|null); + /** + * Creates a plain object from a Request message. Also converts values to other types if specified. + * @param message Request + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.Request, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** RequestBeginBlock lastCommitInfo */ - lastCommitInfo?: (abci.ILastCommitInfo|null); + /** + * Converts this Request to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** RequestBeginBlock byzantineValidators */ - byzantineValidators?: (abci.IEvidence[]|null); - } + /** Properties of a RequestEcho. */ + interface IRequestEcho { - /** Represents a RequestBeginBlock. */ - class RequestBeginBlock implements IRequestBeginBlock { - - /** - * Constructs a new RequestBeginBlock. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestBeginBlock); - - /** RequestBeginBlock hash. */ - public hash: Uint8Array; - - /** RequestBeginBlock header. */ - public header?: (abci.IHeader|null); - - /** RequestBeginBlock lastCommitInfo. */ - public lastCommitInfo?: (abci.ILastCommitInfo|null); - - /** RequestBeginBlock byzantineValidators. */ - public byzantineValidators: abci.IEvidence[]; - - /** - * Creates a new RequestBeginBlock instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestBeginBlock instance - */ - public static create(properties?: abci.IRequestBeginBlock): abci.RequestBeginBlock; - - /** - * Encodes the specified RequestBeginBlock message. Does not implicitly {@link abci.RequestBeginBlock.verify|verify} messages. - * @param message RequestBeginBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestBeginBlock message, length delimited. Does not implicitly {@link abci.RequestBeginBlock.verify|verify} messages. - * @param message RequestBeginBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestBeginBlock message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestBeginBlock; - - /** - * Decodes a RequestBeginBlock message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestBeginBlock; - - /** - * Verifies a RequestBeginBlock message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestBeginBlock message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestBeginBlock - */ - public static fromObject(object: { [k: string]: any }): abci.RequestBeginBlock; - - /** - * Creates a plain object from a RequestBeginBlock message. Also converts values to other types if specified. - * @param message RequestBeginBlock - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestBeginBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestBeginBlock to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestEcho message */ + message?: (string|null); + } - /** CheckTxType enum. */ - enum CheckTxType { - New = 0, - Recheck = 1 - } + /** Represents a RequestEcho. */ + class RequestEcho implements IRequestEcho { - /** Properties of a RequestCheckTx. */ - interface IRequestCheckTx { + /** + * Constructs a new RequestEcho. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestEcho); - /** RequestCheckTx tx */ - tx?: (Uint8Array|null); + /** RequestEcho message. */ + public message: string; - /** RequestCheckTx type */ - type?: (abci.CheckTxType|null); - } + /** + * Creates a new RequestEcho instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestEcho instance + */ + public static create(properties?: tendermint.abci.IRequestEcho): tendermint.abci.RequestEcho; - /** Represents a RequestCheckTx. */ - class RequestCheckTx implements IRequestCheckTx { - - /** - * Constructs a new RequestCheckTx. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestCheckTx); - - /** RequestCheckTx tx. */ - public tx: Uint8Array; - - /** RequestCheckTx type. */ - public type: abci.CheckTxType; - - /** - * Creates a new RequestCheckTx instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestCheckTx instance - */ - public static create(properties?: abci.IRequestCheckTx): abci.RequestCheckTx; - - /** - * Encodes the specified RequestCheckTx message. Does not implicitly {@link abci.RequestCheckTx.verify|verify} messages. - * @param message RequestCheckTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestCheckTx message, length delimited. Does not implicitly {@link abci.RequestCheckTx.verify|verify} messages. - * @param message RequestCheckTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestCheckTx message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestCheckTx; - - /** - * Decodes a RequestCheckTx message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestCheckTx; - - /** - * Verifies a RequestCheckTx message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestCheckTx message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestCheckTx - */ - public static fromObject(object: { [k: string]: any }): abci.RequestCheckTx; - - /** - * Creates a plain object from a RequestCheckTx message. Also converts values to other types if specified. - * @param message RequestCheckTx - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestCheckTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestCheckTx to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Encodes the specified RequestEcho message. Does not implicitly {@link tendermint.abci.RequestEcho.verify|verify} messages. + * @param message RequestEcho message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestEcho, writer?: $protobuf.Writer): $protobuf.Writer; - /** Properties of a RequestDeliverTx. */ - interface IRequestDeliverTx { + /** + * Encodes the specified RequestEcho message, length delimited. Does not implicitly {@link tendermint.abci.RequestEcho.verify|verify} messages. + * @param message RequestEcho message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestEcho, writer?: $protobuf.Writer): $protobuf.Writer; - /** RequestDeliverTx tx */ - tx?: (Uint8Array|null); - } + /** + * Decodes a RequestEcho message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestEcho + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestEcho; - /** Represents a RequestDeliverTx. */ - class RequestDeliverTx implements IRequestDeliverTx { - - /** - * Constructs a new RequestDeliverTx. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestDeliverTx); - - /** RequestDeliverTx tx. */ - public tx: Uint8Array; - - /** - * Creates a new RequestDeliverTx instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestDeliverTx instance - */ - public static create(properties?: abci.IRequestDeliverTx): abci.RequestDeliverTx; - - /** - * Encodes the specified RequestDeliverTx message. Does not implicitly {@link abci.RequestDeliverTx.verify|verify} messages. - * @param message RequestDeliverTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestDeliverTx message, length delimited. Does not implicitly {@link abci.RequestDeliverTx.verify|verify} messages. - * @param message RequestDeliverTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestDeliverTx message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestDeliverTx; - - /** - * Decodes a RequestDeliverTx message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestDeliverTx; - - /** - * Verifies a RequestDeliverTx message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestDeliverTx message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestDeliverTx - */ - public static fromObject(object: { [k: string]: any }): abci.RequestDeliverTx; - - /** - * Creates a plain object from a RequestDeliverTx message. Also converts values to other types if specified. - * @param message RequestDeliverTx - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestDeliverTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestDeliverTx to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Decodes a RequestEcho message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestEcho + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestEcho; - /** Properties of a RequestEndBlock. */ - interface IRequestEndBlock { + /** + * Verifies a RequestEcho message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** RequestEndBlock height */ - height?: (number|Long|null); - } + /** + * Creates a RequestEcho message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestEcho + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestEcho; - /** Represents a RequestEndBlock. */ - class RequestEndBlock implements IRequestEndBlock { - - /** - * Constructs a new RequestEndBlock. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestEndBlock); - - /** RequestEndBlock height. */ - public height: (number|Long); - - /** - * Creates a new RequestEndBlock instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestEndBlock instance - */ - public static create(properties?: abci.IRequestEndBlock): abci.RequestEndBlock; - - /** - * Encodes the specified RequestEndBlock message. Does not implicitly {@link abci.RequestEndBlock.verify|verify} messages. - * @param message RequestEndBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestEndBlock message, length delimited. Does not implicitly {@link abci.RequestEndBlock.verify|verify} messages. - * @param message RequestEndBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestEndBlock message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestEndBlock; - - /** - * Decodes a RequestEndBlock message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestEndBlock; - - /** - * Verifies a RequestEndBlock message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestEndBlock message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestEndBlock - */ - public static fromObject(object: { [k: string]: any }): abci.RequestEndBlock; - - /** - * Creates a plain object from a RequestEndBlock message. Also converts values to other types if specified. - * @param message RequestEndBlock - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestEndBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestEndBlock to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Creates a plain object from a RequestEcho message. Also converts values to other types if specified. + * @param message RequestEcho + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestEcho, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** Properties of a RequestCommit. */ - interface IRequestCommit { - } + /** + * Converts this RequestEcho to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** Represents a RequestCommit. */ - class RequestCommit implements IRequestCommit { - - /** - * Constructs a new RequestCommit. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IRequestCommit); - - /** - * Creates a new RequestCommit instance using the specified properties. - * @param [properties] Properties to set - * @returns RequestCommit instance - */ - public static create(properties?: abci.IRequestCommit): abci.RequestCommit; - - /** - * Encodes the specified RequestCommit message. Does not implicitly {@link abci.RequestCommit.verify|verify} messages. - * @param message RequestCommit message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IRequestCommit, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RequestCommit message, length delimited. Does not implicitly {@link abci.RequestCommit.verify|verify} messages. - * @param message RequestCommit message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IRequestCommit, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RequestCommit message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RequestCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.RequestCommit; - - /** - * Decodes a RequestCommit message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RequestCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.RequestCommit; - - /** - * Verifies a RequestCommit message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RequestCommit message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RequestCommit - */ - public static fromObject(object: { [k: string]: any }): abci.RequestCommit; - - /** - * Creates a plain object from a RequestCommit message. Also converts values to other types if specified. - * @param message RequestCommit - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.RequestCommit, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RequestCommit to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Properties of a RequestFlush. */ + interface IRequestFlush { + } - /** Properties of a Response. */ - interface IResponse { + /** Represents a RequestFlush. */ + class RequestFlush implements IRequestFlush { - /** Response exception */ - exception?: (abci.IResponseException|null); + /** + * Constructs a new RequestFlush. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestFlush); - /** Response echo */ - echo?: (abci.IResponseEcho|null); + /** + * Creates a new RequestFlush instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestFlush instance + */ + public static create(properties?: tendermint.abci.IRequestFlush): tendermint.abci.RequestFlush; - /** Response flush */ - flush?: (abci.IResponseFlush|null); + /** + * Encodes the specified RequestFlush message. Does not implicitly {@link tendermint.abci.RequestFlush.verify|verify} messages. + * @param message RequestFlush message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestFlush, writer?: $protobuf.Writer): $protobuf.Writer; - /** Response info */ - info?: (abci.IResponseInfo|null); + /** + * Encodes the specified RequestFlush message, length delimited. Does not implicitly {@link tendermint.abci.RequestFlush.verify|verify} messages. + * @param message RequestFlush message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestFlush, writer?: $protobuf.Writer): $protobuf.Writer; - /** Response setOption */ - setOption?: (abci.IResponseSetOption|null); + /** + * Decodes a RequestFlush message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestFlush + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestFlush; - /** Response initChain */ - initChain?: (abci.IResponseInitChain|null); + /** + * Decodes a RequestFlush message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestFlush + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestFlush; - /** Response query */ - query?: (abci.IResponseQuery|null); + /** + * Verifies a RequestFlush message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** Response beginBlock */ - beginBlock?: (abci.IResponseBeginBlock|null); + /** + * Creates a RequestFlush message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestFlush + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestFlush; - /** Response checkTx */ - checkTx?: (abci.IResponseCheckTx|null); + /** + * Creates a plain object from a RequestFlush message. Also converts values to other types if specified. + * @param message RequestFlush + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestFlush, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** Response deliverTx */ - deliverTx?: (abci.IResponseDeliverTx|null); + /** + * Converts this RequestFlush to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** Response endBlock */ - endBlock?: (abci.IResponseEndBlock|null); + /** Properties of a RequestInfo. */ + interface IRequestInfo { - /** Response commit */ - commit?: (abci.IResponseCommit|null); - } + /** RequestInfo version */ + version?: (string|null); - /** Represents a Response. */ - class Response implements IResponse { - - /** - * Constructs a new Response. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponse); - - /** Response exception. */ - public exception?: (abci.IResponseException|null); - - /** Response echo. */ - public echo?: (abci.IResponseEcho|null); - - /** Response flush. */ - public flush?: (abci.IResponseFlush|null); - - /** Response info. */ - public info?: (abci.IResponseInfo|null); - - /** Response setOption. */ - public setOption?: (abci.IResponseSetOption|null); - - /** Response initChain. */ - public initChain?: (abci.IResponseInitChain|null); - - /** Response query. */ - public query?: (abci.IResponseQuery|null); - - /** Response beginBlock. */ - public beginBlock?: (abci.IResponseBeginBlock|null); - - /** Response checkTx. */ - public checkTx?: (abci.IResponseCheckTx|null); - - /** Response deliverTx. */ - public deliverTx?: (abci.IResponseDeliverTx|null); - - /** Response endBlock. */ - public endBlock?: (abci.IResponseEndBlock|null); - - /** Response commit. */ - public commit?: (abci.IResponseCommit|null); - - /** Response value. */ - public value?: ("exception"|"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"); - - /** - * Creates a new Response instance using the specified properties. - * @param [properties] Properties to set - * @returns Response instance - */ - public static create(properties?: abci.IResponse): abci.Response; - - /** - * Encodes the specified Response message. Does not implicitly {@link abci.Response.verify|verify} messages. - * @param message Response message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Response message, length delimited. Does not implicitly {@link abci.Response.verify|verify} messages. - * @param message Response message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Response message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Response - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Response; - - /** - * Decodes a Response message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Response - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Response; - - /** - * Verifies a Response message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Response message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Response - */ - public static fromObject(object: { [k: string]: any }): abci.Response; - - /** - * Creates a plain object from a Response message. Also converts values to other types if specified. - * @param message Response - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Response, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Response to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestInfo blockVersion */ + blockVersion?: (number|Long|null); - /** Properties of a ResponseException. */ - interface IResponseException { + /** RequestInfo p2pVersion */ + p2pVersion?: (number|Long|null); + } - /** ResponseException error */ - error?: (string|null); - } + /** Represents a RequestInfo. */ + class RequestInfo implements IRequestInfo { - /** Represents a ResponseException. */ - class ResponseException implements IResponseException { - - /** - * Constructs a new ResponseException. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseException); - - /** ResponseException error. */ - public error: string; - - /** - * Creates a new ResponseException instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseException instance - */ - public static create(properties?: abci.IResponseException): abci.ResponseException; - - /** - * Encodes the specified ResponseException message. Does not implicitly {@link abci.ResponseException.verify|verify} messages. - * @param message ResponseException message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseException, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseException message, length delimited. Does not implicitly {@link abci.ResponseException.verify|verify} messages. - * @param message ResponseException message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseException, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseException message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseException - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseException; - - /** - * Decodes a ResponseException message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseException - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseException; - - /** - * Verifies a ResponseException message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseException message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseException - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseException; - - /** - * Creates a plain object from a ResponseException message. Also converts values to other types if specified. - * @param message ResponseException - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseException, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseException to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Constructs a new RequestInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestInfo); - /** Properties of a ResponseEcho. */ - interface IResponseEcho { + /** RequestInfo version. */ + public version: string; - /** ResponseEcho message */ - message?: (string|null); - } + /** RequestInfo blockVersion. */ + public blockVersion: (number|Long); - /** Represents a ResponseEcho. */ - class ResponseEcho implements IResponseEcho { - - /** - * Constructs a new ResponseEcho. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseEcho); - - /** ResponseEcho message. */ - public message: string; - - /** - * Creates a new ResponseEcho instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseEcho instance - */ - public static create(properties?: abci.IResponseEcho): abci.ResponseEcho; - - /** - * Encodes the specified ResponseEcho message. Does not implicitly {@link abci.ResponseEcho.verify|verify} messages. - * @param message ResponseEcho message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseEcho, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseEcho message, length delimited. Does not implicitly {@link abci.ResponseEcho.verify|verify} messages. - * @param message ResponseEcho message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseEcho, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseEcho message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseEcho; - - /** - * Decodes a ResponseEcho message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseEcho; - - /** - * Verifies a ResponseEcho message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseEcho message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseEcho - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseEcho; - - /** - * Creates a plain object from a ResponseEcho message. Also converts values to other types if specified. - * @param message ResponseEcho - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseEcho, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseEcho to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestInfo p2pVersion. */ + public p2pVersion: (number|Long); - /** Properties of a ResponseFlush. */ - interface IResponseFlush { - } + /** + * Creates a new RequestInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestInfo instance + */ + public static create(properties?: tendermint.abci.IRequestInfo): tendermint.abci.RequestInfo; - /** Represents a ResponseFlush. */ - class ResponseFlush implements IResponseFlush { - - /** - * Constructs a new ResponseFlush. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseFlush); - - /** - * Creates a new ResponseFlush instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseFlush instance - */ - public static create(properties?: abci.IResponseFlush): abci.ResponseFlush; - - /** - * Encodes the specified ResponseFlush message. Does not implicitly {@link abci.ResponseFlush.verify|verify} messages. - * @param message ResponseFlush message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseFlush, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseFlush message, length delimited. Does not implicitly {@link abci.ResponseFlush.verify|verify} messages. - * @param message ResponseFlush message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseFlush, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseFlush message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseFlush; - - /** - * Decodes a ResponseFlush message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseFlush; - - /** - * Verifies a ResponseFlush message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseFlush message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseFlush - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseFlush; - - /** - * Creates a plain object from a ResponseFlush message. Also converts values to other types if specified. - * @param message ResponseFlush - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseFlush, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseFlush to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Encodes the specified RequestInfo message. Does not implicitly {@link tendermint.abci.RequestInfo.verify|verify} messages. + * @param message RequestInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestInfo, writer?: $protobuf.Writer): $protobuf.Writer; - /** Properties of a ResponseInfo. */ - interface IResponseInfo { + /** + * Encodes the specified RequestInfo message, length delimited. Does not implicitly {@link tendermint.abci.RequestInfo.verify|verify} messages. + * @param message RequestInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestInfo, writer?: $protobuf.Writer): $protobuf.Writer; - /** ResponseInfo data */ - data?: (string|null); + /** + * Decodes a RequestInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestInfo; - /** ResponseInfo version */ - version?: (string|null); + /** + * Decodes a RequestInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestInfo; - /** ResponseInfo appVersion */ - appVersion?: (number|Long|null); + /** + * Verifies a RequestInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** ResponseInfo lastBlockHeight */ - lastBlockHeight?: (number|Long|null); + /** + * Creates a RequestInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestInfo; - /** ResponseInfo lastBlockAppHash */ - lastBlockAppHash?: (Uint8Array|null); - } + /** + * Creates a plain object from a RequestInfo message. Also converts values to other types if specified. + * @param message RequestInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** Represents a ResponseInfo. */ - class ResponseInfo implements IResponseInfo { - - /** - * Constructs a new ResponseInfo. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseInfo); - - /** ResponseInfo data. */ - public data: string; - - /** ResponseInfo version. */ - public version: string; - - /** ResponseInfo appVersion. */ - public appVersion: (number|Long); - - /** ResponseInfo lastBlockHeight. */ - public lastBlockHeight: (number|Long); - - /** ResponseInfo lastBlockAppHash. */ - public lastBlockAppHash: Uint8Array; - - /** - * Creates a new ResponseInfo instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseInfo instance - */ - public static create(properties?: abci.IResponseInfo): abci.ResponseInfo; - - /** - * Encodes the specified ResponseInfo message. Does not implicitly {@link abci.ResponseInfo.verify|verify} messages. - * @param message ResponseInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseInfo message, length delimited. Does not implicitly {@link abci.ResponseInfo.verify|verify} messages. - * @param message ResponseInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseInfo message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseInfo; - - /** - * Decodes a ResponseInfo message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseInfo; - - /** - * Verifies a ResponseInfo message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseInfo message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseInfo - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseInfo; - - /** - * Creates a plain object from a ResponseInfo message. Also converts values to other types if specified. - * @param message ResponseInfo - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseInfo to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Converts this RequestInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** Properties of a ResponseSetOption. */ - interface IResponseSetOption { + /** Properties of a RequestSetOption. */ + interface IRequestSetOption { - /** ResponseSetOption code */ - code?: (number|null); + /** RequestSetOption key */ + key?: (string|null); - /** ResponseSetOption log */ - log?: (string|null); + /** RequestSetOption value */ + value?: (string|null); + } - /** ResponseSetOption info */ - info?: (string|null); - } + /** Represents a RequestSetOption. */ + class RequestSetOption implements IRequestSetOption { - /** Represents a ResponseSetOption. */ - class ResponseSetOption implements IResponseSetOption { - - /** - * Constructs a new ResponseSetOption. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseSetOption); - - /** ResponseSetOption code. */ - public code: number; - - /** ResponseSetOption log. */ - public log: string; - - /** ResponseSetOption info. */ - public info: string; - - /** - * Creates a new ResponseSetOption instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseSetOption instance - */ - public static create(properties?: abci.IResponseSetOption): abci.ResponseSetOption; - - /** - * Encodes the specified ResponseSetOption message. Does not implicitly {@link abci.ResponseSetOption.verify|verify} messages. - * @param message ResponseSetOption message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseSetOption message, length delimited. Does not implicitly {@link abci.ResponseSetOption.verify|verify} messages. - * @param message ResponseSetOption message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseSetOption message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseSetOption; - - /** - * Decodes a ResponseSetOption message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseSetOption; - - /** - * Verifies a ResponseSetOption message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseSetOption message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseSetOption - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseSetOption; - - /** - * Creates a plain object from a ResponseSetOption message. Also converts values to other types if specified. - * @param message ResponseSetOption - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseSetOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseSetOption to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Constructs a new RequestSetOption. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestSetOption); - /** Properties of a ResponseInitChain. */ - interface IResponseInitChain { + /** RequestSetOption key. */ + public key: string; - /** ResponseInitChain consensusParams */ - consensusParams?: (abci.IConsensusParams|null); + /** RequestSetOption value. */ + public value: string; - /** ResponseInitChain validators */ - validators?: (abci.IValidatorUpdate[]|null); - } + /** + * Creates a new RequestSetOption instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestSetOption instance + */ + public static create(properties?: tendermint.abci.IRequestSetOption): tendermint.abci.RequestSetOption; - /** Represents a ResponseInitChain. */ - class ResponseInitChain implements IResponseInitChain { - - /** - * Constructs a new ResponseInitChain. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseInitChain); - - /** ResponseInitChain consensusParams. */ - public consensusParams?: (abci.IConsensusParams|null); - - /** ResponseInitChain validators. */ - public validators: abci.IValidatorUpdate[]; - - /** - * Creates a new ResponseInitChain instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseInitChain instance - */ - public static create(properties?: abci.IResponseInitChain): abci.ResponseInitChain; - - /** - * Encodes the specified ResponseInitChain message. Does not implicitly {@link abci.ResponseInitChain.verify|verify} messages. - * @param message ResponseInitChain message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseInitChain message, length delimited. Does not implicitly {@link abci.ResponseInitChain.verify|verify} messages. - * @param message ResponseInitChain message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseInitChain message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseInitChain; - - /** - * Decodes a ResponseInitChain message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseInitChain; - - /** - * Verifies a ResponseInitChain message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseInitChain message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseInitChain - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseInitChain; - - /** - * Creates a plain object from a ResponseInitChain message. Also converts values to other types if specified. - * @param message ResponseInitChain - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseInitChain, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseInitChain to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Encodes the specified RequestSetOption message. Does not implicitly {@link tendermint.abci.RequestSetOption.verify|verify} messages. + * @param message RequestSetOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - /** Properties of a ResponseQuery. */ - interface IResponseQuery { + /** + * Encodes the specified RequestSetOption message, length delimited. Does not implicitly {@link tendermint.abci.RequestSetOption.verify|verify} messages. + * @param message RequestSetOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - /** ResponseQuery code */ - code?: (number|null); + /** + * Decodes a RequestSetOption message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestSetOption; - /** ResponseQuery log */ - log?: (string|null); + /** + * Decodes a RequestSetOption message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestSetOption; - /** ResponseQuery info */ - info?: (string|null); + /** + * Verifies a RequestSetOption message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** ResponseQuery index */ - index?: (number|Long|null); + /** + * Creates a RequestSetOption message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestSetOption + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestSetOption; - /** ResponseQuery key */ - key?: (Uint8Array|null); + /** + * Creates a plain object from a RequestSetOption message. Also converts values to other types if specified. + * @param message RequestSetOption + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestSetOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** ResponseQuery value */ - value?: (Uint8Array|null); + /** + * Converts this RequestSetOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** ResponseQuery proof */ - proof?: (tendermint.crypto.merkle.IProof|null); + /** Properties of a RequestInitChain. */ + interface IRequestInitChain { - /** ResponseQuery height */ - height?: (number|Long|null); + /** RequestInitChain time */ + time?: (google.protobuf.ITimestamp|null); - /** ResponseQuery codespace */ - codespace?: (string|null); - } - - /** Represents a ResponseQuery. */ - class ResponseQuery implements IResponseQuery { - - /** - * Constructs a new ResponseQuery. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseQuery); - - /** ResponseQuery code. */ - public code: number; - - /** ResponseQuery log. */ - public log: string; - - /** ResponseQuery info. */ - public info: string; - - /** ResponseQuery index. */ - public index: (number|Long); - - /** ResponseQuery key. */ - public key: Uint8Array; - - /** ResponseQuery value. */ - public value: Uint8Array; - - /** ResponseQuery proof. */ - public proof?: (tendermint.crypto.merkle.IProof|null); - - /** ResponseQuery height. */ - public height: (number|Long); - - /** ResponseQuery codespace. */ - public codespace: string; - - /** - * Creates a new ResponseQuery instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseQuery instance - */ - public static create(properties?: abci.IResponseQuery): abci.ResponseQuery; - - /** - * Encodes the specified ResponseQuery message. Does not implicitly {@link abci.ResponseQuery.verify|verify} messages. - * @param message ResponseQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseQuery message, length delimited. Does not implicitly {@link abci.ResponseQuery.verify|verify} messages. - * @param message ResponseQuery message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseQuery, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseQuery message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseQuery; - - /** - * Decodes a ResponseQuery message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseQuery; - - /** - * Verifies a ResponseQuery message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseQuery message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseQuery - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseQuery; - - /** - * Creates a plain object from a ResponseQuery message. Also converts values to other types if specified. - * @param message ResponseQuery - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseQuery to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ResponseBeginBlock. */ - interface IResponseBeginBlock { - - /** ResponseBeginBlock events */ - events?: (abci.IEvent[]|null); - } - - /** Represents a ResponseBeginBlock. */ - class ResponseBeginBlock implements IResponseBeginBlock { - - /** - * Constructs a new ResponseBeginBlock. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseBeginBlock); - - /** ResponseBeginBlock events. */ - public events: abci.IEvent[]; - - /** - * Creates a new ResponseBeginBlock instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseBeginBlock instance - */ - public static create(properties?: abci.IResponseBeginBlock): abci.ResponseBeginBlock; - - /** - * Encodes the specified ResponseBeginBlock message. Does not implicitly {@link abci.ResponseBeginBlock.verify|verify} messages. - * @param message ResponseBeginBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseBeginBlock message, length delimited. Does not implicitly {@link abci.ResponseBeginBlock.verify|verify} messages. - * @param message ResponseBeginBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseBeginBlock message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseBeginBlock; - - /** - * Decodes a ResponseBeginBlock message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseBeginBlock; - - /** - * Verifies a ResponseBeginBlock message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseBeginBlock message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseBeginBlock - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseBeginBlock; - - /** - * Creates a plain object from a ResponseBeginBlock message. Also converts values to other types if specified. - * @param message ResponseBeginBlock - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseBeginBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseBeginBlock to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ResponseCheckTx. */ - interface IResponseCheckTx { - - /** ResponseCheckTx code */ - code?: (number|null); - - /** ResponseCheckTx data */ - data?: (Uint8Array|null); - - /** ResponseCheckTx log */ - log?: (string|null); - - /** ResponseCheckTx info */ - info?: (string|null); - - /** ResponseCheckTx gasWanted */ - gasWanted?: (number|Long|null); - - /** ResponseCheckTx gasUsed */ - gasUsed?: (number|Long|null); - - /** ResponseCheckTx events */ - events?: (abci.IEvent[]|null); - - /** ResponseCheckTx codespace */ - codespace?: (string|null); - } - - /** Represents a ResponseCheckTx. */ - class ResponseCheckTx implements IResponseCheckTx { - - /** - * Constructs a new ResponseCheckTx. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseCheckTx); - - /** ResponseCheckTx code. */ - public code: number; - - /** ResponseCheckTx data. */ - public data: Uint8Array; - - /** ResponseCheckTx log. */ - public log: string; - - /** ResponseCheckTx info. */ - public info: string; - - /** ResponseCheckTx gasWanted. */ - public gasWanted: (number|Long); - - /** ResponseCheckTx gasUsed. */ - public gasUsed: (number|Long); - - /** ResponseCheckTx events. */ - public events: abci.IEvent[]; - - /** ResponseCheckTx codespace. */ - public codespace: string; - - /** - * Creates a new ResponseCheckTx instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseCheckTx instance - */ - public static create(properties?: abci.IResponseCheckTx): abci.ResponseCheckTx; - - /** - * Encodes the specified ResponseCheckTx message. Does not implicitly {@link abci.ResponseCheckTx.verify|verify} messages. - * @param message ResponseCheckTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseCheckTx message, length delimited. Does not implicitly {@link abci.ResponseCheckTx.verify|verify} messages. - * @param message ResponseCheckTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseCheckTx message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseCheckTx; - - /** - * Decodes a ResponseCheckTx message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseCheckTx; - - /** - * Verifies a ResponseCheckTx message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseCheckTx message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseCheckTx - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseCheckTx; - - /** - * Creates a plain object from a ResponseCheckTx message. Also converts values to other types if specified. - * @param message ResponseCheckTx - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseCheckTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseCheckTx to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ResponseDeliverTx. */ - interface IResponseDeliverTx { - - /** ResponseDeliverTx code */ - code?: (number|null); - - /** ResponseDeliverTx data */ - data?: (Uint8Array|null); - - /** ResponseDeliverTx log */ - log?: (string|null); - - /** ResponseDeliverTx info */ - info?: (string|null); - - /** ResponseDeliverTx gasWanted */ - gasWanted?: (number|Long|null); - - /** ResponseDeliverTx gasUsed */ - gasUsed?: (number|Long|null); - - /** ResponseDeliverTx events */ - events?: (abci.IEvent[]|null); - - /** ResponseDeliverTx codespace */ - codespace?: (string|null); - } - - /** Represents a ResponseDeliverTx. */ - class ResponseDeliverTx implements IResponseDeliverTx { - - /** - * Constructs a new ResponseDeliverTx. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseDeliverTx); - - /** ResponseDeliverTx code. */ - public code: number; - - /** ResponseDeliverTx data. */ - public data: Uint8Array; - - /** ResponseDeliverTx log. */ - public log: string; - - /** ResponseDeliverTx info. */ - public info: string; - - /** ResponseDeliverTx gasWanted. */ - public gasWanted: (number|Long); - - /** ResponseDeliverTx gasUsed. */ - public gasUsed: (number|Long); - - /** ResponseDeliverTx events. */ - public events: abci.IEvent[]; - - /** ResponseDeliverTx codespace. */ - public codespace: string; - - /** - * Creates a new ResponseDeliverTx instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseDeliverTx instance - */ - public static create(properties?: abci.IResponseDeliverTx): abci.ResponseDeliverTx; - - /** - * Encodes the specified ResponseDeliverTx message. Does not implicitly {@link abci.ResponseDeliverTx.verify|verify} messages. - * @param message ResponseDeliverTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseDeliverTx message, length delimited. Does not implicitly {@link abci.ResponseDeliverTx.verify|verify} messages. - * @param message ResponseDeliverTx message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseDeliverTx message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseDeliverTx; - - /** - * Decodes a ResponseDeliverTx message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseDeliverTx; - - /** - * Verifies a ResponseDeliverTx message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseDeliverTx message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseDeliverTx - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseDeliverTx; - - /** - * Creates a plain object from a ResponseDeliverTx message. Also converts values to other types if specified. - * @param message ResponseDeliverTx - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseDeliverTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseDeliverTx to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ResponseEndBlock. */ - interface IResponseEndBlock { - - /** ResponseEndBlock validatorUpdates */ - validatorUpdates?: (abci.IValidatorUpdate[]|null); - - /** ResponseEndBlock consensusParamUpdates */ - consensusParamUpdates?: (abci.IConsensusParams|null); - - /** ResponseEndBlock events */ - events?: (abci.IEvent[]|null); - } - - /** Represents a ResponseEndBlock. */ - class ResponseEndBlock implements IResponseEndBlock { - - /** - * Constructs a new ResponseEndBlock. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseEndBlock); - - /** ResponseEndBlock validatorUpdates. */ - public validatorUpdates: abci.IValidatorUpdate[]; - - /** ResponseEndBlock consensusParamUpdates. */ - public consensusParamUpdates?: (abci.IConsensusParams|null); - - /** ResponseEndBlock events. */ - public events: abci.IEvent[]; - - /** - * Creates a new ResponseEndBlock instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseEndBlock instance - */ - public static create(properties?: abci.IResponseEndBlock): abci.ResponseEndBlock; - - /** - * Encodes the specified ResponseEndBlock message. Does not implicitly {@link abci.ResponseEndBlock.verify|verify} messages. - * @param message ResponseEndBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseEndBlock message, length delimited. Does not implicitly {@link abci.ResponseEndBlock.verify|verify} messages. - * @param message ResponseEndBlock message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseEndBlock message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseEndBlock; - - /** - * Decodes a ResponseEndBlock message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseEndBlock; - - /** - * Verifies a ResponseEndBlock message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseEndBlock message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseEndBlock - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseEndBlock; - - /** - * Creates a plain object from a ResponseEndBlock message. Also converts values to other types if specified. - * @param message ResponseEndBlock - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseEndBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseEndBlock to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ResponseCommit. */ - interface IResponseCommit { - - /** ResponseCommit data */ - data?: (Uint8Array|null); - - /** ResponseCommit retainHeight */ - retainHeight?: (number|Long|null); - } - - /** Represents a ResponseCommit. */ - class ResponseCommit implements IResponseCommit { - - /** - * Constructs a new ResponseCommit. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IResponseCommit); - - /** ResponseCommit data. */ - public data: Uint8Array; - - /** ResponseCommit retainHeight. */ - public retainHeight: (number|Long); - - /** - * Creates a new ResponseCommit instance using the specified properties. - * @param [properties] Properties to set - * @returns ResponseCommit instance - */ - public static create(properties?: abci.IResponseCommit): abci.ResponseCommit; - - /** - * Encodes the specified ResponseCommit message. Does not implicitly {@link abci.ResponseCommit.verify|verify} messages. - * @param message ResponseCommit message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IResponseCommit, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResponseCommit message, length delimited. Does not implicitly {@link abci.ResponseCommit.verify|verify} messages. - * @param message ResponseCommit message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IResponseCommit, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResponseCommit message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResponseCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ResponseCommit; - - /** - * Decodes a ResponseCommit message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResponseCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ResponseCommit; - - /** - * Verifies a ResponseCommit message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResponseCommit message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResponseCommit - */ - public static fromObject(object: { [k: string]: any }): abci.ResponseCommit; - - /** - * Creates a plain object from a ResponseCommit message. Also converts values to other types if specified. - * @param message ResponseCommit - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ResponseCommit, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResponseCommit to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ConsensusParams. */ - interface IConsensusParams { - - /** ConsensusParams block */ - block?: (abci.IBlockParams|null); - - /** ConsensusParams evidence */ - evidence?: (abci.IEvidenceParams|null); - - /** ConsensusParams validator */ - validator?: (abci.IValidatorParams|null); - } - - /** Represents a ConsensusParams. */ - class ConsensusParams implements IConsensusParams { - - /** - * Constructs a new ConsensusParams. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IConsensusParams); - - /** ConsensusParams block. */ - public block?: (abci.IBlockParams|null); - - /** ConsensusParams evidence. */ - public evidence?: (abci.IEvidenceParams|null); - - /** ConsensusParams validator. */ - public validator?: (abci.IValidatorParams|null); - - /** - * Creates a new ConsensusParams instance using the specified properties. - * @param [properties] Properties to set - * @returns ConsensusParams instance - */ - public static create(properties?: abci.IConsensusParams): abci.ConsensusParams; - - /** - * Encodes the specified ConsensusParams message. Does not implicitly {@link abci.ConsensusParams.verify|verify} messages. - * @param message ConsensusParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IConsensusParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link abci.ConsensusParams.verify|verify} messages. - * @param message ConsensusParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IConsensusParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ConsensusParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ConsensusParams; - - /** - * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ConsensusParams; - - /** - * Verifies a ConsensusParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ConsensusParams - */ - public static fromObject(object: { [k: string]: any }): abci.ConsensusParams; - - /** - * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. - * @param message ConsensusParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ConsensusParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ConsensusParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BlockParams. */ - interface IBlockParams { - - /** BlockParams maxBytes */ - maxBytes?: (number|Long|null); - - /** BlockParams maxGas */ - maxGas?: (number|Long|null); - } - - /** Represents a BlockParams. */ - class BlockParams implements IBlockParams { - - /** - * Constructs a new BlockParams. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IBlockParams); - - /** BlockParams maxBytes. */ - public maxBytes: (number|Long); - - /** BlockParams maxGas. */ - public maxGas: (number|Long); - - /** - * Creates a new BlockParams instance using the specified properties. - * @param [properties] Properties to set - * @returns BlockParams instance - */ - public static create(properties?: abci.IBlockParams): abci.BlockParams; - - /** - * Encodes the specified BlockParams message. Does not implicitly {@link abci.BlockParams.verify|verify} messages. - * @param message BlockParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IBlockParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link abci.BlockParams.verify|verify} messages. - * @param message BlockParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IBlockParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BlockParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.BlockParams; - - /** - * Decodes a BlockParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.BlockParams; - - /** - * Verifies a BlockParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BlockParams - */ - public static fromObject(object: { [k: string]: any }): abci.BlockParams; - - /** - * Creates a plain object from a BlockParams message. Also converts values to other types if specified. - * @param message BlockParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.BlockParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BlockParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an EvidenceParams. */ - interface IEvidenceParams { - - /** EvidenceParams maxAgeNumBlocks */ - maxAgeNumBlocks?: (number|Long|null); - - /** EvidenceParams maxAgeDuration */ - maxAgeDuration?: (google.protobuf.IDuration|null); - } - - /** Represents an EvidenceParams. */ - class EvidenceParams implements IEvidenceParams { - - /** - * Constructs a new EvidenceParams. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IEvidenceParams); - - /** EvidenceParams maxAgeNumBlocks. */ - public maxAgeNumBlocks: (number|Long); - - /** EvidenceParams maxAgeDuration. */ - public maxAgeDuration?: (google.protobuf.IDuration|null); - - /** - * Creates a new EvidenceParams instance using the specified properties. - * @param [properties] Properties to set - * @returns EvidenceParams instance - */ - public static create(properties?: abci.IEvidenceParams): abci.EvidenceParams; - - /** - * Encodes the specified EvidenceParams message. Does not implicitly {@link abci.EvidenceParams.verify|verify} messages. - * @param message EvidenceParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IEvidenceParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EvidenceParams message, length delimited. Does not implicitly {@link abci.EvidenceParams.verify|verify} messages. - * @param message EvidenceParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IEvidenceParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EvidenceParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EvidenceParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.EvidenceParams; - - /** - * Decodes an EvidenceParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EvidenceParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.EvidenceParams; - - /** - * Verifies an EvidenceParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EvidenceParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EvidenceParams - */ - public static fromObject(object: { [k: string]: any }): abci.EvidenceParams; - - /** - * Creates a plain object from an EvidenceParams message. Also converts values to other types if specified. - * @param message EvidenceParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.EvidenceParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EvidenceParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestInitChain chainId */ + chainId?: (string|null); - /** Properties of a ValidatorParams. */ - interface IValidatorParams { + /** RequestInitChain consensusParams */ + consensusParams?: (tendermint.abci.IConsensusParams|null); - /** ValidatorParams pubKeyTypes */ - pubKeyTypes?: (string[]|null); - } - - /** Represents a ValidatorParams. */ - class ValidatorParams implements IValidatorParams { - - /** - * Constructs a new ValidatorParams. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IValidatorParams); - - /** ValidatorParams pubKeyTypes. */ - public pubKeyTypes: string[]; - - /** - * Creates a new ValidatorParams instance using the specified properties. - * @param [properties] Properties to set - * @returns ValidatorParams instance - */ - public static create(properties?: abci.IValidatorParams): abci.ValidatorParams; - - /** - * Encodes the specified ValidatorParams message. Does not implicitly {@link abci.ValidatorParams.verify|verify} messages. - * @param message ValidatorParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IValidatorParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ValidatorParams message, length delimited. Does not implicitly {@link abci.ValidatorParams.verify|verify} messages. - * @param message ValidatorParams message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IValidatorParams, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ValidatorParams message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ValidatorParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ValidatorParams; - - /** - * Decodes a ValidatorParams message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ValidatorParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ValidatorParams; - - /** - * Verifies a ValidatorParams message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ValidatorParams message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ValidatorParams - */ - public static fromObject(object: { [k: string]: any }): abci.ValidatorParams; - - /** - * Creates a plain object from a ValidatorParams message. Also converts values to other types if specified. - * @param message ValidatorParams - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ValidatorParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ValidatorParams to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a LastCommitInfo. */ - interface ILastCommitInfo { - - /** LastCommitInfo round */ - round?: (number|null); - - /** LastCommitInfo votes */ - votes?: (abci.IVoteInfo[]|null); - } - - /** Represents a LastCommitInfo. */ - class LastCommitInfo implements ILastCommitInfo { - - /** - * Constructs a new LastCommitInfo. - * @param [properties] Properties to set - */ - constructor(properties?: abci.ILastCommitInfo); - - /** LastCommitInfo round. */ - public round: number; - - /** LastCommitInfo votes. */ - public votes: abci.IVoteInfo[]; - - /** - * Creates a new LastCommitInfo instance using the specified properties. - * @param [properties] Properties to set - * @returns LastCommitInfo instance - */ - public static create(properties?: abci.ILastCommitInfo): abci.LastCommitInfo; - - /** - * Encodes the specified LastCommitInfo message. Does not implicitly {@link abci.LastCommitInfo.verify|verify} messages. - * @param message LastCommitInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.ILastCommitInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified LastCommitInfo message, length delimited. Does not implicitly {@link abci.LastCommitInfo.verify|verify} messages. - * @param message LastCommitInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.ILastCommitInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a LastCommitInfo message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns LastCommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.LastCommitInfo; - - /** - * Decodes a LastCommitInfo message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns LastCommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.LastCommitInfo; - - /** - * Verifies a LastCommitInfo message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a LastCommitInfo message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns LastCommitInfo - */ - public static fromObject(object: { [k: string]: any }): abci.LastCommitInfo; - - /** - * Creates a plain object from a LastCommitInfo message. Also converts values to other types if specified. - * @param message LastCommitInfo - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.LastCommitInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this LastCommitInfo to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an Event. */ - interface IEvent { - - /** Event type */ - type?: (string|null); - - /** Event attributes */ - attributes?: (tendermint.libs.kv.IPair[]|null); - } - - /** Represents an Event. */ - class Event implements IEvent { - - /** - * Constructs a new Event. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IEvent); - - /** Event type. */ - public type: string; - - /** Event attributes. */ - public attributes: tendermint.libs.kv.IPair[]; - - /** - * Creates a new Event instance using the specified properties. - * @param [properties] Properties to set - * @returns Event instance - */ - public static create(properties?: abci.IEvent): abci.Event; - - /** - * Encodes the specified Event message. Does not implicitly {@link abci.Event.verify|verify} messages. - * @param message Event message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IEvent, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Event message, length delimited. Does not implicitly {@link abci.Event.verify|verify} messages. - * @param message Event message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IEvent, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Event message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Event - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Event; - - /** - * Decodes an Event message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Event - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Event; - - /** - * Verifies an Event message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Event message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Event - */ - public static fromObject(object: { [k: string]: any }): abci.Event; - - /** - * Creates a plain object from an Event message. Also converts values to other types if specified. - * @param message Event - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Event, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Event to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Header. */ - interface IHeader { + /** RequestInitChain validators */ + validators?: (tendermint.abci.IValidatorUpdate[]|null); - /** Header version */ - version?: (abci.IVersion|null); + /** RequestInitChain appStateBytes */ + appStateBytes?: (Uint8Array|null); - /** Header chainId */ - chainId?: (string|null); - - /** Header height */ - height?: (number|Long|null); - - /** Header time */ - time?: (google.protobuf.ITimestamp|null); - - /** Header lastBlockId */ - lastBlockId?: (abci.IBlockID|null); - - /** Header lastCommitHash */ - lastCommitHash?: (Uint8Array|null); - - /** Header dataHash */ - dataHash?: (Uint8Array|null); - - /** Header validatorsHash */ - validatorsHash?: (Uint8Array|null); - - /** Header nextValidatorsHash */ - nextValidatorsHash?: (Uint8Array|null); - - /** Header consensusHash */ - consensusHash?: (Uint8Array|null); - - /** Header appHash */ - appHash?: (Uint8Array|null); - - /** Header lastResultsHash */ - lastResultsHash?: (Uint8Array|null); - - /** Header evidenceHash */ - evidenceHash?: (Uint8Array|null); - - /** Header proposerAddress */ - proposerAddress?: (Uint8Array|null); - } + /** RequestInitChain initialHeight */ + initialHeight?: (number|Long|null); + } - /** Represents a Header. */ - class Header implements IHeader { - - /** - * Constructs a new Header. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IHeader); - - /** Header version. */ - public version?: (abci.IVersion|null); - - /** Header chainId. */ - public chainId: string; - - /** Header height. */ - public height: (number|Long); - - /** Header time. */ - public time?: (google.protobuf.ITimestamp|null); - - /** Header lastBlockId. */ - public lastBlockId?: (abci.IBlockID|null); - - /** Header lastCommitHash. */ - public lastCommitHash: Uint8Array; - - /** Header dataHash. */ - public dataHash: Uint8Array; - - /** Header validatorsHash. */ - public validatorsHash: Uint8Array; - - /** Header nextValidatorsHash. */ - public nextValidatorsHash: Uint8Array; - - /** Header consensusHash. */ - public consensusHash: Uint8Array; - - /** Header appHash. */ - public appHash: Uint8Array; - - /** Header lastResultsHash. */ - public lastResultsHash: Uint8Array; - - /** Header evidenceHash. */ - public evidenceHash: Uint8Array; - - /** Header proposerAddress. */ - public proposerAddress: Uint8Array; - - /** - * Creates a new Header instance using the specified properties. - * @param [properties] Properties to set - * @returns Header instance - */ - public static create(properties?: abci.IHeader): abci.Header; - - /** - * Encodes the specified Header message. Does not implicitly {@link abci.Header.verify|verify} messages. - * @param message Header message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IHeader, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Header message, length delimited. Does not implicitly {@link abci.Header.verify|verify} messages. - * @param message Header message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IHeader, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Header message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Header - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Header; - - /** - * Decodes a Header message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Header - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Header; - - /** - * Verifies a Header message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Header message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Header - */ - public static fromObject(object: { [k: string]: any }): abci.Header; - - /** - * Creates a plain object from a Header message. Also converts values to other types if specified. - * @param message Header - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Header, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Header to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** Represents a RequestInitChain. */ + class RequestInitChain implements IRequestInitChain { - /** Properties of a Version. */ - interface IVersion { + /** + * Constructs a new RequestInitChain. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestInitChain); - /** Version Block */ - Block?: (number|Long|null); + /** RequestInitChain time. */ + public time?: (google.protobuf.ITimestamp|null); - /** Version App */ - App?: (number|Long|null); - } + /** RequestInitChain chainId. */ + public chainId: string; - /** Represents a Version. */ - class Version implements IVersion { - - /** - * Constructs a new Version. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IVersion); - - /** Version Block. */ - public Block: (number|Long); - - /** Version App. */ - public App: (number|Long); - - /** - * Creates a new Version instance using the specified properties. - * @param [properties] Properties to set - * @returns Version instance - */ - public static create(properties?: abci.IVersion): abci.Version; - - /** - * Encodes the specified Version message. Does not implicitly {@link abci.Version.verify|verify} messages. - * @param message Version message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IVersion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Version message, length delimited. Does not implicitly {@link abci.Version.verify|verify} messages. - * @param message Version message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IVersion, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Version message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Version; - - /** - * Decodes a Version message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Version; - - /** - * Verifies a Version message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Version message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Version - */ - public static fromObject(object: { [k: string]: any }): abci.Version; - - /** - * Creates a plain object from a Version message. Also converts values to other types if specified. - * @param message Version - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Version, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Version to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestInitChain consensusParams. */ + public consensusParams?: (tendermint.abci.IConsensusParams|null); - /** Properties of a BlockID. */ - interface IBlockID { + /** RequestInitChain validators. */ + public validators: tendermint.abci.IValidatorUpdate[]; - /** BlockID hash */ - hash?: (Uint8Array|null); + /** RequestInitChain appStateBytes. */ + public appStateBytes: Uint8Array; - /** BlockID partsHeader */ - partsHeader?: (abci.IPartSetHeader|null); - } + /** RequestInitChain initialHeight. */ + public initialHeight: (number|Long); - /** Represents a BlockID. */ - class BlockID implements IBlockID { - - /** - * Constructs a new BlockID. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IBlockID); - - /** BlockID hash. */ - public hash: Uint8Array; - - /** BlockID partsHeader. */ - public partsHeader?: (abci.IPartSetHeader|null); - - /** - * Creates a new BlockID instance using the specified properties. - * @param [properties] Properties to set - * @returns BlockID instance - */ - public static create(properties?: abci.IBlockID): abci.BlockID; - - /** - * Encodes the specified BlockID message. Does not implicitly {@link abci.BlockID.verify|verify} messages. - * @param message BlockID message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IBlockID, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BlockID message, length delimited. Does not implicitly {@link abci.BlockID.verify|verify} messages. - * @param message BlockID message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IBlockID, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BlockID message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BlockID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.BlockID; - - /** - * Decodes a BlockID message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BlockID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.BlockID; - - /** - * Verifies a BlockID message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BlockID message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BlockID - */ - public static fromObject(object: { [k: string]: any }): abci.BlockID; - - /** - * Creates a plain object from a BlockID message. Also converts values to other types if specified. - * @param message BlockID - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.BlockID, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BlockID to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Creates a new RequestInitChain instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestInitChain instance + */ + public static create(properties?: tendermint.abci.IRequestInitChain): tendermint.abci.RequestInitChain; - /** Properties of a PartSetHeader. */ - interface IPartSetHeader { + /** + * Encodes the specified RequestInitChain message. Does not implicitly {@link tendermint.abci.RequestInitChain.verify|verify} messages. + * @param message RequestInitChain message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - /** PartSetHeader total */ - total?: (number|null); + /** + * Encodes the specified RequestInitChain message, length delimited. Does not implicitly {@link tendermint.abci.RequestInitChain.verify|verify} messages. + * @param message RequestInitChain message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - /** PartSetHeader hash */ - hash?: (Uint8Array|null); - } + /** + * Decodes a RequestInitChain message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestInitChain; - /** Represents a PartSetHeader. */ - class PartSetHeader implements IPartSetHeader { - - /** - * Constructs a new PartSetHeader. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IPartSetHeader); - - /** PartSetHeader total. */ - public total: number; - - /** PartSetHeader hash. */ - public hash: Uint8Array; - - /** - * Creates a new PartSetHeader instance using the specified properties. - * @param [properties] Properties to set - * @returns PartSetHeader instance - */ - public static create(properties?: abci.IPartSetHeader): abci.PartSetHeader; - - /** - * Encodes the specified PartSetHeader message. Does not implicitly {@link abci.PartSetHeader.verify|verify} messages. - * @param message PartSetHeader message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IPartSetHeader, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified PartSetHeader message, length delimited. Does not implicitly {@link abci.PartSetHeader.verify|verify} messages. - * @param message PartSetHeader message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IPartSetHeader, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a PartSetHeader message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns PartSetHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.PartSetHeader; - - /** - * Decodes a PartSetHeader message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns PartSetHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.PartSetHeader; - - /** - * Verifies a PartSetHeader message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a PartSetHeader message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns PartSetHeader - */ - public static fromObject(object: { [k: string]: any }): abci.PartSetHeader; - - /** - * Creates a plain object from a PartSetHeader message. Also converts values to other types if specified. - * @param message PartSetHeader - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.PartSetHeader, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this PartSetHeader to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Decodes a RequestInitChain message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestInitChain; - /** Properties of a Validator. */ - interface IValidator { + /** + * Verifies a RequestInitChain message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** Validator address */ - address?: (Uint8Array|null); + /** + * Creates a RequestInitChain message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestInitChain + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestInitChain; - /** Validator power */ - power?: (number|Long|null); - } + /** + * Creates a plain object from a RequestInitChain message. Also converts values to other types if specified. + * @param message RequestInitChain + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestInitChain, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** Represents a Validator. */ - class Validator implements IValidator { - - /** - * Constructs a new Validator. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IValidator); - - /** Validator address. */ - public address: Uint8Array; - - /** Validator power. */ - public power: (number|Long); - - /** - * Creates a new Validator instance using the specified properties. - * @param [properties] Properties to set - * @returns Validator instance - */ - public static create(properties?: abci.IValidator): abci.Validator; - - /** - * Encodes the specified Validator message. Does not implicitly {@link abci.Validator.verify|verify} messages. - * @param message Validator message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IValidator, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Validator message, length delimited. Does not implicitly {@link abci.Validator.verify|verify} messages. - * @param message Validator message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IValidator, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Validator message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Validator; - - /** - * Decodes a Validator message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Validator; - - /** - * Verifies a Validator message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Validator message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Validator - */ - public static fromObject(object: { [k: string]: any }): abci.Validator; - - /** - * Creates a plain object from a Validator message. Also converts values to other types if specified. - * @param message Validator - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Validator, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Validator to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Converts this RequestInitChain to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** Properties of a ValidatorUpdate. */ - interface IValidatorUpdate { + /** Properties of a RequestQuery. */ + interface IRequestQuery { - /** ValidatorUpdate pubKey */ - pubKey?: (abci.IPubKey|null); + /** RequestQuery data */ + data?: (Uint8Array|null); - /** ValidatorUpdate power */ - power?: (number|Long|null); - } + /** RequestQuery path */ + path?: (string|null); - /** Represents a ValidatorUpdate. */ - class ValidatorUpdate implements IValidatorUpdate { - - /** - * Constructs a new ValidatorUpdate. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IValidatorUpdate); - - /** ValidatorUpdate pubKey. */ - public pubKey?: (abci.IPubKey|null); - - /** ValidatorUpdate power. */ - public power: (number|Long); - - /** - * Creates a new ValidatorUpdate instance using the specified properties. - * @param [properties] Properties to set - * @returns ValidatorUpdate instance - */ - public static create(properties?: abci.IValidatorUpdate): abci.ValidatorUpdate; - - /** - * Encodes the specified ValidatorUpdate message. Does not implicitly {@link abci.ValidatorUpdate.verify|verify} messages. - * @param message ValidatorUpdate message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IValidatorUpdate, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ValidatorUpdate message, length delimited. Does not implicitly {@link abci.ValidatorUpdate.verify|verify} messages. - * @param message ValidatorUpdate message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IValidatorUpdate, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ValidatorUpdate message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ValidatorUpdate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.ValidatorUpdate; - - /** - * Decodes a ValidatorUpdate message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ValidatorUpdate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.ValidatorUpdate; - - /** - * Verifies a ValidatorUpdate message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ValidatorUpdate message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ValidatorUpdate - */ - public static fromObject(object: { [k: string]: any }): abci.ValidatorUpdate; - - /** - * Creates a plain object from a ValidatorUpdate message. Also converts values to other types if specified. - * @param message ValidatorUpdate - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.ValidatorUpdate, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ValidatorUpdate to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestQuery height */ + height?: (number|Long|null); - /** Properties of a VoteInfo. */ - interface IVoteInfo { + /** RequestQuery prove */ + prove?: (boolean|null); + } - /** VoteInfo validator */ - validator?: (abci.IValidator|null); + /** Represents a RequestQuery. */ + class RequestQuery implements IRequestQuery { - /** VoteInfo signedLastBlock */ - signedLastBlock?: (boolean|null); - } + /** + * Constructs a new RequestQuery. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestQuery); - /** Represents a VoteInfo. */ - class VoteInfo implements IVoteInfo { - - /** - * Constructs a new VoteInfo. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IVoteInfo); - - /** VoteInfo validator. */ - public validator?: (abci.IValidator|null); - - /** VoteInfo signedLastBlock. */ - public signedLastBlock: boolean; - - /** - * Creates a new VoteInfo instance using the specified properties. - * @param [properties] Properties to set - * @returns VoteInfo instance - */ - public static create(properties?: abci.IVoteInfo): abci.VoteInfo; - - /** - * Encodes the specified VoteInfo message. Does not implicitly {@link abci.VoteInfo.verify|verify} messages. - * @param message VoteInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IVoteInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified VoteInfo message, length delimited. Does not implicitly {@link abci.VoteInfo.verify|verify} messages. - * @param message VoteInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IVoteInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a VoteInfo message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns VoteInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.VoteInfo; - - /** - * Decodes a VoteInfo message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns VoteInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.VoteInfo; - - /** - * Verifies a VoteInfo message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a VoteInfo message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns VoteInfo - */ - public static fromObject(object: { [k: string]: any }): abci.VoteInfo; - - /** - * Creates a plain object from a VoteInfo message. Also converts values to other types if specified. - * @param message VoteInfo - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.VoteInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this VoteInfo to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** RequestQuery data. */ + public data: Uint8Array; - /** Properties of a PubKey. */ - interface IPubKey { + /** RequestQuery path. */ + public path: string; - /** PubKey type */ - type?: (string|null); + /** RequestQuery height. */ + public height: (number|Long); - /** PubKey data */ - data?: (Uint8Array|null); - } + /** RequestQuery prove. */ + public prove: boolean; - /** Represents a PubKey. */ - class PubKey implements IPubKey { - - /** - * Constructs a new PubKey. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IPubKey); - - /** PubKey type. */ - public type: string; - - /** PubKey data. */ - public data: Uint8Array; - - /** - * Creates a new PubKey instance using the specified properties. - * @param [properties] Properties to set - * @returns PubKey instance - */ - public static create(properties?: abci.IPubKey): abci.PubKey; - - /** - * Encodes the specified PubKey message. Does not implicitly {@link abci.PubKey.verify|verify} messages. - * @param message PubKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IPubKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified PubKey message, length delimited. Does not implicitly {@link abci.PubKey.verify|verify} messages. - * @param message PubKey message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IPubKey, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a PubKey message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.PubKey; - - /** - * Decodes a PubKey message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.PubKey; - - /** - * Verifies a PubKey message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a PubKey message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns PubKey - */ - public static fromObject(object: { [k: string]: any }): abci.PubKey; - - /** - * Creates a plain object from a PubKey message. Also converts values to other types if specified. - * @param message PubKey - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.PubKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this PubKey to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Creates a new RequestQuery instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestQuery instance + */ + public static create(properties?: tendermint.abci.IRequestQuery): tendermint.abci.RequestQuery; - /** Properties of an Evidence. */ - interface IEvidence { + /** + * Encodes the specified RequestQuery message. Does not implicitly {@link tendermint.abci.RequestQuery.verify|verify} messages. + * @param message RequestQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestQuery, writer?: $protobuf.Writer): $protobuf.Writer; - /** Evidence type */ - type?: (string|null); + /** + * Encodes the specified RequestQuery message, length delimited. Does not implicitly {@link tendermint.abci.RequestQuery.verify|verify} messages. + * @param message RequestQuery message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestQuery, writer?: $protobuf.Writer): $protobuf.Writer; - /** Evidence validator */ - validator?: (abci.IValidator|null); + /** + * Decodes a RequestQuery message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestQuery; - /** Evidence height */ - height?: (number|Long|null); + /** + * Decodes a RequestQuery message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestQuery; - /** Evidence time */ - time?: (google.protobuf.ITimestamp|null); + /** + * Verifies a RequestQuery message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** Evidence totalVotingPower */ - totalVotingPower?: (number|Long|null); - } + /** + * Creates a RequestQuery message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestQuery + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestQuery; - /** Represents an Evidence. */ - class Evidence implements IEvidence { - - /** - * Constructs a new Evidence. - * @param [properties] Properties to set - */ - constructor(properties?: abci.IEvidence); - - /** Evidence type. */ - public type: string; - - /** Evidence validator. */ - public validator?: (abci.IValidator|null); - - /** Evidence height. */ - public height: (number|Long); - - /** Evidence time. */ - public time?: (google.protobuf.ITimestamp|null); - - /** Evidence totalVotingPower. */ - public totalVotingPower: (number|Long); - - /** - * Creates a new Evidence instance using the specified properties. - * @param [properties] Properties to set - * @returns Evidence instance - */ - public static create(properties?: abci.IEvidence): abci.Evidence; - - /** - * Encodes the specified Evidence message. Does not implicitly {@link abci.Evidence.verify|verify} messages. - * @param message Evidence message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: abci.IEvidence, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Evidence message, length delimited. Does not implicitly {@link abci.Evidence.verify|verify} messages. - * @param message Evidence message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: abci.IEvidence, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Evidence message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): abci.Evidence; - - /** - * Decodes an Evidence message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): abci.Evidence; - - /** - * Verifies an Evidence message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Evidence message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Evidence - */ - public static fromObject(object: { [k: string]: any }): abci.Evidence; - - /** - * Creates a plain object from an Evidence message. Also converts values to other types if specified. - * @param message Evidence - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: abci.Evidence, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Evidence to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Creates a plain object from a RequestQuery message. Also converts values to other types if specified. + * @param message RequestQuery + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** Represents a ABCIApplication */ - class ABCIApplication extends $protobuf.rpc.Service { - - /** - * Constructs a new ABCIApplication service. - * @param rpcImpl RPC implementation - * @param [requestDelimited=false] Whether requests are length-delimited - * @param [responseDelimited=false] Whether responses are length-delimited - */ - constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); - - /** - * Creates new ABCIApplication service using the specified rpc implementation. - * @param rpcImpl RPC implementation - * @param [requestDelimited=false] Whether requests are length-delimited - * @param [responseDelimited=false] Whether responses are length-delimited - * @returns RPC service. Useful where requests and/or responses are streamed. - */ - public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ABCIApplication; - - /** - * Calls Echo. - * @param request RequestEcho message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseEcho - */ - public echo(request: abci.IRequestEcho, callback: abci.ABCIApplication.EchoCallback): void; - - /** - * Calls Echo. - * @param request RequestEcho message or plain object - * @returns Promise - */ - public echo(request: abci.IRequestEcho): Promise; - - /** - * Calls Flush. - * @param request RequestFlush message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseFlush - */ - public flush(request: abci.IRequestFlush, callback: abci.ABCIApplication.FlushCallback): void; - - /** - * Calls Flush. - * @param request RequestFlush message or plain object - * @returns Promise - */ - public flush(request: abci.IRequestFlush): Promise; - - /** - * Calls Info. - * @param request RequestInfo message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseInfo - */ - public info(request: abci.IRequestInfo, callback: abci.ABCIApplication.InfoCallback): void; - - /** - * Calls Info. - * @param request RequestInfo message or plain object - * @returns Promise - */ - public info(request: abci.IRequestInfo): Promise; - - /** - * Calls SetOption. - * @param request RequestSetOption message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseSetOption - */ - public setOption(request: abci.IRequestSetOption, callback: abci.ABCIApplication.SetOptionCallback): void; - - /** - * Calls SetOption. - * @param request RequestSetOption message or plain object - * @returns Promise - */ - public setOption(request: abci.IRequestSetOption): Promise; - - /** - * Calls DeliverTx. - * @param request RequestDeliverTx message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseDeliverTx - */ - public deliverTx(request: abci.IRequestDeliverTx, callback: abci.ABCIApplication.DeliverTxCallback): void; - - /** - * Calls DeliverTx. - * @param request RequestDeliverTx message or plain object - * @returns Promise - */ - public deliverTx(request: abci.IRequestDeliverTx): Promise; - - /** - * Calls CheckTx. - * @param request RequestCheckTx message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseCheckTx - */ - public checkTx(request: abci.IRequestCheckTx, callback: abci.ABCIApplication.CheckTxCallback): void; - - /** - * Calls CheckTx. - * @param request RequestCheckTx message or plain object - * @returns Promise - */ - public checkTx(request: abci.IRequestCheckTx): Promise; - - /** - * Calls Query. - * @param request RequestQuery message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseQuery - */ - public query(request: abci.IRequestQuery, callback: abci.ABCIApplication.QueryCallback): void; - - /** - * Calls Query. - * @param request RequestQuery message or plain object - * @returns Promise - */ - public query(request: abci.IRequestQuery): Promise; - - /** - * Calls Commit. - * @param request RequestCommit message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseCommit - */ - public commit(request: abci.IRequestCommit, callback: abci.ABCIApplication.CommitCallback): void; - - /** - * Calls Commit. - * @param request RequestCommit message or plain object - * @returns Promise - */ - public commit(request: abci.IRequestCommit): Promise; - - /** - * Calls InitChain. - * @param request RequestInitChain message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseInitChain - */ - public initChain(request: abci.IRequestInitChain, callback: abci.ABCIApplication.InitChainCallback): void; - - /** - * Calls InitChain. - * @param request RequestInitChain message or plain object - * @returns Promise - */ - public initChain(request: abci.IRequestInitChain): Promise; - - /** - * Calls BeginBlock. - * @param request RequestBeginBlock message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseBeginBlock - */ - public beginBlock(request: abci.IRequestBeginBlock, callback: abci.ABCIApplication.BeginBlockCallback): void; - - /** - * Calls BeginBlock. - * @param request RequestBeginBlock message or plain object - * @returns Promise - */ - public beginBlock(request: abci.IRequestBeginBlock): Promise; - - /** - * Calls EndBlock. - * @param request RequestEndBlock message or plain object - * @param callback Node-style callback called with the error, if any, and ResponseEndBlock - */ - public endBlock(request: abci.IRequestEndBlock, callback: abci.ABCIApplication.EndBlockCallback): void; - - /** - * Calls EndBlock. - * @param request RequestEndBlock message or plain object - * @returns Promise - */ - public endBlock(request: abci.IRequestEndBlock): Promise; - } + /** + * Converts this RequestQuery to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - namespace ABCIApplication { - - /** - * Callback as used by {@link abci.ABCIApplication#echo}. - * @param error Error, if any - * @param [response] ResponseEcho - */ - type EchoCallback = (error: (Error|null), response?: abci.ResponseEcho) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#flush}. - * @param error Error, if any - * @param [response] ResponseFlush - */ - type FlushCallback = (error: (Error|null), response?: abci.ResponseFlush) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#info}. - * @param error Error, if any - * @param [response] ResponseInfo - */ - type InfoCallback = (error: (Error|null), response?: abci.ResponseInfo) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#setOption}. - * @param error Error, if any - * @param [response] ResponseSetOption - */ - type SetOptionCallback = (error: (Error|null), response?: abci.ResponseSetOption) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#deliverTx}. - * @param error Error, if any - * @param [response] ResponseDeliverTx - */ - type DeliverTxCallback = (error: (Error|null), response?: abci.ResponseDeliverTx) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#checkTx}. - * @param error Error, if any - * @param [response] ResponseCheckTx - */ - type CheckTxCallback = (error: (Error|null), response?: abci.ResponseCheckTx) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#query}. - * @param error Error, if any - * @param [response] ResponseQuery - */ - type QueryCallback = (error: (Error|null), response?: abci.ResponseQuery) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#commit}. - * @param error Error, if any - * @param [response] ResponseCommit - */ - type CommitCallback = (error: (Error|null), response?: abci.ResponseCommit) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#initChain}. - * @param error Error, if any - * @param [response] ResponseInitChain - */ - type InitChainCallback = (error: (Error|null), response?: abci.ResponseInitChain) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#beginBlock}. - * @param error Error, if any - * @param [response] ResponseBeginBlock - */ - type BeginBlockCallback = (error: (Error|null), response?: abci.ResponseBeginBlock) => void; - - /** - * Callback as used by {@link abci.ABCIApplication#endBlock}. - * @param error Error, if any - * @param [response] ResponseEndBlock - */ - type EndBlockCallback = (error: (Error|null), response?: abci.ResponseEndBlock) => void; - } -} + /** Properties of a RequestBeginBlock. */ + interface IRequestBeginBlock { -/** Namespace google. */ -export namespace google { + /** RequestBeginBlock hash */ + hash?: (Uint8Array|null); - /** Namespace protobuf. */ - namespace protobuf { + /** RequestBeginBlock header */ + header?: (tendermint.types.IHeader|null); - /** Properties of a FileDescriptorSet. */ - interface IFileDescriptorSet { + /** RequestBeginBlock lastCommitInfo */ + lastCommitInfo?: (tendermint.abci.ILastCommitInfo|null); - /** FileDescriptorSet file */ - file?: (google.protobuf.IFileDescriptorProto[]|null); + /** RequestBeginBlock byzantineValidators */ + byzantineValidators?: (tendermint.abci.IEvidence[]|null); } - /** Represents a FileDescriptorSet. */ - class FileDescriptorSet implements IFileDescriptorSet { + /** Represents a RequestBeginBlock. */ + class RequestBeginBlock implements IRequestBeginBlock { /** - * Constructs a new FileDescriptorSet. + * Constructs a new RequestBeginBlock. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IFileDescriptorSet); + constructor(properties?: tendermint.abci.IRequestBeginBlock); - /** FileDescriptorSet file. */ - public file: google.protobuf.IFileDescriptorProto[]; + /** RequestBeginBlock hash. */ + public hash: Uint8Array; + + /** RequestBeginBlock header. */ + public header?: (tendermint.types.IHeader|null); + + /** RequestBeginBlock lastCommitInfo. */ + public lastCommitInfo?: (tendermint.abci.ILastCommitInfo|null); + + /** RequestBeginBlock byzantineValidators. */ + public byzantineValidators: tendermint.abci.IEvidence[]; /** - * Creates a new FileDescriptorSet instance using the specified properties. + * Creates a new RequestBeginBlock instance using the specified properties. * @param [properties] Properties to set - * @returns FileDescriptorSet instance + * @returns RequestBeginBlock instance */ - public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; + public static create(properties?: tendermint.abci.IRequestBeginBlock): tendermint.abci.RequestBeginBlock; /** - * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @param message FileDescriptorSet message or plain object to encode + * Encodes the specified RequestBeginBlock message. Does not implicitly {@link tendermint.abci.RequestBeginBlock.verify|verify} messages. + * @param message RequestBeginBlock message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IRequestBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @param message FileDescriptorSet message or plain object to encode + * Encodes the specified RequestBeginBlock message, length delimited. Does not implicitly {@link tendermint.abci.RequestBeginBlock.verify|verify} messages. + * @param message RequestBeginBlock message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IRequestBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FileDescriptorSet message from the specified reader or buffer. + * Decodes a RequestBeginBlock message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FileDescriptorSet + * @returns RequestBeginBlock * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestBeginBlock; /** - * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * Decodes a RequestBeginBlock message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FileDescriptorSet + * @returns RequestBeginBlock * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestBeginBlock; /** - * Verifies a FileDescriptorSet message. + * Verifies a RequestBeginBlock message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * Creates a RequestBeginBlock message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FileDescriptorSet + * @returns RequestBeginBlock */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestBeginBlock; /** - * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. - * @param message FileDescriptorSet + * Creates a plain object from a RequestBeginBlock message. Also converts values to other types if specified. + * @param message RequestBeginBlock * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.RequestBeginBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FileDescriptorSet to JSON. + * Converts this RequestBeginBlock to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a FileDescriptorProto. */ - interface IFileDescriptorProto { + /** CheckTxType enum. */ + enum CheckTxType { + NEW = 0, + RECHECK = 1 + } - /** FileDescriptorProto name */ - name?: (string|null); + /** Properties of a RequestCheckTx. */ + interface IRequestCheckTx { - /** FileDescriptorProto package */ - "package"?: (string|null); + /** RequestCheckTx tx */ + tx?: (Uint8Array|null); - /** FileDescriptorProto dependency */ - dependency?: (string[]|null); + /** RequestCheckTx type */ + type?: (tendermint.abci.CheckTxType|null); + } - /** FileDescriptorProto publicDependency */ - publicDependency?: (number[]|null); + /** Represents a RequestCheckTx. */ + class RequestCheckTx implements IRequestCheckTx { - /** FileDescriptorProto weakDependency */ - weakDependency?: (number[]|null); + /** + * Constructs a new RequestCheckTx. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestCheckTx); - /** FileDescriptorProto messageType */ - messageType?: (google.protobuf.IDescriptorProto[]|null); - - /** FileDescriptorProto enumType */ - enumType?: (google.protobuf.IEnumDescriptorProto[]|null); - - /** FileDescriptorProto service */ - service?: (google.protobuf.IServiceDescriptorProto[]|null); - - /** FileDescriptorProto extension */ - extension?: (google.protobuf.IFieldDescriptorProto[]|null); - - /** FileDescriptorProto options */ - options?: (google.protobuf.IFileOptions|null); - - /** FileDescriptorProto sourceCodeInfo */ - sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); - - /** FileDescriptorProto syntax */ - syntax?: (string|null); - } + /** RequestCheckTx tx. */ + public tx: Uint8Array; - /** Represents a FileDescriptorProto. */ - class FileDescriptorProto implements IFileDescriptorProto { + /** RequestCheckTx type. */ + public type: tendermint.abci.CheckTxType; /** - * Constructs a new FileDescriptorProto. + * Creates a new RequestCheckTx instance using the specified properties. * @param [properties] Properties to set + * @returns RequestCheckTx instance */ - constructor(properties?: google.protobuf.IFileDescriptorProto); + public static create(properties?: tendermint.abci.IRequestCheckTx): tendermint.abci.RequestCheckTx; - /** FileDescriptorProto name. */ - public name: string; + /** + * Encodes the specified RequestCheckTx message. Does not implicitly {@link tendermint.abci.RequestCheckTx.verify|verify} messages. + * @param message RequestCheckTx message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; - /** FileDescriptorProto package. */ - public package: string; + /** + * Encodes the specified RequestCheckTx message, length delimited. Does not implicitly {@link tendermint.abci.RequestCheckTx.verify|verify} messages. + * @param message RequestCheckTx message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; - /** FileDescriptorProto dependency. */ - public dependency: string[]; + /** + * Decodes a RequestCheckTx message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestCheckTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestCheckTx; - /** FileDescriptorProto publicDependency. */ - public publicDependency: number[]; + /** + * Decodes a RequestCheckTx message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestCheckTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestCheckTx; - /** FileDescriptorProto weakDependency. */ - public weakDependency: number[]; + /** + * Verifies a RequestCheckTx message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** FileDescriptorProto messageType. */ - public messageType: google.protobuf.IDescriptorProto[]; + /** + * Creates a RequestCheckTx message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestCheckTx + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestCheckTx; - /** FileDescriptorProto enumType. */ - public enumType: google.protobuf.IEnumDescriptorProto[]; + /** + * Creates a plain object from a RequestCheckTx message. Also converts values to other types if specified. + * @param message RequestCheckTx + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestCheckTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** FileDescriptorProto service. */ - public service: google.protobuf.IServiceDescriptorProto[]; + /** + * Converts this RequestCheckTx to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** FileDescriptorProto extension. */ - public extension: google.protobuf.IFieldDescriptorProto[]; + /** Properties of a RequestDeliverTx. */ + interface IRequestDeliverTx { - /** FileDescriptorProto options. */ - public options?: (google.protobuf.IFileOptions|null); + /** RequestDeliverTx tx */ + tx?: (Uint8Array|null); + } - /** FileDescriptorProto sourceCodeInfo. */ - public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + /** Represents a RequestDeliverTx. */ + class RequestDeliverTx implements IRequestDeliverTx { - /** FileDescriptorProto syntax. */ - public syntax: string; + /** + * Constructs a new RequestDeliverTx. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestDeliverTx); + + /** RequestDeliverTx tx. */ + public tx: Uint8Array; /** - * Creates a new FileDescriptorProto instance using the specified properties. + * Creates a new RequestDeliverTx instance using the specified properties. * @param [properties] Properties to set - * @returns FileDescriptorProto instance + * @returns RequestDeliverTx instance */ - public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; + public static create(properties?: tendermint.abci.IRequestDeliverTx): tendermint.abci.RequestDeliverTx; /** - * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @param message FileDescriptorProto message or plain object to encode + * Encodes the specified RequestDeliverTx message. Does not implicitly {@link tendermint.abci.RequestDeliverTx.verify|verify} messages. + * @param message RequestDeliverTx message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IRequestDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @param message FileDescriptorProto message or plain object to encode + * Encodes the specified RequestDeliverTx message, length delimited. Does not implicitly {@link tendermint.abci.RequestDeliverTx.verify|verify} messages. + * @param message RequestDeliverTx message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IRequestDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FileDescriptorProto message from the specified reader or buffer. + * Decodes a RequestDeliverTx message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FileDescriptorProto + * @returns RequestDeliverTx * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestDeliverTx; /** - * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a RequestDeliverTx message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FileDescriptorProto + * @returns RequestDeliverTx * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestDeliverTx; /** - * Verifies a FileDescriptorProto message. + * Verifies a RequestDeliverTx message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a RequestDeliverTx message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FileDescriptorProto + * @returns RequestDeliverTx */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestDeliverTx; /** - * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. - * @param message FileDescriptorProto + * Creates a plain object from a RequestDeliverTx message. Also converts values to other types if specified. + * @param message RequestDeliverTx * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.RequestDeliverTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FileDescriptorProto to JSON. + * Converts this RequestDeliverTx to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a DescriptorProto. */ - interface IDescriptorProto { - - /** DescriptorProto name */ - name?: (string|null); - - /** DescriptorProto field */ - field?: (google.protobuf.IFieldDescriptorProto[]|null); - - /** DescriptorProto extension */ - extension?: (google.protobuf.IFieldDescriptorProto[]|null); - - /** DescriptorProto nestedType */ - nestedType?: (google.protobuf.IDescriptorProto[]|null); - - /** DescriptorProto enumType */ - enumType?: (google.protobuf.IEnumDescriptorProto[]|null); - - /** DescriptorProto extensionRange */ - extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); - - /** DescriptorProto oneofDecl */ - oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); + /** Properties of a RequestEndBlock. */ + interface IRequestEndBlock { - /** DescriptorProto options */ - options?: (google.protobuf.IMessageOptions|null); + /** RequestEndBlock height */ + height?: (number|Long|null); + } - /** DescriptorProto reservedRange */ - reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); + /** Represents a RequestEndBlock. */ + class RequestEndBlock implements IRequestEndBlock { - /** DescriptorProto reservedName */ - reservedName?: (string[]|null); - } + /** + * Constructs a new RequestEndBlock. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestEndBlock); - /** Represents a DescriptorProto. */ - class DescriptorProto implements IDescriptorProto { + /** RequestEndBlock height. */ + public height: (number|Long); /** - * Constructs a new DescriptorProto. + * Creates a new RequestEndBlock instance using the specified properties. * @param [properties] Properties to set + * @returns RequestEndBlock instance */ - constructor(properties?: google.protobuf.IDescriptorProto); + public static create(properties?: tendermint.abci.IRequestEndBlock): tendermint.abci.RequestEndBlock; - /** DescriptorProto name. */ - public name: string; + /** + * Encodes the specified RequestEndBlock message. Does not implicitly {@link tendermint.abci.RequestEndBlock.verify|verify} messages. + * @param message RequestEndBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; - /** DescriptorProto field. */ - public field: google.protobuf.IFieldDescriptorProto[]; + /** + * Encodes the specified RequestEndBlock message, length delimited. Does not implicitly {@link tendermint.abci.RequestEndBlock.verify|verify} messages. + * @param message RequestEndBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; - /** DescriptorProto extension. */ - public extension: google.protobuf.IFieldDescriptorProto[]; + /** + * Decodes a RequestEndBlock message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestEndBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestEndBlock; - /** DescriptorProto nestedType. */ - public nestedType: google.protobuf.IDescriptorProto[]; + /** + * Decodes a RequestEndBlock message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestEndBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestEndBlock; - /** DescriptorProto enumType. */ - public enumType: google.protobuf.IEnumDescriptorProto[]; + /** + * Verifies a RequestEndBlock message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** DescriptorProto extensionRange. */ - public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; + /** + * Creates a RequestEndBlock message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestEndBlock + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestEndBlock; - /** DescriptorProto oneofDecl. */ - public oneofDecl: google.protobuf.IOneofDescriptorProto[]; + /** + * Creates a plain object from a RequestEndBlock message. Also converts values to other types if specified. + * @param message RequestEndBlock + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestEndBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** DescriptorProto options. */ - public options?: (google.protobuf.IMessageOptions|null); + /** + * Converts this RequestEndBlock to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** DescriptorProto reservedRange. */ - public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; + /** Properties of a RequestCommit. */ + interface IRequestCommit { + } - /** DescriptorProto reservedName. */ - public reservedName: string[]; + /** Represents a RequestCommit. */ + class RequestCommit implements IRequestCommit { /** - * Creates a new DescriptorProto instance using the specified properties. + * Constructs a new RequestCommit. * @param [properties] Properties to set - * @returns DescriptorProto instance */ - public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; + constructor(properties?: tendermint.abci.IRequestCommit); /** - * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @param message DescriptorProto message or plain object to encode + * Creates a new RequestCommit instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestCommit instance + */ + public static create(properties?: tendermint.abci.IRequestCommit): tendermint.abci.RequestCommit; + + /** + * Encodes the specified RequestCommit message. Does not implicitly {@link tendermint.abci.RequestCommit.verify|verify} messages. + * @param message RequestCommit message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IRequestCommit, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @param message DescriptorProto message or plain object to encode + * Encodes the specified RequestCommit message, length delimited. Does not implicitly {@link tendermint.abci.RequestCommit.verify|verify} messages. + * @param message RequestCommit message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IRequestCommit, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a DescriptorProto message from the specified reader or buffer. + * Decodes a RequestCommit message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns DescriptorProto + * @returns RequestCommit * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestCommit; /** - * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a RequestCommit message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns DescriptorProto + * @returns RequestCommit * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestCommit; /** - * Verifies a DescriptorProto message. + * Verifies a RequestCommit message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a RequestCommit message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns DescriptorProto + * @returns RequestCommit */ - public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestCommit; /** - * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. - * @param message DescriptorProto + * Creates a plain object from a RequestCommit message. Also converts values to other types if specified. + * @param message RequestCommit * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.RequestCommit, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this DescriptorProto to JSON. + * Converts this RequestCommit to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace DescriptorProto { + /** Properties of a RequestListSnapshots. */ + interface IRequestListSnapshots { + } - /** Properties of an ExtensionRange. */ - interface IExtensionRange { + /** Represents a RequestListSnapshots. */ + class RequestListSnapshots implements IRequestListSnapshots { - /** ExtensionRange start */ - start?: (number|null); + /** + * Constructs a new RequestListSnapshots. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IRequestListSnapshots); - /** ExtensionRange end */ - end?: (number|null); + /** + * Creates a new RequestListSnapshots instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestListSnapshots instance + */ + public static create(properties?: tendermint.abci.IRequestListSnapshots): tendermint.abci.RequestListSnapshots; - /** ExtensionRange options */ - options?: (google.protobuf.IExtensionRangeOptions|null); - } + /** + * Encodes the specified RequestListSnapshots message. Does not implicitly {@link tendermint.abci.RequestListSnapshots.verify|verify} messages. + * @param message RequestListSnapshots message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IRequestListSnapshots, writer?: $protobuf.Writer): $protobuf.Writer; - /** Represents an ExtensionRange. */ - class ExtensionRange implements IExtensionRange { - - /** - * Constructs a new ExtensionRange. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); - - /** ExtensionRange start. */ - public start: number; - - /** ExtensionRange end. */ - public end: number; - - /** ExtensionRange options. */ - public options?: (google.protobuf.IExtensionRangeOptions|null); - - /** - * Creates a new ExtensionRange instance using the specified properties. - * @param [properties] Properties to set - * @returns ExtensionRange instance - */ - public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @param message ExtensionRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @param message ExtensionRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Verifies an ExtensionRange message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ExtensionRange - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. - * @param message ExtensionRange - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ExtensionRange to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a ReservedRange. */ - interface IReservedRange { - - /** ReservedRange start */ - start?: (number|null); - - /** ReservedRange end */ - end?: (number|null); - } - - /** Represents a ReservedRange. */ - class ReservedRange implements IReservedRange { - - /** - * Constructs a new ReservedRange. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); - - /** ReservedRange start. */ - public start: number; - - /** ReservedRange end. */ - public end: number; - - /** - * Creates a new ReservedRange instance using the specified properties. - * @param [properties] Properties to set - * @returns ReservedRange instance - */ - public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; - - /** - * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @param message ReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @param message ReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Encodes the specified RequestListSnapshots message, length delimited. Does not implicitly {@link tendermint.abci.RequestListSnapshots.verify|verify} messages. + * @param message RequestListSnapshots message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IRequestListSnapshots, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Decodes a ReservedRange message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; + /** + * Decodes a RequestListSnapshots message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestListSnapshots; - /** - * Decodes a ReservedRange message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; + /** + * Decodes a RequestListSnapshots message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestListSnapshots; - /** - * Verifies a ReservedRange message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** + * Verifies a RequestListSnapshots message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** - * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ReservedRange - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; + /** + * Creates a RequestListSnapshots message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestListSnapshots + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestListSnapshots; - /** - * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. - * @param message ReservedRange - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** + * Creates a plain object from a RequestListSnapshots message. Also converts values to other types if specified. + * @param message RequestListSnapshots + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.RequestListSnapshots, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** - * Converts this ReservedRange to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Converts this RequestListSnapshots to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; } - /** Properties of an ExtensionRangeOptions. */ - interface IExtensionRangeOptions { + /** Properties of a RequestOfferSnapshot. */ + interface IRequestOfferSnapshot { - /** ExtensionRangeOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + /** RequestOfferSnapshot snapshot */ + snapshot?: (tendermint.abci.ISnapshot|null); + + /** RequestOfferSnapshot appHash */ + appHash?: (Uint8Array|null); } - /** Represents an ExtensionRangeOptions. */ - class ExtensionRangeOptions implements IExtensionRangeOptions { + /** Represents a RequestOfferSnapshot. */ + class RequestOfferSnapshot implements IRequestOfferSnapshot { /** - * Constructs a new ExtensionRangeOptions. + * Constructs a new RequestOfferSnapshot. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IExtensionRangeOptions); + constructor(properties?: tendermint.abci.IRequestOfferSnapshot); - /** ExtensionRangeOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** RequestOfferSnapshot snapshot. */ + public snapshot?: (tendermint.abci.ISnapshot|null); + + /** RequestOfferSnapshot appHash. */ + public appHash: Uint8Array; /** - * Creates a new ExtensionRangeOptions instance using the specified properties. + * Creates a new RequestOfferSnapshot instance using the specified properties. * @param [properties] Properties to set - * @returns ExtensionRangeOptions instance + * @returns RequestOfferSnapshot instance */ - public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; + public static create(properties?: tendermint.abci.IRequestOfferSnapshot): tendermint.abci.RequestOfferSnapshot; /** - * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @param message ExtensionRangeOptions message or plain object to encode + * Encodes the specified RequestOfferSnapshot message. Does not implicitly {@link tendermint.abci.RequestOfferSnapshot.verify|verify} messages. + * @param message RequestOfferSnapshot message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IRequestOfferSnapshot, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @param message ExtensionRangeOptions message or plain object to encode + * Encodes the specified RequestOfferSnapshot message, length delimited. Does not implicitly {@link tendermint.abci.RequestOfferSnapshot.verify|verify} messages. + * @param message RequestOfferSnapshot message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IRequestOfferSnapshot, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * Decodes a RequestOfferSnapshot message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ExtensionRangeOptions + * @returns RequestOfferSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestOfferSnapshot; /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * Decodes a RequestOfferSnapshot message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ExtensionRangeOptions + * @returns RequestOfferSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestOfferSnapshot; /** - * Verifies an ExtensionRangeOptions message. + * Verifies a RequestOfferSnapshot message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * Creates a RequestOfferSnapshot message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ExtensionRangeOptions + * @returns RequestOfferSnapshot */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestOfferSnapshot; /** - * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. - * @param message ExtensionRangeOptions + * Creates a plain object from a RequestOfferSnapshot message. Also converts values to other types if specified. + * @param message RequestOfferSnapshot * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.RequestOfferSnapshot, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ExtensionRangeOptions to JSON. + * Converts this RequestOfferSnapshot to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a FieldDescriptorProto. */ - interface IFieldDescriptorProto { + /** Properties of a RequestLoadSnapshotChunk. */ + interface IRequestLoadSnapshotChunk { - /** FieldDescriptorProto name */ - name?: (string|null); + /** RequestLoadSnapshotChunk height */ + height?: (number|Long|null); - /** FieldDescriptorProto number */ - number?: (number|null); + /** RequestLoadSnapshotChunk format */ + format?: (number|null); - /** FieldDescriptorProto label */ - label?: (google.protobuf.FieldDescriptorProto.Label|null); + /** RequestLoadSnapshotChunk chunk */ + chunk?: (number|null); + } - /** FieldDescriptorProto type */ - type?: (google.protobuf.FieldDescriptorProto.Type|null); - - /** FieldDescriptorProto typeName */ - typeName?: (string|null); - - /** FieldDescriptorProto extendee */ - extendee?: (string|null); - - /** FieldDescriptorProto defaultValue */ - defaultValue?: (string|null); - - /** FieldDescriptorProto oneofIndex */ - oneofIndex?: (number|null); - - /** FieldDescriptorProto jsonName */ - jsonName?: (string|null); - - /** FieldDescriptorProto options */ - options?: (google.protobuf.IFieldOptions|null); - } - - /** Represents a FieldDescriptorProto. */ - class FieldDescriptorProto implements IFieldDescriptorProto { + /** Represents a RequestLoadSnapshotChunk. */ + class RequestLoadSnapshotChunk implements IRequestLoadSnapshotChunk { /** - * Constructs a new FieldDescriptorProto. + * Constructs a new RequestLoadSnapshotChunk. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IFieldDescriptorProto); - - /** FieldDescriptorProto name. */ - public name: string; - - /** FieldDescriptorProto number. */ - public number: number; - - /** FieldDescriptorProto label. */ - public label: google.protobuf.FieldDescriptorProto.Label; + constructor(properties?: tendermint.abci.IRequestLoadSnapshotChunk); - /** FieldDescriptorProto type. */ - public type: google.protobuf.FieldDescriptorProto.Type; - - /** FieldDescriptorProto typeName. */ - public typeName: string; - - /** FieldDescriptorProto extendee. */ - public extendee: string; + /** RequestLoadSnapshotChunk height. */ + public height: (number|Long); - /** FieldDescriptorProto defaultValue. */ - public defaultValue: string; - - /** FieldDescriptorProto oneofIndex. */ - public oneofIndex: number; - - /** FieldDescriptorProto jsonName. */ - public jsonName: string; + /** RequestLoadSnapshotChunk format. */ + public format: number; - /** FieldDescriptorProto options. */ - public options?: (google.protobuf.IFieldOptions|null); + /** RequestLoadSnapshotChunk chunk. */ + public chunk: number; /** - * Creates a new FieldDescriptorProto instance using the specified properties. + * Creates a new RequestLoadSnapshotChunk instance using the specified properties. * @param [properties] Properties to set - * @returns FieldDescriptorProto instance + * @returns RequestLoadSnapshotChunk instance */ - public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; + public static create(properties?: tendermint.abci.IRequestLoadSnapshotChunk): tendermint.abci.RequestLoadSnapshotChunk; /** - * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @param message FieldDescriptorProto message or plain object to encode + * Encodes the specified RequestLoadSnapshotChunk message. Does not implicitly {@link tendermint.abci.RequestLoadSnapshotChunk.verify|verify} messages. + * @param message RequestLoadSnapshotChunk message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IRequestLoadSnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @param message FieldDescriptorProto message or plain object to encode + * Encodes the specified RequestLoadSnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.RequestLoadSnapshotChunk.verify|verify} messages. + * @param message RequestLoadSnapshotChunk message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IRequestLoadSnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * Decodes a RequestLoadSnapshotChunk message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FieldDescriptorProto + * @returns RequestLoadSnapshotChunk * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestLoadSnapshotChunk; /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a RequestLoadSnapshotChunk message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FieldDescriptorProto + * @returns RequestLoadSnapshotChunk * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestLoadSnapshotChunk; /** - * Verifies a FieldDescriptorProto message. + * Verifies a RequestLoadSnapshotChunk message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a RequestLoadSnapshotChunk message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FieldDescriptorProto + * @returns RequestLoadSnapshotChunk */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestLoadSnapshotChunk; /** - * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. - * @param message FieldDescriptorProto + * Creates a plain object from a RequestLoadSnapshotChunk message. Also converts values to other types if specified. + * @param message RequestLoadSnapshotChunk * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.RequestLoadSnapshotChunk, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FieldDescriptorProto to JSON. + * Converts this RequestLoadSnapshotChunk to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace FieldDescriptorProto { - - /** Type enum. */ - enum Type { - TYPE_DOUBLE = 1, - TYPE_FLOAT = 2, - TYPE_INT64 = 3, - TYPE_UINT64 = 4, - TYPE_INT32 = 5, - TYPE_FIXED64 = 6, - TYPE_FIXED32 = 7, - TYPE_BOOL = 8, - TYPE_STRING = 9, - TYPE_GROUP = 10, - TYPE_MESSAGE = 11, - TYPE_BYTES = 12, - TYPE_UINT32 = 13, - TYPE_ENUM = 14, - TYPE_SFIXED32 = 15, - TYPE_SFIXED64 = 16, - TYPE_SINT32 = 17, - TYPE_SINT64 = 18 - } - - /** Label enum. */ - enum Label { - LABEL_OPTIONAL = 1, - LABEL_REQUIRED = 2, - LABEL_REPEATED = 3 - } - } + /** Properties of a RequestApplySnapshotChunk. */ + interface IRequestApplySnapshotChunk { - /** Properties of an OneofDescriptorProto. */ - interface IOneofDescriptorProto { + /** RequestApplySnapshotChunk index */ + index?: (number|null); - /** OneofDescriptorProto name */ - name?: (string|null); + /** RequestApplySnapshotChunk chunk */ + chunk?: (Uint8Array|null); - /** OneofDescriptorProto options */ - options?: (google.protobuf.IOneofOptions|null); + /** RequestApplySnapshotChunk sender */ + sender?: (string|null); } - /** Represents an OneofDescriptorProto. */ - class OneofDescriptorProto implements IOneofDescriptorProto { + /** Represents a RequestApplySnapshotChunk. */ + class RequestApplySnapshotChunk implements IRequestApplySnapshotChunk { /** - * Constructs a new OneofDescriptorProto. + * Constructs a new RequestApplySnapshotChunk. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IOneofDescriptorProto); + constructor(properties?: tendermint.abci.IRequestApplySnapshotChunk); - /** OneofDescriptorProto name. */ - public name: string; + /** RequestApplySnapshotChunk index. */ + public index: number; - /** OneofDescriptorProto options. */ - public options?: (google.protobuf.IOneofOptions|null); + /** RequestApplySnapshotChunk chunk. */ + public chunk: Uint8Array; + + /** RequestApplySnapshotChunk sender. */ + public sender: string; /** - * Creates a new OneofDescriptorProto instance using the specified properties. + * Creates a new RequestApplySnapshotChunk instance using the specified properties. * @param [properties] Properties to set - * @returns OneofDescriptorProto instance + * @returns RequestApplySnapshotChunk instance */ - public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; + public static create(properties?: tendermint.abci.IRequestApplySnapshotChunk): tendermint.abci.RequestApplySnapshotChunk; /** - * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @param message OneofDescriptorProto message or plain object to encode + * Encodes the specified RequestApplySnapshotChunk message. Does not implicitly {@link tendermint.abci.RequestApplySnapshotChunk.verify|verify} messages. + * @param message RequestApplySnapshotChunk message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IRequestApplySnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @param message OneofDescriptorProto message or plain object to encode + * Encodes the specified RequestApplySnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.RequestApplySnapshotChunk.verify|verify} messages. + * @param message RequestApplySnapshotChunk message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IRequestApplySnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * Decodes a RequestApplySnapshotChunk message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns OneofDescriptorProto + * @returns RequestApplySnapshotChunk * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.RequestApplySnapshotChunk; /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a RequestApplySnapshotChunk message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns OneofDescriptorProto + * @returns RequestApplySnapshotChunk * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.RequestApplySnapshotChunk; /** - * Verifies an OneofDescriptorProto message. + * Verifies a RequestApplySnapshotChunk message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a RequestApplySnapshotChunk message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns OneofDescriptorProto + * @returns RequestApplySnapshotChunk */ - public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.RequestApplySnapshotChunk; /** - * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. - * @param message OneofDescriptorProto + * Creates a plain object from a RequestApplySnapshotChunk message. Also converts values to other types if specified. + * @param message RequestApplySnapshotChunk * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.RequestApplySnapshotChunk, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this OneofDescriptorProto to JSON. + * Converts this RequestApplySnapshotChunk to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an EnumDescriptorProto. */ - interface IEnumDescriptorProto { + /** Properties of a Response. */ + interface IResponse { - /** EnumDescriptorProto name */ - name?: (string|null); + /** Response exception */ + exception?: (tendermint.abci.IResponseException|null); - /** EnumDescriptorProto value */ - value?: (google.protobuf.IEnumValueDescriptorProto[]|null); + /** Response echo */ + echo?: (tendermint.abci.IResponseEcho|null); - /** EnumDescriptorProto options */ - options?: (google.protobuf.IEnumOptions|null); + /** Response flush */ + flush?: (tendermint.abci.IResponseFlush|null); - /** EnumDescriptorProto reservedRange */ - reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); + /** Response info */ + info?: (tendermint.abci.IResponseInfo|null); - /** EnumDescriptorProto reservedName */ - reservedName?: (string[]|null); + /** Response setOption */ + setOption?: (tendermint.abci.IResponseSetOption|null); + + /** Response initChain */ + initChain?: (tendermint.abci.IResponseInitChain|null); + + /** Response query */ + query?: (tendermint.abci.IResponseQuery|null); + + /** Response beginBlock */ + beginBlock?: (tendermint.abci.IResponseBeginBlock|null); + + /** Response checkTx */ + checkTx?: (tendermint.abci.IResponseCheckTx|null); + + /** Response deliverTx */ + deliverTx?: (tendermint.abci.IResponseDeliverTx|null); + + /** Response endBlock */ + endBlock?: (tendermint.abci.IResponseEndBlock|null); + + /** Response commit */ + commit?: (tendermint.abci.IResponseCommit|null); + + /** Response listSnapshots */ + listSnapshots?: (tendermint.abci.IResponseListSnapshots|null); + + /** Response offerSnapshot */ + offerSnapshot?: (tendermint.abci.IResponseOfferSnapshot|null); + + /** Response loadSnapshotChunk */ + loadSnapshotChunk?: (tendermint.abci.IResponseLoadSnapshotChunk|null); + + /** Response applySnapshotChunk */ + applySnapshotChunk?: (tendermint.abci.IResponseApplySnapshotChunk|null); } - /** Represents an EnumDescriptorProto. */ - class EnumDescriptorProto implements IEnumDescriptorProto { + /** Represents a Response. */ + class Response implements IResponse { /** - * Constructs a new EnumDescriptorProto. + * Constructs a new Response. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IEnumDescriptorProto); + constructor(properties?: tendermint.abci.IResponse); - /** EnumDescriptorProto name. */ - public name: string; + /** Response exception. */ + public exception?: (tendermint.abci.IResponseException|null); - /** EnumDescriptorProto value. */ - public value: google.protobuf.IEnumValueDescriptorProto[]; + /** Response echo. */ + public echo?: (tendermint.abci.IResponseEcho|null); - /** EnumDescriptorProto options. */ - public options?: (google.protobuf.IEnumOptions|null); + /** Response flush. */ + public flush?: (tendermint.abci.IResponseFlush|null); - /** EnumDescriptorProto reservedRange. */ - public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; + /** Response info. */ + public info?: (tendermint.abci.IResponseInfo|null); - /** EnumDescriptorProto reservedName. */ - public reservedName: string[]; + /** Response setOption. */ + public setOption?: (tendermint.abci.IResponseSetOption|null); + + /** Response initChain. */ + public initChain?: (tendermint.abci.IResponseInitChain|null); + + /** Response query. */ + public query?: (tendermint.abci.IResponseQuery|null); + + /** Response beginBlock. */ + public beginBlock?: (tendermint.abci.IResponseBeginBlock|null); + + /** Response checkTx. */ + public checkTx?: (tendermint.abci.IResponseCheckTx|null); + + /** Response deliverTx. */ + public deliverTx?: (tendermint.abci.IResponseDeliverTx|null); + + /** Response endBlock. */ + public endBlock?: (tendermint.abci.IResponseEndBlock|null); + + /** Response commit. */ + public commit?: (tendermint.abci.IResponseCommit|null); + + /** Response listSnapshots. */ + public listSnapshots?: (tendermint.abci.IResponseListSnapshots|null); + + /** Response offerSnapshot. */ + public offerSnapshot?: (tendermint.abci.IResponseOfferSnapshot|null); + + /** Response loadSnapshotChunk. */ + public loadSnapshotChunk?: (tendermint.abci.IResponseLoadSnapshotChunk|null); + + /** Response applySnapshotChunk. */ + public applySnapshotChunk?: (tendermint.abci.IResponseApplySnapshotChunk|null); + + /** Response value. */ + public value?: ("exception"|"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|"listSnapshots"|"offerSnapshot"|"loadSnapshotChunk"|"applySnapshotChunk"); /** - * Creates a new EnumDescriptorProto instance using the specified properties. + * Creates a new Response instance using the specified properties. * @param [properties] Properties to set - * @returns EnumDescriptorProto instance + * @returns Response instance */ - public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; + public static create(properties?: tendermint.abci.IResponse): tendermint.abci.Response; /** - * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @param message EnumDescriptorProto message or plain object to encode + * Encodes the specified Response message. Does not implicitly {@link tendermint.abci.Response.verify|verify} messages. + * @param message Response message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @param message EnumDescriptorProto message or plain object to encode + * Encodes the specified Response message, length delimited. Does not implicitly {@link tendermint.abci.Response.verify|verify} messages. + * @param message Response message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * Decodes a Response message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns EnumDescriptorProto + * @returns Response * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.Response; /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a Response message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns EnumDescriptorProto + * @returns Response * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.Response; /** - * Verifies an EnumDescriptorProto message. + * Verifies a Response message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a Response message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns EnumDescriptorProto + * @returns Response */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.Response; /** - * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. - * @param message EnumDescriptorProto + * Creates a plain object from a Response message. Also converts values to other types if specified. + * @param message Response * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.Response, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this EnumDescriptorProto to JSON. + * Converts this Response to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace EnumDescriptorProto { - - /** Properties of an EnumReservedRange. */ - interface IEnumReservedRange { + /** Properties of a ResponseException. */ + interface IResponseException { - /** EnumReservedRange start */ - start?: (number|null); + /** ResponseException error */ + error?: (string|null); + } - /** EnumReservedRange end */ - end?: (number|null); - } + /** Represents a ResponseException. */ + class ResponseException implements IResponseException { - /** Represents an EnumReservedRange. */ - class EnumReservedRange implements IEnumReservedRange { + /** + * Constructs a new ResponseException. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IResponseException); - /** - * Constructs a new EnumReservedRange. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); + /** ResponseException error. */ + public error: string; - /** EnumReservedRange start. */ - public start: number; + /** + * Creates a new ResponseException instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseException instance + */ + public static create(properties?: tendermint.abci.IResponseException): tendermint.abci.ResponseException; - /** EnumReservedRange end. */ - public end: number; + /** + * Encodes the specified ResponseException message. Does not implicitly {@link tendermint.abci.ResponseException.verify|verify} messages. + * @param message ResponseException message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseException, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Creates a new EnumReservedRange instance using the specified properties. - * @param [properties] Properties to set - * @returns EnumReservedRange instance - */ - public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; + /** + * Encodes the specified ResponseException message, length delimited. Does not implicitly {@link tendermint.abci.ResponseException.verify|verify} messages. + * @param message ResponseException message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseException, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @param message EnumReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @param message EnumReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EnumReservedRange message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; + /** + * Decodes a ResponseException message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseException + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseException; - /** - * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; + /** + * Decodes a ResponseException message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseException + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseException; - /** - * Verifies an EnumReservedRange message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** + * Verifies a ResponseException message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** - * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EnumReservedRange - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; + /** + * Creates a ResponseException message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseException + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseException; - /** - * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. - * @param message EnumReservedRange - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** + * Creates a plain object from a ResponseException message. Also converts values to other types if specified. + * @param message ResponseException + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseException, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** - * Converts this EnumReservedRange to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Converts this ResponseException to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; } - /** Properties of an EnumValueDescriptorProto. */ - interface IEnumValueDescriptorProto { - - /** EnumValueDescriptorProto name */ - name?: (string|null); - - /** EnumValueDescriptorProto number */ - number?: (number|null); + /** Properties of a ResponseEcho. */ + interface IResponseEcho { - /** EnumValueDescriptorProto options */ - options?: (google.protobuf.IEnumValueOptions|null); + /** ResponseEcho message */ + message?: (string|null); } - /** Represents an EnumValueDescriptorProto. */ - class EnumValueDescriptorProto implements IEnumValueDescriptorProto { + /** Represents a ResponseEcho. */ + class ResponseEcho implements IResponseEcho { /** - * Constructs a new EnumValueDescriptorProto. + * Constructs a new ResponseEcho. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IEnumValueDescriptorProto); - - /** EnumValueDescriptorProto name. */ - public name: string; - - /** EnumValueDescriptorProto number. */ - public number: number; + constructor(properties?: tendermint.abci.IResponseEcho); - /** EnumValueDescriptorProto options. */ - public options?: (google.protobuf.IEnumValueOptions|null); + /** ResponseEcho message. */ + public message: string; /** - * Creates a new EnumValueDescriptorProto instance using the specified properties. + * Creates a new ResponseEcho instance using the specified properties. * @param [properties] Properties to set - * @returns EnumValueDescriptorProto instance + * @returns ResponseEcho instance */ - public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; + public static create(properties?: tendermint.abci.IResponseEcho): tendermint.abci.ResponseEcho; /** - * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @param message EnumValueDescriptorProto message or plain object to encode + * Encodes the specified ResponseEcho message. Does not implicitly {@link tendermint.abci.ResponseEcho.verify|verify} messages. + * @param message ResponseEcho message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseEcho, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @param message EnumValueDescriptorProto message or plain object to encode + * Encodes the specified ResponseEcho message, length delimited. Does not implicitly {@link tendermint.abci.ResponseEcho.verify|verify} messages. + * @param message ResponseEcho message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseEcho, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * Decodes a ResponseEcho message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns EnumValueDescriptorProto + * @returns ResponseEcho * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseEcho; /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a ResponseEcho message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns EnumValueDescriptorProto + * @returns ResponseEcho * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseEcho; /** - * Verifies an EnumValueDescriptorProto message. + * Verifies a ResponseEcho message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseEcho message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns EnumValueDescriptorProto + * @returns ResponseEcho */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseEcho; /** - * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. - * @param message EnumValueDescriptorProto + * Creates a plain object from a ResponseEcho message. Also converts values to other types if specified. + * @param message ResponseEcho * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseEcho, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this EnumValueDescriptorProto to JSON. + * Converts this ResponseEcho to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a ServiceDescriptorProto. */ - interface IServiceDescriptorProto { - - /** ServiceDescriptorProto name */ - name?: (string|null); - - /** ServiceDescriptorProto method */ - method?: (google.protobuf.IMethodDescriptorProto[]|null); - - /** ServiceDescriptorProto options */ - options?: (google.protobuf.IServiceOptions|null); + /** Properties of a ResponseFlush. */ + interface IResponseFlush { } - /** Represents a ServiceDescriptorProto. */ - class ServiceDescriptorProto implements IServiceDescriptorProto { + /** Represents a ResponseFlush. */ + class ResponseFlush implements IResponseFlush { /** - * Constructs a new ServiceDescriptorProto. + * Constructs a new ResponseFlush. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IServiceDescriptorProto); - - /** ServiceDescriptorProto name. */ - public name: string; - - /** ServiceDescriptorProto method. */ - public method: google.protobuf.IMethodDescriptorProto[]; - - /** ServiceDescriptorProto options. */ - public options?: (google.protobuf.IServiceOptions|null); + constructor(properties?: tendermint.abci.IResponseFlush); /** - * Creates a new ServiceDescriptorProto instance using the specified properties. + * Creates a new ResponseFlush instance using the specified properties. * @param [properties] Properties to set - * @returns ServiceDescriptorProto instance + * @returns ResponseFlush instance */ - public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; + public static create(properties?: tendermint.abci.IResponseFlush): tendermint.abci.ResponseFlush; /** - * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @param message ServiceDescriptorProto message or plain object to encode + * Encodes the specified ResponseFlush message. Does not implicitly {@link tendermint.abci.ResponseFlush.verify|verify} messages. + * @param message ResponseFlush message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseFlush, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @param message ServiceDescriptorProto message or plain object to encode + * Encodes the specified ResponseFlush message, length delimited. Does not implicitly {@link tendermint.abci.ResponseFlush.verify|verify} messages. + * @param message ResponseFlush message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseFlush, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * Decodes a ResponseFlush message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ServiceDescriptorProto + * @returns ResponseFlush * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseFlush; /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a ResponseFlush message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ServiceDescriptorProto + * @returns ResponseFlush * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseFlush; /** - * Verifies a ServiceDescriptorProto message. + * Verifies a ResponseFlush message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseFlush message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ServiceDescriptorProto + * @returns ResponseFlush */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseFlush; /** - * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. - * @param message ServiceDescriptorProto + * Creates a plain object from a ResponseFlush message. Also converts values to other types if specified. + * @param message ResponseFlush * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseFlush, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ServiceDescriptorProto to JSON. + * Converts this ResponseFlush to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a MethodDescriptorProto. */ - interface IMethodDescriptorProto { - - /** MethodDescriptorProto name */ - name?: (string|null); + /** Properties of a ResponseInfo. */ + interface IResponseInfo { - /** MethodDescriptorProto inputType */ - inputType?: (string|null); + /** ResponseInfo data */ + data?: (string|null); - /** MethodDescriptorProto outputType */ - outputType?: (string|null); + /** ResponseInfo version */ + version?: (string|null); - /** MethodDescriptorProto options */ - options?: (google.protobuf.IMethodOptions|null); + /** ResponseInfo appVersion */ + appVersion?: (number|Long|null); - /** MethodDescriptorProto clientStreaming */ - clientStreaming?: (boolean|null); + /** ResponseInfo lastBlockHeight */ + lastBlockHeight?: (number|Long|null); - /** MethodDescriptorProto serverStreaming */ - serverStreaming?: (boolean|null); + /** ResponseInfo lastBlockAppHash */ + lastBlockAppHash?: (Uint8Array|null); } - /** Represents a MethodDescriptorProto. */ - class MethodDescriptorProto implements IMethodDescriptorProto { + /** Represents a ResponseInfo. */ + class ResponseInfo implements IResponseInfo { /** - * Constructs a new MethodDescriptorProto. + * Constructs a new ResponseInfo. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IMethodDescriptorProto); - - /** MethodDescriptorProto name. */ - public name: string; + constructor(properties?: tendermint.abci.IResponseInfo); - /** MethodDescriptorProto inputType. */ - public inputType: string; + /** ResponseInfo data. */ + public data: string; - /** MethodDescriptorProto outputType. */ - public outputType: string; + /** ResponseInfo version. */ + public version: string; - /** MethodDescriptorProto options. */ - public options?: (google.protobuf.IMethodOptions|null); + /** ResponseInfo appVersion. */ + public appVersion: (number|Long); - /** MethodDescriptorProto clientStreaming. */ - public clientStreaming: boolean; + /** ResponseInfo lastBlockHeight. */ + public lastBlockHeight: (number|Long); - /** MethodDescriptorProto serverStreaming. */ - public serverStreaming: boolean; + /** ResponseInfo lastBlockAppHash. */ + public lastBlockAppHash: Uint8Array; /** - * Creates a new MethodDescriptorProto instance using the specified properties. + * Creates a new ResponseInfo instance using the specified properties. * @param [properties] Properties to set - * @returns MethodDescriptorProto instance + * @returns ResponseInfo instance */ - public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; + public static create(properties?: tendermint.abci.IResponseInfo): tendermint.abci.ResponseInfo; /** - * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @param message MethodDescriptorProto message or plain object to encode + * Encodes the specified ResponseInfo message. Does not implicitly {@link tendermint.abci.ResponseInfo.verify|verify} messages. + * @param message ResponseInfo message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseInfo, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @param message MethodDescriptorProto message or plain object to encode + * Encodes the specified ResponseInfo message, length delimited. Does not implicitly {@link tendermint.abci.ResponseInfo.verify|verify} messages. + * @param message ResponseInfo message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseInfo, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * Decodes a ResponseInfo message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns MethodDescriptorProto + * @returns ResponseInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseInfo; /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a ResponseInfo message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns MethodDescriptorProto + * @returns ResponseInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseInfo; /** - * Verifies a MethodDescriptorProto message. + * Verifies a ResponseInfo message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseInfo message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns MethodDescriptorProto + * @returns ResponseInfo */ - public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseInfo; /** - * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. - * @param message MethodDescriptorProto + * Creates a plain object from a ResponseInfo message. Also converts values to other types if specified. + * @param message ResponseInfo * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this MethodDescriptorProto to JSON. + * Converts this ResponseInfo to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a FileOptions. */ - interface IFileOptions { - - /** FileOptions javaPackage */ - javaPackage?: (string|null); + /** Properties of a ResponseSetOption. */ + interface IResponseSetOption { - /** FileOptions javaOuterClassname */ - javaOuterClassname?: (string|null); + /** ResponseSetOption code */ + code?: (number|null); - /** FileOptions javaMultipleFiles */ - javaMultipleFiles?: (boolean|null); + /** ResponseSetOption log */ + log?: (string|null); - /** FileOptions javaGenerateEqualsAndHash */ - javaGenerateEqualsAndHash?: (boolean|null); + /** ResponseSetOption info */ + info?: (string|null); + } - /** FileOptions javaStringCheckUtf8 */ - javaStringCheckUtf8?: (boolean|null); + /** Represents a ResponseSetOption. */ + class ResponseSetOption implements IResponseSetOption { - /** FileOptions optimizeFor */ - optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|null); + /** + * Constructs a new ResponseSetOption. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IResponseSetOption); - /** FileOptions goPackage */ - goPackage?: (string|null); + /** ResponseSetOption code. */ + public code: number; - /** FileOptions ccGenericServices */ - ccGenericServices?: (boolean|null); + /** ResponseSetOption log. */ + public log: string; - /** FileOptions javaGenericServices */ - javaGenericServices?: (boolean|null); + /** ResponseSetOption info. */ + public info: string; - /** FileOptions pyGenericServices */ - pyGenericServices?: (boolean|null); - - /** FileOptions phpGenericServices */ - phpGenericServices?: (boolean|null); - - /** FileOptions deprecated */ - deprecated?: (boolean|null); - - /** FileOptions ccEnableArenas */ - ccEnableArenas?: (boolean|null); - - /** FileOptions objcClassPrefix */ - objcClassPrefix?: (string|null); - - /** FileOptions csharpNamespace */ - csharpNamespace?: (string|null); + /** + * Creates a new ResponseSetOption instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseSetOption instance + */ + public static create(properties?: tendermint.abci.IResponseSetOption): tendermint.abci.ResponseSetOption; - /** FileOptions swiftPrefix */ - swiftPrefix?: (string|null); + /** + * Encodes the specified ResponseSetOption message. Does not implicitly {@link tendermint.abci.ResponseSetOption.verify|verify} messages. + * @param message ResponseSetOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - /** FileOptions phpClassPrefix */ - phpClassPrefix?: (string|null); + /** + * Encodes the specified ResponseSetOption message, length delimited. Does not implicitly {@link tendermint.abci.ResponseSetOption.verify|verify} messages. + * @param message ResponseSetOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseSetOption, writer?: $protobuf.Writer): $protobuf.Writer; - /** FileOptions phpNamespace */ - phpNamespace?: (string|null); + /** + * Decodes a ResponseSetOption message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseSetOption; - /** FileOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + /** + * Decodes a ResponseSetOption message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseSetOption; - /** FileOptions .gogoproto.goprotoGettersAll */ - ".gogoproto.goprotoGettersAll"?: (boolean|null); + /** + * Verifies a ResponseSetOption message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** FileOptions .gogoproto.goprotoEnumPrefixAll */ - ".gogoproto.goprotoEnumPrefixAll"?: (boolean|null); + /** + * Creates a ResponseSetOption message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseSetOption + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseSetOption; - /** FileOptions .gogoproto.goprotoStringerAll */ - ".gogoproto.goprotoStringerAll"?: (boolean|null); + /** + * Creates a plain object from a ResponseSetOption message. Also converts values to other types if specified. + * @param message ResponseSetOption + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseSetOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** FileOptions .gogoproto.verboseEqualAll */ - ".gogoproto.verboseEqualAll"?: (boolean|null); + /** + * Converts this ResponseSetOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** FileOptions .gogoproto.faceAll */ - ".gogoproto.faceAll"?: (boolean|null); + /** Properties of a ResponseInitChain. */ + interface IResponseInitChain { - /** FileOptions .gogoproto.gostringAll */ - ".gogoproto.gostringAll"?: (boolean|null); + /** ResponseInitChain consensusParams */ + consensusParams?: (tendermint.abci.IConsensusParams|null); - /** FileOptions .gogoproto.populateAll */ - ".gogoproto.populateAll"?: (boolean|null); + /** ResponseInitChain validators */ + validators?: (tendermint.abci.IValidatorUpdate[]|null); - /** FileOptions .gogoproto.stringerAll */ - ".gogoproto.stringerAll"?: (boolean|null); + /** ResponseInitChain appHash */ + appHash?: (Uint8Array|null); + } - /** FileOptions .gogoproto.onlyoneAll */ - ".gogoproto.onlyoneAll"?: (boolean|null); + /** Represents a ResponseInitChain. */ + class ResponseInitChain implements IResponseInitChain { - /** FileOptions .gogoproto.equalAll */ - ".gogoproto.equalAll"?: (boolean|null); + /** + * Constructs a new ResponseInitChain. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IResponseInitChain); - /** FileOptions .gogoproto.descriptionAll */ - ".gogoproto.descriptionAll"?: (boolean|null); + /** ResponseInitChain consensusParams. */ + public consensusParams?: (tendermint.abci.IConsensusParams|null); - /** FileOptions .gogoproto.testgenAll */ - ".gogoproto.testgenAll"?: (boolean|null); + /** ResponseInitChain validators. */ + public validators: tendermint.abci.IValidatorUpdate[]; - /** FileOptions .gogoproto.benchgenAll */ - ".gogoproto.benchgenAll"?: (boolean|null); + /** ResponseInitChain appHash. */ + public appHash: Uint8Array; - /** FileOptions .gogoproto.marshalerAll */ - ".gogoproto.marshalerAll"?: (boolean|null); + /** + * Creates a new ResponseInitChain instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseInitChain instance + */ + public static create(properties?: tendermint.abci.IResponseInitChain): tendermint.abci.ResponseInitChain; - /** FileOptions .gogoproto.unmarshalerAll */ - ".gogoproto.unmarshalerAll"?: (boolean|null); + /** + * Encodes the specified ResponseInitChain message. Does not implicitly {@link tendermint.abci.ResponseInitChain.verify|verify} messages. + * @param message ResponseInitChain message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - /** FileOptions .gogoproto.stableMarshalerAll */ - ".gogoproto.stableMarshalerAll"?: (boolean|null); + /** + * Encodes the specified ResponseInitChain message, length delimited. Does not implicitly {@link tendermint.abci.ResponseInitChain.verify|verify} messages. + * @param message ResponseInitChain message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseInitChain, writer?: $protobuf.Writer): $protobuf.Writer; - /** FileOptions .gogoproto.sizerAll */ - ".gogoproto.sizerAll"?: (boolean|null); + /** + * Decodes a ResponseInitChain message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseInitChain; - /** FileOptions .gogoproto.goprotoEnumStringerAll */ - ".gogoproto.goprotoEnumStringerAll"?: (boolean|null); + /** + * Decodes a ResponseInitChain message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseInitChain; - /** FileOptions .gogoproto.enumStringerAll */ - ".gogoproto.enumStringerAll"?: (boolean|null); + /** + * Verifies a ResponseInitChain message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** FileOptions .gogoproto.unsafeMarshalerAll */ - ".gogoproto.unsafeMarshalerAll"?: (boolean|null); + /** + * Creates a ResponseInitChain message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseInitChain + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseInitChain; - /** FileOptions .gogoproto.unsafeUnmarshalerAll */ - ".gogoproto.unsafeUnmarshalerAll"?: (boolean|null); + /** + * Creates a plain object from a ResponseInitChain message. Also converts values to other types if specified. + * @param message ResponseInitChain + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseInitChain, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** FileOptions .gogoproto.goprotoExtensionsMapAll */ - ".gogoproto.goprotoExtensionsMapAll"?: (boolean|null); + /** + * Converts this ResponseInitChain to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** FileOptions .gogoproto.goprotoUnrecognizedAll */ - ".gogoproto.goprotoUnrecognizedAll"?: (boolean|null); + /** Properties of a ResponseQuery. */ + interface IResponseQuery { - /** FileOptions .gogoproto.gogoprotoImport */ - ".gogoproto.gogoprotoImport"?: (boolean|null); + /** ResponseQuery code */ + code?: (number|null); - /** FileOptions .gogoproto.protosizerAll */ - ".gogoproto.protosizerAll"?: (boolean|null); + /** ResponseQuery log */ + log?: (string|null); - /** FileOptions .gogoproto.compareAll */ - ".gogoproto.compareAll"?: (boolean|null); + /** ResponseQuery info */ + info?: (string|null); - /** FileOptions .gogoproto.typedeclAll */ - ".gogoproto.typedeclAll"?: (boolean|null); + /** ResponseQuery index */ + index?: (number|Long|null); - /** FileOptions .gogoproto.enumdeclAll */ - ".gogoproto.enumdeclAll"?: (boolean|null); + /** ResponseQuery key */ + key?: (Uint8Array|null); - /** FileOptions .gogoproto.goprotoRegistration */ - ".gogoproto.goprotoRegistration"?: (boolean|null); + /** ResponseQuery value */ + value?: (Uint8Array|null); - /** FileOptions .gogoproto.messagenameAll */ - ".gogoproto.messagenameAll"?: (boolean|null); + /** ResponseQuery proofOps */ + proofOps?: (tendermint.crypto.IProofOps|null); - /** FileOptions .gogoproto.goprotoSizecacheAll */ - ".gogoproto.goprotoSizecacheAll"?: (boolean|null); + /** ResponseQuery height */ + height?: (number|Long|null); - /** FileOptions .gogoproto.goprotoUnkeyedAll */ - ".gogoproto.goprotoUnkeyedAll"?: (boolean|null); + /** ResponseQuery codespace */ + codespace?: (string|null); } - /** Represents a FileOptions. */ - class FileOptions implements IFileOptions { + /** Represents a ResponseQuery. */ + class ResponseQuery implements IResponseQuery { /** - * Constructs a new FileOptions. + * Constructs a new ResponseQuery. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IFileOptions); - - /** FileOptions javaPackage. */ - public javaPackage: string; - - /** FileOptions javaOuterClassname. */ - public javaOuterClassname: string; - - /** FileOptions javaMultipleFiles. */ - public javaMultipleFiles: boolean; - - /** FileOptions javaGenerateEqualsAndHash. */ - public javaGenerateEqualsAndHash: boolean; - - /** FileOptions javaStringCheckUtf8. */ - public javaStringCheckUtf8: boolean; - - /** FileOptions optimizeFor. */ - public optimizeFor: google.protobuf.FileOptions.OptimizeMode; - - /** FileOptions goPackage. */ - public goPackage: string; - - /** FileOptions ccGenericServices. */ - public ccGenericServices: boolean; - - /** FileOptions javaGenericServices. */ - public javaGenericServices: boolean; - - /** FileOptions pyGenericServices. */ - public pyGenericServices: boolean; + constructor(properties?: tendermint.abci.IResponseQuery); - /** FileOptions phpGenericServices. */ - public phpGenericServices: boolean; + /** ResponseQuery code. */ + public code: number; - /** FileOptions deprecated. */ - public deprecated: boolean; + /** ResponseQuery log. */ + public log: string; - /** FileOptions ccEnableArenas. */ - public ccEnableArenas: boolean; + /** ResponseQuery info. */ + public info: string; - /** FileOptions objcClassPrefix. */ - public objcClassPrefix: string; + /** ResponseQuery index. */ + public index: (number|Long); - /** FileOptions csharpNamespace. */ - public csharpNamespace: string; + /** ResponseQuery key. */ + public key: Uint8Array; - /** FileOptions swiftPrefix. */ - public swiftPrefix: string; + /** ResponseQuery value. */ + public value: Uint8Array; - /** FileOptions phpClassPrefix. */ - public phpClassPrefix: string; + /** ResponseQuery proofOps. */ + public proofOps?: (tendermint.crypto.IProofOps|null); - /** FileOptions phpNamespace. */ - public phpNamespace: string; + /** ResponseQuery height. */ + public height: (number|Long); - /** FileOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** ResponseQuery codespace. */ + public codespace: string; /** - * Creates a new FileOptions instance using the specified properties. + * Creates a new ResponseQuery instance using the specified properties. * @param [properties] Properties to set - * @returns FileOptions instance + * @returns ResponseQuery instance */ - public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; + public static create(properties?: tendermint.abci.IResponseQuery): tendermint.abci.ResponseQuery; /** - * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @param message FileOptions message or plain object to encode + * Encodes the specified ResponseQuery message. Does not implicitly {@link tendermint.abci.ResponseQuery.verify|verify} messages. + * @param message ResponseQuery message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseQuery, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @param message FileOptions message or plain object to encode + * Encodes the specified ResponseQuery message, length delimited. Does not implicitly {@link tendermint.abci.ResponseQuery.verify|verify} messages. + * @param message ResponseQuery message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseQuery, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FileOptions message from the specified reader or buffer. + * Decodes a ResponseQuery message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FileOptions + * @returns ResponseQuery * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseQuery; /** - * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * Decodes a ResponseQuery message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FileOptions + * @returns ResponseQuery * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseQuery; /** - * Verifies a FileOptions message. + * Verifies a ResponseQuery message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseQuery message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FileOptions + * @returns ResponseQuery */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseQuery; /** - * Creates a plain object from a FileOptions message. Also converts values to other types if specified. - * @param message FileOptions + * Creates a plain object from a ResponseQuery message. Also converts values to other types if specified. + * @param message ResponseQuery * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseQuery, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FileOptions to JSON. + * Converts this ResponseQuery to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace FileOptions { + /** Properties of a ResponseBeginBlock. */ + interface IResponseBeginBlock { - /** OptimizeMode enum. */ - enum OptimizeMode { - SPEED = 1, - CODE_SIZE = 2, - LITE_RUNTIME = 3 - } + /** ResponseBeginBlock events */ + events?: (tendermint.abci.IEvent[]|null); } - /** Properties of a MessageOptions. */ - interface IMessageOptions { + /** Represents a ResponseBeginBlock. */ + class ResponseBeginBlock implements IResponseBeginBlock { - /** MessageOptions messageSetWireFormat */ - messageSetWireFormat?: (boolean|null); - - /** MessageOptions noStandardDescriptorAccessor */ - noStandardDescriptorAccessor?: (boolean|null); - - /** MessageOptions deprecated */ - deprecated?: (boolean|null); - - /** MessageOptions mapEntry */ - mapEntry?: (boolean|null); - - /** MessageOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** MessageOptions .gogoproto.goprotoGetters */ - ".gogoproto.goprotoGetters"?: (boolean|null); - - /** MessageOptions .gogoproto.goprotoStringer */ - ".gogoproto.goprotoStringer"?: (boolean|null); - - /** MessageOptions .gogoproto.verboseEqual */ - ".gogoproto.verboseEqual"?: (boolean|null); - - /** MessageOptions .gogoproto.face */ - ".gogoproto.face"?: (boolean|null); - - /** MessageOptions .gogoproto.gostring */ - ".gogoproto.gostring"?: (boolean|null); - - /** MessageOptions .gogoproto.populate */ - ".gogoproto.populate"?: (boolean|null); - - /** MessageOptions .gogoproto.stringer */ - ".gogoproto.stringer"?: (boolean|null); + /** + * Constructs a new ResponseBeginBlock. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IResponseBeginBlock); - /** MessageOptions .gogoproto.onlyone */ - ".gogoproto.onlyone"?: (boolean|null); + /** ResponseBeginBlock events. */ + public events: tendermint.abci.IEvent[]; - /** MessageOptions .gogoproto.equal */ - ".gogoproto.equal"?: (boolean|null); + /** + * Creates a new ResponseBeginBlock instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseBeginBlock instance + */ + public static create(properties?: tendermint.abci.IResponseBeginBlock): tendermint.abci.ResponseBeginBlock; - /** MessageOptions .gogoproto.description */ - ".gogoproto.description"?: (boolean|null); + /** + * Encodes the specified ResponseBeginBlock message. Does not implicitly {@link tendermint.abci.ResponseBeginBlock.verify|verify} messages. + * @param message ResponseBeginBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; - /** MessageOptions .gogoproto.testgen */ - ".gogoproto.testgen"?: (boolean|null); + /** + * Encodes the specified ResponseBeginBlock message, length delimited. Does not implicitly {@link tendermint.abci.ResponseBeginBlock.verify|verify} messages. + * @param message ResponseBeginBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseBeginBlock, writer?: $protobuf.Writer): $protobuf.Writer; - /** MessageOptions .gogoproto.benchgen */ - ".gogoproto.benchgen"?: (boolean|null); + /** + * Decodes a ResponseBeginBlock message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseBeginBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseBeginBlock; - /** MessageOptions .gogoproto.marshaler */ - ".gogoproto.marshaler"?: (boolean|null); + /** + * Decodes a ResponseBeginBlock message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseBeginBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseBeginBlock; - /** MessageOptions .gogoproto.unmarshaler */ - ".gogoproto.unmarshaler"?: (boolean|null); + /** + * Verifies a ResponseBeginBlock message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** MessageOptions .gogoproto.stableMarshaler */ - ".gogoproto.stableMarshaler"?: (boolean|null); + /** + * Creates a ResponseBeginBlock message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseBeginBlock + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseBeginBlock; - /** MessageOptions .gogoproto.sizer */ - ".gogoproto.sizer"?: (boolean|null); + /** + * Creates a plain object from a ResponseBeginBlock message. Also converts values to other types if specified. + * @param message ResponseBeginBlock + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseBeginBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** MessageOptions .gogoproto.unsafeMarshaler */ - ".gogoproto.unsafeMarshaler"?: (boolean|null); + /** + * Converts this ResponseBeginBlock to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** MessageOptions .gogoproto.unsafeUnmarshaler */ - ".gogoproto.unsafeUnmarshaler"?: (boolean|null); + /** Properties of a ResponseCheckTx. */ + interface IResponseCheckTx { - /** MessageOptions .gogoproto.goprotoExtensionsMap */ - ".gogoproto.goprotoExtensionsMap"?: (boolean|null); + /** ResponseCheckTx code */ + code?: (number|null); - /** MessageOptions .gogoproto.goprotoUnrecognized */ - ".gogoproto.goprotoUnrecognized"?: (boolean|null); + /** ResponseCheckTx data */ + data?: (Uint8Array|null); - /** MessageOptions .gogoproto.protosizer */ - ".gogoproto.protosizer"?: (boolean|null); + /** ResponseCheckTx log */ + log?: (string|null); - /** MessageOptions .gogoproto.compare */ - ".gogoproto.compare"?: (boolean|null); + /** ResponseCheckTx info */ + info?: (string|null); - /** MessageOptions .gogoproto.typedecl */ - ".gogoproto.typedecl"?: (boolean|null); + /** ResponseCheckTx gasWanted */ + gasWanted?: (number|Long|null); - /** MessageOptions .gogoproto.messagename */ - ".gogoproto.messagename"?: (boolean|null); + /** ResponseCheckTx gasUsed */ + gasUsed?: (number|Long|null); - /** MessageOptions .gogoproto.goprotoSizecache */ - ".gogoproto.goprotoSizecache"?: (boolean|null); + /** ResponseCheckTx events */ + events?: (tendermint.abci.IEvent[]|null); - /** MessageOptions .gogoproto.goprotoUnkeyed */ - ".gogoproto.goprotoUnkeyed"?: (boolean|null); + /** ResponseCheckTx codespace */ + codespace?: (string|null); } - /** Represents a MessageOptions. */ - class MessageOptions implements IMessageOptions { + /** Represents a ResponseCheckTx. */ + class ResponseCheckTx implements IResponseCheckTx { /** - * Constructs a new MessageOptions. + * Constructs a new ResponseCheckTx. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IMessageOptions); + constructor(properties?: tendermint.abci.IResponseCheckTx); - /** MessageOptions messageSetWireFormat. */ - public messageSetWireFormat: boolean; + /** ResponseCheckTx code. */ + public code: number; - /** MessageOptions noStandardDescriptorAccessor. */ - public noStandardDescriptorAccessor: boolean; + /** ResponseCheckTx data. */ + public data: Uint8Array; - /** MessageOptions deprecated. */ - public deprecated: boolean; + /** ResponseCheckTx log. */ + public log: string; - /** MessageOptions mapEntry. */ - public mapEntry: boolean; + /** ResponseCheckTx info. */ + public info: string; - /** MessageOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** ResponseCheckTx gasWanted. */ + public gasWanted: (number|Long); + + /** ResponseCheckTx gasUsed. */ + public gasUsed: (number|Long); + + /** ResponseCheckTx events. */ + public events: tendermint.abci.IEvent[]; + + /** ResponseCheckTx codespace. */ + public codespace: string; /** - * Creates a new MessageOptions instance using the specified properties. + * Creates a new ResponseCheckTx instance using the specified properties. * @param [properties] Properties to set - * @returns MessageOptions instance + * @returns ResponseCheckTx instance */ - public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; + public static create(properties?: tendermint.abci.IResponseCheckTx): tendermint.abci.ResponseCheckTx; /** - * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @param message MessageOptions message or plain object to encode + * Encodes the specified ResponseCheckTx message. Does not implicitly {@link tendermint.abci.ResponseCheckTx.verify|verify} messages. + * @param message ResponseCheckTx message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @param message MessageOptions message or plain object to encode + * Encodes the specified ResponseCheckTx message, length delimited. Does not implicitly {@link tendermint.abci.ResponseCheckTx.verify|verify} messages. + * @param message ResponseCheckTx message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseCheckTx, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a MessageOptions message from the specified reader or buffer. + * Decodes a ResponseCheckTx message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns MessageOptions + * @returns ResponseCheckTx * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseCheckTx; /** - * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * Decodes a ResponseCheckTx message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns MessageOptions + * @returns ResponseCheckTx * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseCheckTx; /** - * Verifies a MessageOptions message. + * Verifies a ResponseCheckTx message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseCheckTx message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns MessageOptions + * @returns ResponseCheckTx */ - public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseCheckTx; /** - * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. - * @param message MessageOptions + * Creates a plain object from a ResponseCheckTx message. Also converts values to other types if specified. + * @param message ResponseCheckTx * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseCheckTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this MessageOptions to JSON. + * Converts this ResponseCheckTx to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a FieldOptions. */ - interface IFieldOptions { - - /** FieldOptions ctype */ - ctype?: (google.protobuf.FieldOptions.CType|null); - - /** FieldOptions packed */ - packed?: (boolean|null); - - /** FieldOptions jstype */ - jstype?: (google.protobuf.FieldOptions.JSType|null); - - /** FieldOptions lazy */ - lazy?: (boolean|null); - - /** FieldOptions deprecated */ - deprecated?: (boolean|null); - - /** FieldOptions weak */ - weak?: (boolean|null); - - /** FieldOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** FieldOptions .gogoproto.nullable */ - ".gogoproto.nullable"?: (boolean|null); - - /** FieldOptions .gogoproto.embed */ - ".gogoproto.embed"?: (boolean|null); - - /** FieldOptions .gogoproto.customtype */ - ".gogoproto.customtype"?: (string|null); - - /** FieldOptions .gogoproto.customname */ - ".gogoproto.customname"?: (string|null); - - /** FieldOptions .gogoproto.jsontag */ - ".gogoproto.jsontag"?: (string|null); + /** Properties of a ResponseDeliverTx. */ + interface IResponseDeliverTx { - /** FieldOptions .gogoproto.moretags */ - ".gogoproto.moretags"?: (string|null); + /** ResponseDeliverTx code */ + code?: (number|null); - /** FieldOptions .gogoproto.casttype */ - ".gogoproto.casttype"?: (string|null); + /** ResponseDeliverTx data */ + data?: (Uint8Array|null); - /** FieldOptions .gogoproto.castkey */ - ".gogoproto.castkey"?: (string|null); + /** ResponseDeliverTx log */ + log?: (string|null); - /** FieldOptions .gogoproto.castvalue */ - ".gogoproto.castvalue"?: (string|null); + /** ResponseDeliverTx info */ + info?: (string|null); - /** FieldOptions .gogoproto.stdtime */ - ".gogoproto.stdtime"?: (boolean|null); + /** ResponseDeliverTx gasWanted */ + gasWanted?: (number|Long|null); - /** FieldOptions .gogoproto.stdduration */ - ".gogoproto.stdduration"?: (boolean|null); + /** ResponseDeliverTx gasUsed */ + gasUsed?: (number|Long|null); - /** FieldOptions .gogoproto.wktpointer */ - ".gogoproto.wktpointer"?: (boolean|null); + /** ResponseDeliverTx events */ + events?: (tendermint.abci.IEvent[]|null); - /** FieldOptions .gogoproto.castrepeated */ - ".gogoproto.castrepeated"?: (string|null); + /** ResponseDeliverTx codespace */ + codespace?: (string|null); } - /** Represents a FieldOptions. */ - class FieldOptions implements IFieldOptions { + /** Represents a ResponseDeliverTx. */ + class ResponseDeliverTx implements IResponseDeliverTx { /** - * Constructs a new FieldOptions. + * Constructs a new ResponseDeliverTx. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IFieldOptions); + constructor(properties?: tendermint.abci.IResponseDeliverTx); - /** FieldOptions ctype. */ - public ctype: google.protobuf.FieldOptions.CType; + /** ResponseDeliverTx code. */ + public code: number; - /** FieldOptions packed. */ - public packed: boolean; + /** ResponseDeliverTx data. */ + public data: Uint8Array; - /** FieldOptions jstype. */ - public jstype: google.protobuf.FieldOptions.JSType; + /** ResponseDeliverTx log. */ + public log: string; - /** FieldOptions lazy. */ - public lazy: boolean; + /** ResponseDeliverTx info. */ + public info: string; - /** FieldOptions deprecated. */ - public deprecated: boolean; + /** ResponseDeliverTx gasWanted. */ + public gasWanted: (number|Long); - /** FieldOptions weak. */ - public weak: boolean; + /** ResponseDeliverTx gasUsed. */ + public gasUsed: (number|Long); - /** FieldOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** ResponseDeliverTx events. */ + public events: tendermint.abci.IEvent[]; + + /** ResponseDeliverTx codespace. */ + public codespace: string; /** - * Creates a new FieldOptions instance using the specified properties. + * Creates a new ResponseDeliverTx instance using the specified properties. * @param [properties] Properties to set - * @returns FieldOptions instance + * @returns ResponseDeliverTx instance */ - public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; + public static create(properties?: tendermint.abci.IResponseDeliverTx): tendermint.abci.ResponseDeliverTx; /** - * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @param message FieldOptions message or plain object to encode + * Encodes the specified ResponseDeliverTx message. Does not implicitly {@link tendermint.abci.ResponseDeliverTx.verify|verify} messages. + * @param message ResponseDeliverTx message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @param message FieldOptions message or plain object to encode + * Encodes the specified ResponseDeliverTx message, length delimited. Does not implicitly {@link tendermint.abci.ResponseDeliverTx.verify|verify} messages. + * @param message ResponseDeliverTx message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseDeliverTx, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FieldOptions message from the specified reader or buffer. + * Decodes a ResponseDeliverTx message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FieldOptions + * @returns ResponseDeliverTx * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseDeliverTx; /** - * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * Decodes a ResponseDeliverTx message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FieldOptions + * @returns ResponseDeliverTx * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseDeliverTx; /** - * Verifies a FieldOptions message. + * Verifies a ResponseDeliverTx message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseDeliverTx message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FieldOptions + * @returns ResponseDeliverTx */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseDeliverTx; /** - * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. - * @param message FieldOptions + * Creates a plain object from a ResponseDeliverTx message. Also converts values to other types if specified. + * @param message ResponseDeliverTx * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseDeliverTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FieldOptions to JSON. + * Converts this ResponseDeliverTx to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace FieldOptions { + /** Properties of a ResponseEndBlock. */ + interface IResponseEndBlock { - /** CType enum. */ - enum CType { - STRING = 0, - CORD = 1, - STRING_PIECE = 2 - } - - /** JSType enum. */ - enum JSType { - JS_NORMAL = 0, - JS_STRING = 1, - JS_NUMBER = 2 - } - } + /** ResponseEndBlock validatorUpdates */ + validatorUpdates?: (tendermint.abci.IValidatorUpdate[]|null); - /** Properties of an OneofOptions. */ - interface IOneofOptions { + /** ResponseEndBlock consensusParamUpdates */ + consensusParamUpdates?: (tendermint.abci.IConsensusParams|null); - /** OneofOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + /** ResponseEndBlock events */ + events?: (tendermint.abci.IEvent[]|null); } - /** Represents an OneofOptions. */ - class OneofOptions implements IOneofOptions { + /** Represents a ResponseEndBlock. */ + class ResponseEndBlock implements IResponseEndBlock { /** - * Constructs a new OneofOptions. + * Constructs a new ResponseEndBlock. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IOneofOptions); + constructor(properties?: tendermint.abci.IResponseEndBlock); - /** OneofOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** ResponseEndBlock validatorUpdates. */ + public validatorUpdates: tendermint.abci.IValidatorUpdate[]; + + /** ResponseEndBlock consensusParamUpdates. */ + public consensusParamUpdates?: (tendermint.abci.IConsensusParams|null); + + /** ResponseEndBlock events. */ + public events: tendermint.abci.IEvent[]; /** - * Creates a new OneofOptions instance using the specified properties. + * Creates a new ResponseEndBlock instance using the specified properties. * @param [properties] Properties to set - * @returns OneofOptions instance + * @returns ResponseEndBlock instance */ - public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; + public static create(properties?: tendermint.abci.IResponseEndBlock): tendermint.abci.ResponseEndBlock; /** - * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @param message OneofOptions message or plain object to encode + * Encodes the specified ResponseEndBlock message. Does not implicitly {@link tendermint.abci.ResponseEndBlock.verify|verify} messages. + * @param message ResponseEndBlock message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @param message OneofOptions message or plain object to encode + * Encodes the specified ResponseEndBlock message, length delimited. Does not implicitly {@link tendermint.abci.ResponseEndBlock.verify|verify} messages. + * @param message ResponseEndBlock message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseEndBlock, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an OneofOptions message from the specified reader or buffer. + * Decodes a ResponseEndBlock message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns OneofOptions + * @returns ResponseEndBlock * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseEndBlock; /** - * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * Decodes a ResponseEndBlock message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns OneofOptions + * @returns ResponseEndBlock * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseEndBlock; /** - * Verifies an OneofOptions message. + * Verifies a ResponseEndBlock message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseEndBlock message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns OneofOptions + * @returns ResponseEndBlock */ - public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseEndBlock; /** - * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. - * @param message OneofOptions + * Creates a plain object from a ResponseEndBlock message. Also converts values to other types if specified. + * @param message ResponseEndBlock * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseEndBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this OneofOptions to JSON. + * Converts this ResponseEndBlock to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an EnumOptions. */ - interface IEnumOptions { + /** Properties of a ResponseCommit. */ + interface IResponseCommit { - /** EnumOptions allowAlias */ - allowAlias?: (boolean|null); + /** ResponseCommit data */ + data?: (Uint8Array|null); - /** EnumOptions deprecated */ - deprecated?: (boolean|null); + /** ResponseCommit retainHeight */ + retainHeight?: (number|Long|null); + } - /** EnumOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + /** Represents a ResponseCommit. */ + class ResponseCommit implements IResponseCommit { - /** EnumOptions .gogoproto.goprotoEnumPrefix */ - ".gogoproto.goprotoEnumPrefix"?: (boolean|null); + /** + * Constructs a new ResponseCommit. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IResponseCommit); - /** EnumOptions .gogoproto.goprotoEnumStringer */ - ".gogoproto.goprotoEnumStringer"?: (boolean|null); + /** ResponseCommit data. */ + public data: Uint8Array; - /** EnumOptions .gogoproto.enumStringer */ - ".gogoproto.enumStringer"?: (boolean|null); + /** ResponseCommit retainHeight. */ + public retainHeight: (number|Long); - /** EnumOptions .gogoproto.enumCustomname */ - ".gogoproto.enumCustomname"?: (string|null); + /** + * Creates a new ResponseCommit instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseCommit instance + */ + public static create(properties?: tendermint.abci.IResponseCommit): tendermint.abci.ResponseCommit; - /** EnumOptions .gogoproto.enumdecl */ - ".gogoproto.enumdecl"?: (boolean|null); + /** + * Encodes the specified ResponseCommit message. Does not implicitly {@link tendermint.abci.ResponseCommit.verify|verify} messages. + * @param message ResponseCommit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseCommit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResponseCommit message, length delimited. Does not implicitly {@link tendermint.abci.ResponseCommit.verify|verify} messages. + * @param message ResponseCommit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseCommit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResponseCommit message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseCommit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseCommit; + + /** + * Decodes a ResponseCommit message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseCommit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseCommit; + + /** + * Verifies a ResponseCommit message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResponseCommit message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseCommit + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseCommit; + + /** + * Creates a plain object from a ResponseCommit message. Also converts values to other types if specified. + * @param message ResponseCommit + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseCommit, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResponseCommit to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; } - /** Represents an EnumOptions. */ - class EnumOptions implements IEnumOptions { + /** Properties of a ResponseListSnapshots. */ + interface IResponseListSnapshots { + + /** ResponseListSnapshots snapshots */ + snapshots?: (tendermint.abci.ISnapshot[]|null); + } + + /** Represents a ResponseListSnapshots. */ + class ResponseListSnapshots implements IResponseListSnapshots { /** - * Constructs a new EnumOptions. + * Constructs a new ResponseListSnapshots. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IEnumOptions); + constructor(properties?: tendermint.abci.IResponseListSnapshots); - /** EnumOptions allowAlias. */ - public allowAlias: boolean; + /** ResponseListSnapshots snapshots. */ + public snapshots: tendermint.abci.ISnapshot[]; - /** EnumOptions deprecated. */ - public deprecated: boolean; + /** + * Creates a new ResponseListSnapshots instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseListSnapshots instance + */ + public static create(properties?: tendermint.abci.IResponseListSnapshots): tendermint.abci.ResponseListSnapshots; - /** EnumOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** + * Encodes the specified ResponseListSnapshots message. Does not implicitly {@link tendermint.abci.ResponseListSnapshots.verify|verify} messages. + * @param message ResponseListSnapshots message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseListSnapshots, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Creates a new EnumOptions instance using the specified properties. + * Encodes the specified ResponseListSnapshots message, length delimited. Does not implicitly {@link tendermint.abci.ResponseListSnapshots.verify|verify} messages. + * @param message ResponseListSnapshots message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseListSnapshots, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResponseListSnapshots message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseListSnapshots; + + /** + * Decodes a ResponseListSnapshots message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseListSnapshots; + + /** + * Verifies a ResponseListSnapshots message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResponseListSnapshots message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseListSnapshots + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseListSnapshots; + + /** + * Creates a plain object from a ResponseListSnapshots message. Also converts values to other types if specified. + * @param message ResponseListSnapshots + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseListSnapshots, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResponseListSnapshots to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ResponseOfferSnapshot. */ + interface IResponseOfferSnapshot { + + /** ResponseOfferSnapshot result */ + result?: (tendermint.abci.ResponseOfferSnapshot.Result|null); + } + + /** Represents a ResponseOfferSnapshot. */ + class ResponseOfferSnapshot implements IResponseOfferSnapshot { + + /** + * Constructs a new ResponseOfferSnapshot. * @param [properties] Properties to set - * @returns EnumOptions instance */ - public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; + constructor(properties?: tendermint.abci.IResponseOfferSnapshot); + + /** ResponseOfferSnapshot result. */ + public result: tendermint.abci.ResponseOfferSnapshot.Result; /** - * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @param message EnumOptions message or plain object to encode + * Creates a new ResponseOfferSnapshot instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseOfferSnapshot instance + */ + public static create(properties?: tendermint.abci.IResponseOfferSnapshot): tendermint.abci.ResponseOfferSnapshot; + + /** + * Encodes the specified ResponseOfferSnapshot message. Does not implicitly {@link tendermint.abci.ResponseOfferSnapshot.verify|verify} messages. + * @param message ResponseOfferSnapshot message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: tendermint.abci.IResponseOfferSnapshot, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @param message EnumOptions message or plain object to encode + * Encodes the specified ResponseOfferSnapshot message, length delimited. Does not implicitly {@link tendermint.abci.ResponseOfferSnapshot.verify|verify} messages. + * @param message ResponseOfferSnapshot message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: tendermint.abci.IResponseOfferSnapshot, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an EnumOptions message from the specified reader or buffer. + * Decodes a ResponseOfferSnapshot message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns EnumOptions + * @returns ResponseOfferSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseOfferSnapshot; /** - * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * Decodes a ResponseOfferSnapshot message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns EnumOptions + * @returns ResponseOfferSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseOfferSnapshot; /** - * Verifies an EnumOptions message. + * Verifies a ResponseOfferSnapshot message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * Creates a ResponseOfferSnapshot message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns EnumOptions + * @returns ResponseOfferSnapshot */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseOfferSnapshot; /** - * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. - * @param message EnumOptions + * Creates a plain object from a ResponseOfferSnapshot message. Also converts values to other types if specified. + * @param message ResponseOfferSnapshot * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: tendermint.abci.ResponseOfferSnapshot, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this EnumOptions to JSON. + * Converts this ResponseOfferSnapshot to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an EnumValueOptions. */ - interface IEnumValueOptions { + namespace ResponseOfferSnapshot { - /** EnumValueOptions deprecated */ - deprecated?: (boolean|null); + /** Result enum. */ + enum Result { + UNKNOWN = 0, + ACCEPT = 1, + ABORT = 2, + REJECT = 3, + REJECT_FORMAT = 4, + REJECT_SENDER = 5 + } + } - /** EnumValueOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + /** Properties of a ResponseLoadSnapshotChunk. */ + interface IResponseLoadSnapshotChunk { - /** EnumValueOptions .gogoproto.enumvalueCustomname */ - ".gogoproto.enumvalueCustomname"?: (string|null); + /** ResponseLoadSnapshotChunk chunk */ + chunk?: (Uint8Array|null); } - /** Represents an EnumValueOptions. */ - class EnumValueOptions implements IEnumValueOptions { + /** Represents a ResponseLoadSnapshotChunk. */ + class ResponseLoadSnapshotChunk implements IResponseLoadSnapshotChunk { /** - * Constructs a new EnumValueOptions. + * Constructs a new ResponseLoadSnapshotChunk. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IEnumValueOptions); + constructor(properties?: tendermint.abci.IResponseLoadSnapshotChunk); - /** EnumValueOptions deprecated. */ - public deprecated: boolean; + /** ResponseLoadSnapshotChunk chunk. */ + public chunk: Uint8Array; + + /** + * Creates a new ResponseLoadSnapshotChunk instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseLoadSnapshotChunk instance + */ + public static create(properties?: tendermint.abci.IResponseLoadSnapshotChunk): tendermint.abci.ResponseLoadSnapshotChunk; + + /** + * Encodes the specified ResponseLoadSnapshotChunk message. Does not implicitly {@link tendermint.abci.ResponseLoadSnapshotChunk.verify|verify} messages. + * @param message ResponseLoadSnapshotChunk message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseLoadSnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResponseLoadSnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.ResponseLoadSnapshotChunk.verify|verify} messages. + * @param message ResponseLoadSnapshotChunk message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseLoadSnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResponseLoadSnapshotChunk message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseLoadSnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseLoadSnapshotChunk; + + /** + * Decodes a ResponseLoadSnapshotChunk message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseLoadSnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseLoadSnapshotChunk; + + /** + * Verifies a ResponseLoadSnapshotChunk message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResponseLoadSnapshotChunk message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseLoadSnapshotChunk + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseLoadSnapshotChunk; + + /** + * Creates a plain object from a ResponseLoadSnapshotChunk message. Also converts values to other types if specified. + * @param message ResponseLoadSnapshotChunk + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseLoadSnapshotChunk, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResponseLoadSnapshotChunk to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ResponseApplySnapshotChunk. */ + interface IResponseApplySnapshotChunk { + + /** ResponseApplySnapshotChunk result */ + result?: (tendermint.abci.ResponseApplySnapshotChunk.Result|null); + + /** ResponseApplySnapshotChunk refetchChunks */ + refetchChunks?: (number[]|null); + + /** ResponseApplySnapshotChunk rejectSenders */ + rejectSenders?: (string[]|null); + } + + /** Represents a ResponseApplySnapshotChunk. */ + class ResponseApplySnapshotChunk implements IResponseApplySnapshotChunk { + + /** + * Constructs a new ResponseApplySnapshotChunk. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IResponseApplySnapshotChunk); + + /** ResponseApplySnapshotChunk result. */ + public result: tendermint.abci.ResponseApplySnapshotChunk.Result; + + /** ResponseApplySnapshotChunk refetchChunks. */ + public refetchChunks: number[]; + + /** ResponseApplySnapshotChunk rejectSenders. */ + public rejectSenders: string[]; + + /** + * Creates a new ResponseApplySnapshotChunk instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseApplySnapshotChunk instance + */ + public static create(properties?: tendermint.abci.IResponseApplySnapshotChunk): tendermint.abci.ResponseApplySnapshotChunk; + + /** + * Encodes the specified ResponseApplySnapshotChunk message. Does not implicitly {@link tendermint.abci.ResponseApplySnapshotChunk.verify|verify} messages. + * @param message ResponseApplySnapshotChunk message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IResponseApplySnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResponseApplySnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.ResponseApplySnapshotChunk.verify|verify} messages. + * @param message ResponseApplySnapshotChunk message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IResponseApplySnapshotChunk, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResponseApplySnapshotChunk message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseApplySnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ResponseApplySnapshotChunk; + + /** + * Decodes a ResponseApplySnapshotChunk message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseApplySnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ResponseApplySnapshotChunk; + + /** + * Verifies a ResponseApplySnapshotChunk message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResponseApplySnapshotChunk message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseApplySnapshotChunk + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ResponseApplySnapshotChunk; + + /** + * Creates a plain object from a ResponseApplySnapshotChunk message. Also converts values to other types if specified. + * @param message ResponseApplySnapshotChunk + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ResponseApplySnapshotChunk, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResponseApplySnapshotChunk to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace ResponseApplySnapshotChunk { + + /** Result enum. */ + enum Result { + UNKNOWN = 0, + ACCEPT = 1, + ABORT = 2, + RETRY = 3, + RETRY_SNAPSHOT = 4, + REJECT_SNAPSHOT = 5 + } + } + + /** Properties of a ConsensusParams. */ + interface IConsensusParams { + + /** ConsensusParams block */ + block?: (tendermint.abci.IBlockParams|null); + + /** ConsensusParams evidence */ + evidence?: (tendermint.types.IEvidenceParams|null); + + /** ConsensusParams validator */ + validator?: (tendermint.types.IValidatorParams|null); + + /** ConsensusParams version */ + version?: (tendermint.types.IVersionParams|null); + } + + /** Represents a ConsensusParams. */ + class ConsensusParams implements IConsensusParams { + + /** + * Constructs a new ConsensusParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IConsensusParams); + + /** ConsensusParams block. */ + public block?: (tendermint.abci.IBlockParams|null); + + /** ConsensusParams evidence. */ + public evidence?: (tendermint.types.IEvidenceParams|null); + + /** ConsensusParams validator. */ + public validator?: (tendermint.types.IValidatorParams|null); + + /** ConsensusParams version. */ + public version?: (tendermint.types.IVersionParams|null); + + /** + * Creates a new ConsensusParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ConsensusParams instance + */ + public static create(properties?: tendermint.abci.IConsensusParams): tendermint.abci.ConsensusParams; + + /** + * Encodes the specified ConsensusParams message. Does not implicitly {@link tendermint.abci.ConsensusParams.verify|verify} messages. + * @param message ConsensusParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IConsensusParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link tendermint.abci.ConsensusParams.verify|verify} messages. + * @param message ConsensusParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IConsensusParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConsensusParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ConsensusParams; + + /** + * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ConsensusParams; + + /** + * Verifies a ConsensusParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConsensusParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ConsensusParams; + + /** + * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. + * @param message ConsensusParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ConsensusParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConsensusParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockParams. */ + interface IBlockParams { + + /** BlockParams maxBytes */ + maxBytes?: (number|Long|null); + + /** BlockParams maxGas */ + maxGas?: (number|Long|null); + } + + /** Represents a BlockParams. */ + class BlockParams implements IBlockParams { + + /** + * Constructs a new BlockParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IBlockParams); + + /** BlockParams maxBytes. */ + public maxBytes: (number|Long); + + /** BlockParams maxGas. */ + public maxGas: (number|Long); + + /** + * Creates a new BlockParams instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockParams instance + */ + public static create(properties?: tendermint.abci.IBlockParams): tendermint.abci.BlockParams; + + /** + * Encodes the specified BlockParams message. Does not implicitly {@link tendermint.abci.BlockParams.verify|verify} messages. + * @param message BlockParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IBlockParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link tendermint.abci.BlockParams.verify|verify} messages. + * @param message BlockParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IBlockParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.BlockParams; + + /** + * Decodes a BlockParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.BlockParams; + + /** + * Verifies a BlockParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.BlockParams; + + /** + * Creates a plain object from a BlockParams message. Also converts values to other types if specified. + * @param message BlockParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.BlockParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LastCommitInfo. */ + interface ILastCommitInfo { + + /** LastCommitInfo round */ + round?: (number|null); + + /** LastCommitInfo votes */ + votes?: (tendermint.abci.IVoteInfo[]|null); + } + + /** Represents a LastCommitInfo. */ + class LastCommitInfo implements ILastCommitInfo { + + /** + * Constructs a new LastCommitInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.ILastCommitInfo); + + /** LastCommitInfo round. */ + public round: number; + + /** LastCommitInfo votes. */ + public votes: tendermint.abci.IVoteInfo[]; + + /** + * Creates a new LastCommitInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns LastCommitInfo instance + */ + public static create(properties?: tendermint.abci.ILastCommitInfo): tendermint.abci.LastCommitInfo; + + /** + * Encodes the specified LastCommitInfo message. Does not implicitly {@link tendermint.abci.LastCommitInfo.verify|verify} messages. + * @param message LastCommitInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.ILastCommitInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LastCommitInfo message, length delimited. Does not implicitly {@link tendermint.abci.LastCommitInfo.verify|verify} messages. + * @param message LastCommitInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.ILastCommitInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LastCommitInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LastCommitInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.LastCommitInfo; + + /** + * Decodes a LastCommitInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LastCommitInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.LastCommitInfo; + + /** + * Verifies a LastCommitInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LastCommitInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LastCommitInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.LastCommitInfo; + + /** + * Creates a plain object from a LastCommitInfo message. Also converts values to other types if specified. + * @param message LastCommitInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.LastCommitInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LastCommitInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Event. */ + interface IEvent { + + /** Event type */ + type?: (string|null); + + /** Event attributes */ + attributes?: (tendermint.abci.IEventAttribute[]|null); + } + + /** Represents an Event. */ + class Event implements IEvent { + + /** + * Constructs a new Event. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IEvent); + + /** Event type. */ + public type: string; + + /** Event attributes. */ + public attributes: tendermint.abci.IEventAttribute[]; + + /** + * Creates a new Event instance using the specified properties. + * @param [properties] Properties to set + * @returns Event instance + */ + public static create(properties?: tendermint.abci.IEvent): tendermint.abci.Event; + + /** + * Encodes the specified Event message. Does not implicitly {@link tendermint.abci.Event.verify|verify} messages. + * @param message Event message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IEvent, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Event message, length delimited. Does not implicitly {@link tendermint.abci.Event.verify|verify} messages. + * @param message Event message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IEvent, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Event message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Event + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.Event; + + /** + * Decodes an Event message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Event + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.Event; + + /** + * Verifies an Event message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Event message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Event + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.Event; + + /** + * Creates a plain object from an Event message. Also converts values to other types if specified. + * @param message Event + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.Event, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Event to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EventAttribute. */ + interface IEventAttribute { + + /** EventAttribute key */ + key?: (Uint8Array|null); + + /** EventAttribute value */ + value?: (Uint8Array|null); + + /** EventAttribute index */ + index?: (boolean|null); + } + + /** Represents an EventAttribute. */ + class EventAttribute implements IEventAttribute { + + /** + * Constructs a new EventAttribute. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IEventAttribute); + + /** EventAttribute key. */ + public key: Uint8Array; + + /** EventAttribute value. */ + public value: Uint8Array; + + /** EventAttribute index. */ + public index: boolean; + + /** + * Creates a new EventAttribute instance using the specified properties. + * @param [properties] Properties to set + * @returns EventAttribute instance + */ + public static create(properties?: tendermint.abci.IEventAttribute): tendermint.abci.EventAttribute; + + /** + * Encodes the specified EventAttribute message. Does not implicitly {@link tendermint.abci.EventAttribute.verify|verify} messages. + * @param message EventAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IEventAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EventAttribute message, length delimited. Does not implicitly {@link tendermint.abci.EventAttribute.verify|verify} messages. + * @param message EventAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IEventAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EventAttribute message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EventAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.EventAttribute; + + /** + * Decodes an EventAttribute message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EventAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.EventAttribute; + + /** + * Verifies an EventAttribute message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EventAttribute message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EventAttribute + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.EventAttribute; + + /** + * Creates a plain object from an EventAttribute message. Also converts values to other types if specified. + * @param message EventAttribute + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.EventAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EventAttribute to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TxResult. */ + interface ITxResult { + + /** TxResult height */ + height?: (number|Long|null); + + /** TxResult index */ + index?: (number|null); + + /** TxResult tx */ + tx?: (Uint8Array|null); + + /** TxResult result */ + result?: (tendermint.abci.IResponseDeliverTx|null); + } + + /** Represents a TxResult. */ + class TxResult implements ITxResult { + + /** + * Constructs a new TxResult. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.ITxResult); + + /** TxResult height. */ + public height: (number|Long); + + /** TxResult index. */ + public index: number; + + /** TxResult tx. */ + public tx: Uint8Array; + + /** TxResult result. */ + public result?: (tendermint.abci.IResponseDeliverTx|null); + + /** + * Creates a new TxResult instance using the specified properties. + * @param [properties] Properties to set + * @returns TxResult instance + */ + public static create(properties?: tendermint.abci.ITxResult): tendermint.abci.TxResult; + + /** + * Encodes the specified TxResult message. Does not implicitly {@link tendermint.abci.TxResult.verify|verify} messages. + * @param message TxResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.ITxResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TxResult message, length delimited. Does not implicitly {@link tendermint.abci.TxResult.verify|verify} messages. + * @param message TxResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.ITxResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TxResult message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TxResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.TxResult; + + /** + * Decodes a TxResult message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TxResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.TxResult; + + /** + * Verifies a TxResult message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TxResult message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TxResult + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.TxResult; + + /** + * Creates a plain object from a TxResult message. Also converts values to other types if specified. + * @param message TxResult + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.TxResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TxResult to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Validator. */ + interface IValidator { + + /** Validator address */ + address?: (Uint8Array|null); + + /** Validator power */ + power?: (number|Long|null); + } + + /** Represents a Validator. */ + class Validator implements IValidator { + + /** + * Constructs a new Validator. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IValidator); + + /** Validator address. */ + public address: Uint8Array; + + /** Validator power. */ + public power: (number|Long); + + /** + * Creates a new Validator instance using the specified properties. + * @param [properties] Properties to set + * @returns Validator instance + */ + public static create(properties?: tendermint.abci.IValidator): tendermint.abci.Validator; + + /** + * Encodes the specified Validator message. Does not implicitly {@link tendermint.abci.Validator.verify|verify} messages. + * @param message Validator message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IValidator, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Validator message, length delimited. Does not implicitly {@link tendermint.abci.Validator.verify|verify} messages. + * @param message Validator message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IValidator, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Validator message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.Validator; + + /** + * Decodes a Validator message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.Validator; + + /** + * Verifies a Validator message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Validator message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Validator + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.Validator; + + /** + * Creates a plain object from a Validator message. Also converts values to other types if specified. + * @param message Validator + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.Validator, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Validator to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ValidatorUpdate. */ + interface IValidatorUpdate { + + /** ValidatorUpdate pubKey */ + pubKey?: (tendermint.crypto.IPublicKey|null); + + /** ValidatorUpdate power */ + power?: (number|Long|null); + } + + /** Represents a ValidatorUpdate. */ + class ValidatorUpdate implements IValidatorUpdate { + + /** + * Constructs a new ValidatorUpdate. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IValidatorUpdate); + + /** ValidatorUpdate pubKey. */ + public pubKey?: (tendermint.crypto.IPublicKey|null); + + /** ValidatorUpdate power. */ + public power: (number|Long); + + /** + * Creates a new ValidatorUpdate instance using the specified properties. + * @param [properties] Properties to set + * @returns ValidatorUpdate instance + */ + public static create(properties?: tendermint.abci.IValidatorUpdate): tendermint.abci.ValidatorUpdate; + + /** + * Encodes the specified ValidatorUpdate message. Does not implicitly {@link tendermint.abci.ValidatorUpdate.verify|verify} messages. + * @param message ValidatorUpdate message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IValidatorUpdate, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ValidatorUpdate message, length delimited. Does not implicitly {@link tendermint.abci.ValidatorUpdate.verify|verify} messages. + * @param message ValidatorUpdate message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IValidatorUpdate, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ValidatorUpdate message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ValidatorUpdate + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.ValidatorUpdate; + + /** + * Decodes a ValidatorUpdate message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ValidatorUpdate + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.ValidatorUpdate; + + /** + * Verifies a ValidatorUpdate message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ValidatorUpdate message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ValidatorUpdate + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.ValidatorUpdate; + + /** + * Creates a plain object from a ValidatorUpdate message. Also converts values to other types if specified. + * @param message ValidatorUpdate + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.ValidatorUpdate, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ValidatorUpdate to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VoteInfo. */ + interface IVoteInfo { + + /** VoteInfo validator */ + validator?: (tendermint.abci.IValidator|null); + + /** VoteInfo signedLastBlock */ + signedLastBlock?: (boolean|null); + } + + /** Represents a VoteInfo. */ + class VoteInfo implements IVoteInfo { + + /** + * Constructs a new VoteInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IVoteInfo); + + /** VoteInfo validator. */ + public validator?: (tendermint.abci.IValidator|null); + + /** VoteInfo signedLastBlock. */ + public signedLastBlock: boolean; + + /** + * Creates a new VoteInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns VoteInfo instance + */ + public static create(properties?: tendermint.abci.IVoteInfo): tendermint.abci.VoteInfo; + + /** + * Encodes the specified VoteInfo message. Does not implicitly {@link tendermint.abci.VoteInfo.verify|verify} messages. + * @param message VoteInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IVoteInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VoteInfo message, length delimited. Does not implicitly {@link tendermint.abci.VoteInfo.verify|verify} messages. + * @param message VoteInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IVoteInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VoteInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VoteInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.VoteInfo; + + /** + * Decodes a VoteInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VoteInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.VoteInfo; + + /** + * Verifies a VoteInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VoteInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VoteInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.VoteInfo; + + /** + * Creates a plain object from a VoteInfo message. Also converts values to other types if specified. + * @param message VoteInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.VoteInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VoteInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** EvidenceType enum. */ + enum EvidenceType { + UNKNOWN = 0, + DUPLICATE_VOTE = 1, + LIGHT_CLIENT_ATTACK = 2 + } + + /** Properties of an Evidence. */ + interface IEvidence { + + /** Evidence type */ + type?: (tendermint.abci.EvidenceType|null); + + /** Evidence validator */ + validator?: (tendermint.abci.IValidator|null); + + /** Evidence height */ + height?: (number|Long|null); + + /** Evidence time */ + time?: (google.protobuf.ITimestamp|null); + + /** Evidence totalVotingPower */ + totalVotingPower?: (number|Long|null); + } + + /** Represents an Evidence. */ + class Evidence implements IEvidence { + + /** + * Constructs a new Evidence. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.IEvidence); + + /** Evidence type. */ + public type: tendermint.abci.EvidenceType; + + /** Evidence validator. */ + public validator?: (tendermint.abci.IValidator|null); + + /** Evidence height. */ + public height: (number|Long); + + /** Evidence time. */ + public time?: (google.protobuf.ITimestamp|null); + + /** Evidence totalVotingPower. */ + public totalVotingPower: (number|Long); + + /** + * Creates a new Evidence instance using the specified properties. + * @param [properties] Properties to set + * @returns Evidence instance + */ + public static create(properties?: tendermint.abci.IEvidence): tendermint.abci.Evidence; + + /** + * Encodes the specified Evidence message. Does not implicitly {@link tendermint.abci.Evidence.verify|verify} messages. + * @param message Evidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.IEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Evidence message, length delimited. Does not implicitly {@link tendermint.abci.Evidence.verify|verify} messages. + * @param message Evidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.IEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Evidence message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Evidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.Evidence; + + /** + * Decodes an Evidence message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Evidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.Evidence; + + /** + * Verifies an Evidence message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Evidence message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Evidence + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.Evidence; + + /** + * Creates a plain object from an Evidence message. Also converts values to other types if specified. + * @param message Evidence + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.Evidence, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Evidence to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Snapshot. */ + interface ISnapshot { + + /** Snapshot height */ + height?: (number|Long|null); + + /** Snapshot format */ + format?: (number|null); + + /** Snapshot chunks */ + chunks?: (number|null); + + /** Snapshot hash */ + hash?: (Uint8Array|null); + + /** Snapshot metadata */ + metadata?: (Uint8Array|null); + } + + /** Represents a Snapshot. */ + class Snapshot implements ISnapshot { + + /** + * Constructs a new Snapshot. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.abci.ISnapshot); + + /** Snapshot height. */ + public height: (number|Long); + + /** Snapshot format. */ + public format: number; + + /** Snapshot chunks. */ + public chunks: number; + + /** Snapshot hash. */ + public hash: Uint8Array; + + /** Snapshot metadata. */ + public metadata: Uint8Array; + + /** + * Creates a new Snapshot instance using the specified properties. + * @param [properties] Properties to set + * @returns Snapshot instance + */ + public static create(properties?: tendermint.abci.ISnapshot): tendermint.abci.Snapshot; + + /** + * Encodes the specified Snapshot message. Does not implicitly {@link tendermint.abci.Snapshot.verify|verify} messages. + * @param message Snapshot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.abci.ISnapshot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Snapshot message, length delimited. Does not implicitly {@link tendermint.abci.Snapshot.verify|verify} messages. + * @param message Snapshot message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.abci.ISnapshot, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Snapshot message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Snapshot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.abci.Snapshot; + + /** + * Decodes a Snapshot message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Snapshot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.abci.Snapshot; + + /** + * Verifies a Snapshot message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Snapshot message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Snapshot + */ + public static fromObject(object: { [k: string]: any }): tendermint.abci.Snapshot; + + /** + * Creates a plain object from a Snapshot message. Also converts values to other types if specified. + * @param message Snapshot + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.abci.Snapshot, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Snapshot to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Represents a ABCIApplication */ + class ABCIApplication extends $protobuf.rpc.Service { + + /** + * Constructs a new ABCIApplication service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new ABCIApplication service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ABCIApplication; + + /** + * Calls Echo. + * @param request RequestEcho message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseEcho + */ + public echo(request: tendermint.abci.IRequestEcho, callback: tendermint.abci.ABCIApplication.EchoCallback): void; + + /** + * Calls Echo. + * @param request RequestEcho message or plain object + * @returns Promise + */ + public echo(request: tendermint.abci.IRequestEcho): Promise; + + /** + * Calls Flush. + * @param request RequestFlush message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseFlush + */ + public flush(request: tendermint.abci.IRequestFlush, callback: tendermint.abci.ABCIApplication.FlushCallback): void; + + /** + * Calls Flush. + * @param request RequestFlush message or plain object + * @returns Promise + */ + public flush(request: tendermint.abci.IRequestFlush): Promise; + + /** + * Calls Info. + * @param request RequestInfo message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseInfo + */ + public info(request: tendermint.abci.IRequestInfo, callback: tendermint.abci.ABCIApplication.InfoCallback): void; + + /** + * Calls Info. + * @param request RequestInfo message or plain object + * @returns Promise + */ + public info(request: tendermint.abci.IRequestInfo): Promise; + + /** + * Calls SetOption. + * @param request RequestSetOption message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseSetOption + */ + public setOption(request: tendermint.abci.IRequestSetOption, callback: tendermint.abci.ABCIApplication.SetOptionCallback): void; + + /** + * Calls SetOption. + * @param request RequestSetOption message or plain object + * @returns Promise + */ + public setOption(request: tendermint.abci.IRequestSetOption): Promise; + + /** + * Calls DeliverTx. + * @param request RequestDeliverTx message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseDeliverTx + */ + public deliverTx(request: tendermint.abci.IRequestDeliverTx, callback: tendermint.abci.ABCIApplication.DeliverTxCallback): void; + + /** + * Calls DeliverTx. + * @param request RequestDeliverTx message or plain object + * @returns Promise + */ + public deliverTx(request: tendermint.abci.IRequestDeliverTx): Promise; + + /** + * Calls CheckTx. + * @param request RequestCheckTx message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseCheckTx + */ + public checkTx(request: tendermint.abci.IRequestCheckTx, callback: tendermint.abci.ABCIApplication.CheckTxCallback): void; + + /** + * Calls CheckTx. + * @param request RequestCheckTx message or plain object + * @returns Promise + */ + public checkTx(request: tendermint.abci.IRequestCheckTx): Promise; + + /** + * Calls Query. + * @param request RequestQuery message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseQuery + */ + public query(request: tendermint.abci.IRequestQuery, callback: tendermint.abci.ABCIApplication.QueryCallback): void; + + /** + * Calls Query. + * @param request RequestQuery message or plain object + * @returns Promise + */ + public query(request: tendermint.abci.IRequestQuery): Promise; + + /** + * Calls Commit. + * @param request RequestCommit message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseCommit + */ + public commit(request: tendermint.abci.IRequestCommit, callback: tendermint.abci.ABCIApplication.CommitCallback): void; + + /** + * Calls Commit. + * @param request RequestCommit message or plain object + * @returns Promise + */ + public commit(request: tendermint.abci.IRequestCommit): Promise; + + /** + * Calls InitChain. + * @param request RequestInitChain message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseInitChain + */ + public initChain(request: tendermint.abci.IRequestInitChain, callback: tendermint.abci.ABCIApplication.InitChainCallback): void; + + /** + * Calls InitChain. + * @param request RequestInitChain message or plain object + * @returns Promise + */ + public initChain(request: tendermint.abci.IRequestInitChain): Promise; + + /** + * Calls BeginBlock. + * @param request RequestBeginBlock message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseBeginBlock + */ + public beginBlock(request: tendermint.abci.IRequestBeginBlock, callback: tendermint.abci.ABCIApplication.BeginBlockCallback): void; + + /** + * Calls BeginBlock. + * @param request RequestBeginBlock message or plain object + * @returns Promise + */ + public beginBlock(request: tendermint.abci.IRequestBeginBlock): Promise; + + /** + * Calls EndBlock. + * @param request RequestEndBlock message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseEndBlock + */ + public endBlock(request: tendermint.abci.IRequestEndBlock, callback: tendermint.abci.ABCIApplication.EndBlockCallback): void; + + /** + * Calls EndBlock. + * @param request RequestEndBlock message or plain object + * @returns Promise + */ + public endBlock(request: tendermint.abci.IRequestEndBlock): Promise; + + /** + * Calls ListSnapshots. + * @param request RequestListSnapshots message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseListSnapshots + */ + public listSnapshots(request: tendermint.abci.IRequestListSnapshots, callback: tendermint.abci.ABCIApplication.ListSnapshotsCallback): void; + + /** + * Calls ListSnapshots. + * @param request RequestListSnapshots message or plain object + * @returns Promise + */ + public listSnapshots(request: tendermint.abci.IRequestListSnapshots): Promise; + + /** + * Calls OfferSnapshot. + * @param request RequestOfferSnapshot message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseOfferSnapshot + */ + public offerSnapshot(request: tendermint.abci.IRequestOfferSnapshot, callback: tendermint.abci.ABCIApplication.OfferSnapshotCallback): void; + + /** + * Calls OfferSnapshot. + * @param request RequestOfferSnapshot message or plain object + * @returns Promise + */ + public offerSnapshot(request: tendermint.abci.IRequestOfferSnapshot): Promise; + + /** + * Calls LoadSnapshotChunk. + * @param request RequestLoadSnapshotChunk message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseLoadSnapshotChunk + */ + public loadSnapshotChunk(request: tendermint.abci.IRequestLoadSnapshotChunk, callback: tendermint.abci.ABCIApplication.LoadSnapshotChunkCallback): void; + + /** + * Calls LoadSnapshotChunk. + * @param request RequestLoadSnapshotChunk message or plain object + * @returns Promise + */ + public loadSnapshotChunk(request: tendermint.abci.IRequestLoadSnapshotChunk): Promise; + + /** + * Calls ApplySnapshotChunk. + * @param request RequestApplySnapshotChunk message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseApplySnapshotChunk + */ + public applySnapshotChunk(request: tendermint.abci.IRequestApplySnapshotChunk, callback: tendermint.abci.ABCIApplication.ApplySnapshotChunkCallback): void; + + /** + * Calls ApplySnapshotChunk. + * @param request RequestApplySnapshotChunk message or plain object + * @returns Promise + */ + public applySnapshotChunk(request: tendermint.abci.IRequestApplySnapshotChunk): Promise; + } + + namespace ABCIApplication { + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#echo}. + * @param error Error, if any + * @param [response] ResponseEcho + */ + type EchoCallback = (error: (Error|null), response?: tendermint.abci.ResponseEcho) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#flush}. + * @param error Error, if any + * @param [response] ResponseFlush + */ + type FlushCallback = (error: (Error|null), response?: tendermint.abci.ResponseFlush) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#info}. + * @param error Error, if any + * @param [response] ResponseInfo + */ + type InfoCallback = (error: (Error|null), response?: tendermint.abci.ResponseInfo) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#setOption}. + * @param error Error, if any + * @param [response] ResponseSetOption + */ + type SetOptionCallback = (error: (Error|null), response?: tendermint.abci.ResponseSetOption) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#deliverTx}. + * @param error Error, if any + * @param [response] ResponseDeliverTx + */ + type DeliverTxCallback = (error: (Error|null), response?: tendermint.abci.ResponseDeliverTx) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#checkTx}. + * @param error Error, if any + * @param [response] ResponseCheckTx + */ + type CheckTxCallback = (error: (Error|null), response?: tendermint.abci.ResponseCheckTx) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#query}. + * @param error Error, if any + * @param [response] ResponseQuery + */ + type QueryCallback = (error: (Error|null), response?: tendermint.abci.ResponseQuery) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#commit}. + * @param error Error, if any + * @param [response] ResponseCommit + */ + type CommitCallback = (error: (Error|null), response?: tendermint.abci.ResponseCommit) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#initChain}. + * @param error Error, if any + * @param [response] ResponseInitChain + */ + type InitChainCallback = (error: (Error|null), response?: tendermint.abci.ResponseInitChain) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#beginBlock}. + * @param error Error, if any + * @param [response] ResponseBeginBlock + */ + type BeginBlockCallback = (error: (Error|null), response?: tendermint.abci.ResponseBeginBlock) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#endBlock}. + * @param error Error, if any + * @param [response] ResponseEndBlock + */ + type EndBlockCallback = (error: (Error|null), response?: tendermint.abci.ResponseEndBlock) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#listSnapshots}. + * @param error Error, if any + * @param [response] ResponseListSnapshots + */ + type ListSnapshotsCallback = (error: (Error|null), response?: tendermint.abci.ResponseListSnapshots) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#offerSnapshot}. + * @param error Error, if any + * @param [response] ResponseOfferSnapshot + */ + type OfferSnapshotCallback = (error: (Error|null), response?: tendermint.abci.ResponseOfferSnapshot) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#loadSnapshotChunk}. + * @param error Error, if any + * @param [response] ResponseLoadSnapshotChunk + */ + type LoadSnapshotChunkCallback = (error: (Error|null), response?: tendermint.abci.ResponseLoadSnapshotChunk) => void; + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#applySnapshotChunk}. + * @param error Error, if any + * @param [response] ResponseApplySnapshotChunk + */ + type ApplySnapshotChunkCallback = (error: (Error|null), response?: tendermint.abci.ResponseApplySnapshotChunk) => void; + } + } + + /** Namespace blockchain. */ + namespace blockchain { + + /** Properties of a BlockRequest. */ + interface IBlockRequest { + + /** BlockRequest height */ + height?: (number|Long|null); + } + + /** Represents a BlockRequest. */ + class BlockRequest implements IBlockRequest { + + /** + * Constructs a new BlockRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blockchain.IBlockRequest); + + /** BlockRequest height. */ + public height: (number|Long); + + /** + * Creates a new BlockRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockRequest instance + */ + public static create(properties?: tendermint.blockchain.IBlockRequest): tendermint.blockchain.BlockRequest; + + /** + * Encodes the specified BlockRequest message. Does not implicitly {@link tendermint.blockchain.BlockRequest.verify|verify} messages. + * @param message BlockRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blockchain.IBlockRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockRequest message, length delimited. Does not implicitly {@link tendermint.blockchain.BlockRequest.verify|verify} messages. + * @param message BlockRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blockchain.IBlockRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blockchain.BlockRequest; + + /** + * Decodes a BlockRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blockchain.BlockRequest; + + /** + * Verifies a BlockRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.blockchain.BlockRequest; + + /** + * Creates a plain object from a BlockRequest message. Also converts values to other types if specified. + * @param message BlockRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blockchain.BlockRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NoBlockResponse. */ + interface INoBlockResponse { + + /** NoBlockResponse height */ + height?: (number|Long|null); + } + + /** Represents a NoBlockResponse. */ + class NoBlockResponse implements INoBlockResponse { + + /** + * Constructs a new NoBlockResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blockchain.INoBlockResponse); + + /** NoBlockResponse height. */ + public height: (number|Long); + + /** + * Creates a new NoBlockResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns NoBlockResponse instance + */ + public static create(properties?: tendermint.blockchain.INoBlockResponse): tendermint.blockchain.NoBlockResponse; + + /** + * Encodes the specified NoBlockResponse message. Does not implicitly {@link tendermint.blockchain.NoBlockResponse.verify|verify} messages. + * @param message NoBlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blockchain.INoBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NoBlockResponse message, length delimited. Does not implicitly {@link tendermint.blockchain.NoBlockResponse.verify|verify} messages. + * @param message NoBlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blockchain.INoBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NoBlockResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NoBlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blockchain.NoBlockResponse; + + /** + * Decodes a NoBlockResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NoBlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blockchain.NoBlockResponse; + + /** + * Verifies a NoBlockResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NoBlockResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NoBlockResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.blockchain.NoBlockResponse; + + /** + * Creates a plain object from a NoBlockResponse message. Also converts values to other types if specified. + * @param message NoBlockResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blockchain.NoBlockResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NoBlockResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockResponse. */ + interface IBlockResponse { + + /** BlockResponse block */ + block?: (tendermint.types.IBlock|null); + } + + /** Represents a BlockResponse. */ + class BlockResponse implements IBlockResponse { + + /** + * Constructs a new BlockResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blockchain.IBlockResponse); + + /** BlockResponse block. */ + public block?: (tendermint.types.IBlock|null); + + /** + * Creates a new BlockResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockResponse instance + */ + public static create(properties?: tendermint.blockchain.IBlockResponse): tendermint.blockchain.BlockResponse; + + /** + * Encodes the specified BlockResponse message. Does not implicitly {@link tendermint.blockchain.BlockResponse.verify|verify} messages. + * @param message BlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blockchain.IBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockResponse message, length delimited. Does not implicitly {@link tendermint.blockchain.BlockResponse.verify|verify} messages. + * @param message BlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blockchain.IBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blockchain.BlockResponse; + + /** + * Decodes a BlockResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blockchain.BlockResponse; + + /** + * Verifies a BlockResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.blockchain.BlockResponse; + + /** + * Creates a plain object from a BlockResponse message. Also converts values to other types if specified. + * @param message BlockResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blockchain.BlockResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StatusRequest. */ + interface IStatusRequest { + } + + /** Represents a StatusRequest. */ + class StatusRequest implements IStatusRequest { + + /** + * Constructs a new StatusRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blockchain.IStatusRequest); + + /** + * Creates a new StatusRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns StatusRequest instance + */ + public static create(properties?: tendermint.blockchain.IStatusRequest): tendermint.blockchain.StatusRequest; + + /** + * Encodes the specified StatusRequest message. Does not implicitly {@link tendermint.blockchain.StatusRequest.verify|verify} messages. + * @param message StatusRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blockchain.IStatusRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StatusRequest message, length delimited. Does not implicitly {@link tendermint.blockchain.StatusRequest.verify|verify} messages. + * @param message StatusRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blockchain.IStatusRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StatusRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blockchain.StatusRequest; + + /** + * Decodes a StatusRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blockchain.StatusRequest; + + /** + * Verifies a StatusRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StatusRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StatusRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.blockchain.StatusRequest; + + /** + * Creates a plain object from a StatusRequest message. Also converts values to other types if specified. + * @param message StatusRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blockchain.StatusRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StatusRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StatusResponse. */ + interface IStatusResponse { + + /** StatusResponse height */ + height?: (number|Long|null); + + /** StatusResponse base */ + base?: (number|Long|null); + } + + /** Represents a StatusResponse. */ + class StatusResponse implements IStatusResponse { + + /** + * Constructs a new StatusResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blockchain.IStatusResponse); + + /** StatusResponse height. */ + public height: (number|Long); + + /** StatusResponse base. */ + public base: (number|Long); + + /** + * Creates a new StatusResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns StatusResponse instance + */ + public static create(properties?: tendermint.blockchain.IStatusResponse): tendermint.blockchain.StatusResponse; + + /** + * Encodes the specified StatusResponse message. Does not implicitly {@link tendermint.blockchain.StatusResponse.verify|verify} messages. + * @param message StatusResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blockchain.IStatusResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StatusResponse message, length delimited. Does not implicitly {@link tendermint.blockchain.StatusResponse.verify|verify} messages. + * @param message StatusResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blockchain.IStatusResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StatusResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blockchain.StatusResponse; + + /** + * Decodes a StatusResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blockchain.StatusResponse; + + /** + * Verifies a StatusResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StatusResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StatusResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.blockchain.StatusResponse; + + /** + * Creates a plain object from a StatusResponse message. Also converts values to other types if specified. + * @param message StatusResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blockchain.StatusResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StatusResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Message. */ + interface IMessage { + + /** Message blockRequest */ + blockRequest?: (tendermint.blockchain.IBlockRequest|null); + + /** Message noBlockResponse */ + noBlockResponse?: (tendermint.blockchain.INoBlockResponse|null); + + /** Message blockResponse */ + blockResponse?: (tendermint.blockchain.IBlockResponse|null); + + /** Message statusRequest */ + statusRequest?: (tendermint.blockchain.IStatusRequest|null); + + /** Message statusResponse */ + statusResponse?: (tendermint.blockchain.IStatusResponse|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blockchain.IMessage); + + /** Message blockRequest. */ + public blockRequest?: (tendermint.blockchain.IBlockRequest|null); + + /** Message noBlockResponse. */ + public noBlockResponse?: (tendermint.blockchain.INoBlockResponse|null); + + /** Message blockResponse. */ + public blockResponse?: (tendermint.blockchain.IBlockResponse|null); + + /** Message statusRequest. */ + public statusRequest?: (tendermint.blockchain.IStatusRequest|null); + + /** Message statusResponse. */ + public statusResponse?: (tendermint.blockchain.IStatusResponse|null); + + /** Message sum. */ + public sum?: ("blockRequest"|"noBlockResponse"|"blockResponse"|"statusRequest"|"statusResponse"); + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.blockchain.IMessage): tendermint.blockchain.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.blockchain.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blockchain.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.blockchain.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blockchain.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blockchain.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blockchain.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.blockchain.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blockchain.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace blocksync. */ + namespace blocksync { + + /** Properties of a BlockRequest. */ + interface IBlockRequest { + + /** BlockRequest height */ + height?: (number|Long|null); + } + + /** Represents a BlockRequest. */ + class BlockRequest implements IBlockRequest { + + /** + * Constructs a new BlockRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blocksync.IBlockRequest); + + /** BlockRequest height. */ + public height: (number|Long); + + /** + * Creates a new BlockRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockRequest instance + */ + public static create(properties?: tendermint.blocksync.IBlockRequest): tendermint.blocksync.BlockRequest; + + /** + * Encodes the specified BlockRequest message. Does not implicitly {@link tendermint.blocksync.BlockRequest.verify|verify} messages. + * @param message BlockRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blocksync.IBlockRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockRequest message, length delimited. Does not implicitly {@link tendermint.blocksync.BlockRequest.verify|verify} messages. + * @param message BlockRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blocksync.IBlockRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blocksync.BlockRequest; + + /** + * Decodes a BlockRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blocksync.BlockRequest; + + /** + * Verifies a BlockRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.blocksync.BlockRequest; + + /** + * Creates a plain object from a BlockRequest message. Also converts values to other types if specified. + * @param message BlockRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blocksync.BlockRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NoBlockResponse. */ + interface INoBlockResponse { + + /** NoBlockResponse height */ + height?: (number|Long|null); + } + + /** Represents a NoBlockResponse. */ + class NoBlockResponse implements INoBlockResponse { + + /** + * Constructs a new NoBlockResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blocksync.INoBlockResponse); + + /** NoBlockResponse height. */ + public height: (number|Long); + + /** + * Creates a new NoBlockResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns NoBlockResponse instance + */ + public static create(properties?: tendermint.blocksync.INoBlockResponse): tendermint.blocksync.NoBlockResponse; + + /** + * Encodes the specified NoBlockResponse message. Does not implicitly {@link tendermint.blocksync.NoBlockResponse.verify|verify} messages. + * @param message NoBlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blocksync.INoBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NoBlockResponse message, length delimited. Does not implicitly {@link tendermint.blocksync.NoBlockResponse.verify|verify} messages. + * @param message NoBlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blocksync.INoBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NoBlockResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NoBlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blocksync.NoBlockResponse; + + /** + * Decodes a NoBlockResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NoBlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blocksync.NoBlockResponse; + + /** + * Verifies a NoBlockResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NoBlockResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NoBlockResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.blocksync.NoBlockResponse; + + /** + * Creates a plain object from a NoBlockResponse message. Also converts values to other types if specified. + * @param message NoBlockResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blocksync.NoBlockResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NoBlockResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockResponse. */ + interface IBlockResponse { + + /** BlockResponse block */ + block?: (tendermint.types.IBlock|null); + } + + /** Represents a BlockResponse. */ + class BlockResponse implements IBlockResponse { + + /** + * Constructs a new BlockResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blocksync.IBlockResponse); + + /** BlockResponse block. */ + public block?: (tendermint.types.IBlock|null); + + /** + * Creates a new BlockResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockResponse instance + */ + public static create(properties?: tendermint.blocksync.IBlockResponse): tendermint.blocksync.BlockResponse; + + /** + * Encodes the specified BlockResponse message. Does not implicitly {@link tendermint.blocksync.BlockResponse.verify|verify} messages. + * @param message BlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blocksync.IBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockResponse message, length delimited. Does not implicitly {@link tendermint.blocksync.BlockResponse.verify|verify} messages. + * @param message BlockResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blocksync.IBlockResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blocksync.BlockResponse; + + /** + * Decodes a BlockResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blocksync.BlockResponse; + + /** + * Verifies a BlockResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.blocksync.BlockResponse; + + /** + * Creates a plain object from a BlockResponse message. Also converts values to other types if specified. + * @param message BlockResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blocksync.BlockResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StatusRequest. */ + interface IStatusRequest { + } + + /** Represents a StatusRequest. */ + class StatusRequest implements IStatusRequest { + + /** + * Constructs a new StatusRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blocksync.IStatusRequest); + + /** + * Creates a new StatusRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns StatusRequest instance + */ + public static create(properties?: tendermint.blocksync.IStatusRequest): tendermint.blocksync.StatusRequest; + + /** + * Encodes the specified StatusRequest message. Does not implicitly {@link tendermint.blocksync.StatusRequest.verify|verify} messages. + * @param message StatusRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blocksync.IStatusRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StatusRequest message, length delimited. Does not implicitly {@link tendermint.blocksync.StatusRequest.verify|verify} messages. + * @param message StatusRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blocksync.IStatusRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StatusRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blocksync.StatusRequest; + + /** + * Decodes a StatusRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blocksync.StatusRequest; + + /** + * Verifies a StatusRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StatusRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StatusRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.blocksync.StatusRequest; + + /** + * Creates a plain object from a StatusRequest message. Also converts values to other types if specified. + * @param message StatusRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blocksync.StatusRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StatusRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StatusResponse. */ + interface IStatusResponse { + + /** StatusResponse height */ + height?: (number|Long|null); + + /** StatusResponse base */ + base?: (number|Long|null); + } + + /** Represents a StatusResponse. */ + class StatusResponse implements IStatusResponse { + + /** + * Constructs a new StatusResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blocksync.IStatusResponse); + + /** StatusResponse height. */ + public height: (number|Long); + + /** StatusResponse base. */ + public base: (number|Long); + + /** + * Creates a new StatusResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns StatusResponse instance + */ + public static create(properties?: tendermint.blocksync.IStatusResponse): tendermint.blocksync.StatusResponse; + + /** + * Encodes the specified StatusResponse message. Does not implicitly {@link tendermint.blocksync.StatusResponse.verify|verify} messages. + * @param message StatusResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blocksync.IStatusResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StatusResponse message, length delimited. Does not implicitly {@link tendermint.blocksync.StatusResponse.verify|verify} messages. + * @param message StatusResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blocksync.IStatusResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StatusResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blocksync.StatusResponse; + + /** + * Decodes a StatusResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blocksync.StatusResponse; + + /** + * Verifies a StatusResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StatusResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StatusResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.blocksync.StatusResponse; + + /** + * Creates a plain object from a StatusResponse message. Also converts values to other types if specified. + * @param message StatusResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blocksync.StatusResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StatusResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Message. */ + interface IMessage { + + /** Message blockRequest */ + blockRequest?: (tendermint.blocksync.IBlockRequest|null); + + /** Message noBlockResponse */ + noBlockResponse?: (tendermint.blocksync.INoBlockResponse|null); + + /** Message blockResponse */ + blockResponse?: (tendermint.blocksync.IBlockResponse|null); + + /** Message statusRequest */ + statusRequest?: (tendermint.blocksync.IStatusRequest|null); + + /** Message statusResponse */ + statusResponse?: (tendermint.blocksync.IStatusResponse|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.blocksync.IMessage); + + /** Message blockRequest. */ + public blockRequest?: (tendermint.blocksync.IBlockRequest|null); + + /** Message noBlockResponse. */ + public noBlockResponse?: (tendermint.blocksync.INoBlockResponse|null); + + /** Message blockResponse. */ + public blockResponse?: (tendermint.blocksync.IBlockResponse|null); + + /** Message statusRequest. */ + public statusRequest?: (tendermint.blocksync.IStatusRequest|null); + + /** Message statusResponse. */ + public statusResponse?: (tendermint.blocksync.IStatusResponse|null); + + /** Message sum. */ + public sum?: ("blockRequest"|"noBlockResponse"|"blockResponse"|"statusRequest"|"statusResponse"); + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.blocksync.IMessage): tendermint.blocksync.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.blocksync.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.blocksync.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.blocksync.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.blocksync.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.blocksync.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.blocksync.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.blocksync.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.blocksync.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace consensus. */ + namespace consensus { + + /** Properties of a NewRoundStep. */ + interface INewRoundStep { + + /** NewRoundStep height */ + height?: (number|Long|null); + + /** NewRoundStep round */ + round?: (number|null); + + /** NewRoundStep step */ + step?: (number|null); + + /** NewRoundStep secondsSinceStartTime */ + secondsSinceStartTime?: (number|Long|null); + + /** NewRoundStep lastCommitRound */ + lastCommitRound?: (number|null); + } + + /** Represents a NewRoundStep. */ + class NewRoundStep implements INewRoundStep { + + /** + * Constructs a new NewRoundStep. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.INewRoundStep); + + /** NewRoundStep height. */ + public height: (number|Long); + + /** NewRoundStep round. */ + public round: number; + + /** NewRoundStep step. */ + public step: number; + + /** NewRoundStep secondsSinceStartTime. */ + public secondsSinceStartTime: (number|Long); + + /** NewRoundStep lastCommitRound. */ + public lastCommitRound: number; + + /** + * Creates a new NewRoundStep instance using the specified properties. + * @param [properties] Properties to set + * @returns NewRoundStep instance + */ + public static create(properties?: tendermint.consensus.INewRoundStep): tendermint.consensus.NewRoundStep; + + /** + * Encodes the specified NewRoundStep message. Does not implicitly {@link tendermint.consensus.NewRoundStep.verify|verify} messages. + * @param message NewRoundStep message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.INewRoundStep, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NewRoundStep message, length delimited. Does not implicitly {@link tendermint.consensus.NewRoundStep.verify|verify} messages. + * @param message NewRoundStep message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.INewRoundStep, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NewRoundStep message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NewRoundStep + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.NewRoundStep; + + /** + * Decodes a NewRoundStep message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NewRoundStep + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.NewRoundStep; + + /** + * Verifies a NewRoundStep message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NewRoundStep message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NewRoundStep + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.NewRoundStep; + + /** + * Creates a plain object from a NewRoundStep message. Also converts values to other types if specified. + * @param message NewRoundStep + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.NewRoundStep, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NewRoundStep to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NewValidBlock. */ + interface INewValidBlock { + + /** NewValidBlock height */ + height?: (number|Long|null); + + /** NewValidBlock round */ + round?: (number|null); + + /** NewValidBlock blockPartSetHeader */ + blockPartSetHeader?: (tendermint.types.IPartSetHeader|null); + + /** NewValidBlock blockParts */ + blockParts?: (tendermint.libs.bits.IBitArray|null); + + /** NewValidBlock isCommit */ + isCommit?: (boolean|null); + } + + /** Represents a NewValidBlock. */ + class NewValidBlock implements INewValidBlock { + + /** + * Constructs a new NewValidBlock. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.INewValidBlock); + + /** NewValidBlock height. */ + public height: (number|Long); + + /** NewValidBlock round. */ + public round: number; + + /** NewValidBlock blockPartSetHeader. */ + public blockPartSetHeader?: (tendermint.types.IPartSetHeader|null); + + /** NewValidBlock blockParts. */ + public blockParts?: (tendermint.libs.bits.IBitArray|null); + + /** NewValidBlock isCommit. */ + public isCommit: boolean; + + /** + * Creates a new NewValidBlock instance using the specified properties. + * @param [properties] Properties to set + * @returns NewValidBlock instance + */ + public static create(properties?: tendermint.consensus.INewValidBlock): tendermint.consensus.NewValidBlock; + + /** + * Encodes the specified NewValidBlock message. Does not implicitly {@link tendermint.consensus.NewValidBlock.verify|verify} messages. + * @param message NewValidBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.INewValidBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NewValidBlock message, length delimited. Does not implicitly {@link tendermint.consensus.NewValidBlock.verify|verify} messages. + * @param message NewValidBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.INewValidBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NewValidBlock message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NewValidBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.NewValidBlock; + + /** + * Decodes a NewValidBlock message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NewValidBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.NewValidBlock; + + /** + * Verifies a NewValidBlock message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NewValidBlock message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NewValidBlock + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.NewValidBlock; + + /** + * Creates a plain object from a NewValidBlock message. Also converts values to other types if specified. + * @param message NewValidBlock + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.NewValidBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NewValidBlock to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Proposal. */ + interface IProposal { + + /** Proposal proposal */ + proposal?: (tendermint.types.IProposal|null); + } + + /** Represents a Proposal. */ + class Proposal implements IProposal { + + /** + * Constructs a new Proposal. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IProposal); + + /** Proposal proposal. */ + public proposal?: (tendermint.types.IProposal|null); + + /** + * Creates a new Proposal instance using the specified properties. + * @param [properties] Properties to set + * @returns Proposal instance + */ + public static create(properties?: tendermint.consensus.IProposal): tendermint.consensus.Proposal; + + /** + * Encodes the specified Proposal message. Does not implicitly {@link tendermint.consensus.Proposal.verify|verify} messages. + * @param message Proposal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IProposal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Proposal message, length delimited. Does not implicitly {@link tendermint.consensus.Proposal.verify|verify} messages. + * @param message Proposal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IProposal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Proposal message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Proposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.Proposal; + + /** + * Decodes a Proposal message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Proposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.Proposal; + + /** + * Verifies a Proposal message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Proposal message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Proposal + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.Proposal; + + /** + * Creates a plain object from a Proposal message. Also converts values to other types if specified. + * @param message Proposal + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.Proposal, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Proposal to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProposalPOL. */ + interface IProposalPOL { + + /** ProposalPOL height */ + height?: (number|Long|null); + + /** ProposalPOL proposalPolRound */ + proposalPolRound?: (number|null); + + /** ProposalPOL proposalPol */ + proposalPol?: (tendermint.libs.bits.IBitArray|null); + } + + /** Represents a ProposalPOL. */ + class ProposalPOL implements IProposalPOL { + + /** + * Constructs a new ProposalPOL. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IProposalPOL); + + /** ProposalPOL height. */ + public height: (number|Long); + + /** ProposalPOL proposalPolRound. */ + public proposalPolRound: number; + + /** ProposalPOL proposalPol. */ + public proposalPol?: (tendermint.libs.bits.IBitArray|null); + + /** + * Creates a new ProposalPOL instance using the specified properties. + * @param [properties] Properties to set + * @returns ProposalPOL instance + */ + public static create(properties?: tendermint.consensus.IProposalPOL): tendermint.consensus.ProposalPOL; + + /** + * Encodes the specified ProposalPOL message. Does not implicitly {@link tendermint.consensus.ProposalPOL.verify|verify} messages. + * @param message ProposalPOL message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IProposalPOL, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProposalPOL message, length delimited. Does not implicitly {@link tendermint.consensus.ProposalPOL.verify|verify} messages. + * @param message ProposalPOL message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IProposalPOL, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProposalPOL message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProposalPOL + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.ProposalPOL; + + /** + * Decodes a ProposalPOL message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProposalPOL + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.ProposalPOL; + + /** + * Verifies a ProposalPOL message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProposalPOL message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProposalPOL + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.ProposalPOL; + + /** + * Creates a plain object from a ProposalPOL message. Also converts values to other types if specified. + * @param message ProposalPOL + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.ProposalPOL, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProposalPOL to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockPart. */ + interface IBlockPart { + + /** BlockPart height */ + height?: (number|Long|null); + + /** BlockPart round */ + round?: (number|null); + + /** BlockPart part */ + part?: (tendermint.types.IPart|null); + } + + /** Represents a BlockPart. */ + class BlockPart implements IBlockPart { + + /** + * Constructs a new BlockPart. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IBlockPart); + + /** BlockPart height. */ + public height: (number|Long); + + /** BlockPart round. */ + public round: number; + + /** BlockPart part. */ + public part?: (tendermint.types.IPart|null); + + /** + * Creates a new BlockPart instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockPart instance + */ + public static create(properties?: tendermint.consensus.IBlockPart): tendermint.consensus.BlockPart; + + /** + * Encodes the specified BlockPart message. Does not implicitly {@link tendermint.consensus.BlockPart.verify|verify} messages. + * @param message BlockPart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IBlockPart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockPart message, length delimited. Does not implicitly {@link tendermint.consensus.BlockPart.verify|verify} messages. + * @param message BlockPart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IBlockPart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockPart message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockPart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.BlockPart; + + /** + * Decodes a BlockPart message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockPart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.BlockPart; + + /** + * Verifies a BlockPart message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockPart message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockPart + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.BlockPart; + + /** + * Creates a plain object from a BlockPart message. Also converts values to other types if specified. + * @param message BlockPart + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.BlockPart, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockPart to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Vote. */ + interface IVote { + + /** Vote vote */ + vote?: (tendermint.types.IVote|null); + } + + /** Represents a Vote. */ + class Vote implements IVote { + + /** + * Constructs a new Vote. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IVote); + + /** Vote vote. */ + public vote?: (tendermint.types.IVote|null); + + /** + * Creates a new Vote instance using the specified properties. + * @param [properties] Properties to set + * @returns Vote instance + */ + public static create(properties?: tendermint.consensus.IVote): tendermint.consensus.Vote; + + /** + * Encodes the specified Vote message. Does not implicitly {@link tendermint.consensus.Vote.verify|verify} messages. + * @param message Vote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vote message, length delimited. Does not implicitly {@link tendermint.consensus.Vote.verify|verify} messages. + * @param message Vote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vote message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.Vote; + + /** + * Decodes a Vote message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.Vote; + + /** + * Verifies a Vote message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vote message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vote + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.Vote; + + /** + * Creates a plain object from a Vote message. Also converts values to other types if specified. + * @param message Vote + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.Vote, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vote to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a HasVote. */ + interface IHasVote { + + /** HasVote height */ + height?: (number|Long|null); + + /** HasVote round */ + round?: (number|null); + + /** HasVote type */ + type?: (tendermint.types.SignedMsgType|null); + + /** HasVote index */ + index?: (number|null); + } + + /** Represents a HasVote. */ + class HasVote implements IHasVote { + + /** + * Constructs a new HasVote. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IHasVote); + + /** HasVote height. */ + public height: (number|Long); + + /** HasVote round. */ + public round: number; + + /** HasVote type. */ + public type: tendermint.types.SignedMsgType; + + /** HasVote index. */ + public index: number; + + /** + * Creates a new HasVote instance using the specified properties. + * @param [properties] Properties to set + * @returns HasVote instance + */ + public static create(properties?: tendermint.consensus.IHasVote): tendermint.consensus.HasVote; + + /** + * Encodes the specified HasVote message. Does not implicitly {@link tendermint.consensus.HasVote.verify|verify} messages. + * @param message HasVote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IHasVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HasVote message, length delimited. Does not implicitly {@link tendermint.consensus.HasVote.verify|verify} messages. + * @param message HasVote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IHasVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HasVote message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HasVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.HasVote; + + /** + * Decodes a HasVote message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HasVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.HasVote; + + /** + * Verifies a HasVote message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HasVote message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HasVote + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.HasVote; + + /** + * Creates a plain object from a HasVote message. Also converts values to other types if specified. + * @param message HasVote + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.HasVote, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HasVote to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VoteSetMaj23. */ + interface IVoteSetMaj23 { + + /** VoteSetMaj23 height */ + height?: (number|Long|null); + + /** VoteSetMaj23 round */ + round?: (number|null); + + /** VoteSetMaj23 type */ + type?: (tendermint.types.SignedMsgType|null); + + /** VoteSetMaj23 blockId */ + blockId?: (tendermint.types.IBlockID|null); + } + + /** Represents a VoteSetMaj23. */ + class VoteSetMaj23 implements IVoteSetMaj23 { + + /** + * Constructs a new VoteSetMaj23. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IVoteSetMaj23); + + /** VoteSetMaj23 height. */ + public height: (number|Long); + + /** VoteSetMaj23 round. */ + public round: number; + + /** VoteSetMaj23 type. */ + public type: tendermint.types.SignedMsgType; + + /** VoteSetMaj23 blockId. */ + public blockId?: (tendermint.types.IBlockID|null); + + /** + * Creates a new VoteSetMaj23 instance using the specified properties. + * @param [properties] Properties to set + * @returns VoteSetMaj23 instance + */ + public static create(properties?: tendermint.consensus.IVoteSetMaj23): tendermint.consensus.VoteSetMaj23; + + /** + * Encodes the specified VoteSetMaj23 message. Does not implicitly {@link tendermint.consensus.VoteSetMaj23.verify|verify} messages. + * @param message VoteSetMaj23 message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IVoteSetMaj23, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VoteSetMaj23 message, length delimited. Does not implicitly {@link tendermint.consensus.VoteSetMaj23.verify|verify} messages. + * @param message VoteSetMaj23 message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IVoteSetMaj23, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VoteSetMaj23 message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VoteSetMaj23 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.VoteSetMaj23; + + /** + * Decodes a VoteSetMaj23 message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VoteSetMaj23 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.VoteSetMaj23; + + /** + * Verifies a VoteSetMaj23 message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VoteSetMaj23 message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VoteSetMaj23 + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.VoteSetMaj23; + + /** + * Creates a plain object from a VoteSetMaj23 message. Also converts values to other types if specified. + * @param message VoteSetMaj23 + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.VoteSetMaj23, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VoteSetMaj23 to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VoteSetBits. */ + interface IVoteSetBits { + + /** VoteSetBits height */ + height?: (number|Long|null); + + /** VoteSetBits round */ + round?: (number|null); + + /** VoteSetBits type */ + type?: (tendermint.types.SignedMsgType|null); + + /** VoteSetBits blockId */ + blockId?: (tendermint.types.IBlockID|null); + + /** VoteSetBits votes */ + votes?: (tendermint.libs.bits.IBitArray|null); + } + + /** Represents a VoteSetBits. */ + class VoteSetBits implements IVoteSetBits { + + /** + * Constructs a new VoteSetBits. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IVoteSetBits); + + /** VoteSetBits height. */ + public height: (number|Long); + + /** VoteSetBits round. */ + public round: number; + + /** VoteSetBits type. */ + public type: tendermint.types.SignedMsgType; + + /** VoteSetBits blockId. */ + public blockId?: (tendermint.types.IBlockID|null); + + /** VoteSetBits votes. */ + public votes?: (tendermint.libs.bits.IBitArray|null); + + /** + * Creates a new VoteSetBits instance using the specified properties. + * @param [properties] Properties to set + * @returns VoteSetBits instance + */ + public static create(properties?: tendermint.consensus.IVoteSetBits): tendermint.consensus.VoteSetBits; + + /** + * Encodes the specified VoteSetBits message. Does not implicitly {@link tendermint.consensus.VoteSetBits.verify|verify} messages. + * @param message VoteSetBits message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IVoteSetBits, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VoteSetBits message, length delimited. Does not implicitly {@link tendermint.consensus.VoteSetBits.verify|verify} messages. + * @param message VoteSetBits message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IVoteSetBits, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VoteSetBits message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VoteSetBits + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.VoteSetBits; + + /** + * Decodes a VoteSetBits message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VoteSetBits + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.VoteSetBits; + + /** + * Verifies a VoteSetBits message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VoteSetBits message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VoteSetBits + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.VoteSetBits; + + /** + * Creates a plain object from a VoteSetBits message. Also converts values to other types if specified. + * @param message VoteSetBits + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.VoteSetBits, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VoteSetBits to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Message. */ + interface IMessage { + + /** Message newRoundStep */ + newRoundStep?: (tendermint.consensus.INewRoundStep|null); + + /** Message newValidBlock */ + newValidBlock?: (tendermint.consensus.INewValidBlock|null); + + /** Message proposal */ + proposal?: (tendermint.consensus.IProposal|null); + + /** Message proposalPol */ + proposalPol?: (tendermint.consensus.IProposalPOL|null); + + /** Message blockPart */ + blockPart?: (tendermint.consensus.IBlockPart|null); + + /** Message vote */ + vote?: (tendermint.consensus.IVote|null); + + /** Message hasVote */ + hasVote?: (tendermint.consensus.IHasVote|null); + + /** Message voteSetMaj23 */ + voteSetMaj23?: (tendermint.consensus.IVoteSetMaj23|null); + + /** Message voteSetBits */ + voteSetBits?: (tendermint.consensus.IVoteSetBits|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IMessage); + + /** Message newRoundStep. */ + public newRoundStep?: (tendermint.consensus.INewRoundStep|null); + + /** Message newValidBlock. */ + public newValidBlock?: (tendermint.consensus.INewValidBlock|null); + + /** Message proposal. */ + public proposal?: (tendermint.consensus.IProposal|null); + + /** Message proposalPol. */ + public proposalPol?: (tendermint.consensus.IProposalPOL|null); + + /** Message blockPart. */ + public blockPart?: (tendermint.consensus.IBlockPart|null); + + /** Message vote. */ + public vote?: (tendermint.consensus.IVote|null); + + /** Message hasVote. */ + public hasVote?: (tendermint.consensus.IHasVote|null); + + /** Message voteSetMaj23. */ + public voteSetMaj23?: (tendermint.consensus.IVoteSetMaj23|null); + + /** Message voteSetBits. */ + public voteSetBits?: (tendermint.consensus.IVoteSetBits|null); + + /** Message sum. */ + public sum?: ("newRoundStep"|"newValidBlock"|"proposal"|"proposalPol"|"blockPart"|"vote"|"hasVote"|"voteSetMaj23"|"voteSetBits"); + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.consensus.IMessage): tendermint.consensus.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.consensus.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.consensus.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a MsgInfo. */ + interface IMsgInfo { + + /** MsgInfo msg */ + msg?: (tendermint.consensus.IMessage|null); + + /** MsgInfo peerId */ + peerId?: (string|null); + } + + /** Represents a MsgInfo. */ + class MsgInfo implements IMsgInfo { + + /** + * Constructs a new MsgInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IMsgInfo); + + /** MsgInfo msg. */ + public msg?: (tendermint.consensus.IMessage|null); + + /** MsgInfo peerId. */ + public peerId: string; + + /** + * Creates a new MsgInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns MsgInfo instance + */ + public static create(properties?: tendermint.consensus.IMsgInfo): tendermint.consensus.MsgInfo; + + /** + * Encodes the specified MsgInfo message. Does not implicitly {@link tendermint.consensus.MsgInfo.verify|verify} messages. + * @param message MsgInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IMsgInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MsgInfo message, length delimited. Does not implicitly {@link tendermint.consensus.MsgInfo.verify|verify} messages. + * @param message MsgInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IMsgInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MsgInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MsgInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.MsgInfo; + + /** + * Decodes a MsgInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MsgInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.MsgInfo; + + /** + * Verifies a MsgInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MsgInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MsgInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.MsgInfo; + + /** + * Creates a plain object from a MsgInfo message. Also converts values to other types if specified. + * @param message MsgInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.MsgInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MsgInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TimeoutInfo. */ + interface ITimeoutInfo { + + /** TimeoutInfo duration */ + duration?: (google.protobuf.IDuration|null); + + /** TimeoutInfo height */ + height?: (number|Long|null); + + /** TimeoutInfo round */ + round?: (number|null); + + /** TimeoutInfo step */ + step?: (number|null); + } + + /** Represents a TimeoutInfo. */ + class TimeoutInfo implements ITimeoutInfo { + + /** + * Constructs a new TimeoutInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.ITimeoutInfo); + + /** TimeoutInfo duration. */ + public duration?: (google.protobuf.IDuration|null); + + /** TimeoutInfo height. */ + public height: (number|Long); + + /** TimeoutInfo round. */ + public round: number; + + /** TimeoutInfo step. */ + public step: number; + + /** + * Creates a new TimeoutInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns TimeoutInfo instance + */ + public static create(properties?: tendermint.consensus.ITimeoutInfo): tendermint.consensus.TimeoutInfo; + + /** + * Encodes the specified TimeoutInfo message. Does not implicitly {@link tendermint.consensus.TimeoutInfo.verify|verify} messages. + * @param message TimeoutInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.ITimeoutInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TimeoutInfo message, length delimited. Does not implicitly {@link tendermint.consensus.TimeoutInfo.verify|verify} messages. + * @param message TimeoutInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.ITimeoutInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TimeoutInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TimeoutInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.TimeoutInfo; + + /** + * Decodes a TimeoutInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TimeoutInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.TimeoutInfo; + + /** + * Verifies a TimeoutInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TimeoutInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TimeoutInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.TimeoutInfo; + + /** + * Creates a plain object from a TimeoutInfo message. Also converts values to other types if specified. + * @param message TimeoutInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.TimeoutInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TimeoutInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EndHeight. */ + interface IEndHeight { + + /** EndHeight height */ + height?: (number|Long|null); + } + + /** Represents an EndHeight. */ + class EndHeight implements IEndHeight { + + /** + * Constructs a new EndHeight. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IEndHeight); + + /** EndHeight height. */ + public height: (number|Long); + + /** + * Creates a new EndHeight instance using the specified properties. + * @param [properties] Properties to set + * @returns EndHeight instance + */ + public static create(properties?: tendermint.consensus.IEndHeight): tendermint.consensus.EndHeight; + + /** + * Encodes the specified EndHeight message. Does not implicitly {@link tendermint.consensus.EndHeight.verify|verify} messages. + * @param message EndHeight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IEndHeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EndHeight message, length delimited. Does not implicitly {@link tendermint.consensus.EndHeight.verify|verify} messages. + * @param message EndHeight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IEndHeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EndHeight message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EndHeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.EndHeight; + + /** + * Decodes an EndHeight message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EndHeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.EndHeight; + + /** + * Verifies an EndHeight message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EndHeight message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EndHeight + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.EndHeight; + + /** + * Creates a plain object from an EndHeight message. Also converts values to other types if specified. + * @param message EndHeight + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.EndHeight, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EndHeight to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WALMessage. */ + interface IWALMessage { + + /** WALMessage eventDataRoundState */ + eventDataRoundState?: (tendermint.types.IEventDataRoundState|null); + + /** WALMessage msgInfo */ + msgInfo?: (tendermint.consensus.IMsgInfo|null); + + /** WALMessage timeoutInfo */ + timeoutInfo?: (tendermint.consensus.ITimeoutInfo|null); + + /** WALMessage endHeight */ + endHeight?: (tendermint.consensus.IEndHeight|null); + } + + /** Represents a WALMessage. */ + class WALMessage implements IWALMessage { + + /** + * Constructs a new WALMessage. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.IWALMessage); + + /** WALMessage eventDataRoundState. */ + public eventDataRoundState?: (tendermint.types.IEventDataRoundState|null); + + /** WALMessage msgInfo. */ + public msgInfo?: (tendermint.consensus.IMsgInfo|null); + + /** WALMessage timeoutInfo. */ + public timeoutInfo?: (tendermint.consensus.ITimeoutInfo|null); + + /** WALMessage endHeight. */ + public endHeight?: (tendermint.consensus.IEndHeight|null); + + /** WALMessage sum. */ + public sum?: ("eventDataRoundState"|"msgInfo"|"timeoutInfo"|"endHeight"); + + /** + * Creates a new WALMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns WALMessage instance + */ + public static create(properties?: tendermint.consensus.IWALMessage): tendermint.consensus.WALMessage; + + /** + * Encodes the specified WALMessage message. Does not implicitly {@link tendermint.consensus.WALMessage.verify|verify} messages. + * @param message WALMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.IWALMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WALMessage message, length delimited. Does not implicitly {@link tendermint.consensus.WALMessage.verify|verify} messages. + * @param message WALMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.IWALMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WALMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.WALMessage; + + /** + * Decodes a WALMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.WALMessage; + + /** + * Verifies a WALMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WALMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WALMessage + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.WALMessage; + + /** + * Creates a plain object from a WALMessage message. Also converts values to other types if specified. + * @param message WALMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.WALMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WALMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TimedWALMessage. */ + interface ITimedWALMessage { + + /** TimedWALMessage time */ + time?: (google.protobuf.ITimestamp|null); + + /** TimedWALMessage msg */ + msg?: (tendermint.consensus.IWALMessage|null); + } + + /** Represents a TimedWALMessage. */ + class TimedWALMessage implements ITimedWALMessage { + + /** + * Constructs a new TimedWALMessage. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.consensus.ITimedWALMessage); + + /** TimedWALMessage time. */ + public time?: (google.protobuf.ITimestamp|null); + + /** TimedWALMessage msg. */ + public msg?: (tendermint.consensus.IWALMessage|null); + + /** + * Creates a new TimedWALMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns TimedWALMessage instance + */ + public static create(properties?: tendermint.consensus.ITimedWALMessage): tendermint.consensus.TimedWALMessage; + + /** + * Encodes the specified TimedWALMessage message. Does not implicitly {@link tendermint.consensus.TimedWALMessage.verify|verify} messages. + * @param message TimedWALMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.consensus.ITimedWALMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TimedWALMessage message, length delimited. Does not implicitly {@link tendermint.consensus.TimedWALMessage.verify|verify} messages. + * @param message TimedWALMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.consensus.ITimedWALMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TimedWALMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TimedWALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.consensus.TimedWALMessage; + + /** + * Decodes a TimedWALMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TimedWALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.consensus.TimedWALMessage; + + /** + * Verifies a TimedWALMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TimedWALMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TimedWALMessage + */ + public static fromObject(object: { [k: string]: any }): tendermint.consensus.TimedWALMessage; + + /** + * Creates a plain object from a TimedWALMessage message. Also converts values to other types if specified. + * @param message TimedWALMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.consensus.TimedWALMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TimedWALMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace crypto. */ + namespace crypto { + + /** Properties of a PublicKey. */ + interface IPublicKey { + + /** PublicKey ed25519 */ + ed25519?: (Uint8Array|null); + + /** PublicKey secp256k1 */ + secp256k1?: (Uint8Array|null); + } + + /** Represents a PublicKey. */ + class PublicKey implements IPublicKey { + + /** + * Constructs a new PublicKey. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.IPublicKey); + + /** PublicKey ed25519. */ + public ed25519?: (Uint8Array|null); + + /** PublicKey secp256k1. */ + public secp256k1?: (Uint8Array|null); + + /** PublicKey sum. */ + public sum?: ("ed25519"|"secp256k1"); + + /** + * Creates a new PublicKey instance using the specified properties. + * @param [properties] Properties to set + * @returns PublicKey instance + */ + public static create(properties?: tendermint.crypto.IPublicKey): tendermint.crypto.PublicKey; + + /** + * Encodes the specified PublicKey message. Does not implicitly {@link tendermint.crypto.PublicKey.verify|verify} messages. + * @param message PublicKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.IPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link tendermint.crypto.PublicKey.verify|verify} messages. + * @param message PublicKey message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.IPublicKey, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PublicKey message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.PublicKey; + + /** + * Decodes a PublicKey message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.PublicKey; + + /** + * Verifies a PublicKey message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PublicKey message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PublicKey + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.PublicKey; + + /** + * Creates a plain object from a PublicKey message. Also converts values to other types if specified. + * @param message PublicKey + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.PublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PublicKey to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Proof. */ + interface IProof { + + /** Proof total */ + total?: (number|Long|null); + + /** Proof index */ + index?: (number|Long|null); + + /** Proof leafHash */ + leafHash?: (Uint8Array|null); + + /** Proof aunts */ + aunts?: (Uint8Array[]|null); + } + + /** Represents a Proof. */ + class Proof implements IProof { + + /** + * Constructs a new Proof. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.IProof); + + /** Proof total. */ + public total: (number|Long); + + /** Proof index. */ + public index: (number|Long); + + /** Proof leafHash. */ + public leafHash: Uint8Array; + + /** Proof aunts. */ + public aunts: Uint8Array[]; + + /** + * Creates a new Proof instance using the specified properties. + * @param [properties] Properties to set + * @returns Proof instance + */ + public static create(properties?: tendermint.crypto.IProof): tendermint.crypto.Proof; + + /** + * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.Proof.verify|verify} messages. + * @param message Proof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.IProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.Proof.verify|verify} messages. + * @param message Proof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.IProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Proof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.Proof; + + /** + * Decodes a Proof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.Proof; + + /** + * Verifies a Proof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Proof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Proof + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.Proof; + + /** + * Creates a plain object from a Proof message. Also converts values to other types if specified. + * @param message Proof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.Proof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Proof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ValueOp. */ + interface IValueOp { + + /** ValueOp key */ + key?: (Uint8Array|null); + + /** ValueOp proof */ + proof?: (tendermint.crypto.IProof|null); + } + + /** Represents a ValueOp. */ + class ValueOp implements IValueOp { + + /** + * Constructs a new ValueOp. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.IValueOp); + + /** ValueOp key. */ + public key: Uint8Array; + + /** ValueOp proof. */ + public proof?: (tendermint.crypto.IProof|null); + + /** + * Creates a new ValueOp instance using the specified properties. + * @param [properties] Properties to set + * @returns ValueOp instance + */ + public static create(properties?: tendermint.crypto.IValueOp): tendermint.crypto.ValueOp; + + /** + * Encodes the specified ValueOp message. Does not implicitly {@link tendermint.crypto.ValueOp.verify|verify} messages. + * @param message ValueOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.IValueOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ValueOp message, length delimited. Does not implicitly {@link tendermint.crypto.ValueOp.verify|verify} messages. + * @param message ValueOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.IValueOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ValueOp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ValueOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.ValueOp; + + /** + * Decodes a ValueOp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ValueOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.ValueOp; + + /** + * Verifies a ValueOp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ValueOp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ValueOp + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.ValueOp; + + /** + * Creates a plain object from a ValueOp message. Also converts values to other types if specified. + * @param message ValueOp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.ValueOp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ValueOp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DominoOp. */ + interface IDominoOp { + + /** DominoOp key */ + key?: (string|null); + + /** DominoOp input */ + input?: (string|null); + + /** DominoOp output */ + output?: (string|null); + } + + /** Represents a DominoOp. */ + class DominoOp implements IDominoOp { + + /** + * Constructs a new DominoOp. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.IDominoOp); + + /** DominoOp key. */ + public key: string; + + /** DominoOp input. */ + public input: string; + + /** DominoOp output. */ + public output: string; + + /** + * Creates a new DominoOp instance using the specified properties. + * @param [properties] Properties to set + * @returns DominoOp instance + */ + public static create(properties?: tendermint.crypto.IDominoOp): tendermint.crypto.DominoOp; + + /** + * Encodes the specified DominoOp message. Does not implicitly {@link tendermint.crypto.DominoOp.verify|verify} messages. + * @param message DominoOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.IDominoOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DominoOp message, length delimited. Does not implicitly {@link tendermint.crypto.DominoOp.verify|verify} messages. + * @param message DominoOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.IDominoOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DominoOp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DominoOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.DominoOp; + + /** + * Decodes a DominoOp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DominoOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.DominoOp; + + /** + * Verifies a DominoOp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DominoOp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DominoOp + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.DominoOp; + + /** + * Creates a plain object from a DominoOp message. Also converts values to other types if specified. + * @param message DominoOp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.DominoOp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DominoOp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProofOp. */ + interface IProofOp { + + /** ProofOp type */ + type?: (string|null); + + /** ProofOp key */ + key?: (Uint8Array|null); + + /** ProofOp data */ + data?: (Uint8Array|null); + } + + /** Represents a ProofOp. */ + class ProofOp implements IProofOp { + + /** + * Constructs a new ProofOp. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.IProofOp); + + /** ProofOp type. */ + public type: string; + + /** ProofOp key. */ + public key: Uint8Array; + + /** ProofOp data. */ + public data: Uint8Array; + + /** + * Creates a new ProofOp instance using the specified properties. + * @param [properties] Properties to set + * @returns ProofOp instance + */ + public static create(properties?: tendermint.crypto.IProofOp): tendermint.crypto.ProofOp; + + /** + * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.ProofOp.verify|verify} messages. + * @param message ProofOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.IProofOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.ProofOp.verify|verify} messages. + * @param message ProofOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.IProofOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProofOp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.ProofOp; + + /** + * Decodes a ProofOp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.ProofOp; + + /** + * Verifies a ProofOp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProofOp + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.ProofOp; + + /** + * Creates a plain object from a ProofOp message. Also converts values to other types if specified. + * @param message ProofOp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.ProofOp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProofOp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProofOps. */ + interface IProofOps { + + /** ProofOps ops */ + ops?: (tendermint.crypto.IProofOp[]|null); + } + + /** Represents a ProofOps. */ + class ProofOps implements IProofOps { + + /** + * Constructs a new ProofOps. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.IProofOps); + + /** ProofOps ops. */ + public ops: tendermint.crypto.IProofOp[]; + + /** + * Creates a new ProofOps instance using the specified properties. + * @param [properties] Properties to set + * @returns ProofOps instance + */ + public static create(properties?: tendermint.crypto.IProofOps): tendermint.crypto.ProofOps; + + /** + * Encodes the specified ProofOps message. Does not implicitly {@link tendermint.crypto.ProofOps.verify|verify} messages. + * @param message ProofOps message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.IProofOps, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProofOps message, length delimited. Does not implicitly {@link tendermint.crypto.ProofOps.verify|verify} messages. + * @param message ProofOps message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.IProofOps, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProofOps message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProofOps + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.ProofOps; + + /** + * Decodes a ProofOps message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProofOps + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.ProofOps; + + /** + * Verifies a ProofOps message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProofOps message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProofOps + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.ProofOps; + + /** + * Creates a plain object from a ProofOps message. Also converts values to other types if specified. + * @param message ProofOps + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.ProofOps, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProofOps to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Namespace merkle. */ + namespace merkle { + + /** Properties of a ProofOp. */ + interface IProofOp { + + /** ProofOp type */ + type?: (string|null); + + /** ProofOp key */ + key?: (Uint8Array|null); + + /** ProofOp data */ + data?: (Uint8Array|null); + } + + /** Represents a ProofOp. */ + class ProofOp implements IProofOp { + + /** + * Constructs a new ProofOp. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.merkle.IProofOp); + + /** ProofOp type. */ + public type: string; + + /** ProofOp key. */ + public key: Uint8Array; + + /** ProofOp data. */ + public data: Uint8Array; + + /** + * Creates a new ProofOp instance using the specified properties. + * @param [properties] Properties to set + * @returns ProofOp instance + */ + public static create(properties?: tendermint.crypto.merkle.IProofOp): tendermint.crypto.merkle.ProofOp; + + /** + * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. + * @param message ProofOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.merkle.IProofOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. + * @param message ProofOp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.merkle.IProofOp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProofOp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.merkle.ProofOp; + + /** + * Decodes a ProofOp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.merkle.ProofOp; + + /** + * Verifies a ProofOp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProofOp + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.merkle.ProofOp; + + /** + * Creates a plain object from a ProofOp message. Also converts values to other types if specified. + * @param message ProofOp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.merkle.ProofOp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProofOp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Proof. */ + interface IProof { + + /** Proof ops */ + ops?: (tendermint.crypto.merkle.IProofOp[]|null); + } + + /** Represents a Proof. */ + class Proof implements IProof { + + /** + * Constructs a new Proof. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.crypto.merkle.IProof); + + /** Proof ops. */ + public ops: tendermint.crypto.merkle.IProofOp[]; + + /** + * Creates a new Proof instance using the specified properties. + * @param [properties] Properties to set + * @returns Proof instance + */ + public static create(properties?: tendermint.crypto.merkle.IProof): tendermint.crypto.merkle.Proof; + + /** + * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. + * @param message Proof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.crypto.merkle.IProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. + * @param message Proof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.crypto.merkle.IProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Proof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.merkle.Proof; + + /** + * Decodes a Proof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.merkle.Proof; + + /** + * Verifies a Proof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Proof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Proof + */ + public static fromObject(object: { [k: string]: any }): tendermint.crypto.merkle.Proof; + + /** + * Creates a plain object from a Proof message. Also converts values to other types if specified. + * @param message Proof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.crypto.merkle.Proof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Proof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + + /** Namespace libs. */ + namespace libs { + + /** Namespace bits. */ + namespace bits { + + /** Properties of a BitArray. */ + interface IBitArray { + + /** BitArray bits */ + bits?: (number|Long|null); + + /** BitArray elems */ + elems?: ((number|Long)[]|null); + } + + /** Represents a BitArray. */ + class BitArray implements IBitArray { + + /** + * Constructs a new BitArray. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.libs.bits.IBitArray); + + /** BitArray bits. */ + public bits: (number|Long); + + /** BitArray elems. */ + public elems: (number|Long)[]; + + /** + * Creates a new BitArray instance using the specified properties. + * @param [properties] Properties to set + * @returns BitArray instance + */ + public static create(properties?: tendermint.libs.bits.IBitArray): tendermint.libs.bits.BitArray; + + /** + * Encodes the specified BitArray message. Does not implicitly {@link tendermint.libs.bits.BitArray.verify|verify} messages. + * @param message BitArray message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.libs.bits.IBitArray, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BitArray message, length delimited. Does not implicitly {@link tendermint.libs.bits.BitArray.verify|verify} messages. + * @param message BitArray message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.libs.bits.IBitArray, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BitArray message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BitArray + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.libs.bits.BitArray; + + /** + * Decodes a BitArray message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BitArray + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.libs.bits.BitArray; + + /** + * Verifies a BitArray message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BitArray message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BitArray + */ + public static fromObject(object: { [k: string]: any }): tendermint.libs.bits.BitArray; + + /** + * Creates a plain object from a BitArray message. Also converts values to other types if specified. + * @param message BitArray + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.libs.bits.BitArray, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BitArray to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace kv. */ + namespace kv { + + /** Properties of a Pair. */ + interface IPair { + + /** Pair key */ + key?: (Uint8Array|null); + + /** Pair value */ + value?: (Uint8Array|null); + } + + /** Represents a Pair. */ + class Pair implements IPair { + + /** + * Constructs a new Pair. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.libs.kv.IPair); + + /** Pair key. */ + public key: Uint8Array; + + /** Pair value. */ + public value: Uint8Array; + + /** + * Creates a new Pair instance using the specified properties. + * @param [properties] Properties to set + * @returns Pair instance + */ + public static create(properties?: tendermint.libs.kv.IPair): tendermint.libs.kv.Pair; + + /** + * Encodes the specified Pair message. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. + * @param message Pair message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.libs.kv.IPair, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. + * @param message Pair message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.libs.kv.IPair, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Pair message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.libs.kv.Pair; + + /** + * Decodes a Pair message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.libs.kv.Pair; + + /** + * Verifies a Pair message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Pair message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Pair + */ + public static fromObject(object: { [k: string]: any }): tendermint.libs.kv.Pair; + + /** + * Creates a plain object from a Pair message. Also converts values to other types if specified. + * @param message Pair + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.libs.kv.Pair, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Pair to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a KI64Pair. */ + interface IKI64Pair { + + /** KI64Pair key */ + key?: (Uint8Array|null); + + /** KI64Pair value */ + value?: (number|Long|null); + } + + /** Represents a KI64Pair. */ + class KI64Pair implements IKI64Pair { + + /** + * Constructs a new KI64Pair. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.libs.kv.IKI64Pair); + + /** KI64Pair key. */ + public key: Uint8Array; + + /** KI64Pair value. */ + public value: (number|Long); + + /** + * Creates a new KI64Pair instance using the specified properties. + * @param [properties] Properties to set + * @returns KI64Pair instance + */ + public static create(properties?: tendermint.libs.kv.IKI64Pair): tendermint.libs.kv.KI64Pair; + + /** + * Encodes the specified KI64Pair message. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. + * @param message KI64Pair message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.libs.kv.IKI64Pair, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified KI64Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. + * @param message KI64Pair message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.libs.kv.IKI64Pair, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a KI64Pair message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns KI64Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.libs.kv.KI64Pair; + + /** + * Decodes a KI64Pair message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns KI64Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.libs.kv.KI64Pair; + + /** + * Verifies a KI64Pair message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a KI64Pair message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns KI64Pair + */ + public static fromObject(object: { [k: string]: any }): tendermint.libs.kv.KI64Pair; + + /** + * Creates a plain object from a KI64Pair message. Also converts values to other types if specified. + * @param message KI64Pair + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.libs.kv.KI64Pair, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this KI64Pair to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + + /** Namespace mempool. */ + namespace mempool { + + /** Properties of a Txs. */ + interface ITxs { + + /** Txs txs */ + txs?: (Uint8Array[]|null); + } + + /** Represents a Txs. */ + class Txs implements ITxs { + + /** + * Constructs a new Txs. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.mempool.ITxs); + + /** Txs txs. */ + public txs: Uint8Array[]; + + /** + * Creates a new Txs instance using the specified properties. + * @param [properties] Properties to set + * @returns Txs instance + */ + public static create(properties?: tendermint.mempool.ITxs): tendermint.mempool.Txs; + + /** + * Encodes the specified Txs message. Does not implicitly {@link tendermint.mempool.Txs.verify|verify} messages. + * @param message Txs message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.mempool.ITxs, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Txs message, length delimited. Does not implicitly {@link tendermint.mempool.Txs.verify|verify} messages. + * @param message Txs message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.mempool.ITxs, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Txs message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Txs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.mempool.Txs; + + /** + * Decodes a Txs message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Txs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.mempool.Txs; + + /** + * Verifies a Txs message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Txs message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Txs + */ + public static fromObject(object: { [k: string]: any }): tendermint.mempool.Txs; + + /** + * Creates a plain object from a Txs message. Also converts values to other types if specified. + * @param message Txs + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.mempool.Txs, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Txs to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Message. */ + interface IMessage { + + /** Message txs */ + txs?: (tendermint.mempool.ITxs|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.mempool.IMessage); + + /** Message txs. */ + public txs?: (tendermint.mempool.ITxs|null); + + /** Message sum. */ + public sum?: "txs"; + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.mempool.IMessage): tendermint.mempool.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.mempool.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.mempool.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.mempool.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.mempool.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.mempool.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.mempool.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.mempool.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.mempool.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace p2p. */ + namespace p2p { + + /** Properties of a PacketPing. */ + interface IPacketPing { + } + + /** Represents a PacketPing. */ + class PacketPing implements IPacketPing { + + /** + * Constructs a new PacketPing. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IPacketPing); + + /** + * Creates a new PacketPing instance using the specified properties. + * @param [properties] Properties to set + * @returns PacketPing instance + */ + public static create(properties?: tendermint.p2p.IPacketPing): tendermint.p2p.PacketPing; + + /** + * Encodes the specified PacketPing message. Does not implicitly {@link tendermint.p2p.PacketPing.verify|verify} messages. + * @param message PacketPing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IPacketPing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PacketPing message, length delimited. Does not implicitly {@link tendermint.p2p.PacketPing.verify|verify} messages. + * @param message PacketPing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IPacketPing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PacketPing message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PacketPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.PacketPing; + + /** + * Decodes a PacketPing message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PacketPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.PacketPing; + + /** + * Verifies a PacketPing message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PacketPing message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PacketPing + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.PacketPing; + + /** + * Creates a plain object from a PacketPing message. Also converts values to other types if specified. + * @param message PacketPing + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.PacketPing, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PacketPing to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PacketPong. */ + interface IPacketPong { + } + + /** Represents a PacketPong. */ + class PacketPong implements IPacketPong { + + /** + * Constructs a new PacketPong. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IPacketPong); + + /** + * Creates a new PacketPong instance using the specified properties. + * @param [properties] Properties to set + * @returns PacketPong instance + */ + public static create(properties?: tendermint.p2p.IPacketPong): tendermint.p2p.PacketPong; + + /** + * Encodes the specified PacketPong message. Does not implicitly {@link tendermint.p2p.PacketPong.verify|verify} messages. + * @param message PacketPong message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IPacketPong, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PacketPong message, length delimited. Does not implicitly {@link tendermint.p2p.PacketPong.verify|verify} messages. + * @param message PacketPong message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IPacketPong, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PacketPong message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PacketPong + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.PacketPong; + + /** + * Decodes a PacketPong message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PacketPong + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.PacketPong; + + /** + * Verifies a PacketPong message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PacketPong message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PacketPong + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.PacketPong; + + /** + * Creates a plain object from a PacketPong message. Also converts values to other types if specified. + * @param message PacketPong + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.PacketPong, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PacketPong to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PacketMsg. */ + interface IPacketMsg { + + /** PacketMsg channelId */ + channelId?: (number|null); + + /** PacketMsg eof */ + eof?: (boolean|null); + + /** PacketMsg data */ + data?: (Uint8Array|null); + } + + /** Represents a PacketMsg. */ + class PacketMsg implements IPacketMsg { + + /** + * Constructs a new PacketMsg. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IPacketMsg); + + /** PacketMsg channelId. */ + public channelId: number; + + /** PacketMsg eof. */ + public eof: boolean; + + /** PacketMsg data. */ + public data: Uint8Array; + + /** + * Creates a new PacketMsg instance using the specified properties. + * @param [properties] Properties to set + * @returns PacketMsg instance + */ + public static create(properties?: tendermint.p2p.IPacketMsg): tendermint.p2p.PacketMsg; + + /** + * Encodes the specified PacketMsg message. Does not implicitly {@link tendermint.p2p.PacketMsg.verify|verify} messages. + * @param message PacketMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IPacketMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PacketMsg message, length delimited. Does not implicitly {@link tendermint.p2p.PacketMsg.verify|verify} messages. + * @param message PacketMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IPacketMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PacketMsg message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PacketMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.PacketMsg; + + /** + * Decodes a PacketMsg message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PacketMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.PacketMsg; + + /** + * Verifies a PacketMsg message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PacketMsg message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PacketMsg + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.PacketMsg; + + /** + * Creates a plain object from a PacketMsg message. Also converts values to other types if specified. + * @param message PacketMsg + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.PacketMsg, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PacketMsg to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Packet. */ + interface IPacket { + + /** Packet packetPing */ + packetPing?: (tendermint.p2p.IPacketPing|null); + + /** Packet packetPong */ + packetPong?: (tendermint.p2p.IPacketPong|null); + + /** Packet packetMsg */ + packetMsg?: (tendermint.p2p.IPacketMsg|null); + } + + /** Represents a Packet. */ + class Packet implements IPacket { + + /** + * Constructs a new Packet. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IPacket); + + /** Packet packetPing. */ + public packetPing?: (tendermint.p2p.IPacketPing|null); + + /** Packet packetPong. */ + public packetPong?: (tendermint.p2p.IPacketPong|null); + + /** Packet packetMsg. */ + public packetMsg?: (tendermint.p2p.IPacketMsg|null); + + /** Packet sum. */ + public sum?: ("packetPing"|"packetPong"|"packetMsg"); + + /** + * Creates a new Packet instance using the specified properties. + * @param [properties] Properties to set + * @returns Packet instance + */ + public static create(properties?: tendermint.p2p.IPacket): tendermint.p2p.Packet; + + /** + * Encodes the specified Packet message. Does not implicitly {@link tendermint.p2p.Packet.verify|verify} messages. + * @param message Packet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IPacket, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Packet message, length delimited. Does not implicitly {@link tendermint.p2p.Packet.verify|verify} messages. + * @param message Packet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IPacket, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Packet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Packet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.Packet; + + /** + * Decodes a Packet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Packet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.Packet; + + /** + * Verifies a Packet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Packet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Packet + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.Packet; + + /** + * Creates a plain object from a Packet message. Also converts values to other types if specified. + * @param message Packet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.Packet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Packet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AuthSigMessage. */ + interface IAuthSigMessage { + + /** AuthSigMessage pubKey */ + pubKey?: (tendermint.crypto.IPublicKey|null); + + /** AuthSigMessage sig */ + sig?: (Uint8Array|null); + } + + /** Represents an AuthSigMessage. */ + class AuthSigMessage implements IAuthSigMessage { + + /** + * Constructs a new AuthSigMessage. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IAuthSigMessage); + + /** AuthSigMessage pubKey. */ + public pubKey?: (tendermint.crypto.IPublicKey|null); + + /** AuthSigMessage sig. */ + public sig: Uint8Array; + + /** + * Creates a new AuthSigMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthSigMessage instance + */ + public static create(properties?: tendermint.p2p.IAuthSigMessage): tendermint.p2p.AuthSigMessage; + + /** + * Encodes the specified AuthSigMessage message. Does not implicitly {@link tendermint.p2p.AuthSigMessage.verify|verify} messages. + * @param message AuthSigMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IAuthSigMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthSigMessage message, length delimited. Does not implicitly {@link tendermint.p2p.AuthSigMessage.verify|verify} messages. + * @param message AuthSigMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IAuthSigMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthSigMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthSigMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.AuthSigMessage; + + /** + * Decodes an AuthSigMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthSigMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.AuthSigMessage; + + /** + * Verifies an AuthSigMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AuthSigMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthSigMessage + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.AuthSigMessage; + + /** + * Creates a plain object from an AuthSigMessage message. Also converts values to other types if specified. + * @param message AuthSigMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.AuthSigMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthSigMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PexRequest. */ + interface IPexRequest { + } + + /** Represents a PexRequest. */ + class PexRequest implements IPexRequest { + + /** + * Constructs a new PexRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IPexRequest); + + /** + * Creates a new PexRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns PexRequest instance + */ + public static create(properties?: tendermint.p2p.IPexRequest): tendermint.p2p.PexRequest; + + /** + * Encodes the specified PexRequest message. Does not implicitly {@link tendermint.p2p.PexRequest.verify|verify} messages. + * @param message PexRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IPexRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PexRequest message, length delimited. Does not implicitly {@link tendermint.p2p.PexRequest.verify|verify} messages. + * @param message PexRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IPexRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PexRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PexRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.PexRequest; + + /** + * Decodes a PexRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PexRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.PexRequest; + + /** + * Verifies a PexRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PexRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PexRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.PexRequest; + + /** + * Creates a plain object from a PexRequest message. Also converts values to other types if specified. + * @param message PexRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.PexRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PexRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PexAddrs. */ + interface IPexAddrs { + + /** PexAddrs addrs */ + addrs?: (tendermint.p2p.INetAddress[]|null); + } + + /** Represents a PexAddrs. */ + class PexAddrs implements IPexAddrs { + + /** + * Constructs a new PexAddrs. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IPexAddrs); + + /** PexAddrs addrs. */ + public addrs: tendermint.p2p.INetAddress[]; + + /** + * Creates a new PexAddrs instance using the specified properties. + * @param [properties] Properties to set + * @returns PexAddrs instance + */ + public static create(properties?: tendermint.p2p.IPexAddrs): tendermint.p2p.PexAddrs; + + /** + * Encodes the specified PexAddrs message. Does not implicitly {@link tendermint.p2p.PexAddrs.verify|verify} messages. + * @param message PexAddrs message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IPexAddrs, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PexAddrs message, length delimited. Does not implicitly {@link tendermint.p2p.PexAddrs.verify|verify} messages. + * @param message PexAddrs message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IPexAddrs, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PexAddrs message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PexAddrs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.PexAddrs; + + /** + * Decodes a PexAddrs message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PexAddrs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.PexAddrs; + + /** + * Verifies a PexAddrs message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PexAddrs message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PexAddrs + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.PexAddrs; + + /** + * Creates a plain object from a PexAddrs message. Also converts values to other types if specified. + * @param message PexAddrs + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.PexAddrs, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PexAddrs to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Message. */ + interface IMessage { + + /** Message pexRequest */ + pexRequest?: (tendermint.p2p.IPexRequest|null); + + /** Message pexAddrs */ + pexAddrs?: (tendermint.p2p.IPexAddrs|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IMessage); + + /** Message pexRequest. */ + public pexRequest?: (tendermint.p2p.IPexRequest|null); + + /** Message pexAddrs. */ + public pexAddrs?: (tendermint.p2p.IPexAddrs|null); + + /** Message sum. */ + public sum?: ("pexRequest"|"pexAddrs"); + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.p2p.IMessage): tendermint.p2p.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.p2p.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.p2p.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NetAddress. */ + interface INetAddress { + + /** NetAddress id */ + id?: (string|null); + + /** NetAddress ip */ + ip?: (string|null); + + /** NetAddress port */ + port?: (number|null); + } + + /** Represents a NetAddress. */ + class NetAddress implements INetAddress { + + /** + * Constructs a new NetAddress. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.INetAddress); + + /** NetAddress id. */ + public id: string; + + /** NetAddress ip. */ + public ip: string; + + /** NetAddress port. */ + public port: number; + + /** + * Creates a new NetAddress instance using the specified properties. + * @param [properties] Properties to set + * @returns NetAddress instance + */ + public static create(properties?: tendermint.p2p.INetAddress): tendermint.p2p.NetAddress; + + /** + * Encodes the specified NetAddress message. Does not implicitly {@link tendermint.p2p.NetAddress.verify|verify} messages. + * @param message NetAddress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.INetAddress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NetAddress message, length delimited. Does not implicitly {@link tendermint.p2p.NetAddress.verify|verify} messages. + * @param message NetAddress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.INetAddress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NetAddress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NetAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.NetAddress; + + /** + * Decodes a NetAddress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NetAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.NetAddress; + + /** + * Verifies a NetAddress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NetAddress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NetAddress + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.NetAddress; + + /** + * Creates a plain object from a NetAddress message. Also converts values to other types if specified. + * @param message NetAddress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.NetAddress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NetAddress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProtocolVersion. */ + interface IProtocolVersion { + + /** ProtocolVersion p2p */ + p2p?: (number|Long|null); + + /** ProtocolVersion block */ + block?: (number|Long|null); + + /** ProtocolVersion app */ + app?: (number|Long|null); + } + + /** Represents a ProtocolVersion. */ + class ProtocolVersion implements IProtocolVersion { + + /** + * Constructs a new ProtocolVersion. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IProtocolVersion); + + /** ProtocolVersion p2p. */ + public p2p: (number|Long); + + /** ProtocolVersion block. */ + public block: (number|Long); + + /** ProtocolVersion app. */ + public app: (number|Long); + + /** + * Creates a new ProtocolVersion instance using the specified properties. + * @param [properties] Properties to set + * @returns ProtocolVersion instance + */ + public static create(properties?: tendermint.p2p.IProtocolVersion): tendermint.p2p.ProtocolVersion; + + /** + * Encodes the specified ProtocolVersion message. Does not implicitly {@link tendermint.p2p.ProtocolVersion.verify|verify} messages. + * @param message ProtocolVersion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IProtocolVersion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProtocolVersion message, length delimited. Does not implicitly {@link tendermint.p2p.ProtocolVersion.verify|verify} messages. + * @param message ProtocolVersion message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IProtocolVersion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProtocolVersion message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProtocolVersion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.ProtocolVersion; + + /** + * Decodes a ProtocolVersion message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProtocolVersion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.ProtocolVersion; + + /** + * Verifies a ProtocolVersion message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProtocolVersion message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProtocolVersion + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.ProtocolVersion; + + /** + * Creates a plain object from a ProtocolVersion message. Also converts values to other types if specified. + * @param message ProtocolVersion + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.ProtocolVersion, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProtocolVersion to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DefaultNodeInfo. */ + interface IDefaultNodeInfo { + + /** DefaultNodeInfo protocolVersion */ + protocolVersion?: (tendermint.p2p.IProtocolVersion|null); + + /** DefaultNodeInfo defaultNodeId */ + defaultNodeId?: (string|null); + + /** DefaultNodeInfo listenAddr */ + listenAddr?: (string|null); + + /** DefaultNodeInfo network */ + network?: (string|null); + + /** DefaultNodeInfo version */ + version?: (string|null); + + /** DefaultNodeInfo channels */ + channels?: (Uint8Array|null); + + /** DefaultNodeInfo moniker */ + moniker?: (string|null); + + /** DefaultNodeInfo other */ + other?: (tendermint.p2p.IDefaultNodeInfoOther|null); + } + + /** Represents a DefaultNodeInfo. */ + class DefaultNodeInfo implements IDefaultNodeInfo { + + /** + * Constructs a new DefaultNodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IDefaultNodeInfo); + + /** DefaultNodeInfo protocolVersion. */ + public protocolVersion?: (tendermint.p2p.IProtocolVersion|null); + + /** DefaultNodeInfo defaultNodeId. */ + public defaultNodeId: string; + + /** DefaultNodeInfo listenAddr. */ + public listenAddr: string; + + /** DefaultNodeInfo network. */ + public network: string; + + /** DefaultNodeInfo version. */ + public version: string; + + /** DefaultNodeInfo channels. */ + public channels: Uint8Array; + + /** DefaultNodeInfo moniker. */ + public moniker: string; + + /** DefaultNodeInfo other. */ + public other?: (tendermint.p2p.IDefaultNodeInfoOther|null); + + /** + * Creates a new DefaultNodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns DefaultNodeInfo instance + */ + public static create(properties?: tendermint.p2p.IDefaultNodeInfo): tendermint.p2p.DefaultNodeInfo; + + /** + * Encodes the specified DefaultNodeInfo message. Does not implicitly {@link tendermint.p2p.DefaultNodeInfo.verify|verify} messages. + * @param message DefaultNodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IDefaultNodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DefaultNodeInfo message, length delimited. Does not implicitly {@link tendermint.p2p.DefaultNodeInfo.verify|verify} messages. + * @param message DefaultNodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IDefaultNodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DefaultNodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DefaultNodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.DefaultNodeInfo; + + /** + * Decodes a DefaultNodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DefaultNodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.DefaultNodeInfo; + + /** + * Verifies a DefaultNodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DefaultNodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DefaultNodeInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.DefaultNodeInfo; + + /** + * Creates a plain object from a DefaultNodeInfo message. Also converts values to other types if specified. + * @param message DefaultNodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.DefaultNodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DefaultNodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DefaultNodeInfoOther. */ + interface IDefaultNodeInfoOther { + + /** DefaultNodeInfoOther txIndex */ + txIndex?: (string|null); + + /** DefaultNodeInfoOther rpcAddress */ + rpcAddress?: (string|null); + } + + /** Represents a DefaultNodeInfoOther. */ + class DefaultNodeInfoOther implements IDefaultNodeInfoOther { + + /** + * Constructs a new DefaultNodeInfoOther. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.p2p.IDefaultNodeInfoOther); + + /** DefaultNodeInfoOther txIndex. */ + public txIndex: string; + + /** DefaultNodeInfoOther rpcAddress. */ + public rpcAddress: string; + + /** + * Creates a new DefaultNodeInfoOther instance using the specified properties. + * @param [properties] Properties to set + * @returns DefaultNodeInfoOther instance + */ + public static create(properties?: tendermint.p2p.IDefaultNodeInfoOther): tendermint.p2p.DefaultNodeInfoOther; + + /** + * Encodes the specified DefaultNodeInfoOther message. Does not implicitly {@link tendermint.p2p.DefaultNodeInfoOther.verify|verify} messages. + * @param message DefaultNodeInfoOther message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.p2p.IDefaultNodeInfoOther, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DefaultNodeInfoOther message, length delimited. Does not implicitly {@link tendermint.p2p.DefaultNodeInfoOther.verify|verify} messages. + * @param message DefaultNodeInfoOther message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.p2p.IDefaultNodeInfoOther, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DefaultNodeInfoOther message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DefaultNodeInfoOther + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.p2p.DefaultNodeInfoOther; + + /** + * Decodes a DefaultNodeInfoOther message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DefaultNodeInfoOther + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.p2p.DefaultNodeInfoOther; + + /** + * Verifies a DefaultNodeInfoOther message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DefaultNodeInfoOther message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DefaultNodeInfoOther + */ + public static fromObject(object: { [k: string]: any }): tendermint.p2p.DefaultNodeInfoOther; + + /** + * Creates a plain object from a DefaultNodeInfoOther message. Also converts values to other types if specified. + * @param message DefaultNodeInfoOther + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.p2p.DefaultNodeInfoOther, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DefaultNodeInfoOther to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace privval. */ + namespace privval { + + /** Represents a PrivValidatorAPI */ + class PrivValidatorAPI extends $protobuf.rpc.Service { + + /** + * Constructs a new PrivValidatorAPI service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new PrivValidatorAPI service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): PrivValidatorAPI; + + /** + * Calls GetPubKey. + * @param request PubKeyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and PubKeyResponse + */ + public getPubKey(request: tendermint.privval.IPubKeyRequest, callback: tendermint.privval.PrivValidatorAPI.GetPubKeyCallback): void; + + /** + * Calls GetPubKey. + * @param request PubKeyRequest message or plain object + * @returns Promise + */ + public getPubKey(request: tendermint.privval.IPubKeyRequest): Promise; + + /** + * Calls SignVote. + * @param request SignVoteRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SignedVoteResponse + */ + public signVote(request: tendermint.privval.ISignVoteRequest, callback: tendermint.privval.PrivValidatorAPI.SignVoteCallback): void; + + /** + * Calls SignVote. + * @param request SignVoteRequest message or plain object + * @returns Promise + */ + public signVote(request: tendermint.privval.ISignVoteRequest): Promise; + + /** + * Calls SignProposal. + * @param request SignProposalRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SignedProposalResponse + */ + public signProposal(request: tendermint.privval.ISignProposalRequest, callback: tendermint.privval.PrivValidatorAPI.SignProposalCallback): void; + + /** + * Calls SignProposal. + * @param request SignProposalRequest message or plain object + * @returns Promise + */ + public signProposal(request: tendermint.privval.ISignProposalRequest): Promise; + } + + namespace PrivValidatorAPI { + + /** + * Callback as used by {@link tendermint.privval.PrivValidatorAPI#getPubKey}. + * @param error Error, if any + * @param [response] PubKeyResponse + */ + type GetPubKeyCallback = (error: (Error|null), response?: tendermint.privval.PubKeyResponse) => void; + + /** + * Callback as used by {@link tendermint.privval.PrivValidatorAPI#signVote}. + * @param error Error, if any + * @param [response] SignedVoteResponse + */ + type SignVoteCallback = (error: (Error|null), response?: tendermint.privval.SignedVoteResponse) => void; + + /** + * Callback as used by {@link tendermint.privval.PrivValidatorAPI#signProposal}. + * @param error Error, if any + * @param [response] SignedProposalResponse + */ + type SignProposalCallback = (error: (Error|null), response?: tendermint.privval.SignedProposalResponse) => void; + } + + /** Errors enum. */ + enum Errors { + ERRORS_UNKNOWN = 0, + ERRORS_UNEXPECTED_RESPONSE = 1, + ERRORS_NO_CONNECTION = 2, + ERRORS_CONNECTION_TIMEOUT = 3, + ERRORS_READ_TIMEOUT = 4, + ERRORS_WRITE_TIMEOUT = 5 + } + + /** Properties of a RemoteSignerError. */ + interface IRemoteSignerError { + + /** RemoteSignerError code */ + code?: (number|null); + + /** RemoteSignerError description */ + description?: (string|null); + } + + /** Represents a RemoteSignerError. */ + class RemoteSignerError implements IRemoteSignerError { + + /** + * Constructs a new RemoteSignerError. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.IRemoteSignerError); + + /** RemoteSignerError code. */ + public code: number; + + /** RemoteSignerError description. */ + public description: string; + + /** + * Creates a new RemoteSignerError instance using the specified properties. + * @param [properties] Properties to set + * @returns RemoteSignerError instance + */ + public static create(properties?: tendermint.privval.IRemoteSignerError): tendermint.privval.RemoteSignerError; + + /** + * Encodes the specified RemoteSignerError message. Does not implicitly {@link tendermint.privval.RemoteSignerError.verify|verify} messages. + * @param message RemoteSignerError message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.IRemoteSignerError, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RemoteSignerError message, length delimited. Does not implicitly {@link tendermint.privval.RemoteSignerError.verify|verify} messages. + * @param message RemoteSignerError message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.IRemoteSignerError, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RemoteSignerError message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RemoteSignerError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.RemoteSignerError; + + /** + * Decodes a RemoteSignerError message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RemoteSignerError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.RemoteSignerError; + + /** + * Verifies a RemoteSignerError message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RemoteSignerError message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RemoteSignerError + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.RemoteSignerError; + + /** + * Creates a plain object from a RemoteSignerError message. Also converts values to other types if specified. + * @param message RemoteSignerError + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.RemoteSignerError, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RemoteSignerError to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PubKeyRequest. */ + interface IPubKeyRequest { + + /** PubKeyRequest chainId */ + chainId?: (string|null); + } + + /** Represents a PubKeyRequest. */ + class PubKeyRequest implements IPubKeyRequest { + + /** + * Constructs a new PubKeyRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.IPubKeyRequest); + + /** PubKeyRequest chainId. */ + public chainId: string; + + /** + * Creates a new PubKeyRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns PubKeyRequest instance + */ + public static create(properties?: tendermint.privval.IPubKeyRequest): tendermint.privval.PubKeyRequest; + + /** + * Encodes the specified PubKeyRequest message. Does not implicitly {@link tendermint.privval.PubKeyRequest.verify|verify} messages. + * @param message PubKeyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.IPubKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PubKeyRequest message, length delimited. Does not implicitly {@link tendermint.privval.PubKeyRequest.verify|verify} messages. + * @param message PubKeyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.IPubKeyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PubKeyRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PubKeyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.PubKeyRequest; + + /** + * Decodes a PubKeyRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PubKeyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.PubKeyRequest; + + /** + * Verifies a PubKeyRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PubKeyRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PubKeyRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.PubKeyRequest; + + /** + * Creates a plain object from a PubKeyRequest message. Also converts values to other types if specified. + * @param message PubKeyRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.PubKeyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PubKeyRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PubKeyResponse. */ + interface IPubKeyResponse { + + /** PubKeyResponse pubKey */ + pubKey?: (tendermint.crypto.IPublicKey|null); + + /** PubKeyResponse error */ + error?: (tendermint.privval.IRemoteSignerError|null); + } + + /** Represents a PubKeyResponse. */ + class PubKeyResponse implements IPubKeyResponse { + + /** + * Constructs a new PubKeyResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.IPubKeyResponse); + + /** PubKeyResponse pubKey. */ + public pubKey?: (tendermint.crypto.IPublicKey|null); + + /** PubKeyResponse error. */ + public error?: (tendermint.privval.IRemoteSignerError|null); + + /** + * Creates a new PubKeyResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns PubKeyResponse instance + */ + public static create(properties?: tendermint.privval.IPubKeyResponse): tendermint.privval.PubKeyResponse; + + /** + * Encodes the specified PubKeyResponse message. Does not implicitly {@link tendermint.privval.PubKeyResponse.verify|verify} messages. + * @param message PubKeyResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.IPubKeyResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PubKeyResponse message, length delimited. Does not implicitly {@link tendermint.privval.PubKeyResponse.verify|verify} messages. + * @param message PubKeyResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.IPubKeyResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PubKeyResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PubKeyResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.PubKeyResponse; + + /** + * Decodes a PubKeyResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PubKeyResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.PubKeyResponse; + + /** + * Verifies a PubKeyResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PubKeyResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PubKeyResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.PubKeyResponse; + + /** + * Creates a plain object from a PubKeyResponse message. Also converts values to other types if specified. + * @param message PubKeyResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.PubKeyResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PubKeyResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignVoteRequest. */ + interface ISignVoteRequest { + + /** SignVoteRequest vote */ + vote?: (tendermint.types.IVote|null); + + /** SignVoteRequest chainId */ + chainId?: (string|null); + } + + /** Represents a SignVoteRequest. */ + class SignVoteRequest implements ISignVoteRequest { + + /** + * Constructs a new SignVoteRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.ISignVoteRequest); + + /** SignVoteRequest vote. */ + public vote?: (tendermint.types.IVote|null); + + /** SignVoteRequest chainId. */ + public chainId: string; + + /** + * Creates a new SignVoteRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SignVoteRequest instance + */ + public static create(properties?: tendermint.privval.ISignVoteRequest): tendermint.privval.SignVoteRequest; + + /** + * Encodes the specified SignVoteRequest message. Does not implicitly {@link tendermint.privval.SignVoteRequest.verify|verify} messages. + * @param message SignVoteRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.ISignVoteRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignVoteRequest message, length delimited. Does not implicitly {@link tendermint.privval.SignVoteRequest.verify|verify} messages. + * @param message SignVoteRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.ISignVoteRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignVoteRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignVoteRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.SignVoteRequest; + + /** + * Decodes a SignVoteRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignVoteRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.SignVoteRequest; + + /** + * Verifies a SignVoteRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignVoteRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignVoteRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.SignVoteRequest; + + /** + * Creates a plain object from a SignVoteRequest message. Also converts values to other types if specified. + * @param message SignVoteRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.SignVoteRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignVoteRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignedVoteResponse. */ + interface ISignedVoteResponse { + + /** SignedVoteResponse vote */ + vote?: (tendermint.types.IVote|null); + + /** SignedVoteResponse error */ + error?: (tendermint.privval.IRemoteSignerError|null); + } + + /** Represents a SignedVoteResponse. */ + class SignedVoteResponse implements ISignedVoteResponse { + + /** + * Constructs a new SignedVoteResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.ISignedVoteResponse); + + /** SignedVoteResponse vote. */ + public vote?: (tendermint.types.IVote|null); + + /** SignedVoteResponse error. */ + public error?: (tendermint.privval.IRemoteSignerError|null); + + /** + * Creates a new SignedVoteResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SignedVoteResponse instance + */ + public static create(properties?: tendermint.privval.ISignedVoteResponse): tendermint.privval.SignedVoteResponse; + + /** + * Encodes the specified SignedVoteResponse message. Does not implicitly {@link tendermint.privval.SignedVoteResponse.verify|verify} messages. + * @param message SignedVoteResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.ISignedVoteResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignedVoteResponse message, length delimited. Does not implicitly {@link tendermint.privval.SignedVoteResponse.verify|verify} messages. + * @param message SignedVoteResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.ISignedVoteResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignedVoteResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignedVoteResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.SignedVoteResponse; + + /** + * Decodes a SignedVoteResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignedVoteResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.SignedVoteResponse; + + /** + * Verifies a SignedVoteResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignedVoteResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignedVoteResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.SignedVoteResponse; + + /** + * Creates a plain object from a SignedVoteResponse message. Also converts values to other types if specified. + * @param message SignedVoteResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.SignedVoteResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignedVoteResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignProposalRequest. */ + interface ISignProposalRequest { + + /** SignProposalRequest proposal */ + proposal?: (tendermint.types.IProposal|null); + + /** SignProposalRequest chainId */ + chainId?: (string|null); + } + + /** Represents a SignProposalRequest. */ + class SignProposalRequest implements ISignProposalRequest { + + /** + * Constructs a new SignProposalRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.ISignProposalRequest); + + /** SignProposalRequest proposal. */ + public proposal?: (tendermint.types.IProposal|null); + + /** SignProposalRequest chainId. */ + public chainId: string; + + /** + * Creates a new SignProposalRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SignProposalRequest instance + */ + public static create(properties?: tendermint.privval.ISignProposalRequest): tendermint.privval.SignProposalRequest; + + /** + * Encodes the specified SignProposalRequest message. Does not implicitly {@link tendermint.privval.SignProposalRequest.verify|verify} messages. + * @param message SignProposalRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.ISignProposalRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignProposalRequest message, length delimited. Does not implicitly {@link tendermint.privval.SignProposalRequest.verify|verify} messages. + * @param message SignProposalRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.ISignProposalRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignProposalRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignProposalRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.SignProposalRequest; + + /** + * Decodes a SignProposalRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignProposalRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.SignProposalRequest; + + /** + * Verifies a SignProposalRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignProposalRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignProposalRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.SignProposalRequest; + + /** + * Creates a plain object from a SignProposalRequest message. Also converts values to other types if specified. + * @param message SignProposalRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.SignProposalRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignProposalRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignedProposalResponse. */ + interface ISignedProposalResponse { + + /** SignedProposalResponse proposal */ + proposal?: (tendermint.types.IProposal|null); + + /** SignedProposalResponse error */ + error?: (tendermint.privval.IRemoteSignerError|null); + } + + /** Represents a SignedProposalResponse. */ + class SignedProposalResponse implements ISignedProposalResponse { + + /** + * Constructs a new SignedProposalResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.ISignedProposalResponse); + + /** SignedProposalResponse proposal. */ + public proposal?: (tendermint.types.IProposal|null); + + /** SignedProposalResponse error. */ + public error?: (tendermint.privval.IRemoteSignerError|null); + + /** + * Creates a new SignedProposalResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SignedProposalResponse instance + */ + public static create(properties?: tendermint.privval.ISignedProposalResponse): tendermint.privval.SignedProposalResponse; + + /** + * Encodes the specified SignedProposalResponse message. Does not implicitly {@link tendermint.privval.SignedProposalResponse.verify|verify} messages. + * @param message SignedProposalResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.ISignedProposalResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignedProposalResponse message, length delimited. Does not implicitly {@link tendermint.privval.SignedProposalResponse.verify|verify} messages. + * @param message SignedProposalResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.ISignedProposalResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignedProposalResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignedProposalResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.SignedProposalResponse; + + /** + * Decodes a SignedProposalResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignedProposalResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.SignedProposalResponse; + + /** + * Verifies a SignedProposalResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignedProposalResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignedProposalResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.SignedProposalResponse; + + /** + * Creates a plain object from a SignedProposalResponse message. Also converts values to other types if specified. + * @param message SignedProposalResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.SignedProposalResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignedProposalResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PingRequest. */ + interface IPingRequest { + } + + /** Represents a PingRequest. */ + class PingRequest implements IPingRequest { + + /** + * Constructs a new PingRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.IPingRequest); + + /** + * Creates a new PingRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns PingRequest instance + */ + public static create(properties?: tendermint.privval.IPingRequest): tendermint.privval.PingRequest; + + /** + * Encodes the specified PingRequest message. Does not implicitly {@link tendermint.privval.PingRequest.verify|verify} messages. + * @param message PingRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.IPingRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PingRequest message, length delimited. Does not implicitly {@link tendermint.privval.PingRequest.verify|verify} messages. + * @param message PingRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.IPingRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PingRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PingRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.PingRequest; + + /** + * Decodes a PingRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PingRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.PingRequest; + + /** + * Verifies a PingRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PingRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PingRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.PingRequest; + + /** + * Creates a plain object from a PingRequest message. Also converts values to other types if specified. + * @param message PingRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.PingRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PingRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PingResponse. */ + interface IPingResponse { + } + + /** Represents a PingResponse. */ + class PingResponse implements IPingResponse { + + /** + * Constructs a new PingResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.IPingResponse); + + /** + * Creates a new PingResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns PingResponse instance + */ + public static create(properties?: tendermint.privval.IPingResponse): tendermint.privval.PingResponse; + + /** + * Encodes the specified PingResponse message. Does not implicitly {@link tendermint.privval.PingResponse.verify|verify} messages. + * @param message PingResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.IPingResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PingResponse message, length delimited. Does not implicitly {@link tendermint.privval.PingResponse.verify|verify} messages. + * @param message PingResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.IPingResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PingResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PingResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.PingResponse; + + /** + * Decodes a PingResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PingResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.PingResponse; + + /** + * Verifies a PingResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PingResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PingResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.PingResponse; + + /** + * Creates a plain object from a PingResponse message. Also converts values to other types if specified. + * @param message PingResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.PingResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PingResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Message. */ + interface IMessage { + + /** Message pubKeyRequest */ + pubKeyRequest?: (tendermint.privval.IPubKeyRequest|null); + + /** Message pubKeyResponse */ + pubKeyResponse?: (tendermint.privval.IPubKeyResponse|null); + + /** Message signVoteRequest */ + signVoteRequest?: (tendermint.privval.ISignVoteRequest|null); + + /** Message signedVoteResponse */ + signedVoteResponse?: (tendermint.privval.ISignedVoteResponse|null); + + /** Message signProposalRequest */ + signProposalRequest?: (tendermint.privval.ISignProposalRequest|null); + + /** Message signedProposalResponse */ + signedProposalResponse?: (tendermint.privval.ISignedProposalResponse|null); + + /** Message pingRequest */ + pingRequest?: (tendermint.privval.IPingRequest|null); + + /** Message pingResponse */ + pingResponse?: (tendermint.privval.IPingResponse|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.privval.IMessage); + + /** Message pubKeyRequest. */ + public pubKeyRequest?: (tendermint.privval.IPubKeyRequest|null); + + /** Message pubKeyResponse. */ + public pubKeyResponse?: (tendermint.privval.IPubKeyResponse|null); + + /** Message signVoteRequest. */ + public signVoteRequest?: (tendermint.privval.ISignVoteRequest|null); + + /** Message signedVoteResponse. */ + public signedVoteResponse?: (tendermint.privval.ISignedVoteResponse|null); + + /** Message signProposalRequest. */ + public signProposalRequest?: (tendermint.privval.ISignProposalRequest|null); + + /** Message signedProposalResponse. */ + public signedProposalResponse?: (tendermint.privval.ISignedProposalResponse|null); + + /** Message pingRequest. */ + public pingRequest?: (tendermint.privval.IPingRequest|null); + + /** Message pingResponse. */ + public pingResponse?: (tendermint.privval.IPingResponse|null); + + /** Message sum. */ + public sum?: ("pubKeyRequest"|"pubKeyResponse"|"signVoteRequest"|"signedVoteResponse"|"signProposalRequest"|"signedProposalResponse"|"pingRequest"|"pingResponse"); + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.privval.IMessage): tendermint.privval.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.privval.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.privval.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.privval.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.privval.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.privval.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.privval.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.privval.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.privval.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace rpc. */ + namespace rpc { + + /** Namespace grpc. */ + namespace grpc { + + /** Properties of a RequestPing. */ + interface IRequestPing { + } + + /** Represents a RequestPing. */ + class RequestPing implements IRequestPing { + + /** + * Constructs a new RequestPing. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.rpc.grpc.IRequestPing); + + /** + * Creates a new RequestPing instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestPing instance + */ + public static create(properties?: tendermint.rpc.grpc.IRequestPing): tendermint.rpc.grpc.RequestPing; + + /** + * Encodes the specified RequestPing message. Does not implicitly {@link tendermint.rpc.grpc.RequestPing.verify|verify} messages. + * @param message RequestPing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.rpc.grpc.IRequestPing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RequestPing message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.RequestPing.verify|verify} messages. + * @param message RequestPing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.rpc.grpc.IRequestPing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RequestPing message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.rpc.grpc.RequestPing; + + /** + * Decodes a RequestPing message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.rpc.grpc.RequestPing; + + /** + * Verifies a RequestPing message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RequestPing message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestPing + */ + public static fromObject(object: { [k: string]: any }): tendermint.rpc.grpc.RequestPing; + + /** + * Creates a plain object from a RequestPing message. Also converts values to other types if specified. + * @param message RequestPing + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.rpc.grpc.RequestPing, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RequestPing to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a RequestBroadcastTx. */ + interface IRequestBroadcastTx { + + /** RequestBroadcastTx tx */ + tx?: (Uint8Array|null); + } + + /** Represents a RequestBroadcastTx. */ + class RequestBroadcastTx implements IRequestBroadcastTx { + + /** + * Constructs a new RequestBroadcastTx. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.rpc.grpc.IRequestBroadcastTx); + + /** RequestBroadcastTx tx. */ + public tx: Uint8Array; + + /** + * Creates a new RequestBroadcastTx instance using the specified properties. + * @param [properties] Properties to set + * @returns RequestBroadcastTx instance + */ + public static create(properties?: tendermint.rpc.grpc.IRequestBroadcastTx): tendermint.rpc.grpc.RequestBroadcastTx; + + /** + * Encodes the specified RequestBroadcastTx message. Does not implicitly {@link tendermint.rpc.grpc.RequestBroadcastTx.verify|verify} messages. + * @param message RequestBroadcastTx message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.rpc.grpc.IRequestBroadcastTx, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RequestBroadcastTx message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.RequestBroadcastTx.verify|verify} messages. + * @param message RequestBroadcastTx message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.rpc.grpc.IRequestBroadcastTx, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RequestBroadcastTx message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RequestBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.rpc.grpc.RequestBroadcastTx; + + /** + * Decodes a RequestBroadcastTx message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RequestBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.rpc.grpc.RequestBroadcastTx; + + /** + * Verifies a RequestBroadcastTx message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RequestBroadcastTx message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RequestBroadcastTx + */ + public static fromObject(object: { [k: string]: any }): tendermint.rpc.grpc.RequestBroadcastTx; + + /** + * Creates a plain object from a RequestBroadcastTx message. Also converts values to other types if specified. + * @param message RequestBroadcastTx + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.rpc.grpc.RequestBroadcastTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RequestBroadcastTx to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ResponsePing. */ + interface IResponsePing { + } + + /** Represents a ResponsePing. */ + class ResponsePing implements IResponsePing { + + /** + * Constructs a new ResponsePing. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.rpc.grpc.IResponsePing); + + /** + * Creates a new ResponsePing instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponsePing instance + */ + public static create(properties?: tendermint.rpc.grpc.IResponsePing): tendermint.rpc.grpc.ResponsePing; + + /** + * Encodes the specified ResponsePing message. Does not implicitly {@link tendermint.rpc.grpc.ResponsePing.verify|verify} messages. + * @param message ResponsePing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.rpc.grpc.IResponsePing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResponsePing message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.ResponsePing.verify|verify} messages. + * @param message ResponsePing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.rpc.grpc.IResponsePing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResponsePing message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponsePing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.rpc.grpc.ResponsePing; + + /** + * Decodes a ResponsePing message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponsePing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.rpc.grpc.ResponsePing; + + /** + * Verifies a ResponsePing message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResponsePing message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponsePing + */ + public static fromObject(object: { [k: string]: any }): tendermint.rpc.grpc.ResponsePing; + + /** + * Creates a plain object from a ResponsePing message. Also converts values to other types if specified. + * @param message ResponsePing + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.rpc.grpc.ResponsePing, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResponsePing to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ResponseBroadcastTx. */ + interface IResponseBroadcastTx { + + /** ResponseBroadcastTx checkTx */ + checkTx?: (tendermint.abci.IResponseCheckTx|null); + + /** ResponseBroadcastTx deliverTx */ + deliverTx?: (tendermint.abci.IResponseDeliverTx|null); + } + + /** Represents a ResponseBroadcastTx. */ + class ResponseBroadcastTx implements IResponseBroadcastTx { + + /** + * Constructs a new ResponseBroadcastTx. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.rpc.grpc.IResponseBroadcastTx); + + /** ResponseBroadcastTx checkTx. */ + public checkTx?: (tendermint.abci.IResponseCheckTx|null); + + /** ResponseBroadcastTx deliverTx. */ + public deliverTx?: (tendermint.abci.IResponseDeliverTx|null); + + /** + * Creates a new ResponseBroadcastTx instance using the specified properties. + * @param [properties] Properties to set + * @returns ResponseBroadcastTx instance + */ + public static create(properties?: tendermint.rpc.grpc.IResponseBroadcastTx): tendermint.rpc.grpc.ResponseBroadcastTx; + + /** + * Encodes the specified ResponseBroadcastTx message. Does not implicitly {@link tendermint.rpc.grpc.ResponseBroadcastTx.verify|verify} messages. + * @param message ResponseBroadcastTx message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.rpc.grpc.IResponseBroadcastTx, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResponseBroadcastTx message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.ResponseBroadcastTx.verify|verify} messages. + * @param message ResponseBroadcastTx message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.rpc.grpc.IResponseBroadcastTx, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResponseBroadcastTx message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResponseBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.rpc.grpc.ResponseBroadcastTx; + + /** + * Decodes a ResponseBroadcastTx message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResponseBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.rpc.grpc.ResponseBroadcastTx; + + /** + * Verifies a ResponseBroadcastTx message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResponseBroadcastTx message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResponseBroadcastTx + */ + public static fromObject(object: { [k: string]: any }): tendermint.rpc.grpc.ResponseBroadcastTx; + + /** + * Creates a plain object from a ResponseBroadcastTx message. Also converts values to other types if specified. + * @param message ResponseBroadcastTx + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.rpc.grpc.ResponseBroadcastTx, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResponseBroadcastTx to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Represents a BroadcastAPI */ + class BroadcastAPI extends $protobuf.rpc.Service { + + /** + * Constructs a new BroadcastAPI service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new BroadcastAPI service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): BroadcastAPI; + + /** + * Calls Ping. + * @param request RequestPing message or plain object + * @param callback Node-style callback called with the error, if any, and ResponsePing + */ + public ping(request: tendermint.rpc.grpc.IRequestPing, callback: tendermint.rpc.grpc.BroadcastAPI.PingCallback): void; + + /** + * Calls Ping. + * @param request RequestPing message or plain object + * @returns Promise + */ + public ping(request: tendermint.rpc.grpc.IRequestPing): Promise; + + /** + * Calls BroadcastTx. + * @param request RequestBroadcastTx message or plain object + * @param callback Node-style callback called with the error, if any, and ResponseBroadcastTx + */ + public broadcastTx(request: tendermint.rpc.grpc.IRequestBroadcastTx, callback: tendermint.rpc.grpc.BroadcastAPI.BroadcastTxCallback): void; + + /** + * Calls BroadcastTx. + * @param request RequestBroadcastTx message or plain object + * @returns Promise + */ + public broadcastTx(request: tendermint.rpc.grpc.IRequestBroadcastTx): Promise; + } + + namespace BroadcastAPI { + + /** + * Callback as used by {@link tendermint.rpc.grpc.BroadcastAPI#ping}. + * @param error Error, if any + * @param [response] ResponsePing + */ + type PingCallback = (error: (Error|null), response?: tendermint.rpc.grpc.ResponsePing) => void; + + /** + * Callback as used by {@link tendermint.rpc.grpc.BroadcastAPI#broadcastTx}. + * @param error Error, if any + * @param [response] ResponseBroadcastTx + */ + type BroadcastTxCallback = (error: (Error|null), response?: tendermint.rpc.grpc.ResponseBroadcastTx) => void; + } + } + } + + /** Namespace state. */ + namespace state { + + /** Properties of a ABCIResponses. */ + interface IABCIResponses { + + /** ABCIResponses deliverTxs */ + deliverTxs?: (tendermint.abci.IResponseDeliverTx[]|null); + + /** ABCIResponses endBlock */ + endBlock?: (tendermint.abci.IResponseEndBlock|null); + + /** ABCIResponses beginBlock */ + beginBlock?: (tendermint.abci.IResponseBeginBlock|null); + } + + /** Represents a ABCIResponses. */ + class ABCIResponses implements IABCIResponses { + + /** + * Constructs a new ABCIResponses. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.state.IABCIResponses); + + /** ABCIResponses deliverTxs. */ + public deliverTxs: tendermint.abci.IResponseDeliverTx[]; + + /** ABCIResponses endBlock. */ + public endBlock?: (tendermint.abci.IResponseEndBlock|null); + + /** ABCIResponses beginBlock. */ + public beginBlock?: (tendermint.abci.IResponseBeginBlock|null); + + /** + * Creates a new ABCIResponses instance using the specified properties. + * @param [properties] Properties to set + * @returns ABCIResponses instance + */ + public static create(properties?: tendermint.state.IABCIResponses): tendermint.state.ABCIResponses; + + /** + * Encodes the specified ABCIResponses message. Does not implicitly {@link tendermint.state.ABCIResponses.verify|verify} messages. + * @param message ABCIResponses message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.state.IABCIResponses, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ABCIResponses message, length delimited. Does not implicitly {@link tendermint.state.ABCIResponses.verify|verify} messages. + * @param message ABCIResponses message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.state.IABCIResponses, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ABCIResponses message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ABCIResponses + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.state.ABCIResponses; + + /** + * Decodes a ABCIResponses message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ABCIResponses + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.state.ABCIResponses; + + /** + * Verifies a ABCIResponses message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ABCIResponses message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ABCIResponses + */ + public static fromObject(object: { [k: string]: any }): tendermint.state.ABCIResponses; + + /** + * Creates a plain object from a ABCIResponses message. Also converts values to other types if specified. + * @param message ABCIResponses + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.state.ABCIResponses, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ABCIResponses to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ValidatorsInfo. */ + interface IValidatorsInfo { + + /** ValidatorsInfo validatorSet */ + validatorSet?: (tendermint.types.IValidatorSet|null); + + /** ValidatorsInfo lastHeightChanged */ + lastHeightChanged?: (number|Long|null); + } + + /** Represents a ValidatorsInfo. */ + class ValidatorsInfo implements IValidatorsInfo { + + /** + * Constructs a new ValidatorsInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.state.IValidatorsInfo); + + /** ValidatorsInfo validatorSet. */ + public validatorSet?: (tendermint.types.IValidatorSet|null); + + /** ValidatorsInfo lastHeightChanged. */ + public lastHeightChanged: (number|Long); + + /** + * Creates a new ValidatorsInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ValidatorsInfo instance + */ + public static create(properties?: tendermint.state.IValidatorsInfo): tendermint.state.ValidatorsInfo; + + /** + * Encodes the specified ValidatorsInfo message. Does not implicitly {@link tendermint.state.ValidatorsInfo.verify|verify} messages. + * @param message ValidatorsInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.state.IValidatorsInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ValidatorsInfo message, length delimited. Does not implicitly {@link tendermint.state.ValidatorsInfo.verify|verify} messages. + * @param message ValidatorsInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.state.IValidatorsInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ValidatorsInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ValidatorsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.state.ValidatorsInfo; + + /** + * Decodes a ValidatorsInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ValidatorsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.state.ValidatorsInfo; + + /** + * Verifies a ValidatorsInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ValidatorsInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ValidatorsInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.state.ValidatorsInfo; + + /** + * Creates a plain object from a ValidatorsInfo message. Also converts values to other types if specified. + * @param message ValidatorsInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.state.ValidatorsInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ValidatorsInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ConsensusParamsInfo. */ + interface IConsensusParamsInfo { + + /** ConsensusParamsInfo consensusParams */ + consensusParams?: (tendermint.types.IConsensusParams|null); + + /** ConsensusParamsInfo lastHeightChanged */ + lastHeightChanged?: (number|Long|null); + } + + /** Represents a ConsensusParamsInfo. */ + class ConsensusParamsInfo implements IConsensusParamsInfo { + + /** + * Constructs a new ConsensusParamsInfo. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.state.IConsensusParamsInfo); + + /** ConsensusParamsInfo consensusParams. */ + public consensusParams?: (tendermint.types.IConsensusParams|null); + + /** ConsensusParamsInfo lastHeightChanged. */ + public lastHeightChanged: (number|Long); + + /** + * Creates a new ConsensusParamsInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ConsensusParamsInfo instance + */ + public static create(properties?: tendermint.state.IConsensusParamsInfo): tendermint.state.ConsensusParamsInfo; + + /** + * Encodes the specified ConsensusParamsInfo message. Does not implicitly {@link tendermint.state.ConsensusParamsInfo.verify|verify} messages. + * @param message ConsensusParamsInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.state.IConsensusParamsInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConsensusParamsInfo message, length delimited. Does not implicitly {@link tendermint.state.ConsensusParamsInfo.verify|verify} messages. + * @param message ConsensusParamsInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.state.IConsensusParamsInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConsensusParamsInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConsensusParamsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.state.ConsensusParamsInfo; + + /** + * Decodes a ConsensusParamsInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConsensusParamsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.state.ConsensusParamsInfo; + + /** + * Verifies a ConsensusParamsInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConsensusParamsInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConsensusParamsInfo + */ + public static fromObject(object: { [k: string]: any }): tendermint.state.ConsensusParamsInfo; + + /** + * Creates a plain object from a ConsensusParamsInfo message. Also converts values to other types if specified. + * @param message ConsensusParamsInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.state.ConsensusParamsInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConsensusParamsInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Version. */ + interface IVersion { + + /** Version consensus */ + consensus?: (tendermint.version.IConsensus|null); + + /** Version software */ + software?: (string|null); + } + + /** Represents a Version. */ + class Version implements IVersion { + + /** + * Constructs a new Version. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.state.IVersion); + + /** Version consensus. */ + public consensus?: (tendermint.version.IConsensus|null); + + /** Version software. */ + public software: string; + + /** + * Creates a new Version instance using the specified properties. + * @param [properties] Properties to set + * @returns Version instance + */ + public static create(properties?: tendermint.state.IVersion): tendermint.state.Version; + + /** + * Encodes the specified Version message. Does not implicitly {@link tendermint.state.Version.verify|verify} messages. + * @param message Version message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.state.IVersion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Version message, length delimited. Does not implicitly {@link tendermint.state.Version.verify|verify} messages. + * @param message Version message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.state.IVersion, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Version message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Version + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.state.Version; + + /** + * Decodes a Version message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Version + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.state.Version; + + /** + * Verifies a Version message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Version message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Version + */ + public static fromObject(object: { [k: string]: any }): tendermint.state.Version; + + /** + * Creates a plain object from a Version message. Also converts values to other types if specified. + * @param message Version + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.state.Version, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Version to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a State. */ + interface IState { + + /** State version */ + version?: (tendermint.state.IVersion|null); + + /** State chainId */ + chainId?: (string|null); + + /** State initialHeight */ + initialHeight?: (number|Long|null); + + /** State lastBlockHeight */ + lastBlockHeight?: (number|Long|null); + + /** State lastBlockId */ + lastBlockId?: (tendermint.types.IBlockID|null); + + /** State lastBlockTime */ + lastBlockTime?: (google.protobuf.ITimestamp|null); + + /** State nextValidators */ + nextValidators?: (tendermint.types.IValidatorSet|null); + + /** State validators */ + validators?: (tendermint.types.IValidatorSet|null); + + /** State lastValidators */ + lastValidators?: (tendermint.types.IValidatorSet|null); + + /** State lastHeightValidatorsChanged */ + lastHeightValidatorsChanged?: (number|Long|null); + + /** State consensusParams */ + consensusParams?: (tendermint.types.IConsensusParams|null); + + /** State lastHeightConsensusParamsChanged */ + lastHeightConsensusParamsChanged?: (number|Long|null); + + /** State lastResultsHash */ + lastResultsHash?: (Uint8Array|null); + + /** State appHash */ + appHash?: (Uint8Array|null); + } + + /** Represents a State. */ + class State implements IState { + + /** + * Constructs a new State. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.state.IState); + + /** State version. */ + public version?: (tendermint.state.IVersion|null); + + /** State chainId. */ + public chainId: string; + + /** State initialHeight. */ + public initialHeight: (number|Long); + + /** State lastBlockHeight. */ + public lastBlockHeight: (number|Long); + + /** State lastBlockId. */ + public lastBlockId?: (tendermint.types.IBlockID|null); + + /** State lastBlockTime. */ + public lastBlockTime?: (google.protobuf.ITimestamp|null); + + /** State nextValidators. */ + public nextValidators?: (tendermint.types.IValidatorSet|null); + + /** State validators. */ + public validators?: (tendermint.types.IValidatorSet|null); + + /** State lastValidators. */ + public lastValidators?: (tendermint.types.IValidatorSet|null); + + /** State lastHeightValidatorsChanged. */ + public lastHeightValidatorsChanged: (number|Long); + + /** State consensusParams. */ + public consensusParams?: (tendermint.types.IConsensusParams|null); + + /** State lastHeightConsensusParamsChanged. */ + public lastHeightConsensusParamsChanged: (number|Long); + + /** State lastResultsHash. */ + public lastResultsHash: Uint8Array; + + /** State appHash. */ + public appHash: Uint8Array; + + /** + * Creates a new State instance using the specified properties. + * @param [properties] Properties to set + * @returns State instance + */ + public static create(properties?: tendermint.state.IState): tendermint.state.State; + + /** + * Encodes the specified State message. Does not implicitly {@link tendermint.state.State.verify|verify} messages. + * @param message State message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.state.IState, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified State message, length delimited. Does not implicitly {@link tendermint.state.State.verify|verify} messages. + * @param message State message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.state.IState, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a State message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns State + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.state.State; + + /** + * Decodes a State message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns State + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.state.State; + + /** + * Verifies a State message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a State message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns State + */ + public static fromObject(object: { [k: string]: any }): tendermint.state.State; + + /** + * Creates a plain object from a State message. Also converts values to other types if specified. + * @param message State + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.state.State, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this State to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace statesync. */ + namespace statesync { + + /** Properties of a Message. */ + interface IMessage { + + /** Message snapshotsRequest */ + snapshotsRequest?: (tendermint.statesync.ISnapshotsRequest|null); + + /** Message snapshotsResponse */ + snapshotsResponse?: (tendermint.statesync.ISnapshotsResponse|null); + + /** Message chunkRequest */ + chunkRequest?: (tendermint.statesync.IChunkRequest|null); + + /** Message chunkResponse */ + chunkResponse?: (tendermint.statesync.IChunkResponse|null); + } + + /** Represents a Message. */ + class Message implements IMessage { + + /** + * Constructs a new Message. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.statesync.IMessage); + + /** Message snapshotsRequest. */ + public snapshotsRequest?: (tendermint.statesync.ISnapshotsRequest|null); + + /** Message snapshotsResponse. */ + public snapshotsResponse?: (tendermint.statesync.ISnapshotsResponse|null); + + /** Message chunkRequest. */ + public chunkRequest?: (tendermint.statesync.IChunkRequest|null); + + /** Message chunkResponse. */ + public chunkResponse?: (tendermint.statesync.IChunkResponse|null); + + /** Message sum. */ + public sum?: ("snapshotsRequest"|"snapshotsResponse"|"chunkRequest"|"chunkResponse"); + + /** + * Creates a new Message instance using the specified properties. + * @param [properties] Properties to set + * @returns Message instance + */ + public static create(properties?: tendermint.statesync.IMessage): tendermint.statesync.Message; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.statesync.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.statesync.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.statesync.Message.verify|verify} messages. + * @param message Message message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.statesync.IMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Message message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.statesync.Message; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.statesync.Message; + + /** + * Verifies a Message message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Message + */ + public static fromObject(object: { [k: string]: any }): tendermint.statesync.Message; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @param message Message + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.statesync.Message, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Message to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SnapshotsRequest. */ + interface ISnapshotsRequest { + } + + /** Represents a SnapshotsRequest. */ + class SnapshotsRequest implements ISnapshotsRequest { + + /** + * Constructs a new SnapshotsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.statesync.ISnapshotsRequest); + + /** + * Creates a new SnapshotsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SnapshotsRequest instance + */ + public static create(properties?: tendermint.statesync.ISnapshotsRequest): tendermint.statesync.SnapshotsRequest; + + /** + * Encodes the specified SnapshotsRequest message. Does not implicitly {@link tendermint.statesync.SnapshotsRequest.verify|verify} messages. + * @param message SnapshotsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.statesync.ISnapshotsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SnapshotsRequest message, length delimited. Does not implicitly {@link tendermint.statesync.SnapshotsRequest.verify|verify} messages. + * @param message SnapshotsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.statesync.ISnapshotsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SnapshotsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SnapshotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.statesync.SnapshotsRequest; + + /** + * Decodes a SnapshotsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SnapshotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.statesync.SnapshotsRequest; + + /** + * Verifies a SnapshotsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SnapshotsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SnapshotsRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.statesync.SnapshotsRequest; + + /** + * Creates a plain object from a SnapshotsRequest message. Also converts values to other types if specified. + * @param message SnapshotsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.statesync.SnapshotsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SnapshotsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SnapshotsResponse. */ + interface ISnapshotsResponse { + + /** SnapshotsResponse height */ + height?: (number|Long|null); + + /** SnapshotsResponse format */ + format?: (number|null); + + /** SnapshotsResponse chunks */ + chunks?: (number|null); + + /** SnapshotsResponse hash */ + hash?: (Uint8Array|null); + + /** SnapshotsResponse metadata */ + metadata?: (Uint8Array|null); + } + + /** Represents a SnapshotsResponse. */ + class SnapshotsResponse implements ISnapshotsResponse { + + /** + * Constructs a new SnapshotsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.statesync.ISnapshotsResponse); + + /** SnapshotsResponse height. */ + public height: (number|Long); + + /** SnapshotsResponse format. */ + public format: number; + + /** SnapshotsResponse chunks. */ + public chunks: number; + + /** SnapshotsResponse hash. */ + public hash: Uint8Array; + + /** SnapshotsResponse metadata. */ + public metadata: Uint8Array; + + /** + * Creates a new SnapshotsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SnapshotsResponse instance + */ + public static create(properties?: tendermint.statesync.ISnapshotsResponse): tendermint.statesync.SnapshotsResponse; + + /** + * Encodes the specified SnapshotsResponse message. Does not implicitly {@link tendermint.statesync.SnapshotsResponse.verify|verify} messages. + * @param message SnapshotsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.statesync.ISnapshotsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SnapshotsResponse message, length delimited. Does not implicitly {@link tendermint.statesync.SnapshotsResponse.verify|verify} messages. + * @param message SnapshotsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.statesync.ISnapshotsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SnapshotsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SnapshotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.statesync.SnapshotsResponse; + + /** + * Decodes a SnapshotsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SnapshotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.statesync.SnapshotsResponse; + + /** + * Verifies a SnapshotsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SnapshotsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SnapshotsResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.statesync.SnapshotsResponse; + + /** + * Creates a plain object from a SnapshotsResponse message. Also converts values to other types if specified. + * @param message SnapshotsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.statesync.SnapshotsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SnapshotsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ChunkRequest. */ + interface IChunkRequest { + + /** ChunkRequest height */ + height?: (number|Long|null); + + /** ChunkRequest format */ + format?: (number|null); + + /** ChunkRequest index */ + index?: (number|null); + } + + /** Represents a ChunkRequest. */ + class ChunkRequest implements IChunkRequest { + + /** + * Constructs a new ChunkRequest. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.statesync.IChunkRequest); + + /** ChunkRequest height. */ + public height: (number|Long); + + /** ChunkRequest format. */ + public format: number; + + /** ChunkRequest index. */ + public index: number; + + /** + * Creates a new ChunkRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ChunkRequest instance + */ + public static create(properties?: tendermint.statesync.IChunkRequest): tendermint.statesync.ChunkRequest; + + /** + * Encodes the specified ChunkRequest message. Does not implicitly {@link tendermint.statesync.ChunkRequest.verify|verify} messages. + * @param message ChunkRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.statesync.IChunkRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ChunkRequest message, length delimited. Does not implicitly {@link tendermint.statesync.ChunkRequest.verify|verify} messages. + * @param message ChunkRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.statesync.IChunkRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ChunkRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ChunkRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.statesync.ChunkRequest; + + /** + * Decodes a ChunkRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ChunkRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.statesync.ChunkRequest; + + /** + * Verifies a ChunkRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ChunkRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ChunkRequest + */ + public static fromObject(object: { [k: string]: any }): tendermint.statesync.ChunkRequest; + + /** + * Creates a plain object from a ChunkRequest message. Also converts values to other types if specified. + * @param message ChunkRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.statesync.ChunkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ChunkRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ChunkResponse. */ + interface IChunkResponse { + + /** ChunkResponse height */ + height?: (number|Long|null); + + /** ChunkResponse format */ + format?: (number|null); + + /** ChunkResponse index */ + index?: (number|null); + + /** ChunkResponse chunk */ + chunk?: (Uint8Array|null); + + /** ChunkResponse missing */ + missing?: (boolean|null); + } + + /** Represents a ChunkResponse. */ + class ChunkResponse implements IChunkResponse { + + /** + * Constructs a new ChunkResponse. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.statesync.IChunkResponse); + + /** ChunkResponse height. */ + public height: (number|Long); + + /** ChunkResponse format. */ + public format: number; + + /** ChunkResponse index. */ + public index: number; + + /** ChunkResponse chunk. */ + public chunk: Uint8Array; + + /** ChunkResponse missing. */ + public missing: boolean; + + /** + * Creates a new ChunkResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ChunkResponse instance + */ + public static create(properties?: tendermint.statesync.IChunkResponse): tendermint.statesync.ChunkResponse; + + /** + * Encodes the specified ChunkResponse message. Does not implicitly {@link tendermint.statesync.ChunkResponse.verify|verify} messages. + * @param message ChunkResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.statesync.IChunkResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ChunkResponse message, length delimited. Does not implicitly {@link tendermint.statesync.ChunkResponse.verify|verify} messages. + * @param message ChunkResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.statesync.IChunkResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ChunkResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ChunkResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.statesync.ChunkResponse; + + /** + * Decodes a ChunkResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ChunkResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.statesync.ChunkResponse; + + /** + * Verifies a ChunkResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ChunkResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ChunkResponse + */ + public static fromObject(object: { [k: string]: any }): tendermint.statesync.ChunkResponse; + + /** + * Creates a plain object from a ChunkResponse message. Also converts values to other types if specified. + * @param message ChunkResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.statesync.ChunkResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ChunkResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace store. */ + namespace store { + + /** Properties of a BlockStoreState. */ + interface IBlockStoreState { + + /** BlockStoreState base */ + base?: (number|Long|null); + + /** BlockStoreState height */ + height?: (number|Long|null); + } + + /** Represents a BlockStoreState. */ + class BlockStoreState implements IBlockStoreState { + + /** + * Constructs a new BlockStoreState. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.store.IBlockStoreState); + + /** BlockStoreState base. */ + public base: (number|Long); + + /** BlockStoreState height. */ + public height: (number|Long); + + /** + * Creates a new BlockStoreState instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockStoreState instance + */ + public static create(properties?: tendermint.store.IBlockStoreState): tendermint.store.BlockStoreState; + + /** + * Encodes the specified BlockStoreState message. Does not implicitly {@link tendermint.store.BlockStoreState.verify|verify} messages. + * @param message BlockStoreState message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.store.IBlockStoreState, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockStoreState message, length delimited. Does not implicitly {@link tendermint.store.BlockStoreState.verify|verify} messages. + * @param message BlockStoreState message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.store.IBlockStoreState, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockStoreState message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockStoreState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.store.BlockStoreState; + + /** + * Decodes a BlockStoreState message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockStoreState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.store.BlockStoreState; + + /** + * Verifies a BlockStoreState message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockStoreState message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockStoreState + */ + public static fromObject(object: { [k: string]: any }): tendermint.store.BlockStoreState; + + /** + * Creates a plain object from a BlockStoreState message. Also converts values to other types if specified. + * @param message BlockStoreState + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.store.BlockStoreState, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockStoreState to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace types. */ + namespace types { + + /** Properties of a Block. */ + interface IBlock { + + /** Block header */ + header?: (tendermint.types.IHeader|null); + + /** Block data */ + data?: (tendermint.types.IData|null); + + /** Block evidence */ + evidence?: (tendermint.types.IEvidenceList|null); + + /** Block lastCommit */ + lastCommit?: (tendermint.types.ICommit|null); + } + + /** Represents a Block. */ + class Block implements IBlock { + + /** + * Constructs a new Block. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IBlock); + + /** Block header. */ + public header?: (tendermint.types.IHeader|null); + + /** Block data. */ + public data?: (tendermint.types.IData|null); + + /** Block evidence. */ + public evidence?: (tendermint.types.IEvidenceList|null); + + /** Block lastCommit. */ + public lastCommit?: (tendermint.types.ICommit|null); + + /** + * Creates a new Block instance using the specified properties. + * @param [properties] Properties to set + * @returns Block instance + */ + public static create(properties?: tendermint.types.IBlock): tendermint.types.Block; + + /** + * Encodes the specified Block message. Does not implicitly {@link tendermint.types.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link tendermint.types.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Block message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Block; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Block; + + /** + * Verifies a Block message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Block + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Block; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @param message Block + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Block, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Block to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CanonicalBlockID. */ + interface ICanonicalBlockID { + + /** CanonicalBlockID hash */ + hash?: (Uint8Array|null); + + /** CanonicalBlockID partSetHeader */ + partSetHeader?: (tendermint.types.ICanonicalPartSetHeader|null); + } + + /** Represents a CanonicalBlockID. */ + class CanonicalBlockID implements ICanonicalBlockID { + + /** + * Constructs a new CanonicalBlockID. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ICanonicalBlockID); + + /** CanonicalBlockID hash. */ + public hash: Uint8Array; + + /** CanonicalBlockID partSetHeader. */ + public partSetHeader?: (tendermint.types.ICanonicalPartSetHeader|null); + + /** + * Creates a new CanonicalBlockID instance using the specified properties. + * @param [properties] Properties to set + * @returns CanonicalBlockID instance + */ + public static create(properties?: tendermint.types.ICanonicalBlockID): tendermint.types.CanonicalBlockID; + + /** + * Encodes the specified CanonicalBlockID message. Does not implicitly {@link tendermint.types.CanonicalBlockID.verify|verify} messages. + * @param message CanonicalBlockID message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ICanonicalBlockID, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CanonicalBlockID message, length delimited. Does not implicitly {@link tendermint.types.CanonicalBlockID.verify|verify} messages. + * @param message CanonicalBlockID message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ICanonicalBlockID, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CanonicalBlockID message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CanonicalBlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.CanonicalBlockID; + + /** + * Decodes a CanonicalBlockID message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CanonicalBlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.CanonicalBlockID; + + /** + * Verifies a CanonicalBlockID message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CanonicalBlockID message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CanonicalBlockID + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.CanonicalBlockID; + + /** + * Creates a plain object from a CanonicalBlockID message. Also converts values to other types if specified. + * @param message CanonicalBlockID + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.CanonicalBlockID, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CanonicalBlockID to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CanonicalPartSetHeader. */ + interface ICanonicalPartSetHeader { + + /** CanonicalPartSetHeader total */ + total?: (number|null); + + /** CanonicalPartSetHeader hash */ + hash?: (Uint8Array|null); + } + + /** Represents a CanonicalPartSetHeader. */ + class CanonicalPartSetHeader implements ICanonicalPartSetHeader { + + /** + * Constructs a new CanonicalPartSetHeader. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ICanonicalPartSetHeader); + + /** CanonicalPartSetHeader total. */ + public total: number; + + /** CanonicalPartSetHeader hash. */ + public hash: Uint8Array; + + /** + * Creates a new CanonicalPartSetHeader instance using the specified properties. + * @param [properties] Properties to set + * @returns CanonicalPartSetHeader instance + */ + public static create(properties?: tendermint.types.ICanonicalPartSetHeader): tendermint.types.CanonicalPartSetHeader; + + /** + * Encodes the specified CanonicalPartSetHeader message. Does not implicitly {@link tendermint.types.CanonicalPartSetHeader.verify|verify} messages. + * @param message CanonicalPartSetHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ICanonicalPartSetHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CanonicalPartSetHeader message, length delimited. Does not implicitly {@link tendermint.types.CanonicalPartSetHeader.verify|verify} messages. + * @param message CanonicalPartSetHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ICanonicalPartSetHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CanonicalPartSetHeader message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CanonicalPartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.CanonicalPartSetHeader; + + /** + * Decodes a CanonicalPartSetHeader message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CanonicalPartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.CanonicalPartSetHeader; + + /** + * Verifies a CanonicalPartSetHeader message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CanonicalPartSetHeader message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CanonicalPartSetHeader + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.CanonicalPartSetHeader; + + /** + * Creates a plain object from a CanonicalPartSetHeader message. Also converts values to other types if specified. + * @param message CanonicalPartSetHeader + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.CanonicalPartSetHeader, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CanonicalPartSetHeader to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CanonicalProposal. */ + interface ICanonicalProposal { + + /** CanonicalProposal type */ + type?: (tendermint.types.SignedMsgType|null); + + /** CanonicalProposal height */ + height?: (number|Long|null); + + /** CanonicalProposal round */ + round?: (number|Long|null); + + /** CanonicalProposal polRound */ + polRound?: (number|Long|null); + + /** CanonicalProposal blockId */ + blockId?: (tendermint.types.ICanonicalBlockID|null); + + /** CanonicalProposal timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + + /** CanonicalProposal chainId */ + chainId?: (string|null); + } + + /** Represents a CanonicalProposal. */ + class CanonicalProposal implements ICanonicalProposal { + + /** + * Constructs a new CanonicalProposal. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ICanonicalProposal); + + /** CanonicalProposal type. */ + public type: tendermint.types.SignedMsgType; + + /** CanonicalProposal height. */ + public height: (number|Long); + + /** CanonicalProposal round. */ + public round: (number|Long); + + /** CanonicalProposal polRound. */ + public polRound: (number|Long); + + /** CanonicalProposal blockId. */ + public blockId?: (tendermint.types.ICanonicalBlockID|null); + + /** CanonicalProposal timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** CanonicalProposal chainId. */ + public chainId: string; + + /** + * Creates a new CanonicalProposal instance using the specified properties. + * @param [properties] Properties to set + * @returns CanonicalProposal instance + */ + public static create(properties?: tendermint.types.ICanonicalProposal): tendermint.types.CanonicalProposal; + + /** + * Encodes the specified CanonicalProposal message. Does not implicitly {@link tendermint.types.CanonicalProposal.verify|verify} messages. + * @param message CanonicalProposal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ICanonicalProposal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CanonicalProposal message, length delimited. Does not implicitly {@link tendermint.types.CanonicalProposal.verify|verify} messages. + * @param message CanonicalProposal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ICanonicalProposal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CanonicalProposal message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CanonicalProposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.CanonicalProposal; + + /** + * Decodes a CanonicalProposal message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CanonicalProposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.CanonicalProposal; + + /** + * Verifies a CanonicalProposal message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CanonicalProposal message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CanonicalProposal + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.CanonicalProposal; + + /** + * Creates a plain object from a CanonicalProposal message. Also converts values to other types if specified. + * @param message CanonicalProposal + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.CanonicalProposal, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CanonicalProposal to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CanonicalVote. */ + interface ICanonicalVote { + + /** CanonicalVote type */ + type?: (tendermint.types.SignedMsgType|null); + + /** CanonicalVote height */ + height?: (number|Long|null); + + /** CanonicalVote round */ + round?: (number|Long|null); + + /** CanonicalVote blockId */ + blockId?: (tendermint.types.ICanonicalBlockID|null); + + /** CanonicalVote timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + + /** CanonicalVote chainId */ + chainId?: (string|null); + } + + /** Represents a CanonicalVote. */ + class CanonicalVote implements ICanonicalVote { + + /** + * Constructs a new CanonicalVote. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ICanonicalVote); + + /** CanonicalVote type. */ + public type: tendermint.types.SignedMsgType; + + /** CanonicalVote height. */ + public height: (number|Long); + + /** CanonicalVote round. */ + public round: (number|Long); + + /** CanonicalVote blockId. */ + public blockId?: (tendermint.types.ICanonicalBlockID|null); + + /** CanonicalVote timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** CanonicalVote chainId. */ + public chainId: string; + + /** + * Creates a new CanonicalVote instance using the specified properties. + * @param [properties] Properties to set + * @returns CanonicalVote instance + */ + public static create(properties?: tendermint.types.ICanonicalVote): tendermint.types.CanonicalVote; + + /** + * Encodes the specified CanonicalVote message. Does not implicitly {@link tendermint.types.CanonicalVote.verify|verify} messages. + * @param message CanonicalVote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ICanonicalVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CanonicalVote message, length delimited. Does not implicitly {@link tendermint.types.CanonicalVote.verify|verify} messages. + * @param message CanonicalVote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ICanonicalVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CanonicalVote message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CanonicalVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.CanonicalVote; + + /** + * Decodes a CanonicalVote message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CanonicalVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.CanonicalVote; + + /** + * Verifies a CanonicalVote message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CanonicalVote message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CanonicalVote + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.CanonicalVote; + + /** + * Creates a plain object from a CanonicalVote message. Also converts values to other types if specified. + * @param message CanonicalVote + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.CanonicalVote, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CanonicalVote to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EventDataRoundState. */ + interface IEventDataRoundState { + + /** EventDataRoundState height */ + height?: (number|Long|null); + + /** EventDataRoundState round */ + round?: (number|null); + + /** EventDataRoundState step */ + step?: (string|null); + } + + /** Represents an EventDataRoundState. */ + class EventDataRoundState implements IEventDataRoundState { + + /** + * Constructs a new EventDataRoundState. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IEventDataRoundState); + + /** EventDataRoundState height. */ + public height: (number|Long); + + /** EventDataRoundState round. */ + public round: number; + + /** EventDataRoundState step. */ + public step: string; + + /** + * Creates a new EventDataRoundState instance using the specified properties. + * @param [properties] Properties to set + * @returns EventDataRoundState instance + */ + public static create(properties?: tendermint.types.IEventDataRoundState): tendermint.types.EventDataRoundState; + + /** + * Encodes the specified EventDataRoundState message. Does not implicitly {@link tendermint.types.EventDataRoundState.verify|verify} messages. + * @param message EventDataRoundState message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IEventDataRoundState, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EventDataRoundState message, length delimited. Does not implicitly {@link tendermint.types.EventDataRoundState.verify|verify} messages. + * @param message EventDataRoundState message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IEventDataRoundState, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EventDataRoundState message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EventDataRoundState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.EventDataRoundState; + + /** + * Decodes an EventDataRoundState message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EventDataRoundState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.EventDataRoundState; + + /** + * Verifies an EventDataRoundState message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EventDataRoundState message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EventDataRoundState + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.EventDataRoundState; + + /** + * Creates a plain object from an EventDataRoundState message. Also converts values to other types if specified. + * @param message EventDataRoundState + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.EventDataRoundState, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EventDataRoundState to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Evidence. */ + interface IEvidence { + + /** Evidence duplicateVoteEvidence */ + duplicateVoteEvidence?: (tendermint.types.IDuplicateVoteEvidence|null); + + /** Evidence lightClientAttackEvidence */ + lightClientAttackEvidence?: (tendermint.types.ILightClientAttackEvidence|null); + } + + /** Represents an Evidence. */ + class Evidence implements IEvidence { + + /** + * Constructs a new Evidence. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IEvidence); + + /** Evidence duplicateVoteEvidence. */ + public duplicateVoteEvidence?: (tendermint.types.IDuplicateVoteEvidence|null); + + /** Evidence lightClientAttackEvidence. */ + public lightClientAttackEvidence?: (tendermint.types.ILightClientAttackEvidence|null); + + /** Evidence sum. */ + public sum?: ("duplicateVoteEvidence"|"lightClientAttackEvidence"); + + /** + * Creates a new Evidence instance using the specified properties. + * @param [properties] Properties to set + * @returns Evidence instance + */ + public static create(properties?: tendermint.types.IEvidence): tendermint.types.Evidence; + + /** + * Encodes the specified Evidence message. Does not implicitly {@link tendermint.types.Evidence.verify|verify} messages. + * @param message Evidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Evidence message, length delimited. Does not implicitly {@link tendermint.types.Evidence.verify|verify} messages. + * @param message Evidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Evidence message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Evidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Evidence; + + /** + * Decodes an Evidence message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Evidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Evidence; + + /** + * Verifies an Evidence message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Evidence message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Evidence + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Evidence; + + /** + * Creates a plain object from an Evidence message. Also converts values to other types if specified. + * @param message Evidence + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Evidence, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Evidence to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DuplicateVoteEvidence. */ + interface IDuplicateVoteEvidence { + + /** DuplicateVoteEvidence voteA */ + voteA?: (tendermint.types.IVote|null); + + /** DuplicateVoteEvidence voteB */ + voteB?: (tendermint.types.IVote|null); + + /** DuplicateVoteEvidence totalVotingPower */ + totalVotingPower?: (number|Long|null); + + /** DuplicateVoteEvidence validatorPower */ + validatorPower?: (number|Long|null); + + /** DuplicateVoteEvidence timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + } + + /** Represents a DuplicateVoteEvidence. */ + class DuplicateVoteEvidence implements IDuplicateVoteEvidence { + + /** + * Constructs a new DuplicateVoteEvidence. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IDuplicateVoteEvidence); + + /** DuplicateVoteEvidence voteA. */ + public voteA?: (tendermint.types.IVote|null); + + /** DuplicateVoteEvidence voteB. */ + public voteB?: (tendermint.types.IVote|null); + + /** DuplicateVoteEvidence totalVotingPower. */ + public totalVotingPower: (number|Long); + + /** DuplicateVoteEvidence validatorPower. */ + public validatorPower: (number|Long); + + /** DuplicateVoteEvidence timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new DuplicateVoteEvidence instance using the specified properties. + * @param [properties] Properties to set + * @returns DuplicateVoteEvidence instance + */ + public static create(properties?: tendermint.types.IDuplicateVoteEvidence): tendermint.types.DuplicateVoteEvidence; + + /** + * Encodes the specified DuplicateVoteEvidence message. Does not implicitly {@link tendermint.types.DuplicateVoteEvidence.verify|verify} messages. + * @param message DuplicateVoteEvidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IDuplicateVoteEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DuplicateVoteEvidence message, length delimited. Does not implicitly {@link tendermint.types.DuplicateVoteEvidence.verify|verify} messages. + * @param message DuplicateVoteEvidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IDuplicateVoteEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DuplicateVoteEvidence message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DuplicateVoteEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.DuplicateVoteEvidence; + + /** + * Decodes a DuplicateVoteEvidence message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DuplicateVoteEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.DuplicateVoteEvidence; + + /** + * Verifies a DuplicateVoteEvidence message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DuplicateVoteEvidence message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DuplicateVoteEvidence + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.DuplicateVoteEvidence; + + /** + * Creates a plain object from a DuplicateVoteEvidence message. Also converts values to other types if specified. + * @param message DuplicateVoteEvidence + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.DuplicateVoteEvidence, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DuplicateVoteEvidence to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LightClientAttackEvidence. */ + interface ILightClientAttackEvidence { + + /** LightClientAttackEvidence conflictingBlock */ + conflictingBlock?: (tendermint.types.ILightBlock|null); + + /** LightClientAttackEvidence commonHeight */ + commonHeight?: (number|Long|null); + + /** LightClientAttackEvidence byzantineValidators */ + byzantineValidators?: (tendermint.types.IValidator[]|null); + + /** LightClientAttackEvidence totalVotingPower */ + totalVotingPower?: (number|Long|null); + + /** LightClientAttackEvidence timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + } + + /** Represents a LightClientAttackEvidence. */ + class LightClientAttackEvidence implements ILightClientAttackEvidence { + + /** + * Constructs a new LightClientAttackEvidence. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ILightClientAttackEvidence); + + /** LightClientAttackEvidence conflictingBlock. */ + public conflictingBlock?: (tendermint.types.ILightBlock|null); + + /** LightClientAttackEvidence commonHeight. */ + public commonHeight: (number|Long); + + /** LightClientAttackEvidence byzantineValidators. */ + public byzantineValidators: tendermint.types.IValidator[]; + + /** LightClientAttackEvidence totalVotingPower. */ + public totalVotingPower: (number|Long); + + /** LightClientAttackEvidence timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new LightClientAttackEvidence instance using the specified properties. + * @param [properties] Properties to set + * @returns LightClientAttackEvidence instance + */ + public static create(properties?: tendermint.types.ILightClientAttackEvidence): tendermint.types.LightClientAttackEvidence; + + /** + * Encodes the specified LightClientAttackEvidence message. Does not implicitly {@link tendermint.types.LightClientAttackEvidence.verify|verify} messages. + * @param message LightClientAttackEvidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ILightClientAttackEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LightClientAttackEvidence message, length delimited. Does not implicitly {@link tendermint.types.LightClientAttackEvidence.verify|verify} messages. + * @param message LightClientAttackEvidence message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ILightClientAttackEvidence, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LightClientAttackEvidence message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LightClientAttackEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.LightClientAttackEvidence; + + /** + * Decodes a LightClientAttackEvidence message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LightClientAttackEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.LightClientAttackEvidence; + + /** + * Verifies a LightClientAttackEvidence message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LightClientAttackEvidence message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LightClientAttackEvidence + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.LightClientAttackEvidence; + + /** + * Creates a plain object from a LightClientAttackEvidence message. Also converts values to other types if specified. + * @param message LightClientAttackEvidence + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.LightClientAttackEvidence, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LightClientAttackEvidence to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EvidenceList. */ + interface IEvidenceList { + + /** EvidenceList evidence */ + evidence?: (tendermint.types.IEvidence[]|null); + } + + /** Represents an EvidenceList. */ + class EvidenceList implements IEvidenceList { + + /** + * Constructs a new EvidenceList. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IEvidenceList); + + /** EvidenceList evidence. */ + public evidence: tendermint.types.IEvidence[]; + + /** + * Creates a new EvidenceList instance using the specified properties. + * @param [properties] Properties to set + * @returns EvidenceList instance + */ + public static create(properties?: tendermint.types.IEvidenceList): tendermint.types.EvidenceList; + + /** + * Encodes the specified EvidenceList message. Does not implicitly {@link tendermint.types.EvidenceList.verify|verify} messages. + * @param message EvidenceList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IEvidenceList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EvidenceList message, length delimited. Does not implicitly {@link tendermint.types.EvidenceList.verify|verify} messages. + * @param message EvidenceList message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IEvidenceList, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EvidenceList message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EvidenceList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.EvidenceList; + + /** + * Decodes an EvidenceList message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EvidenceList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.EvidenceList; + + /** + * Verifies an EvidenceList message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EvidenceList message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EvidenceList + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.EvidenceList; + + /** + * Creates a plain object from an EvidenceList message. Also converts values to other types if specified. + * @param message EvidenceList + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.EvidenceList, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EvidenceList to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ConsensusParams. */ + interface IConsensusParams { + + /** ConsensusParams block */ + block?: (tendermint.types.IBlockParams|null); + + /** ConsensusParams evidence */ + evidence?: (tendermint.types.IEvidenceParams|null); + + /** ConsensusParams validator */ + validator?: (tendermint.types.IValidatorParams|null); + + /** ConsensusParams version */ + version?: (tendermint.types.IVersionParams|null); + } + + /** Represents a ConsensusParams. */ + class ConsensusParams implements IConsensusParams { + + /** + * Constructs a new ConsensusParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IConsensusParams); + + /** ConsensusParams block. */ + public block?: (tendermint.types.IBlockParams|null); + + /** ConsensusParams evidence. */ + public evidence?: (tendermint.types.IEvidenceParams|null); + + /** ConsensusParams validator. */ + public validator?: (tendermint.types.IValidatorParams|null); + + /** ConsensusParams version. */ + public version?: (tendermint.types.IVersionParams|null); + + /** + * Creates a new ConsensusParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ConsensusParams instance + */ + public static create(properties?: tendermint.types.IConsensusParams): tendermint.types.ConsensusParams; + + /** + * Encodes the specified ConsensusParams message. Does not implicitly {@link tendermint.types.ConsensusParams.verify|verify} messages. + * @param message ConsensusParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IConsensusParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link tendermint.types.ConsensusParams.verify|verify} messages. + * @param message ConsensusParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IConsensusParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConsensusParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.ConsensusParams; + + /** + * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.ConsensusParams; + + /** + * Verifies a ConsensusParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConsensusParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.ConsensusParams; + + /** + * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. + * @param message ConsensusParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.ConsensusParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConsensusParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockParams. */ + interface IBlockParams { + + /** BlockParams maxBytes */ + maxBytes?: (number|Long|null); + + /** BlockParams maxGas */ + maxGas?: (number|Long|null); + + /** BlockParams timeIotaMs */ + timeIotaMs?: (number|Long|null); + } + + /** Represents a BlockParams. */ + class BlockParams implements IBlockParams { + + /** + * Constructs a new BlockParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IBlockParams); + + /** BlockParams maxBytes. */ + public maxBytes: (number|Long); + + /** BlockParams maxGas. */ + public maxGas: (number|Long); + + /** BlockParams timeIotaMs. */ + public timeIotaMs: (number|Long); + + /** + * Creates a new BlockParams instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockParams instance + */ + public static create(properties?: tendermint.types.IBlockParams): tendermint.types.BlockParams; + + /** + * Encodes the specified BlockParams message. Does not implicitly {@link tendermint.types.BlockParams.verify|verify} messages. + * @param message BlockParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IBlockParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link tendermint.types.BlockParams.verify|verify} messages. + * @param message BlockParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IBlockParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.BlockParams; + + /** + * Decodes a BlockParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.BlockParams; + + /** + * Verifies a BlockParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.BlockParams; + + /** + * Creates a plain object from a BlockParams message. Also converts values to other types if specified. + * @param message BlockParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.BlockParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EvidenceParams. */ + interface IEvidenceParams { + + /** EvidenceParams maxAgeNumBlocks */ + maxAgeNumBlocks?: (number|Long|null); + + /** EvidenceParams maxAgeDuration */ + maxAgeDuration?: (google.protobuf.IDuration|null); + + /** EvidenceParams maxBytes */ + maxBytes?: (number|Long|null); + } + + /** Represents an EvidenceParams. */ + class EvidenceParams implements IEvidenceParams { + + /** + * Constructs a new EvidenceParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IEvidenceParams); + + /** EvidenceParams maxAgeNumBlocks. */ + public maxAgeNumBlocks: (number|Long); + + /** EvidenceParams maxAgeDuration. */ + public maxAgeDuration?: (google.protobuf.IDuration|null); + + /** EvidenceParams maxBytes. */ + public maxBytes: (number|Long); + + /** + * Creates a new EvidenceParams instance using the specified properties. + * @param [properties] Properties to set + * @returns EvidenceParams instance + */ + public static create(properties?: tendermint.types.IEvidenceParams): tendermint.types.EvidenceParams; + + /** + * Encodes the specified EvidenceParams message. Does not implicitly {@link tendermint.types.EvidenceParams.verify|verify} messages. + * @param message EvidenceParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IEvidenceParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EvidenceParams message, length delimited. Does not implicitly {@link tendermint.types.EvidenceParams.verify|verify} messages. + * @param message EvidenceParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IEvidenceParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EvidenceParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EvidenceParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.EvidenceParams; + + /** + * Decodes an EvidenceParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EvidenceParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.EvidenceParams; + + /** + * Verifies an EvidenceParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EvidenceParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EvidenceParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.EvidenceParams; + + /** + * Creates a plain object from an EvidenceParams message. Also converts values to other types if specified. + * @param message EvidenceParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.EvidenceParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EvidenceParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ValidatorParams. */ + interface IValidatorParams { + + /** ValidatorParams pubKeyTypes */ + pubKeyTypes?: (string[]|null); + } + + /** Represents a ValidatorParams. */ + class ValidatorParams implements IValidatorParams { + + /** + * Constructs a new ValidatorParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IValidatorParams); + + /** ValidatorParams pubKeyTypes. */ + public pubKeyTypes: string[]; + + /** + * Creates a new ValidatorParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ValidatorParams instance + */ + public static create(properties?: tendermint.types.IValidatorParams): tendermint.types.ValidatorParams; + + /** + * Encodes the specified ValidatorParams message. Does not implicitly {@link tendermint.types.ValidatorParams.verify|verify} messages. + * @param message ValidatorParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IValidatorParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ValidatorParams message, length delimited. Does not implicitly {@link tendermint.types.ValidatorParams.verify|verify} messages. + * @param message ValidatorParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IValidatorParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ValidatorParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ValidatorParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.ValidatorParams; + + /** + * Decodes a ValidatorParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ValidatorParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.ValidatorParams; + + /** + * Verifies a ValidatorParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ValidatorParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ValidatorParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.ValidatorParams; + + /** + * Creates a plain object from a ValidatorParams message. Also converts values to other types if specified. + * @param message ValidatorParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.ValidatorParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ValidatorParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a VersionParams. */ + interface IVersionParams { + + /** VersionParams appVersion */ + appVersion?: (number|Long|null); + } + + /** Represents a VersionParams. */ + class VersionParams implements IVersionParams { + + /** + * Constructs a new VersionParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IVersionParams); + + /** VersionParams appVersion. */ + public appVersion: (number|Long); + + /** + * Creates a new VersionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns VersionParams instance + */ + public static create(properties?: tendermint.types.IVersionParams): tendermint.types.VersionParams; + + /** + * Encodes the specified VersionParams message. Does not implicitly {@link tendermint.types.VersionParams.verify|verify} messages. + * @param message VersionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IVersionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VersionParams message, length delimited. Does not implicitly {@link tendermint.types.VersionParams.verify|verify} messages. + * @param message VersionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IVersionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VersionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VersionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.VersionParams; + + /** + * Decodes a VersionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VersionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.VersionParams; + + /** + * Verifies a VersionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VersionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VersionParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.VersionParams; + + /** + * Creates a plain object from a VersionParams message. Also converts values to other types if specified. + * @param message VersionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.VersionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VersionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a HashedParams. */ + interface IHashedParams { + + /** HashedParams blockMaxBytes */ + blockMaxBytes?: (number|Long|null); + + /** HashedParams blockMaxGas */ + blockMaxGas?: (number|Long|null); + } + + /** Represents a HashedParams. */ + class HashedParams implements IHashedParams { + + /** + * Constructs a new HashedParams. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IHashedParams); + + /** HashedParams blockMaxBytes. */ + public blockMaxBytes: (number|Long); + + /** HashedParams blockMaxGas. */ + public blockMaxGas: (number|Long); + + /** + * Creates a new HashedParams instance using the specified properties. + * @param [properties] Properties to set + * @returns HashedParams instance + */ + public static create(properties?: tendermint.types.IHashedParams): tendermint.types.HashedParams; + + /** + * Encodes the specified HashedParams message. Does not implicitly {@link tendermint.types.HashedParams.verify|verify} messages. + * @param message HashedParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IHashedParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HashedParams message, length delimited. Does not implicitly {@link tendermint.types.HashedParams.verify|verify} messages. + * @param message HashedParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IHashedParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HashedParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HashedParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.HashedParams; + + /** + * Decodes a HashedParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HashedParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.HashedParams; + + /** + * Verifies a HashedParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HashedParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HashedParams + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.HashedParams; + + /** + * Creates a plain object from a HashedParams message. Also converts values to other types if specified. + * @param message HashedParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.HashedParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HashedParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** BlockIDFlag enum. */ + enum BlockIDFlag { + BLOCK_ID_FLAG_UNKNOWN = 0, + BLOCK_ID_FLAG_ABSENT = 1, + BLOCK_ID_FLAG_COMMIT = 2, + BLOCK_ID_FLAG_NIL = 3 + } + + /** SignedMsgType enum. */ + enum SignedMsgType { + SIGNED_MSG_TYPE_UNKNOWN = 0, + SIGNED_MSG_TYPE_PREVOTE = 1, + SIGNED_MSG_TYPE_PRECOMMIT = 2, + SIGNED_MSG_TYPE_PROPOSAL = 32 + } + + /** Properties of a PartSetHeader. */ + interface IPartSetHeader { + + /** PartSetHeader total */ + total?: (number|null); + + /** PartSetHeader hash */ + hash?: (Uint8Array|null); + } + + /** Represents a PartSetHeader. */ + class PartSetHeader implements IPartSetHeader { + + /** + * Constructs a new PartSetHeader. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IPartSetHeader); + + /** PartSetHeader total. */ + public total: number; + + /** PartSetHeader hash. */ + public hash: Uint8Array; + + /** + * Creates a new PartSetHeader instance using the specified properties. + * @param [properties] Properties to set + * @returns PartSetHeader instance + */ + public static create(properties?: tendermint.types.IPartSetHeader): tendermint.types.PartSetHeader; + + /** + * Encodes the specified PartSetHeader message. Does not implicitly {@link tendermint.types.PartSetHeader.verify|verify} messages. + * @param message PartSetHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IPartSetHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PartSetHeader message, length delimited. Does not implicitly {@link tendermint.types.PartSetHeader.verify|verify} messages. + * @param message PartSetHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IPartSetHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PartSetHeader message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.PartSetHeader; + + /** + * Decodes a PartSetHeader message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.PartSetHeader; + + /** + * Verifies a PartSetHeader message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PartSetHeader message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PartSetHeader + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.PartSetHeader; + + /** + * Creates a plain object from a PartSetHeader message. Also converts values to other types if specified. + * @param message PartSetHeader + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.PartSetHeader, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PartSetHeader to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Part. */ + interface IPart { + + /** Part index */ + index?: (number|null); + + /** Part bytes */ + bytes?: (Uint8Array|null); + + /** Part proof */ + proof?: (tendermint.crypto.IProof|null); + } + + /** Represents a Part. */ + class Part implements IPart { + + /** + * Constructs a new Part. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IPart); + + /** Part index. */ + public index: number; + + /** Part bytes. */ + public bytes: Uint8Array; + + /** Part proof. */ + public proof?: (tendermint.crypto.IProof|null); + + /** + * Creates a new Part instance using the specified properties. + * @param [properties] Properties to set + * @returns Part instance + */ + public static create(properties?: tendermint.types.IPart): tendermint.types.Part; + + /** + * Encodes the specified Part message. Does not implicitly {@link tendermint.types.Part.verify|verify} messages. + * @param message Part message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IPart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Part message, length delimited. Does not implicitly {@link tendermint.types.Part.verify|verify} messages. + * @param message Part message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IPart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Part message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Part + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Part; + + /** + * Decodes a Part message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Part + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Part; + + /** + * Verifies a Part message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Part message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Part + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Part; + + /** + * Creates a plain object from a Part message. Also converts values to other types if specified. + * @param message Part + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Part, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Part to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockID. */ + interface IBlockID { + + /** BlockID hash */ + hash?: (Uint8Array|null); + + /** BlockID partSetHeader */ + partSetHeader?: (tendermint.types.IPartSetHeader|null); + } + + /** Represents a BlockID. */ + class BlockID implements IBlockID { + + /** + * Constructs a new BlockID. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IBlockID); + + /** BlockID hash. */ + public hash: Uint8Array; + + /** BlockID partSetHeader. */ + public partSetHeader?: (tendermint.types.IPartSetHeader|null); + + /** + * Creates a new BlockID instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockID instance + */ + public static create(properties?: tendermint.types.IBlockID): tendermint.types.BlockID; + + /** + * Encodes the specified BlockID message. Does not implicitly {@link tendermint.types.BlockID.verify|verify} messages. + * @param message BlockID message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IBlockID, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockID message, length delimited. Does not implicitly {@link tendermint.types.BlockID.verify|verify} messages. + * @param message BlockID message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IBlockID, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockID message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.BlockID; + + /** + * Decodes a BlockID message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.BlockID; + + /** + * Verifies a BlockID message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockID message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockID + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.BlockID; + + /** + * Creates a plain object from a BlockID message. Also converts values to other types if specified. + * @param message BlockID + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.BlockID, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockID to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Header. */ + interface IHeader { + + /** Header version */ + version?: (tendermint.version.IConsensus|null); + + /** Header chainId */ + chainId?: (string|null); + + /** Header height */ + height?: (number|Long|null); + + /** Header time */ + time?: (google.protobuf.ITimestamp|null); + + /** Header lastBlockId */ + lastBlockId?: (tendermint.types.IBlockID|null); + + /** Header lastCommitHash */ + lastCommitHash?: (Uint8Array|null); + + /** Header dataHash */ + dataHash?: (Uint8Array|null); + + /** Header validatorsHash */ + validatorsHash?: (Uint8Array|null); + + /** Header nextValidatorsHash */ + nextValidatorsHash?: (Uint8Array|null); + + /** Header consensusHash */ + consensusHash?: (Uint8Array|null); + + /** Header appHash */ + appHash?: (Uint8Array|null); + + /** Header lastResultsHash */ + lastResultsHash?: (Uint8Array|null); + + /** Header evidenceHash */ + evidenceHash?: (Uint8Array|null); + + /** Header proposerAddress */ + proposerAddress?: (Uint8Array|null); + } + + /** Represents a Header. */ + class Header implements IHeader { + + /** + * Constructs a new Header. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IHeader); + + /** Header version. */ + public version?: (tendermint.version.IConsensus|null); + + /** Header chainId. */ + public chainId: string; + + /** Header height. */ + public height: (number|Long); + + /** Header time. */ + public time?: (google.protobuf.ITimestamp|null); + + /** Header lastBlockId. */ + public lastBlockId?: (tendermint.types.IBlockID|null); + + /** Header lastCommitHash. */ + public lastCommitHash: Uint8Array; + + /** Header dataHash. */ + public dataHash: Uint8Array; + + /** Header validatorsHash. */ + public validatorsHash: Uint8Array; + + /** Header nextValidatorsHash. */ + public nextValidatorsHash: Uint8Array; + + /** Header consensusHash. */ + public consensusHash: Uint8Array; + + /** Header appHash. */ + public appHash: Uint8Array; + + /** Header lastResultsHash. */ + public lastResultsHash: Uint8Array; + + /** Header evidenceHash. */ + public evidenceHash: Uint8Array; + + /** Header proposerAddress. */ + public proposerAddress: Uint8Array; + + /** + * Creates a new Header instance using the specified properties. + * @param [properties] Properties to set + * @returns Header instance + */ + public static create(properties?: tendermint.types.IHeader): tendermint.types.Header; + + /** + * Encodes the specified Header message. Does not implicitly {@link tendermint.types.Header.verify|verify} messages. + * @param message Header message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Header message, length delimited. Does not implicitly {@link tendermint.types.Header.verify|verify} messages. + * @param message Header message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Header message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Header + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Header; + + /** + * Decodes a Header message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Header + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Header; + + /** + * Verifies a Header message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Header message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Header + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Header; + + /** + * Creates a plain object from a Header message. Also converts values to other types if specified. + * @param message Header + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Header, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Header to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Data. */ + interface IData { + + /** Data txs */ + txs?: (Uint8Array[]|null); + } + + /** Represents a Data. */ + class Data implements IData { + + /** + * Constructs a new Data. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IData); + + /** Data txs. */ + public txs: Uint8Array[]; + + /** + * Creates a new Data instance using the specified properties. + * @param [properties] Properties to set + * @returns Data instance + */ + public static create(properties?: tendermint.types.IData): tendermint.types.Data; + + /** + * Encodes the specified Data message. Does not implicitly {@link tendermint.types.Data.verify|verify} messages. + * @param message Data message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Data message, length delimited. Does not implicitly {@link tendermint.types.Data.verify|verify} messages. + * @param message Data message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Data message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Data + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Data; + + /** + * Decodes a Data message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Data + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Data; + + /** + * Verifies a Data message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Data message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Data + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Data; + + /** + * Creates a plain object from a Data message. Also converts values to other types if specified. + * @param message Data + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Data, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Data to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Vote. */ + interface IVote { + + /** Vote type */ + type?: (tendermint.types.SignedMsgType|null); + + /** Vote height */ + height?: (number|Long|null); + + /** Vote round */ + round?: (number|null); + + /** Vote blockId */ + blockId?: (tendermint.types.IBlockID|null); + + /** Vote timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + + /** Vote validatorAddress */ + validatorAddress?: (Uint8Array|null); + + /** Vote validatorIndex */ + validatorIndex?: (number|null); + + /** Vote signature */ + signature?: (Uint8Array|null); + } + + /** Represents a Vote. */ + class Vote implements IVote { + + /** + * Constructs a new Vote. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IVote); + + /** Vote type. */ + public type: tendermint.types.SignedMsgType; + + /** Vote height. */ + public height: (number|Long); + + /** Vote round. */ + public round: number; + + /** Vote blockId. */ + public blockId?: (tendermint.types.IBlockID|null); + + /** Vote timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** Vote validatorAddress. */ + public validatorAddress: Uint8Array; + + /** Vote validatorIndex. */ + public validatorIndex: number; + + /** Vote signature. */ + public signature: Uint8Array; + + /** + * Creates a new Vote instance using the specified properties. + * @param [properties] Properties to set + * @returns Vote instance + */ + public static create(properties?: tendermint.types.IVote): tendermint.types.Vote; + + /** + * Encodes the specified Vote message. Does not implicitly {@link tendermint.types.Vote.verify|verify} messages. + * @param message Vote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vote message, length delimited. Does not implicitly {@link tendermint.types.Vote.verify|verify} messages. + * @param message Vote message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IVote, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vote message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Vote; + + /** + * Decodes a Vote message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Vote; + + /** + * Verifies a Vote message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vote message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vote + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Vote; + + /** + * Creates a plain object from a Vote message. Also converts values to other types if specified. + * @param message Vote + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Vote, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vote to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Commit. */ + interface ICommit { + + /** Commit height */ + height?: (number|Long|null); + + /** Commit round */ + round?: (number|null); + + /** Commit blockId */ + blockId?: (tendermint.types.IBlockID|null); + + /** Commit signatures */ + signatures?: (tendermint.types.ICommitSig[]|null); + } + + /** Represents a Commit. */ + class Commit implements ICommit { + + /** + * Constructs a new Commit. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ICommit); + + /** Commit height. */ + public height: (number|Long); + + /** Commit round. */ + public round: number; + + /** Commit blockId. */ + public blockId?: (tendermint.types.IBlockID|null); + + /** Commit signatures. */ + public signatures: tendermint.types.ICommitSig[]; + + /** + * Creates a new Commit instance using the specified properties. + * @param [properties] Properties to set + * @returns Commit instance + */ + public static create(properties?: tendermint.types.ICommit): tendermint.types.Commit; + + /** + * Encodes the specified Commit message. Does not implicitly {@link tendermint.types.Commit.verify|verify} messages. + * @param message Commit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ICommit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Commit message, length delimited. Does not implicitly {@link tendermint.types.Commit.verify|verify} messages. + * @param message Commit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ICommit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Commit message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Commit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Commit; + + /** + * Decodes a Commit message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Commit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Commit; + + /** + * Verifies a Commit message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Commit message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Commit + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Commit; + + /** + * Creates a plain object from a Commit message. Also converts values to other types if specified. + * @param message Commit + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Commit, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Commit to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CommitSig. */ + interface ICommitSig { + + /** CommitSig blockIdFlag */ + blockIdFlag?: (tendermint.types.BlockIDFlag|null); + + /** CommitSig validatorAddress */ + validatorAddress?: (Uint8Array|null); + + /** CommitSig timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + + /** CommitSig signature */ + signature?: (Uint8Array|null); + } + + /** Represents a CommitSig. */ + class CommitSig implements ICommitSig { + + /** + * Constructs a new CommitSig. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ICommitSig); + + /** CommitSig blockIdFlag. */ + public blockIdFlag: tendermint.types.BlockIDFlag; + + /** CommitSig validatorAddress. */ + public validatorAddress: Uint8Array; + + /** CommitSig timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** CommitSig signature. */ + public signature: Uint8Array; + + /** + * Creates a new CommitSig instance using the specified properties. + * @param [properties] Properties to set + * @returns CommitSig instance + */ + public static create(properties?: tendermint.types.ICommitSig): tendermint.types.CommitSig; + + /** + * Encodes the specified CommitSig message. Does not implicitly {@link tendermint.types.CommitSig.verify|verify} messages. + * @param message CommitSig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ICommitSig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CommitSig message, length delimited. Does not implicitly {@link tendermint.types.CommitSig.verify|verify} messages. + * @param message CommitSig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ICommitSig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CommitSig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CommitSig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.CommitSig; + + /** + * Decodes a CommitSig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CommitSig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.CommitSig; + + /** + * Verifies a CommitSig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CommitSig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CommitSig + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.CommitSig; + + /** + * Creates a plain object from a CommitSig message. Also converts values to other types if specified. + * @param message CommitSig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.CommitSig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CommitSig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Proposal. */ + interface IProposal { + + /** Proposal type */ + type?: (tendermint.types.SignedMsgType|null); + + /** Proposal height */ + height?: (number|Long|null); + + /** Proposal round */ + round?: (number|null); + + /** Proposal polRound */ + polRound?: (number|null); + + /** Proposal blockId */ + blockId?: (tendermint.types.IBlockID|null); + + /** Proposal timestamp */ + timestamp?: (google.protobuf.ITimestamp|null); + + /** Proposal signature */ + signature?: (Uint8Array|null); + } + + /** Represents a Proposal. */ + class Proposal implements IProposal { + + /** + * Constructs a new Proposal. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IProposal); + + /** Proposal type. */ + public type: tendermint.types.SignedMsgType; + + /** Proposal height. */ + public height: (number|Long); + + /** Proposal round. */ + public round: number; + + /** Proposal polRound. */ + public polRound: number; + + /** Proposal blockId. */ + public blockId?: (tendermint.types.IBlockID|null); + + /** Proposal timestamp. */ + public timestamp?: (google.protobuf.ITimestamp|null); + + /** Proposal signature. */ + public signature: Uint8Array; + + /** + * Creates a new Proposal instance using the specified properties. + * @param [properties] Properties to set + * @returns Proposal instance + */ + public static create(properties?: tendermint.types.IProposal): tendermint.types.Proposal; + + /** + * Encodes the specified Proposal message. Does not implicitly {@link tendermint.types.Proposal.verify|verify} messages. + * @param message Proposal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IProposal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Proposal message, length delimited. Does not implicitly {@link tendermint.types.Proposal.verify|verify} messages. + * @param message Proposal message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IProposal, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Proposal message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Proposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Proposal; + + /** + * Decodes a Proposal message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Proposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Proposal; + + /** + * Verifies a Proposal message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Proposal message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Proposal + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Proposal; + + /** + * Creates a plain object from a Proposal message. Also converts values to other types if specified. + * @param message Proposal + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Proposal, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Proposal to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SignedHeader. */ + interface ISignedHeader { + + /** SignedHeader header */ + header?: (tendermint.types.IHeader|null); + + /** SignedHeader commit */ + commit?: (tendermint.types.ICommit|null); + } + + /** Represents a SignedHeader. */ + class SignedHeader implements ISignedHeader { + + /** + * Constructs a new SignedHeader. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ISignedHeader); + + /** SignedHeader header. */ + public header?: (tendermint.types.IHeader|null); + + /** SignedHeader commit. */ + public commit?: (tendermint.types.ICommit|null); + + /** + * Creates a new SignedHeader instance using the specified properties. + * @param [properties] Properties to set + * @returns SignedHeader instance + */ + public static create(properties?: tendermint.types.ISignedHeader): tendermint.types.SignedHeader; + + /** + * Encodes the specified SignedHeader message. Does not implicitly {@link tendermint.types.SignedHeader.verify|verify} messages. + * @param message SignedHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ISignedHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SignedHeader message, length delimited. Does not implicitly {@link tendermint.types.SignedHeader.verify|verify} messages. + * @param message SignedHeader message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ISignedHeader, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SignedHeader message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SignedHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.SignedHeader; + + /** + * Decodes a SignedHeader message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SignedHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.SignedHeader; + + /** + * Verifies a SignedHeader message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SignedHeader message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SignedHeader + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.SignedHeader; + + /** + * Creates a plain object from a SignedHeader message. Also converts values to other types if specified. + * @param message SignedHeader + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.SignedHeader, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SignedHeader to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LightBlock. */ + interface ILightBlock { + + /** LightBlock signedHeader */ + signedHeader?: (tendermint.types.ISignedHeader|null); + + /** LightBlock validatorSet */ + validatorSet?: (tendermint.types.IValidatorSet|null); + } + + /** Represents a LightBlock. */ + class LightBlock implements ILightBlock { + + /** + * Constructs a new LightBlock. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ILightBlock); + + /** LightBlock signedHeader. */ + public signedHeader?: (tendermint.types.ISignedHeader|null); + + /** LightBlock validatorSet. */ + public validatorSet?: (tendermint.types.IValidatorSet|null); + + /** + * Creates a new LightBlock instance using the specified properties. + * @param [properties] Properties to set + * @returns LightBlock instance + */ + public static create(properties?: tendermint.types.ILightBlock): tendermint.types.LightBlock; + + /** + * Encodes the specified LightBlock message. Does not implicitly {@link tendermint.types.LightBlock.verify|verify} messages. + * @param message LightBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ILightBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LightBlock message, length delimited. Does not implicitly {@link tendermint.types.LightBlock.verify|verify} messages. + * @param message LightBlock message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ILightBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LightBlock message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LightBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.LightBlock; + + /** + * Decodes a LightBlock message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LightBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.LightBlock; + + /** + * Verifies a LightBlock message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LightBlock message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LightBlock + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.LightBlock; + + /** + * Creates a plain object from a LightBlock message. Also converts values to other types if specified. + * @param message LightBlock + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.LightBlock, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LightBlock to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BlockMeta. */ + interface IBlockMeta { + + /** BlockMeta blockId */ + blockId?: (tendermint.types.IBlockID|null); + + /** BlockMeta blockSize */ + blockSize?: (number|Long|null); + + /** BlockMeta header */ + header?: (tendermint.types.IHeader|null); + + /** BlockMeta numTxs */ + numTxs?: (number|Long|null); + } + + /** Represents a BlockMeta. */ + class BlockMeta implements IBlockMeta { + + /** + * Constructs a new BlockMeta. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IBlockMeta); + + /** BlockMeta blockId. */ + public blockId?: (tendermint.types.IBlockID|null); + + /** BlockMeta blockSize. */ + public blockSize: (number|Long); + + /** BlockMeta header. */ + public header?: (tendermint.types.IHeader|null); + + /** BlockMeta numTxs. */ + public numTxs: (number|Long); + + /** + * Creates a new BlockMeta instance using the specified properties. + * @param [properties] Properties to set + * @returns BlockMeta instance + */ + public static create(properties?: tendermint.types.IBlockMeta): tendermint.types.BlockMeta; + + /** + * Encodes the specified BlockMeta message. Does not implicitly {@link tendermint.types.BlockMeta.verify|verify} messages. + * @param message BlockMeta message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IBlockMeta, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BlockMeta message, length delimited. Does not implicitly {@link tendermint.types.BlockMeta.verify|verify} messages. + * @param message BlockMeta message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IBlockMeta, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BlockMeta message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BlockMeta + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.BlockMeta; + + /** + * Decodes a BlockMeta message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BlockMeta + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.BlockMeta; + + /** + * Verifies a BlockMeta message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BlockMeta message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BlockMeta + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.BlockMeta; + + /** + * Creates a plain object from a BlockMeta message. Also converts values to other types if specified. + * @param message BlockMeta + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.BlockMeta, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BlockMeta to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TxProof. */ + interface ITxProof { + + /** TxProof rootHash */ + rootHash?: (Uint8Array|null); + + /** TxProof data */ + data?: (Uint8Array|null); + + /** TxProof proof */ + proof?: (tendermint.crypto.IProof|null); + } + + /** Represents a TxProof. */ + class TxProof implements ITxProof { + + /** + * Constructs a new TxProof. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ITxProof); + + /** TxProof rootHash. */ + public rootHash: Uint8Array; + + /** TxProof data. */ + public data: Uint8Array; + + /** TxProof proof. */ + public proof?: (tendermint.crypto.IProof|null); + + /** + * Creates a new TxProof instance using the specified properties. + * @param [properties] Properties to set + * @returns TxProof instance + */ + public static create(properties?: tendermint.types.ITxProof): tendermint.types.TxProof; + + /** + * Encodes the specified TxProof message. Does not implicitly {@link tendermint.types.TxProof.verify|verify} messages. + * @param message TxProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ITxProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TxProof message, length delimited. Does not implicitly {@link tendermint.types.TxProof.verify|verify} messages. + * @param message TxProof message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ITxProof, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TxProof message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TxProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.TxProof; + + /** + * Decodes a TxProof message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TxProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.TxProof; + + /** + * Verifies a TxProof message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TxProof message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TxProof + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.TxProof; + + /** + * Creates a plain object from a TxProof message. Also converts values to other types if specified. + * @param message TxProof + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.TxProof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TxProof to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ValidatorSet. */ + interface IValidatorSet { + + /** ValidatorSet validators */ + validators?: (tendermint.types.IValidator[]|null); + + /** ValidatorSet proposer */ + proposer?: (tendermint.types.IValidator|null); + + /** ValidatorSet totalVotingPower */ + totalVotingPower?: (number|Long|null); + } + + /** Represents a ValidatorSet. */ + class ValidatorSet implements IValidatorSet { + + /** + * Constructs a new ValidatorSet. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IValidatorSet); + + /** ValidatorSet validators. */ + public validators: tendermint.types.IValidator[]; + + /** ValidatorSet proposer. */ + public proposer?: (tendermint.types.IValidator|null); + + /** ValidatorSet totalVotingPower. */ + public totalVotingPower: (number|Long); + + /** + * Creates a new ValidatorSet instance using the specified properties. + * @param [properties] Properties to set + * @returns ValidatorSet instance + */ + public static create(properties?: tendermint.types.IValidatorSet): tendermint.types.ValidatorSet; + + /** + * Encodes the specified ValidatorSet message. Does not implicitly {@link tendermint.types.ValidatorSet.verify|verify} messages. + * @param message ValidatorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IValidatorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ValidatorSet message, length delimited. Does not implicitly {@link tendermint.types.ValidatorSet.verify|verify} messages. + * @param message ValidatorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IValidatorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ValidatorSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ValidatorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.ValidatorSet; + + /** + * Decodes a ValidatorSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ValidatorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.ValidatorSet; + + /** + * Verifies a ValidatorSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ValidatorSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ValidatorSet + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.ValidatorSet; + + /** + * Creates a plain object from a ValidatorSet message. Also converts values to other types if specified. + * @param message ValidatorSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.ValidatorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ValidatorSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Validator. */ + interface IValidator { + + /** Validator address */ + address?: (Uint8Array|null); + + /** Validator pubKey */ + pubKey?: (tendermint.crypto.IPublicKey|null); + + /** Validator votingPower */ + votingPower?: (number|Long|null); + + /** Validator proposerPriority */ + proposerPriority?: (number|Long|null); + } + + /** Represents a Validator. */ + class Validator implements IValidator { + + /** + * Constructs a new Validator. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.IValidator); + + /** Validator address. */ + public address: Uint8Array; + + /** Validator pubKey. */ + public pubKey?: (tendermint.crypto.IPublicKey|null); + + /** Validator votingPower. */ + public votingPower: (number|Long); + + /** Validator proposerPriority. */ + public proposerPriority: (number|Long); + + /** + * Creates a new Validator instance using the specified properties. + * @param [properties] Properties to set + * @returns Validator instance + */ + public static create(properties?: tendermint.types.IValidator): tendermint.types.Validator; + + /** + * Encodes the specified Validator message. Does not implicitly {@link tendermint.types.Validator.verify|verify} messages. + * @param message Validator message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.IValidator, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Validator message, length delimited. Does not implicitly {@link tendermint.types.Validator.verify|verify} messages. + * @param message Validator message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.IValidator, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Validator message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.Validator; + + /** + * Decodes a Validator message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.Validator; + + /** + * Verifies a Validator message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Validator message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Validator + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.Validator; + + /** + * Creates a plain object from a Validator message. Also converts values to other types if specified. + * @param message Validator + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.Validator, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Validator to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SimpleValidator. */ + interface ISimpleValidator { + + /** SimpleValidator pubKey */ + pubKey?: (tendermint.crypto.IPublicKey|null); + + /** SimpleValidator votingPower */ + votingPower?: (number|Long|null); + } + + /** Represents a SimpleValidator. */ + class SimpleValidator implements ISimpleValidator { + + /** + * Constructs a new SimpleValidator. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.types.ISimpleValidator); + + /** SimpleValidator pubKey. */ + public pubKey?: (tendermint.crypto.IPublicKey|null); + + /** SimpleValidator votingPower. */ + public votingPower: (number|Long); + + /** + * Creates a new SimpleValidator instance using the specified properties. + * @param [properties] Properties to set + * @returns SimpleValidator instance + */ + public static create(properties?: tendermint.types.ISimpleValidator): tendermint.types.SimpleValidator; + + /** + * Encodes the specified SimpleValidator message. Does not implicitly {@link tendermint.types.SimpleValidator.verify|verify} messages. + * @param message SimpleValidator message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.types.ISimpleValidator, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SimpleValidator message, length delimited. Does not implicitly {@link tendermint.types.SimpleValidator.verify|verify} messages. + * @param message SimpleValidator message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.types.ISimpleValidator, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SimpleValidator message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SimpleValidator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.types.SimpleValidator; + + /** + * Decodes a SimpleValidator message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SimpleValidator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.types.SimpleValidator; + + /** + * Verifies a SimpleValidator message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SimpleValidator message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SimpleValidator + */ + public static fromObject(object: { [k: string]: any }): tendermint.types.SimpleValidator; + + /** + * Creates a plain object from a SimpleValidator message. Also converts values to other types if specified. + * @param message SimpleValidator + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.types.SimpleValidator, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SimpleValidator to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace version. */ + namespace version { + + /** Properties of an App. */ + interface IApp { + + /** App protocol */ + protocol?: (number|Long|null); + + /** App software */ + software?: (string|null); + } + + /** Represents an App. */ + class App implements IApp { + + /** + * Constructs a new App. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.version.IApp); + + /** App protocol. */ + public protocol: (number|Long); + + /** App software. */ + public software: string; + + /** + * Creates a new App instance using the specified properties. + * @param [properties] Properties to set + * @returns App instance + */ + public static create(properties?: tendermint.version.IApp): tendermint.version.App; + + /** + * Encodes the specified App message. Does not implicitly {@link tendermint.version.App.verify|verify} messages. + * @param message App message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.version.IApp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified App message, length delimited. Does not implicitly {@link tendermint.version.App.verify|verify} messages. + * @param message App message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.version.IApp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an App message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns App + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.version.App; + + /** + * Decodes an App message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns App + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.version.App; + + /** + * Verifies an App message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an App message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns App + */ + public static fromObject(object: { [k: string]: any }): tendermint.version.App; + + /** + * Creates a plain object from an App message. Also converts values to other types if specified. + * @param message App + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.version.App, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this App to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Consensus. */ + interface IConsensus { + + /** Consensus block */ + block?: (number|Long|null); + + /** Consensus app */ + app?: (number|Long|null); + } + + /** Represents a Consensus. */ + class Consensus implements IConsensus { + + /** + * Constructs a new Consensus. + * @param [properties] Properties to set + */ + constructor(properties?: tendermint.version.IConsensus); + + /** Consensus block. */ + public block: (number|Long); + + /** Consensus app. */ + public app: (number|Long); + + /** + * Creates a new Consensus instance using the specified properties. + * @param [properties] Properties to set + * @returns Consensus instance + */ + public static create(properties?: tendermint.version.IConsensus): tendermint.version.Consensus; + + /** + * Encodes the specified Consensus message. Does not implicitly {@link tendermint.version.Consensus.verify|verify} messages. + * @param message Consensus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: tendermint.version.IConsensus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Consensus message, length delimited. Does not implicitly {@link tendermint.version.Consensus.verify|verify} messages. + * @param message Consensus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: tendermint.version.IConsensus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Consensus message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Consensus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.version.Consensus; + + /** + * Decodes a Consensus message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Consensus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.version.Consensus; + + /** + * Verifies a Consensus message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Consensus message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Consensus + */ + public static fromObject(object: { [k: string]: any }): tendermint.version.Consensus; + + /** + * Creates a plain object from a Consensus message. Also converts values to other types if specified. + * @param message Consensus + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: tendermint.version.Consensus, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Consensus to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } +} + +/** Namespace google. */ +export namespace google { + + /** Namespace protobuf. */ + namespace protobuf { + + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|null); + + /** Duration nanos */ + nanos?: (number|null); + } + + /** Represents a Duration. */ + class Duration implements IDuration { + + /** + * Constructs a new Duration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDuration); + + /** Duration seconds. */ + public seconds: (number|Long); + + /** Duration nanos. */ + public nanos: number; + + /** + * Creates a new Duration instance using the specified properties. + * @param [properties] Properties to set + * @returns Duration instance + */ + public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + + /** + * Verifies a Duration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Duration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @param message Duration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Duration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Timestamp. */ + interface ITimestamp { + + /** Timestamp seconds */ + seconds?: (number|Long|null); + + /** Timestamp nanos */ + nanos?: (number|null); + } + + /** Represents a Timestamp. */ + class Timestamp implements ITimestamp { + + /** + * Constructs a new Timestamp. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ITimestamp); + + /** Timestamp seconds. */ + public seconds: (number|Long); + + /** Timestamp nanos. */ + public nanos: number; + + /** + * Creates a new Timestamp instance using the specified properties. + * @param [properties] Properties to set + * @returns Timestamp instance + */ + public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; + + /** + * Verifies a Timestamp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Timestamp + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @param message Timestamp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Timestamp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FileDescriptorSet. */ + interface IFileDescriptorSet { + + /** FileDescriptorSet file */ + file?: (google.protobuf.IFileDescriptorProto[]|null); + } + + /** Represents a FileDescriptorSet. */ + class FileDescriptorSet implements IFileDescriptorSet { + + /** + * Constructs a new FileDescriptorSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorSet); + + /** FileDescriptorSet file. */ + public file: google.protobuf.IFileDescriptorProto[]; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorSet instance + */ + public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; + + /** + * Verifies a FileDescriptorSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @param message FileDescriptorSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FileDescriptorProto. */ + interface IFileDescriptorProto { + + /** FileDescriptorProto name */ + name?: (string|null); + + /** FileDescriptorProto package */ + "package"?: (string|null); + + /** FileDescriptorProto dependency */ + dependency?: (string[]|null); + + /** FileDescriptorProto publicDependency */ + publicDependency?: (number[]|null); + + /** FileDescriptorProto weakDependency */ + weakDependency?: (number[]|null); + + /** FileDescriptorProto messageType */ + messageType?: (google.protobuf.IDescriptorProto[]|null); + + /** FileDescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** FileDescriptorProto service */ + service?: (google.protobuf.IServiceDescriptorProto[]|null); + + /** FileDescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** FileDescriptorProto options */ + options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo */ + sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax */ + syntax?: (string|null); + } + + /** Represents a FileDescriptorProto. */ + class FileDescriptorProto implements IFileDescriptorProto { + + /** + * Constructs a new FileDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorProto); + + /** FileDescriptorProto name. */ + public name: string; + + /** FileDescriptorProto package. */ + public package: string; + + /** FileDescriptorProto dependency. */ + public dependency: string[]; + + /** FileDescriptorProto publicDependency. */ + public publicDependency: number[]; + + /** FileDescriptorProto weakDependency. */ + public weakDependency: number[]; + + /** FileDescriptorProto messageType. */ + public messageType: google.protobuf.IDescriptorProto[]; + + /** FileDescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** FileDescriptorProto service. */ + public service: google.protobuf.IServiceDescriptorProto[]; + + /** FileDescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** FileDescriptorProto options. */ + public options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo. */ + public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax. */ + public syntax: string; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; + + /** + * Verifies a FileDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @param message FileDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DescriptorProto. */ + interface IDescriptorProto { + + /** DescriptorProto name */ + name?: (string|null); + + /** DescriptorProto field */ + field?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto nestedType */ + nestedType?: (google.protobuf.IDescriptorProto[]|null); + + /** DescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** DescriptorProto extensionRange */ + extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); + + /** DescriptorProto oneofDecl */ + oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); + + /** DescriptorProto options */ + options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange */ + reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); + + /** DescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents a DescriptorProto. */ + class DescriptorProto implements IDescriptorProto { + + /** + * Constructs a new DescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDescriptorProto); + + /** DescriptorProto name. */ + public name: string; + + /** DescriptorProto field. */ + public field: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto nestedType. */ + public nestedType: google.protobuf.IDescriptorProto[]; + + /** DescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** DescriptorProto extensionRange. */ + public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; + + /** DescriptorProto oneofDecl. */ + public oneofDecl: google.protobuf.IOneofDescriptorProto[]; + + /** DescriptorProto options. */ + public options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange. */ + public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; + + /** DescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns DescriptorProto instance + */ + public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; + + /** + * Verifies a DescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @param message DescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DescriptorProto { + + /** Properties of an ExtensionRange. */ + interface IExtensionRange { + + /** ExtensionRange start */ + start?: (number|null); + + /** ExtensionRange end */ + end?: (number|null); + + /** ExtensionRange options */ + options?: (google.protobuf.IExtensionRangeOptions|null); + } + + /** Represents an ExtensionRange. */ + class ExtensionRange implements IExtensionRange { + + /** + * Constructs a new ExtensionRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); + + /** ExtensionRange start. */ + public start: number; + + /** ExtensionRange end. */ + public end: number; + + /** ExtensionRange options. */ + public options?: (google.protobuf.IExtensionRangeOptions|null); + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Verifies an ExtensionRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @param message ExtensionRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ReservedRange. */ + interface IReservedRange { + + /** ReservedRange start */ + start?: (number|null); + + /** ReservedRange end */ + end?: (number|null); + } + + /** Represents a ReservedRange. */ + class ReservedRange implements IReservedRange { + + /** + * Constructs a new ReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); + + /** ReservedRange start. */ + public start: number; + + /** ReservedRange end. */ + public end: number; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ReservedRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Verifies a ReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @param message ReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of an ExtensionRangeOptions. */ + interface IExtensionRangeOptions { + + /** ExtensionRangeOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an ExtensionRangeOptions. */ + class ExtensionRangeOptions implements IExtensionRangeOptions { + + /** + * Constructs a new ExtensionRangeOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IExtensionRangeOptions); + + /** ExtensionRangeOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRangeOptions instance + */ + public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; + + /** + * Verifies an ExtensionRangeOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRangeOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @param message ExtensionRangeOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FieldDescriptorProto. */ + interface IFieldDescriptorProto { + + /** FieldDescriptorProto name */ + name?: (string|null); + + /** FieldDescriptorProto number */ + number?: (number|null); + + /** FieldDescriptorProto label */ + label?: (google.protobuf.FieldDescriptorProto.Label|null); + + /** FieldDescriptorProto type */ + type?: (google.protobuf.FieldDescriptorProto.Type|null); + + /** FieldDescriptorProto typeName */ + typeName?: (string|null); + + /** FieldDescriptorProto extendee */ + extendee?: (string|null); + + /** FieldDescriptorProto defaultValue */ + defaultValue?: (string|null); + + /** FieldDescriptorProto oneofIndex */ + oneofIndex?: (number|null); + + /** FieldDescriptorProto jsonName */ + jsonName?: (string|null); + + /** FieldDescriptorProto options */ + options?: (google.protobuf.IFieldOptions|null); + } + + /** Represents a FieldDescriptorProto. */ + class FieldDescriptorProto implements IFieldDescriptorProto { + + /** + * Constructs a new FieldDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldDescriptorProto); + + /** FieldDescriptorProto name. */ + public name: string; + + /** FieldDescriptorProto number. */ + public number: number; + + /** FieldDescriptorProto label. */ + public label: google.protobuf.FieldDescriptorProto.Label; + + /** FieldDescriptorProto type. */ + public type: google.protobuf.FieldDescriptorProto.Type; + + /** FieldDescriptorProto typeName. */ + public typeName: string; + + /** FieldDescriptorProto extendee. */ + public extendee: string; + + /** FieldDescriptorProto defaultValue. */ + public defaultValue: string; + + /** FieldDescriptorProto oneofIndex. */ + public oneofIndex: number; + + /** FieldDescriptorProto jsonName. */ + public jsonName: string; + + /** FieldDescriptorProto options. */ + public options?: (google.protobuf.IFieldOptions|null); + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; + + /** + * Verifies a FieldDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @param message FieldDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace FieldDescriptorProto { + + /** Type enum. */ + enum Type { + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18 + } + + /** Label enum. */ + enum Label { + LABEL_OPTIONAL = 1, + LABEL_REQUIRED = 2, + LABEL_REPEATED = 3 + } + } + + /** Properties of an OneofDescriptorProto. */ + interface IOneofDescriptorProto { + + /** OneofDescriptorProto name */ + name?: (string|null); + + /** OneofDescriptorProto options */ + options?: (google.protobuf.IOneofOptions|null); + } + + /** Represents an OneofDescriptorProto. */ + class OneofDescriptorProto implements IOneofDescriptorProto { + + /** + * Constructs a new OneofDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofDescriptorProto); + + /** OneofDescriptorProto name. */ + public name: string; + + /** OneofDescriptorProto options. */ + public options?: (google.protobuf.IOneofOptions|null); + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofDescriptorProto instance + */ + public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; + + /** + * Verifies an OneofDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @param message OneofDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EnumDescriptorProto. */ + interface IEnumDescriptorProto { + + /** EnumDescriptorProto name */ + name?: (string|null); + + /** EnumDescriptorProto value */ + value?: (google.protobuf.IEnumValueDescriptorProto[]|null); + + /** EnumDescriptorProto options */ + options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange */ + reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); + + /** EnumDescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents an EnumDescriptorProto. */ + class EnumDescriptorProto implements IEnumDescriptorProto { + + /** + * Constructs a new EnumDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumDescriptorProto); + + /** EnumDescriptorProto name. */ + public name: string; + + /** EnumDescriptorProto value. */ + public value: google.protobuf.IEnumValueDescriptorProto[]; + + /** EnumDescriptorProto options. */ + public options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange. */ + public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; + + /** EnumDescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; + + /** + * Verifies an EnumDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @param message EnumDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace EnumDescriptorProto { + + /** Properties of an EnumReservedRange. */ + interface IEnumReservedRange { + + /** EnumReservedRange start */ + start?: (number|null); + + /** EnumReservedRange end */ + end?: (number|null); + } + + /** Represents an EnumReservedRange. */ + class EnumReservedRange implements IEnumReservedRange { + + /** + * Constructs a new EnumReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); + + /** EnumReservedRange start. */ + public start: number; + + /** EnumReservedRange end. */ + public end: number; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumReservedRange instance + */ + public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Verifies an EnumReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @param message EnumReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of an EnumValueDescriptorProto. */ + interface IEnumValueDescriptorProto { + + /** EnumValueDescriptorProto name */ + name?: (string|null); + + /** EnumValueDescriptorProto number */ + number?: (number|null); + + /** EnumValueDescriptorProto options */ + options?: (google.protobuf.IEnumValueOptions|null); + } + + /** Represents an EnumValueDescriptorProto. */ + class EnumValueDescriptorProto implements IEnumValueDescriptorProto { + + /** + * Constructs a new EnumValueDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueDescriptorProto); + + /** EnumValueDescriptorProto name. */ + public name: string; + + /** EnumValueDescriptorProto number. */ + public number: number; + + /** EnumValueDescriptorProto options. */ + public options?: (google.protobuf.IEnumValueOptions|null); + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; + + /** + * Verifies an EnumValueDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @param message EnumValueDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ServiceDescriptorProto. */ + interface IServiceDescriptorProto { + + /** ServiceDescriptorProto name */ + name?: (string|null); + + /** ServiceDescriptorProto method */ + method?: (google.protobuf.IMethodDescriptorProto[]|null); + + /** ServiceDescriptorProto options */ + options?: (google.protobuf.IServiceOptions|null); + } + + /** Represents a ServiceDescriptorProto. */ + class ServiceDescriptorProto implements IServiceDescriptorProto { + + /** + * Constructs a new ServiceDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceDescriptorProto); + + /** ServiceDescriptorProto name. */ + public name: string; + + /** ServiceDescriptorProto method. */ + public method: google.protobuf.IMethodDescriptorProto[]; + + /** ServiceDescriptorProto options. */ + public options?: (google.protobuf.IServiceOptions|null); + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceDescriptorProto instance + */ + public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; + + /** + * Verifies a ServiceDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @param message ServiceDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a MethodDescriptorProto. */ + interface IMethodDescriptorProto { + + /** MethodDescriptorProto name */ + name?: (string|null); + + /** MethodDescriptorProto inputType */ + inputType?: (string|null); + + /** MethodDescriptorProto outputType */ + outputType?: (string|null); + + /** MethodDescriptorProto options */ + options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming */ + clientStreaming?: (boolean|null); + + /** MethodDescriptorProto serverStreaming */ + serverStreaming?: (boolean|null); + } + + /** Represents a MethodDescriptorProto. */ + class MethodDescriptorProto implements IMethodDescriptorProto { + + /** + * Constructs a new MethodDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodDescriptorProto); + + /** MethodDescriptorProto name. */ + public name: string; + + /** MethodDescriptorProto inputType. */ + public inputType: string; + + /** MethodDescriptorProto outputType. */ + public outputType: string; + + /** MethodDescriptorProto options. */ + public options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming. */ + public clientStreaming: boolean; + + /** MethodDescriptorProto serverStreaming. */ + public serverStreaming: boolean; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodDescriptorProto instance + */ + public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; + + /** + * Verifies a MethodDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @param message MethodDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FileOptions. */ + interface IFileOptions { + + /** FileOptions javaPackage */ + javaPackage?: (string|null); + + /** FileOptions javaOuterClassname */ + javaOuterClassname?: (string|null); + + /** FileOptions javaMultipleFiles */ + javaMultipleFiles?: (boolean|null); + + /** FileOptions javaGenerateEqualsAndHash */ + javaGenerateEqualsAndHash?: (boolean|null); + + /** FileOptions javaStringCheckUtf8 */ + javaStringCheckUtf8?: (boolean|null); + + /** FileOptions optimizeFor */ + optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|null); + + /** FileOptions goPackage */ + goPackage?: (string|null); + + /** FileOptions ccGenericServices */ + ccGenericServices?: (boolean|null); + + /** FileOptions javaGenericServices */ + javaGenericServices?: (boolean|null); + + /** FileOptions pyGenericServices */ + pyGenericServices?: (boolean|null); + + /** FileOptions phpGenericServices */ + phpGenericServices?: (boolean|null); + + /** FileOptions deprecated */ + deprecated?: (boolean|null); + + /** FileOptions ccEnableArenas */ + ccEnableArenas?: (boolean|null); + + /** FileOptions objcClassPrefix */ + objcClassPrefix?: (string|null); + + /** FileOptions csharpNamespace */ + csharpNamespace?: (string|null); + + /** FileOptions swiftPrefix */ + swiftPrefix?: (string|null); + + /** FileOptions phpClassPrefix */ + phpClassPrefix?: (string|null); + + /** FileOptions phpNamespace */ + phpNamespace?: (string|null); + + /** FileOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FileOptions .gogoproto.goprotoGettersAll */ + ".gogoproto.goprotoGettersAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoEnumPrefixAll */ + ".gogoproto.goprotoEnumPrefixAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoStringerAll */ + ".gogoproto.goprotoStringerAll"?: (boolean|null); + + /** FileOptions .gogoproto.verboseEqualAll */ + ".gogoproto.verboseEqualAll"?: (boolean|null); + + /** FileOptions .gogoproto.faceAll */ + ".gogoproto.faceAll"?: (boolean|null); + + /** FileOptions .gogoproto.gostringAll */ + ".gogoproto.gostringAll"?: (boolean|null); + + /** FileOptions .gogoproto.populateAll */ + ".gogoproto.populateAll"?: (boolean|null); + + /** FileOptions .gogoproto.stringerAll */ + ".gogoproto.stringerAll"?: (boolean|null); + + /** FileOptions .gogoproto.onlyoneAll */ + ".gogoproto.onlyoneAll"?: (boolean|null); + + /** FileOptions .gogoproto.equalAll */ + ".gogoproto.equalAll"?: (boolean|null); + + /** FileOptions .gogoproto.descriptionAll */ + ".gogoproto.descriptionAll"?: (boolean|null); + + /** FileOptions .gogoproto.testgenAll */ + ".gogoproto.testgenAll"?: (boolean|null); + + /** FileOptions .gogoproto.benchgenAll */ + ".gogoproto.benchgenAll"?: (boolean|null); + + /** FileOptions .gogoproto.marshalerAll */ + ".gogoproto.marshalerAll"?: (boolean|null); + + /** FileOptions .gogoproto.unmarshalerAll */ + ".gogoproto.unmarshalerAll"?: (boolean|null); + + /** FileOptions .gogoproto.stableMarshalerAll */ + ".gogoproto.stableMarshalerAll"?: (boolean|null); + + /** FileOptions .gogoproto.sizerAll */ + ".gogoproto.sizerAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoEnumStringerAll */ + ".gogoproto.goprotoEnumStringerAll"?: (boolean|null); + + /** FileOptions .gogoproto.enumStringerAll */ + ".gogoproto.enumStringerAll"?: (boolean|null); + + /** FileOptions .gogoproto.unsafeMarshalerAll */ + ".gogoproto.unsafeMarshalerAll"?: (boolean|null); + + /** FileOptions .gogoproto.unsafeUnmarshalerAll */ + ".gogoproto.unsafeUnmarshalerAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoExtensionsMapAll */ + ".gogoproto.goprotoExtensionsMapAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoUnrecognizedAll */ + ".gogoproto.goprotoUnrecognizedAll"?: (boolean|null); + + /** FileOptions .gogoproto.gogoprotoImport */ + ".gogoproto.gogoprotoImport"?: (boolean|null); + + /** FileOptions .gogoproto.protosizerAll */ + ".gogoproto.protosizerAll"?: (boolean|null); + + /** FileOptions .gogoproto.compareAll */ + ".gogoproto.compareAll"?: (boolean|null); + + /** FileOptions .gogoproto.typedeclAll */ + ".gogoproto.typedeclAll"?: (boolean|null); + + /** FileOptions .gogoproto.enumdeclAll */ + ".gogoproto.enumdeclAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoRegistration */ + ".gogoproto.goprotoRegistration"?: (boolean|null); + + /** FileOptions .gogoproto.messagenameAll */ + ".gogoproto.messagenameAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoSizecacheAll */ + ".gogoproto.goprotoSizecacheAll"?: (boolean|null); + + /** FileOptions .gogoproto.goprotoUnkeyedAll */ + ".gogoproto.goprotoUnkeyedAll"?: (boolean|null); + } + + /** Represents a FileOptions. */ + class FileOptions implements IFileOptions { + + /** + * Constructs a new FileOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileOptions); + + /** FileOptions javaPackage. */ + public javaPackage: string; + + /** FileOptions javaOuterClassname. */ + public javaOuterClassname: string; + + /** FileOptions javaMultipleFiles. */ + public javaMultipleFiles: boolean; + + /** FileOptions javaGenerateEqualsAndHash. */ + public javaGenerateEqualsAndHash: boolean; + + /** FileOptions javaStringCheckUtf8. */ + public javaStringCheckUtf8: boolean; + + /** FileOptions optimizeFor. */ + public optimizeFor: google.protobuf.FileOptions.OptimizeMode; + + /** FileOptions goPackage. */ + public goPackage: string; + + /** FileOptions ccGenericServices. */ + public ccGenericServices: boolean; + + /** FileOptions javaGenericServices. */ + public javaGenericServices: boolean; + + /** FileOptions pyGenericServices. */ + public pyGenericServices: boolean; + + /** FileOptions phpGenericServices. */ + public phpGenericServices: boolean; + + /** FileOptions deprecated. */ + public deprecated: boolean; + + /** FileOptions ccEnableArenas. */ + public ccEnableArenas: boolean; + + /** FileOptions objcClassPrefix. */ + public objcClassPrefix: string; + + /** FileOptions csharpNamespace. */ + public csharpNamespace: string; + + /** FileOptions swiftPrefix. */ + public swiftPrefix: string; + + /** FileOptions phpClassPrefix. */ + public phpClassPrefix: string; + + /** FileOptions phpNamespace. */ + public phpNamespace: string; - /** EnumValueOptions uninterpretedOption. */ + /** FileOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; /** - * Creates a new EnumValueOptions instance using the specified properties. + * Creates a new FileOptions instance using the specified properties. * @param [properties] Properties to set - * @returns EnumValueOptions instance + * @returns FileOptions instance */ - public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; + public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; /** - * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @param message EnumValueOptions message or plain object to encode + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @param message EnumValueOptions message or plain object to encode + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an EnumValueOptions message from the specified reader or buffer. + * Decodes a FileOptions message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns EnumValueOptions + * @returns FileOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; /** - * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * Decodes a FileOptions message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns EnumValueOptions + * @returns FileOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; /** - * Verifies an EnumValueOptions message. + * Verifies a FileOptions message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns EnumValueOptions + * @returns FileOptions */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; + public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; /** - * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. - * @param message EnumValueOptions + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @param message FileOptions * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this EnumValueOptions to JSON. + * Converts this FileOptions to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a ServiceOptions. */ - interface IServiceOptions { + namespace FileOptions { - /** ServiceOptions deprecated */ + /** OptimizeMode enum. */ + enum OptimizeMode { + SPEED = 1, + CODE_SIZE = 2, + LITE_RUNTIME = 3 + } + } + + /** Properties of a MessageOptions. */ + interface IMessageOptions { + + /** MessageOptions messageSetWireFormat */ + messageSetWireFormat?: (boolean|null); + + /** MessageOptions noStandardDescriptorAccessor */ + noStandardDescriptorAccessor?: (boolean|null); + + /** MessageOptions deprecated */ deprecated?: (boolean|null); - /** ServiceOptions uninterpretedOption */ + /** MessageOptions mapEntry */ + mapEntry?: (boolean|null); + + /** MessageOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - } - /** Represents a ServiceOptions. */ - class ServiceOptions implements IServiceOptions { + /** MessageOptions .gogoproto.goprotoGetters */ + ".gogoproto.goprotoGetters"?: (boolean|null); - /** - * Constructs a new ServiceOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IServiceOptions); + /** MessageOptions .gogoproto.goprotoStringer */ + ".gogoproto.goprotoStringer"?: (boolean|null); - /** ServiceOptions deprecated. */ - public deprecated: boolean; + /** MessageOptions .gogoproto.verboseEqual */ + ".gogoproto.verboseEqual"?: (boolean|null); - /** ServiceOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + /** MessageOptions .gogoproto.face */ + ".gogoproto.face"?: (boolean|null); - /** - * Creates a new ServiceOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns ServiceOptions instance - */ - public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; + /** MessageOptions .gogoproto.gostring */ + ".gogoproto.gostring"?: (boolean|null); - /** - * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @param message ServiceOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + /** MessageOptions .gogoproto.populate */ + ".gogoproto.populate"?: (boolean|null); - /** - * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @param message ServiceOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + /** MessageOptions .gogoproto.stringer */ + ".gogoproto.stringer"?: (boolean|null); - /** - * Decodes a ServiceOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ServiceOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; + /** MessageOptions .gogoproto.onlyone */ + ".gogoproto.onlyone"?: (boolean|null); - /** - * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ServiceOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; + /** MessageOptions .gogoproto.equal */ + ".gogoproto.equal"?: (boolean|null); - /** - * Verifies a ServiceOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** MessageOptions .gogoproto.description */ + ".gogoproto.description"?: (boolean|null); - /** - * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ServiceOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; + /** MessageOptions .gogoproto.testgen */ + ".gogoproto.testgen"?: (boolean|null); - /** - * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. - * @param message ServiceOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** MessageOptions .gogoproto.benchgen */ + ".gogoproto.benchgen"?: (boolean|null); - /** - * Converts this ServiceOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** MessageOptions .gogoproto.marshaler */ + ".gogoproto.marshaler"?: (boolean|null); - /** Properties of a MethodOptions. */ - interface IMethodOptions { + /** MessageOptions .gogoproto.unmarshaler */ + ".gogoproto.unmarshaler"?: (boolean|null); - /** MethodOptions deprecated */ - deprecated?: (boolean|null); + /** MessageOptions .gogoproto.stableMarshaler */ + ".gogoproto.stableMarshaler"?: (boolean|null); - /** MethodOptions idempotencyLevel */ - idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|null); + /** MessageOptions .gogoproto.sizer */ + ".gogoproto.sizer"?: (boolean|null); - /** MethodOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + /** MessageOptions .gogoproto.unsafeMarshaler */ + ".gogoproto.unsafeMarshaler"?: (boolean|null); + + /** MessageOptions .gogoproto.unsafeUnmarshaler */ + ".gogoproto.unsafeUnmarshaler"?: (boolean|null); + + /** MessageOptions .gogoproto.goprotoExtensionsMap */ + ".gogoproto.goprotoExtensionsMap"?: (boolean|null); + + /** MessageOptions .gogoproto.goprotoUnrecognized */ + ".gogoproto.goprotoUnrecognized"?: (boolean|null); + + /** MessageOptions .gogoproto.protosizer */ + ".gogoproto.protosizer"?: (boolean|null); + + /** MessageOptions .gogoproto.compare */ + ".gogoproto.compare"?: (boolean|null); + + /** MessageOptions .gogoproto.typedecl */ + ".gogoproto.typedecl"?: (boolean|null); + + /** MessageOptions .gogoproto.messagename */ + ".gogoproto.messagename"?: (boolean|null); + + /** MessageOptions .gogoproto.goprotoSizecache */ + ".gogoproto.goprotoSizecache"?: (boolean|null); + + /** MessageOptions .gogoproto.goprotoUnkeyed */ + ".gogoproto.goprotoUnkeyed"?: (boolean|null); } - /** Represents a MethodOptions. */ - class MethodOptions implements IMethodOptions { + /** Represents a MessageOptions. */ + class MessageOptions implements IMessageOptions { /** - * Constructs a new MethodOptions. + * Constructs a new MessageOptions. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IMethodOptions); + constructor(properties?: google.protobuf.IMessageOptions); - /** MethodOptions deprecated. */ + /** MessageOptions messageSetWireFormat. */ + public messageSetWireFormat: boolean; + + /** MessageOptions noStandardDescriptorAccessor. */ + public noStandardDescriptorAccessor: boolean; + + /** MessageOptions deprecated. */ public deprecated: boolean; - /** MethodOptions idempotencyLevel. */ - public idempotencyLevel: google.protobuf.MethodOptions.IdempotencyLevel; + /** MessageOptions mapEntry. */ + public mapEntry: boolean; - /** MethodOptions uninterpretedOption. */ + /** MessageOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; /** - * Creates a new MethodOptions instance using the specified properties. + * Creates a new MessageOptions instance using the specified properties. * @param [properties] Properties to set - * @returns MethodOptions instance + * @returns MessageOptions instance */ - public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; + public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; /** - * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @param message MethodOptions message or plain object to encode + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @param message MethodOptions message or plain object to encode + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a MethodOptions message from the specified reader or buffer. + * Decodes a MessageOptions message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns MethodOptions + * @returns MessageOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; /** - * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns MethodOptions + * @returns MessageOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; /** - * Verifies a MethodOptions message. + * Verifies a MessageOptions message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns MethodOptions + * @returns MessageOptions */ - public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; + public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; /** - * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. - * @param message MethodOptions + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @param message MessageOptions * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this MethodOptions to JSON. + * Converts this MessageOptions to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace MethodOptions { + /** Properties of a FieldOptions. */ + interface IFieldOptions { - /** IdempotencyLevel enum. */ - enum IdempotencyLevel { - IDEMPOTENCY_UNKNOWN = 0, - NO_SIDE_EFFECTS = 1, - IDEMPOTENT = 2 - } - } + /** FieldOptions ctype */ + ctype?: (google.protobuf.FieldOptions.CType|null); - /** Properties of an UninterpretedOption. */ - interface IUninterpretedOption { + /** FieldOptions packed */ + packed?: (boolean|null); - /** UninterpretedOption name */ - name?: (google.protobuf.UninterpretedOption.INamePart[]|null); + /** FieldOptions jstype */ + jstype?: (google.protobuf.FieldOptions.JSType|null); - /** UninterpretedOption identifierValue */ - identifierValue?: (string|null); + /** FieldOptions lazy */ + lazy?: (boolean|null); - /** UninterpretedOption positiveIntValue */ - positiveIntValue?: (number|Long|null); + /** FieldOptions deprecated */ + deprecated?: (boolean|null); - /** UninterpretedOption negativeIntValue */ - negativeIntValue?: (number|Long|null); + /** FieldOptions weak */ + weak?: (boolean|null); - /** UninterpretedOption doubleValue */ - doubleValue?: (number|null); + /** FieldOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - /** UninterpretedOption stringValue */ - stringValue?: (Uint8Array|null); + /** FieldOptions .gogoproto.nullable */ + ".gogoproto.nullable"?: (boolean|null); - /** UninterpretedOption aggregateValue */ - aggregateValue?: (string|null); + /** FieldOptions .gogoproto.embed */ + ".gogoproto.embed"?: (boolean|null); + + /** FieldOptions .gogoproto.customtype */ + ".gogoproto.customtype"?: (string|null); + + /** FieldOptions .gogoproto.customname */ + ".gogoproto.customname"?: (string|null); + + /** FieldOptions .gogoproto.jsontag */ + ".gogoproto.jsontag"?: (string|null); + + /** FieldOptions .gogoproto.moretags */ + ".gogoproto.moretags"?: (string|null); + + /** FieldOptions .gogoproto.casttype */ + ".gogoproto.casttype"?: (string|null); + + /** FieldOptions .gogoproto.castkey */ + ".gogoproto.castkey"?: (string|null); + + /** FieldOptions .gogoproto.castvalue */ + ".gogoproto.castvalue"?: (string|null); + + /** FieldOptions .gogoproto.stdtime */ + ".gogoproto.stdtime"?: (boolean|null); + + /** FieldOptions .gogoproto.stdduration */ + ".gogoproto.stdduration"?: (boolean|null); + + /** FieldOptions .gogoproto.wktpointer */ + ".gogoproto.wktpointer"?: (boolean|null); + + /** FieldOptions .gogoproto.castrepeated */ + ".gogoproto.castrepeated"?: (string|null); } - /** Represents an UninterpretedOption. */ - class UninterpretedOption implements IUninterpretedOption { + /** Represents a FieldOptions. */ + class FieldOptions implements IFieldOptions { /** - * Constructs a new UninterpretedOption. + * Constructs a new FieldOptions. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IUninterpretedOption); + constructor(properties?: google.protobuf.IFieldOptions); - /** UninterpretedOption name. */ - public name: google.protobuf.UninterpretedOption.INamePart[]; + /** FieldOptions ctype. */ + public ctype: google.protobuf.FieldOptions.CType; - /** UninterpretedOption identifierValue. */ - public identifierValue: string; + /** FieldOptions packed. */ + public packed: boolean; - /** UninterpretedOption positiveIntValue. */ - public positiveIntValue: (number|Long); + /** FieldOptions jstype. */ + public jstype: google.protobuf.FieldOptions.JSType; - /** UninterpretedOption negativeIntValue. */ - public negativeIntValue: (number|Long); + /** FieldOptions lazy. */ + public lazy: boolean; - /** UninterpretedOption doubleValue. */ - public doubleValue: number; + /** FieldOptions deprecated. */ + public deprecated: boolean; - /** UninterpretedOption stringValue. */ - public stringValue: Uint8Array; + /** FieldOptions weak. */ + public weak: boolean; - /** UninterpretedOption aggregateValue. */ - public aggregateValue: string; + /** FieldOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; /** - * Creates a new UninterpretedOption instance using the specified properties. + * Creates a new FieldOptions instance using the specified properties. * @param [properties] Properties to set - * @returns UninterpretedOption instance + * @returns FieldOptions instance */ - public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; + public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; /** - * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @param message UninterpretedOption message or plain object to encode + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @param message UninterpretedOption message or plain object to encode + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an UninterpretedOption message from the specified reader or buffer. + * Decodes a FieldOptions message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns UninterpretedOption + * @returns FieldOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; /** - * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns UninterpretedOption + * @returns FieldOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; /** - * Verifies an UninterpretedOption message. + * Verifies a FieldOptions message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns UninterpretedOption - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; - - /** - * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. - * @param message UninterpretedOption - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UninterpretedOption to JSON. - * @returns JSON object + * @returns FieldOptions */ - public toJSON(): { [k: string]: any }; - } - - namespace UninterpretedOption { - - /** Properties of a NamePart. */ - interface INamePart { - - /** NamePart namePart */ - namePart: string; - - /** NamePart isExtension */ - isExtension: boolean; - } - - /** Represents a NamePart. */ - class NamePart implements INamePart { - - /** - * Constructs a new NamePart. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.UninterpretedOption.INamePart); - - /** NamePart namePart. */ - public namePart: string; - - /** NamePart isExtension. */ - public isExtension: boolean; - - /** - * Creates a new NamePart instance using the specified properties. - * @param [properties] Properties to set - * @returns NamePart instance - */ - public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; - - /** - * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @param message NamePart message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @param message NamePart message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NamePart message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; - /** - * Decodes a NamePart message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @param message FieldOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** - * Verifies a NamePart message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** + * Converts this FieldOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** - * Creates a NamePart message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NamePart - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; + namespace FieldOptions { - /** - * Creates a plain object from a NamePart message. Also converts values to other types if specified. - * @param message NamePart - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** CType enum. */ + enum CType { + STRING = 0, + CORD = 1, + STRING_PIECE = 2 + } - /** - * Converts this NamePart to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; + /** JSType enum. */ + enum JSType { + JS_NORMAL = 0, + JS_STRING = 1, + JS_NUMBER = 2 } } - /** Properties of a SourceCodeInfo. */ - interface ISourceCodeInfo { + /** Properties of an OneofOptions. */ + interface IOneofOptions { - /** SourceCodeInfo location */ - location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); + /** OneofOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); } - /** Represents a SourceCodeInfo. */ - class SourceCodeInfo implements ISourceCodeInfo { + /** Represents an OneofOptions. */ + class OneofOptions implements IOneofOptions { /** - * Constructs a new SourceCodeInfo. + * Constructs a new OneofOptions. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.ISourceCodeInfo); + constructor(properties?: google.protobuf.IOneofOptions); - /** SourceCodeInfo location. */ - public location: google.protobuf.SourceCodeInfo.ILocation[]; + /** OneofOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; /** - * Creates a new SourceCodeInfo instance using the specified properties. + * Creates a new OneofOptions instance using the specified properties. * @param [properties] Properties to set - * @returns SourceCodeInfo instance + * @returns OneofOptions instance */ - public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; + public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; /** - * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @param message SourceCodeInfo message or plain object to encode + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @param message SourceCodeInfo message or plain object to encode + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a SourceCodeInfo message from the specified reader or buffer. + * Decodes an OneofOptions message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns SourceCodeInfo + * @returns OneofOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; /** - * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns SourceCodeInfo + * @returns OneofOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; /** - * Verifies a SourceCodeInfo message. + * Verifies an OneofOptions message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns SourceCodeInfo + * @returns OneofOptions */ - public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; /** - * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. - * @param message SourceCodeInfo + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @param message OneofOptions * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this SourceCodeInfo to JSON. + * Converts this OneofOptions to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace SourceCodeInfo { + /** Properties of an EnumOptions. */ + interface IEnumOptions { - /** Properties of a Location. */ - interface ILocation { + /** EnumOptions allowAlias */ + allowAlias?: (boolean|null); - /** Location path */ - path?: (number[]|null); + /** EnumOptions deprecated */ + deprecated?: (boolean|null); - /** Location span */ - span?: (number[]|null); + /** EnumOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - /** Location leadingComments */ - leadingComments?: (string|null); + /** EnumOptions .gogoproto.goprotoEnumPrefix */ + ".gogoproto.goprotoEnumPrefix"?: (boolean|null); - /** Location trailingComments */ - trailingComments?: (string|null); + /** EnumOptions .gogoproto.goprotoEnumStringer */ + ".gogoproto.goprotoEnumStringer"?: (boolean|null); - /** Location leadingDetachedComments */ - leadingDetachedComments?: (string[]|null); - } + /** EnumOptions .gogoproto.enumStringer */ + ".gogoproto.enumStringer"?: (boolean|null); - /** Represents a Location. */ - class Location implements ILocation { + /** EnumOptions .gogoproto.enumCustomname */ + ".gogoproto.enumCustomname"?: (string|null); - /** - * Constructs a new Location. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); + /** EnumOptions .gogoproto.enumdecl */ + ".gogoproto.enumdecl"?: (boolean|null); + } - /** Location path. */ - public path: number[]; + /** Represents an EnumOptions. */ + class EnumOptions implements IEnumOptions { - /** Location span. */ - public span: number[]; + /** + * Constructs a new EnumOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumOptions); - /** Location leadingComments. */ - public leadingComments: string; + /** EnumOptions allowAlias. */ + public allowAlias: boolean; - /** Location trailingComments. */ - public trailingComments: string; + /** EnumOptions deprecated. */ + public deprecated: boolean; - /** Location leadingDetachedComments. */ - public leadingDetachedComments: string[]; + /** EnumOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - /** - * Creates a new Location instance using the specified properties. - * @param [properties] Properties to set - * @returns Location instance - */ - public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; + /** + * Creates a new EnumOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumOptions instance + */ + public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; - /** - * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @param message Location message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @param message Location message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Decodes a Location message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; - /** - * Decodes a Location message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; - /** - * Verifies a Location message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** + * Verifies an EnumOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** - * Creates a Location message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Location - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; - /** - * Creates a plain object from a Location message. Also converts values to other types if specified. - * @param message Location - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @param message EnumOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** - * Converts this Location to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Converts this EnumOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; } - /** Properties of a GeneratedCodeInfo. */ - interface IGeneratedCodeInfo { + /** Properties of an EnumValueOptions. */ + interface IEnumValueOptions { - /** GeneratedCodeInfo annotation */ - annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); + /** EnumValueOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumValueOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** EnumValueOptions .gogoproto.enumvalueCustomname */ + ".gogoproto.enumvalueCustomname"?: (string|null); } - /** Represents a GeneratedCodeInfo. */ - class GeneratedCodeInfo implements IGeneratedCodeInfo { + /** Represents an EnumValueOptions. */ + class EnumValueOptions implements IEnumValueOptions { /** - * Constructs a new GeneratedCodeInfo. + * Constructs a new EnumValueOptions. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IGeneratedCodeInfo); + constructor(properties?: google.protobuf.IEnumValueOptions); - /** GeneratedCodeInfo annotation. */ - public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; + /** EnumValueOptions deprecated. */ + public deprecated: boolean; + + /** EnumValueOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; /** - * Creates a new GeneratedCodeInfo instance using the specified properties. + * Creates a new EnumValueOptions instance using the specified properties. * @param [properties] Properties to set - * @returns GeneratedCodeInfo instance + * @returns EnumValueOptions instance */ - public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; + public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; /** - * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @param message GeneratedCodeInfo message or plain object to encode + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @param message GeneratedCodeInfo message or plain object to encode + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * Decodes an EnumValueOptions message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns GeneratedCodeInfo + * @returns EnumValueOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns GeneratedCodeInfo + * @returns EnumValueOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; /** - * Verifies a GeneratedCodeInfo message. + * Verifies an EnumValueOptions message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns GeneratedCodeInfo + * @returns EnumValueOptions */ - public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; /** - * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. - * @param message GeneratedCodeInfo + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @param message EnumValueOptions * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this GeneratedCodeInfo to JSON. + * Converts this EnumValueOptions to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace GeneratedCodeInfo { - - /** Properties of an Annotation. */ - interface IAnnotation { - - /** Annotation path */ - path?: (number[]|null); - - /** Annotation sourceFile */ - sourceFile?: (string|null); - - /** Annotation begin */ - begin?: (number|null); - - /** Annotation end */ - end?: (number|null); - } - - /** Represents an Annotation. */ - class Annotation implements IAnnotation { + /** Properties of a ServiceOptions. */ + interface IServiceOptions { - /** - * Constructs a new Annotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); + /** ServiceOptions deprecated */ + deprecated?: (boolean|null); - /** Annotation path. */ - public path: number[]; + /** ServiceOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } - /** Annotation sourceFile. */ - public sourceFile: string; + /** Represents a ServiceOptions. */ + class ServiceOptions implements IServiceOptions { - /** Annotation begin. */ - public begin: number; + /** + * Constructs a new ServiceOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceOptions); - /** Annotation end. */ - public end: number; + /** ServiceOptions deprecated. */ + public deprecated: boolean; - /** - * Creates a new Annotation instance using the specified properties. - * @param [properties] Properties to set - * @returns Annotation instance - */ - public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; + /** ServiceOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - /** - * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @param message Annotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Creates a new ServiceOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceOptions instance + */ + public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; - /** - * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @param message Annotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Decodes an Annotation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Decodes an Annotation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; - /** - * Verifies an Annotation message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; - /** - * Creates an Annotation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Annotation - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; + /** + * Verifies a ServiceOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** - * Creates a plain object from an Annotation message. Also converts values to other types if specified. - * @param message Annotation - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; - /** - * Converts this Annotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @param message ServiceOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; } - /** Properties of a Duration. */ - interface IDuration { + /** Properties of a MethodOptions. */ + interface IMethodOptions { - /** Duration seconds */ - seconds?: (number|Long|null); + /** MethodOptions deprecated */ + deprecated?: (boolean|null); - /** Duration nanos */ - nanos?: (number|null); + /** MethodOptions idempotencyLevel */ + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|null); + + /** MethodOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); } - /** Represents a Duration. */ - class Duration implements IDuration { + /** Represents a MethodOptions. */ + class MethodOptions implements IMethodOptions { /** - * Constructs a new Duration. + * Constructs a new MethodOptions. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.IDuration); + constructor(properties?: google.protobuf.IMethodOptions); - /** Duration seconds. */ - public seconds: (number|Long); + /** MethodOptions deprecated. */ + public deprecated: boolean; - /** Duration nanos. */ - public nanos: number; + /** MethodOptions idempotencyLevel. */ + public idempotencyLevel: google.protobuf.MethodOptions.IdempotencyLevel; + + /** MethodOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; /** - * Creates a new Duration instance using the specified properties. + * Creates a new MethodOptions instance using the specified properties. * @param [properties] Properties to set - * @returns Duration instance + * @returns MethodOptions instance */ - public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; /** - * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @param message Duration message or plain object to encode + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @param message Duration message or plain object to encode + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Duration message from the specified reader or buffer. + * Decodes a MethodOptions message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Duration + * @returns MethodOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; /** - * Decodes a Duration message from the specified reader or buffer, length delimited. + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Duration + * @returns MethodOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; /** - * Verifies a Duration message. + * Verifies a MethodOptions message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Duration + * @returns MethodOptions */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; /** - * Creates a plain object from a Duration message. Also converts values to other types if specified. - * @param message Duration + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @param message MethodOptions * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Duration to JSON. + * Converts this MethodOptions to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a Timestamp. */ - interface ITimestamp { + namespace MethodOptions { - /** Timestamp seconds */ - seconds?: (number|Long|null); + /** IdempotencyLevel enum. */ + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + NO_SIDE_EFFECTS = 1, + IDEMPOTENT = 2 + } + } - /** Timestamp nanos */ - nanos?: (number|null); + /** Properties of an UninterpretedOption. */ + interface IUninterpretedOption { + + /** UninterpretedOption name */ + name?: (google.protobuf.UninterpretedOption.INamePart[]|null); + + /** UninterpretedOption identifierValue */ + identifierValue?: (string|null); + + /** UninterpretedOption positiveIntValue */ + positiveIntValue?: (number|Long|null); + + /** UninterpretedOption negativeIntValue */ + negativeIntValue?: (number|Long|null); + + /** UninterpretedOption doubleValue */ + doubleValue?: (number|null); + + /** UninterpretedOption stringValue */ + stringValue?: (Uint8Array|null); + + /** UninterpretedOption aggregateValue */ + aggregateValue?: (string|null); } - /** Represents a Timestamp. */ - class Timestamp implements ITimestamp { + /** Represents an UninterpretedOption. */ + class UninterpretedOption implements IUninterpretedOption { /** - * Constructs a new Timestamp. + * Constructs a new UninterpretedOption. * @param [properties] Properties to set */ - constructor(properties?: google.protobuf.ITimestamp); + constructor(properties?: google.protobuf.IUninterpretedOption); - /** Timestamp seconds. */ - public seconds: (number|Long); + /** UninterpretedOption name. */ + public name: google.protobuf.UninterpretedOption.INamePart[]; - /** Timestamp nanos. */ - public nanos: number; + /** UninterpretedOption identifierValue. */ + public identifierValue: string; + + /** UninterpretedOption positiveIntValue. */ + public positiveIntValue: (number|Long); + + /** UninterpretedOption negativeIntValue. */ + public negativeIntValue: (number|Long); + + /** UninterpretedOption doubleValue. */ + public doubleValue: number; + + /** UninterpretedOption stringValue. */ + public stringValue: Uint8Array; + + /** UninterpretedOption aggregateValue. */ + public aggregateValue: string; /** - * Creates a new Timestamp instance using the specified properties. + * Creates a new UninterpretedOption instance using the specified properties. * @param [properties] Properties to set - * @returns Timestamp instance + * @returns UninterpretedOption instance */ - public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; + public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Timestamp message from the specified reader or buffer. + * Decodes an UninterpretedOption message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Timestamp + * @returns UninterpretedOption * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Timestamp + * @returns UninterpretedOption * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; /** - * Verifies a Timestamp message. + * Verifies an UninterpretedOption message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Timestamp + * @returns UninterpretedOption */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @param message Timestamp + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @param message UninterpretedOption * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Timestamp to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - } -} - -/** Namespace tendermint. */ -export namespace tendermint { - - /** Namespace crypto. */ - namespace crypto { - - /** Namespace merkle. */ - namespace merkle { + * Converts this UninterpretedOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** Properties of a ProofOp. */ - interface IProofOp { + namespace UninterpretedOption { - /** ProofOp type */ - type?: (string|null); + /** Properties of a NamePart. */ + interface INamePart { - /** ProofOp key */ - key?: (Uint8Array|null); + /** NamePart namePart */ + namePart: string; - /** ProofOp data */ - data?: (Uint8Array|null); + /** NamePart isExtension */ + isExtension: boolean; } - /** Represents a ProofOp. */ - class ProofOp implements IProofOp { + /** Represents a NamePart. */ + class NamePart implements INamePart { /** - * Constructs a new ProofOp. + * Constructs a new NamePart. * @param [properties] Properties to set */ - constructor(properties?: tendermint.crypto.merkle.IProofOp); - - /** ProofOp type. */ - public type: string; + constructor(properties?: google.protobuf.UninterpretedOption.INamePart); - /** ProofOp key. */ - public key: Uint8Array; + /** NamePart namePart. */ + public namePart: string; - /** ProofOp data. */ - public data: Uint8Array; + /** NamePart isExtension. */ + public isExtension: boolean; /** - * Creates a new ProofOp instance using the specified properties. + * Creates a new NamePart instance using the specified properties. * @param [properties] Properties to set - * @returns ProofOp instance + * @returns NamePart instance */ - public static create(properties?: tendermint.crypto.merkle.IProofOp): tendermint.crypto.merkle.ProofOp; + public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; /** - * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. - * @param message ProofOp message or plain object to encode + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: tendermint.crypto.merkle.IProofOp, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. - * @param message ProofOp message or plain object to encode + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: tendermint.crypto.merkle.IProofOp, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a ProofOp message from the specified reader or buffer. + * Decodes a NamePart message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ProofOp + * @returns NamePart * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.merkle.ProofOp; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; /** - * Decodes a ProofOp message from the specified reader or buffer, length delimited. + * Decodes a NamePart message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ProofOp + * @returns NamePart * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.merkle.ProofOp; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; /** - * Verifies a ProofOp message. + * Verifies a NamePart message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ProofOp + * @returns NamePart */ - public static fromObject(object: { [k: string]: any }): tendermint.crypto.merkle.ProofOp; + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; /** - * Creates a plain object from a ProofOp message. Also converts values to other types if specified. - * @param message ProofOp + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @param message NamePart * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: tendermint.crypto.merkle.ProofOp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ProofOp to JSON. + * Converts this NamePart to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } + } - /** Properties of a Proof. */ - interface IProof { + /** Properties of a SourceCodeInfo. */ + interface ISourceCodeInfo { - /** Proof ops */ - ops?: (tendermint.crypto.merkle.IProofOp[]|null); - } + /** SourceCodeInfo location */ + location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); + } - /** Represents a Proof. */ - class Proof implements IProof { + /** Represents a SourceCodeInfo. */ + class SourceCodeInfo implements ISourceCodeInfo { - /** - * Constructs a new Proof. - * @param [properties] Properties to set - */ - constructor(properties?: tendermint.crypto.merkle.IProof); + /** + * Constructs a new SourceCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ISourceCodeInfo); - /** Proof ops. */ - public ops: tendermint.crypto.merkle.IProofOp[]; + /** SourceCodeInfo location. */ + public location: google.protobuf.SourceCodeInfo.ILocation[]; - /** - * Creates a new Proof instance using the specified properties. - * @param [properties] Properties to set - * @returns Proof instance - */ - public static create(properties?: tendermint.crypto.merkle.IProof): tendermint.crypto.merkle.Proof; + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns SourceCodeInfo instance + */ + public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; - /** - * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. - * @param message Proof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: tendermint.crypto.merkle.IProof, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. - * @param message Proof message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: tendermint.crypto.merkle.IProof, writer?: $protobuf.Writer): $protobuf.Writer; + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; - /** - * Decodes a Proof message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.crypto.merkle.Proof; + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; - /** - * Decodes a Proof message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.crypto.merkle.Proof; + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; - /** - * Verifies a Proof message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); + /** + * Verifies a SourceCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); - /** - * Creates a Proof message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Proof - */ - public static fromObject(object: { [k: string]: any }): tendermint.crypto.merkle.Proof; + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SourceCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; - /** - * Creates a plain object from a Proof message. Also converts values to other types if specified. - * @param message Proof - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: tendermint.crypto.merkle.Proof, options?: $protobuf.IConversionOptions): { [k: string]: any }; + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @param message SourceCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** - * Converts this Proof to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } + /** + * Converts this SourceCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; } - } - /** Namespace libs. */ - namespace libs { + namespace SourceCodeInfo { - /** Namespace kv. */ - namespace kv { + /** Properties of a Location. */ + interface ILocation { - /** Properties of a Pair. */ - interface IPair { + /** Location path */ + path?: (number[]|null); - /** Pair key */ - key?: (Uint8Array|null); + /** Location span */ + span?: (number[]|null); + + /** Location leadingComments */ + leadingComments?: (string|null); + + /** Location trailingComments */ + trailingComments?: (string|null); - /** Pair value */ - value?: (Uint8Array|null); + /** Location leadingDetachedComments */ + leadingDetachedComments?: (string[]|null); } - /** Represents a Pair. */ - class Pair implements IPair { + /** Represents a Location. */ + class Location implements ILocation { /** - * Constructs a new Pair. + * Constructs a new Location. * @param [properties] Properties to set */ - constructor(properties?: tendermint.libs.kv.IPair); + constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); - /** Pair key. */ - public key: Uint8Array; + /** Location path. */ + public path: number[]; - /** Pair value. */ - public value: Uint8Array; + /** Location span. */ + public span: number[]; + + /** Location leadingComments. */ + public leadingComments: string; + + /** Location trailingComments. */ + public trailingComments: string; + + /** Location leadingDetachedComments. */ + public leadingDetachedComments: string[]; /** - * Creates a new Pair instance using the specified properties. + * Creates a new Location instance using the specified properties. * @param [properties] Properties to set - * @returns Pair instance + * @returns Location instance */ - public static create(properties?: tendermint.libs.kv.IPair): tendermint.libs.kv.Pair; + public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; /** - * Encodes the specified Pair message. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. - * @param message Pair message or plain object to encode + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: tendermint.libs.kv.IPair, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. - * @param message Pair message or plain object to encode + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: tendermint.libs.kv.IPair, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Pair message from the specified reader or buffer. + * Decodes a Location message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Pair + * @returns Location * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.libs.kv.Pair; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; /** - * Decodes a Pair message from the specified reader or buffer, length delimited. + * Decodes a Location message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Pair + * @returns Location * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.libs.kv.Pair; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; /** - * Verifies a Pair message. + * Verifies a Location message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Pair message from a plain object. Also converts values to their respective internal types. + * Creates a Location message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Pair + * @returns Location */ - public static fromObject(object: { [k: string]: any }): tendermint.libs.kv.Pair; + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; /** - * Creates a plain object from a Pair message. Also converts values to other types if specified. - * @param message Pair + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @param message Location * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: tendermint.libs.kv.Pair, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Pair to JSON. + * Converts this Location to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } + } - /** Properties of a KI64Pair. */ - interface IKI64Pair { + /** Properties of a GeneratedCodeInfo. */ + interface IGeneratedCodeInfo { - /** KI64Pair key */ - key?: (Uint8Array|null); + /** GeneratedCodeInfo annotation */ + annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); + } - /** KI64Pair value */ - value?: (number|Long|null); + /** Represents a GeneratedCodeInfo. */ + class GeneratedCodeInfo implements IGeneratedCodeInfo { + + /** + * Constructs a new GeneratedCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IGeneratedCodeInfo); + + /** GeneratedCodeInfo annotation. */ + public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GeneratedCodeInfo instance + */ + public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; + + /** + * Verifies a GeneratedCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GeneratedCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @param message GeneratedCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace GeneratedCodeInfo { + + /** Properties of an Annotation. */ + interface IAnnotation { + + /** Annotation path */ + path?: (number[]|null); + + /** Annotation sourceFile */ + sourceFile?: (string|null); + + /** Annotation begin */ + begin?: (number|null); + + /** Annotation end */ + end?: (number|null); } - /** Represents a KI64Pair. */ - class KI64Pair implements IKI64Pair { + /** Represents an Annotation. */ + class Annotation implements IAnnotation { /** - * Constructs a new KI64Pair. + * Constructs a new Annotation. * @param [properties] Properties to set */ - constructor(properties?: tendermint.libs.kv.IKI64Pair); + constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); - /** KI64Pair key. */ - public key: Uint8Array; + /** Annotation path. */ + public path: number[]; - /** KI64Pair value. */ - public value: (number|Long); + /** Annotation sourceFile. */ + public sourceFile: string; + + /** Annotation begin. */ + public begin: number; + + /** Annotation end. */ + public end: number; /** - * Creates a new KI64Pair instance using the specified properties. + * Creates a new Annotation instance using the specified properties. * @param [properties] Properties to set - * @returns KI64Pair instance + * @returns Annotation instance */ - public static create(properties?: tendermint.libs.kv.IKI64Pair): tendermint.libs.kv.KI64Pair; + public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; /** - * Encodes the specified KI64Pair message. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. - * @param message KI64Pair message or plain object to encode + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: tendermint.libs.kv.IKI64Pair, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified KI64Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. - * @param message KI64Pair message or plain object to encode + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: tendermint.libs.kv.IKI64Pair, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a KI64Pair message from the specified reader or buffer. + * Decodes an Annotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns KI64Pair + * @returns Annotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): tendermint.libs.kv.KI64Pair; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; /** - * Decodes a KI64Pair message from the specified reader or buffer, length delimited. + * Decodes an Annotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns KI64Pair + * @returns Annotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): tendermint.libs.kv.KI64Pair; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; /** - * Verifies a KI64Pair message. + * Verifies an Annotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a KI64Pair message from a plain object. Also converts values to their respective internal types. + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns KI64Pair + * @returns Annotation */ - public static fromObject(object: { [k: string]: any }): tendermint.libs.kv.KI64Pair; + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; /** - * Creates a plain object from a KI64Pair message. Also converts values to other types if specified. - * @param message KI64Pair + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @param message Annotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: tendermint.libs.kv.KI64Pair, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this KI64Pair to JSON. + * Converts this Annotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; diff --git a/package.json b/package.json index f31f1d6..569f14c 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "abci", - "version": "7.0.0", + "version": "7.0.1", "description": "Tendermint ABCI server", "main": "index.js", "scripts": { "test": "standard src/*.js test/*.js && nyc ava test/connection.js test/server.js test/integration.js", - "build": "pbjs -t static-module -w commonjs -o types.js proto/*.proto && pbts -o index.d.ts types.js" + "build": "pbjs -t static-module -w commonjs -o types.js proto/**/*.proto && pbts -o index.d.ts types.js" }, "keywords": [ "abci", diff --git a/proto/abci.proto b/proto/abci.proto index b59e8a2..8e3a909 100644 --- a/proto/abci.proto +++ b/proto/abci.proto @@ -1,44 +1,41 @@ syntax = "proto3"; -package abci; -option go_package = "github.com/tendermint/tendermint/abci/types"; +package tendermint.abci; + +option go_package = "github.com/tendermint/tendermint/abci/types"; // For more information on gogo.proto, see: // https://github.com/gogo/protobuf/blob/master/extensions.md -import "github.com/tendermint/tendermint/third_party/proto/gogoproto/gogo.proto"; -import "github.com/tendermint/tendermint/crypto/merkle/merkle.proto"; -import "github.com/tendermint/tendermint/libs/kv/types.proto"; +import "tendermint/crypto/proof.proto"; +import "tendermint/types/types.proto"; +import "tendermint/crypto/keys.proto"; +import "tendermint/types/params.proto"; import "google/protobuf/timestamp.proto"; -import "google/protobuf/duration.proto"; +import "gogoproto/gogo.proto"; // This file is copied from http://github.com/tendermint/abci // NOTE: When using custom types, mind the warnings. // https://github.com/gogo/protobuf/blob/master/custom_types.md#warnings-and-issues -option (gogoproto.marshaler_all) = true; -option (gogoproto.unmarshaler_all) = true; -option (gogoproto.sizer_all) = true; -option (gogoproto.goproto_registration) = true; -// Generate tests -option (gogoproto.populate_all) = true; -option (gogoproto.equal_all) = true; -option (gogoproto.testgen_all) = true; - //---------------------------------------- // Request types message Request { oneof value { - RequestEcho echo = 2; - RequestFlush flush = 3; - RequestInfo info = 4; - RequestSetOption set_option = 5; - RequestInitChain init_chain = 6; - RequestQuery query = 7; - RequestBeginBlock begin_block = 8; - RequestCheckTx check_tx = 9; - RequestDeliverTx deliver_tx = 19; - RequestEndBlock end_block = 11; - RequestCommit commit = 12; + RequestEcho echo = 1; + RequestFlush flush = 2; + RequestInfo info = 3; + RequestSetOption set_option = 4; + RequestInitChain init_chain = 5; + RequestQuery query = 6; + RequestBeginBlock begin_block = 7; + RequestCheckTx check_tx = 8; + RequestDeliverTx deliver_tx = 9; + RequestEndBlock end_block = 10; + RequestCommit commit = 11; + RequestListSnapshots list_snapshots = 12; + RequestOfferSnapshot offer_snapshot = 13; + RequestLoadSnapshotChunk load_snapshot_chunk = 14; + RequestApplySnapshotChunk apply_snapshot_chunk = 15; } } @@ -61,11 +58,13 @@ message RequestSetOption { } message RequestInitChain { - google.protobuf.Timestamp time = 1 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; - string chain_id = 2; - ConsensusParams consensus_params = 3; - repeated ValidatorUpdate validators = 4 [(gogoproto.nullable) = false]; - bytes app_state_bytes = 5; + google.protobuf.Timestamp time = 1 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + string chain_id = 2; + ConsensusParams consensus_params = 3; + repeated ValidatorUpdate validators = 4 [(gogoproto.nullable) = false]; + bytes app_state_bytes = 5; + int64 initial_height = 6; } message RequestQuery { @@ -76,15 +75,15 @@ message RequestQuery { } message RequestBeginBlock { - bytes hash = 1; - Header header = 2 [(gogoproto.nullable) = false]; - LastCommitInfo last_commit_info = 3 [(gogoproto.nullable) = false]; - repeated Evidence byzantine_validators = 4 [(gogoproto.nullable) = false]; + bytes hash = 1; + tendermint.types.Header header = 2 [(gogoproto.nullable) = false]; + LastCommitInfo last_commit_info = 3 [(gogoproto.nullable) = false]; + repeated Evidence byzantine_validators = 4 [(gogoproto.nullable) = false]; } enum CheckTxType { - New = 0; - Recheck = 1; + NEW = 0 [(gogoproto.enumvalue_customname) = "New"]; + RECHECK = 1 [(gogoproto.enumvalue_customname) = "Recheck"]; } message RequestCheckTx { @@ -102,23 +101,51 @@ message RequestEndBlock { message RequestCommit {} +// lists available snapshots +message RequestListSnapshots { +} + +// offers a snapshot to the application +message RequestOfferSnapshot { + Snapshot snapshot = 1; // snapshot offered by peers + bytes app_hash = 2; // light client-verified app hash for snapshot height +} + +// loads a snapshot chunk +message RequestLoadSnapshotChunk { + uint64 height = 1; + uint32 format = 2; + uint32 chunk = 3; +} + +// Applies a snapshot chunk +message RequestApplySnapshotChunk { + uint32 index = 1; + bytes chunk = 2; + string sender = 3; +} + //---------------------------------------- // Response types message Response { oneof value { - ResponseException exception = 1; - ResponseEcho echo = 2; - ResponseFlush flush = 3; - ResponseInfo info = 4; - ResponseSetOption set_option = 5; - ResponseInitChain init_chain = 6; - ResponseQuery query = 7; - ResponseBeginBlock begin_block = 8; - ResponseCheckTx check_tx = 9; - ResponseDeliverTx deliver_tx = 10; - ResponseEndBlock end_block = 11; - ResponseCommit commit = 12; + ResponseException exception = 1; + ResponseEcho echo = 2; + ResponseFlush flush = 3; + ResponseInfo info = 4; + ResponseSetOption set_option = 5; + ResponseInitChain init_chain = 6; + ResponseQuery query = 7; + ResponseBeginBlock begin_block = 8; + ResponseCheckTx check_tx = 9; + ResponseDeliverTx deliver_tx = 10; + ResponseEndBlock end_block = 11; + ResponseCommit commit = 12; + ResponseListSnapshots list_snapshots = 13; + ResponseOfferSnapshot offer_snapshot = 14; + ResponseLoadSnapshotChunk load_snapshot_chunk = 15; + ResponseApplySnapshotChunk apply_snapshot_chunk = 16; } } @@ -154,19 +181,20 @@ message ResponseSetOption { message ResponseInitChain { ConsensusParams consensus_params = 1; repeated ValidatorUpdate validators = 2 [(gogoproto.nullable) = false]; + bytes app_hash = 3; } message ResponseQuery { uint32 code = 1; // bytes data = 2; // use "value" instead. - string log = 3; // nondeterministic - string info = 4; // nondeterministic - int64 index = 5; - bytes key = 6; - bytes value = 7; - tendermint.crypto.merkle.Proof proof = 8; - int64 height = 9; - string codespace = 10; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 index = 5; + bytes key = 6; + bytes value = 7; + tendermint.crypto.ProofOps proof_ops = 8; + int64 height = 9; + string codespace = 10; } message ResponseBeginBlock { @@ -179,8 +207,8 @@ message ResponseCheckTx { bytes data = 2; string log = 3; // nondeterministic string info = 4; // nondeterministic - int64 gas_wanted = 5; - int64 gas_used = 6; + int64 gas_wanted = 5 [json_name = "gas_wanted"]; + int64 gas_used = 6 [json_name = "gas_used"]; repeated Event events = 7 [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; string codespace = 8; @@ -191,17 +219,18 @@ message ResponseDeliverTx { bytes data = 2; string log = 3; // nondeterministic string info = 4; // nondeterministic - int64 gas_wanted = 5; - int64 gas_used = 6; + int64 gas_wanted = 5 [json_name = "gas_wanted"]; + int64 gas_used = 6 [json_name = "gas_used"]; repeated Event events = 7 - [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; // nondeterministic string codespace = 8; } message ResponseEndBlock { - repeated ValidatorUpdate validator_updates = 1 [(gogoproto.nullable) = false]; - ConsensusParams consensus_param_updates = 2; - repeated Event events = 3 + repeated ValidatorUpdate validator_updates = 1 + [(gogoproto.nullable) = false]; + ConsensusParams consensus_param_updates = 2; + repeated Event events = 3 [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; } @@ -211,15 +240,52 @@ message ResponseCommit { int64 retain_height = 3; } +message ResponseListSnapshots { + repeated Snapshot snapshots = 1; +} + +message ResponseOfferSnapshot { + Result result = 1; + + enum Result { + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Snapshot accepted, apply chunks + ABORT = 2; // Abort all snapshot restoration + REJECT = 3; // Reject this specific snapshot, try others + REJECT_FORMAT = 4; // Reject all snapshots of this format, try others + REJECT_SENDER = 5; // Reject all snapshots from the sender(s), try others + } +} + +message ResponseLoadSnapshotChunk { + bytes chunk = 1; +} + +message ResponseApplySnapshotChunk { + Result result = 1; + repeated uint32 refetch_chunks = 2; // Chunks to refetch and reapply + repeated string reject_senders = 3; // Chunk senders to reject and ban + + enum Result { + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Chunk successfully accepted + ABORT = 2; // Abort all snapshot restoration + RETRY = 3; // Retry chunk (combine with refetch and reject) + RETRY_SNAPSHOT = 4; // Retry snapshot (combine with refetch and reject) + REJECT_SNAPSHOT = 5; // Reject this snapshot, try others + } +} + //---------------------------------------- // Misc. // ConsensusParams contains all consensus-relevant parameters // that can be adjusted by the abci app message ConsensusParams { - BlockParams block = 1; - EvidenceParams evidence = 2; - ValidatorParams validator = 3; + BlockParams block = 1; + tendermint.types.EvidenceParams evidence = 2; + tendermint.types.ValidatorParams validator = 3; + tendermint.types.VersionParams version = 4; } // BlockParams contains limits on the block size. @@ -230,84 +296,53 @@ message BlockParams { int64 max_gas = 2; } -message EvidenceParams { - // Note: must be greater than 0 - int64 max_age_num_blocks = 1; - google.protobuf.Duration max_age_duration = 2 - [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; -} - -// ValidatorParams contains limits on validators. -message ValidatorParams { - repeated string pub_key_types = 1; -} - message LastCommitInfo { int32 round = 1; repeated VoteInfo votes = 2 [(gogoproto.nullable) = false]; } +// Event allows application developers to attach additional information to +// ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx. +// Later, transactions may be queried using these events. message Event { - string type = 1; - repeated tendermint.libs.kv.Pair attributes = 2 - [(gogoproto.nullable) = false, (gogoproto.jsontag) = "attributes,omitempty"]; -} - -//---------------------------------------- -// Blockchain Types - -message Header { - // basic block info - Version version = 1 [(gogoproto.nullable) = false]; - string chain_id = 2 [(gogoproto.customname) = "ChainID"]; - int64 height = 3; - google.protobuf.Timestamp time = 4 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; - - // prev block info - BlockID last_block_id = 5 [(gogoproto.nullable) = false]; - - // hashes of block data - bytes last_commit_hash = 6; // commit from validators from the last block - bytes data_hash = 7; // transactions - - // hashes from the app output from the prev block - bytes validators_hash = 8; // validators for the current block - bytes next_validators_hash = 9; // validators for the next block - bytes consensus_hash = 10; // consensus params for current block - bytes app_hash = 11; // state after txs from the previous block - bytes last_results_hash = 12; // root hash of all results from the txs from the previous block - - // consensus info - bytes evidence_hash = 13; // evidence included in the block - bytes proposer_address = 14; // original proposer of the block + string type = 1; + repeated EventAttribute attributes = 2 [ + (gogoproto.nullable) = false, + (gogoproto.jsontag) = "attributes,omitempty" + ]; } -message Version { - uint64 Block = 1; - uint64 App = 2; +// EventAttribute is a single key-value pair, associated with an event. +message EventAttribute { + bytes key = 1; + bytes value = 2; + bool index = 3; // nondeterministic } -message BlockID { - bytes hash = 1; - PartSetHeader parts_header = 2 [(gogoproto.nullable) = false]; +// TxResult contains results of executing the transaction. +// +// One usage is indexing transaction results. +message TxResult { + int64 height = 1; + uint32 index = 2; + bytes tx = 3; + ResponseDeliverTx result = 4 [(gogoproto.nullable) = false]; } -message PartSetHeader { - int32 total = 1; - bytes hash = 2; -} +//---------------------------------------- +// Blockchain Types // Validator message Validator { - bytes address = 1; + bytes address = 1; // The first 20 bytes of SHA256(public key) // PubKey pub_key = 2 [(gogoproto.nullable)=false]; - int64 power = 3; + int64 power = 3; // The voting power } // ValidatorUpdate message ValidatorUpdate { - PubKey pub_key = 1 [(gogoproto.nullable) = false]; - int64 power = 2; + tendermint.crypto.PublicKey pub_key = 1 [(gogoproto.nullable) = false]; + int64 power = 2; } // VoteInfo @@ -316,17 +351,38 @@ message VoteInfo { bool signed_last_block = 2; } -message PubKey { - string type = 1; - bytes data = 2; +enum EvidenceType { + UNKNOWN = 0; + DUPLICATE_VOTE = 1; + LIGHT_CLIENT_ATTACK = 2; } message Evidence { - string type = 1; - Validator validator = 2 [(gogoproto.nullable) = false]; - int64 height = 3; - google.protobuf.Timestamp time = 4 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; - int64 total_voting_power = 5; + EvidenceType type = 1; + // The offending validator + Validator validator = 2 [(gogoproto.nullable) = false]; + // The height when the offense occurred + int64 height = 3; + // The corresponding time where the offense occurred + google.protobuf.Timestamp time = 4 [ + (gogoproto.nullable) = false, + (gogoproto.stdtime) = true + ]; + // Total voting power of the validator set in case the ABCI application does + // not store historical validators. + // https://github.com/tendermint/tendermint/issues/4581 + int64 total_voting_power = 5; +} + +//---------------------------------------- +// State Sync Types + +message Snapshot { + uint64 height = 1; // The height at which the snapshot was taken + uint32 format = 2; // The application-specific snapshot format + uint32 chunks = 3; // Number of chunks in the snapshot + bytes hash = 4; // Arbitrary snapshot hash, equal only if identical + bytes metadata = 5; // Arbitrary application metadata } //---------------------------------------- @@ -344,4 +400,8 @@ service ABCIApplication { rpc InitChain(RequestInitChain) returns (ResponseInitChain); rpc BeginBlock(RequestBeginBlock) returns (ResponseBeginBlock); rpc EndBlock(RequestEndBlock) returns (ResponseEndBlock); + rpc ListSnapshots(RequestListSnapshots) returns (ResponseListSnapshots); + rpc OfferSnapshot(RequestOfferSnapshot) returns (ResponseOfferSnapshot); + rpc LoadSnapshotChunk(RequestLoadSnapshotChunk) returns (ResponseLoadSnapshotChunk); + rpc ApplySnapshotChunk(RequestApplySnapshotChunk) returns (ResponseApplySnapshotChunk); } diff --git a/proto/abci/abci/types.proto b/proto/abci/abci/types.proto new file mode 100644 index 0000000..8e3a909 --- /dev/null +++ b/proto/abci/abci/types.proto @@ -0,0 +1,407 @@ +syntax = "proto3"; +package tendermint.abci; + +option go_package = "github.com/tendermint/tendermint/abci/types"; + +// For more information on gogo.proto, see: +// https://github.com/gogo/protobuf/blob/master/extensions.md +import "tendermint/crypto/proof.proto"; +import "tendermint/types/types.proto"; +import "tendermint/crypto/keys.proto"; +import "tendermint/types/params.proto"; +import "google/protobuf/timestamp.proto"; +import "gogoproto/gogo.proto"; + +// This file is copied from http://github.com/tendermint/abci +// NOTE: When using custom types, mind the warnings. +// https://github.com/gogo/protobuf/blob/master/custom_types.md#warnings-and-issues + +//---------------------------------------- +// Request types + +message Request { + oneof value { + RequestEcho echo = 1; + RequestFlush flush = 2; + RequestInfo info = 3; + RequestSetOption set_option = 4; + RequestInitChain init_chain = 5; + RequestQuery query = 6; + RequestBeginBlock begin_block = 7; + RequestCheckTx check_tx = 8; + RequestDeliverTx deliver_tx = 9; + RequestEndBlock end_block = 10; + RequestCommit commit = 11; + RequestListSnapshots list_snapshots = 12; + RequestOfferSnapshot offer_snapshot = 13; + RequestLoadSnapshotChunk load_snapshot_chunk = 14; + RequestApplySnapshotChunk apply_snapshot_chunk = 15; + } +} + +message RequestEcho { + string message = 1; +} + +message RequestFlush {} + +message RequestInfo { + string version = 1; + uint64 block_version = 2; + uint64 p2p_version = 3; +} + +// nondeterministic +message RequestSetOption { + string key = 1; + string value = 2; +} + +message RequestInitChain { + google.protobuf.Timestamp time = 1 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + string chain_id = 2; + ConsensusParams consensus_params = 3; + repeated ValidatorUpdate validators = 4 [(gogoproto.nullable) = false]; + bytes app_state_bytes = 5; + int64 initial_height = 6; +} + +message RequestQuery { + bytes data = 1; + string path = 2; + int64 height = 3; + bool prove = 4; +} + +message RequestBeginBlock { + bytes hash = 1; + tendermint.types.Header header = 2 [(gogoproto.nullable) = false]; + LastCommitInfo last_commit_info = 3 [(gogoproto.nullable) = false]; + repeated Evidence byzantine_validators = 4 [(gogoproto.nullable) = false]; +} + +enum CheckTxType { + NEW = 0 [(gogoproto.enumvalue_customname) = "New"]; + RECHECK = 1 [(gogoproto.enumvalue_customname) = "Recheck"]; +} + +message RequestCheckTx { + bytes tx = 1; + CheckTxType type = 2; +} + +message RequestDeliverTx { + bytes tx = 1; +} + +message RequestEndBlock { + int64 height = 1; +} + +message RequestCommit {} + +// lists available snapshots +message RequestListSnapshots { +} + +// offers a snapshot to the application +message RequestOfferSnapshot { + Snapshot snapshot = 1; // snapshot offered by peers + bytes app_hash = 2; // light client-verified app hash for snapshot height +} + +// loads a snapshot chunk +message RequestLoadSnapshotChunk { + uint64 height = 1; + uint32 format = 2; + uint32 chunk = 3; +} + +// Applies a snapshot chunk +message RequestApplySnapshotChunk { + uint32 index = 1; + bytes chunk = 2; + string sender = 3; +} + +//---------------------------------------- +// Response types + +message Response { + oneof value { + ResponseException exception = 1; + ResponseEcho echo = 2; + ResponseFlush flush = 3; + ResponseInfo info = 4; + ResponseSetOption set_option = 5; + ResponseInitChain init_chain = 6; + ResponseQuery query = 7; + ResponseBeginBlock begin_block = 8; + ResponseCheckTx check_tx = 9; + ResponseDeliverTx deliver_tx = 10; + ResponseEndBlock end_block = 11; + ResponseCommit commit = 12; + ResponseListSnapshots list_snapshots = 13; + ResponseOfferSnapshot offer_snapshot = 14; + ResponseLoadSnapshotChunk load_snapshot_chunk = 15; + ResponseApplySnapshotChunk apply_snapshot_chunk = 16; + } +} + +// nondeterministic +message ResponseException { + string error = 1; +} + +message ResponseEcho { + string message = 1; +} + +message ResponseFlush {} + +message ResponseInfo { + string data = 1; + + string version = 2; + uint64 app_version = 3; + + int64 last_block_height = 4; + bytes last_block_app_hash = 5; +} + +// nondeterministic +message ResponseSetOption { + uint32 code = 1; + // bytes data = 2; + string log = 3; + string info = 4; +} + +message ResponseInitChain { + ConsensusParams consensus_params = 1; + repeated ValidatorUpdate validators = 2 [(gogoproto.nullable) = false]; + bytes app_hash = 3; +} + +message ResponseQuery { + uint32 code = 1; + // bytes data = 2; // use "value" instead. + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 index = 5; + bytes key = 6; + bytes value = 7; + tendermint.crypto.ProofOps proof_ops = 8; + int64 height = 9; + string codespace = 10; +} + +message ResponseBeginBlock { + repeated Event events = 1 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; +} + +message ResponseCheckTx { + uint32 code = 1; + bytes data = 2; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 gas_wanted = 5 [json_name = "gas_wanted"]; + int64 gas_used = 6 [json_name = "gas_used"]; + repeated Event events = 7 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; + string codespace = 8; +} + +message ResponseDeliverTx { + uint32 code = 1; + bytes data = 2; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 gas_wanted = 5 [json_name = "gas_wanted"]; + int64 gas_used = 6 [json_name = "gas_used"]; + repeated Event events = 7 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; // nondeterministic + string codespace = 8; +} + +message ResponseEndBlock { + repeated ValidatorUpdate validator_updates = 1 + [(gogoproto.nullable) = false]; + ConsensusParams consensus_param_updates = 2; + repeated Event events = 3 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; +} + +message ResponseCommit { + // reserve 1 + bytes data = 2; + int64 retain_height = 3; +} + +message ResponseListSnapshots { + repeated Snapshot snapshots = 1; +} + +message ResponseOfferSnapshot { + Result result = 1; + + enum Result { + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Snapshot accepted, apply chunks + ABORT = 2; // Abort all snapshot restoration + REJECT = 3; // Reject this specific snapshot, try others + REJECT_FORMAT = 4; // Reject all snapshots of this format, try others + REJECT_SENDER = 5; // Reject all snapshots from the sender(s), try others + } +} + +message ResponseLoadSnapshotChunk { + bytes chunk = 1; +} + +message ResponseApplySnapshotChunk { + Result result = 1; + repeated uint32 refetch_chunks = 2; // Chunks to refetch and reapply + repeated string reject_senders = 3; // Chunk senders to reject and ban + + enum Result { + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Chunk successfully accepted + ABORT = 2; // Abort all snapshot restoration + RETRY = 3; // Retry chunk (combine with refetch and reject) + RETRY_SNAPSHOT = 4; // Retry snapshot (combine with refetch and reject) + REJECT_SNAPSHOT = 5; // Reject this snapshot, try others + } +} + +//---------------------------------------- +// Misc. + +// ConsensusParams contains all consensus-relevant parameters +// that can be adjusted by the abci app +message ConsensusParams { + BlockParams block = 1; + tendermint.types.EvidenceParams evidence = 2; + tendermint.types.ValidatorParams validator = 3; + tendermint.types.VersionParams version = 4; +} + +// BlockParams contains limits on the block size. +message BlockParams { + // Note: must be greater than 0 + int64 max_bytes = 1; + // Note: must be greater or equal to -1 + int64 max_gas = 2; +} + +message LastCommitInfo { + int32 round = 1; + repeated VoteInfo votes = 2 [(gogoproto.nullable) = false]; +} + +// Event allows application developers to attach additional information to +// ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx. +// Later, transactions may be queried using these events. +message Event { + string type = 1; + repeated EventAttribute attributes = 2 [ + (gogoproto.nullable) = false, + (gogoproto.jsontag) = "attributes,omitempty" + ]; +} + +// EventAttribute is a single key-value pair, associated with an event. +message EventAttribute { + bytes key = 1; + bytes value = 2; + bool index = 3; // nondeterministic +} + +// TxResult contains results of executing the transaction. +// +// One usage is indexing transaction results. +message TxResult { + int64 height = 1; + uint32 index = 2; + bytes tx = 3; + ResponseDeliverTx result = 4 [(gogoproto.nullable) = false]; +} + +//---------------------------------------- +// Blockchain Types + +// Validator +message Validator { + bytes address = 1; // The first 20 bytes of SHA256(public key) + // PubKey pub_key = 2 [(gogoproto.nullable)=false]; + int64 power = 3; // The voting power +} + +// ValidatorUpdate +message ValidatorUpdate { + tendermint.crypto.PublicKey pub_key = 1 [(gogoproto.nullable) = false]; + int64 power = 2; +} + +// VoteInfo +message VoteInfo { + Validator validator = 1 [(gogoproto.nullable) = false]; + bool signed_last_block = 2; +} + +enum EvidenceType { + UNKNOWN = 0; + DUPLICATE_VOTE = 1; + LIGHT_CLIENT_ATTACK = 2; +} + +message Evidence { + EvidenceType type = 1; + // The offending validator + Validator validator = 2 [(gogoproto.nullable) = false]; + // The height when the offense occurred + int64 height = 3; + // The corresponding time where the offense occurred + google.protobuf.Timestamp time = 4 [ + (gogoproto.nullable) = false, + (gogoproto.stdtime) = true + ]; + // Total voting power of the validator set in case the ABCI application does + // not store historical validators. + // https://github.com/tendermint/tendermint/issues/4581 + int64 total_voting_power = 5; +} + +//---------------------------------------- +// State Sync Types + +message Snapshot { + uint64 height = 1; // The height at which the snapshot was taken + uint32 format = 2; // The application-specific snapshot format + uint32 chunks = 3; // Number of chunks in the snapshot + bytes hash = 4; // Arbitrary snapshot hash, equal only if identical + bytes metadata = 5; // Arbitrary application metadata +} + +//---------------------------------------- +// Service Definition + +service ABCIApplication { + rpc Echo(RequestEcho) returns (ResponseEcho); + rpc Flush(RequestFlush) returns (ResponseFlush); + rpc Info(RequestInfo) returns (ResponseInfo); + rpc SetOption(RequestSetOption) returns (ResponseSetOption); + rpc DeliverTx(RequestDeliverTx) returns (ResponseDeliverTx); + rpc CheckTx(RequestCheckTx) returns (ResponseCheckTx); + rpc Query(RequestQuery) returns (ResponseQuery); + rpc Commit(RequestCommit) returns (ResponseCommit); + rpc InitChain(RequestInitChain) returns (ResponseInitChain); + rpc BeginBlock(RequestBeginBlock) returns (ResponseBeginBlock); + rpc EndBlock(RequestEndBlock) returns (ResponseEndBlock); + rpc ListSnapshots(RequestListSnapshots) returns (ResponseListSnapshots); + rpc OfferSnapshot(RequestOfferSnapshot) returns (ResponseOfferSnapshot); + rpc LoadSnapshotChunk(RequestLoadSnapshotChunk) returns (ResponseLoadSnapshotChunk); + rpc ApplySnapshotChunk(RequestApplySnapshotChunk) returns (ResponseApplySnapshotChunk); +} diff --git a/proto/abci/blockchain/types.proto b/proto/abci/blockchain/types.proto new file mode 100644 index 0000000..f5c143c --- /dev/null +++ b/proto/abci/blockchain/types.proto @@ -0,0 +1,41 @@ +syntax = "proto3"; +package tendermint.blockchain; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/blockchain"; + +import "tendermint/types/block.proto"; + +// BlockRequest requests a block for a specific height +message BlockRequest { + int64 height = 1; +} + +// NoBlockResponse informs the node that the peer does not have block at the requested height +message NoBlockResponse { + int64 height = 1; +} + +// BlockResponse returns block to the requested +message BlockResponse { + tendermint.types.Block block = 1; +} + +// StatusRequest requests the status of a peer. +message StatusRequest { +} + +// StatusResponse is a peer response to inform their status. +message StatusResponse { + int64 height = 1; + int64 base = 2; +} + +message Message { + oneof sum { + BlockRequest block_request = 1; + NoBlockResponse no_block_response = 2; + BlockResponse block_response = 3; + StatusRequest status_request = 4; + StatusResponse status_response = 5; + } +} diff --git a/proto/abci/blocksync/types.proto b/proto/abci/blocksync/types.proto new file mode 100644 index 0000000..8c187c7 --- /dev/null +++ b/proto/abci/blocksync/types.proto @@ -0,0 +1,41 @@ +syntax = "proto3"; +package tendermint.blocksync; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/blocksync"; + +import "tendermint/types/block.proto"; + +// BlockRequest requests a block for a specific height +message BlockRequest { + int64 height = 1; +} + +// NoBlockResponse informs the node that the peer does not have block at the requested height +message NoBlockResponse { + int64 height = 1; +} + +// BlockResponse returns block to the requested +message BlockResponse { + tendermint.types.Block block = 1; +} + +// StatusRequest requests the status of a peer. +message StatusRequest { +} + +// StatusResponse is a peer response to inform their status. +message StatusResponse { + int64 height = 1; + int64 base = 2; +} + +message Message { + oneof sum { + BlockRequest block_request = 1; + NoBlockResponse no_block_response = 2; + BlockResponse block_response = 3; + StatusRequest status_request = 4; + StatusResponse status_response = 5; + } +} diff --git a/proto/abci/consensus/types.proto b/proto/abci/consensus/types.proto new file mode 100644 index 0000000..6e1f413 --- /dev/null +++ b/proto/abci/consensus/types.proto @@ -0,0 +1,92 @@ +syntax = "proto3"; +package tendermint.consensus; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/consensus"; + +import "gogoproto/gogo.proto"; +import "tendermint/types/types.proto"; +import "tendermint/libs/bits/types.proto"; + +// NewRoundStep is sent for every step taken in the ConsensusState. +// For every height/round/step transition +message NewRoundStep { + int64 height = 1; + int32 round = 2; + uint32 step = 3; + int64 seconds_since_start_time = 4; + int32 last_commit_round = 5; +} + +// NewValidBlock is sent when a validator observes a valid block B in some round r, +//i.e., there is a Proposal for block B and 2/3+ prevotes for the block B in the round r. +// In case the block is also committed, then IsCommit flag is set to true. +message NewValidBlock { + int64 height = 1; + int32 round = 2; + tendermint.types.PartSetHeader block_part_set_header = 3 [(gogoproto.nullable) = false]; + tendermint.libs.bits.BitArray block_parts = 4; + bool is_commit = 5; +} + +// Proposal is sent when a new block is proposed. +message Proposal { + tendermint.types.Proposal proposal = 1 [(gogoproto.nullable) = false]; +} + +// ProposalPOL is sent when a previous proposal is re-proposed. +message ProposalPOL { + int64 height = 1; + int32 proposal_pol_round = 2; + tendermint.libs.bits.BitArray proposal_pol = 3 [(gogoproto.nullable) = false]; +} + +// BlockPart is sent when gossipping a piece of the proposed block. +message BlockPart { + int64 height = 1; + int32 round = 2; + tendermint.types.Part part = 3 [(gogoproto.nullable) = false]; +} + +// Vote is sent when voting for a proposal (or lack thereof). +message Vote { + tendermint.types.Vote vote = 1; +} + +// HasVote is sent to indicate that a particular vote has been received. +message HasVote { + int64 height = 1; + int32 round = 2; + tendermint.types.SignedMsgType type = 3; + int32 index = 4; +} + +// VoteSetMaj23 is sent to indicate that a given BlockID has seen +2/3 votes. +message VoteSetMaj23 { + int64 height = 1; + int32 round = 2; + tendermint.types.SignedMsgType type = 3; + tendermint.types.BlockID block_id = 4 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; +} + +// VoteSetBits is sent to communicate the bit-array of votes seen for the BlockID. +message VoteSetBits { + int64 height = 1; + int32 round = 2; + tendermint.types.SignedMsgType type = 3; + tendermint.types.BlockID block_id = 4 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; + tendermint.libs.bits.BitArray votes = 5 [(gogoproto.nullable) = false]; +} + +message Message { + oneof sum { + NewRoundStep new_round_step = 1; + NewValidBlock new_valid_block = 2; + Proposal proposal = 3; + ProposalPOL proposal_pol = 4; + BlockPart block_part = 5; + Vote vote = 6; + HasVote has_vote = 7; + VoteSetMaj23 vote_set_maj23 = 8; + VoteSetBits vote_set_bits = 9; + } +} diff --git a/proto/abci/consensus/wal.proto b/proto/abci/consensus/wal.proto new file mode 100644 index 0000000..44afa2c --- /dev/null +++ b/proto/abci/consensus/wal.proto @@ -0,0 +1,46 @@ +syntax = "proto3"; +package tendermint.consensus; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/consensus"; + +import "gogoproto/gogo.proto"; +import "tendermint/consensus/types.proto"; +import "tendermint/types/events.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +// MsgInfo are msgs from the reactor which may update the state +message MsgInfo { + Message msg = 1 [(gogoproto.nullable) = false]; + string peer_id = 2 [(gogoproto.customname) = "PeerID"]; +} + +// TimeoutInfo internally generated messages which may update the state +message TimeoutInfo { + google.protobuf.Duration duration = 1 + [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; + int64 height = 2; + int32 round = 3; + uint32 step = 4; +} + +// EndHeight marks the end of the given height inside WAL. +// @internal used by scripts/wal2json util. +message EndHeight { + int64 height = 1; +} + +message WALMessage { + oneof sum { + tendermint.types.EventDataRoundState event_data_round_state = 1; + MsgInfo msg_info = 2; + TimeoutInfo timeout_info = 3; + EndHeight end_height = 4; + } +} + +// TimedWALMessage wraps WALMessage and adds Time for debugging purposes. +message TimedWALMessage { + google.protobuf.Timestamp time = 1 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + WALMessage msg = 2; +} diff --git a/proto/abci/crypto/keys.proto b/proto/abci/crypto/keys.proto new file mode 100644 index 0000000..16fd7ad --- /dev/null +++ b/proto/abci/crypto/keys.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package tendermint.crypto; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/crypto"; + +import "gogoproto/gogo.proto"; + +// PublicKey defines the keys available for use with Tendermint Validators +message PublicKey { + option (gogoproto.compare) = true; + option (gogoproto.equal) = true; + + oneof sum { + bytes ed25519 = 1; + bytes secp256k1 = 2; + } +} diff --git a/proto/abci/crypto/proof.proto b/proto/abci/crypto/proof.proto new file mode 100644 index 0000000..975df76 --- /dev/null +++ b/proto/abci/crypto/proof.proto @@ -0,0 +1,41 @@ +syntax = "proto3"; +package tendermint.crypto; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/crypto"; + +import "gogoproto/gogo.proto"; + +message Proof { + int64 total = 1; + int64 index = 2; + bytes leaf_hash = 3; + repeated bytes aunts = 4; +} + +message ValueOp { + // Encoded in ProofOp.Key. + bytes key = 1; + + // To encode in ProofOp.Data + Proof proof = 2; +} + +message DominoOp { + string key = 1; + string input = 2; + string output = 3; +} + +// ProofOp defines an operation used for calculating Merkle root +// The data could be arbitrary format, providing nessecary data +// for example neighbouring node hash +message ProofOp { + string type = 1; + bytes key = 2; + bytes data = 3; +} + +// ProofOps is Merkle proof defined by the list of ProofOps +message ProofOps { + repeated ProofOp ops = 1 [(gogoproto.nullable) = false]; +} diff --git a/proto/abci/libs/bits/types.proto b/proto/abci/libs/bits/types.proto new file mode 100644 index 0000000..3111d11 --- /dev/null +++ b/proto/abci/libs/bits/types.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package tendermint.libs.bits; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/libs/bits"; + +message BitArray { + int64 bits = 1; + repeated uint64 elems = 2; +} diff --git a/proto/abci/mempool/types.proto b/proto/abci/mempool/types.proto new file mode 100644 index 0000000..b55d971 --- /dev/null +++ b/proto/abci/mempool/types.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package tendermint.mempool; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/mempool"; + +message Txs { + repeated bytes txs = 1; +} + +message Message { + oneof sum { + Txs txs = 1; + } +} diff --git a/proto/abci/p2p/conn.proto b/proto/abci/p2p/conn.proto new file mode 100644 index 0000000..b12de6c --- /dev/null +++ b/proto/abci/p2p/conn.proto @@ -0,0 +1,30 @@ +syntax = "proto3"; +package tendermint.p2p; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p"; + +import "gogoproto/gogo.proto"; +import "tendermint/crypto/keys.proto"; + +message PacketPing {} + +message PacketPong {} + +message PacketMsg { + int32 channel_id = 1 [(gogoproto.customname) = "ChannelID"]; + bool eof = 2 [(gogoproto.customname) = "EOF"]; + bytes data = 3; +} + +message Packet { + oneof sum { + PacketPing packet_ping = 1; + PacketPong packet_pong = 2; + PacketMsg packet_msg = 3; + } +} + +message AuthSigMessage { + tendermint.crypto.PublicKey pub_key = 1 [(gogoproto.nullable) = false]; + bytes sig = 2; +} diff --git a/proto/abci/p2p/pex.proto b/proto/abci/p2p/pex.proto new file mode 100644 index 0000000..dfe238d --- /dev/null +++ b/proto/abci/p2p/pex.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; +package tendermint.p2p; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p"; + +import "tendermint/p2p/types.proto"; +import "gogoproto/gogo.proto"; + +message PexRequest {} + +message PexAddrs { + repeated NetAddress addrs = 1 [(gogoproto.nullable) = false]; +} + +message Message { + oneof sum { + PexRequest pex_request = 1; + PexAddrs pex_addrs = 2; + } +} diff --git a/proto/abci/p2p/types.proto b/proto/abci/p2p/types.proto new file mode 100644 index 0000000..0d42ea4 --- /dev/null +++ b/proto/abci/p2p/types.proto @@ -0,0 +1,34 @@ +syntax = "proto3"; +package tendermint.p2p; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p"; + +import "gogoproto/gogo.proto"; + +message NetAddress { + string id = 1 [(gogoproto.customname) = "ID"]; + string ip = 2 [(gogoproto.customname) = "IP"]; + uint32 port = 3; +} + +message ProtocolVersion { + uint64 p2p = 1 [(gogoproto.customname) = "P2P"]; + uint64 block = 2; + uint64 app = 3; +} + +message DefaultNodeInfo { + ProtocolVersion protocol_version = 1 [(gogoproto.nullable) = false]; + string default_node_id = 2 [(gogoproto.customname) = "DefaultNodeID"]; + string listen_addr = 3; + string network = 4; + string version = 5; + bytes channels = 6; + string moniker = 7; + DefaultNodeInfoOther other = 8 [(gogoproto.nullable) = false]; +} + +message DefaultNodeInfoOther { + string tx_index = 1; + string rpc_address = 2 [(gogoproto.customname) = "RPCAddress"]; +} diff --git a/proto/abci/privval/service.proto b/proto/abci/privval/service.proto new file mode 100644 index 0000000..63e9afc --- /dev/null +++ b/proto/abci/privval/service.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; +package tendermint.privval; +option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval"; + +import "tendermint/privval/types.proto"; + +//---------------------------------------- +// Service Definition + +service PrivValidatorAPI { + rpc GetPubKey(PubKeyRequest) returns (PubKeyResponse); + rpc SignVote(SignVoteRequest) returns (SignedVoteResponse); + rpc SignProposal(SignProposalRequest) returns (SignedProposalResponse); +} diff --git a/proto/abci/privval/types.proto b/proto/abci/privval/types.proto new file mode 100644 index 0000000..0fc8b61 --- /dev/null +++ b/proto/abci/privval/types.proto @@ -0,0 +1,76 @@ +syntax = "proto3"; +package tendermint.privval; + +import "tendermint/crypto/keys.proto"; +import "tendermint/types/types.proto"; +import "gogoproto/gogo.proto"; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval"; + +enum Errors { + ERRORS_UNKNOWN = 0; + ERRORS_UNEXPECTED_RESPONSE = 1; + ERRORS_NO_CONNECTION = 2; + ERRORS_CONNECTION_TIMEOUT = 3; + ERRORS_READ_TIMEOUT = 4; + ERRORS_WRITE_TIMEOUT = 5; +} + +message RemoteSignerError { + int32 code = 1; + string description = 2; +} + +// PubKeyRequest requests the consensus public key from the remote signer. +message PubKeyRequest { + string chain_id = 1; +} + +// PubKeyResponse is a response message containing the public key. +message PubKeyResponse { + tendermint.crypto.PublicKey pub_key = 1 [(gogoproto.nullable) = false]; + RemoteSignerError error = 2; +} + +// SignVoteRequest is a request to sign a vote +message SignVoteRequest { + tendermint.types.Vote vote = 1; + string chain_id = 2; +} + +// SignedVoteResponse is a response containing a signed vote or an error +message SignedVoteResponse { + tendermint.types.Vote vote = 1 [(gogoproto.nullable) = false]; + RemoteSignerError error = 2; +} + +// SignProposalRequest is a request to sign a proposal +message SignProposalRequest { + tendermint.types.Proposal proposal = 1; + string chain_id = 2; +} + +// SignedProposalResponse is response containing a signed proposal or an error +message SignedProposalResponse { + tendermint.types.Proposal proposal = 1 [(gogoproto.nullable) = false]; + RemoteSignerError error = 2; +} + +// PingRequest is a request to confirm that the connection is alive. +message PingRequest {} + +// PingResponse is a response to confirm that the connection is alive. +message PingResponse {} + +message Message { + oneof sum { + PubKeyRequest pub_key_request = 1; + PubKeyResponse pub_key_response = 2; + SignVoteRequest sign_vote_request = 3; + SignedVoteResponse signed_vote_response = 4; + SignProposalRequest sign_proposal_request = 5; + SignedProposalResponse signed_proposal_response = 6; + PingRequest ping_request = 7; + PingResponse ping_response = 8; + } +} diff --git a/proto/abci/rpc/grpc/types.proto b/proto/abci/rpc/grpc/types.proto new file mode 100644 index 0000000..ee948a4 --- /dev/null +++ b/proto/abci/rpc/grpc/types.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; +package tendermint.rpc.grpc; +option go_package = "github.com/tendermint/tendermint/rpc/grpc;coregrpc"; + +import "tendermint/abci/types.proto"; + +//---------------------------------------- +// Request types + +message RequestPing {} + +message RequestBroadcastTx { + bytes tx = 1; +} + +//---------------------------------------- +// Response types + +message ResponsePing {} + +message ResponseBroadcastTx { + tendermint.abci.ResponseCheckTx check_tx = 1; + tendermint.abci.ResponseDeliverTx deliver_tx = 2; +} + +//---------------------------------------- +// Service Definition + +service BroadcastAPI { + rpc Ping(RequestPing) returns (ResponsePing); + rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx); +} diff --git a/proto/abci/state/types.proto b/proto/abci/state/types.proto new file mode 100644 index 0000000..919da91 --- /dev/null +++ b/proto/abci/state/types.proto @@ -0,0 +1,75 @@ +syntax = "proto3"; +package tendermint.state; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/state"; + +import "gogoproto/gogo.proto"; +import "tendermint/abci/types.proto"; +import "tendermint/types/types.proto"; +import "tendermint/types/validator.proto"; +import "tendermint/types/params.proto"; +import "tendermint/version/types.proto"; +import "google/protobuf/timestamp.proto"; + +// ABCIResponses retains the responses +// of the various ABCI calls during block processing. +// It is persisted to disk for each height before calling Commit. +message ABCIResponses { + repeated tendermint.abci.ResponseDeliverTx deliver_txs = 1; + tendermint.abci.ResponseEndBlock end_block = 2; + tendermint.abci.ResponseBeginBlock begin_block = 3; +} + +// ValidatorsInfo represents the latest validator set, or the last height it changed +message ValidatorsInfo { + tendermint.types.ValidatorSet validator_set = 1; + int64 last_height_changed = 2; +} + +// ConsensusParamsInfo represents the latest consensus params, or the last height it changed +message ConsensusParamsInfo { + tendermint.types.ConsensusParams consensus_params = 1 [(gogoproto.nullable) = false]; + int64 last_height_changed = 2; +} + +message Version { + tendermint.version.Consensus consensus = 1 [(gogoproto.nullable) = false]; + string software = 2; +} + +message State { + Version version = 1 [(gogoproto.nullable) = false]; + + // immutable + string chain_id = 2 [(gogoproto.customname) = "ChainID"]; + int64 initial_height = 14; + + // LastBlockHeight=0 at genesis (ie. block(H=0) does not exist) + int64 last_block_height = 3; + tendermint.types.BlockID last_block_id = 4 + [(gogoproto.nullable) = false, (gogoproto.customname) = "LastBlockID"]; + google.protobuf.Timestamp last_block_time = 5 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + + // LastValidators is used to validate block.LastCommit. + // Validators are persisted to the database separately every time they change, + // so we can query for historical validator sets. + // Note that if s.LastBlockHeight causes a valset change, + // we set s.LastHeightValidatorsChanged = s.LastBlockHeight + 1 + 1 + // Extra +1 due to nextValSet delay. + tendermint.types.ValidatorSet next_validators = 6; + tendermint.types.ValidatorSet validators = 7; + tendermint.types.ValidatorSet last_validators = 8; + int64 last_height_validators_changed = 9; + + // Consensus parameters used for validating blocks. + // Changes returned by EndBlock and updated after Commit. + tendermint.types.ConsensusParams consensus_params = 10 [(gogoproto.nullable) = false]; + int64 last_height_consensus_params_changed = 11; + + // Merkle root of the results from executing prev block + bytes last_results_hash = 12; + + // the latest AppHash we've received from calling abci.Commit() + bytes app_hash = 13; +} diff --git a/proto/abci/statesync/types.proto b/proto/abci/statesync/types.proto new file mode 100644 index 0000000..8d4a714 --- /dev/null +++ b/proto/abci/statesync/types.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; +package tendermint.statesync; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/statesync"; + +message Message { + oneof sum { + SnapshotsRequest snapshots_request = 1; + SnapshotsResponse snapshots_response = 2; + ChunkRequest chunk_request = 3; + ChunkResponse chunk_response = 4; + } +} + +message SnapshotsRequest {} + +message SnapshotsResponse { + uint64 height = 1; + uint32 format = 2; + uint32 chunks = 3; + bytes hash = 4; + bytes metadata = 5; +} + +message ChunkRequest { + uint64 height = 1; + uint32 format = 2; + uint32 index = 3; +} + +message ChunkResponse { + uint64 height = 1; + uint32 format = 2; + uint32 index = 3; + bytes chunk = 4; + bool missing = 5; +} diff --git a/proto/abci/store/types.proto b/proto/abci/store/types.proto new file mode 100644 index 0000000..af2f97a --- /dev/null +++ b/proto/abci/store/types.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package tendermint.store; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/store"; + +message BlockStoreState { + int64 base = 1; + int64 height = 2; +} diff --git a/proto/abci/types/block.proto b/proto/abci/types/block.proto new file mode 100644 index 0000000..84e9bb1 --- /dev/null +++ b/proto/abci/types/block.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +import "gogoproto/gogo.proto"; +import "tendermint/types/types.proto"; +import "tendermint/types/evidence.proto"; + +message Block { + Header header = 1 [(gogoproto.nullable) = false]; + Data data = 2 [(gogoproto.nullable) = false]; + tendermint.types.EvidenceList evidence = 3 [(gogoproto.nullable) = false]; + Commit last_commit = 4; +} diff --git a/proto/abci/types/canonical.proto b/proto/abci/types/canonical.proto new file mode 100644 index 0000000..e88fd6f --- /dev/null +++ b/proto/abci/types/canonical.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +import "gogoproto/gogo.proto"; +import "tendermint/types/types.proto"; +import "google/protobuf/timestamp.proto"; + +message CanonicalBlockID { + bytes hash = 1; + CanonicalPartSetHeader part_set_header = 2 [(gogoproto.nullable) = false]; +} + +message CanonicalPartSetHeader { + uint32 total = 1; + bytes hash = 2; +} + +message CanonicalProposal { + SignedMsgType type = 1; // type alias for byte + sfixed64 height = 2; // canonicalization requires fixed size encoding here + sfixed64 round = 3; // canonicalization requires fixed size encoding here + int64 pol_round = 4 [(gogoproto.customname) = "POLRound"]; + CanonicalBlockID block_id = 5 [(gogoproto.customname) = "BlockID"]; + google.protobuf.Timestamp timestamp = 6 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + string chain_id = 7 [(gogoproto.customname) = "ChainID"]; +} + +message CanonicalVote { + SignedMsgType type = 1; // type alias for byte + sfixed64 height = 2; // canonicalization requires fixed size encoding here + sfixed64 round = 3; // canonicalization requires fixed size encoding here + CanonicalBlockID block_id = 4 [(gogoproto.customname) = "BlockID"]; + google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + string chain_id = 6 [(gogoproto.customname) = "ChainID"]; +} diff --git a/proto/abci/types/events.proto b/proto/abci/types/events.proto new file mode 100644 index 0000000..a1e5cc4 --- /dev/null +++ b/proto/abci/types/events.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +message EventDataRoundState { + int64 height = 1; + int32 round = 2; + string step = 3; +} diff --git a/proto/abci/types/evidence.proto b/proto/abci/types/evidence.proto new file mode 100644 index 0000000..3b23457 --- /dev/null +++ b/proto/abci/types/evidence.proto @@ -0,0 +1,38 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +import "gogoproto/gogo.proto"; +import "google/protobuf/timestamp.proto"; +import "tendermint/types/types.proto"; +import "tendermint/types/validator.proto"; + +message Evidence { + oneof sum { + DuplicateVoteEvidence duplicate_vote_evidence = 1; + LightClientAttackEvidence light_client_attack_evidence = 2; + } +} + +// DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. +message DuplicateVoteEvidence { + tendermint.types.Vote vote_a = 1; + tendermint.types.Vote vote_b = 2; + int64 total_voting_power = 3; + int64 validator_power = 4; + google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; +} + +// LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. +message LightClientAttackEvidence { + tendermint.types.LightBlock conflicting_block = 1; + int64 common_height = 2; + repeated tendermint.types.Validator byzantine_validators = 3; + int64 total_voting_power = 4; + google.protobuf.Timestamp timestamp = 5 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; +} + +message EvidenceList { + repeated Evidence evidence = 1 [(gogoproto.nullable) = false]; +} diff --git a/proto/abci/types/params.proto b/proto/abci/types/params.proto new file mode 100644 index 0000000..0de7d84 --- /dev/null +++ b/proto/abci/types/params.proto @@ -0,0 +1,80 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +import "gogoproto/gogo.proto"; +import "google/protobuf/duration.proto"; + +option (gogoproto.equal_all) = true; + +// ConsensusParams contains consensus critical parameters that determine the +// validity of blocks. +message ConsensusParams { + BlockParams block = 1 [(gogoproto.nullable) = false]; + EvidenceParams evidence = 2 [(gogoproto.nullable) = false]; + ValidatorParams validator = 3 [(gogoproto.nullable) = false]; + VersionParams version = 4 [(gogoproto.nullable) = false]; +} + +// BlockParams contains limits on the block size. +message BlockParams { + // Max block size, in bytes. + // Note: must be greater than 0 + int64 max_bytes = 1; + // Max gas per block. + // Note: must be greater or equal to -1 + int64 max_gas = 2; + // Minimum time increment between consecutive blocks (in milliseconds) If the + // block header timestamp is ahead of the system clock, decrease this value. + // + // Not exposed to the application. + int64 time_iota_ms = 3; +} + +// EvidenceParams determine how we handle evidence of malfeasance. +message EvidenceParams { + // Max age of evidence, in blocks. + // + // The basic formula for calculating this is: MaxAgeDuration / {average block + // time}. + int64 max_age_num_blocks = 1; + + // Max age of evidence, in time. + // + // It should correspond with an app's "unbonding period" or other similar + // mechanism for handling [Nothing-At-Stake + // attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). + google.protobuf.Duration max_age_duration = 2 + [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; + + // This sets the maximum size of total evidence in bytes that can be committed in a single block. + // and should fall comfortably under the max block bytes. + // Default is 1048576 or 1MB + int64 max_bytes = 3; +} + +// ValidatorParams restrict the public key types validators can use. +// NOTE: uses ABCI pubkey naming, not Amino names. +message ValidatorParams { + option (gogoproto.populate) = true; + option (gogoproto.equal) = true; + + repeated string pub_key_types = 1; +} + +// VersionParams contains the ABCI application version. +message VersionParams { + option (gogoproto.populate) = true; + option (gogoproto.equal) = true; + + uint64 app_version = 1; +} + +// HashedParams is a subset of ConsensusParams. +// +// It is hashed into the Header.ConsensusHash. +message HashedParams { + int64 block_max_bytes = 1; + int64 block_max_gas = 2; +} diff --git a/proto/abci/types/types.proto b/proto/abci/types/types.proto new file mode 100644 index 0000000..7f7ea74 --- /dev/null +++ b/proto/abci/types/types.proto @@ -0,0 +1,157 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +import "gogoproto/gogo.proto"; +import "google/protobuf/timestamp.proto"; +import "tendermint/crypto/proof.proto"; +import "tendermint/version/types.proto"; +import "tendermint/types/validator.proto"; + +// BlockIdFlag indicates which BlcokID the signature is for +enum BlockIDFlag { + option (gogoproto.goproto_enum_stringer) = true; + option (gogoproto.goproto_enum_prefix) = false; + + BLOCK_ID_FLAG_UNKNOWN = 0 [(gogoproto.enumvalue_customname) = "BlockIDFlagUnknown"]; + BLOCK_ID_FLAG_ABSENT = 1 [(gogoproto.enumvalue_customname) = "BlockIDFlagAbsent"]; + BLOCK_ID_FLAG_COMMIT = 2 [(gogoproto.enumvalue_customname) = "BlockIDFlagCommit"]; + BLOCK_ID_FLAG_NIL = 3 [(gogoproto.enumvalue_customname) = "BlockIDFlagNil"]; +} + +// SignedMsgType is a type of signed message in the consensus. +enum SignedMsgType { + option (gogoproto.goproto_enum_stringer) = true; + option (gogoproto.goproto_enum_prefix) = false; + + SIGNED_MSG_TYPE_UNKNOWN = 0 [(gogoproto.enumvalue_customname) = "UnknownType"]; + // Votes + SIGNED_MSG_TYPE_PREVOTE = 1 [(gogoproto.enumvalue_customname) = "PrevoteType"]; + SIGNED_MSG_TYPE_PRECOMMIT = 2 [(gogoproto.enumvalue_customname) = "PrecommitType"]; + + // Proposals + SIGNED_MSG_TYPE_PROPOSAL = 32 [(gogoproto.enumvalue_customname) = "ProposalType"]; +} + +// PartsetHeader +message PartSetHeader { + uint32 total = 1; + bytes hash = 2; +} + +message Part { + uint32 index = 1; + bytes bytes = 2; + tendermint.crypto.Proof proof = 3 [(gogoproto.nullable) = false]; +} + +// BlockID +message BlockID { + bytes hash = 1; + PartSetHeader part_set_header = 2 [(gogoproto.nullable) = false]; +} + +// -------------------------------- + +// Header defines the structure of a Tendermint block header. +message Header { + // basic block info + tendermint.version.Consensus version = 1 [(gogoproto.nullable) = false]; + string chain_id = 2 [(gogoproto.customname) = "ChainID"]; + int64 height = 3; + google.protobuf.Timestamp time = 4 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + + // prev block info + BlockID last_block_id = 5 [(gogoproto.nullable) = false]; + + // hashes of block data + bytes last_commit_hash = 6; // commit from validators from the last block + bytes data_hash = 7; // transactions + + // hashes from the app output from the prev block + bytes validators_hash = 8; // validators for the current block + bytes next_validators_hash = 9; // validators for the next block + bytes consensus_hash = 10; // consensus params for current block + bytes app_hash = 11; // state after txs from the previous block + bytes last_results_hash = 12; // root hash of all results from the txs from the previous block + + // consensus info + bytes evidence_hash = 13; // evidence included in the block + bytes proposer_address = 14; // original proposer of the block +} + +// Data contains the set of transactions included in the block +message Data { + // Txs that will be applied by state @ block.Height+1. + // NOTE: not all txs here are valid. We're just agreeing on the order first. + // This means that block.AppHash does not include these txs. + repeated bytes txs = 1; +} + +// Vote represents a prevote, precommit, or commit vote from validators for +// consensus. +message Vote { + SignedMsgType type = 1; + int64 height = 2; + int32 round = 3; + BlockID block_id = 4 + [(gogoproto.nullable) = false, (gogoproto.customname) = "BlockID"]; // zero if vote is nil. + google.protobuf.Timestamp timestamp = 5 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + bytes validator_address = 6; + int32 validator_index = 7; + bytes signature = 8; +} + +// Commit contains the evidence that a block was committed by a set of validators. +message Commit { + int64 height = 1; + int32 round = 2; + BlockID block_id = 3 [(gogoproto.nullable) = false, (gogoproto.customname) = "BlockID"]; + repeated CommitSig signatures = 4 [(gogoproto.nullable) = false]; +} + +// CommitSig is a part of the Vote included in a Commit. +message CommitSig { + BlockIDFlag block_id_flag = 1; + bytes validator_address = 2; + google.protobuf.Timestamp timestamp = 3 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + bytes signature = 4; +} + +message Proposal { + SignedMsgType type = 1; + int64 height = 2; + int32 round = 3; + int32 pol_round = 4; + BlockID block_id = 5 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; + google.protobuf.Timestamp timestamp = 6 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + bytes signature = 7; +} + +message SignedHeader { + Header header = 1; + Commit commit = 2; +} + +message LightBlock { + SignedHeader signed_header = 1; + tendermint.types.ValidatorSet validator_set = 2; +} + +message BlockMeta { + BlockID block_id = 1 [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; + int64 block_size = 2; + Header header = 3 [(gogoproto.nullable) = false]; + int64 num_txs = 4; +} + +// TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. +message TxProof { + bytes root_hash = 1; + bytes data = 2; + tendermint.crypto.Proof proof = 3; +} diff --git a/proto/abci/types/validator.proto b/proto/abci/types/validator.proto new file mode 100644 index 0000000..49860b9 --- /dev/null +++ b/proto/abci/types/validator.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; +package tendermint.types; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; + +import "gogoproto/gogo.proto"; +import "tendermint/crypto/keys.proto"; + +message ValidatorSet { + repeated Validator validators = 1; + Validator proposer = 2; + int64 total_voting_power = 3; +} + +message Validator { + bytes address = 1; + tendermint.crypto.PublicKey pub_key = 2 [(gogoproto.nullable) = false]; + int64 voting_power = 3; + int64 proposer_priority = 4; +} + +message SimpleValidator { + tendermint.crypto.PublicKey pub_key = 1; + int64 voting_power = 2; +} diff --git a/proto/abci/version/types.proto b/proto/abci/version/types.proto new file mode 100644 index 0000000..6061868 --- /dev/null +++ b/proto/abci/version/types.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; +package tendermint.version; + +option go_package = "github.com/tendermint/tendermint/proto/tendermint/version"; + +import "gogoproto/gogo.proto"; + +// App includes the protocol and software version for the application. +// This information is included in ResponseInfo. The App.Protocol can be +// updated in ResponseEndBlock. +message App { + uint64 protocol = 1; + string software = 2; +} + +// Consensus captures the consensus rules for processing a block in the blockchain, +// including all blockchain data structures and the rules of the application's +// state transition machine. +message Consensus { + option (gogoproto.equal) = true; + + uint64 block = 1; + uint64 app = 2; +} diff --git a/src/connection.js b/src/connection.js index 93cfc55..65157fb 100644 --- a/src/connection.js +++ b/src/connection.js @@ -4,7 +4,7 @@ const EventEmitter = require('events') const BufferList = require('bl') const debug = require('debug')('abci') const { varint } = require('protocol-buffers-encodings') -const { Request, Response } = require('../types.js').abci +const { Request, Response } = require('../types.js').tendermint.abci const MAX_MESSAGE_SIZE = 104857600 // 100mb diff --git a/types.js b/types.js index 8a21bad..0fedb32 100644 --- a/types.js +++ b/types.js @@ -9,11205 +9,9639 @@ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.ut // Exported root namespace var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); -$root.abci = (function() { +$root.tendermint = (function() { /** - * Namespace abci. - * @exports abci + * Namespace tendermint. + * @exports tendermint * @namespace */ - var abci = {}; + var tendermint = {}; - abci.Request = (function() { + tendermint.abci = (function() { /** - * Properties of a Request. - * @memberof abci - * @interface IRequest - * @property {abci.IRequestEcho|null} [echo] Request echo - * @property {abci.IRequestFlush|null} [flush] Request flush - * @property {abci.IRequestInfo|null} [info] Request info - * @property {abci.IRequestSetOption|null} [setOption] Request setOption - * @property {abci.IRequestInitChain|null} [initChain] Request initChain - * @property {abci.IRequestQuery|null} [query] Request query - * @property {abci.IRequestBeginBlock|null} [beginBlock] Request beginBlock - * @property {abci.IRequestCheckTx|null} [checkTx] Request checkTx - * @property {abci.IRequestDeliverTx|null} [deliverTx] Request deliverTx - * @property {abci.IRequestEndBlock|null} [endBlock] Request endBlock - * @property {abci.IRequestCommit|null} [commit] Request commit + * Namespace abci. + * @memberof tendermint + * @namespace */ + var abci = {}; - /** - * Constructs a new Request. - * @memberof abci - * @classdesc Represents a Request. - * @implements IRequest - * @constructor - * @param {abci.IRequest=} [properties] Properties to set - */ - function Request(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + abci.Request = (function() { - /** - * Request echo. - * @member {abci.IRequestEcho|null|undefined} echo - * @memberof abci.Request - * @instance - */ - Request.prototype.echo = null; + /** + * Properties of a Request. + * @memberof tendermint.abci + * @interface IRequest + * @property {tendermint.abci.IRequestEcho|null} [echo] Request echo + * @property {tendermint.abci.IRequestFlush|null} [flush] Request flush + * @property {tendermint.abci.IRequestInfo|null} [info] Request info + * @property {tendermint.abci.IRequestSetOption|null} [setOption] Request setOption + * @property {tendermint.abci.IRequestInitChain|null} [initChain] Request initChain + * @property {tendermint.abci.IRequestQuery|null} [query] Request query + * @property {tendermint.abci.IRequestBeginBlock|null} [beginBlock] Request beginBlock + * @property {tendermint.abci.IRequestCheckTx|null} [checkTx] Request checkTx + * @property {tendermint.abci.IRequestDeliverTx|null} [deliverTx] Request deliverTx + * @property {tendermint.abci.IRequestEndBlock|null} [endBlock] Request endBlock + * @property {tendermint.abci.IRequestCommit|null} [commit] Request commit + * @property {tendermint.abci.IRequestListSnapshots|null} [listSnapshots] Request listSnapshots + * @property {tendermint.abci.IRequestOfferSnapshot|null} [offerSnapshot] Request offerSnapshot + * @property {tendermint.abci.IRequestLoadSnapshotChunk|null} [loadSnapshotChunk] Request loadSnapshotChunk + * @property {tendermint.abci.IRequestApplySnapshotChunk|null} [applySnapshotChunk] Request applySnapshotChunk + */ - /** - * Request flush. - * @member {abci.IRequestFlush|null|undefined} flush - * @memberof abci.Request - * @instance - */ - Request.prototype.flush = null; + /** + * Constructs a new Request. + * @memberof tendermint.abci + * @classdesc Represents a Request. + * @implements IRequest + * @constructor + * @param {tendermint.abci.IRequest=} [properties] Properties to set + */ + function Request(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Request info. - * @member {abci.IRequestInfo|null|undefined} info - * @memberof abci.Request - * @instance - */ - Request.prototype.info = null; + /** + * Request echo. + * @member {tendermint.abci.IRequestEcho|null|undefined} echo + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.echo = null; - /** - * Request setOption. - * @member {abci.IRequestSetOption|null|undefined} setOption - * @memberof abci.Request - * @instance - */ - Request.prototype.setOption = null; + /** + * Request flush. + * @member {tendermint.abci.IRequestFlush|null|undefined} flush + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.flush = null; - /** - * Request initChain. - * @member {abci.IRequestInitChain|null|undefined} initChain - * @memberof abci.Request - * @instance - */ - Request.prototype.initChain = null; + /** + * Request info. + * @member {tendermint.abci.IRequestInfo|null|undefined} info + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.info = null; - /** - * Request query. - * @member {abci.IRequestQuery|null|undefined} query - * @memberof abci.Request - * @instance - */ - Request.prototype.query = null; + /** + * Request setOption. + * @member {tendermint.abci.IRequestSetOption|null|undefined} setOption + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.setOption = null; - /** - * Request beginBlock. - * @member {abci.IRequestBeginBlock|null|undefined} beginBlock - * @memberof abci.Request - * @instance - */ - Request.prototype.beginBlock = null; + /** + * Request initChain. + * @member {tendermint.abci.IRequestInitChain|null|undefined} initChain + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.initChain = null; - /** - * Request checkTx. - * @member {abci.IRequestCheckTx|null|undefined} checkTx - * @memberof abci.Request - * @instance - */ - Request.prototype.checkTx = null; + /** + * Request query. + * @member {tendermint.abci.IRequestQuery|null|undefined} query + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.query = null; - /** - * Request deliverTx. - * @member {abci.IRequestDeliverTx|null|undefined} deliverTx - * @memberof abci.Request - * @instance - */ - Request.prototype.deliverTx = null; + /** + * Request beginBlock. + * @member {tendermint.abci.IRequestBeginBlock|null|undefined} beginBlock + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.beginBlock = null; - /** - * Request endBlock. - * @member {abci.IRequestEndBlock|null|undefined} endBlock - * @memberof abci.Request - * @instance - */ - Request.prototype.endBlock = null; + /** + * Request checkTx. + * @member {tendermint.abci.IRequestCheckTx|null|undefined} checkTx + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.checkTx = null; - /** - * Request commit. - * @member {abci.IRequestCommit|null|undefined} commit - * @memberof abci.Request - * @instance - */ - Request.prototype.commit = null; + /** + * Request deliverTx. + * @member {tendermint.abci.IRequestDeliverTx|null|undefined} deliverTx + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.deliverTx = null; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Request endBlock. + * @member {tendermint.abci.IRequestEndBlock|null|undefined} endBlock + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.endBlock = null; - /** - * Request value. - * @member {"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|undefined} value - * @memberof abci.Request - * @instance - */ - Object.defineProperty(Request.prototype, "value", { - get: $util.oneOfGetter($oneOfFields = ["echo", "flush", "info", "setOption", "initChain", "query", "beginBlock", "checkTx", "deliverTx", "endBlock", "commit"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Request commit. + * @member {tendermint.abci.IRequestCommit|null|undefined} commit + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.commit = null; - /** - * Creates a new Request instance using the specified properties. - * @function create - * @memberof abci.Request - * @static - * @param {abci.IRequest=} [properties] Properties to set - * @returns {abci.Request} Request instance - */ - Request.create = function create(properties) { - return new Request(properties); - }; + /** + * Request listSnapshots. + * @member {tendermint.abci.IRequestListSnapshots|null|undefined} listSnapshots + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.listSnapshots = null; - /** - * Encodes the specified Request message. Does not implicitly {@link abci.Request.verify|verify} messages. - * @function encode - * @memberof abci.Request - * @static - * @param {abci.IRequest} message Request message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Request.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.echo != null && message.hasOwnProperty("echo")) - $root.abci.RequestEcho.encode(message.echo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.flush != null && message.hasOwnProperty("flush")) - $root.abci.RequestFlush.encode(message.flush, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.info != null && message.hasOwnProperty("info")) - $root.abci.RequestInfo.encode(message.info, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.setOption != null && message.hasOwnProperty("setOption")) - $root.abci.RequestSetOption.encode(message.setOption, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.initChain != null && message.hasOwnProperty("initChain")) - $root.abci.RequestInitChain.encode(message.initChain, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.query != null && message.hasOwnProperty("query")) - $root.abci.RequestQuery.encode(message.query, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) - $root.abci.RequestBeginBlock.encode(message.beginBlock, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.checkTx != null && message.hasOwnProperty("checkTx")) - $root.abci.RequestCheckTx.encode(message.checkTx, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.endBlock != null && message.hasOwnProperty("endBlock")) - $root.abci.RequestEndBlock.encode(message.endBlock, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.commit != null && message.hasOwnProperty("commit")) - $root.abci.RequestCommit.encode(message.commit, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) - $root.abci.RequestDeliverTx.encode(message.deliverTx, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); - return writer; - }; + /** + * Request offerSnapshot. + * @member {tendermint.abci.IRequestOfferSnapshot|null|undefined} offerSnapshot + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.offerSnapshot = null; - /** - * Encodes the specified Request message, length delimited. Does not implicitly {@link abci.Request.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Request - * @static - * @param {abci.IRequest} message Request message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Request.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Request loadSnapshotChunk. + * @member {tendermint.abci.IRequestLoadSnapshotChunk|null|undefined} loadSnapshotChunk + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.loadSnapshotChunk = null; - /** - * Decodes a Request message from the specified reader or buffer. - * @function decode - * @memberof abci.Request - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Request} Request - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Request.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Request(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.echo = $root.abci.RequestEcho.decode(reader, reader.uint32()); - break; - case 3: - message.flush = $root.abci.RequestFlush.decode(reader, reader.uint32()); - break; - case 4: - message.info = $root.abci.RequestInfo.decode(reader, reader.uint32()); - break; - case 5: - message.setOption = $root.abci.RequestSetOption.decode(reader, reader.uint32()); - break; - case 6: - message.initChain = $root.abci.RequestInitChain.decode(reader, reader.uint32()); - break; - case 7: - message.query = $root.abci.RequestQuery.decode(reader, reader.uint32()); - break; - case 8: - message.beginBlock = $root.abci.RequestBeginBlock.decode(reader, reader.uint32()); - break; - case 9: - message.checkTx = $root.abci.RequestCheckTx.decode(reader, reader.uint32()); - break; - case 19: - message.deliverTx = $root.abci.RequestDeliverTx.decode(reader, reader.uint32()); - break; - case 11: - message.endBlock = $root.abci.RequestEndBlock.decode(reader, reader.uint32()); - break; - case 12: - message.commit = $root.abci.RequestCommit.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Request applySnapshotChunk. + * @member {tendermint.abci.IRequestApplySnapshotChunk|null|undefined} applySnapshotChunk + * @memberof tendermint.abci.Request + * @instance + */ + Request.prototype.applySnapshotChunk = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Request value. + * @member {"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|"listSnapshots"|"offerSnapshot"|"loadSnapshotChunk"|"applySnapshotChunk"|undefined} value + * @memberof tendermint.abci.Request + * @instance + */ + Object.defineProperty(Request.prototype, "value", { + get: $util.oneOfGetter($oneOfFields = ["echo", "flush", "info", "setOption", "initChain", "query", "beginBlock", "checkTx", "deliverTx", "endBlock", "commit", "listSnapshots", "offerSnapshot", "loadSnapshotChunk", "applySnapshotChunk"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Request instance using the specified properties. + * @function create + * @memberof tendermint.abci.Request + * @static + * @param {tendermint.abci.IRequest=} [properties] Properties to set + * @returns {tendermint.abci.Request} Request instance + */ + Request.create = function create(properties) { + return new Request(properties); + }; + + /** + * Encodes the specified Request message. Does not implicitly {@link tendermint.abci.Request.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.Request + * @static + * @param {tendermint.abci.IRequest} message Request message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Request.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.echo != null && Object.hasOwnProperty.call(message, "echo")) + $root.tendermint.abci.RequestEcho.encode(message.echo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.flush != null && Object.hasOwnProperty.call(message, "flush")) + $root.tendermint.abci.RequestFlush.encode(message.flush, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + $root.tendermint.abci.RequestInfo.encode(message.info, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.setOption != null && Object.hasOwnProperty.call(message, "setOption")) + $root.tendermint.abci.RequestSetOption.encode(message.setOption, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.initChain != null && Object.hasOwnProperty.call(message, "initChain")) + $root.tendermint.abci.RequestInitChain.encode(message.initChain, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + $root.tendermint.abci.RequestQuery.encode(message.query, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.beginBlock != null && Object.hasOwnProperty.call(message, "beginBlock")) + $root.tendermint.abci.RequestBeginBlock.encode(message.beginBlock, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.checkTx != null && Object.hasOwnProperty.call(message, "checkTx")) + $root.tendermint.abci.RequestCheckTx.encode(message.checkTx, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.deliverTx != null && Object.hasOwnProperty.call(message, "deliverTx")) + $root.tendermint.abci.RequestDeliverTx.encode(message.deliverTx, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.endBlock != null && Object.hasOwnProperty.call(message, "endBlock")) + $root.tendermint.abci.RequestEndBlock.encode(message.endBlock, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.commit != null && Object.hasOwnProperty.call(message, "commit")) + $root.tendermint.abci.RequestCommit.encode(message.commit, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.listSnapshots != null && Object.hasOwnProperty.call(message, "listSnapshots")) + $root.tendermint.abci.RequestListSnapshots.encode(message.listSnapshots, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.offerSnapshot != null && Object.hasOwnProperty.call(message, "offerSnapshot")) + $root.tendermint.abci.RequestOfferSnapshot.encode(message.offerSnapshot, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.loadSnapshotChunk != null && Object.hasOwnProperty.call(message, "loadSnapshotChunk")) + $root.tendermint.abci.RequestLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.applySnapshotChunk != null && Object.hasOwnProperty.call(message, "applySnapshotChunk")) + $root.tendermint.abci.RequestApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Request message, length delimited. Does not implicitly {@link tendermint.abci.Request.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.Request + * @static + * @param {tendermint.abci.IRequest} message Request message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Request.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Request message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.Request + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.Request} Request + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Request.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Request(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.echo = $root.tendermint.abci.RequestEcho.decode(reader, reader.uint32()); + break; + case 2: + message.flush = $root.tendermint.abci.RequestFlush.decode(reader, reader.uint32()); + break; + case 3: + message.info = $root.tendermint.abci.RequestInfo.decode(reader, reader.uint32()); + break; + case 4: + message.setOption = $root.tendermint.abci.RequestSetOption.decode(reader, reader.uint32()); + break; + case 5: + message.initChain = $root.tendermint.abci.RequestInitChain.decode(reader, reader.uint32()); + break; + case 6: + message.query = $root.tendermint.abci.RequestQuery.decode(reader, reader.uint32()); + break; + case 7: + message.beginBlock = $root.tendermint.abci.RequestBeginBlock.decode(reader, reader.uint32()); + break; + case 8: + message.checkTx = $root.tendermint.abci.RequestCheckTx.decode(reader, reader.uint32()); + break; + case 9: + message.deliverTx = $root.tendermint.abci.RequestDeliverTx.decode(reader, reader.uint32()); + break; + case 10: + message.endBlock = $root.tendermint.abci.RequestEndBlock.decode(reader, reader.uint32()); + break; + case 11: + message.commit = $root.tendermint.abci.RequestCommit.decode(reader, reader.uint32()); + break; + case 12: + message.listSnapshots = $root.tendermint.abci.RequestListSnapshots.decode(reader, reader.uint32()); + break; + case 13: + message.offerSnapshot = $root.tendermint.abci.RequestOfferSnapshot.decode(reader, reader.uint32()); + break; + case 14: + message.loadSnapshotChunk = $root.tendermint.abci.RequestLoadSnapshotChunk.decode(reader, reader.uint32()); + break; + case 15: + message.applySnapshotChunk = $root.tendermint.abci.RequestApplySnapshotChunk.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a Request message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Request - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Request} Request - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Request.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a Request message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.Request + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.Request} Request + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Request.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a Request message. - * @function verify - * @memberof abci.Request - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Request.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.echo != null && message.hasOwnProperty("echo")) { - properties.value = 1; - { - var error = $root.abci.RequestEcho.verify(message.echo); - if (error) - return "echo." + error; + /** + * Verifies a Request message. + * @function verify + * @memberof tendermint.abci.Request + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Request.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.echo != null && message.hasOwnProperty("echo")) { + properties.value = 1; + { + var error = $root.tendermint.abci.RequestEcho.verify(message.echo); + if (error) + return "echo." + error; + } } - } - if (message.flush != null && message.hasOwnProperty("flush")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestFlush.verify(message.flush); - if (error) - return "flush." + error; + if (message.flush != null && message.hasOwnProperty("flush")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestFlush.verify(message.flush); + if (error) + return "flush." + error; + } } - } - if (message.info != null && message.hasOwnProperty("info")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestInfo.verify(message.info); - if (error) - return "info." + error; + if (message.info != null && message.hasOwnProperty("info")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestInfo.verify(message.info); + if (error) + return "info." + error; + } } - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestSetOption.verify(message.setOption); - if (error) - return "setOption." + error; + if (message.setOption != null && message.hasOwnProperty("setOption")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestSetOption.verify(message.setOption); + if (error) + return "setOption." + error; + } } - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestInitChain.verify(message.initChain); - if (error) - return "initChain." + error; + if (message.initChain != null && message.hasOwnProperty("initChain")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestInitChain.verify(message.initChain); + if (error) + return "initChain." + error; + } } - } - if (message.query != null && message.hasOwnProperty("query")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestQuery.verify(message.query); - if (error) - return "query." + error; + if (message.query != null && message.hasOwnProperty("query")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestQuery.verify(message.query); + if (error) + return "query." + error; + } } - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestBeginBlock.verify(message.beginBlock); - if (error) - return "beginBlock." + error; + if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestBeginBlock.verify(message.beginBlock); + if (error) + return "beginBlock." + error; + } } - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestCheckTx.verify(message.checkTx); - if (error) - return "checkTx." + error; + if (message.checkTx != null && message.hasOwnProperty("checkTx")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestCheckTx.verify(message.checkTx); + if (error) + return "checkTx." + error; + } } - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestDeliverTx.verify(message.deliverTx); - if (error) - return "deliverTx." + error; + if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestDeliverTx.verify(message.deliverTx); + if (error) + return "deliverTx." + error; + } } - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestEndBlock.verify(message.endBlock); - if (error) - return "endBlock." + error; + if (message.endBlock != null && message.hasOwnProperty("endBlock")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestEndBlock.verify(message.endBlock); + if (error) + return "endBlock." + error; + } } - } - if (message.commit != null && message.hasOwnProperty("commit")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.RequestCommit.verify(message.commit); - if (error) - return "commit." + error; + if (message.commit != null && message.hasOwnProperty("commit")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestCommit.verify(message.commit); + if (error) + return "commit." + error; + } } - } - return null; - }; + if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestListSnapshots.verify(message.listSnapshots); + if (error) + return "listSnapshots." + error; + } + } + if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestOfferSnapshot.verify(message.offerSnapshot); + if (error) + return "offerSnapshot." + error; + } + } + if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestLoadSnapshotChunk.verify(message.loadSnapshotChunk); + if (error) + return "loadSnapshotChunk." + error; + } + } + if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.RequestApplySnapshotChunk.verify(message.applySnapshotChunk); + if (error) + return "applySnapshotChunk." + error; + } + } + return null; + }; - /** - * Creates a Request message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Request - * @static - * @param {Object.} object Plain object - * @returns {abci.Request} Request - */ - Request.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Request) - return object; - var message = new $root.abci.Request(); - if (object.echo != null) { - if (typeof object.echo !== "object") - throw TypeError(".abci.Request.echo: object expected"); - message.echo = $root.abci.RequestEcho.fromObject(object.echo); - } - if (object.flush != null) { - if (typeof object.flush !== "object") - throw TypeError(".abci.Request.flush: object expected"); - message.flush = $root.abci.RequestFlush.fromObject(object.flush); - } - if (object.info != null) { - if (typeof object.info !== "object") - throw TypeError(".abci.Request.info: object expected"); - message.info = $root.abci.RequestInfo.fromObject(object.info); - } - if (object.setOption != null) { - if (typeof object.setOption !== "object") - throw TypeError(".abci.Request.setOption: object expected"); - message.setOption = $root.abci.RequestSetOption.fromObject(object.setOption); - } - if (object.initChain != null) { - if (typeof object.initChain !== "object") - throw TypeError(".abci.Request.initChain: object expected"); - message.initChain = $root.abci.RequestInitChain.fromObject(object.initChain); - } - if (object.query != null) { - if (typeof object.query !== "object") - throw TypeError(".abci.Request.query: object expected"); - message.query = $root.abci.RequestQuery.fromObject(object.query); - } - if (object.beginBlock != null) { - if (typeof object.beginBlock !== "object") - throw TypeError(".abci.Request.beginBlock: object expected"); - message.beginBlock = $root.abci.RequestBeginBlock.fromObject(object.beginBlock); - } - if (object.checkTx != null) { - if (typeof object.checkTx !== "object") - throw TypeError(".abci.Request.checkTx: object expected"); - message.checkTx = $root.abci.RequestCheckTx.fromObject(object.checkTx); - } - if (object.deliverTx != null) { - if (typeof object.deliverTx !== "object") - throw TypeError(".abci.Request.deliverTx: object expected"); - message.deliverTx = $root.abci.RequestDeliverTx.fromObject(object.deliverTx); - } - if (object.endBlock != null) { - if (typeof object.endBlock !== "object") - throw TypeError(".abci.Request.endBlock: object expected"); - message.endBlock = $root.abci.RequestEndBlock.fromObject(object.endBlock); - } - if (object.commit != null) { - if (typeof object.commit !== "object") - throw TypeError(".abci.Request.commit: object expected"); - message.commit = $root.abci.RequestCommit.fromObject(object.commit); - } - return message; - }; + /** + * Creates a Request message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.Request + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.Request} Request + */ + Request.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.Request) + return object; + var message = new $root.tendermint.abci.Request(); + if (object.echo != null) { + if (typeof object.echo !== "object") + throw TypeError(".tendermint.abci.Request.echo: object expected"); + message.echo = $root.tendermint.abci.RequestEcho.fromObject(object.echo); + } + if (object.flush != null) { + if (typeof object.flush !== "object") + throw TypeError(".tendermint.abci.Request.flush: object expected"); + message.flush = $root.tendermint.abci.RequestFlush.fromObject(object.flush); + } + if (object.info != null) { + if (typeof object.info !== "object") + throw TypeError(".tendermint.abci.Request.info: object expected"); + message.info = $root.tendermint.abci.RequestInfo.fromObject(object.info); + } + if (object.setOption != null) { + if (typeof object.setOption !== "object") + throw TypeError(".tendermint.abci.Request.setOption: object expected"); + message.setOption = $root.tendermint.abci.RequestSetOption.fromObject(object.setOption); + } + if (object.initChain != null) { + if (typeof object.initChain !== "object") + throw TypeError(".tendermint.abci.Request.initChain: object expected"); + message.initChain = $root.tendermint.abci.RequestInitChain.fromObject(object.initChain); + } + if (object.query != null) { + if (typeof object.query !== "object") + throw TypeError(".tendermint.abci.Request.query: object expected"); + message.query = $root.tendermint.abci.RequestQuery.fromObject(object.query); + } + if (object.beginBlock != null) { + if (typeof object.beginBlock !== "object") + throw TypeError(".tendermint.abci.Request.beginBlock: object expected"); + message.beginBlock = $root.tendermint.abci.RequestBeginBlock.fromObject(object.beginBlock); + } + if (object.checkTx != null) { + if (typeof object.checkTx !== "object") + throw TypeError(".tendermint.abci.Request.checkTx: object expected"); + message.checkTx = $root.tendermint.abci.RequestCheckTx.fromObject(object.checkTx); + } + if (object.deliverTx != null) { + if (typeof object.deliverTx !== "object") + throw TypeError(".tendermint.abci.Request.deliverTx: object expected"); + message.deliverTx = $root.tendermint.abci.RequestDeliverTx.fromObject(object.deliverTx); + } + if (object.endBlock != null) { + if (typeof object.endBlock !== "object") + throw TypeError(".tendermint.abci.Request.endBlock: object expected"); + message.endBlock = $root.tendermint.abci.RequestEndBlock.fromObject(object.endBlock); + } + if (object.commit != null) { + if (typeof object.commit !== "object") + throw TypeError(".tendermint.abci.Request.commit: object expected"); + message.commit = $root.tendermint.abci.RequestCommit.fromObject(object.commit); + } + if (object.listSnapshots != null) { + if (typeof object.listSnapshots !== "object") + throw TypeError(".tendermint.abci.Request.listSnapshots: object expected"); + message.listSnapshots = $root.tendermint.abci.RequestListSnapshots.fromObject(object.listSnapshots); + } + if (object.offerSnapshot != null) { + if (typeof object.offerSnapshot !== "object") + throw TypeError(".tendermint.abci.Request.offerSnapshot: object expected"); + message.offerSnapshot = $root.tendermint.abci.RequestOfferSnapshot.fromObject(object.offerSnapshot); + } + if (object.loadSnapshotChunk != null) { + if (typeof object.loadSnapshotChunk !== "object") + throw TypeError(".tendermint.abci.Request.loadSnapshotChunk: object expected"); + message.loadSnapshotChunk = $root.tendermint.abci.RequestLoadSnapshotChunk.fromObject(object.loadSnapshotChunk); + } + if (object.applySnapshotChunk != null) { + if (typeof object.applySnapshotChunk !== "object") + throw TypeError(".tendermint.abci.Request.applySnapshotChunk: object expected"); + message.applySnapshotChunk = $root.tendermint.abci.RequestApplySnapshotChunk.fromObject(object.applySnapshotChunk); + } + return message; + }; - /** - * Creates a plain object from a Request message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Request - * @static - * @param {abci.Request} message Request - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Request.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.echo != null && message.hasOwnProperty("echo")) { - object.echo = $root.abci.RequestEcho.toObject(message.echo, options); - if (options.oneofs) - object.value = "echo"; - } - if (message.flush != null && message.hasOwnProperty("flush")) { - object.flush = $root.abci.RequestFlush.toObject(message.flush, options); - if (options.oneofs) - object.value = "flush"; - } - if (message.info != null && message.hasOwnProperty("info")) { - object.info = $root.abci.RequestInfo.toObject(message.info, options); - if (options.oneofs) - object.value = "info"; - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - object.setOption = $root.abci.RequestSetOption.toObject(message.setOption, options); - if (options.oneofs) - object.value = "setOption"; - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - object.initChain = $root.abci.RequestInitChain.toObject(message.initChain, options); - if (options.oneofs) - object.value = "initChain"; - } - if (message.query != null && message.hasOwnProperty("query")) { - object.query = $root.abci.RequestQuery.toObject(message.query, options); - if (options.oneofs) - object.value = "query"; - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - object.beginBlock = $root.abci.RequestBeginBlock.toObject(message.beginBlock, options); - if (options.oneofs) - object.value = "beginBlock"; - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - object.checkTx = $root.abci.RequestCheckTx.toObject(message.checkTx, options); - if (options.oneofs) - object.value = "checkTx"; - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - object.endBlock = $root.abci.RequestEndBlock.toObject(message.endBlock, options); - if (options.oneofs) - object.value = "endBlock"; - } - if (message.commit != null && message.hasOwnProperty("commit")) { - object.commit = $root.abci.RequestCommit.toObject(message.commit, options); - if (options.oneofs) - object.value = "commit"; - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - object.deliverTx = $root.abci.RequestDeliverTx.toObject(message.deliverTx, options); - if (options.oneofs) - object.value = "deliverTx"; - } - return object; - }; + /** + * Creates a plain object from a Request message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.Request + * @static + * @param {tendermint.abci.Request} message Request + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Request.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.echo != null && message.hasOwnProperty("echo")) { + object.echo = $root.tendermint.abci.RequestEcho.toObject(message.echo, options); + if (options.oneofs) + object.value = "echo"; + } + if (message.flush != null && message.hasOwnProperty("flush")) { + object.flush = $root.tendermint.abci.RequestFlush.toObject(message.flush, options); + if (options.oneofs) + object.value = "flush"; + } + if (message.info != null && message.hasOwnProperty("info")) { + object.info = $root.tendermint.abci.RequestInfo.toObject(message.info, options); + if (options.oneofs) + object.value = "info"; + } + if (message.setOption != null && message.hasOwnProperty("setOption")) { + object.setOption = $root.tendermint.abci.RequestSetOption.toObject(message.setOption, options); + if (options.oneofs) + object.value = "setOption"; + } + if (message.initChain != null && message.hasOwnProperty("initChain")) { + object.initChain = $root.tendermint.abci.RequestInitChain.toObject(message.initChain, options); + if (options.oneofs) + object.value = "initChain"; + } + if (message.query != null && message.hasOwnProperty("query")) { + object.query = $root.tendermint.abci.RequestQuery.toObject(message.query, options); + if (options.oneofs) + object.value = "query"; + } + if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { + object.beginBlock = $root.tendermint.abci.RequestBeginBlock.toObject(message.beginBlock, options); + if (options.oneofs) + object.value = "beginBlock"; + } + if (message.checkTx != null && message.hasOwnProperty("checkTx")) { + object.checkTx = $root.tendermint.abci.RequestCheckTx.toObject(message.checkTx, options); + if (options.oneofs) + object.value = "checkTx"; + } + if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { + object.deliverTx = $root.tendermint.abci.RequestDeliverTx.toObject(message.deliverTx, options); + if (options.oneofs) + object.value = "deliverTx"; + } + if (message.endBlock != null && message.hasOwnProperty("endBlock")) { + object.endBlock = $root.tendermint.abci.RequestEndBlock.toObject(message.endBlock, options); + if (options.oneofs) + object.value = "endBlock"; + } + if (message.commit != null && message.hasOwnProperty("commit")) { + object.commit = $root.tendermint.abci.RequestCommit.toObject(message.commit, options); + if (options.oneofs) + object.value = "commit"; + } + if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { + object.listSnapshots = $root.tendermint.abci.RequestListSnapshots.toObject(message.listSnapshots, options); + if (options.oneofs) + object.value = "listSnapshots"; + } + if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { + object.offerSnapshot = $root.tendermint.abci.RequestOfferSnapshot.toObject(message.offerSnapshot, options); + if (options.oneofs) + object.value = "offerSnapshot"; + } + if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { + object.loadSnapshotChunk = $root.tendermint.abci.RequestLoadSnapshotChunk.toObject(message.loadSnapshotChunk, options); + if (options.oneofs) + object.value = "loadSnapshotChunk"; + } + if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { + object.applySnapshotChunk = $root.tendermint.abci.RequestApplySnapshotChunk.toObject(message.applySnapshotChunk, options); + if (options.oneofs) + object.value = "applySnapshotChunk"; + } + return object; + }; - /** - * Converts this Request to JSON. - * @function toJSON - * @memberof abci.Request - * @instance - * @returns {Object.} JSON object - */ - Request.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this Request to JSON. + * @function toJSON + * @memberof tendermint.abci.Request + * @instance + * @returns {Object.} JSON object + */ + Request.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return Request; - })(); + return Request; + })(); - abci.RequestEcho = (function() { + abci.RequestEcho = (function() { - /** - * Properties of a RequestEcho. - * @memberof abci - * @interface IRequestEcho - * @property {string|null} [message] RequestEcho message - */ + /** + * Properties of a RequestEcho. + * @memberof tendermint.abci + * @interface IRequestEcho + * @property {string|null} [message] RequestEcho message + */ - /** - * Constructs a new RequestEcho. - * @memberof abci - * @classdesc Represents a RequestEcho. - * @implements IRequestEcho - * @constructor - * @param {abci.IRequestEcho=} [properties] Properties to set - */ - function RequestEcho(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new RequestEcho. + * @memberof tendermint.abci + * @classdesc Represents a RequestEcho. + * @implements IRequestEcho + * @constructor + * @param {tendermint.abci.IRequestEcho=} [properties] Properties to set + */ + function RequestEcho(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * RequestEcho message. - * @member {string} message - * @memberof abci.RequestEcho - * @instance - */ - RequestEcho.prototype.message = ""; + /** + * RequestEcho message. + * @member {string} message + * @memberof tendermint.abci.RequestEcho + * @instance + */ + RequestEcho.prototype.message = ""; - /** - * Creates a new RequestEcho instance using the specified properties. - * @function create - * @memberof abci.RequestEcho - * @static - * @param {abci.IRequestEcho=} [properties] Properties to set - * @returns {abci.RequestEcho} RequestEcho instance - */ - RequestEcho.create = function create(properties) { - return new RequestEcho(properties); - }; + /** + * Creates a new RequestEcho instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestEcho + * @static + * @param {tendermint.abci.IRequestEcho=} [properties] Properties to set + * @returns {tendermint.abci.RequestEcho} RequestEcho instance + */ + RequestEcho.create = function create(properties) { + return new RequestEcho(properties); + }; - /** - * Encodes the specified RequestEcho message. Does not implicitly {@link abci.RequestEcho.verify|verify} messages. - * @function encode - * @memberof abci.RequestEcho - * @static - * @param {abci.IRequestEcho} message RequestEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEcho.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.message != null && message.hasOwnProperty("message")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.message); - return writer; - }; + /** + * Encodes the specified RequestEcho message. Does not implicitly {@link tendermint.abci.RequestEcho.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestEcho + * @static + * @param {tendermint.abci.IRequestEcho} message RequestEcho message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestEcho.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.message != null && Object.hasOwnProperty.call(message, "message")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.message); + return writer; + }; - /** - * Encodes the specified RequestEcho message, length delimited. Does not implicitly {@link abci.RequestEcho.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestEcho - * @static - * @param {abci.IRequestEcho} message RequestEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEcho.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestEcho message, length delimited. Does not implicitly {@link tendermint.abci.RequestEcho.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestEcho + * @static + * @param {tendermint.abci.IRequestEcho} message RequestEcho message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestEcho.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a RequestEcho message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestEcho} RequestEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEcho.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestEcho(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.message = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestEcho message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestEcho + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestEcho} RequestEcho + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestEcho.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestEcho(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.message = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; - - /** - * Decodes a RequestEcho message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestEcho} RequestEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEcho.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestEcho message. - * @function verify - * @memberof abci.RequestEcho - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestEcho.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.message != null && message.hasOwnProperty("message")) - if (!$util.isString(message.message)) - return "message: string expected"; - return null; - }; - - /** - * Creates a RequestEcho message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestEcho - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestEcho} RequestEcho - */ - RequestEcho.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestEcho) - return object; - var message = new $root.abci.RequestEcho(); - if (object.message != null) - message.message = String(object.message); - return message; - }; - - /** - * Creates a plain object from a RequestEcho message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestEcho - * @static - * @param {abci.RequestEcho} message RequestEcho - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestEcho.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.message = ""; - if (message.message != null && message.hasOwnProperty("message")) - object.message = message.message; - return object; - }; + return message; + }; - /** - * Converts this RequestEcho to JSON. - * @function toJSON - * @memberof abci.RequestEcho - * @instance - * @returns {Object.} JSON object - */ - RequestEcho.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a RequestEcho message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestEcho + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestEcho} RequestEcho + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestEcho.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - return RequestEcho; - })(); + /** + * Verifies a RequestEcho message. + * @function verify + * @memberof tendermint.abci.RequestEcho + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestEcho.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.message != null && message.hasOwnProperty("message")) + if (!$util.isString(message.message)) + return "message: string expected"; + return null; + }; - abci.RequestFlush = (function() { + /** + * Creates a RequestEcho message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestEcho + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestEcho} RequestEcho + */ + RequestEcho.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestEcho) + return object; + var message = new $root.tendermint.abci.RequestEcho(); + if (object.message != null) + message.message = String(object.message); + return message; + }; - /** - * Properties of a RequestFlush. - * @memberof abci - * @interface IRequestFlush - */ + /** + * Creates a plain object from a RequestEcho message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestEcho + * @static + * @param {tendermint.abci.RequestEcho} message RequestEcho + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestEcho.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.message = ""; + if (message.message != null && message.hasOwnProperty("message")) + object.message = message.message; + return object; + }; - /** - * Constructs a new RequestFlush. - * @memberof abci - * @classdesc Represents a RequestFlush. - * @implements IRequestFlush - * @constructor - * @param {abci.IRequestFlush=} [properties] Properties to set - */ - function RequestFlush(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Converts this RequestEcho to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestEcho + * @instance + * @returns {Object.} JSON object + */ + RequestEcho.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new RequestFlush instance using the specified properties. - * @function create - * @memberof abci.RequestFlush - * @static - * @param {abci.IRequestFlush=} [properties] Properties to set - * @returns {abci.RequestFlush} RequestFlush instance - */ - RequestFlush.create = function create(properties) { - return new RequestFlush(properties); - }; + return RequestEcho; + })(); - /** - * Encodes the specified RequestFlush message. Does not implicitly {@link abci.RequestFlush.verify|verify} messages. - * @function encode - * @memberof abci.RequestFlush - * @static - * @param {abci.IRequestFlush} message RequestFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestFlush.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; + abci.RequestFlush = (function() { - /** - * Encodes the specified RequestFlush message, length delimited. Does not implicitly {@link abci.RequestFlush.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestFlush - * @static - * @param {abci.IRequestFlush} message RequestFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestFlush.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a RequestFlush. + * @memberof tendermint.abci + * @interface IRequestFlush + */ - /** - * Decodes a RequestFlush message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestFlush} RequestFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestFlush.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestFlush(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } + /** + * Constructs a new RequestFlush. + * @memberof tendermint.abci + * @classdesc Represents a RequestFlush. + * @implements IRequestFlush + * @constructor + * @param {tendermint.abci.IRequestFlush=} [properties] Properties to set + */ + function RequestFlush(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - /** - * Decodes a RequestFlush message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestFlush} RequestFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestFlush.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a new RequestFlush instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestFlush + * @static + * @param {tendermint.abci.IRequestFlush=} [properties] Properties to set + * @returns {tendermint.abci.RequestFlush} RequestFlush instance + */ + RequestFlush.create = function create(properties) { + return new RequestFlush(properties); + }; - /** - * Verifies a RequestFlush message. - * @function verify - * @memberof abci.RequestFlush - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestFlush.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a RequestFlush message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestFlush - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestFlush} RequestFlush - */ - RequestFlush.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestFlush) - return object; - return new $root.abci.RequestFlush(); - }; - - /** - * Creates a plain object from a RequestFlush message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestFlush - * @static - * @param {abci.RequestFlush} message RequestFlush - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestFlush.toObject = function toObject() { - return {}; - }; - - /** - * Converts this RequestFlush to JSON. - * @function toJSON - * @memberof abci.RequestFlush - * @instance - * @returns {Object.} JSON object - */ - RequestFlush.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestFlush; - })(); - - abci.RequestInfo = (function() { - - /** - * Properties of a RequestInfo. - * @memberof abci - * @interface IRequestInfo - * @property {string|null} [version] RequestInfo version - * @property {number|Long|null} [blockVersion] RequestInfo blockVersion - * @property {number|Long|null} [p2pVersion] RequestInfo p2pVersion - */ - - /** - * Constructs a new RequestInfo. - * @memberof abci - * @classdesc Represents a RequestInfo. - * @implements IRequestInfo - * @constructor - * @param {abci.IRequestInfo=} [properties] Properties to set - */ - function RequestInfo(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Encodes the specified RequestFlush message. Does not implicitly {@link tendermint.abci.RequestFlush.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestFlush + * @static + * @param {tendermint.abci.IRequestFlush} message RequestFlush message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestFlush.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; - /** - * RequestInfo version. - * @member {string} version - * @memberof abci.RequestInfo - * @instance - */ - RequestInfo.prototype.version = ""; + /** + * Encodes the specified RequestFlush message, length delimited. Does not implicitly {@link tendermint.abci.RequestFlush.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestFlush + * @static + * @param {tendermint.abci.IRequestFlush} message RequestFlush message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestFlush.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * RequestInfo blockVersion. - * @member {number|Long} blockVersion - * @memberof abci.RequestInfo - * @instance - */ - RequestInfo.prototype.blockVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Decodes a RequestFlush message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestFlush + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestFlush} RequestFlush + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestFlush.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestFlush(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * RequestInfo p2pVersion. - * @member {number|Long} p2pVersion - * @memberof abci.RequestInfo - * @instance - */ - RequestInfo.prototype.p2pVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Decodes a RequestFlush message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestFlush + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestFlush} RequestFlush + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestFlush.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a new RequestInfo instance using the specified properties. - * @function create - * @memberof abci.RequestInfo - * @static - * @param {abci.IRequestInfo=} [properties] Properties to set - * @returns {abci.RequestInfo} RequestInfo instance - */ - RequestInfo.create = function create(properties) { - return new RequestInfo(properties); - }; + /** + * Verifies a RequestFlush message. + * @function verify + * @memberof tendermint.abci.RequestFlush + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestFlush.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; - /** - * Encodes the specified RequestInfo message. Does not implicitly {@link abci.RequestInfo.verify|verify} messages. - * @function encode - * @memberof abci.RequestInfo - * @static - * @param {abci.IRequestInfo} message RequestInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && message.hasOwnProperty("version")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.version); - if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.blockVersion); - if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.p2pVersion); - return writer; - }; + /** + * Creates a RequestFlush message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestFlush + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestFlush} RequestFlush + */ + RequestFlush.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestFlush) + return object; + return new $root.tendermint.abci.RequestFlush(); + }; - /** - * Encodes the specified RequestInfo message, length delimited. Does not implicitly {@link abci.RequestInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestInfo - * @static - * @param {abci.IRequestInfo} message RequestInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a plain object from a RequestFlush message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestFlush + * @static + * @param {tendermint.abci.RequestFlush} message RequestFlush + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestFlush.toObject = function toObject() { + return {}; + }; - /** - * Decodes a RequestInfo message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestInfo} RequestInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.version = reader.string(); - break; - case 2: - message.blockVersion = reader.uint64(); - break; - case 3: - message.p2pVersion = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Converts this RequestFlush to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestFlush + * @instance + * @returns {Object.} JSON object + */ + RequestFlush.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Decodes a RequestInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestInfo} RequestInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + return RequestFlush; + })(); - /** - * Verifies a RequestInfo message. - * @function verify - * @memberof abci.RequestInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) - if (!$util.isInteger(message.blockVersion) && !(message.blockVersion && $util.isInteger(message.blockVersion.low) && $util.isInteger(message.blockVersion.high))) - return "blockVersion: integer|Long expected"; - if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) - if (!$util.isInteger(message.p2pVersion) && !(message.p2pVersion && $util.isInteger(message.p2pVersion.low) && $util.isInteger(message.p2pVersion.high))) - return "p2pVersion: integer|Long expected"; - return null; - }; + abci.RequestInfo = (function() { - /** - * Creates a RequestInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestInfo - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestInfo} RequestInfo - */ - RequestInfo.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestInfo) - return object; - var message = new $root.abci.RequestInfo(); - if (object.version != null) - message.version = String(object.version); - if (object.blockVersion != null) - if ($util.Long) - (message.blockVersion = $util.Long.fromValue(object.blockVersion)).unsigned = true; - else if (typeof object.blockVersion === "string") - message.blockVersion = parseInt(object.blockVersion, 10); - else if (typeof object.blockVersion === "number") - message.blockVersion = object.blockVersion; - else if (typeof object.blockVersion === "object") - message.blockVersion = new $util.LongBits(object.blockVersion.low >>> 0, object.blockVersion.high >>> 0).toNumber(true); - if (object.p2pVersion != null) - if ($util.Long) - (message.p2pVersion = $util.Long.fromValue(object.p2pVersion)).unsigned = true; - else if (typeof object.p2pVersion === "string") - message.p2pVersion = parseInt(object.p2pVersion, 10); - else if (typeof object.p2pVersion === "number") - message.p2pVersion = object.p2pVersion; - else if (typeof object.p2pVersion === "object") - message.p2pVersion = new $util.LongBits(object.p2pVersion.low >>> 0, object.p2pVersion.high >>> 0).toNumber(true); - return message; - }; + /** + * Properties of a RequestInfo. + * @memberof tendermint.abci + * @interface IRequestInfo + * @property {string|null} [version] RequestInfo version + * @property {number|Long|null} [blockVersion] RequestInfo blockVersion + * @property {number|Long|null} [p2pVersion] RequestInfo p2pVersion + */ - /** - * Creates a plain object from a RequestInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestInfo - * @static - * @param {abci.RequestInfo} message RequestInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.version = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.blockVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockVersion = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.p2pVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.p2pVersion = options.longs === String ? "0" : 0; + /** + * Constructs a new RequestInfo. + * @memberof tendermint.abci + * @classdesc Represents a RequestInfo. + * @implements IRequestInfo + * @constructor + * @param {tendermint.abci.IRequestInfo=} [properties] Properties to set + */ + function RequestInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) - if (typeof message.blockVersion === "number") - object.blockVersion = options.longs === String ? String(message.blockVersion) : message.blockVersion; - else - object.blockVersion = options.longs === String ? $util.Long.prototype.toString.call(message.blockVersion) : options.longs === Number ? new $util.LongBits(message.blockVersion.low >>> 0, message.blockVersion.high >>> 0).toNumber(true) : message.blockVersion; - if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) - if (typeof message.p2pVersion === "number") - object.p2pVersion = options.longs === String ? String(message.p2pVersion) : message.p2pVersion; - else - object.p2pVersion = options.longs === String ? $util.Long.prototype.toString.call(message.p2pVersion) : options.longs === Number ? new $util.LongBits(message.p2pVersion.low >>> 0, message.p2pVersion.high >>> 0).toNumber(true) : message.p2pVersion; - return object; - }; - - /** - * Converts this RequestInfo to JSON. - * @function toJSON - * @memberof abci.RequestInfo - * @instance - * @returns {Object.} JSON object - */ - RequestInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestInfo; - })(); - - abci.RequestSetOption = (function() { - - /** - * Properties of a RequestSetOption. - * @memberof abci - * @interface IRequestSetOption - * @property {string|null} [key] RequestSetOption key - * @property {string|null} [value] RequestSetOption value - */ - /** - * Constructs a new RequestSetOption. - * @memberof abci - * @classdesc Represents a RequestSetOption. - * @implements IRequestSetOption - * @constructor - * @param {abci.IRequestSetOption=} [properties] Properties to set - */ - function RequestSetOption(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * RequestInfo version. + * @member {string} version + * @memberof tendermint.abci.RequestInfo + * @instance + */ + RequestInfo.prototype.version = ""; - /** - * RequestSetOption key. - * @member {string} key - * @memberof abci.RequestSetOption - * @instance - */ - RequestSetOption.prototype.key = ""; + /** + * RequestInfo blockVersion. + * @member {number|Long} blockVersion + * @memberof tendermint.abci.RequestInfo + * @instance + */ + RequestInfo.prototype.blockVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - /** - * RequestSetOption value. - * @member {string} value - * @memberof abci.RequestSetOption - * @instance - */ - RequestSetOption.prototype.value = ""; + /** + * RequestInfo p2pVersion. + * @member {number|Long} p2pVersion + * @memberof tendermint.abci.RequestInfo + * @instance + */ + RequestInfo.prototype.p2pVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - /** - * Creates a new RequestSetOption instance using the specified properties. - * @function create - * @memberof abci.RequestSetOption - * @static - * @param {abci.IRequestSetOption=} [properties] Properties to set - * @returns {abci.RequestSetOption} RequestSetOption instance - */ - RequestSetOption.create = function create(properties) { - return new RequestSetOption(properties); - }; + /** + * Creates a new RequestInfo instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestInfo + * @static + * @param {tendermint.abci.IRequestInfo=} [properties] Properties to set + * @returns {tendermint.abci.RequestInfo} RequestInfo instance + */ + RequestInfo.create = function create(properties) { + return new RequestInfo(properties); + }; - /** - * Encodes the specified RequestSetOption message. Does not implicitly {@link abci.RequestSetOption.verify|verify} messages. - * @function encode - * @memberof abci.RequestSetOption - * @static - * @param {abci.IRequestSetOption} message RequestSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestSetOption.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - return writer; - }; + /** + * Encodes the specified RequestInfo message. Does not implicitly {@link tendermint.abci.RequestInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestInfo + * @static + * @param {tendermint.abci.IRequestInfo} message RequestInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.version); + if (message.blockVersion != null && Object.hasOwnProperty.call(message, "blockVersion")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.blockVersion); + if (message.p2pVersion != null && Object.hasOwnProperty.call(message, "p2pVersion")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.p2pVersion); + return writer; + }; - /** - * Encodes the specified RequestSetOption message, length delimited. Does not implicitly {@link abci.RequestSetOption.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestSetOption - * @static - * @param {abci.IRequestSetOption} message RequestSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestSetOption.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestInfo message, length delimited. Does not implicitly {@link tendermint.abci.RequestInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestInfo + * @static + * @param {tendermint.abci.IRequestInfo} message RequestInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a RequestSetOption message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestSetOption} RequestSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestSetOption.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestSetOption(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestInfo} RequestInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.version = reader.string(); + break; + case 2: + message.blockVersion = reader.uint64(); + break; + case 3: + message.p2pVersion = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a RequestSetOption message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestSetOption} RequestSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestSetOption.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestInfo} RequestInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a RequestSetOption message. - * @function verify - * @memberof abci.RequestSetOption - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestSetOption.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - return null; - }; + /** + * Verifies a RequestInfo message. + * @function verify + * @memberof tendermint.abci.RequestInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) + if (!$util.isInteger(message.blockVersion) && !(message.blockVersion && $util.isInteger(message.blockVersion.low) && $util.isInteger(message.blockVersion.high))) + return "blockVersion: integer|Long expected"; + if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) + if (!$util.isInteger(message.p2pVersion) && !(message.p2pVersion && $util.isInteger(message.p2pVersion.low) && $util.isInteger(message.p2pVersion.high))) + return "p2pVersion: integer|Long expected"; + return null; + }; - /** - * Creates a RequestSetOption message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestSetOption - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestSetOption} RequestSetOption - */ - RequestSetOption.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestSetOption) - return object; - var message = new $root.abci.RequestSetOption(); - if (object.key != null) - message.key = String(object.key); - if (object.value != null) - message.value = String(object.value); - return message; - }; - - /** - * Creates a plain object from a RequestSetOption message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestSetOption - * @static - * @param {abci.RequestSetOption} message RequestSetOption - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestSetOption.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.key = ""; - object.value = ""; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - return object; - }; + /** + * Creates a RequestInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestInfo} RequestInfo + */ + RequestInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestInfo) + return object; + var message = new $root.tendermint.abci.RequestInfo(); + if (object.version != null) + message.version = String(object.version); + if (object.blockVersion != null) + if ($util.Long) + (message.blockVersion = $util.Long.fromValue(object.blockVersion)).unsigned = true; + else if (typeof object.blockVersion === "string") + message.blockVersion = parseInt(object.blockVersion, 10); + else if (typeof object.blockVersion === "number") + message.blockVersion = object.blockVersion; + else if (typeof object.blockVersion === "object") + message.blockVersion = new $util.LongBits(object.blockVersion.low >>> 0, object.blockVersion.high >>> 0).toNumber(true); + if (object.p2pVersion != null) + if ($util.Long) + (message.p2pVersion = $util.Long.fromValue(object.p2pVersion)).unsigned = true; + else if (typeof object.p2pVersion === "string") + message.p2pVersion = parseInt(object.p2pVersion, 10); + else if (typeof object.p2pVersion === "number") + message.p2pVersion = object.p2pVersion; + else if (typeof object.p2pVersion === "object") + message.p2pVersion = new $util.LongBits(object.p2pVersion.low >>> 0, object.p2pVersion.high >>> 0).toNumber(true); + return message; + }; - /** - * Converts this RequestSetOption to JSON. - * @function toJSON - * @memberof abci.RequestSetOption - * @instance - * @returns {Object.} JSON object - */ - RequestSetOption.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a RequestInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestInfo + * @static + * @param {tendermint.abci.RequestInfo} message RequestInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.version = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.blockVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.blockVersion = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.p2pVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.p2pVersion = options.longs === String ? "0" : 0; + } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) + if (typeof message.blockVersion === "number") + object.blockVersion = options.longs === String ? String(message.blockVersion) : message.blockVersion; + else + object.blockVersion = options.longs === String ? $util.Long.prototype.toString.call(message.blockVersion) : options.longs === Number ? new $util.LongBits(message.blockVersion.low >>> 0, message.blockVersion.high >>> 0).toNumber(true) : message.blockVersion; + if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) + if (typeof message.p2pVersion === "number") + object.p2pVersion = options.longs === String ? String(message.p2pVersion) : message.p2pVersion; + else + object.p2pVersion = options.longs === String ? $util.Long.prototype.toString.call(message.p2pVersion) : options.longs === Number ? new $util.LongBits(message.p2pVersion.low >>> 0, message.p2pVersion.high >>> 0).toNumber(true) : message.p2pVersion; + return object; + }; - return RequestSetOption; - })(); + /** + * Converts this RequestInfo to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestInfo + * @instance + * @returns {Object.} JSON object + */ + RequestInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - abci.RequestInitChain = (function() { + return RequestInfo; + })(); - /** - * Properties of a RequestInitChain. - * @memberof abci - * @interface IRequestInitChain - * @property {google.protobuf.ITimestamp|null} [time] RequestInitChain time - * @property {string|null} [chainId] RequestInitChain chainId - * @property {abci.IConsensusParams|null} [consensusParams] RequestInitChain consensusParams - * @property {Array.|null} [validators] RequestInitChain validators - * @property {Uint8Array|null} [appStateBytes] RequestInitChain appStateBytes - */ + abci.RequestSetOption = (function() { - /** - * Constructs a new RequestInitChain. - * @memberof abci - * @classdesc Represents a RequestInitChain. - * @implements IRequestInitChain - * @constructor - * @param {abci.IRequestInitChain=} [properties] Properties to set - */ - function RequestInitChain(properties) { - this.validators = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a RequestSetOption. + * @memberof tendermint.abci + * @interface IRequestSetOption + * @property {string|null} [key] RequestSetOption key + * @property {string|null} [value] RequestSetOption value + */ - /** - * RequestInitChain time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.time = null; + /** + * Constructs a new RequestSetOption. + * @memberof tendermint.abci + * @classdesc Represents a RequestSetOption. + * @implements IRequestSetOption + * @constructor + * @param {tendermint.abci.IRequestSetOption=} [properties] Properties to set + */ + function RequestSetOption(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * RequestInitChain chainId. - * @member {string} chainId - * @memberof abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.chainId = ""; + /** + * RequestSetOption key. + * @member {string} key + * @memberof tendermint.abci.RequestSetOption + * @instance + */ + RequestSetOption.prototype.key = ""; - /** - * RequestInitChain consensusParams. - * @member {abci.IConsensusParams|null|undefined} consensusParams - * @memberof abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.consensusParams = null; + /** + * RequestSetOption value. + * @member {string} value + * @memberof tendermint.abci.RequestSetOption + * @instance + */ + RequestSetOption.prototype.value = ""; - /** - * RequestInitChain validators. - * @member {Array.} validators - * @memberof abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.validators = $util.emptyArray; + /** + * Creates a new RequestSetOption instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {tendermint.abci.IRequestSetOption=} [properties] Properties to set + * @returns {tendermint.abci.RequestSetOption} RequestSetOption instance + */ + RequestSetOption.create = function create(properties) { + return new RequestSetOption(properties); + }; - /** - * RequestInitChain appStateBytes. - * @member {Uint8Array} appStateBytes - * @memberof abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.appStateBytes = $util.newBuffer([]); + /** + * Encodes the specified RequestSetOption message. Does not implicitly {@link tendermint.abci.RequestSetOption.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {tendermint.abci.IRequestSetOption} message RequestSetOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestSetOption.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + return writer; + }; - /** - * Creates a new RequestInitChain instance using the specified properties. - * @function create - * @memberof abci.RequestInitChain - * @static - * @param {abci.IRequestInitChain=} [properties] Properties to set - * @returns {abci.RequestInitChain} RequestInitChain instance - */ - RequestInitChain.create = function create(properties) { - return new RequestInitChain(properties); - }; + /** + * Encodes the specified RequestSetOption message, length delimited. Does not implicitly {@link tendermint.abci.RequestSetOption.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {tendermint.abci.IRequestSetOption} message RequestSetOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestSetOption.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Encodes the specified RequestInitChain message. Does not implicitly {@link abci.RequestInitChain.verify|verify} messages. - * @function encode - * @memberof abci.RequestInitChain - * @static - * @param {abci.IRequestInitChain} message RequestInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInitChain.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.time != null && message.hasOwnProperty("time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.chainId != null && message.hasOwnProperty("chainId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) - $root.abci.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.validators != null && message.validators.length) - for (var i = 0; i < message.validators.length; ++i) - $root.abci.ValidatorUpdate.encode(message.validators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.appStateBytes); - return writer; - }; + /** + * Decodes a RequestSetOption message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestSetOption} RequestSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestSetOption.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestSetOption(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified RequestInitChain message, length delimited. Does not implicitly {@link abci.RequestInitChain.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestInitChain - * @static - * @param {abci.IRequestInitChain} message RequestInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInitChain.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Decodes a RequestSetOption message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestSetOption} RequestSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestSetOption.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Decodes a RequestInitChain message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestInitChain} RequestInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInitChain.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestInitChain(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 2: - message.chainId = reader.string(); - break; - case 3: - message.consensusParams = $root.abci.ConsensusParams.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.abci.ValidatorUpdate.decode(reader, reader.uint32())); - break; - case 5: - message.appStateBytes = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Verifies a RequestSetOption message. + * @function verify + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestSetOption.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; - /** - * Decodes a RequestInitChain message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestInitChain} RequestInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInitChain.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a RequestSetOption message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestSetOption} RequestSetOption + */ + RequestSetOption.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestSetOption) + return object; + var message = new $root.tendermint.abci.RequestSetOption(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + message.value = String(object.value); + return message; + }; - /** - * Verifies a RequestInitChain message. - * @function verify - * @memberof abci.RequestInitChain - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestInitChain.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.time != null && message.hasOwnProperty("time")) { - var error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.chainId != null && message.hasOwnProperty("chainId")) - if (!$util.isString(message.chainId)) - return "chainId: string expected"; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { - var error = $root.abci.ConsensusParams.verify(message.consensusParams); - if (error) - return "consensusParams." + error; - } - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (var i = 0; i < message.validators.length; ++i) { - var error = $root.abci.ValidatorUpdate.verify(message.validators[i]); - if (error) - return "validators." + error; + /** + * Creates a plain object from a RequestSetOption message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestSetOption + * @static + * @param {tendermint.abci.RequestSetOption} message RequestSetOption + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestSetOption.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.value = ""; } - } - if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) - if (!(message.appStateBytes && typeof message.appStateBytes.length === "number" || $util.isString(message.appStateBytes))) - return "appStateBytes: buffer expected"; - return null; - }; - - /** - * Creates a RequestInitChain message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestInitChain - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestInitChain} RequestInitChain - */ - RequestInitChain.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestInitChain) + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; return object; - var message = new $root.abci.RequestInitChain(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".abci.RequestInitChain.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.chainId != null) - message.chainId = String(object.chainId); - if (object.consensusParams != null) { - if (typeof object.consensusParams !== "object") - throw TypeError(".abci.RequestInitChain.consensusParams: object expected"); - message.consensusParams = $root.abci.ConsensusParams.fromObject(object.consensusParams); - } - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".abci.RequestInitChain.validators: array expected"); - message.validators = []; - for (var i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".abci.RequestInitChain.validators: object expected"); - message.validators[i] = $root.abci.ValidatorUpdate.fromObject(object.validators[i]); - } - } - if (object.appStateBytes != null) - if (typeof object.appStateBytes === "string") - $util.base64.decode(object.appStateBytes, message.appStateBytes = $util.newBuffer($util.base64.length(object.appStateBytes)), 0); - else if (object.appStateBytes.length) - message.appStateBytes = object.appStateBytes; - return message; - }; + }; - /** - * Creates a plain object from a RequestInitChain message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestInitChain - * @static - * @param {abci.RequestInitChain} message RequestInitChain - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestInitChain.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) { - object.time = null; - object.chainId = ""; - object.consensusParams = null; - if (options.bytes === String) - object.appStateBytes = ""; - else { - object.appStateBytes = []; - if (options.bytes !== Array) - object.appStateBytes = $util.newBuffer(object.appStateBytes); - } - } - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.chainId != null && message.hasOwnProperty("chainId")) - object.chainId = message.chainId; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) - object.consensusParams = $root.abci.ConsensusParams.toObject(message.consensusParams, options); - if (message.validators && message.validators.length) { - object.validators = []; - for (var j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.abci.ValidatorUpdate.toObject(message.validators[j], options); - } - if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) - object.appStateBytes = options.bytes === String ? $util.base64.encode(message.appStateBytes, 0, message.appStateBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.appStateBytes) : message.appStateBytes; - return object; - }; + /** + * Converts this RequestSetOption to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestSetOption + * @instance + * @returns {Object.} JSON object + */ + RequestSetOption.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this RequestInitChain to JSON. - * @function toJSON - * @memberof abci.RequestInitChain - * @instance - * @returns {Object.} JSON object - */ - RequestInitChain.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return RequestSetOption; + })(); - return RequestInitChain; - })(); + abci.RequestInitChain = (function() { - abci.RequestQuery = (function() { + /** + * Properties of a RequestInitChain. + * @memberof tendermint.abci + * @interface IRequestInitChain + * @property {google.protobuf.ITimestamp|null} [time] RequestInitChain time + * @property {string|null} [chainId] RequestInitChain chainId + * @property {tendermint.abci.IConsensusParams|null} [consensusParams] RequestInitChain consensusParams + * @property {Array.|null} [validators] RequestInitChain validators + * @property {Uint8Array|null} [appStateBytes] RequestInitChain appStateBytes + * @property {number|Long|null} [initialHeight] RequestInitChain initialHeight + */ - /** - * Properties of a RequestQuery. - * @memberof abci - * @interface IRequestQuery - * @property {Uint8Array|null} [data] RequestQuery data - * @property {string|null} [path] RequestQuery path - * @property {number|Long|null} [height] RequestQuery height - * @property {boolean|null} [prove] RequestQuery prove - */ + /** + * Constructs a new RequestInitChain. + * @memberof tendermint.abci + * @classdesc Represents a RequestInitChain. + * @implements IRequestInitChain + * @constructor + * @param {tendermint.abci.IRequestInitChain=} [properties] Properties to set + */ + function RequestInitChain(properties) { + this.validators = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new RequestQuery. - * @memberof abci - * @classdesc Represents a RequestQuery. - * @implements IRequestQuery - * @constructor - * @param {abci.IRequestQuery=} [properties] Properties to set - */ - function RequestQuery(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * RequestInitChain time. + * @member {google.protobuf.ITimestamp|null|undefined} time + * @memberof tendermint.abci.RequestInitChain + * @instance + */ + RequestInitChain.prototype.time = null; - /** - * RequestQuery data. - * @member {Uint8Array} data - * @memberof abci.RequestQuery - * @instance - */ - RequestQuery.prototype.data = $util.newBuffer([]); + /** + * RequestInitChain chainId. + * @member {string} chainId + * @memberof tendermint.abci.RequestInitChain + * @instance + */ + RequestInitChain.prototype.chainId = ""; - /** - * RequestQuery path. - * @member {string} path - * @memberof abci.RequestQuery - * @instance - */ - RequestQuery.prototype.path = ""; + /** + * RequestInitChain consensusParams. + * @member {tendermint.abci.IConsensusParams|null|undefined} consensusParams + * @memberof tendermint.abci.RequestInitChain + * @instance + */ + RequestInitChain.prototype.consensusParams = null; - /** - * RequestQuery height. - * @member {number|Long} height - * @memberof abci.RequestQuery - * @instance - */ - RequestQuery.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * RequestInitChain validators. + * @member {Array.} validators + * @memberof tendermint.abci.RequestInitChain + * @instance + */ + RequestInitChain.prototype.validators = $util.emptyArray; - /** - * RequestQuery prove. - * @member {boolean} prove - * @memberof abci.RequestQuery - * @instance - */ - RequestQuery.prototype.prove = false; + /** + * RequestInitChain appStateBytes. + * @member {Uint8Array} appStateBytes + * @memberof tendermint.abci.RequestInitChain + * @instance + */ + RequestInitChain.prototype.appStateBytes = $util.newBuffer([]); - /** - * Creates a new RequestQuery instance using the specified properties. - * @function create - * @memberof abci.RequestQuery - * @static - * @param {abci.IRequestQuery=} [properties] Properties to set - * @returns {abci.RequestQuery} RequestQuery instance - */ - RequestQuery.create = function create(properties) { - return new RequestQuery(properties); - }; - - /** - * Encodes the specified RequestQuery message. Does not implicitly {@link abci.RequestQuery.verify|verify} messages. - * @function encode - * @memberof abci.RequestQuery - * @static - * @param {abci.IRequestQuery} message RequestQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - if (message.path != null && message.hasOwnProperty("path")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); - if (message.height != null && message.hasOwnProperty("height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.prove != null && message.hasOwnProperty("prove")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); - return writer; - }; - - /** - * Encodes the specified RequestQuery message, length delimited. Does not implicitly {@link abci.RequestQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestQuery - * @static - * @param {abci.IRequestQuery} message RequestQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestQuery message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestQuery} RequestQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestQuery(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - case 2: - message.path = reader.string(); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestQuery} RequestQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestQuery message. - * @function verify - * @memberof abci.RequestQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.path != null && message.hasOwnProperty("path")) - if (!$util.isString(message.path)) - return "path: string expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; - - /** - * Creates a RequestQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestQuery - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestQuery} RequestQuery - */ - RequestQuery.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestQuery) - return object; - var message = new $root.abci.RequestQuery(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.path != null) - message.path = String(object.path); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; - - /** - * Creates a plain object from a RequestQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestQuery - * @static - * @param {abci.RequestQuery} message RequestQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.path = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.prove = false; - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.path != null && message.hasOwnProperty("path")) - object.path = message.path; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; - - /** - * Converts this RequestQuery to JSON. - * @function toJSON - * @memberof abci.RequestQuery - * @instance - * @returns {Object.} JSON object - */ - RequestQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestQuery; - })(); - - abci.RequestBeginBlock = (function() { - - /** - * Properties of a RequestBeginBlock. - * @memberof abci - * @interface IRequestBeginBlock - * @property {Uint8Array|null} [hash] RequestBeginBlock hash - * @property {abci.IHeader|null} [header] RequestBeginBlock header - * @property {abci.ILastCommitInfo|null} [lastCommitInfo] RequestBeginBlock lastCommitInfo - * @property {Array.|null} [byzantineValidators] RequestBeginBlock byzantineValidators - */ - - /** - * Constructs a new RequestBeginBlock. - * @memberof abci - * @classdesc Represents a RequestBeginBlock. - * @implements IRequestBeginBlock - * @constructor - * @param {abci.IRequestBeginBlock=} [properties] Properties to set - */ - function RequestBeginBlock(properties) { - this.byzantineValidators = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestBeginBlock hash. - * @member {Uint8Array} hash - * @memberof abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.hash = $util.newBuffer([]); - - /** - * RequestBeginBlock header. - * @member {abci.IHeader|null|undefined} header - * @memberof abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.header = null; - - /** - * RequestBeginBlock lastCommitInfo. - * @member {abci.ILastCommitInfo|null|undefined} lastCommitInfo - * @memberof abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.lastCommitInfo = null; - - /** - * RequestBeginBlock byzantineValidators. - * @member {Array.} byzantineValidators - * @memberof abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.byzantineValidators = $util.emptyArray; + /** + * RequestInitChain initialHeight. + * @member {number|Long} initialHeight + * @memberof tendermint.abci.RequestInitChain + * @instance + */ + RequestInitChain.prototype.initialHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Creates a new RequestBeginBlock instance using the specified properties. - * @function create - * @memberof abci.RequestBeginBlock - * @static - * @param {abci.IRequestBeginBlock=} [properties] Properties to set - * @returns {abci.RequestBeginBlock} RequestBeginBlock instance - */ - RequestBeginBlock.create = function create(properties) { - return new RequestBeginBlock(properties); - }; + /** + * Creates a new RequestInitChain instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {tendermint.abci.IRequestInitChain=} [properties] Properties to set + * @returns {tendermint.abci.RequestInitChain} RequestInitChain instance + */ + RequestInitChain.create = function create(properties) { + return new RequestInitChain(properties); + }; - /** - * Encodes the specified RequestBeginBlock message. Does not implicitly {@link abci.RequestBeginBlock.verify|verify} messages. - * @function encode - * @memberof abci.RequestBeginBlock - * @static - * @param {abci.IRequestBeginBlock} message RequestBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestBeginBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && message.hasOwnProperty("hash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); - if (message.header != null && message.hasOwnProperty("header")) - $root.abci.Header.encode(message.header, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) - $root.abci.LastCommitInfo.encode(message.lastCommitInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.byzantineValidators != null && message.byzantineValidators.length) - for (var i = 0; i < message.byzantineValidators.length; ++i) - $root.abci.Evidence.encode(message.byzantineValidators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified RequestInitChain message. Does not implicitly {@link tendermint.abci.RequestInitChain.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {tendermint.abci.IRequestInitChain} message RequestInitChain message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestInitChain.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.time != null && Object.hasOwnProperty.call(message, "time")) + $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); + if (message.consensusParams != null && Object.hasOwnProperty.call(message, "consensusParams")) + $root.tendermint.abci.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.validators != null && message.validators.length) + for (var i = 0; i < message.validators.length; ++i) + $root.tendermint.abci.ValidatorUpdate.encode(message.validators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.appStateBytes != null && Object.hasOwnProperty.call(message, "appStateBytes")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.appStateBytes); + if (message.initialHeight != null && Object.hasOwnProperty.call(message, "initialHeight")) + writer.uint32(/* id 6, wireType 0 =*/48).int64(message.initialHeight); + return writer; + }; - /** - * Encodes the specified RequestBeginBlock message, length delimited. Does not implicitly {@link abci.RequestBeginBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestBeginBlock - * @static - * @param {abci.IRequestBeginBlock} message RequestBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestBeginBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestInitChain message, length delimited. Does not implicitly {@link tendermint.abci.RequestInitChain.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {tendermint.abci.IRequestInitChain} message RequestInitChain message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestInitChain.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a RequestBeginBlock message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestBeginBlock} RequestBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestBeginBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestBeginBlock(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.bytes(); - break; - case 2: - message.header = $root.abci.Header.decode(reader, reader.uint32()); - break; - case 3: - message.lastCommitInfo = $root.abci.LastCommitInfo.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.byzantineValidators && message.byzantineValidators.length)) - message.byzantineValidators = []; - message.byzantineValidators.push($root.abci.Evidence.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestInitChain message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestInitChain} RequestInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestInitChain.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestInitChain(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 2: + message.chainId = reader.string(); + break; + case 3: + message.consensusParams = $root.tendermint.abci.ConsensusParams.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.validators && message.validators.length)) + message.validators = []; + message.validators.push($root.tendermint.abci.ValidatorUpdate.decode(reader, reader.uint32())); + break; + case 5: + message.appStateBytes = reader.bytes(); + break; + case 6: + message.initialHeight = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a RequestBeginBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestBeginBlock} RequestBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestBeginBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestInitChain message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestInitChain} RequestInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestInitChain.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a RequestBeginBlock message. - * @function verify - * @memberof abci.RequestBeginBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestBeginBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - if (message.header != null && message.hasOwnProperty("header")) { - var error = $root.abci.Header.verify(message.header); - if (error) - return "header." + error; - } - if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) { - var error = $root.abci.LastCommitInfo.verify(message.lastCommitInfo); - if (error) - return "lastCommitInfo." + error; - } - if (message.byzantineValidators != null && message.hasOwnProperty("byzantineValidators")) { - if (!Array.isArray(message.byzantineValidators)) - return "byzantineValidators: array expected"; - for (var i = 0; i < message.byzantineValidators.length; ++i) { - var error = $root.abci.Evidence.verify(message.byzantineValidators[i]); + /** + * Verifies a RequestInitChain message. + * @function verify + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestInitChain.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.time != null && message.hasOwnProperty("time")) { + var error = $root.google.protobuf.Timestamp.verify(message.time); if (error) - return "byzantineValidators." + error; + return "time." + error; } - } - return null; - }; + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { + var error = $root.tendermint.abci.ConsensusParams.verify(message.consensusParams); + if (error) + return "consensusParams." + error; + } + if (message.validators != null && message.hasOwnProperty("validators")) { + if (!Array.isArray(message.validators)) + return "validators: array expected"; + for (var i = 0; i < message.validators.length; ++i) { + var error = $root.tendermint.abci.ValidatorUpdate.verify(message.validators[i]); + if (error) + return "validators." + error; + } + } + if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) + if (!(message.appStateBytes && typeof message.appStateBytes.length === "number" || $util.isString(message.appStateBytes))) + return "appStateBytes: buffer expected"; + if (message.initialHeight != null && message.hasOwnProperty("initialHeight")) + if (!$util.isInteger(message.initialHeight) && !(message.initialHeight && $util.isInteger(message.initialHeight.low) && $util.isInteger(message.initialHeight.high))) + return "initialHeight: integer|Long expected"; + return null; + }; - /** - * Creates a RequestBeginBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestBeginBlock - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestBeginBlock} RequestBeginBlock - */ - RequestBeginBlock.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestBeginBlock) - return object; - var message = new $root.abci.RequestBeginBlock(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".abci.RequestBeginBlock.header: object expected"); - message.header = $root.abci.Header.fromObject(object.header); - } - if (object.lastCommitInfo != null) { - if (typeof object.lastCommitInfo !== "object") - throw TypeError(".abci.RequestBeginBlock.lastCommitInfo: object expected"); - message.lastCommitInfo = $root.abci.LastCommitInfo.fromObject(object.lastCommitInfo); - } - if (object.byzantineValidators) { - if (!Array.isArray(object.byzantineValidators)) - throw TypeError(".abci.RequestBeginBlock.byzantineValidators: array expected"); - message.byzantineValidators = []; - for (var i = 0; i < object.byzantineValidators.length; ++i) { - if (typeof object.byzantineValidators[i] !== "object") - throw TypeError(".abci.RequestBeginBlock.byzantineValidators: object expected"); - message.byzantineValidators[i] = $root.abci.Evidence.fromObject(object.byzantineValidators[i]); + /** + * Creates a RequestInitChain message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestInitChain} RequestInitChain + */ + RequestInitChain.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestInitChain) + return object; + var message = new $root.tendermint.abci.RequestInitChain(); + if (object.time != null) { + if (typeof object.time !== "object") + throw TypeError(".tendermint.abci.RequestInitChain.time: object expected"); + message.time = $root.google.protobuf.Timestamp.fromObject(object.time); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + if (object.consensusParams != null) { + if (typeof object.consensusParams !== "object") + throw TypeError(".tendermint.abci.RequestInitChain.consensusParams: object expected"); + message.consensusParams = $root.tendermint.abci.ConsensusParams.fromObject(object.consensusParams); + } + if (object.validators) { + if (!Array.isArray(object.validators)) + throw TypeError(".tendermint.abci.RequestInitChain.validators: array expected"); + message.validators = []; + for (var i = 0; i < object.validators.length; ++i) { + if (typeof object.validators[i] !== "object") + throw TypeError(".tendermint.abci.RequestInitChain.validators: object expected"); + message.validators[i] = $root.tendermint.abci.ValidatorUpdate.fromObject(object.validators[i]); + } } - } - return message; - }; + if (object.appStateBytes != null) + if (typeof object.appStateBytes === "string") + $util.base64.decode(object.appStateBytes, message.appStateBytes = $util.newBuffer($util.base64.length(object.appStateBytes)), 0); + else if (object.appStateBytes.length) + message.appStateBytes = object.appStateBytes; + if (object.initialHeight != null) + if ($util.Long) + (message.initialHeight = $util.Long.fromValue(object.initialHeight)).unsigned = false; + else if (typeof object.initialHeight === "string") + message.initialHeight = parseInt(object.initialHeight, 10); + else if (typeof object.initialHeight === "number") + message.initialHeight = object.initialHeight; + else if (typeof object.initialHeight === "object") + message.initialHeight = new $util.LongBits(object.initialHeight.low >>> 0, object.initialHeight.high >>> 0).toNumber(); + return message; + }; - /** - * Creates a plain object from a RequestBeginBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestBeginBlock - * @static - * @param {abci.RequestBeginBlock} message RequestBeginBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestBeginBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.byzantineValidators = []; - if (options.defaults) { - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - object.header = null; - object.lastCommitInfo = null; - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.abci.Header.toObject(message.header, options); - if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) - object.lastCommitInfo = $root.abci.LastCommitInfo.toObject(message.lastCommitInfo, options); - if (message.byzantineValidators && message.byzantineValidators.length) { - object.byzantineValidators = []; - for (var j = 0; j < message.byzantineValidators.length; ++j) - object.byzantineValidators[j] = $root.abci.Evidence.toObject(message.byzantineValidators[j], options); - } - return object; - }; + /** + * Creates a plain object from a RequestInitChain message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestInitChain + * @static + * @param {tendermint.abci.RequestInitChain} message RequestInitChain + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestInitChain.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.validators = []; + if (options.defaults) { + object.time = null; + object.chainId = ""; + object.consensusParams = null; + if (options.bytes === String) + object.appStateBytes = ""; + else { + object.appStateBytes = []; + if (options.bytes !== Array) + object.appStateBytes = $util.newBuffer(object.appStateBytes); + } + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.initialHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.initialHeight = options.longs === String ? "0" : 0; + } + if (message.time != null && message.hasOwnProperty("time")) + object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) + object.consensusParams = $root.tendermint.abci.ConsensusParams.toObject(message.consensusParams, options); + if (message.validators && message.validators.length) { + object.validators = []; + for (var j = 0; j < message.validators.length; ++j) + object.validators[j] = $root.tendermint.abci.ValidatorUpdate.toObject(message.validators[j], options); + } + if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) + object.appStateBytes = options.bytes === String ? $util.base64.encode(message.appStateBytes, 0, message.appStateBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.appStateBytes) : message.appStateBytes; + if (message.initialHeight != null && message.hasOwnProperty("initialHeight")) + if (typeof message.initialHeight === "number") + object.initialHeight = options.longs === String ? String(message.initialHeight) : message.initialHeight; + else + object.initialHeight = options.longs === String ? $util.Long.prototype.toString.call(message.initialHeight) : options.longs === Number ? new $util.LongBits(message.initialHeight.low >>> 0, message.initialHeight.high >>> 0).toNumber() : message.initialHeight; + return object; + }; - /** - * Converts this RequestBeginBlock to JSON. - * @function toJSON - * @memberof abci.RequestBeginBlock - * @instance - * @returns {Object.} JSON object - */ - RequestBeginBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this RequestInitChain to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestInitChain + * @instance + * @returns {Object.} JSON object + */ + RequestInitChain.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return RequestBeginBlock; - })(); + return RequestInitChain; + })(); - /** - * CheckTxType enum. - * @name abci.CheckTxType - * @enum {string} - * @property {number} New=0 New value - * @property {number} Recheck=1 Recheck value - */ - abci.CheckTxType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "New"] = 0; - values[valuesById[1] = "Recheck"] = 1; - return values; - })(); + abci.RequestQuery = (function() { - abci.RequestCheckTx = (function() { + /** + * Properties of a RequestQuery. + * @memberof tendermint.abci + * @interface IRequestQuery + * @property {Uint8Array|null} [data] RequestQuery data + * @property {string|null} [path] RequestQuery path + * @property {number|Long|null} [height] RequestQuery height + * @property {boolean|null} [prove] RequestQuery prove + */ - /** - * Properties of a RequestCheckTx. - * @memberof abci - * @interface IRequestCheckTx - * @property {Uint8Array|null} [tx] RequestCheckTx tx - * @property {abci.CheckTxType|null} [type] RequestCheckTx type - */ + /** + * Constructs a new RequestQuery. + * @memberof tendermint.abci + * @classdesc Represents a RequestQuery. + * @implements IRequestQuery + * @constructor + * @param {tendermint.abci.IRequestQuery=} [properties] Properties to set + */ + function RequestQuery(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new RequestCheckTx. - * @memberof abci - * @classdesc Represents a RequestCheckTx. - * @implements IRequestCheckTx - * @constructor - * @param {abci.IRequestCheckTx=} [properties] Properties to set - */ - function RequestCheckTx(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * RequestQuery data. + * @member {Uint8Array} data + * @memberof tendermint.abci.RequestQuery + * @instance + */ + RequestQuery.prototype.data = $util.newBuffer([]); - /** - * RequestCheckTx tx. - * @member {Uint8Array} tx - * @memberof abci.RequestCheckTx - * @instance - */ - RequestCheckTx.prototype.tx = $util.newBuffer([]); + /** + * RequestQuery path. + * @member {string} path + * @memberof tendermint.abci.RequestQuery + * @instance + */ + RequestQuery.prototype.path = ""; - /** - * RequestCheckTx type. - * @member {abci.CheckTxType} type - * @memberof abci.RequestCheckTx - * @instance - */ - RequestCheckTx.prototype.type = 0; + /** + * RequestQuery height. + * @member {number|Long} height + * @memberof tendermint.abci.RequestQuery + * @instance + */ + RequestQuery.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Creates a new RequestCheckTx instance using the specified properties. - * @function create - * @memberof abci.RequestCheckTx - * @static - * @param {abci.IRequestCheckTx=} [properties] Properties to set - * @returns {abci.RequestCheckTx} RequestCheckTx instance - */ - RequestCheckTx.create = function create(properties) { - return new RequestCheckTx(properties); - }; + /** + * RequestQuery prove. + * @member {boolean} prove + * @memberof tendermint.abci.RequestQuery + * @instance + */ + RequestQuery.prototype.prove = false; - /** - * Encodes the specified RequestCheckTx message. Does not implicitly {@link abci.RequestCheckTx.verify|verify} messages. - * @function encode - * @memberof abci.RequestCheckTx - * @static - * @param {abci.IRequestCheckTx} message RequestCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCheckTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tx != null && message.hasOwnProperty("tx")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type); - return writer; - }; - - /** - * Encodes the specified RequestCheckTx message, length delimited. Does not implicitly {@link abci.RequestCheckTx.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestCheckTx - * @static - * @param {abci.IRequestCheckTx} message RequestCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCheckTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new RequestQuery instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestQuery + * @static + * @param {tendermint.abci.IRequestQuery=} [properties] Properties to set + * @returns {tendermint.abci.RequestQuery} RequestQuery instance + */ + RequestQuery.create = function create(properties) { + return new RequestQuery(properties); + }; - /** - * Decodes a RequestCheckTx message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestCheckTx} RequestCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCheckTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestCheckTx(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tx = reader.bytes(); - break; - case 2: - message.type = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Encodes the specified RequestQuery message. Does not implicitly {@link tendermint.abci.RequestQuery.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestQuery + * @static + * @param {tendermint.abci.IRequestQuery} message RequestQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestQuery.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); + return writer; + }; - /** - * Decodes a RequestCheckTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestCheckTx} RequestCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCheckTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified RequestQuery message, length delimited. Does not implicitly {@link tendermint.abci.RequestQuery.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestQuery + * @static + * @param {tendermint.abci.IRequestQuery} message RequestQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestQuery.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Verifies a RequestCheckTx message. - * @function verify - * @memberof abci.RequestCheckTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestCheckTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tx != null && message.hasOwnProperty("tx")) - if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) - return "tx: buffer expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - break; + /** + * Decodes a RequestQuery message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestQuery} RequestQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestQuery.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestQuery(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + case 2: + message.path = reader.string(); + break; + case 3: + message.height = reader.int64(); + break; + case 4: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } } - return null; - }; - - /** - * Creates a RequestCheckTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestCheckTx - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestCheckTx} RequestCheckTx - */ - RequestCheckTx.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestCheckTx) - return object; - var message = new $root.abci.RequestCheckTx(); - if (object.tx != null) - if (typeof object.tx === "string") - $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); - else if (object.tx.length) - message.tx = object.tx; - switch (object.type) { - case "New": - case 0: - message.type = 0; - break; - case "Recheck": - case 1: - message.type = 1; - break; - } - return message; - }; - - /** - * Creates a plain object from a RequestCheckTx message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestCheckTx - * @static - * @param {abci.RequestCheckTx} message RequestCheckTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestCheckTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.tx = ""; - else { - object.tx = []; - if (options.bytes !== Array) - object.tx = $util.newBuffer(object.tx); - } - object.type = options.enums === String ? "New" : 0; - } - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.abci.CheckTxType[message.type] : message.type; - return object; - }; - - /** - * Converts this RequestCheckTx to JSON. - * @function toJSON - * @memberof abci.RequestCheckTx - * @instance - * @returns {Object.} JSON object - */ - RequestCheckTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return message; + }; - return RequestCheckTx; - })(); + /** + * Decodes a RequestQuery message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestQuery} RequestQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestQuery.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - abci.RequestDeliverTx = (function() { + /** + * Verifies a RequestQuery message. + * @function verify + * @memberof tendermint.abci.RequestQuery + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestQuery.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; - /** - * Properties of a RequestDeliverTx. - * @memberof abci - * @interface IRequestDeliverTx - * @property {Uint8Array|null} [tx] RequestDeliverTx tx - */ + /** + * Creates a RequestQuery message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestQuery + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestQuery} RequestQuery + */ + RequestQuery.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestQuery) + return object; + var message = new $root.tendermint.abci.RequestQuery(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + if (object.path != null) + message.path = String(object.path); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * Constructs a new RequestDeliverTx. - * @memberof abci - * @classdesc Represents a RequestDeliverTx. - * @implements IRequestDeliverTx - * @constructor - * @param {abci.IRequestDeliverTx=} [properties] Properties to set - */ - function RequestDeliverTx(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a plain object from a RequestQuery message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestQuery + * @static + * @param {tendermint.abci.RequestQuery} message RequestQuery + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestQuery.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + object.path = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.prove = false; + } + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - /** - * RequestDeliverTx tx. - * @member {Uint8Array} tx - * @memberof abci.RequestDeliverTx - * @instance - */ - RequestDeliverTx.prototype.tx = $util.newBuffer([]); + /** + * Converts this RequestQuery to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestQuery + * @instance + * @returns {Object.} JSON object + */ + RequestQuery.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new RequestDeliverTx instance using the specified properties. - * @function create - * @memberof abci.RequestDeliverTx - * @static - * @param {abci.IRequestDeliverTx=} [properties] Properties to set - * @returns {abci.RequestDeliverTx} RequestDeliverTx instance - */ - RequestDeliverTx.create = function create(properties) { - return new RequestDeliverTx(properties); - }; + return RequestQuery; + })(); - /** - * Encodes the specified RequestDeliverTx message. Does not implicitly {@link abci.RequestDeliverTx.verify|verify} messages. - * @function encode - * @memberof abci.RequestDeliverTx - * @static - * @param {abci.IRequestDeliverTx} message RequestDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestDeliverTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tx != null && message.hasOwnProperty("tx")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); - return writer; - }; + abci.RequestBeginBlock = (function() { - /** - * Encodes the specified RequestDeliverTx message, length delimited. Does not implicitly {@link abci.RequestDeliverTx.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestDeliverTx - * @static - * @param {abci.IRequestDeliverTx} message RequestDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestDeliverTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a RequestBeginBlock. + * @memberof tendermint.abci + * @interface IRequestBeginBlock + * @property {Uint8Array|null} [hash] RequestBeginBlock hash + * @property {tendermint.types.IHeader|null} [header] RequestBeginBlock header + * @property {tendermint.abci.ILastCommitInfo|null} [lastCommitInfo] RequestBeginBlock lastCommitInfo + * @property {Array.|null} [byzantineValidators] RequestBeginBlock byzantineValidators + */ - /** - * Decodes a RequestDeliverTx message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestDeliverTx} RequestDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestDeliverTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestDeliverTx(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tx = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Constructs a new RequestBeginBlock. + * @memberof tendermint.abci + * @classdesc Represents a RequestBeginBlock. + * @implements IRequestBeginBlock + * @constructor + * @param {tendermint.abci.IRequestBeginBlock=} [properties] Properties to set + */ + function RequestBeginBlock(properties) { + this.byzantineValidators = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - - /** - * Decodes a RequestDeliverTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestDeliverTx} RequestDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestDeliverTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestDeliverTx message. - * @function verify - * @memberof abci.RequestDeliverTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestDeliverTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tx != null && message.hasOwnProperty("tx")) - if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) - return "tx: buffer expected"; - return null; - }; - - /** - * Creates a RequestDeliverTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestDeliverTx - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestDeliverTx} RequestDeliverTx - */ - RequestDeliverTx.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestDeliverTx) - return object; - var message = new $root.abci.RequestDeliverTx(); - if (object.tx != null) - if (typeof object.tx === "string") - $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); - else if (object.tx.length) - message.tx = object.tx; - return message; - }; - /** - * Creates a plain object from a RequestDeliverTx message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestDeliverTx - * @static - * @param {abci.RequestDeliverTx} message RequestDeliverTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestDeliverTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - if (options.bytes === String) - object.tx = ""; - else { - object.tx = []; - if (options.bytes !== Array) - object.tx = $util.newBuffer(object.tx); - } - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; - return object; - }; + /** + * RequestBeginBlock hash. + * @member {Uint8Array} hash + * @memberof tendermint.abci.RequestBeginBlock + * @instance + */ + RequestBeginBlock.prototype.hash = $util.newBuffer([]); - /** - * Converts this RequestDeliverTx to JSON. - * @function toJSON - * @memberof abci.RequestDeliverTx - * @instance - * @returns {Object.} JSON object - */ - RequestDeliverTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * RequestBeginBlock header. + * @member {tendermint.types.IHeader|null|undefined} header + * @memberof tendermint.abci.RequestBeginBlock + * @instance + */ + RequestBeginBlock.prototype.header = null; - return RequestDeliverTx; - })(); + /** + * RequestBeginBlock lastCommitInfo. + * @member {tendermint.abci.ILastCommitInfo|null|undefined} lastCommitInfo + * @memberof tendermint.abci.RequestBeginBlock + * @instance + */ + RequestBeginBlock.prototype.lastCommitInfo = null; - abci.RequestEndBlock = (function() { + /** + * RequestBeginBlock byzantineValidators. + * @member {Array.} byzantineValidators + * @memberof tendermint.abci.RequestBeginBlock + * @instance + */ + RequestBeginBlock.prototype.byzantineValidators = $util.emptyArray; - /** - * Properties of a RequestEndBlock. - * @memberof abci - * @interface IRequestEndBlock - * @property {number|Long|null} [height] RequestEndBlock height - */ + /** + * Creates a new RequestBeginBlock instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {tendermint.abci.IRequestBeginBlock=} [properties] Properties to set + * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock instance + */ + RequestBeginBlock.create = function create(properties) { + return new RequestBeginBlock(properties); + }; - /** - * Constructs a new RequestEndBlock. - * @memberof abci - * @classdesc Represents a RequestEndBlock. - * @implements IRequestEndBlock - * @constructor - * @param {abci.IRequestEndBlock=} [properties] Properties to set - */ - function RequestEndBlock(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Encodes the specified RequestBeginBlock message. Does not implicitly {@link tendermint.abci.RequestBeginBlock.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {tendermint.abci.IRequestBeginBlock} message RequestBeginBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestBeginBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); + if (message.header != null && Object.hasOwnProperty.call(message, "header")) + $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.lastCommitInfo != null && Object.hasOwnProperty.call(message, "lastCommitInfo")) + $root.tendermint.abci.LastCommitInfo.encode(message.lastCommitInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.byzantineValidators != null && message.byzantineValidators.length) + for (var i = 0; i < message.byzantineValidators.length; ++i) + $root.tendermint.abci.Evidence.encode(message.byzantineValidators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; - /** - * RequestEndBlock height. - * @member {number|Long} height - * @memberof abci.RequestEndBlock - * @instance - */ - RequestEndBlock.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Encodes the specified RequestBeginBlock message, length delimited. Does not implicitly {@link tendermint.abci.RequestBeginBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {tendermint.abci.IRequestBeginBlock} message RequestBeginBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestBeginBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a new RequestEndBlock instance using the specified properties. - * @function create - * @memberof abci.RequestEndBlock - * @static - * @param {abci.IRequestEndBlock=} [properties] Properties to set - * @returns {abci.RequestEndBlock} RequestEndBlock instance - */ - RequestEndBlock.create = function create(properties) { - return new RequestEndBlock(properties); - }; + /** + * Decodes a RequestBeginBlock message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestBeginBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestBeginBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.bytes(); + break; + case 2: + message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); + break; + case 3: + message.lastCommitInfo = $root.tendermint.abci.LastCommitInfo.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.byzantineValidators && message.byzantineValidators.length)) + message.byzantineValidators = []; + message.byzantineValidators.push($root.tendermint.abci.Evidence.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified RequestEndBlock message. Does not implicitly {@link abci.RequestEndBlock.verify|verify} messages. - * @function encode - * @memberof abci.RequestEndBlock - * @static - * @param {abci.IRequestEndBlock} message RequestEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEndBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && message.hasOwnProperty("height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - return writer; - }; + /** + * Decodes a RequestBeginBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestBeginBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified RequestEndBlock message, length delimited. Does not implicitly {@link abci.RequestEndBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestEndBlock - * @static - * @param {abci.IRequestEndBlock} message RequestEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEndBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a RequestBeginBlock message. + * @function verify + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestBeginBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + if (message.header != null && message.hasOwnProperty("header")) { + var error = $root.tendermint.types.Header.verify(message.header); + if (error) + return "header." + error; + } + if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) { + var error = $root.tendermint.abci.LastCommitInfo.verify(message.lastCommitInfo); + if (error) + return "lastCommitInfo." + error; + } + if (message.byzantineValidators != null && message.hasOwnProperty("byzantineValidators")) { + if (!Array.isArray(message.byzantineValidators)) + return "byzantineValidators: array expected"; + for (var i = 0; i < message.byzantineValidators.length; ++i) { + var error = $root.tendermint.abci.Evidence.verify(message.byzantineValidators[i]); + if (error) + return "byzantineValidators." + error; + } + } + return null; + }; - /** - * Decodes a RequestEndBlock message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestEndBlock} RequestEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEndBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestEndBlock(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Creates a RequestBeginBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock + */ + RequestBeginBlock.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestBeginBlock) + return object; + var message = new $root.tendermint.abci.RequestBeginBlock(); + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + if (object.header != null) { + if (typeof object.header !== "object") + throw TypeError(".tendermint.abci.RequestBeginBlock.header: object expected"); + message.header = $root.tendermint.types.Header.fromObject(object.header); + } + if (object.lastCommitInfo != null) { + if (typeof object.lastCommitInfo !== "object") + throw TypeError(".tendermint.abci.RequestBeginBlock.lastCommitInfo: object expected"); + message.lastCommitInfo = $root.tendermint.abci.LastCommitInfo.fromObject(object.lastCommitInfo); + } + if (object.byzantineValidators) { + if (!Array.isArray(object.byzantineValidators)) + throw TypeError(".tendermint.abci.RequestBeginBlock.byzantineValidators: array expected"); + message.byzantineValidators = []; + for (var i = 0; i < object.byzantineValidators.length; ++i) { + if (typeof object.byzantineValidators[i] !== "object") + throw TypeError(".tendermint.abci.RequestBeginBlock.byzantineValidators: object expected"); + message.byzantineValidators[i] = $root.tendermint.abci.Evidence.fromObject(object.byzantineValidators[i]); + } } - } - return message; - }; + return message; + }; - /** - * Decodes a RequestEndBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestEndBlock} RequestEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEndBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a plain object from a RequestBeginBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestBeginBlock + * @static + * @param {tendermint.abci.RequestBeginBlock} message RequestBeginBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestBeginBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.byzantineValidators = []; + if (options.defaults) { + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + object.header = null; + object.lastCommitInfo = null; + } + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + if (message.header != null && message.hasOwnProperty("header")) + object.header = $root.tendermint.types.Header.toObject(message.header, options); + if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) + object.lastCommitInfo = $root.tendermint.abci.LastCommitInfo.toObject(message.lastCommitInfo, options); + if (message.byzantineValidators && message.byzantineValidators.length) { + object.byzantineValidators = []; + for (var j = 0; j < message.byzantineValidators.length; ++j) + object.byzantineValidators[j] = $root.tendermint.abci.Evidence.toObject(message.byzantineValidators[j], options); + } + return object; + }; - /** - * Verifies a RequestEndBlock message. - * @function verify - * @memberof abci.RequestEndBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestEndBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - return null; - }; + /** + * Converts this RequestBeginBlock to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestBeginBlock + * @instance + * @returns {Object.} JSON object + */ + RequestBeginBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a RequestEndBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestEndBlock - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestEndBlock} RequestEndBlock - */ - RequestEndBlock.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestEndBlock) - return object; - var message = new $root.abci.RequestEndBlock(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - return message; - }; + return RequestBeginBlock; + })(); /** - * Creates a plain object from a RequestEndBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestEndBlock - * @static - * @param {abci.RequestEndBlock} message RequestEndBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object + * CheckTxType enum. + * @name tendermint.abci.CheckTxType + * @enum {number} + * @property {number} NEW=0 NEW value + * @property {number} RECHECK=1 RECHECK value */ - RequestEndBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - return object; - }; + abci.CheckTxType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NEW"] = 0; + values[valuesById[1] = "RECHECK"] = 1; + return values; + })(); - /** - * Converts this RequestEndBlock to JSON. - * @function toJSON - * @memberof abci.RequestEndBlock - * @instance - * @returns {Object.} JSON object - */ - RequestEndBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + abci.RequestCheckTx = (function() { - return RequestEndBlock; - })(); + /** + * Properties of a RequestCheckTx. + * @memberof tendermint.abci + * @interface IRequestCheckTx + * @property {Uint8Array|null} [tx] RequestCheckTx tx + * @property {tendermint.abci.CheckTxType|null} [type] RequestCheckTx type + */ - abci.RequestCommit = (function() { + /** + * Constructs a new RequestCheckTx. + * @memberof tendermint.abci + * @classdesc Represents a RequestCheckTx. + * @implements IRequestCheckTx + * @constructor + * @param {tendermint.abci.IRequestCheckTx=} [properties] Properties to set + */ + function RequestCheckTx(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Properties of a RequestCommit. - * @memberof abci - * @interface IRequestCommit - */ + /** + * RequestCheckTx tx. + * @member {Uint8Array} tx + * @memberof tendermint.abci.RequestCheckTx + * @instance + */ + RequestCheckTx.prototype.tx = $util.newBuffer([]); - /** - * Constructs a new RequestCommit. - * @memberof abci - * @classdesc Represents a RequestCommit. - * @implements IRequestCommit - * @constructor - * @param {abci.IRequestCommit=} [properties] Properties to set - */ - function RequestCommit(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * RequestCheckTx type. + * @member {tendermint.abci.CheckTxType} type + * @memberof tendermint.abci.RequestCheckTx + * @instance + */ + RequestCheckTx.prototype.type = 0; - /** - * Creates a new RequestCommit instance using the specified properties. - * @function create - * @memberof abci.RequestCommit - * @static - * @param {abci.IRequestCommit=} [properties] Properties to set - * @returns {abci.RequestCommit} RequestCommit instance - */ - RequestCommit.create = function create(properties) { - return new RequestCommit(properties); - }; + /** + * Creates a new RequestCheckTx instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {tendermint.abci.IRequestCheckTx=} [properties] Properties to set + * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx instance + */ + RequestCheckTx.create = function create(properties) { + return new RequestCheckTx(properties); + }; - /** - * Encodes the specified RequestCommit message. Does not implicitly {@link abci.RequestCommit.verify|verify} messages. - * @function encode - * @memberof abci.RequestCommit - * @static - * @param {abci.IRequestCommit} message RequestCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCommit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; + /** + * Encodes the specified RequestCheckTx message. Does not implicitly {@link tendermint.abci.RequestCheckTx.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {tendermint.abci.IRequestCheckTx} message RequestCheckTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestCheckTx.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type); + return writer; + }; - /** - * Encodes the specified RequestCommit message, length delimited. Does not implicitly {@link abci.RequestCommit.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.RequestCommit - * @static - * @param {abci.IRequestCommit} message RequestCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCommit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestCheckTx message, length delimited. Does not implicitly {@link tendermint.abci.RequestCheckTx.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {tendermint.abci.IRequestCheckTx} message RequestCheckTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestCheckTx.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a RequestCommit message from the specified reader or buffer. - * @function decode - * @memberof abci.RequestCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.RequestCommit} RequestCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCommit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.RequestCommit(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestCheckTx message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestCheckTx.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestCheckTx(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = reader.bytes(); + break; + case 2: + message.type = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a RequestCommit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.RequestCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.RequestCommit} RequestCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCommit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestCheckTx message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestCheckTx.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a RequestCommit message. - * @function verify - * @memberof abci.RequestCommit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestCommit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; + /** + * Verifies a RequestCheckTx message. + * @function verify + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestCheckTx.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tx != null && message.hasOwnProperty("tx")) + if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) + return "tx: buffer expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; - /** - * Creates a RequestCommit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.RequestCommit - * @static - * @param {Object.} object Plain object - * @returns {abci.RequestCommit} RequestCommit - */ - RequestCommit.fromObject = function fromObject(object) { - if (object instanceof $root.abci.RequestCommit) - return object; - return new $root.abci.RequestCommit(); - }; + /** + * Creates a RequestCheckTx message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx + */ + RequestCheckTx.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestCheckTx) + return object; + var message = new $root.tendermint.abci.RequestCheckTx(); + if (object.tx != null) + if (typeof object.tx === "string") + $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); + else if (object.tx.length) + message.tx = object.tx; + switch (object.type) { + case "NEW": + case 0: + message.type = 0; + break; + case "RECHECK": + case 1: + message.type = 1; + break; + } + return message; + }; - /** - * Creates a plain object from a RequestCommit message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.RequestCommit - * @static - * @param {abci.RequestCommit} message RequestCommit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestCommit.toObject = function toObject() { - return {}; - }; + /** + * Creates a plain object from a RequestCheckTx message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestCheckTx + * @static + * @param {tendermint.abci.RequestCheckTx} message RequestCheckTx + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestCheckTx.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.tx = ""; + else { + object.tx = []; + if (options.bytes !== Array) + object.tx = $util.newBuffer(object.tx); + } + object.type = options.enums === String ? "NEW" : 0; + } + if (message.tx != null && message.hasOwnProperty("tx")) + object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.abci.CheckTxType[message.type] : message.type; + return object; + }; - /** - * Converts this RequestCommit to JSON. - * @function toJSON - * @memberof abci.RequestCommit - * @instance - * @returns {Object.} JSON object - */ - RequestCommit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this RequestCheckTx to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestCheckTx + * @instance + * @returns {Object.} JSON object + */ + RequestCheckTx.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return RequestCommit; - })(); + return RequestCheckTx; + })(); - abci.Response = (function() { + abci.RequestDeliverTx = (function() { - /** - * Properties of a Response. - * @memberof abci - * @interface IResponse - * @property {abci.IResponseException|null} [exception] Response exception - * @property {abci.IResponseEcho|null} [echo] Response echo - * @property {abci.IResponseFlush|null} [flush] Response flush - * @property {abci.IResponseInfo|null} [info] Response info - * @property {abci.IResponseSetOption|null} [setOption] Response setOption - * @property {abci.IResponseInitChain|null} [initChain] Response initChain - * @property {abci.IResponseQuery|null} [query] Response query - * @property {abci.IResponseBeginBlock|null} [beginBlock] Response beginBlock - * @property {abci.IResponseCheckTx|null} [checkTx] Response checkTx - * @property {abci.IResponseDeliverTx|null} [deliverTx] Response deliverTx - * @property {abci.IResponseEndBlock|null} [endBlock] Response endBlock - * @property {abci.IResponseCommit|null} [commit] Response commit - */ + /** + * Properties of a RequestDeliverTx. + * @memberof tendermint.abci + * @interface IRequestDeliverTx + * @property {Uint8Array|null} [tx] RequestDeliverTx tx + */ - /** - * Constructs a new Response. - * @memberof abci - * @classdesc Represents a Response. - * @implements IResponse - * @constructor - * @param {abci.IResponse=} [properties] Properties to set - */ - function Response(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new RequestDeliverTx. + * @memberof tendermint.abci + * @classdesc Represents a RequestDeliverTx. + * @implements IRequestDeliverTx + * @constructor + * @param {tendermint.abci.IRequestDeliverTx=} [properties] Properties to set + */ + function RequestDeliverTx(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Response exception. - * @member {abci.IResponseException|null|undefined} exception - * @memberof abci.Response - * @instance - */ - Response.prototype.exception = null; + /** + * RequestDeliverTx tx. + * @member {Uint8Array} tx + * @memberof tendermint.abci.RequestDeliverTx + * @instance + */ + RequestDeliverTx.prototype.tx = $util.newBuffer([]); - /** - * Response echo. - * @member {abci.IResponseEcho|null|undefined} echo - * @memberof abci.Response - * @instance - */ - Response.prototype.echo = null; + /** + * Creates a new RequestDeliverTx instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {tendermint.abci.IRequestDeliverTx=} [properties] Properties to set + * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx instance + */ + RequestDeliverTx.create = function create(properties) { + return new RequestDeliverTx(properties); + }; - /** - * Response flush. - * @member {abci.IResponseFlush|null|undefined} flush - * @memberof abci.Response - * @instance - */ - Response.prototype.flush = null; + /** + * Encodes the specified RequestDeliverTx message. Does not implicitly {@link tendermint.abci.RequestDeliverTx.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {tendermint.abci.IRequestDeliverTx} message RequestDeliverTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestDeliverTx.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); + return writer; + }; - /** - * Response info. - * @member {abci.IResponseInfo|null|undefined} info - * @memberof abci.Response - * @instance - */ - Response.prototype.info = null; + /** + * Encodes the specified RequestDeliverTx message, length delimited. Does not implicitly {@link tendermint.abci.RequestDeliverTx.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {tendermint.abci.IRequestDeliverTx} message RequestDeliverTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestDeliverTx.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Response setOption. - * @member {abci.IResponseSetOption|null|undefined} setOption - * @memberof abci.Response - * @instance - */ - Response.prototype.setOption = null; + /** + * Decodes a RequestDeliverTx message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestDeliverTx.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestDeliverTx(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Response initChain. - * @member {abci.IResponseInitChain|null|undefined} initChain - * @memberof abci.Response - * @instance - */ - Response.prototype.initChain = null; + /** + * Decodes a RequestDeliverTx message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestDeliverTx.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Response query. - * @member {abci.IResponseQuery|null|undefined} query - * @memberof abci.Response - * @instance - */ - Response.prototype.query = null; + /** + * Verifies a RequestDeliverTx message. + * @function verify + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestDeliverTx.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tx != null && message.hasOwnProperty("tx")) + if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) + return "tx: buffer expected"; + return null; + }; - /** - * Response beginBlock. - * @member {abci.IResponseBeginBlock|null|undefined} beginBlock - * @memberof abci.Response - * @instance - */ - Response.prototype.beginBlock = null; + /** + * Creates a RequestDeliverTx message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx + */ + RequestDeliverTx.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestDeliverTx) + return object; + var message = new $root.tendermint.abci.RequestDeliverTx(); + if (object.tx != null) + if (typeof object.tx === "string") + $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); + else if (object.tx.length) + message.tx = object.tx; + return message; + }; - /** - * Response checkTx. - * @member {abci.IResponseCheckTx|null|undefined} checkTx - * @memberof abci.Response - * @instance - */ - Response.prototype.checkTx = null; + /** + * Creates a plain object from a RequestDeliverTx message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestDeliverTx + * @static + * @param {tendermint.abci.RequestDeliverTx} message RequestDeliverTx + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestDeliverTx.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.tx = ""; + else { + object.tx = []; + if (options.bytes !== Array) + object.tx = $util.newBuffer(object.tx); + } + if (message.tx != null && message.hasOwnProperty("tx")) + object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; + return object; + }; - /** - * Response deliverTx. - * @member {abci.IResponseDeliverTx|null|undefined} deliverTx - * @memberof abci.Response - * @instance - */ - Response.prototype.deliverTx = null; + /** + * Converts this RequestDeliverTx to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestDeliverTx + * @instance + * @returns {Object.} JSON object + */ + RequestDeliverTx.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Response endBlock. - * @member {abci.IResponseEndBlock|null|undefined} endBlock - * @memberof abci.Response - * @instance - */ - Response.prototype.endBlock = null; + return RequestDeliverTx; + })(); - /** - * Response commit. - * @member {abci.IResponseCommit|null|undefined} commit - * @memberof abci.Response - * @instance - */ - Response.prototype.commit = null; + abci.RequestEndBlock = (function() { - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Properties of a RequestEndBlock. + * @memberof tendermint.abci + * @interface IRequestEndBlock + * @property {number|Long|null} [height] RequestEndBlock height + */ - /** - * Response value. - * @member {"exception"|"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|undefined} value - * @memberof abci.Response - * @instance - */ - Object.defineProperty(Response.prototype, "value", { - get: $util.oneOfGetter($oneOfFields = ["exception", "echo", "flush", "info", "setOption", "initChain", "query", "beginBlock", "checkTx", "deliverTx", "endBlock", "commit"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Constructs a new RequestEndBlock. + * @memberof tendermint.abci + * @classdesc Represents a RequestEndBlock. + * @implements IRequestEndBlock + * @constructor + * @param {tendermint.abci.IRequestEndBlock=} [properties] Properties to set + */ + function RequestEndBlock(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Creates a new Response instance using the specified properties. - * @function create - * @memberof abci.Response - * @static - * @param {abci.IResponse=} [properties] Properties to set - * @returns {abci.Response} Response instance - */ - Response.create = function create(properties) { - return new Response(properties); - }; + /** + * RequestEndBlock height. + * @member {number|Long} height + * @memberof tendermint.abci.RequestEndBlock + * @instance + */ + RequestEndBlock.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Encodes the specified Response message. Does not implicitly {@link abci.Response.verify|verify} messages. - * @function encode - * @memberof abci.Response - * @static - * @param {abci.IResponse} message Response message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Response.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.exception != null && message.hasOwnProperty("exception")) - $root.abci.ResponseException.encode(message.exception, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.echo != null && message.hasOwnProperty("echo")) - $root.abci.ResponseEcho.encode(message.echo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.flush != null && message.hasOwnProperty("flush")) - $root.abci.ResponseFlush.encode(message.flush, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.info != null && message.hasOwnProperty("info")) - $root.abci.ResponseInfo.encode(message.info, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.setOption != null && message.hasOwnProperty("setOption")) - $root.abci.ResponseSetOption.encode(message.setOption, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.initChain != null && message.hasOwnProperty("initChain")) - $root.abci.ResponseInitChain.encode(message.initChain, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.query != null && message.hasOwnProperty("query")) - $root.abci.ResponseQuery.encode(message.query, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) - $root.abci.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.checkTx != null && message.hasOwnProperty("checkTx")) - $root.abci.ResponseCheckTx.encode(message.checkTx, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) - $root.abci.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - if (message.endBlock != null && message.hasOwnProperty("endBlock")) - $root.abci.ResponseEndBlock.encode(message.endBlock, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.commit != null && message.hasOwnProperty("commit")) - $root.abci.ResponseCommit.encode(message.commit, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - return writer; - }; + /** + * Creates a new RequestEndBlock instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {tendermint.abci.IRequestEndBlock=} [properties] Properties to set + * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock instance + */ + RequestEndBlock.create = function create(properties) { + return new RequestEndBlock(properties); + }; - /** - * Encodes the specified Response message, length delimited. Does not implicitly {@link abci.Response.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Response - * @static - * @param {abci.IResponse} message Response message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Response.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestEndBlock message. Does not implicitly {@link tendermint.abci.RequestEndBlock.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {tendermint.abci.IRequestEndBlock} message RequestEndBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestEndBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + return writer; + }; - /** - * Decodes a Response message from the specified reader or buffer. - * @function decode - * @memberof abci.Response - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Response} Response - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Response.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Response(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.exception = $root.abci.ResponseException.decode(reader, reader.uint32()); - break; - case 2: - message.echo = $root.abci.ResponseEcho.decode(reader, reader.uint32()); - break; - case 3: - message.flush = $root.abci.ResponseFlush.decode(reader, reader.uint32()); - break; - case 4: - message.info = $root.abci.ResponseInfo.decode(reader, reader.uint32()); - break; - case 5: - message.setOption = $root.abci.ResponseSetOption.decode(reader, reader.uint32()); - break; - case 6: - message.initChain = $root.abci.ResponseInitChain.decode(reader, reader.uint32()); - break; - case 7: - message.query = $root.abci.ResponseQuery.decode(reader, reader.uint32()); - break; - case 8: - message.beginBlock = $root.abci.ResponseBeginBlock.decode(reader, reader.uint32()); - break; - case 9: - message.checkTx = $root.abci.ResponseCheckTx.decode(reader, reader.uint32()); - break; - case 10: - message.deliverTx = $root.abci.ResponseDeliverTx.decode(reader, reader.uint32()); - break; - case 11: - message.endBlock = $root.abci.ResponseEndBlock.decode(reader, reader.uint32()); - break; - case 12: - message.commit = $root.abci.ResponseCommit.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Encodes the specified RequestEndBlock message, length delimited. Does not implicitly {@link tendermint.abci.RequestEndBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {tendermint.abci.IRequestEndBlock} message RequestEndBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestEndBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RequestEndBlock message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestEndBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestEndBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a Response message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Response - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Response} Response - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Response.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestEndBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestEndBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a Response message. - * @function verify - * @memberof abci.Response - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Response.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.exception != null && message.hasOwnProperty("exception")) { - properties.value = 1; - { - var error = $root.abci.ResponseException.verify(message.exception); - if (error) - return "exception." + error; - } - } - if (message.echo != null && message.hasOwnProperty("echo")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseEcho.verify(message.echo); - if (error) - return "echo." + error; - } - } - if (message.flush != null && message.hasOwnProperty("flush")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseFlush.verify(message.flush); - if (error) - return "flush." + error; - } - } - if (message.info != null && message.hasOwnProperty("info")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseInfo.verify(message.info); - if (error) - return "info." + error; - } - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseSetOption.verify(message.setOption); - if (error) - return "setOption." + error; - } - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseInitChain.verify(message.initChain); - if (error) - return "initChain." + error; - } - } - if (message.query != null && message.hasOwnProperty("query")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseQuery.verify(message.query); - if (error) - return "query." + error; - } - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseBeginBlock.verify(message.beginBlock); - if (error) - return "beginBlock." + error; - } - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseCheckTx.verify(message.checkTx); - if (error) - return "checkTx." + error; - } - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseDeliverTx.verify(message.deliverTx); - if (error) - return "deliverTx." + error; - } - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseEndBlock.verify(message.endBlock); - if (error) - return "endBlock." + error; - } - } - if (message.commit != null && message.hasOwnProperty("commit")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - var error = $root.abci.ResponseCommit.verify(message.commit); - if (error) - return "commit." + error; - } - } - return null; - }; - - /** - * Creates a Response message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Response - * @static - * @param {Object.} object Plain object - * @returns {abci.Response} Response - */ - Response.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Response) - return object; - var message = new $root.abci.Response(); - if (object.exception != null) { - if (typeof object.exception !== "object") - throw TypeError(".abci.Response.exception: object expected"); - message.exception = $root.abci.ResponseException.fromObject(object.exception); - } - if (object.echo != null) { - if (typeof object.echo !== "object") - throw TypeError(".abci.Response.echo: object expected"); - message.echo = $root.abci.ResponseEcho.fromObject(object.echo); - } - if (object.flush != null) { - if (typeof object.flush !== "object") - throw TypeError(".abci.Response.flush: object expected"); - message.flush = $root.abci.ResponseFlush.fromObject(object.flush); - } - if (object.info != null) { - if (typeof object.info !== "object") - throw TypeError(".abci.Response.info: object expected"); - message.info = $root.abci.ResponseInfo.fromObject(object.info); - } - if (object.setOption != null) { - if (typeof object.setOption !== "object") - throw TypeError(".abci.Response.setOption: object expected"); - message.setOption = $root.abci.ResponseSetOption.fromObject(object.setOption); - } - if (object.initChain != null) { - if (typeof object.initChain !== "object") - throw TypeError(".abci.Response.initChain: object expected"); - message.initChain = $root.abci.ResponseInitChain.fromObject(object.initChain); - } - if (object.query != null) { - if (typeof object.query !== "object") - throw TypeError(".abci.Response.query: object expected"); - message.query = $root.abci.ResponseQuery.fromObject(object.query); - } - if (object.beginBlock != null) { - if (typeof object.beginBlock !== "object") - throw TypeError(".abci.Response.beginBlock: object expected"); - message.beginBlock = $root.abci.ResponseBeginBlock.fromObject(object.beginBlock); - } - if (object.checkTx != null) { - if (typeof object.checkTx !== "object") - throw TypeError(".abci.Response.checkTx: object expected"); - message.checkTx = $root.abci.ResponseCheckTx.fromObject(object.checkTx); - } - if (object.deliverTx != null) { - if (typeof object.deliverTx !== "object") - throw TypeError(".abci.Response.deliverTx: object expected"); - message.deliverTx = $root.abci.ResponseDeliverTx.fromObject(object.deliverTx); - } - if (object.endBlock != null) { - if (typeof object.endBlock !== "object") - throw TypeError(".abci.Response.endBlock: object expected"); - message.endBlock = $root.abci.ResponseEndBlock.fromObject(object.endBlock); - } - if (object.commit != null) { - if (typeof object.commit !== "object") - throw TypeError(".abci.Response.commit: object expected"); - message.commit = $root.abci.ResponseCommit.fromObject(object.commit); - } - return message; - }; + /** + * Verifies a RequestEndBlock message. + * @function verify + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestEndBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + return null; + }; - /** - * Creates a plain object from a Response message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Response - * @static - * @param {abci.Response} message Response - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Response.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.exception != null && message.hasOwnProperty("exception")) { - object.exception = $root.abci.ResponseException.toObject(message.exception, options); - if (options.oneofs) - object.value = "exception"; - } - if (message.echo != null && message.hasOwnProperty("echo")) { - object.echo = $root.abci.ResponseEcho.toObject(message.echo, options); - if (options.oneofs) - object.value = "echo"; - } - if (message.flush != null && message.hasOwnProperty("flush")) { - object.flush = $root.abci.ResponseFlush.toObject(message.flush, options); - if (options.oneofs) - object.value = "flush"; - } - if (message.info != null && message.hasOwnProperty("info")) { - object.info = $root.abci.ResponseInfo.toObject(message.info, options); - if (options.oneofs) - object.value = "info"; - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - object.setOption = $root.abci.ResponseSetOption.toObject(message.setOption, options); - if (options.oneofs) - object.value = "setOption"; - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - object.initChain = $root.abci.ResponseInitChain.toObject(message.initChain, options); - if (options.oneofs) - object.value = "initChain"; - } - if (message.query != null && message.hasOwnProperty("query")) { - object.query = $root.abci.ResponseQuery.toObject(message.query, options); - if (options.oneofs) - object.value = "query"; - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - object.beginBlock = $root.abci.ResponseBeginBlock.toObject(message.beginBlock, options); - if (options.oneofs) - object.value = "beginBlock"; - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - object.checkTx = $root.abci.ResponseCheckTx.toObject(message.checkTx, options); - if (options.oneofs) - object.value = "checkTx"; - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - object.deliverTx = $root.abci.ResponseDeliverTx.toObject(message.deliverTx, options); - if (options.oneofs) - object.value = "deliverTx"; - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - object.endBlock = $root.abci.ResponseEndBlock.toObject(message.endBlock, options); - if (options.oneofs) - object.value = "endBlock"; - } - if (message.commit != null && message.hasOwnProperty("commit")) { - object.commit = $root.abci.ResponseCommit.toObject(message.commit, options); - if (options.oneofs) - object.value = "commit"; - } - return object; - }; + /** + * Creates a RequestEndBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock + */ + RequestEndBlock.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestEndBlock) + return object; + var message = new $root.tendermint.abci.RequestEndBlock(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + return message; + }; - /** - * Converts this Response to JSON. - * @function toJSON - * @memberof abci.Response - * @instance - * @returns {Object.} JSON object - */ - Response.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a RequestEndBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestEndBlock + * @static + * @param {tendermint.abci.RequestEndBlock} message RequestEndBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestEndBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + return object; + }; - return Response; - })(); + /** + * Converts this RequestEndBlock to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestEndBlock + * @instance + * @returns {Object.} JSON object + */ + RequestEndBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - abci.ResponseException = (function() { + return RequestEndBlock; + })(); - /** - * Properties of a ResponseException. - * @memberof abci - * @interface IResponseException - * @property {string|null} [error] ResponseException error - */ + abci.RequestCommit = (function() { - /** - * Constructs a new ResponseException. - * @memberof abci - * @classdesc Represents a ResponseException. - * @implements IResponseException - * @constructor - * @param {abci.IResponseException=} [properties] Properties to set - */ - function ResponseException(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a RequestCommit. + * @memberof tendermint.abci + * @interface IRequestCommit + */ - /** - * ResponseException error. - * @member {string} error - * @memberof abci.ResponseException - * @instance - */ - ResponseException.prototype.error = ""; + /** + * Constructs a new RequestCommit. + * @memberof tendermint.abci + * @classdesc Represents a RequestCommit. + * @implements IRequestCommit + * @constructor + * @param {tendermint.abci.IRequestCommit=} [properties] Properties to set + */ + function RequestCommit(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Creates a new ResponseException instance using the specified properties. - * @function create - * @memberof abci.ResponseException - * @static - * @param {abci.IResponseException=} [properties] Properties to set - * @returns {abci.ResponseException} ResponseException instance - */ - ResponseException.create = function create(properties) { - return new ResponseException(properties); - }; + /** + * Creates a new RequestCommit instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestCommit + * @static + * @param {tendermint.abci.IRequestCommit=} [properties] Properties to set + * @returns {tendermint.abci.RequestCommit} RequestCommit instance + */ + RequestCommit.create = function create(properties) { + return new RequestCommit(properties); + }; - /** - * Encodes the specified ResponseException message. Does not implicitly {@link abci.ResponseException.verify|verify} messages. - * @function encode - * @memberof abci.ResponseException - * @static - * @param {abci.IResponseException} message ResponseException message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseException.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.error != null && message.hasOwnProperty("error")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.error); - return writer; - }; + /** + * Encodes the specified RequestCommit message. Does not implicitly {@link tendermint.abci.RequestCommit.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestCommit + * @static + * @param {tendermint.abci.IRequestCommit} message RequestCommit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestCommit.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; - /** - * Encodes the specified ResponseException message, length delimited. Does not implicitly {@link abci.ResponseException.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseException - * @static - * @param {abci.IResponseException} message ResponseException message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseException.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestCommit message, length delimited. Does not implicitly {@link tendermint.abci.RequestCommit.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestCommit + * @static + * @param {tendermint.abci.IRequestCommit} message RequestCommit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestCommit.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ResponseException message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseException - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseException} ResponseException - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseException.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseException(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.error = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestCommit message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestCommit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestCommit} RequestCommit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestCommit.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestCommit(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; - - /** - * Decodes a ResponseException message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseException - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseException} ResponseException - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseException.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + return message; + }; - /** - * Verifies a ResponseException message. - * @function verify - * @memberof abci.ResponseException - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseException.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.error != null && message.hasOwnProperty("error")) - if (!$util.isString(message.error)) - return "error: string expected"; - return null; - }; + /** + * Decodes a RequestCommit message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestCommit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestCommit} RequestCommit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestCommit.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a ResponseException message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseException - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseException} ResponseException - */ - ResponseException.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseException) - return object; - var message = new $root.abci.ResponseException(); - if (object.error != null) - message.error = String(object.error); - return message; - }; + /** + * Verifies a RequestCommit message. + * @function verify + * @memberof tendermint.abci.RequestCommit + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestCommit.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; - /** - * Creates a plain object from a ResponseException message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseException - * @static - * @param {abci.ResponseException} message ResponseException - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseException.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.error = ""; - if (message.error != null && message.hasOwnProperty("error")) - object.error = message.error; - return object; - }; + /** + * Creates a RequestCommit message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestCommit + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestCommit} RequestCommit + */ + RequestCommit.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestCommit) + return object; + return new $root.tendermint.abci.RequestCommit(); + }; - /** - * Converts this ResponseException to JSON. - * @function toJSON - * @memberof abci.ResponseException - * @instance - * @returns {Object.} JSON object - */ - ResponseException.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a RequestCommit message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestCommit + * @static + * @param {tendermint.abci.RequestCommit} message RequestCommit + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestCommit.toObject = function toObject() { + return {}; + }; - return ResponseException; - })(); + /** + * Converts this RequestCommit to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestCommit + * @instance + * @returns {Object.} JSON object + */ + RequestCommit.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - abci.ResponseEcho = (function() { + return RequestCommit; + })(); - /** - * Properties of a ResponseEcho. - * @memberof abci - * @interface IResponseEcho - * @property {string|null} [message] ResponseEcho message - */ + abci.RequestListSnapshots = (function() { - /** - * Constructs a new ResponseEcho. - * @memberof abci - * @classdesc Represents a ResponseEcho. - * @implements IResponseEcho - * @constructor - * @param {abci.IResponseEcho=} [properties] Properties to set - */ - function ResponseEcho(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a RequestListSnapshots. + * @memberof tendermint.abci + * @interface IRequestListSnapshots + */ - /** - * ResponseEcho message. - * @member {string} message - * @memberof abci.ResponseEcho - * @instance - */ - ResponseEcho.prototype.message = ""; + /** + * Constructs a new RequestListSnapshots. + * @memberof tendermint.abci + * @classdesc Represents a RequestListSnapshots. + * @implements IRequestListSnapshots + * @constructor + * @param {tendermint.abci.IRequestListSnapshots=} [properties] Properties to set + */ + function RequestListSnapshots(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Creates a new ResponseEcho instance using the specified properties. - * @function create - * @memberof abci.ResponseEcho - * @static - * @param {abci.IResponseEcho=} [properties] Properties to set - * @returns {abci.ResponseEcho} ResponseEcho instance - */ - ResponseEcho.create = function create(properties) { - return new ResponseEcho(properties); - }; + /** + * Creates a new RequestListSnapshots instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {tendermint.abci.IRequestListSnapshots=} [properties] Properties to set + * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots instance + */ + RequestListSnapshots.create = function create(properties) { + return new RequestListSnapshots(properties); + }; - /** - * Encodes the specified ResponseEcho message. Does not implicitly {@link abci.ResponseEcho.verify|verify} messages. - * @function encode - * @memberof abci.ResponseEcho - * @static - * @param {abci.IResponseEcho} message ResponseEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEcho.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.message != null && message.hasOwnProperty("message")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.message); - return writer; - }; + /** + * Encodes the specified RequestListSnapshots message. Does not implicitly {@link tendermint.abci.RequestListSnapshots.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {tendermint.abci.IRequestListSnapshots} message RequestListSnapshots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestListSnapshots.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; - /** - * Encodes the specified ResponseEcho message, length delimited. Does not implicitly {@link abci.ResponseEcho.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseEcho - * @static - * @param {abci.IResponseEcho} message ResponseEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEcho.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestListSnapshots message, length delimited. Does not implicitly {@link tendermint.abci.RequestListSnapshots.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {tendermint.abci.IRequestListSnapshots} message RequestListSnapshots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestListSnapshots.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ResponseEcho message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseEcho} ResponseEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEcho.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseEcho(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.message = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestListSnapshots message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestListSnapshots.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestListSnapshots(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ResponseEcho message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseEcho} ResponseEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEcho.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestListSnapshots message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestListSnapshots.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ResponseEcho message. - * @function verify - * @memberof abci.ResponseEcho - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseEcho.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.message != null && message.hasOwnProperty("message")) - if (!$util.isString(message.message)) - return "message: string expected"; - return null; - }; + /** + * Verifies a RequestListSnapshots message. + * @function verify + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestListSnapshots.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; - /** - * Creates a ResponseEcho message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseEcho - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseEcho} ResponseEcho - */ - ResponseEcho.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseEcho) - return object; - var message = new $root.abci.ResponseEcho(); - if (object.message != null) - message.message = String(object.message); - return message; - }; + /** + * Creates a RequestListSnapshots message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots + */ + RequestListSnapshots.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestListSnapshots) + return object; + return new $root.tendermint.abci.RequestListSnapshots(); + }; - /** - * Creates a plain object from a ResponseEcho message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseEcho - * @static - * @param {abci.ResponseEcho} message ResponseEcho - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseEcho.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.message = ""; - if (message.message != null && message.hasOwnProperty("message")) - object.message = message.message; - return object; - }; + /** + * Creates a plain object from a RequestListSnapshots message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestListSnapshots + * @static + * @param {tendermint.abci.RequestListSnapshots} message RequestListSnapshots + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestListSnapshots.toObject = function toObject() { + return {}; + }; - /** - * Converts this ResponseEcho to JSON. - * @function toJSON - * @memberof abci.ResponseEcho - * @instance - * @returns {Object.} JSON object - */ - ResponseEcho.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this RequestListSnapshots to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestListSnapshots + * @instance + * @returns {Object.} JSON object + */ + RequestListSnapshots.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ResponseEcho; - })(); + return RequestListSnapshots; + })(); - abci.ResponseFlush = (function() { + abci.RequestOfferSnapshot = (function() { - /** - * Properties of a ResponseFlush. - * @memberof abci - * @interface IResponseFlush - */ + /** + * Properties of a RequestOfferSnapshot. + * @memberof tendermint.abci + * @interface IRequestOfferSnapshot + * @property {tendermint.abci.ISnapshot|null} [snapshot] RequestOfferSnapshot snapshot + * @property {Uint8Array|null} [appHash] RequestOfferSnapshot appHash + */ - /** - * Constructs a new ResponseFlush. - * @memberof abci - * @classdesc Represents a ResponseFlush. - * @implements IResponseFlush - * @constructor - * @param {abci.IResponseFlush=} [properties] Properties to set - */ - function ResponseFlush(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new RequestOfferSnapshot. + * @memberof tendermint.abci + * @classdesc Represents a RequestOfferSnapshot. + * @implements IRequestOfferSnapshot + * @constructor + * @param {tendermint.abci.IRequestOfferSnapshot=} [properties] Properties to set + */ + function RequestOfferSnapshot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Creates a new ResponseFlush instance using the specified properties. - * @function create - * @memberof abci.ResponseFlush - * @static - * @param {abci.IResponseFlush=} [properties] Properties to set - * @returns {abci.ResponseFlush} ResponseFlush instance - */ - ResponseFlush.create = function create(properties) { - return new ResponseFlush(properties); - }; + /** + * RequestOfferSnapshot snapshot. + * @member {tendermint.abci.ISnapshot|null|undefined} snapshot + * @memberof tendermint.abci.RequestOfferSnapshot + * @instance + */ + RequestOfferSnapshot.prototype.snapshot = null; - /** - * Encodes the specified ResponseFlush message. Does not implicitly {@link abci.ResponseFlush.verify|verify} messages. - * @function encode - * @memberof abci.ResponseFlush - * @static - * @param {abci.IResponseFlush} message ResponseFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseFlush.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; + /** + * RequestOfferSnapshot appHash. + * @member {Uint8Array} appHash + * @memberof tendermint.abci.RequestOfferSnapshot + * @instance + */ + RequestOfferSnapshot.prototype.appHash = $util.newBuffer([]); - /** - * Encodes the specified ResponseFlush message, length delimited. Does not implicitly {@link abci.ResponseFlush.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseFlush - * @static - * @param {abci.IResponseFlush} message ResponseFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseFlush.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new RequestOfferSnapshot instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {tendermint.abci.IRequestOfferSnapshot=} [properties] Properties to set + * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot instance + */ + RequestOfferSnapshot.create = function create(properties) { + return new RequestOfferSnapshot(properties); + }; - /** - * Decodes a ResponseFlush message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseFlush} ResponseFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseFlush.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseFlush(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; + /** + * Encodes the specified RequestOfferSnapshot message. Does not implicitly {@link tendermint.abci.RequestOfferSnapshot.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {tendermint.abci.IRequestOfferSnapshot} message RequestOfferSnapshot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestOfferSnapshot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.snapshot != null && Object.hasOwnProperty.call(message, "snapshot")) + $root.tendermint.abci.Snapshot.encode(message.snapshot, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.appHash); + return writer; + }; + + /** + * Encodes the specified RequestOfferSnapshot message, length delimited. Does not implicitly {@link tendermint.abci.RequestOfferSnapshot.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {tendermint.abci.IRequestOfferSnapshot} message RequestOfferSnapshot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestOfferSnapshot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RequestOfferSnapshot message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestOfferSnapshot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestOfferSnapshot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.snapshot = $root.tendermint.abci.Snapshot.decode(reader, reader.uint32()); + break; + case 2: + message.appHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ResponseFlush message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseFlush} ResponseFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseFlush.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestOfferSnapshot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestOfferSnapshot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ResponseFlush message. - * @function verify - * @memberof abci.ResponseFlush - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseFlush.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; + /** + * Verifies a RequestOfferSnapshot message. + * @function verify + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestOfferSnapshot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.snapshot != null && message.hasOwnProperty("snapshot")) { + var error = $root.tendermint.abci.Snapshot.verify(message.snapshot); + if (error) + return "snapshot." + error; + } + if (message.appHash != null && message.hasOwnProperty("appHash")) + if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) + return "appHash: buffer expected"; + return null; + }; - /** - * Creates a ResponseFlush message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseFlush - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseFlush} ResponseFlush - */ - ResponseFlush.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseFlush) + /** + * Creates a RequestOfferSnapshot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot + */ + RequestOfferSnapshot.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestOfferSnapshot) + return object; + var message = new $root.tendermint.abci.RequestOfferSnapshot(); + if (object.snapshot != null) { + if (typeof object.snapshot !== "object") + throw TypeError(".tendermint.abci.RequestOfferSnapshot.snapshot: object expected"); + message.snapshot = $root.tendermint.abci.Snapshot.fromObject(object.snapshot); + } + if (object.appHash != null) + if (typeof object.appHash === "string") + $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); + else if (object.appHash.length) + message.appHash = object.appHash; + return message; + }; + + /** + * Creates a plain object from a RequestOfferSnapshot message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestOfferSnapshot + * @static + * @param {tendermint.abci.RequestOfferSnapshot} message RequestOfferSnapshot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestOfferSnapshot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.snapshot = null; + if (options.bytes === String) + object.appHash = ""; + else { + object.appHash = []; + if (options.bytes !== Array) + object.appHash = $util.newBuffer(object.appHash); + } + } + if (message.snapshot != null && message.hasOwnProperty("snapshot")) + object.snapshot = $root.tendermint.abci.Snapshot.toObject(message.snapshot, options); + if (message.appHash != null && message.hasOwnProperty("appHash")) + object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; return object; - return new $root.abci.ResponseFlush(); - }; + }; - /** - * Creates a plain object from a ResponseFlush message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseFlush - * @static - * @param {abci.ResponseFlush} message ResponseFlush - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseFlush.toObject = function toObject() { - return {}; - }; + /** + * Converts this RequestOfferSnapshot to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestOfferSnapshot + * @instance + * @returns {Object.} JSON object + */ + RequestOfferSnapshot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this ResponseFlush to JSON. - * @function toJSON - * @memberof abci.ResponseFlush - * @instance - * @returns {Object.} JSON object - */ - ResponseFlush.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return RequestOfferSnapshot; + })(); - return ResponseFlush; - })(); + abci.RequestLoadSnapshotChunk = (function() { - abci.ResponseInfo = (function() { + /** + * Properties of a RequestLoadSnapshotChunk. + * @memberof tendermint.abci + * @interface IRequestLoadSnapshotChunk + * @property {number|Long|null} [height] RequestLoadSnapshotChunk height + * @property {number|null} [format] RequestLoadSnapshotChunk format + * @property {number|null} [chunk] RequestLoadSnapshotChunk chunk + */ - /** - * Properties of a ResponseInfo. - * @memberof abci - * @interface IResponseInfo - * @property {string|null} [data] ResponseInfo data - * @property {string|null} [version] ResponseInfo version - * @property {number|Long|null} [appVersion] ResponseInfo appVersion - * @property {number|Long|null} [lastBlockHeight] ResponseInfo lastBlockHeight - * @property {Uint8Array|null} [lastBlockAppHash] ResponseInfo lastBlockAppHash - */ + /** + * Constructs a new RequestLoadSnapshotChunk. + * @memberof tendermint.abci + * @classdesc Represents a RequestLoadSnapshotChunk. + * @implements IRequestLoadSnapshotChunk + * @constructor + * @param {tendermint.abci.IRequestLoadSnapshotChunk=} [properties] Properties to set + */ + function RequestLoadSnapshotChunk(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new ResponseInfo. - * @memberof abci - * @classdesc Represents a ResponseInfo. - * @implements IResponseInfo - * @constructor - * @param {abci.IResponseInfo=} [properties] Properties to set - */ - function ResponseInfo(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * RequestLoadSnapshotChunk height. + * @member {number|Long} height + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @instance + */ + RequestLoadSnapshotChunk.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - /** - * ResponseInfo data. - * @member {string} data - * @memberof abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.data = ""; + /** + * RequestLoadSnapshotChunk format. + * @member {number} format + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @instance + */ + RequestLoadSnapshotChunk.prototype.format = 0; - /** - * ResponseInfo version. - * @member {string} version - * @memberof abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.version = ""; - - /** - * ResponseInfo appVersion. - * @member {number|Long} appVersion - * @memberof abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.appVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ResponseInfo lastBlockHeight. - * @member {number|Long} lastBlockHeight - * @memberof abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.lastBlockHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseInfo lastBlockAppHash. - * @member {Uint8Array} lastBlockAppHash - * @memberof abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.lastBlockAppHash = $util.newBuffer([]); + /** + * RequestLoadSnapshotChunk chunk. + * @member {number} chunk + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @instance + */ + RequestLoadSnapshotChunk.prototype.chunk = 0; - /** - * Creates a new ResponseInfo instance using the specified properties. - * @function create - * @memberof abci.ResponseInfo - * @static - * @param {abci.IResponseInfo=} [properties] Properties to set - * @returns {abci.ResponseInfo} ResponseInfo instance - */ - ResponseInfo.create = function create(properties) { - return new ResponseInfo(properties); - }; + /** + * Creates a new RequestLoadSnapshotChunk instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {tendermint.abci.IRequestLoadSnapshotChunk=} [properties] Properties to set + * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk instance + */ + RequestLoadSnapshotChunk.create = function create(properties) { + return new RequestLoadSnapshotChunk(properties); + }; - /** - * Encodes the specified ResponseInfo message. Does not implicitly {@link abci.ResponseInfo.verify|verify} messages. - * @function encode - * @memberof abci.ResponseInfo - * @static - * @param {abci.IResponseInfo} message ResponseInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.data); - if (message.version != null && message.hasOwnProperty("version")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.appVersion); - if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.lastBlockHeight); - if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.lastBlockAppHash); - return writer; - }; + /** + * Encodes the specified RequestLoadSnapshotChunk message. Does not implicitly {@link tendermint.abci.RequestLoadSnapshotChunk.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {tendermint.abci.IRequestLoadSnapshotChunk} message RequestLoadSnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestLoadSnapshotChunk.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); + if (message.format != null && Object.hasOwnProperty.call(message, "format")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); + if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.chunk); + return writer; + }; - /** - * Encodes the specified ResponseInfo message, length delimited. Does not implicitly {@link abci.ResponseInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseInfo - * @static - * @param {abci.IResponseInfo} message ResponseInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestLoadSnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.RequestLoadSnapshotChunk.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {tendermint.abci.IRequestLoadSnapshotChunk} message RequestLoadSnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestLoadSnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ResponseInfo message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseInfo} ResponseInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.string(); - break; - case 2: - message.version = reader.string(); - break; - case 3: - message.appVersion = reader.uint64(); - break; - case 4: - message.lastBlockHeight = reader.int64(); - break; - case 5: - message.lastBlockAppHash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestLoadSnapshotChunk message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestLoadSnapshotChunk.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestLoadSnapshotChunk(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.uint64(); + break; + case 2: + message.format = reader.uint32(); + break; + case 3: + message.chunk = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ResponseInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseInfo} ResponseInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestLoadSnapshotChunk message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestLoadSnapshotChunk.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ResponseInfo message. - * @function verify - * @memberof abci.ResponseInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!$util.isString(message.data)) - return "data: string expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - if (!$util.isInteger(message.appVersion) && !(message.appVersion && $util.isInteger(message.appVersion.low) && $util.isInteger(message.appVersion.high))) - return "appVersion: integer|Long expected"; - if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) - if (!$util.isInteger(message.lastBlockHeight) && !(message.lastBlockHeight && $util.isInteger(message.lastBlockHeight.low) && $util.isInteger(message.lastBlockHeight.high))) - return "lastBlockHeight: integer|Long expected"; - if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) - if (!(message.lastBlockAppHash && typeof message.lastBlockAppHash.length === "number" || $util.isString(message.lastBlockAppHash))) - return "lastBlockAppHash: buffer expected"; - return null; - }; + /** + * Verifies a RequestLoadSnapshotChunk message. + * @function verify + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestLoadSnapshotChunk.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.format != null && message.hasOwnProperty("format")) + if (!$util.isInteger(message.format)) + return "format: integer expected"; + if (message.chunk != null && message.hasOwnProperty("chunk")) + if (!$util.isInteger(message.chunk)) + return "chunk: integer expected"; + return null; + }; - /** - * Creates a ResponseInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseInfo - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseInfo} ResponseInfo - */ - ResponseInfo.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseInfo) - return object; - var message = new $root.abci.ResponseInfo(); - if (object.data != null) - message.data = String(object.data); - if (object.version != null) - message.version = String(object.version); - if (object.appVersion != null) - if ($util.Long) - (message.appVersion = $util.Long.fromValue(object.appVersion)).unsigned = true; - else if (typeof object.appVersion === "string") - message.appVersion = parseInt(object.appVersion, 10); - else if (typeof object.appVersion === "number") - message.appVersion = object.appVersion; - else if (typeof object.appVersion === "object") - message.appVersion = new $util.LongBits(object.appVersion.low >>> 0, object.appVersion.high >>> 0).toNumber(true); - if (object.lastBlockHeight != null) - if ($util.Long) - (message.lastBlockHeight = $util.Long.fromValue(object.lastBlockHeight)).unsigned = false; - else if (typeof object.lastBlockHeight === "string") - message.lastBlockHeight = parseInt(object.lastBlockHeight, 10); - else if (typeof object.lastBlockHeight === "number") - message.lastBlockHeight = object.lastBlockHeight; - else if (typeof object.lastBlockHeight === "object") - message.lastBlockHeight = new $util.LongBits(object.lastBlockHeight.low >>> 0, object.lastBlockHeight.high >>> 0).toNumber(); - if (object.lastBlockAppHash != null) - if (typeof object.lastBlockAppHash === "string") - $util.base64.decode(object.lastBlockAppHash, message.lastBlockAppHash = $util.newBuffer($util.base64.length(object.lastBlockAppHash)), 0); - else if (object.lastBlockAppHash.length) - message.lastBlockAppHash = object.lastBlockAppHash; - return message; - }; + /** + * Creates a RequestLoadSnapshotChunk message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk + */ + RequestLoadSnapshotChunk.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestLoadSnapshotChunk) + return object; + var message = new $root.tendermint.abci.RequestLoadSnapshotChunk(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = true; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); + if (object.format != null) + message.format = object.format >>> 0; + if (object.chunk != null) + message.chunk = object.chunk >>> 0; + return message; + }; - /** - * Creates a plain object from a ResponseInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseInfo - * @static - * @param {abci.ResponseInfo} message ResponseInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.data = ""; - object.version = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.appVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.appVersion = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.lastBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.lastBlockHeight = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.lastBlockAppHash = ""; - else { - object.lastBlockAppHash = []; - if (options.bytes !== Array) - object.lastBlockAppHash = $util.newBuffer(object.lastBlockAppHash); + /** + * Creates a plain object from a RequestLoadSnapshotChunk message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @static + * @param {tendermint.abci.RequestLoadSnapshotChunk} message RequestLoadSnapshotChunk + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestLoadSnapshotChunk.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.format = 0; + object.chunk = 0; } - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = message.data; - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - if (typeof message.appVersion === "number") - object.appVersion = options.longs === String ? String(message.appVersion) : message.appVersion; - else - object.appVersion = options.longs === String ? $util.Long.prototype.toString.call(message.appVersion) : options.longs === Number ? new $util.LongBits(message.appVersion.low >>> 0, message.appVersion.high >>> 0).toNumber(true) : message.appVersion; - if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) - if (typeof message.lastBlockHeight === "number") - object.lastBlockHeight = options.longs === String ? String(message.lastBlockHeight) : message.lastBlockHeight; - else - object.lastBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.lastBlockHeight) : options.longs === Number ? new $util.LongBits(message.lastBlockHeight.low >>> 0, message.lastBlockHeight.high >>> 0).toNumber() : message.lastBlockHeight; - if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) - object.lastBlockAppHash = options.bytes === String ? $util.base64.encode(message.lastBlockAppHash, 0, message.lastBlockAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockAppHash) : message.lastBlockAppHash; - return object; - }; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; + if (message.format != null && message.hasOwnProperty("format")) + object.format = message.format; + if (message.chunk != null && message.hasOwnProperty("chunk")) + object.chunk = message.chunk; + return object; + }; - /** - * Converts this ResponseInfo to JSON. - * @function toJSON - * @memberof abci.ResponseInfo - * @instance - * @returns {Object.} JSON object - */ - ResponseInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this RequestLoadSnapshotChunk to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestLoadSnapshotChunk + * @instance + * @returns {Object.} JSON object + */ + RequestLoadSnapshotChunk.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ResponseInfo; - })(); + return RequestLoadSnapshotChunk; + })(); - abci.ResponseSetOption = (function() { + abci.RequestApplySnapshotChunk = (function() { - /** - * Properties of a ResponseSetOption. - * @memberof abci - * @interface IResponseSetOption - * @property {number|null} [code] ResponseSetOption code - * @property {string|null} [log] ResponseSetOption log - * @property {string|null} [info] ResponseSetOption info - */ + /** + * Properties of a RequestApplySnapshotChunk. + * @memberof tendermint.abci + * @interface IRequestApplySnapshotChunk + * @property {number|null} [index] RequestApplySnapshotChunk index + * @property {Uint8Array|null} [chunk] RequestApplySnapshotChunk chunk + * @property {string|null} [sender] RequestApplySnapshotChunk sender + */ - /** - * Constructs a new ResponseSetOption. - * @memberof abci - * @classdesc Represents a ResponseSetOption. - * @implements IResponseSetOption - * @constructor - * @param {abci.IResponseSetOption=} [properties] Properties to set - */ - function ResponseSetOption(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new RequestApplySnapshotChunk. + * @memberof tendermint.abci + * @classdesc Represents a RequestApplySnapshotChunk. + * @implements IRequestApplySnapshotChunk + * @constructor + * @param {tendermint.abci.IRequestApplySnapshotChunk=} [properties] Properties to set + */ + function RequestApplySnapshotChunk(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * ResponseSetOption code. - * @member {number} code - * @memberof abci.ResponseSetOption - * @instance - */ - ResponseSetOption.prototype.code = 0; + /** + * RequestApplySnapshotChunk index. + * @member {number} index + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @instance + */ + RequestApplySnapshotChunk.prototype.index = 0; - /** - * ResponseSetOption log. - * @member {string} log - * @memberof abci.ResponseSetOption - * @instance - */ - ResponseSetOption.prototype.log = ""; + /** + * RequestApplySnapshotChunk chunk. + * @member {Uint8Array} chunk + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @instance + */ + RequestApplySnapshotChunk.prototype.chunk = $util.newBuffer([]); - /** - * ResponseSetOption info. - * @member {string} info - * @memberof abci.ResponseSetOption - * @instance - */ - ResponseSetOption.prototype.info = ""; + /** + * RequestApplySnapshotChunk sender. + * @member {string} sender + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @instance + */ + RequestApplySnapshotChunk.prototype.sender = ""; - /** - * Creates a new ResponseSetOption instance using the specified properties. - * @function create - * @memberof abci.ResponseSetOption - * @static - * @param {abci.IResponseSetOption=} [properties] Properties to set - * @returns {abci.ResponseSetOption} ResponseSetOption instance - */ - ResponseSetOption.create = function create(properties) { - return new ResponseSetOption(properties); - }; + /** + * Creates a new RequestApplySnapshotChunk instance using the specified properties. + * @function create + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {tendermint.abci.IRequestApplySnapshotChunk=} [properties] Properties to set + * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk instance + */ + RequestApplySnapshotChunk.create = function create(properties) { + return new RequestApplySnapshotChunk(properties); + }; - /** - * Encodes the specified ResponseSetOption message. Does not implicitly {@link abci.ResponseSetOption.verify|verify} messages. - * @function encode - * @memberof abci.ResponseSetOption - * @static - * @param {abci.IResponseSetOption} message ResponseSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseSetOption.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && message.hasOwnProperty("code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.log != null && message.hasOwnProperty("log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && message.hasOwnProperty("info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - return writer; - }; + /** + * Encodes the specified RequestApplySnapshotChunk message. Does not implicitly {@link tendermint.abci.RequestApplySnapshotChunk.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {tendermint.abci.IRequestApplySnapshotChunk} message RequestApplySnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestApplySnapshotChunk.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.index); + if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.chunk); + if (message.sender != null && Object.hasOwnProperty.call(message, "sender")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.sender); + return writer; + }; - /** - * Encodes the specified ResponseSetOption message, length delimited. Does not implicitly {@link abci.ResponseSetOption.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseSetOption - * @static - * @param {abci.IResponseSetOption} message ResponseSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseSetOption.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified RequestApplySnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.RequestApplySnapshotChunk.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {tendermint.abci.IRequestApplySnapshotChunk} message RequestApplySnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestApplySnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ResponseSetOption message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseSetOption} ResponseSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseSetOption.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseSetOption(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a RequestApplySnapshotChunk message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestApplySnapshotChunk.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestApplySnapshotChunk(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.index = reader.uint32(); + break; + case 2: + message.chunk = reader.bytes(); + break; + case 3: + message.sender = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ResponseSetOption message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseSetOption} ResponseSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseSetOption.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a RequestApplySnapshotChunk message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestApplySnapshotChunk.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ResponseSetOption message. - * @function verify - * @memberof abci.ResponseSetOption - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseSetOption.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - return null; - }; + /** + * Verifies a RequestApplySnapshotChunk message. + * @function verify + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestApplySnapshotChunk.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index)) + return "index: integer expected"; + if (message.chunk != null && message.hasOwnProperty("chunk")) + if (!(message.chunk && typeof message.chunk.length === "number" || $util.isString(message.chunk))) + return "chunk: buffer expected"; + if (message.sender != null && message.hasOwnProperty("sender")) + if (!$util.isString(message.sender)) + return "sender: string expected"; + return null; + }; - /** - * Creates a ResponseSetOption message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseSetOption - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseSetOption} ResponseSetOption - */ - ResponseSetOption.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseSetOption) - return object; - var message = new $root.abci.ResponseSetOption(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - return message; - }; + /** + * Creates a RequestApplySnapshotChunk message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk + */ + RequestApplySnapshotChunk.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.RequestApplySnapshotChunk) + return object; + var message = new $root.tendermint.abci.RequestApplySnapshotChunk(); + if (object.index != null) + message.index = object.index >>> 0; + if (object.chunk != null) + if (typeof object.chunk === "string") + $util.base64.decode(object.chunk, message.chunk = $util.newBuffer($util.base64.length(object.chunk)), 0); + else if (object.chunk.length) + message.chunk = object.chunk; + if (object.sender != null) + message.sender = String(object.sender); + return message; + }; - /** - * Creates a plain object from a ResponseSetOption message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseSetOption - * @static - * @param {abci.ResponseSetOption} message ResponseSetOption - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseSetOption.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.code = 0; - object.log = ""; - object.info = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - return object; - }; + /** + * Creates a plain object from a RequestApplySnapshotChunk message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @static + * @param {tendermint.abci.RequestApplySnapshotChunk} message RequestApplySnapshotChunk + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestApplySnapshotChunk.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.index = 0; + if (options.bytes === String) + object.chunk = ""; + else { + object.chunk = []; + if (options.bytes !== Array) + object.chunk = $util.newBuffer(object.chunk); + } + object.sender = ""; + } + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; + if (message.chunk != null && message.hasOwnProperty("chunk")) + object.chunk = options.bytes === String ? $util.base64.encode(message.chunk, 0, message.chunk.length) : options.bytes === Array ? Array.prototype.slice.call(message.chunk) : message.chunk; + if (message.sender != null && message.hasOwnProperty("sender")) + object.sender = message.sender; + return object; + }; - /** - * Converts this ResponseSetOption to JSON. - * @function toJSON - * @memberof abci.ResponseSetOption - * @instance - * @returns {Object.} JSON object - */ - ResponseSetOption.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this RequestApplySnapshotChunk to JSON. + * @function toJSON + * @memberof tendermint.abci.RequestApplySnapshotChunk + * @instance + * @returns {Object.} JSON object + */ + RequestApplySnapshotChunk.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ResponseSetOption; - })(); + return RequestApplySnapshotChunk; + })(); - abci.ResponseInitChain = (function() { + abci.Response = (function() { + + /** + * Properties of a Response. + * @memberof tendermint.abci + * @interface IResponse + * @property {tendermint.abci.IResponseException|null} [exception] Response exception + * @property {tendermint.abci.IResponseEcho|null} [echo] Response echo + * @property {tendermint.abci.IResponseFlush|null} [flush] Response flush + * @property {tendermint.abci.IResponseInfo|null} [info] Response info + * @property {tendermint.abci.IResponseSetOption|null} [setOption] Response setOption + * @property {tendermint.abci.IResponseInitChain|null} [initChain] Response initChain + * @property {tendermint.abci.IResponseQuery|null} [query] Response query + * @property {tendermint.abci.IResponseBeginBlock|null} [beginBlock] Response beginBlock + * @property {tendermint.abci.IResponseCheckTx|null} [checkTx] Response checkTx + * @property {tendermint.abci.IResponseDeliverTx|null} [deliverTx] Response deliverTx + * @property {tendermint.abci.IResponseEndBlock|null} [endBlock] Response endBlock + * @property {tendermint.abci.IResponseCommit|null} [commit] Response commit + * @property {tendermint.abci.IResponseListSnapshots|null} [listSnapshots] Response listSnapshots + * @property {tendermint.abci.IResponseOfferSnapshot|null} [offerSnapshot] Response offerSnapshot + * @property {tendermint.abci.IResponseLoadSnapshotChunk|null} [loadSnapshotChunk] Response loadSnapshotChunk + * @property {tendermint.abci.IResponseApplySnapshotChunk|null} [applySnapshotChunk] Response applySnapshotChunk + */ + + /** + * Constructs a new Response. + * @memberof tendermint.abci + * @classdesc Represents a Response. + * @implements IResponse + * @constructor + * @param {tendermint.abci.IResponse=} [properties] Properties to set + */ + function Response(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Properties of a ResponseInitChain. - * @memberof abci - * @interface IResponseInitChain - * @property {abci.IConsensusParams|null} [consensusParams] ResponseInitChain consensusParams - * @property {Array.|null} [validators] ResponseInitChain validators - */ + /** + * Response exception. + * @member {tendermint.abci.IResponseException|null|undefined} exception + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.exception = null; - /** - * Constructs a new ResponseInitChain. - * @memberof abci - * @classdesc Represents a ResponseInitChain. - * @implements IResponseInitChain - * @constructor - * @param {abci.IResponseInitChain=} [properties] Properties to set - */ - function ResponseInitChain(properties) { - this.validators = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Response echo. + * @member {tendermint.abci.IResponseEcho|null|undefined} echo + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.echo = null; - /** - * ResponseInitChain consensusParams. - * @member {abci.IConsensusParams|null|undefined} consensusParams - * @memberof abci.ResponseInitChain - * @instance - */ - ResponseInitChain.prototype.consensusParams = null; + /** + * Response flush. + * @member {tendermint.abci.IResponseFlush|null|undefined} flush + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.flush = null; - /** - * ResponseInitChain validators. - * @member {Array.} validators - * @memberof abci.ResponseInitChain - * @instance - */ - ResponseInitChain.prototype.validators = $util.emptyArray; + /** + * Response info. + * @member {tendermint.abci.IResponseInfo|null|undefined} info + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.info = null; - /** - * Creates a new ResponseInitChain instance using the specified properties. - * @function create - * @memberof abci.ResponseInitChain - * @static - * @param {abci.IResponseInitChain=} [properties] Properties to set - * @returns {abci.ResponseInitChain} ResponseInitChain instance - */ - ResponseInitChain.create = function create(properties) { - return new ResponseInitChain(properties); - }; + /** + * Response setOption. + * @member {tendermint.abci.IResponseSetOption|null|undefined} setOption + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.setOption = null; - /** - * Encodes the specified ResponseInitChain message. Does not implicitly {@link abci.ResponseInitChain.verify|verify} messages. - * @function encode - * @memberof abci.ResponseInitChain - * @static - * @param {abci.IResponseInitChain} message ResponseInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInitChain.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) - $root.abci.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.validators != null && message.validators.length) - for (var i = 0; i < message.validators.length; ++i) - $root.abci.ValidatorUpdate.encode(message.validators[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Response initChain. + * @member {tendermint.abci.IResponseInitChain|null|undefined} initChain + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.initChain = null; - /** - * Encodes the specified ResponseInitChain message, length delimited. Does not implicitly {@link abci.ResponseInitChain.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseInitChain - * @static - * @param {abci.IResponseInitChain} message ResponseInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInitChain.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Response query. + * @member {tendermint.abci.IResponseQuery|null|undefined} query + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.query = null; - /** - * Decodes a ResponseInitChain message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseInitChain} ResponseInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInitChain.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseInitChain(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.consensusParams = $root.abci.ConsensusParams.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.abci.ValidatorUpdate.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Response beginBlock. + * @member {tendermint.abci.IResponseBeginBlock|null|undefined} beginBlock + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.beginBlock = null; - /** - * Decodes a ResponseInitChain message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseInitChain} ResponseInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInitChain.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Response checkTx. + * @member {tendermint.abci.IResponseCheckTx|null|undefined} checkTx + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.checkTx = null; - /** - * Verifies a ResponseInitChain message. - * @function verify - * @memberof abci.ResponseInitChain - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseInitChain.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { - var error = $root.abci.ConsensusParams.verify(message.consensusParams); - if (error) - return "consensusParams." + error; - } - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (var i = 0; i < message.validators.length; ++i) { - var error = $root.abci.ValidatorUpdate.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - return null; - }; + /** + * Response deliverTx. + * @member {tendermint.abci.IResponseDeliverTx|null|undefined} deliverTx + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.deliverTx = null; - /** - * Creates a ResponseInitChain message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseInitChain - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseInitChain} ResponseInitChain - */ - ResponseInitChain.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseInitChain) - return object; - var message = new $root.abci.ResponseInitChain(); - if (object.consensusParams != null) { - if (typeof object.consensusParams !== "object") - throw TypeError(".abci.ResponseInitChain.consensusParams: object expected"); - message.consensusParams = $root.abci.ConsensusParams.fromObject(object.consensusParams); - } - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".abci.ResponseInitChain.validators: array expected"); - message.validators = []; - for (var i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".abci.ResponseInitChain.validators: object expected"); - message.validators[i] = $root.abci.ValidatorUpdate.fromObject(object.validators[i]); - } - } - return message; - }; + /** + * Response endBlock. + * @member {tendermint.abci.IResponseEndBlock|null|undefined} endBlock + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.endBlock = null; - /** - * Creates a plain object from a ResponseInitChain message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseInitChain - * @static - * @param {abci.ResponseInitChain} message ResponseInitChain - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseInitChain.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) - object.consensusParams = null; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) - object.consensusParams = $root.abci.ConsensusParams.toObject(message.consensusParams, options); - if (message.validators && message.validators.length) { - object.validators = []; - for (var j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.abci.ValidatorUpdate.toObject(message.validators[j], options); - } - return object; - }; + /** + * Response commit. + * @member {tendermint.abci.IResponseCommit|null|undefined} commit + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.commit = null; - /** - * Converts this ResponseInitChain to JSON. - * @function toJSON - * @memberof abci.ResponseInitChain - * @instance - * @returns {Object.} JSON object - */ - ResponseInitChain.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Response listSnapshots. + * @member {tendermint.abci.IResponseListSnapshots|null|undefined} listSnapshots + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.listSnapshots = null; - return ResponseInitChain; - })(); + /** + * Response offerSnapshot. + * @member {tendermint.abci.IResponseOfferSnapshot|null|undefined} offerSnapshot + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.offerSnapshot = null; - abci.ResponseQuery = (function() { + /** + * Response loadSnapshotChunk. + * @member {tendermint.abci.IResponseLoadSnapshotChunk|null|undefined} loadSnapshotChunk + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.loadSnapshotChunk = null; - /** - * Properties of a ResponseQuery. - * @memberof abci - * @interface IResponseQuery - * @property {number|null} [code] ResponseQuery code - * @property {string|null} [log] ResponseQuery log - * @property {string|null} [info] ResponseQuery info - * @property {number|Long|null} [index] ResponseQuery index - * @property {Uint8Array|null} [key] ResponseQuery key - * @property {Uint8Array|null} [value] ResponseQuery value - * @property {tendermint.crypto.merkle.IProof|null} [proof] ResponseQuery proof - * @property {number|Long|null} [height] ResponseQuery height - * @property {string|null} [codespace] ResponseQuery codespace - */ + /** + * Response applySnapshotChunk. + * @member {tendermint.abci.IResponseApplySnapshotChunk|null|undefined} applySnapshotChunk + * @memberof tendermint.abci.Response + * @instance + */ + Response.prototype.applySnapshotChunk = null; - /** - * Constructs a new ResponseQuery. - * @memberof abci - * @classdesc Represents a ResponseQuery. - * @implements IResponseQuery - * @constructor - * @param {abci.IResponseQuery=} [properties] Properties to set - */ - function ResponseQuery(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * ResponseQuery code. - * @member {number} code - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.code = 0; + /** + * Response value. + * @member {"exception"|"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|"listSnapshots"|"offerSnapshot"|"loadSnapshotChunk"|"applySnapshotChunk"|undefined} value + * @memberof tendermint.abci.Response + * @instance + */ + Object.defineProperty(Response.prototype, "value", { + get: $util.oneOfGetter($oneOfFields = ["exception", "echo", "flush", "info", "setOption", "initChain", "query", "beginBlock", "checkTx", "deliverTx", "endBlock", "commit", "listSnapshots", "offerSnapshot", "loadSnapshotChunk", "applySnapshotChunk"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * ResponseQuery log. - * @member {string} log - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.log = ""; + /** + * Creates a new Response instance using the specified properties. + * @function create + * @memberof tendermint.abci.Response + * @static + * @param {tendermint.abci.IResponse=} [properties] Properties to set + * @returns {tendermint.abci.Response} Response instance + */ + Response.create = function create(properties) { + return new Response(properties); + }; - /** - * ResponseQuery info. - * @member {string} info - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.info = ""; + /** + * Encodes the specified Response message. Does not implicitly {@link tendermint.abci.Response.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.Response + * @static + * @param {tendermint.abci.IResponse} message Response message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Response.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.exception != null && Object.hasOwnProperty.call(message, "exception")) + $root.tendermint.abci.ResponseException.encode(message.exception, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.echo != null && Object.hasOwnProperty.call(message, "echo")) + $root.tendermint.abci.ResponseEcho.encode(message.echo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.flush != null && Object.hasOwnProperty.call(message, "flush")) + $root.tendermint.abci.ResponseFlush.encode(message.flush, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + $root.tendermint.abci.ResponseInfo.encode(message.info, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.setOption != null && Object.hasOwnProperty.call(message, "setOption")) + $root.tendermint.abci.ResponseSetOption.encode(message.setOption, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.initChain != null && Object.hasOwnProperty.call(message, "initChain")) + $root.tendermint.abci.ResponseInitChain.encode(message.initChain, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + $root.tendermint.abci.ResponseQuery.encode(message.query, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.beginBlock != null && Object.hasOwnProperty.call(message, "beginBlock")) + $root.tendermint.abci.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.checkTx != null && Object.hasOwnProperty.call(message, "checkTx")) + $root.tendermint.abci.ResponseCheckTx.encode(message.checkTx, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.deliverTx != null && Object.hasOwnProperty.call(message, "deliverTx")) + $root.tendermint.abci.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.endBlock != null && Object.hasOwnProperty.call(message, "endBlock")) + $root.tendermint.abci.ResponseEndBlock.encode(message.endBlock, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.commit != null && Object.hasOwnProperty.call(message, "commit")) + $root.tendermint.abci.ResponseCommit.encode(message.commit, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.listSnapshots != null && Object.hasOwnProperty.call(message, "listSnapshots")) + $root.tendermint.abci.ResponseListSnapshots.encode(message.listSnapshots, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.offerSnapshot != null && Object.hasOwnProperty.call(message, "offerSnapshot")) + $root.tendermint.abci.ResponseOfferSnapshot.encode(message.offerSnapshot, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.loadSnapshotChunk != null && Object.hasOwnProperty.call(message, "loadSnapshotChunk")) + $root.tendermint.abci.ResponseLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); + if (message.applySnapshotChunk != null && Object.hasOwnProperty.call(message, "applySnapshotChunk")) + $root.tendermint.abci.ResponseApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); + return writer; + }; - /** - * ResponseQuery index. - * @member {number|Long} index - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.index = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Encodes the specified Response message, length delimited. Does not implicitly {@link tendermint.abci.Response.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.Response + * @static + * @param {tendermint.abci.IResponse} message Response message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Response.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * ResponseQuery key. - * @member {Uint8Array} key - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.key = $util.newBuffer([]); + /** + * Decodes a Response message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.Response + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.Response} Response + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Response.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Response(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.exception = $root.tendermint.abci.ResponseException.decode(reader, reader.uint32()); + break; + case 2: + message.echo = $root.tendermint.abci.ResponseEcho.decode(reader, reader.uint32()); + break; + case 3: + message.flush = $root.tendermint.abci.ResponseFlush.decode(reader, reader.uint32()); + break; + case 4: + message.info = $root.tendermint.abci.ResponseInfo.decode(reader, reader.uint32()); + break; + case 5: + message.setOption = $root.tendermint.abci.ResponseSetOption.decode(reader, reader.uint32()); + break; + case 6: + message.initChain = $root.tendermint.abci.ResponseInitChain.decode(reader, reader.uint32()); + break; + case 7: + message.query = $root.tendermint.abci.ResponseQuery.decode(reader, reader.uint32()); + break; + case 8: + message.beginBlock = $root.tendermint.abci.ResponseBeginBlock.decode(reader, reader.uint32()); + break; + case 9: + message.checkTx = $root.tendermint.abci.ResponseCheckTx.decode(reader, reader.uint32()); + break; + case 10: + message.deliverTx = $root.tendermint.abci.ResponseDeliverTx.decode(reader, reader.uint32()); + break; + case 11: + message.endBlock = $root.tendermint.abci.ResponseEndBlock.decode(reader, reader.uint32()); + break; + case 12: + message.commit = $root.tendermint.abci.ResponseCommit.decode(reader, reader.uint32()); + break; + case 13: + message.listSnapshots = $root.tendermint.abci.ResponseListSnapshots.decode(reader, reader.uint32()); + break; + case 14: + message.offerSnapshot = $root.tendermint.abci.ResponseOfferSnapshot.decode(reader, reader.uint32()); + break; + case 15: + message.loadSnapshotChunk = $root.tendermint.abci.ResponseLoadSnapshotChunk.decode(reader, reader.uint32()); + break; + case 16: + message.applySnapshotChunk = $root.tendermint.abci.ResponseApplySnapshotChunk.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * ResponseQuery value. - * @member {Uint8Array} value - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.value = $util.newBuffer([]); + /** + * Decodes a Response message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.Response + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.Response} Response + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Response.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * ResponseQuery proof. - * @member {tendermint.crypto.merkle.IProof|null|undefined} proof - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.proof = null; + /** + * Verifies a Response message. + * @function verify + * @memberof tendermint.abci.Response + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Response.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.exception != null && message.hasOwnProperty("exception")) { + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseException.verify(message.exception); + if (error) + return "exception." + error; + } + } + if (message.echo != null && message.hasOwnProperty("echo")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseEcho.verify(message.echo); + if (error) + return "echo." + error; + } + } + if (message.flush != null && message.hasOwnProperty("flush")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseFlush.verify(message.flush); + if (error) + return "flush." + error; + } + } + if (message.info != null && message.hasOwnProperty("info")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseInfo.verify(message.info); + if (error) + return "info." + error; + } + } + if (message.setOption != null && message.hasOwnProperty("setOption")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseSetOption.verify(message.setOption); + if (error) + return "setOption." + error; + } + } + if (message.initChain != null && message.hasOwnProperty("initChain")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseInitChain.verify(message.initChain); + if (error) + return "initChain." + error; + } + } + if (message.query != null && message.hasOwnProperty("query")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseQuery.verify(message.query); + if (error) + return "query." + error; + } + } + if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseBeginBlock.verify(message.beginBlock); + if (error) + return "beginBlock." + error; + } + } + if (message.checkTx != null && message.hasOwnProperty("checkTx")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseCheckTx.verify(message.checkTx); + if (error) + return "checkTx." + error; + } + } + if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseDeliverTx.verify(message.deliverTx); + if (error) + return "deliverTx." + error; + } + } + if (message.endBlock != null && message.hasOwnProperty("endBlock")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseEndBlock.verify(message.endBlock); + if (error) + return "endBlock." + error; + } + } + if (message.commit != null && message.hasOwnProperty("commit")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseCommit.verify(message.commit); + if (error) + return "commit." + error; + } + } + if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseListSnapshots.verify(message.listSnapshots); + if (error) + return "listSnapshots." + error; + } + } + if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseOfferSnapshot.verify(message.offerSnapshot); + if (error) + return "offerSnapshot." + error; + } + } + if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseLoadSnapshotChunk.verify(message.loadSnapshotChunk); + if (error) + return "loadSnapshotChunk." + error; + } + } + if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { + if (properties.value === 1) + return "value: multiple values"; + properties.value = 1; + { + var error = $root.tendermint.abci.ResponseApplySnapshotChunk.verify(message.applySnapshotChunk); + if (error) + return "applySnapshotChunk." + error; + } + } + return null; + }; - /** - * ResponseQuery height. - * @member {number|Long} height - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Creates a Response message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.Response + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.Response} Response + */ + Response.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.Response) + return object; + var message = new $root.tendermint.abci.Response(); + if (object.exception != null) { + if (typeof object.exception !== "object") + throw TypeError(".tendermint.abci.Response.exception: object expected"); + message.exception = $root.tendermint.abci.ResponseException.fromObject(object.exception); + } + if (object.echo != null) { + if (typeof object.echo !== "object") + throw TypeError(".tendermint.abci.Response.echo: object expected"); + message.echo = $root.tendermint.abci.ResponseEcho.fromObject(object.echo); + } + if (object.flush != null) { + if (typeof object.flush !== "object") + throw TypeError(".tendermint.abci.Response.flush: object expected"); + message.flush = $root.tendermint.abci.ResponseFlush.fromObject(object.flush); + } + if (object.info != null) { + if (typeof object.info !== "object") + throw TypeError(".tendermint.abci.Response.info: object expected"); + message.info = $root.tendermint.abci.ResponseInfo.fromObject(object.info); + } + if (object.setOption != null) { + if (typeof object.setOption !== "object") + throw TypeError(".tendermint.abci.Response.setOption: object expected"); + message.setOption = $root.tendermint.abci.ResponseSetOption.fromObject(object.setOption); + } + if (object.initChain != null) { + if (typeof object.initChain !== "object") + throw TypeError(".tendermint.abci.Response.initChain: object expected"); + message.initChain = $root.tendermint.abci.ResponseInitChain.fromObject(object.initChain); + } + if (object.query != null) { + if (typeof object.query !== "object") + throw TypeError(".tendermint.abci.Response.query: object expected"); + message.query = $root.tendermint.abci.ResponseQuery.fromObject(object.query); + } + if (object.beginBlock != null) { + if (typeof object.beginBlock !== "object") + throw TypeError(".tendermint.abci.Response.beginBlock: object expected"); + message.beginBlock = $root.tendermint.abci.ResponseBeginBlock.fromObject(object.beginBlock); + } + if (object.checkTx != null) { + if (typeof object.checkTx !== "object") + throw TypeError(".tendermint.abci.Response.checkTx: object expected"); + message.checkTx = $root.tendermint.abci.ResponseCheckTx.fromObject(object.checkTx); + } + if (object.deliverTx != null) { + if (typeof object.deliverTx !== "object") + throw TypeError(".tendermint.abci.Response.deliverTx: object expected"); + message.deliverTx = $root.tendermint.abci.ResponseDeliverTx.fromObject(object.deliverTx); + } + if (object.endBlock != null) { + if (typeof object.endBlock !== "object") + throw TypeError(".tendermint.abci.Response.endBlock: object expected"); + message.endBlock = $root.tendermint.abci.ResponseEndBlock.fromObject(object.endBlock); + } + if (object.commit != null) { + if (typeof object.commit !== "object") + throw TypeError(".tendermint.abci.Response.commit: object expected"); + message.commit = $root.tendermint.abci.ResponseCommit.fromObject(object.commit); + } + if (object.listSnapshots != null) { + if (typeof object.listSnapshots !== "object") + throw TypeError(".tendermint.abci.Response.listSnapshots: object expected"); + message.listSnapshots = $root.tendermint.abci.ResponseListSnapshots.fromObject(object.listSnapshots); + } + if (object.offerSnapshot != null) { + if (typeof object.offerSnapshot !== "object") + throw TypeError(".tendermint.abci.Response.offerSnapshot: object expected"); + message.offerSnapshot = $root.tendermint.abci.ResponseOfferSnapshot.fromObject(object.offerSnapshot); + } + if (object.loadSnapshotChunk != null) { + if (typeof object.loadSnapshotChunk !== "object") + throw TypeError(".tendermint.abci.Response.loadSnapshotChunk: object expected"); + message.loadSnapshotChunk = $root.tendermint.abci.ResponseLoadSnapshotChunk.fromObject(object.loadSnapshotChunk); + } + if (object.applySnapshotChunk != null) { + if (typeof object.applySnapshotChunk !== "object") + throw TypeError(".tendermint.abci.Response.applySnapshotChunk: object expected"); + message.applySnapshotChunk = $root.tendermint.abci.ResponseApplySnapshotChunk.fromObject(object.applySnapshotChunk); + } + return message; + }; - /** - * ResponseQuery codespace. - * @member {string} codespace - * @memberof abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.codespace = ""; + /** + * Creates a plain object from a Response message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.Response + * @static + * @param {tendermint.abci.Response} message Response + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Response.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.exception != null && message.hasOwnProperty("exception")) { + object.exception = $root.tendermint.abci.ResponseException.toObject(message.exception, options); + if (options.oneofs) + object.value = "exception"; + } + if (message.echo != null && message.hasOwnProperty("echo")) { + object.echo = $root.tendermint.abci.ResponseEcho.toObject(message.echo, options); + if (options.oneofs) + object.value = "echo"; + } + if (message.flush != null && message.hasOwnProperty("flush")) { + object.flush = $root.tendermint.abci.ResponseFlush.toObject(message.flush, options); + if (options.oneofs) + object.value = "flush"; + } + if (message.info != null && message.hasOwnProperty("info")) { + object.info = $root.tendermint.abci.ResponseInfo.toObject(message.info, options); + if (options.oneofs) + object.value = "info"; + } + if (message.setOption != null && message.hasOwnProperty("setOption")) { + object.setOption = $root.tendermint.abci.ResponseSetOption.toObject(message.setOption, options); + if (options.oneofs) + object.value = "setOption"; + } + if (message.initChain != null && message.hasOwnProperty("initChain")) { + object.initChain = $root.tendermint.abci.ResponseInitChain.toObject(message.initChain, options); + if (options.oneofs) + object.value = "initChain"; + } + if (message.query != null && message.hasOwnProperty("query")) { + object.query = $root.tendermint.abci.ResponseQuery.toObject(message.query, options); + if (options.oneofs) + object.value = "query"; + } + if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { + object.beginBlock = $root.tendermint.abci.ResponseBeginBlock.toObject(message.beginBlock, options); + if (options.oneofs) + object.value = "beginBlock"; + } + if (message.checkTx != null && message.hasOwnProperty("checkTx")) { + object.checkTx = $root.tendermint.abci.ResponseCheckTx.toObject(message.checkTx, options); + if (options.oneofs) + object.value = "checkTx"; + } + if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { + object.deliverTx = $root.tendermint.abci.ResponseDeliverTx.toObject(message.deliverTx, options); + if (options.oneofs) + object.value = "deliverTx"; + } + if (message.endBlock != null && message.hasOwnProperty("endBlock")) { + object.endBlock = $root.tendermint.abci.ResponseEndBlock.toObject(message.endBlock, options); + if (options.oneofs) + object.value = "endBlock"; + } + if (message.commit != null && message.hasOwnProperty("commit")) { + object.commit = $root.tendermint.abci.ResponseCommit.toObject(message.commit, options); + if (options.oneofs) + object.value = "commit"; + } + if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { + object.listSnapshots = $root.tendermint.abci.ResponseListSnapshots.toObject(message.listSnapshots, options); + if (options.oneofs) + object.value = "listSnapshots"; + } + if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { + object.offerSnapshot = $root.tendermint.abci.ResponseOfferSnapshot.toObject(message.offerSnapshot, options); + if (options.oneofs) + object.value = "offerSnapshot"; + } + if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { + object.loadSnapshotChunk = $root.tendermint.abci.ResponseLoadSnapshotChunk.toObject(message.loadSnapshotChunk, options); + if (options.oneofs) + object.value = "loadSnapshotChunk"; + } + if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { + object.applySnapshotChunk = $root.tendermint.abci.ResponseApplySnapshotChunk.toObject(message.applySnapshotChunk, options); + if (options.oneofs) + object.value = "applySnapshotChunk"; + } + return object; + }; - /** - * Creates a new ResponseQuery instance using the specified properties. - * @function create - * @memberof abci.ResponseQuery - * @static - * @param {abci.IResponseQuery=} [properties] Properties to set - * @returns {abci.ResponseQuery} ResponseQuery instance - */ - ResponseQuery.create = function create(properties) { - return new ResponseQuery(properties); - }; + /** + * Converts this Response to JSON. + * @function toJSON + * @memberof tendermint.abci.Response + * @instance + * @returns {Object.} JSON object + */ + Response.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Encodes the specified ResponseQuery message. Does not implicitly {@link abci.ResponseQuery.verify|verify} messages. - * @function encode - * @memberof abci.ResponseQuery - * @static - * @param {abci.IResponseQuery} message ResponseQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && message.hasOwnProperty("code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.log != null && message.hasOwnProperty("log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && message.hasOwnProperty("info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.index != null && message.hasOwnProperty("index")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.index); - if (message.key != null && message.hasOwnProperty("key")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.key); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.value); - if (message.proof != null && message.hasOwnProperty("proof")) - $root.tendermint.crypto.merkle.Proof.encode(message.proof, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.height != null && message.hasOwnProperty("height")) - writer.uint32(/* id 9, wireType 0 =*/72).int64(message.height); - if (message.codespace != null && message.hasOwnProperty("codespace")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.codespace); - return writer; - }; + return Response; + })(); - /** - * Encodes the specified ResponseQuery message, length delimited. Does not implicitly {@link abci.ResponseQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseQuery - * @static - * @param {abci.IResponseQuery} message ResponseQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + abci.ResponseException = (function() { - /** - * Decodes a ResponseQuery message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseQuery} ResponseQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseQuery(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.index = reader.int64(); - break; - case 6: - message.key = reader.bytes(); - break; - case 7: - message.value = reader.bytes(); - break; - case 8: - message.proof = $root.tendermint.crypto.merkle.Proof.decode(reader, reader.uint32()); - break; - case 9: - message.height = reader.int64(); - break; - case 10: - message.codespace = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Properties of a ResponseException. + * @memberof tendermint.abci + * @interface IResponseException + * @property {string|null} [error] ResponseException error + */ + + /** + * Constructs a new ResponseException. + * @memberof tendermint.abci + * @classdesc Represents a ResponseException. + * @implements IResponseException + * @constructor + * @param {tendermint.abci.IResponseException=} [properties] Properties to set + */ + function ResponseException(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - /** - * Decodes a ResponseQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseQuery} ResponseQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * ResponseException error. + * @member {string} error + * @memberof tendermint.abci.ResponseException + * @instance + */ + ResponseException.prototype.error = ""; - /** - * Verifies a ResponseQuery message. - * @function verify - * @memberof abci.ResponseQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - if (message.proof != null && message.hasOwnProperty("proof")) { - var error = $root.tendermint.crypto.merkle.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - return null; - }; + /** + * Creates a new ResponseException instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseException + * @static + * @param {tendermint.abci.IResponseException=} [properties] Properties to set + * @returns {tendermint.abci.ResponseException} ResponseException instance + */ + ResponseException.create = function create(properties) { + return new ResponseException(properties); + }; - /** - * Creates a ResponseQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseQuery - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseQuery} ResponseQuery - */ - ResponseQuery.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseQuery) - return object; - var message = new $root.abci.ResponseQuery(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = false; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".abci.ResponseQuery.proof: object expected"); - message.proof = $root.tendermint.crypto.merkle.Proof.fromObject(object.proof); - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.codespace != null) - message.codespace = String(object.codespace); - return message; - }; + /** + * Encodes the specified ResponseException message. Does not implicitly {@link tendermint.abci.ResponseException.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseException + * @static + * @param {tendermint.abci.IResponseException} message ResponseException message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseException.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.error); + return writer; + }; - /** - * Creates a plain object from a ResponseQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseQuery - * @static - * @param {abci.ResponseQuery} message ResponseQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.code = 0; - object.log = ""; - object.info = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - object.proof = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.codespace = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber() : message.index; - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = $root.tendermint.crypto.merkle.Proof.toObject(message.proof, options); - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - return object; - }; + /** + * Encodes the specified ResponseException message, length delimited. Does not implicitly {@link tendermint.abci.ResponseException.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseException + * @static + * @param {tendermint.abci.IResponseException} message ResponseException message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseException.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Converts this ResponseQuery to JSON. - * @function toJSON - * @memberof abci.ResponseQuery - * @instance - * @returns {Object.} JSON object - */ - ResponseQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a ResponseException message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseException + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseException} ResponseException + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseException.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseException(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.error = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - return ResponseQuery; - })(); + /** + * Decodes a ResponseException message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseException + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseException} ResponseException + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseException.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - abci.ResponseBeginBlock = (function() { + /** + * Verifies a ResponseException message. + * @function verify + * @memberof tendermint.abci.ResponseException + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseException.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.error != null && message.hasOwnProperty("error")) + if (!$util.isString(message.error)) + return "error: string expected"; + return null; + }; - /** - * Properties of a ResponseBeginBlock. - * @memberof abci - * @interface IResponseBeginBlock - * @property {Array.|null} [events] ResponseBeginBlock events - */ + /** + * Creates a ResponseException message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseException + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseException} ResponseException + */ + ResponseException.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseException) + return object; + var message = new $root.tendermint.abci.ResponseException(); + if (object.error != null) + message.error = String(object.error); + return message; + }; - /** - * Constructs a new ResponseBeginBlock. - * @memberof abci - * @classdesc Represents a ResponseBeginBlock. - * @implements IResponseBeginBlock - * @constructor - * @param {abci.IResponseBeginBlock=} [properties] Properties to set - */ - function ResponseBeginBlock(properties) { - this.events = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a plain object from a ResponseException message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseException + * @static + * @param {tendermint.abci.ResponseException} message ResponseException + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseException.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.error = ""; + if (message.error != null && message.hasOwnProperty("error")) + object.error = message.error; + return object; + }; - /** - * ResponseBeginBlock events. - * @member {Array.} events - * @memberof abci.ResponseBeginBlock - * @instance - */ - ResponseBeginBlock.prototype.events = $util.emptyArray; + /** + * Converts this ResponseException to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseException + * @instance + * @returns {Object.} JSON object + */ + ResponseException.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new ResponseBeginBlock instance using the specified properties. - * @function create - * @memberof abci.ResponseBeginBlock - * @static - * @param {abci.IResponseBeginBlock=} [properties] Properties to set - * @returns {abci.ResponseBeginBlock} ResponseBeginBlock instance - */ - ResponseBeginBlock.create = function create(properties) { - return new ResponseBeginBlock(properties); - }; + return ResponseException; + })(); - /** - * Encodes the specified ResponseBeginBlock message. Does not implicitly {@link abci.ResponseBeginBlock.verify|verify} messages. - * @function encode - * @memberof abci.ResponseBeginBlock - * @static - * @param {abci.IResponseBeginBlock} message ResponseBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseBeginBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.events != null && message.events.length) - for (var i = 0; i < message.events.length; ++i) - $root.abci.Event.encode(message.events[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + abci.ResponseEcho = (function() { - /** - * Encodes the specified ResponseBeginBlock message, length delimited. Does not implicitly {@link abci.ResponseBeginBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseBeginBlock - * @static - * @param {abci.IResponseBeginBlock} message ResponseBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseBeginBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a ResponseEcho. + * @memberof tendermint.abci + * @interface IResponseEcho + * @property {string|null} [message] ResponseEcho message + */ - /** - * Decodes a ResponseBeginBlock message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseBeginBlock} ResponseBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseBeginBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseBeginBlock(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.abci.Event.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Constructs a new ResponseEcho. + * @memberof tendermint.abci + * @classdesc Represents a ResponseEcho. + * @implements IResponseEcho + * @constructor + * @param {tendermint.abci.IResponseEcho=} [properties] Properties to set + */ + function ResponseEcho(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - /** - * Decodes a ResponseBeginBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseBeginBlock} ResponseBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseBeginBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * ResponseEcho message. + * @member {string} message + * @memberof tendermint.abci.ResponseEcho + * @instance + */ + ResponseEcho.prototype.message = ""; - /** - * Verifies a ResponseBeginBlock message. - * @function verify - * @memberof abci.ResponseBeginBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseBeginBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (var i = 0; i < message.events.length; ++i) { - var error = $root.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - return null; - }; + /** + * Creates a new ResponseEcho instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {tendermint.abci.IResponseEcho=} [properties] Properties to set + * @returns {tendermint.abci.ResponseEcho} ResponseEcho instance + */ + ResponseEcho.create = function create(properties) { + return new ResponseEcho(properties); + }; - /** - * Creates a ResponseBeginBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseBeginBlock - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseBeginBlock} ResponseBeginBlock - */ - ResponseBeginBlock.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseBeginBlock) - return object; - var message = new $root.abci.ResponseBeginBlock(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".abci.ResponseBeginBlock.events: array expected"); - message.events = []; - for (var i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".abci.ResponseBeginBlock.events: object expected"); - message.events[i] = $root.abci.Event.fromObject(object.events[i]); + /** + * Encodes the specified ResponseEcho message. Does not implicitly {@link tendermint.abci.ResponseEcho.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {tendermint.abci.IResponseEcho} message ResponseEcho message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseEcho.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.message != null && Object.hasOwnProperty.call(message, "message")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.message); + return writer; + }; + + /** + * Encodes the specified ResponseEcho message, length delimited. Does not implicitly {@link tendermint.abci.ResponseEcho.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {tendermint.abci.IResponseEcho} message ResponseEcho message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseEcho.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResponseEcho message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseEcho} ResponseEcho + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseEcho.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseEcho(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.message = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Creates a plain object from a ResponseBeginBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseBeginBlock - * @static - * @param {abci.ResponseBeginBlock} message ResponseBeginBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseBeginBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (message.events && message.events.length) { - object.events = []; - for (var j = 0; j < message.events.length; ++j) - object.events[j] = $root.abci.Event.toObject(message.events[j], options); - } - return object; - }; + /** + * Decodes a ResponseEcho message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseEcho} ResponseEcho + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseEcho.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Converts this ResponseBeginBlock to JSON. - * @function toJSON - * @memberof abci.ResponseBeginBlock - * @instance - * @returns {Object.} JSON object - */ - ResponseBeginBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Verifies a ResponseEcho message. + * @function verify + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseEcho.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.message != null && message.hasOwnProperty("message")) + if (!$util.isString(message.message)) + return "message: string expected"; + return null; + }; - return ResponseBeginBlock; - })(); + /** + * Creates a ResponseEcho message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseEcho} ResponseEcho + */ + ResponseEcho.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseEcho) + return object; + var message = new $root.tendermint.abci.ResponseEcho(); + if (object.message != null) + message.message = String(object.message); + return message; + }; - abci.ResponseCheckTx = (function() { + /** + * Creates a plain object from a ResponseEcho message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseEcho + * @static + * @param {tendermint.abci.ResponseEcho} message ResponseEcho + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseEcho.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.message = ""; + if (message.message != null && message.hasOwnProperty("message")) + object.message = message.message; + return object; + }; - /** - * Properties of a ResponseCheckTx. - * @memberof abci - * @interface IResponseCheckTx - * @property {number|null} [code] ResponseCheckTx code - * @property {Uint8Array|null} [data] ResponseCheckTx data - * @property {string|null} [log] ResponseCheckTx log - * @property {string|null} [info] ResponseCheckTx info - * @property {number|Long|null} [gasWanted] ResponseCheckTx gasWanted - * @property {number|Long|null} [gasUsed] ResponseCheckTx gasUsed - * @property {Array.|null} [events] ResponseCheckTx events - * @property {string|null} [codespace] ResponseCheckTx codespace - */ + /** + * Converts this ResponseEcho to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseEcho + * @instance + * @returns {Object.} JSON object + */ + ResponseEcho.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Constructs a new ResponseCheckTx. - * @memberof abci - * @classdesc Represents a ResponseCheckTx. - * @implements IResponseCheckTx - * @constructor - * @param {abci.IResponseCheckTx=} [properties] Properties to set - */ - function ResponseCheckTx(properties) { - this.events = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + return ResponseEcho; + })(); - /** - * ResponseCheckTx code. - * @member {number} code - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.code = 0; + abci.ResponseFlush = (function() { - /** - * ResponseCheckTx data. - * @member {Uint8Array} data - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.data = $util.newBuffer([]); + /** + * Properties of a ResponseFlush. + * @memberof tendermint.abci + * @interface IResponseFlush + */ - /** - * ResponseCheckTx log. - * @member {string} log - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.log = ""; + /** + * Constructs a new ResponseFlush. + * @memberof tendermint.abci + * @classdesc Represents a ResponseFlush. + * @implements IResponseFlush + * @constructor + * @param {tendermint.abci.IResponseFlush=} [properties] Properties to set + */ + function ResponseFlush(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * ResponseCheckTx info. - * @member {string} info - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.info = ""; + /** + * Creates a new ResponseFlush instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {tendermint.abci.IResponseFlush=} [properties] Properties to set + * @returns {tendermint.abci.ResponseFlush} ResponseFlush instance + */ + ResponseFlush.create = function create(properties) { + return new ResponseFlush(properties); + }; - /** - * ResponseCheckTx gasWanted. - * @member {number|Long} gasWanted - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Encodes the specified ResponseFlush message. Does not implicitly {@link tendermint.abci.ResponseFlush.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {tendermint.abci.IResponseFlush} message ResponseFlush message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseFlush.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; - /** - * ResponseCheckTx gasUsed. - * @member {number|Long} gasUsed - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Encodes the specified ResponseFlush message, length delimited. Does not implicitly {@link tendermint.abci.ResponseFlush.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {tendermint.abci.IResponseFlush} message ResponseFlush message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseFlush.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * ResponseCheckTx events. - * @member {Array.} events - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.events = $util.emptyArray; + /** + * Decodes a ResponseFlush message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseFlush} ResponseFlush + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseFlush.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseFlush(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * ResponseCheckTx codespace. - * @member {string} codespace - * @memberof abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.codespace = ""; + /** + * Decodes a ResponseFlush message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseFlush} ResponseFlush + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseFlush.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a new ResponseCheckTx instance using the specified properties. - * @function create - * @memberof abci.ResponseCheckTx - * @static - * @param {abci.IResponseCheckTx=} [properties] Properties to set - * @returns {abci.ResponseCheckTx} ResponseCheckTx instance - */ - ResponseCheckTx.create = function create(properties) { - return new ResponseCheckTx(properties); - }; + /** + * Verifies a ResponseFlush message. + * @function verify + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseFlush.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; - /** - * Encodes the specified ResponseCheckTx message. Does not implicitly {@link abci.ResponseCheckTx.verify|verify} messages. - * @function encode - * @memberof abci.ResponseCheckTx - * @static - * @param {abci.IResponseCheckTx} message ResponseCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCheckTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && message.hasOwnProperty("code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.log != null && message.hasOwnProperty("log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && message.hasOwnProperty("info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.gasWanted); - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.gasUsed); - if (message.events != null && message.events.length) - for (var i = 0; i < message.events.length; ++i) - $root.abci.Event.encode(message.events[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.codespace != null && message.hasOwnProperty("codespace")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.codespace); - return writer; - }; + /** + * Creates a ResponseFlush message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseFlush} ResponseFlush + */ + ResponseFlush.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseFlush) + return object; + return new $root.tendermint.abci.ResponseFlush(); + }; - /** - * Encodes the specified ResponseCheckTx message, length delimited. Does not implicitly {@link abci.ResponseCheckTx.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseCheckTx - * @static - * @param {abci.IResponseCheckTx} message ResponseCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCheckTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a plain object from a ResponseFlush message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseFlush + * @static + * @param {tendermint.abci.ResponseFlush} message ResponseFlush + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseFlush.toObject = function toObject() { + return {}; + }; - /** - * Decodes a ResponseCheckTx message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseCheckTx} ResponseCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCheckTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseCheckTx(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 2: - message.data = reader.bytes(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.gasWanted = reader.int64(); - break; - case 6: - message.gasUsed = reader.int64(); - break; - case 7: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.abci.Event.decode(reader, reader.uint32())); - break; - case 8: - message.codespace = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Converts this ResponseFlush to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseFlush + * @instance + * @returns {Object.} JSON object + */ + ResponseFlush.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Decodes a ResponseCheckTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseCheckTx} ResponseCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCheckTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + return ResponseFlush; + })(); - /** - * Verifies a ResponseCheckTx message. - * @function verify - * @memberof abci.ResponseCheckTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseCheckTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) - return "gasWanted: integer|Long expected"; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) - return "gasUsed: integer|Long expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (var i = 0; i < message.events.length; ++i) { - var error = $root.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - return null; - }; + abci.ResponseInfo = (function() { - /** - * Creates a ResponseCheckTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseCheckTx - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseCheckTx} ResponseCheckTx - */ - ResponseCheckTx.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseCheckTx) - return object; - var message = new $root.abci.ResponseCheckTx(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - if (object.gasWanted != null) - if ($util.Long) - (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; - else if (typeof object.gasWanted === "string") - message.gasWanted = parseInt(object.gasWanted, 10); - else if (typeof object.gasWanted === "number") - message.gasWanted = object.gasWanted; - else if (typeof object.gasWanted === "object") - message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); - if (object.gasUsed != null) - if ($util.Long) - (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; - else if (typeof object.gasUsed === "string") - message.gasUsed = parseInt(object.gasUsed, 10); - else if (typeof object.gasUsed === "number") - message.gasUsed = object.gasUsed; - else if (typeof object.gasUsed === "object") - message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".abci.ResponseCheckTx.events: array expected"); - message.events = []; - for (var i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".abci.ResponseCheckTx.events: object expected"); - message.events[i] = $root.abci.Event.fromObject(object.events[i]); - } - } - if (object.codespace != null) - message.codespace = String(object.codespace); - return message; - }; + /** + * Properties of a ResponseInfo. + * @memberof tendermint.abci + * @interface IResponseInfo + * @property {string|null} [data] ResponseInfo data + * @property {string|null} [version] ResponseInfo version + * @property {number|Long|null} [appVersion] ResponseInfo appVersion + * @property {number|Long|null} [lastBlockHeight] ResponseInfo lastBlockHeight + * @property {Uint8Array|null} [lastBlockAppHash] ResponseInfo lastBlockAppHash + */ - /** - * Creates a plain object from a ResponseCheckTx message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseCheckTx - * @static - * @param {abci.ResponseCheckTx} message ResponseCheckTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseCheckTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - object.code = 0; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.log = ""; - object.info = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasWanted = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasUsed = options.longs === String ? "0" : 0; - object.codespace = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (typeof message.gasWanted === "number") - object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; - else - object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (typeof message.gasUsed === "number") - object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; - else - object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; - if (message.events && message.events.length) { - object.events = []; - for (var j = 0; j < message.events.length; ++j) - object.events[j] = $root.abci.Event.toObject(message.events[j], options); + /** + * Constructs a new ResponseInfo. + * @memberof tendermint.abci + * @classdesc Represents a ResponseInfo. + * @implements IResponseInfo + * @constructor + * @param {tendermint.abci.IResponseInfo=} [properties] Properties to set + */ + function ResponseInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - return object; - }; - /** - * Converts this ResponseCheckTx to JSON. - * @function toJSON - * @memberof abci.ResponseCheckTx - * @instance - * @returns {Object.} JSON object - */ - ResponseCheckTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseCheckTx; - })(); + /** + * ResponseInfo data. + * @member {string} data + * @memberof tendermint.abci.ResponseInfo + * @instance + */ + ResponseInfo.prototype.data = ""; - abci.ResponseDeliverTx = (function() { + /** + * ResponseInfo version. + * @member {string} version + * @memberof tendermint.abci.ResponseInfo + * @instance + */ + ResponseInfo.prototype.version = ""; - /** - * Properties of a ResponseDeliverTx. - * @memberof abci - * @interface IResponseDeliverTx - * @property {number|null} [code] ResponseDeliverTx code - * @property {Uint8Array|null} [data] ResponseDeliverTx data - * @property {string|null} [log] ResponseDeliverTx log - * @property {string|null} [info] ResponseDeliverTx info - * @property {number|Long|null} [gasWanted] ResponseDeliverTx gasWanted - * @property {number|Long|null} [gasUsed] ResponseDeliverTx gasUsed - * @property {Array.|null} [events] ResponseDeliverTx events - * @property {string|null} [codespace] ResponseDeliverTx codespace - */ + /** + * ResponseInfo appVersion. + * @member {number|Long} appVersion + * @memberof tendermint.abci.ResponseInfo + * @instance + */ + ResponseInfo.prototype.appVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - /** - * Constructs a new ResponseDeliverTx. - * @memberof abci - * @classdesc Represents a ResponseDeliverTx. - * @implements IResponseDeliverTx - * @constructor - * @param {abci.IResponseDeliverTx=} [properties] Properties to set - */ - function ResponseDeliverTx(properties) { - this.events = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * ResponseInfo lastBlockHeight. + * @member {number|Long} lastBlockHeight + * @memberof tendermint.abci.ResponseInfo + * @instance + */ + ResponseInfo.prototype.lastBlockHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * ResponseDeliverTx code. - * @member {number} code - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.code = 0; + /** + * ResponseInfo lastBlockAppHash. + * @member {Uint8Array} lastBlockAppHash + * @memberof tendermint.abci.ResponseInfo + * @instance + */ + ResponseInfo.prototype.lastBlockAppHash = $util.newBuffer([]); - /** - * ResponseDeliverTx data. - * @member {Uint8Array} data - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.data = $util.newBuffer([]); + /** + * Creates a new ResponseInfo instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {tendermint.abci.IResponseInfo=} [properties] Properties to set + * @returns {tendermint.abci.ResponseInfo} ResponseInfo instance + */ + ResponseInfo.create = function create(properties) { + return new ResponseInfo(properties); + }; - /** - * ResponseDeliverTx log. - * @member {string} log - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.log = ""; + /** + * Encodes the specified ResponseInfo message. Does not implicitly {@link tendermint.abci.ResponseInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {tendermint.abci.IResponseInfo} message ResponseInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.data); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); + if (message.appVersion != null && Object.hasOwnProperty.call(message, "appVersion")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.appVersion); + if (message.lastBlockHeight != null && Object.hasOwnProperty.call(message, "lastBlockHeight")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.lastBlockHeight); + if (message.lastBlockAppHash != null && Object.hasOwnProperty.call(message, "lastBlockAppHash")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.lastBlockAppHash); + return writer; + }; - /** - * ResponseDeliverTx info. - * @member {string} info - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.info = ""; + /** + * Encodes the specified ResponseInfo message, length delimited. Does not implicitly {@link tendermint.abci.ResponseInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {tendermint.abci.IResponseInfo} message ResponseInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * ResponseDeliverTx gasWanted. - * @member {number|Long} gasWanted - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Decodes a ResponseInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseInfo} ResponseInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.string(); + break; + case 2: + message.version = reader.string(); + break; + case 3: + message.appVersion = reader.uint64(); + break; + case 4: + message.lastBlockHeight = reader.int64(); + break; + case 5: + message.lastBlockAppHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * ResponseDeliverTx gasUsed. - * @member {number|Long} gasUsed - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Decodes a ResponseInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseInfo} ResponseInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * ResponseDeliverTx events. - * @member {Array.} events - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.events = $util.emptyArray; + /** + * Verifies a ResponseInfo message. + * @function verify + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!$util.isString(message.data)) + return "data: string expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + if (message.appVersion != null && message.hasOwnProperty("appVersion")) + if (!$util.isInteger(message.appVersion) && !(message.appVersion && $util.isInteger(message.appVersion.low) && $util.isInteger(message.appVersion.high))) + return "appVersion: integer|Long expected"; + if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) + if (!$util.isInteger(message.lastBlockHeight) && !(message.lastBlockHeight && $util.isInteger(message.lastBlockHeight.low) && $util.isInteger(message.lastBlockHeight.high))) + return "lastBlockHeight: integer|Long expected"; + if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) + if (!(message.lastBlockAppHash && typeof message.lastBlockAppHash.length === "number" || $util.isString(message.lastBlockAppHash))) + return "lastBlockAppHash: buffer expected"; + return null; + }; - /** - * ResponseDeliverTx codespace. - * @member {string} codespace - * @memberof abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.codespace = ""; + /** + * Creates a ResponseInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseInfo} ResponseInfo + */ + ResponseInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseInfo) + return object; + var message = new $root.tendermint.abci.ResponseInfo(); + if (object.data != null) + message.data = String(object.data); + if (object.version != null) + message.version = String(object.version); + if (object.appVersion != null) + if ($util.Long) + (message.appVersion = $util.Long.fromValue(object.appVersion)).unsigned = true; + else if (typeof object.appVersion === "string") + message.appVersion = parseInt(object.appVersion, 10); + else if (typeof object.appVersion === "number") + message.appVersion = object.appVersion; + else if (typeof object.appVersion === "object") + message.appVersion = new $util.LongBits(object.appVersion.low >>> 0, object.appVersion.high >>> 0).toNumber(true); + if (object.lastBlockHeight != null) + if ($util.Long) + (message.lastBlockHeight = $util.Long.fromValue(object.lastBlockHeight)).unsigned = false; + else if (typeof object.lastBlockHeight === "string") + message.lastBlockHeight = parseInt(object.lastBlockHeight, 10); + else if (typeof object.lastBlockHeight === "number") + message.lastBlockHeight = object.lastBlockHeight; + else if (typeof object.lastBlockHeight === "object") + message.lastBlockHeight = new $util.LongBits(object.lastBlockHeight.low >>> 0, object.lastBlockHeight.high >>> 0).toNumber(); + if (object.lastBlockAppHash != null) + if (typeof object.lastBlockAppHash === "string") + $util.base64.decode(object.lastBlockAppHash, message.lastBlockAppHash = $util.newBuffer($util.base64.length(object.lastBlockAppHash)), 0); + else if (object.lastBlockAppHash.length) + message.lastBlockAppHash = object.lastBlockAppHash; + return message; + }; - /** - * Creates a new ResponseDeliverTx instance using the specified properties. - * @function create - * @memberof abci.ResponseDeliverTx - * @static - * @param {abci.IResponseDeliverTx=} [properties] Properties to set - * @returns {abci.ResponseDeliverTx} ResponseDeliverTx instance - */ - ResponseDeliverTx.create = function create(properties) { - return new ResponseDeliverTx(properties); - }; + /** + * Creates a plain object from a ResponseInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseInfo + * @static + * @param {tendermint.abci.ResponseInfo} message ResponseInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.data = ""; + object.version = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.appVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.appVersion = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastBlockHeight = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.lastBlockAppHash = ""; + else { + object.lastBlockAppHash = []; + if (options.bytes !== Array) + object.lastBlockAppHash = $util.newBuffer(object.lastBlockAppHash); + } + } + if (message.data != null && message.hasOwnProperty("data")) + object.data = message.data; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + if (message.appVersion != null && message.hasOwnProperty("appVersion")) + if (typeof message.appVersion === "number") + object.appVersion = options.longs === String ? String(message.appVersion) : message.appVersion; + else + object.appVersion = options.longs === String ? $util.Long.prototype.toString.call(message.appVersion) : options.longs === Number ? new $util.LongBits(message.appVersion.low >>> 0, message.appVersion.high >>> 0).toNumber(true) : message.appVersion; + if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) + if (typeof message.lastBlockHeight === "number") + object.lastBlockHeight = options.longs === String ? String(message.lastBlockHeight) : message.lastBlockHeight; + else + object.lastBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.lastBlockHeight) : options.longs === Number ? new $util.LongBits(message.lastBlockHeight.low >>> 0, message.lastBlockHeight.high >>> 0).toNumber() : message.lastBlockHeight; + if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) + object.lastBlockAppHash = options.bytes === String ? $util.base64.encode(message.lastBlockAppHash, 0, message.lastBlockAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockAppHash) : message.lastBlockAppHash; + return object; + }; - /** - * Encodes the specified ResponseDeliverTx message. Does not implicitly {@link abci.ResponseDeliverTx.verify|verify} messages. - * @function encode - * @memberof abci.ResponseDeliverTx - * @static - * @param {abci.IResponseDeliverTx} message ResponseDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseDeliverTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && message.hasOwnProperty("code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.log != null && message.hasOwnProperty("log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && message.hasOwnProperty("info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.gasWanted); - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.gasUsed); - if (message.events != null && message.events.length) - for (var i = 0; i < message.events.length; ++i) - $root.abci.Event.encode(message.events[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.codespace != null && message.hasOwnProperty("codespace")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.codespace); - return writer; - }; + /** + * Converts this ResponseInfo to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseInfo + * @instance + * @returns {Object.} JSON object + */ + ResponseInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Encodes the specified ResponseDeliverTx message, length delimited. Does not implicitly {@link abci.ResponseDeliverTx.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseDeliverTx - * @static - * @param {abci.IResponseDeliverTx} message ResponseDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseDeliverTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + return ResponseInfo; + })(); - /** - * Decodes a ResponseDeliverTx message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseDeliverTx} ResponseDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseDeliverTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseDeliverTx(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 2: - message.data = reader.bytes(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.gasWanted = reader.int64(); - break; - case 6: - message.gasUsed = reader.int64(); - break; - case 7: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.abci.Event.decode(reader, reader.uint32())); - break; - case 8: - message.codespace = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + abci.ResponseSetOption = (function() { - /** - * Decodes a ResponseDeliverTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseDeliverTx} ResponseDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseDeliverTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Properties of a ResponseSetOption. + * @memberof tendermint.abci + * @interface IResponseSetOption + * @property {number|null} [code] ResponseSetOption code + * @property {string|null} [log] ResponseSetOption log + * @property {string|null} [info] ResponseSetOption info + */ - /** - * Verifies a ResponseDeliverTx message. - * @function verify - * @memberof abci.ResponseDeliverTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseDeliverTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) - return "gasWanted: integer|Long expected"; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) - return "gasUsed: integer|Long expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (var i = 0; i < message.events.length; ++i) { - var error = $root.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } + /** + * Constructs a new ResponseSetOption. + * @memberof tendermint.abci + * @classdesc Represents a ResponseSetOption. + * @implements IResponseSetOption + * @constructor + * @param {tendermint.abci.IResponseSetOption=} [properties] Properties to set + */ + function ResponseSetOption(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - return null; - }; - /** - * Creates a ResponseDeliverTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseDeliverTx - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseDeliverTx} ResponseDeliverTx - */ - ResponseDeliverTx.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseDeliverTx) - return object; - var message = new $root.abci.ResponseDeliverTx(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - if (object.gasWanted != null) - if ($util.Long) - (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; - else if (typeof object.gasWanted === "string") - message.gasWanted = parseInt(object.gasWanted, 10); - else if (typeof object.gasWanted === "number") - message.gasWanted = object.gasWanted; - else if (typeof object.gasWanted === "object") - message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); - if (object.gasUsed != null) - if ($util.Long) - (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; - else if (typeof object.gasUsed === "string") - message.gasUsed = parseInt(object.gasUsed, 10); - else if (typeof object.gasUsed === "number") - message.gasUsed = object.gasUsed; - else if (typeof object.gasUsed === "object") - message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".abci.ResponseDeliverTx.events: array expected"); - message.events = []; - for (var i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".abci.ResponseDeliverTx.events: object expected"); - message.events[i] = $root.abci.Event.fromObject(object.events[i]); - } - } - if (object.codespace != null) - message.codespace = String(object.codespace); - return message; - }; + /** + * ResponseSetOption code. + * @member {number} code + * @memberof tendermint.abci.ResponseSetOption + * @instance + */ + ResponseSetOption.prototype.code = 0; - /** - * Creates a plain object from a ResponseDeliverTx message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseDeliverTx - * @static - * @param {abci.ResponseDeliverTx} message ResponseDeliverTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseDeliverTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - object.code = 0; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.log = ""; - object.info = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasWanted = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasUsed = options.longs === String ? "0" : 0; - object.codespace = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (typeof message.gasWanted === "number") - object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; - else - object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (typeof message.gasUsed === "number") - object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; - else - object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; - if (message.events && message.events.length) { - object.events = []; - for (var j = 0; j < message.events.length; ++j) - object.events[j] = $root.abci.Event.toObject(message.events[j], options); - } - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - return object; - }; - - /** - * Converts this ResponseDeliverTx to JSON. - * @function toJSON - * @memberof abci.ResponseDeliverTx - * @instance - * @returns {Object.} JSON object - */ - ResponseDeliverTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseDeliverTx; - })(); - - abci.ResponseEndBlock = (function() { - - /** - * Properties of a ResponseEndBlock. - * @memberof abci - * @interface IResponseEndBlock - * @property {Array.|null} [validatorUpdates] ResponseEndBlock validatorUpdates - * @property {abci.IConsensusParams|null} [consensusParamUpdates] ResponseEndBlock consensusParamUpdates - * @property {Array.|null} [events] ResponseEndBlock events - */ - - /** - * Constructs a new ResponseEndBlock. - * @memberof abci - * @classdesc Represents a ResponseEndBlock. - * @implements IResponseEndBlock - * @constructor - * @param {abci.IResponseEndBlock=} [properties] Properties to set - */ - function ResponseEndBlock(properties) { - this.validatorUpdates = []; - this.events = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseEndBlock validatorUpdates. - * @member {Array.} validatorUpdates - * @memberof abci.ResponseEndBlock - * @instance - */ - ResponseEndBlock.prototype.validatorUpdates = $util.emptyArray; - - /** - * ResponseEndBlock consensusParamUpdates. - * @member {abci.IConsensusParams|null|undefined} consensusParamUpdates - * @memberof abci.ResponseEndBlock - * @instance - */ - ResponseEndBlock.prototype.consensusParamUpdates = null; + /** + * ResponseSetOption log. + * @member {string} log + * @memberof tendermint.abci.ResponseSetOption + * @instance + */ + ResponseSetOption.prototype.log = ""; - /** - * ResponseEndBlock events. - * @member {Array.} events - * @memberof abci.ResponseEndBlock - * @instance - */ - ResponseEndBlock.prototype.events = $util.emptyArray; + /** + * ResponseSetOption info. + * @member {string} info + * @memberof tendermint.abci.ResponseSetOption + * @instance + */ + ResponseSetOption.prototype.info = ""; - /** - * Creates a new ResponseEndBlock instance using the specified properties. - * @function create - * @memberof abci.ResponseEndBlock - * @static - * @param {abci.IResponseEndBlock=} [properties] Properties to set - * @returns {abci.ResponseEndBlock} ResponseEndBlock instance - */ - ResponseEndBlock.create = function create(properties) { - return new ResponseEndBlock(properties); - }; + /** + * Creates a new ResponseSetOption instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {tendermint.abci.IResponseSetOption=} [properties] Properties to set + * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption instance + */ + ResponseSetOption.create = function create(properties) { + return new ResponseSetOption(properties); + }; - /** - * Encodes the specified ResponseEndBlock message. Does not implicitly {@link abci.ResponseEndBlock.verify|verify} messages. - * @function encode - * @memberof abci.ResponseEndBlock - * @static - * @param {abci.IResponseEndBlock} message ResponseEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEndBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorUpdates != null && message.validatorUpdates.length) - for (var i = 0; i < message.validatorUpdates.length; ++i) - $root.abci.ValidatorUpdate.encode(message.validatorUpdates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) - $root.abci.ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.events != null && message.events.length) - for (var i = 0; i < message.events.length; ++i) - $root.abci.Event.encode(message.events[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified ResponseSetOption message. Does not implicitly {@link tendermint.abci.ResponseSetOption.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {tendermint.abci.IResponseSetOption} message ResponseSetOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseSetOption.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); + if (message.log != null && Object.hasOwnProperty.call(message, "log")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); + return writer; + }; - /** - * Encodes the specified ResponseEndBlock message, length delimited. Does not implicitly {@link abci.ResponseEndBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseEndBlock - * @static - * @param {abci.IResponseEndBlock} message ResponseEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEndBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseSetOption message, length delimited. Does not implicitly {@link tendermint.abci.ResponseSetOption.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {tendermint.abci.IResponseSetOption} message ResponseSetOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseSetOption.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ResponseEndBlock message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseEndBlock} ResponseEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEndBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseEndBlock(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validatorUpdates && message.validatorUpdates.length)) - message.validatorUpdates = []; - message.validatorUpdates.push($root.abci.ValidatorUpdate.decode(reader, reader.uint32())); - break; - case 2: - message.consensusParamUpdates = $root.abci.ConsensusParams.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.abci.Event.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a ResponseSetOption message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseSetOption.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseSetOption(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.uint32(); + break; + case 3: + message.log = reader.string(); + break; + case 4: + message.info = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ResponseEndBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseEndBlock} ResponseEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEndBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a ResponseSetOption message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseSetOption.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ResponseEndBlock message. - * @function verify - * @memberof abci.ResponseEndBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseEndBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorUpdates != null && message.hasOwnProperty("validatorUpdates")) { - if (!Array.isArray(message.validatorUpdates)) - return "validatorUpdates: array expected"; - for (var i = 0; i < message.validatorUpdates.length; ++i) { - var error = $root.abci.ValidatorUpdate.verify(message.validatorUpdates[i]); - if (error) - return "validatorUpdates." + error; - } - } - if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) { - var error = $root.abci.ConsensusParams.verify(message.consensusParamUpdates); - if (error) - return "consensusParamUpdates." + error; - } - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (var i = 0; i < message.events.length; ++i) { - var error = $root.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - return null; - }; + /** + * Verifies a ResponseSetOption message. + * @function verify + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseSetOption.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.log != null && message.hasOwnProperty("log")) + if (!$util.isString(message.log)) + return "log: string expected"; + if (message.info != null && message.hasOwnProperty("info")) + if (!$util.isString(message.info)) + return "info: string expected"; + return null; + }; - /** - * Creates a ResponseEndBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseEndBlock - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseEndBlock} ResponseEndBlock - */ - ResponseEndBlock.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseEndBlock) + /** + * Creates a ResponseSetOption message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption + */ + ResponseSetOption.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseSetOption) + return object; + var message = new $root.tendermint.abci.ResponseSetOption(); + if (object.code != null) + message.code = object.code >>> 0; + if (object.log != null) + message.log = String(object.log); + if (object.info != null) + message.info = String(object.info); + return message; + }; + + /** + * Creates a plain object from a ResponseSetOption message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseSetOption + * @static + * @param {tendermint.abci.ResponseSetOption} message ResponseSetOption + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseSetOption.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.code = 0; + object.log = ""; + object.info = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.log != null && message.hasOwnProperty("log")) + object.log = message.log; + if (message.info != null && message.hasOwnProperty("info")) + object.info = message.info; return object; - var message = new $root.abci.ResponseEndBlock(); - if (object.validatorUpdates) { - if (!Array.isArray(object.validatorUpdates)) - throw TypeError(".abci.ResponseEndBlock.validatorUpdates: array expected"); - message.validatorUpdates = []; - for (var i = 0; i < object.validatorUpdates.length; ++i) { - if (typeof object.validatorUpdates[i] !== "object") - throw TypeError(".abci.ResponseEndBlock.validatorUpdates: object expected"); - message.validatorUpdates[i] = $root.abci.ValidatorUpdate.fromObject(object.validatorUpdates[i]); - } - } - if (object.consensusParamUpdates != null) { - if (typeof object.consensusParamUpdates !== "object") - throw TypeError(".abci.ResponseEndBlock.consensusParamUpdates: object expected"); - message.consensusParamUpdates = $root.abci.ConsensusParams.fromObject(object.consensusParamUpdates); - } - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".abci.ResponseEndBlock.events: array expected"); - message.events = []; - for (var i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".abci.ResponseEndBlock.events: object expected"); - message.events[i] = $root.abci.Event.fromObject(object.events[i]); - } - } - return message; - }; + }; - /** - * Creates a plain object from a ResponseEndBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseEndBlock - * @static - * @param {abci.ResponseEndBlock} message ResponseEndBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseEndBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.validatorUpdates = []; - object.events = []; - } - if (options.defaults) - object.consensusParamUpdates = null; - if (message.validatorUpdates && message.validatorUpdates.length) { - object.validatorUpdates = []; - for (var j = 0; j < message.validatorUpdates.length; ++j) - object.validatorUpdates[j] = $root.abci.ValidatorUpdate.toObject(message.validatorUpdates[j], options); - } - if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) - object.consensusParamUpdates = $root.abci.ConsensusParams.toObject(message.consensusParamUpdates, options); - if (message.events && message.events.length) { - object.events = []; - for (var j = 0; j < message.events.length; ++j) - object.events[j] = $root.abci.Event.toObject(message.events[j], options); - } - return object; - }; + /** + * Converts this ResponseSetOption to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseSetOption + * @instance + * @returns {Object.} JSON object + */ + ResponseSetOption.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this ResponseEndBlock to JSON. - * @function toJSON - * @memberof abci.ResponseEndBlock - * @instance - * @returns {Object.} JSON object - */ - ResponseEndBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return ResponseSetOption; + })(); - return ResponseEndBlock; - })(); + abci.ResponseInitChain = (function() { - abci.ResponseCommit = (function() { + /** + * Properties of a ResponseInitChain. + * @memberof tendermint.abci + * @interface IResponseInitChain + * @property {tendermint.abci.IConsensusParams|null} [consensusParams] ResponseInitChain consensusParams + * @property {Array.|null} [validators] ResponseInitChain validators + * @property {Uint8Array|null} [appHash] ResponseInitChain appHash + */ - /** - * Properties of a ResponseCommit. - * @memberof abci - * @interface IResponseCommit - * @property {Uint8Array|null} [data] ResponseCommit data - * @property {number|Long|null} [retainHeight] ResponseCommit retainHeight - */ + /** + * Constructs a new ResponseInitChain. + * @memberof tendermint.abci + * @classdesc Represents a ResponseInitChain. + * @implements IResponseInitChain + * @constructor + * @param {tendermint.abci.IResponseInitChain=} [properties] Properties to set + */ + function ResponseInitChain(properties) { + this.validators = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Constructs a new ResponseCommit. - * @memberof abci - * @classdesc Represents a ResponseCommit. - * @implements IResponseCommit - * @constructor - * @param {abci.IResponseCommit=} [properties] Properties to set - */ - function ResponseCommit(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * ResponseInitChain consensusParams. + * @member {tendermint.abci.IConsensusParams|null|undefined} consensusParams + * @memberof tendermint.abci.ResponseInitChain + * @instance + */ + ResponseInitChain.prototype.consensusParams = null; - /** - * ResponseCommit data. - * @member {Uint8Array} data - * @memberof abci.ResponseCommit - * @instance - */ - ResponseCommit.prototype.data = $util.newBuffer([]); + /** + * ResponseInitChain validators. + * @member {Array.} validators + * @memberof tendermint.abci.ResponseInitChain + * @instance + */ + ResponseInitChain.prototype.validators = $util.emptyArray; - /** - * ResponseCommit retainHeight. - * @member {number|Long} retainHeight - * @memberof abci.ResponseCommit - * @instance - */ - ResponseCommit.prototype.retainHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * ResponseInitChain appHash. + * @member {Uint8Array} appHash + * @memberof tendermint.abci.ResponseInitChain + * @instance + */ + ResponseInitChain.prototype.appHash = $util.newBuffer([]); - /** - * Creates a new ResponseCommit instance using the specified properties. - * @function create - * @memberof abci.ResponseCommit - * @static - * @param {abci.IResponseCommit=} [properties] Properties to set - * @returns {abci.ResponseCommit} ResponseCommit instance - */ - ResponseCommit.create = function create(properties) { - return new ResponseCommit(properties); - }; + /** + * Creates a new ResponseInitChain instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {tendermint.abci.IResponseInitChain=} [properties] Properties to set + * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain instance + */ + ResponseInitChain.create = function create(properties) { + return new ResponseInitChain(properties); + }; - /** - * Encodes the specified ResponseCommit message. Does not implicitly {@link abci.ResponseCommit.verify|verify} messages. - * @function encode - * @memberof abci.ResponseCommit - * @static - * @param {abci.IResponseCommit} message ResponseCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCommit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.retainHeight); - return writer; - }; + /** + * Encodes the specified ResponseInitChain message. Does not implicitly {@link tendermint.abci.ResponseInitChain.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {tendermint.abci.IResponseInitChain} message ResponseInitChain message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseInitChain.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.consensusParams != null && Object.hasOwnProperty.call(message, "consensusParams")) + $root.tendermint.abci.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.validators != null && message.validators.length) + for (var i = 0; i < message.validators.length; ++i) + $root.tendermint.abci.ValidatorUpdate.encode(message.validators[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.appHash); + return writer; + }; - /** - * Encodes the specified ResponseCommit message, length delimited. Does not implicitly {@link abci.ResponseCommit.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ResponseCommit - * @static - * @param {abci.IResponseCommit} message ResponseCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCommit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseInitChain message, length delimited. Does not implicitly {@link tendermint.abci.ResponseInitChain.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {tendermint.abci.IResponseInitChain} message ResponseInitChain message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseInitChain.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ResponseCommit message from the specified reader or buffer. - * @function decode - * @memberof abci.ResponseCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ResponseCommit} ResponseCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCommit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ResponseCommit(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.data = reader.bytes(); - break; - case 3: - message.retainHeight = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a ResponseInitChain message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseInitChain.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseInitChain(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.consensusParams = $root.tendermint.abci.ConsensusParams.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.validators && message.validators.length)) + message.validators = []; + message.validators.push($root.tendermint.abci.ValidatorUpdate.decode(reader, reader.uint32())); + break; + case 3: + message.appHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ResponseCommit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ResponseCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ResponseCommit} ResponseCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCommit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a ResponseInitChain message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseInitChain.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ResponseCommit message. - * @function verify - * @memberof abci.ResponseCommit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseCommit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) - if (!$util.isInteger(message.retainHeight) && !(message.retainHeight && $util.isInteger(message.retainHeight.low) && $util.isInteger(message.retainHeight.high))) - return "retainHeight: integer|Long expected"; - return null; - }; + /** + * Verifies a ResponseInitChain message. + * @function verify + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseInitChain.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { + var error = $root.tendermint.abci.ConsensusParams.verify(message.consensusParams); + if (error) + return "consensusParams." + error; + } + if (message.validators != null && message.hasOwnProperty("validators")) { + if (!Array.isArray(message.validators)) + return "validators: array expected"; + for (var i = 0; i < message.validators.length; ++i) { + var error = $root.tendermint.abci.ValidatorUpdate.verify(message.validators[i]); + if (error) + return "validators." + error; + } + } + if (message.appHash != null && message.hasOwnProperty("appHash")) + if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) + return "appHash: buffer expected"; + return null; + }; - /** - * Creates a ResponseCommit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ResponseCommit - * @static - * @param {Object.} object Plain object - * @returns {abci.ResponseCommit} ResponseCommit - */ - ResponseCommit.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ResponseCommit) - return object; - var message = new $root.abci.ResponseCommit(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.retainHeight != null) - if ($util.Long) - (message.retainHeight = $util.Long.fromValue(object.retainHeight)).unsigned = false; - else if (typeof object.retainHeight === "string") - message.retainHeight = parseInt(object.retainHeight, 10); - else if (typeof object.retainHeight === "number") - message.retainHeight = object.retainHeight; - else if (typeof object.retainHeight === "object") - message.retainHeight = new $util.LongBits(object.retainHeight.low >>> 0, object.retainHeight.high >>> 0).toNumber(); - return message; - }; + /** + * Creates a ResponseInitChain message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain + */ + ResponseInitChain.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseInitChain) + return object; + var message = new $root.tendermint.abci.ResponseInitChain(); + if (object.consensusParams != null) { + if (typeof object.consensusParams !== "object") + throw TypeError(".tendermint.abci.ResponseInitChain.consensusParams: object expected"); + message.consensusParams = $root.tendermint.abci.ConsensusParams.fromObject(object.consensusParams); + } + if (object.validators) { + if (!Array.isArray(object.validators)) + throw TypeError(".tendermint.abci.ResponseInitChain.validators: array expected"); + message.validators = []; + for (var i = 0; i < object.validators.length; ++i) { + if (typeof object.validators[i] !== "object") + throw TypeError(".tendermint.abci.ResponseInitChain.validators: object expected"); + message.validators[i] = $root.tendermint.abci.ValidatorUpdate.fromObject(object.validators[i]); + } + } + if (object.appHash != null) + if (typeof object.appHash === "string") + $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); + else if (object.appHash.length) + message.appHash = object.appHash; + return message; + }; - /** - * Creates a plain object from a ResponseCommit message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ResponseCommit - * @static - * @param {abci.ResponseCommit} message ResponseCommit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseCommit.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.retainHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.retainHeight = options.longs === String ? "0" : 0; - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) - if (typeof message.retainHeight === "number") - object.retainHeight = options.longs === String ? String(message.retainHeight) : message.retainHeight; - else - object.retainHeight = options.longs === String ? $util.Long.prototype.toString.call(message.retainHeight) : options.longs === Number ? new $util.LongBits(message.retainHeight.low >>> 0, message.retainHeight.high >>> 0).toNumber() : message.retainHeight; - return object; - }; + /** + * Creates a plain object from a ResponseInitChain message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseInitChain + * @static + * @param {tendermint.abci.ResponseInitChain} message ResponseInitChain + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseInitChain.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.validators = []; + if (options.defaults) { + object.consensusParams = null; + if (options.bytes === String) + object.appHash = ""; + else { + object.appHash = []; + if (options.bytes !== Array) + object.appHash = $util.newBuffer(object.appHash); + } + } + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) + object.consensusParams = $root.tendermint.abci.ConsensusParams.toObject(message.consensusParams, options); + if (message.validators && message.validators.length) { + object.validators = []; + for (var j = 0; j < message.validators.length; ++j) + object.validators[j] = $root.tendermint.abci.ValidatorUpdate.toObject(message.validators[j], options); + } + if (message.appHash != null && message.hasOwnProperty("appHash")) + object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; + return object; + }; - /** - * Converts this ResponseCommit to JSON. - * @function toJSON - * @memberof abci.ResponseCommit - * @instance - * @returns {Object.} JSON object - */ - ResponseCommit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this ResponseInitChain to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseInitChain + * @instance + * @returns {Object.} JSON object + */ + ResponseInitChain.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ResponseCommit; - })(); + return ResponseInitChain; + })(); - abci.ConsensusParams = (function() { + abci.ResponseQuery = (function() { - /** - * Properties of a ConsensusParams. - * @memberof abci - * @interface IConsensusParams - * @property {abci.IBlockParams|null} [block] ConsensusParams block - * @property {abci.IEvidenceParams|null} [evidence] ConsensusParams evidence - * @property {abci.IValidatorParams|null} [validator] ConsensusParams validator - */ + /** + * Properties of a ResponseQuery. + * @memberof tendermint.abci + * @interface IResponseQuery + * @property {number|null} [code] ResponseQuery code + * @property {string|null} [log] ResponseQuery log + * @property {string|null} [info] ResponseQuery info + * @property {number|Long|null} [index] ResponseQuery index + * @property {Uint8Array|null} [key] ResponseQuery key + * @property {Uint8Array|null} [value] ResponseQuery value + * @property {tendermint.crypto.IProofOps|null} [proofOps] ResponseQuery proofOps + * @property {number|Long|null} [height] ResponseQuery height + * @property {string|null} [codespace] ResponseQuery codespace + */ - /** - * Constructs a new ConsensusParams. - * @memberof abci - * @classdesc Represents a ConsensusParams. - * @implements IConsensusParams - * @constructor - * @param {abci.IConsensusParams=} [properties] Properties to set - */ - function ConsensusParams(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new ResponseQuery. + * @memberof tendermint.abci + * @classdesc Represents a ResponseQuery. + * @implements IResponseQuery + * @constructor + * @param {tendermint.abci.IResponseQuery=} [properties] Properties to set + */ + function ResponseQuery(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * ConsensusParams block. - * @member {abci.IBlockParams|null|undefined} block - * @memberof abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.block = null; + /** + * ResponseQuery code. + * @member {number} code + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.code = 0; - /** - * ConsensusParams evidence. - * @member {abci.IEvidenceParams|null|undefined} evidence - * @memberof abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.evidence = null; + /** + * ResponseQuery log. + * @member {string} log + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.log = ""; - /** - * ConsensusParams validator. - * @member {abci.IValidatorParams|null|undefined} validator - * @memberof abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.validator = null; + /** + * ResponseQuery info. + * @member {string} info + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.info = ""; - /** - * Creates a new ConsensusParams instance using the specified properties. - * @function create - * @memberof abci.ConsensusParams - * @static - * @param {abci.IConsensusParams=} [properties] Properties to set - * @returns {abci.ConsensusParams} ConsensusParams instance - */ - ConsensusParams.create = function create(properties) { - return new ConsensusParams(properties); - }; + /** + * ResponseQuery index. + * @member {number|Long} index + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.index = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Encodes the specified ConsensusParams message. Does not implicitly {@link abci.ConsensusParams.verify|verify} messages. - * @function encode - * @memberof abci.ConsensusParams - * @static - * @param {abci.IConsensusParams} message ConsensusParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.block != null && message.hasOwnProperty("block")) - $root.abci.BlockParams.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.evidence != null && message.hasOwnProperty("evidence")) - $root.abci.EvidenceParams.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.validator != null && message.hasOwnProperty("validator")) - $root.abci.ValidatorParams.encode(message.validator, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * ResponseQuery key. + * @member {Uint8Array} key + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.key = $util.newBuffer([]); - /** - * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link abci.ConsensusParams.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ConsensusParams - * @static - * @param {abci.IConsensusParams} message ConsensusParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * ResponseQuery value. + * @member {Uint8Array} value + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.value = $util.newBuffer([]); - /** - * Decodes a ConsensusParams message from the specified reader or buffer. - * @function decode - * @memberof abci.ConsensusParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ConsensusParams} ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ConsensusParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.block = $root.abci.BlockParams.decode(reader, reader.uint32()); - break; - case 2: - message.evidence = $root.abci.EvidenceParams.decode(reader, reader.uint32()); - break; - case 3: - message.validator = $root.abci.ValidatorParams.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * ResponseQuery proofOps. + * @member {tendermint.crypto.IProofOps|null|undefined} proofOps + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.proofOps = null; - /** - * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ConsensusParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ConsensusParams} ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * ResponseQuery height. + * @member {number|Long} height + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Verifies a ConsensusParams message. - * @function verify - * @memberof abci.ConsensusParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConsensusParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.block != null && message.hasOwnProperty("block")) { - var error = $root.abci.BlockParams.verify(message.block); - if (error) - return "block." + error; - } - if (message.evidence != null && message.hasOwnProperty("evidence")) { - var error = $root.abci.EvidenceParams.verify(message.evidence); - if (error) - return "evidence." + error; - } - if (message.validator != null && message.hasOwnProperty("validator")) { - var error = $root.abci.ValidatorParams.verify(message.validator); - if (error) - return "validator." + error; - } - return null; - }; + /** + * ResponseQuery codespace. + * @member {string} codespace + * @memberof tendermint.abci.ResponseQuery + * @instance + */ + ResponseQuery.prototype.codespace = ""; - /** - * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ConsensusParams - * @static - * @param {Object.} object Plain object - * @returns {abci.ConsensusParams} ConsensusParams - */ - ConsensusParams.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ConsensusParams) - return object; - var message = new $root.abci.ConsensusParams(); - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".abci.ConsensusParams.block: object expected"); - message.block = $root.abci.BlockParams.fromObject(object.block); - } - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".abci.ConsensusParams.evidence: object expected"); - message.evidence = $root.abci.EvidenceParams.fromObject(object.evidence); - } - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".abci.ConsensusParams.validator: object expected"); - message.validator = $root.abci.ValidatorParams.fromObject(object.validator); - } - return message; - }; + /** + * Creates a new ResponseQuery instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {tendermint.abci.IResponseQuery=} [properties] Properties to set + * @returns {tendermint.abci.ResponseQuery} ResponseQuery instance + */ + ResponseQuery.create = function create(properties) { + return new ResponseQuery(properties); + }; - /** - * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ConsensusParams - * @static - * @param {abci.ConsensusParams} message ConsensusParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConsensusParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.block = null; - object.evidence = null; - object.validator = null; - } - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.abci.BlockParams.toObject(message.block, options); - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.abci.EvidenceParams.toObject(message.evidence, options); - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.abci.ValidatorParams.toObject(message.validator, options); - return object; - }; + /** + * Encodes the specified ResponseQuery message. Does not implicitly {@link tendermint.abci.ResponseQuery.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {tendermint.abci.IResponseQuery} message ResponseQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseQuery.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); + if (message.log != null && Object.hasOwnProperty.call(message, "log")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.index); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.key); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.value); + if (message.proofOps != null && Object.hasOwnProperty.call(message, "proofOps")) + $root.tendermint.crypto.ProofOps.encode(message.proofOps, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 9, wireType 0 =*/72).int64(message.height); + if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.codespace); + return writer; + }; - /** - * Converts this ConsensusParams to JSON. - * @function toJSON - * @memberof abci.ConsensusParams - * @instance - * @returns {Object.} JSON object - */ - ConsensusParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Encodes the specified ResponseQuery message, length delimited. Does not implicitly {@link tendermint.abci.ResponseQuery.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {tendermint.abci.IResponseQuery} message ResponseQuery message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseQuery.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - return ConsensusParams; - })(); + /** + * Decodes a ResponseQuery message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseQuery} ResponseQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseQuery.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseQuery(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.uint32(); + break; + case 3: + message.log = reader.string(); + break; + case 4: + message.info = reader.string(); + break; + case 5: + message.index = reader.int64(); + break; + case 6: + message.key = reader.bytes(); + break; + case 7: + message.value = reader.bytes(); + break; + case 8: + message.proofOps = $root.tendermint.crypto.ProofOps.decode(reader, reader.uint32()); + break; + case 9: + message.height = reader.int64(); + break; + case 10: + message.codespace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - abci.BlockParams = (function() { + /** + * Decodes a ResponseQuery message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseQuery} ResponseQuery + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseQuery.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Properties of a BlockParams. - * @memberof abci - * @interface IBlockParams - * @property {number|Long|null} [maxBytes] BlockParams maxBytes - * @property {number|Long|null} [maxGas] BlockParams maxGas - */ + /** + * Verifies a ResponseQuery message. + * @function verify + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseQuery.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.log != null && message.hasOwnProperty("log")) + if (!$util.isString(message.log)) + return "log: string expected"; + if (message.info != null && message.hasOwnProperty("info")) + if (!$util.isString(message.info)) + return "info: string expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) + return "index: integer|Long expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + if (message.proofOps != null && message.hasOwnProperty("proofOps")) { + var error = $root.tendermint.crypto.ProofOps.verify(message.proofOps); + if (error) + return "proofOps." + error; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.codespace != null && message.hasOwnProperty("codespace")) + if (!$util.isString(message.codespace)) + return "codespace: string expected"; + return null; + }; - /** - * Constructs a new BlockParams. - * @memberof abci - * @classdesc Represents a BlockParams. - * @implements IBlockParams - * @constructor - * @param {abci.IBlockParams=} [properties] Properties to set - */ - function BlockParams(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a ResponseQuery message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseQuery} ResponseQuery + */ + ResponseQuery.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseQuery) + return object; + var message = new $root.tendermint.abci.ResponseQuery(); + if (object.code != null) + message.code = object.code >>> 0; + if (object.log != null) + message.log = String(object.log); + if (object.info != null) + message.info = String(object.info); + if (object.index != null) + if ($util.Long) + (message.index = $util.Long.fromValue(object.index)).unsigned = false; + else if (typeof object.index === "string") + message.index = parseInt(object.index, 10); + else if (typeof object.index === "number") + message.index = object.index; + else if (typeof object.index === "object") + message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + if (object.proofOps != null) { + if (typeof object.proofOps !== "object") + throw TypeError(".tendermint.abci.ResponseQuery.proofOps: object expected"); + message.proofOps = $root.tendermint.crypto.ProofOps.fromObject(object.proofOps); + } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.codespace != null) + message.codespace = String(object.codespace); + return message; + }; - /** - * BlockParams maxBytes. - * @member {number|Long} maxBytes - * @memberof abci.BlockParams - * @instance - */ - BlockParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Creates a plain object from a ResponseQuery message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseQuery + * @static + * @param {tendermint.abci.ResponseQuery} message ResponseQuery + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseQuery.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.code = 0; + object.log = ""; + object.info = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.index = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + object.proofOps = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.codespace = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.log != null && message.hasOwnProperty("log")) + object.log = message.log; + if (message.info != null && message.hasOwnProperty("info")) + object.info = message.info; + if (message.index != null && message.hasOwnProperty("index")) + if (typeof message.index === "number") + object.index = options.longs === String ? String(message.index) : message.index; + else + object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber() : message.index; + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + if (message.proofOps != null && message.hasOwnProperty("proofOps")) + object.proofOps = $root.tendermint.crypto.ProofOps.toObject(message.proofOps, options); + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.codespace != null && message.hasOwnProperty("codespace")) + object.codespace = message.codespace; + return object; + }; - /** - * BlockParams maxGas. - * @member {number|Long} maxGas - * @memberof abci.BlockParams - * @instance - */ - BlockParams.prototype.maxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Converts this ResponseQuery to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseQuery + * @instance + * @returns {Object.} JSON object + */ + ResponseQuery.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new BlockParams instance using the specified properties. - * @function create - * @memberof abci.BlockParams - * @static - * @param {abci.IBlockParams=} [properties] Properties to set - * @returns {abci.BlockParams} BlockParams instance - */ - BlockParams.create = function create(properties) { - return new BlockParams(properties); - }; + return ResponseQuery; + })(); - /** - * Encodes the specified BlockParams message. Does not implicitly {@link abci.BlockParams.verify|verify} messages. - * @function encode - * @memberof abci.BlockParams - * @static - * @param {abci.IBlockParams} message BlockParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxBytes); - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.maxGas); - return writer; - }; + abci.ResponseBeginBlock = (function() { - /** - * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link abci.BlockParams.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.BlockParams - * @static - * @param {abci.IBlockParams} message BlockParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a ResponseBeginBlock. + * @memberof tendermint.abci + * @interface IResponseBeginBlock + * @property {Array.|null} [events] ResponseBeginBlock events + */ - /** - * Decodes a BlockParams message from the specified reader or buffer. - * @function decode - * @memberof abci.BlockParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.BlockParams} BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.BlockParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxBytes = reader.int64(); - break; - case 2: - message.maxGas = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Constructs a new ResponseBeginBlock. + * @memberof tendermint.abci + * @classdesc Represents a ResponseBeginBlock. + * @implements IResponseBeginBlock + * @constructor + * @param {tendermint.abci.IResponseBeginBlock=} [properties] Properties to set + */ + function ResponseBeginBlock(properties) { + this.events = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - - /** - * Decodes a BlockParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.BlockParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.BlockParams} BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - /** - * Verifies a BlockParams message. - * @function verify - * @memberof abci.BlockParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BlockParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) - return "maxBytes: integer|Long expected"; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (!$util.isInteger(message.maxGas) && !(message.maxGas && $util.isInteger(message.maxGas.low) && $util.isInteger(message.maxGas.high))) - return "maxGas: integer|Long expected"; - return null; - }; + /** + * ResponseBeginBlock events. + * @member {Array.} events + * @memberof tendermint.abci.ResponseBeginBlock + * @instance + */ + ResponseBeginBlock.prototype.events = $util.emptyArray; - /** - * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.BlockParams - * @static - * @param {Object.} object Plain object - * @returns {abci.BlockParams} BlockParams - */ - BlockParams.fromObject = function fromObject(object) { - if (object instanceof $root.abci.BlockParams) - return object; - var message = new $root.abci.BlockParams(); - if (object.maxBytes != null) - if ($util.Long) - (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; - else if (typeof object.maxBytes === "string") - message.maxBytes = parseInt(object.maxBytes, 10); - else if (typeof object.maxBytes === "number") - message.maxBytes = object.maxBytes; - else if (typeof object.maxBytes === "object") - message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); - if (object.maxGas != null) - if ($util.Long) - (message.maxGas = $util.Long.fromValue(object.maxGas)).unsigned = false; - else if (typeof object.maxGas === "string") - message.maxGas = parseInt(object.maxGas, 10); - else if (typeof object.maxGas === "number") - message.maxGas = object.maxGas; - else if (typeof object.maxGas === "object") - message.maxGas = new $util.LongBits(object.maxGas.low >>> 0, object.maxGas.high >>> 0).toNumber(); - return message; - }; + /** + * Creates a new ResponseBeginBlock instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {tendermint.abci.IResponseBeginBlock=} [properties] Properties to set + * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock instance + */ + ResponseBeginBlock.create = function create(properties) { + return new ResponseBeginBlock(properties); + }; - /** - * Creates a plain object from a BlockParams message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.BlockParams - * @static - * @param {abci.BlockParams} message BlockParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BlockParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxBytes = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.maxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxGas = options.longs === String ? "0" : 0; - } - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (typeof message.maxBytes === "number") - object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; - else - object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (typeof message.maxGas === "number") - object.maxGas = options.longs === String ? String(message.maxGas) : message.maxGas; - else - object.maxGas = options.longs === String ? $util.Long.prototype.toString.call(message.maxGas) : options.longs === Number ? new $util.LongBits(message.maxGas.low >>> 0, message.maxGas.high >>> 0).toNumber() : message.maxGas; - return object; - }; + /** + * Encodes the specified ResponseBeginBlock message. Does not implicitly {@link tendermint.abci.ResponseBeginBlock.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {tendermint.abci.IResponseBeginBlock} message ResponseBeginBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseBeginBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.events != null && message.events.length) + for (var i = 0; i < message.events.length; ++i) + $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Converts this BlockParams to JSON. - * @function toJSON - * @memberof abci.BlockParams - * @instance - * @returns {Object.} JSON object - */ - BlockParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Encodes the specified ResponseBeginBlock message, length delimited. Does not implicitly {@link tendermint.abci.ResponseBeginBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {tendermint.abci.IResponseBeginBlock} message ResponseBeginBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseBeginBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - return BlockParams; - })(); + /** + * Decodes a ResponseBeginBlock message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseBeginBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseBeginBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.events && message.events.length)) + message.events = []; + message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - abci.EvidenceParams = (function() { + /** + * Decodes a ResponseBeginBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseBeginBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Properties of an EvidenceParams. - * @memberof abci - * @interface IEvidenceParams - * @property {number|Long|null} [maxAgeNumBlocks] EvidenceParams maxAgeNumBlocks - * @property {google.protobuf.IDuration|null} [maxAgeDuration] EvidenceParams maxAgeDuration - */ + /** + * Verifies a ResponseBeginBlock message. + * @function verify + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseBeginBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.events != null && message.hasOwnProperty("events")) { + if (!Array.isArray(message.events)) + return "events: array expected"; + for (var i = 0; i < message.events.length; ++i) { + var error = $root.tendermint.abci.Event.verify(message.events[i]); + if (error) + return "events." + error; + } + } + return null; + }; - /** - * Constructs a new EvidenceParams. - * @memberof abci - * @classdesc Represents an EvidenceParams. - * @implements IEvidenceParams - * @constructor - * @param {abci.IEvidenceParams=} [properties] Properties to set - */ - function EvidenceParams(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a ResponseBeginBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock + */ + ResponseBeginBlock.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseBeginBlock) + return object; + var message = new $root.tendermint.abci.ResponseBeginBlock(); + if (object.events) { + if (!Array.isArray(object.events)) + throw TypeError(".tendermint.abci.ResponseBeginBlock.events: array expected"); + message.events = []; + for (var i = 0; i < object.events.length; ++i) { + if (typeof object.events[i] !== "object") + throw TypeError(".tendermint.abci.ResponseBeginBlock.events: object expected"); + message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); + } + } + return message; + }; - /** - * EvidenceParams maxAgeNumBlocks. - * @member {number|Long} maxAgeNumBlocks - * @memberof abci.EvidenceParams - * @instance - */ - EvidenceParams.prototype.maxAgeNumBlocks = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Creates a plain object from a ResponseBeginBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseBeginBlock + * @static + * @param {tendermint.abci.ResponseBeginBlock} message ResponseBeginBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseBeginBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.events = []; + if (message.events && message.events.length) { + object.events = []; + for (var j = 0; j < message.events.length; ++j) + object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); + } + return object; + }; - /** - * EvidenceParams maxAgeDuration. - * @member {google.protobuf.IDuration|null|undefined} maxAgeDuration - * @memberof abci.EvidenceParams - * @instance - */ - EvidenceParams.prototype.maxAgeDuration = null; + /** + * Converts this ResponseBeginBlock to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseBeginBlock + * @instance + * @returns {Object.} JSON object + */ + ResponseBeginBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new EvidenceParams instance using the specified properties. - * @function create - * @memberof abci.EvidenceParams - * @static - * @param {abci.IEvidenceParams=} [properties] Properties to set - * @returns {abci.EvidenceParams} EvidenceParams instance - */ - EvidenceParams.create = function create(properties) { - return new EvidenceParams(properties); - }; + return ResponseBeginBlock; + })(); - /** - * Encodes the specified EvidenceParams message. Does not implicitly {@link abci.EvidenceParams.verify|verify} messages. - * @function encode - * @memberof abci.EvidenceParams - * @static - * @param {abci.IEvidenceParams} message EvidenceParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EvidenceParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxAgeNumBlocks); - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) - $root.google.protobuf.Duration.encode(message.maxAgeDuration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + abci.ResponseCheckTx = (function() { - /** - * Encodes the specified EvidenceParams message, length delimited. Does not implicitly {@link abci.EvidenceParams.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.EvidenceParams - * @static - * @param {abci.IEvidenceParams} message EvidenceParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EvidenceParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a ResponseCheckTx. + * @memberof tendermint.abci + * @interface IResponseCheckTx + * @property {number|null} [code] ResponseCheckTx code + * @property {Uint8Array|null} [data] ResponseCheckTx data + * @property {string|null} [log] ResponseCheckTx log + * @property {string|null} [info] ResponseCheckTx info + * @property {number|Long|null} [gasWanted] ResponseCheckTx gasWanted + * @property {number|Long|null} [gasUsed] ResponseCheckTx gasUsed + * @property {Array.|null} [events] ResponseCheckTx events + * @property {string|null} [codespace] ResponseCheckTx codespace + */ - /** - * Decodes an EvidenceParams message from the specified reader or buffer. - * @function decode - * @memberof abci.EvidenceParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.EvidenceParams} EvidenceParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EvidenceParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.EvidenceParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxAgeNumBlocks = reader.int64(); - break; - case 2: - message.maxAgeDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Constructs a new ResponseCheckTx. + * @memberof tendermint.abci + * @classdesc Represents a ResponseCheckTx. + * @implements IResponseCheckTx + * @constructor + * @param {tendermint.abci.IResponseCheckTx=} [properties] Properties to set + */ + function ResponseCheckTx(properties) { + this.events = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - - /** - * Decodes an EvidenceParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.EvidenceParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.EvidenceParams} EvidenceParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EvidenceParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - /** - * Verifies an EvidenceParams message. - * @function verify - * @memberof abci.EvidenceParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EvidenceParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - if (!$util.isInteger(message.maxAgeNumBlocks) && !(message.maxAgeNumBlocks && $util.isInteger(message.maxAgeNumBlocks.low) && $util.isInteger(message.maxAgeNumBlocks.high))) - return "maxAgeNumBlocks: integer|Long expected"; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) { - var error = $root.google.protobuf.Duration.verify(message.maxAgeDuration); - if (error) - return "maxAgeDuration." + error; - } - return null; - }; + /** + * ResponseCheckTx code. + * @member {number} code + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.code = 0; - /** - * Creates an EvidenceParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.EvidenceParams - * @static - * @param {Object.} object Plain object - * @returns {abci.EvidenceParams} EvidenceParams - */ - EvidenceParams.fromObject = function fromObject(object) { - if (object instanceof $root.abci.EvidenceParams) - return object; - var message = new $root.abci.EvidenceParams(); - if (object.maxAgeNumBlocks != null) - if ($util.Long) - (message.maxAgeNumBlocks = $util.Long.fromValue(object.maxAgeNumBlocks)).unsigned = false; - else if (typeof object.maxAgeNumBlocks === "string") - message.maxAgeNumBlocks = parseInt(object.maxAgeNumBlocks, 10); - else if (typeof object.maxAgeNumBlocks === "number") - message.maxAgeNumBlocks = object.maxAgeNumBlocks; - else if (typeof object.maxAgeNumBlocks === "object") - message.maxAgeNumBlocks = new $util.LongBits(object.maxAgeNumBlocks.low >>> 0, object.maxAgeNumBlocks.high >>> 0).toNumber(); - if (object.maxAgeDuration != null) { - if (typeof object.maxAgeDuration !== "object") - throw TypeError(".abci.EvidenceParams.maxAgeDuration: object expected"); - message.maxAgeDuration = $root.google.protobuf.Duration.fromObject(object.maxAgeDuration); - } - return message; - }; + /** + * ResponseCheckTx data. + * @member {Uint8Array} data + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.data = $util.newBuffer([]); - /** - * Creates a plain object from an EvidenceParams message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.EvidenceParams - * @static - * @param {abci.EvidenceParams} message EvidenceParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EvidenceParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.maxAgeNumBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxAgeNumBlocks = options.longs === String ? "0" : 0; - object.maxAgeDuration = null; - } - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - if (typeof message.maxAgeNumBlocks === "number") - object.maxAgeNumBlocks = options.longs === String ? String(message.maxAgeNumBlocks) : message.maxAgeNumBlocks; - else - object.maxAgeNumBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.maxAgeNumBlocks) : options.longs === Number ? new $util.LongBits(message.maxAgeNumBlocks.low >>> 0, message.maxAgeNumBlocks.high >>> 0).toNumber() : message.maxAgeNumBlocks; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) - object.maxAgeDuration = $root.google.protobuf.Duration.toObject(message.maxAgeDuration, options); - return object; - }; + /** + * ResponseCheckTx log. + * @member {string} log + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.log = ""; - /** - * Converts this EvidenceParams to JSON. - * @function toJSON - * @memberof abci.EvidenceParams - * @instance - * @returns {Object.} JSON object - */ - EvidenceParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * ResponseCheckTx info. + * @member {string} info + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.info = ""; - return EvidenceParams; - })(); + /** + * ResponseCheckTx gasWanted. + * @member {number|Long} gasWanted + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - abci.ValidatorParams = (function() { + /** + * ResponseCheckTx gasUsed. + * @member {number|Long} gasUsed + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Properties of a ValidatorParams. - * @memberof abci - * @interface IValidatorParams - * @property {Array.|null} [pubKeyTypes] ValidatorParams pubKeyTypes - */ + /** + * ResponseCheckTx events. + * @member {Array.} events + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.events = $util.emptyArray; - /** - * Constructs a new ValidatorParams. - * @memberof abci - * @classdesc Represents a ValidatorParams. - * @implements IValidatorParams - * @constructor - * @param {abci.IValidatorParams=} [properties] Properties to set - */ - function ValidatorParams(properties) { - this.pubKeyTypes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * ResponseCheckTx codespace. + * @member {string} codespace + * @memberof tendermint.abci.ResponseCheckTx + * @instance + */ + ResponseCheckTx.prototype.codespace = ""; - /** - * ValidatorParams pubKeyTypes. - * @member {Array.} pubKeyTypes - * @memberof abci.ValidatorParams - * @instance - */ - ValidatorParams.prototype.pubKeyTypes = $util.emptyArray; - - /** - * Creates a new ValidatorParams instance using the specified properties. - * @function create - * @memberof abci.ValidatorParams - * @static - * @param {abci.IValidatorParams=} [properties] Properties to set - * @returns {abci.ValidatorParams} ValidatorParams instance - */ - ValidatorParams.create = function create(properties) { - return new ValidatorParams(properties); - }; + /** + * Creates a new ResponseCheckTx instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {tendermint.abci.IResponseCheckTx=} [properties] Properties to set + * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx instance + */ + ResponseCheckTx.create = function create(properties) { + return new ResponseCheckTx(properties); + }; - /** - * Encodes the specified ValidatorParams message. Does not implicitly {@link abci.ValidatorParams.verify|verify} messages. - * @function encode - * @memberof abci.ValidatorParams - * @static - * @param {abci.IValidatorParams} message ValidatorParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pubKeyTypes != null && message.pubKeyTypes.length) - for (var i = 0; i < message.pubKeyTypes.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.pubKeyTypes[i]); - return writer; - }; + /** + * Encodes the specified ResponseCheckTx message. Does not implicitly {@link tendermint.abci.ResponseCheckTx.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {tendermint.abci.IResponseCheckTx} message ResponseCheckTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseCheckTx.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + if (message.log != null && Object.hasOwnProperty.call(message, "log")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); + if (message.gasWanted != null && Object.hasOwnProperty.call(message, "gasWanted")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.gasWanted); + if (message.gasUsed != null && Object.hasOwnProperty.call(message, "gasUsed")) + writer.uint32(/* id 6, wireType 0 =*/48).int64(message.gasUsed); + if (message.events != null && message.events.length) + for (var i = 0; i < message.events.length; ++i) + $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.codespace); + return writer; + }; - /** - * Encodes the specified ValidatorParams message, length delimited. Does not implicitly {@link abci.ValidatorParams.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ValidatorParams - * @static - * @param {abci.IValidatorParams} message ValidatorParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseCheckTx message, length delimited. Does not implicitly {@link tendermint.abci.ResponseCheckTx.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {tendermint.abci.IResponseCheckTx} message ResponseCheckTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseCheckTx.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ValidatorParams message from the specified reader or buffer. - * @function decode - * @memberof abci.ValidatorParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ValidatorParams} ValidatorParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ValidatorParams(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.pubKeyTypes && message.pubKeyTypes.length)) - message.pubKeyTypes = []; - message.pubKeyTypes.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a ResponseCheckTx message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseCheckTx.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseCheckTx(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.uint32(); + break; + case 2: + message.data = reader.bytes(); + break; + case 3: + message.log = reader.string(); + break; + case 4: + message.info = reader.string(); + break; + case 5: + message.gasWanted = reader.int64(); + break; + case 6: + message.gasUsed = reader.int64(); + break; + case 7: + if (!(message.events && message.events.length)) + message.events = []; + message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); + break; + case 8: + message.codespace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; - - /** - * Decodes a ValidatorParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ValidatorParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ValidatorParams} ValidatorParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorParams message. - * @function verify - * @memberof abci.ValidatorParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pubKeyTypes != null && message.hasOwnProperty("pubKeyTypes")) { - if (!Array.isArray(message.pubKeyTypes)) - return "pubKeyTypes: array expected"; - for (var i = 0; i < message.pubKeyTypes.length; ++i) - if (!$util.isString(message.pubKeyTypes[i])) - return "pubKeyTypes: string[] expected"; - } - return null; - }; - - /** - * Creates a ValidatorParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ValidatorParams - * @static - * @param {Object.} object Plain object - * @returns {abci.ValidatorParams} ValidatorParams - */ - ValidatorParams.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ValidatorParams) - return object; - var message = new $root.abci.ValidatorParams(); - if (object.pubKeyTypes) { - if (!Array.isArray(object.pubKeyTypes)) - throw TypeError(".abci.ValidatorParams.pubKeyTypes: array expected"); - message.pubKeyTypes = []; - for (var i = 0; i < object.pubKeyTypes.length; ++i) - message.pubKeyTypes[i] = String(object.pubKeyTypes[i]); - } - return message; - }; - - /** - * Creates a plain object from a ValidatorParams message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ValidatorParams - * @static - * @param {abci.ValidatorParams} message ValidatorParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.pubKeyTypes = []; - if (message.pubKeyTypes && message.pubKeyTypes.length) { - object.pubKeyTypes = []; - for (var j = 0; j < message.pubKeyTypes.length; ++j) - object.pubKeyTypes[j] = message.pubKeyTypes[j]; - } - return object; - }; - - /** - * Converts this ValidatorParams to JSON. - * @function toJSON - * @memberof abci.ValidatorParams - * @instance - * @returns {Object.} JSON object - */ - ValidatorParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorParams; - })(); + return message; + }; - abci.LastCommitInfo = (function() { + /** + * Decodes a ResponseCheckTx message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseCheckTx.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Properties of a LastCommitInfo. - * @memberof abci - * @interface ILastCommitInfo - * @property {number|null} [round] LastCommitInfo round - * @property {Array.|null} [votes] LastCommitInfo votes - */ + /** + * Verifies a ResponseCheckTx message. + * @function verify + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseCheckTx.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + if (message.log != null && message.hasOwnProperty("log")) + if (!$util.isString(message.log)) + return "log: string expected"; + if (message.info != null && message.hasOwnProperty("info")) + if (!$util.isString(message.info)) + return "info: string expected"; + if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) + if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) + return "gasWanted: integer|Long expected"; + if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) + if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) + return "gasUsed: integer|Long expected"; + if (message.events != null && message.hasOwnProperty("events")) { + if (!Array.isArray(message.events)) + return "events: array expected"; + for (var i = 0; i < message.events.length; ++i) { + var error = $root.tendermint.abci.Event.verify(message.events[i]); + if (error) + return "events." + error; + } + } + if (message.codespace != null && message.hasOwnProperty("codespace")) + if (!$util.isString(message.codespace)) + return "codespace: string expected"; + return null; + }; - /** - * Constructs a new LastCommitInfo. - * @memberof abci - * @classdesc Represents a LastCommitInfo. - * @implements ILastCommitInfo - * @constructor - * @param {abci.ILastCommitInfo=} [properties] Properties to set - */ - function LastCommitInfo(properties) { - this.votes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a ResponseCheckTx message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx + */ + ResponseCheckTx.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseCheckTx) + return object; + var message = new $root.tendermint.abci.ResponseCheckTx(); + if (object.code != null) + message.code = object.code >>> 0; + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + if (object.log != null) + message.log = String(object.log); + if (object.info != null) + message.info = String(object.info); + if (object.gasWanted != null) + if ($util.Long) + (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; + else if (typeof object.gasWanted === "string") + message.gasWanted = parseInt(object.gasWanted, 10); + else if (typeof object.gasWanted === "number") + message.gasWanted = object.gasWanted; + else if (typeof object.gasWanted === "object") + message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); + if (object.gasUsed != null) + if ($util.Long) + (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; + else if (typeof object.gasUsed === "string") + message.gasUsed = parseInt(object.gasUsed, 10); + else if (typeof object.gasUsed === "number") + message.gasUsed = object.gasUsed; + else if (typeof object.gasUsed === "object") + message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); + if (object.events) { + if (!Array.isArray(object.events)) + throw TypeError(".tendermint.abci.ResponseCheckTx.events: array expected"); + message.events = []; + for (var i = 0; i < object.events.length; ++i) { + if (typeof object.events[i] !== "object") + throw TypeError(".tendermint.abci.ResponseCheckTx.events: object expected"); + message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); + } + } + if (object.codespace != null) + message.codespace = String(object.codespace); + return message; + }; - /** - * LastCommitInfo round. - * @member {number} round - * @memberof abci.LastCommitInfo - * @instance - */ - LastCommitInfo.prototype.round = 0; + /** + * Creates a plain object from a ResponseCheckTx message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseCheckTx + * @static + * @param {tendermint.abci.ResponseCheckTx} message ResponseCheckTx + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseCheckTx.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.events = []; + if (options.defaults) { + object.code = 0; + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + object.log = ""; + object.info = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.gasWanted = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.gasUsed = options.longs === String ? "0" : 0; + object.codespace = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.log != null && message.hasOwnProperty("log")) + object.log = message.log; + if (message.info != null && message.hasOwnProperty("info")) + object.info = message.info; + if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) + if (typeof message.gasWanted === "number") + object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; + else + object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; + if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) + if (typeof message.gasUsed === "number") + object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; + else + object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; + if (message.events && message.events.length) { + object.events = []; + for (var j = 0; j < message.events.length; ++j) + object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); + } + if (message.codespace != null && message.hasOwnProperty("codespace")) + object.codespace = message.codespace; + return object; + }; - /** - * LastCommitInfo votes. - * @member {Array.} votes - * @memberof abci.LastCommitInfo - * @instance - */ - LastCommitInfo.prototype.votes = $util.emptyArray; + /** + * Converts this ResponseCheckTx to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseCheckTx + * @instance + * @returns {Object.} JSON object + */ + ResponseCheckTx.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a new LastCommitInfo instance using the specified properties. - * @function create - * @memberof abci.LastCommitInfo - * @static - * @param {abci.ILastCommitInfo=} [properties] Properties to set - * @returns {abci.LastCommitInfo} LastCommitInfo instance - */ - LastCommitInfo.create = function create(properties) { - return new LastCommitInfo(properties); - }; + return ResponseCheckTx; + })(); - /** - * Encodes the specified LastCommitInfo message. Does not implicitly {@link abci.LastCommitInfo.verify|verify} messages. - * @function encode - * @memberof abci.LastCommitInfo - * @static - * @param {abci.ILastCommitInfo} message LastCommitInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LastCommitInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.round != null && message.hasOwnProperty("round")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.round); - if (message.votes != null && message.votes.length) - for (var i = 0; i < message.votes.length; ++i) - $root.abci.VoteInfo.encode(message.votes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + abci.ResponseDeliverTx = (function() { - /** - * Encodes the specified LastCommitInfo message, length delimited. Does not implicitly {@link abci.LastCommitInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.LastCommitInfo - * @static - * @param {abci.ILastCommitInfo} message LastCommitInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LastCommitInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a ResponseDeliverTx. + * @memberof tendermint.abci + * @interface IResponseDeliverTx + * @property {number|null} [code] ResponseDeliverTx code + * @property {Uint8Array|null} [data] ResponseDeliverTx data + * @property {string|null} [log] ResponseDeliverTx log + * @property {string|null} [info] ResponseDeliverTx info + * @property {number|Long|null} [gasWanted] ResponseDeliverTx gasWanted + * @property {number|Long|null} [gasUsed] ResponseDeliverTx gasUsed + * @property {Array.|null} [events] ResponseDeliverTx events + * @property {string|null} [codespace] ResponseDeliverTx codespace + */ - /** - * Decodes a LastCommitInfo message from the specified reader or buffer. - * @function decode - * @memberof abci.LastCommitInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.LastCommitInfo} LastCommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LastCommitInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.LastCommitInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.round = reader.int32(); - break; - case 2: - if (!(message.votes && message.votes.length)) - message.votes = []; - message.votes.push($root.abci.VoteInfo.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Constructs a new ResponseDeliverTx. + * @memberof tendermint.abci + * @classdesc Represents a ResponseDeliverTx. + * @implements IResponseDeliverTx + * @constructor + * @param {tendermint.abci.IResponseDeliverTx=} [properties] Properties to set + */ + function ResponseDeliverTx(properties) { + this.events = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - return message; - }; - /** - * Decodes a LastCommitInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.LastCommitInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.LastCommitInfo} LastCommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LastCommitInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * ResponseDeliverTx code. + * @member {number} code + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.code = 0; - /** - * Verifies a LastCommitInfo message. - * @function verify - * @memberof abci.LastCommitInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LastCommitInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.round != null && message.hasOwnProperty("round")) - if (!$util.isInteger(message.round)) - return "round: integer expected"; - if (message.votes != null && message.hasOwnProperty("votes")) { - if (!Array.isArray(message.votes)) - return "votes: array expected"; - for (var i = 0; i < message.votes.length; ++i) { - var error = $root.abci.VoteInfo.verify(message.votes[i]); - if (error) - return "votes." + error; - } - } - return null; - }; + /** + * ResponseDeliverTx data. + * @member {Uint8Array} data + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.data = $util.newBuffer([]); - /** - * Creates a LastCommitInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.LastCommitInfo - * @static - * @param {Object.} object Plain object - * @returns {abci.LastCommitInfo} LastCommitInfo - */ - LastCommitInfo.fromObject = function fromObject(object) { - if (object instanceof $root.abci.LastCommitInfo) - return object; - var message = new $root.abci.LastCommitInfo(); - if (object.round != null) - message.round = object.round | 0; - if (object.votes) { - if (!Array.isArray(object.votes)) - throw TypeError(".abci.LastCommitInfo.votes: array expected"); - message.votes = []; - for (var i = 0; i < object.votes.length; ++i) { - if (typeof object.votes[i] !== "object") - throw TypeError(".abci.LastCommitInfo.votes: object expected"); - message.votes[i] = $root.abci.VoteInfo.fromObject(object.votes[i]); - } - } - return message; - }; + /** + * ResponseDeliverTx log. + * @member {string} log + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.log = ""; - /** - * Creates a plain object from a LastCommitInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.LastCommitInfo - * @static - * @param {abci.LastCommitInfo} message LastCommitInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LastCommitInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.votes = []; - if (options.defaults) - object.round = 0; - if (message.round != null && message.hasOwnProperty("round")) - object.round = message.round; - if (message.votes && message.votes.length) { - object.votes = []; - for (var j = 0; j < message.votes.length; ++j) - object.votes[j] = $root.abci.VoteInfo.toObject(message.votes[j], options); - } - return object; - }; + /** + * ResponseDeliverTx info. + * @member {string} info + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.info = ""; - /** - * Converts this LastCommitInfo to JSON. - * @function toJSON - * @memberof abci.LastCommitInfo - * @instance - * @returns {Object.} JSON object - */ - LastCommitInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * ResponseDeliverTx gasWanted. + * @member {number|Long} gasWanted + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - return LastCommitInfo; - })(); + /** + * ResponseDeliverTx gasUsed. + * @member {number|Long} gasUsed + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - abci.Event = (function() { + /** + * ResponseDeliverTx events. + * @member {Array.} events + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.events = $util.emptyArray; - /** - * Properties of an Event. - * @memberof abci - * @interface IEvent - * @property {string|null} [type] Event type - * @property {Array.|null} [attributes] Event attributes - */ + /** + * ResponseDeliverTx codespace. + * @member {string} codespace + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + */ + ResponseDeliverTx.prototype.codespace = ""; - /** - * Constructs a new Event. - * @memberof abci - * @classdesc Represents an Event. - * @implements IEvent - * @constructor - * @param {abci.IEvent=} [properties] Properties to set - */ - function Event(properties) { - this.attributes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Creates a new ResponseDeliverTx instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {tendermint.abci.IResponseDeliverTx=} [properties] Properties to set + * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx instance + */ + ResponseDeliverTx.create = function create(properties) { + return new ResponseDeliverTx(properties); + }; - /** - * Event type. - * @member {string} type - * @memberof abci.Event - * @instance - */ - Event.prototype.type = ""; + /** + * Encodes the specified ResponseDeliverTx message. Does not implicitly {@link tendermint.abci.ResponseDeliverTx.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {tendermint.abci.IResponseDeliverTx} message ResponseDeliverTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseDeliverTx.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + if (message.log != null && Object.hasOwnProperty.call(message, "log")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); + if (message.gasWanted != null && Object.hasOwnProperty.call(message, "gasWanted")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.gasWanted); + if (message.gasUsed != null && Object.hasOwnProperty.call(message, "gasUsed")) + writer.uint32(/* id 6, wireType 0 =*/48).int64(message.gasUsed); + if (message.events != null && message.events.length) + for (var i = 0; i < message.events.length; ++i) + $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.codespace); + return writer; + }; - /** - * Event attributes. - * @member {Array.} attributes - * @memberof abci.Event - * @instance - */ - Event.prototype.attributes = $util.emptyArray; - - /** - * Creates a new Event instance using the specified properties. - * @function create - * @memberof abci.Event - * @static - * @param {abci.IEvent=} [properties] Properties to set - * @returns {abci.Event} Event instance - */ - Event.create = function create(properties) { - return new Event(properties); - }; - - /** - * Encodes the specified Event message. Does not implicitly {@link abci.Event.verify|verify} messages. - * @function encode - * @memberof abci.Event - * @static - * @param {abci.IEvent} message Event message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Event.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.attributes != null && message.attributes.length) - for (var i = 0; i < message.attributes.length; ++i) - $root.tendermint.libs.kv.Pair.encode(message.attributes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Event message, length delimited. Does not implicitly {@link abci.Event.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Event - * @static - * @param {abci.IEvent} message Event message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Event.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseDeliverTx message, length delimited. Does not implicitly {@link tendermint.abci.ResponseDeliverTx.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {tendermint.abci.IResponseDeliverTx} message ResponseDeliverTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseDeliverTx.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes an Event message from the specified reader or buffer. - * @function decode - * @memberof abci.Event - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Event} Event - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Event.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Event(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.tendermint.libs.kv.Pair.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a ResponseDeliverTx message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseDeliverTx.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseDeliverTx(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.uint32(); + break; + case 2: + message.data = reader.bytes(); + break; + case 3: + message.log = reader.string(); + break; + case 4: + message.info = reader.string(); + break; + case 5: + message.gasWanted = reader.int64(); + break; + case 6: + message.gasUsed = reader.int64(); + break; + case 7: + if (!(message.events && message.events.length)) + message.events = []; + message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); + break; + case 8: + message.codespace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes an Event message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Event - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Event} Event - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Event.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a ResponseDeliverTx message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseDeliverTx.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies an Event message. - * @function verify - * @memberof abci.Event - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Event.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.attributes != null && message.hasOwnProperty("attributes")) { - if (!Array.isArray(message.attributes)) - return "attributes: array expected"; - for (var i = 0; i < message.attributes.length; ++i) { - var error = $root.tendermint.libs.kv.Pair.verify(message.attributes[i]); - if (error) - return "attributes." + error; + /** + * Verifies a ResponseDeliverTx message. + * @function verify + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseDeliverTx.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + if (message.log != null && message.hasOwnProperty("log")) + if (!$util.isString(message.log)) + return "log: string expected"; + if (message.info != null && message.hasOwnProperty("info")) + if (!$util.isString(message.info)) + return "info: string expected"; + if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) + if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) + return "gasWanted: integer|Long expected"; + if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) + if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) + return "gasUsed: integer|Long expected"; + if (message.events != null && message.hasOwnProperty("events")) { + if (!Array.isArray(message.events)) + return "events: array expected"; + for (var i = 0; i < message.events.length; ++i) { + var error = $root.tendermint.abci.Event.verify(message.events[i]); + if (error) + return "events." + error; + } } - } - return null; - }; + if (message.codespace != null && message.hasOwnProperty("codespace")) + if (!$util.isString(message.codespace)) + return "codespace: string expected"; + return null; + }; - /** - * Creates an Event message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Event - * @static - * @param {Object.} object Plain object - * @returns {abci.Event} Event - */ - Event.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Event) - return object; - var message = new $root.abci.Event(); - if (object.type != null) - message.type = String(object.type); - if (object.attributes) { - if (!Array.isArray(object.attributes)) - throw TypeError(".abci.Event.attributes: array expected"); - message.attributes = []; - for (var i = 0; i < object.attributes.length; ++i) { - if (typeof object.attributes[i] !== "object") - throw TypeError(".abci.Event.attributes: object expected"); - message.attributes[i] = $root.tendermint.libs.kv.Pair.fromObject(object.attributes[i]); + /** + * Creates a ResponseDeliverTx message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx + */ + ResponseDeliverTx.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseDeliverTx) + return object; + var message = new $root.tendermint.abci.ResponseDeliverTx(); + if (object.code != null) + message.code = object.code >>> 0; + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + if (object.log != null) + message.log = String(object.log); + if (object.info != null) + message.info = String(object.info); + if (object.gasWanted != null) + if ($util.Long) + (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; + else if (typeof object.gasWanted === "string") + message.gasWanted = parseInt(object.gasWanted, 10); + else if (typeof object.gasWanted === "number") + message.gasWanted = object.gasWanted; + else if (typeof object.gasWanted === "object") + message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); + if (object.gasUsed != null) + if ($util.Long) + (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; + else if (typeof object.gasUsed === "string") + message.gasUsed = parseInt(object.gasUsed, 10); + else if (typeof object.gasUsed === "number") + message.gasUsed = object.gasUsed; + else if (typeof object.gasUsed === "object") + message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); + if (object.events) { + if (!Array.isArray(object.events)) + throw TypeError(".tendermint.abci.ResponseDeliverTx.events: array expected"); + message.events = []; + for (var i = 0; i < object.events.length; ++i) { + if (typeof object.events[i] !== "object") + throw TypeError(".tendermint.abci.ResponseDeliverTx.events: object expected"); + message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); + } } - } - return message; - }; - - /** - * Creates a plain object from an Event message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Event - * @static - * @param {abci.Event} message Event - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Event.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.attributes = []; - if (options.defaults) - object.type = ""; - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.attributes && message.attributes.length) { - object.attributes = []; - for (var j = 0; j < message.attributes.length; ++j) - object.attributes[j] = $root.tendermint.libs.kv.Pair.toObject(message.attributes[j], options); - } - return object; - }; - - /** - * Converts this Event to JSON. - * @function toJSON - * @memberof abci.Event - * @instance - * @returns {Object.} JSON object - */ - Event.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Event; - })(); - - abci.Header = (function() { + if (object.codespace != null) + message.codespace = String(object.codespace); + return message; + }; - /** - * Properties of a Header. - * @memberof abci - * @interface IHeader - * @property {abci.IVersion|null} [version] Header version - * @property {string|null} [chainId] Header chainId - * @property {number|Long|null} [height] Header height - * @property {google.protobuf.ITimestamp|null} [time] Header time - * @property {abci.IBlockID|null} [lastBlockId] Header lastBlockId - * @property {Uint8Array|null} [lastCommitHash] Header lastCommitHash - * @property {Uint8Array|null} [dataHash] Header dataHash - * @property {Uint8Array|null} [validatorsHash] Header validatorsHash - * @property {Uint8Array|null} [nextValidatorsHash] Header nextValidatorsHash - * @property {Uint8Array|null} [consensusHash] Header consensusHash - * @property {Uint8Array|null} [appHash] Header appHash - * @property {Uint8Array|null} [lastResultsHash] Header lastResultsHash - * @property {Uint8Array|null} [evidenceHash] Header evidenceHash - * @property {Uint8Array|null} [proposerAddress] Header proposerAddress - */ + /** + * Creates a plain object from a ResponseDeliverTx message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseDeliverTx + * @static + * @param {tendermint.abci.ResponseDeliverTx} message ResponseDeliverTx + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseDeliverTx.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.events = []; + if (options.defaults) { + object.code = 0; + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + object.log = ""; + object.info = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.gasWanted = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.gasUsed = options.longs === String ? "0" : 0; + object.codespace = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.log != null && message.hasOwnProperty("log")) + object.log = message.log; + if (message.info != null && message.hasOwnProperty("info")) + object.info = message.info; + if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) + if (typeof message.gasWanted === "number") + object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; + else + object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; + if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) + if (typeof message.gasUsed === "number") + object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; + else + object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; + if (message.events && message.events.length) { + object.events = []; + for (var j = 0; j < message.events.length; ++j) + object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); + } + if (message.codespace != null && message.hasOwnProperty("codespace")) + object.codespace = message.codespace; + return object; + }; - /** - * Constructs a new Header. - * @memberof abci - * @classdesc Represents a Header. - * @implements IHeader - * @constructor - * @param {abci.IHeader=} [properties] Properties to set - */ - function Header(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Converts this ResponseDeliverTx to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseDeliverTx + * @instance + * @returns {Object.} JSON object + */ + ResponseDeliverTx.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Header version. - * @member {abci.IVersion|null|undefined} version - * @memberof abci.Header - * @instance - */ - Header.prototype.version = null; + return ResponseDeliverTx; + })(); - /** - * Header chainId. - * @member {string} chainId - * @memberof abci.Header - * @instance - */ - Header.prototype.chainId = ""; + abci.ResponseEndBlock = (function() { - /** - * Header height. - * @member {number|Long} height - * @memberof abci.Header - * @instance - */ - Header.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Properties of a ResponseEndBlock. + * @memberof tendermint.abci + * @interface IResponseEndBlock + * @property {Array.|null} [validatorUpdates] ResponseEndBlock validatorUpdates + * @property {tendermint.abci.IConsensusParams|null} [consensusParamUpdates] ResponseEndBlock consensusParamUpdates + * @property {Array.|null} [events] ResponseEndBlock events + */ - /** - * Header time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof abci.Header - * @instance - */ - Header.prototype.time = null; + /** + * Constructs a new ResponseEndBlock. + * @memberof tendermint.abci + * @classdesc Represents a ResponseEndBlock. + * @implements IResponseEndBlock + * @constructor + * @param {tendermint.abci.IResponseEndBlock=} [properties] Properties to set + */ + function ResponseEndBlock(properties) { + this.validatorUpdates = []; + this.events = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Header lastBlockId. - * @member {abci.IBlockID|null|undefined} lastBlockId - * @memberof abci.Header - * @instance - */ - Header.prototype.lastBlockId = null; + /** + * ResponseEndBlock validatorUpdates. + * @member {Array.} validatorUpdates + * @memberof tendermint.abci.ResponseEndBlock + * @instance + */ + ResponseEndBlock.prototype.validatorUpdates = $util.emptyArray; - /** - * Header lastCommitHash. - * @member {Uint8Array} lastCommitHash - * @memberof abci.Header - * @instance - */ - Header.prototype.lastCommitHash = $util.newBuffer([]); + /** + * ResponseEndBlock consensusParamUpdates. + * @member {tendermint.abci.IConsensusParams|null|undefined} consensusParamUpdates + * @memberof tendermint.abci.ResponseEndBlock + * @instance + */ + ResponseEndBlock.prototype.consensusParamUpdates = null; - /** - * Header dataHash. - * @member {Uint8Array} dataHash - * @memberof abci.Header - * @instance - */ - Header.prototype.dataHash = $util.newBuffer([]); + /** + * ResponseEndBlock events. + * @member {Array.} events + * @memberof tendermint.abci.ResponseEndBlock + * @instance + */ + ResponseEndBlock.prototype.events = $util.emptyArray; - /** - * Header validatorsHash. - * @member {Uint8Array} validatorsHash - * @memberof abci.Header - * @instance - */ - Header.prototype.validatorsHash = $util.newBuffer([]); + /** + * Creates a new ResponseEndBlock instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {tendermint.abci.IResponseEndBlock=} [properties] Properties to set + * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock instance + */ + ResponseEndBlock.create = function create(properties) { + return new ResponseEndBlock(properties); + }; - /** - * Header nextValidatorsHash. - * @member {Uint8Array} nextValidatorsHash - * @memberof abci.Header - * @instance - */ - Header.prototype.nextValidatorsHash = $util.newBuffer([]); + /** + * Encodes the specified ResponseEndBlock message. Does not implicitly {@link tendermint.abci.ResponseEndBlock.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {tendermint.abci.IResponseEndBlock} message ResponseEndBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseEndBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.validatorUpdates != null && message.validatorUpdates.length) + for (var i = 0; i < message.validatorUpdates.length; ++i) + $root.tendermint.abci.ValidatorUpdate.encode(message.validatorUpdates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.consensusParamUpdates != null && Object.hasOwnProperty.call(message, "consensusParamUpdates")) + $root.tendermint.abci.ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.events != null && message.events.length) + for (var i = 0; i < message.events.length; ++i) + $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; - /** - * Header consensusHash. - * @member {Uint8Array} consensusHash - * @memberof abci.Header - * @instance - */ - Header.prototype.consensusHash = $util.newBuffer([]); + /** + * Encodes the specified ResponseEndBlock message, length delimited. Does not implicitly {@link tendermint.abci.ResponseEndBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {tendermint.abci.IResponseEndBlock} message ResponseEndBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseEndBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Header appHash. - * @member {Uint8Array} appHash - * @memberof abci.Header - * @instance - */ - Header.prototype.appHash = $util.newBuffer([]); + /** + * Decodes a ResponseEndBlock message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseEndBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseEndBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.validatorUpdates && message.validatorUpdates.length)) + message.validatorUpdates = []; + message.validatorUpdates.push($root.tendermint.abci.ValidatorUpdate.decode(reader, reader.uint32())); + break; + case 2: + message.consensusParamUpdates = $root.tendermint.abci.ConsensusParams.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.events && message.events.length)) + message.events = []; + message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Header lastResultsHash. - * @member {Uint8Array} lastResultsHash - * @memberof abci.Header - * @instance - */ - Header.prototype.lastResultsHash = $util.newBuffer([]); + /** + * Decodes a ResponseEndBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseEndBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Header evidenceHash. - * @member {Uint8Array} evidenceHash - * @memberof abci.Header - * @instance - */ - Header.prototype.evidenceHash = $util.newBuffer([]); + /** + * Verifies a ResponseEndBlock message. + * @function verify + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseEndBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.validatorUpdates != null && message.hasOwnProperty("validatorUpdates")) { + if (!Array.isArray(message.validatorUpdates)) + return "validatorUpdates: array expected"; + for (var i = 0; i < message.validatorUpdates.length; ++i) { + var error = $root.tendermint.abci.ValidatorUpdate.verify(message.validatorUpdates[i]); + if (error) + return "validatorUpdates." + error; + } + } + if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) { + var error = $root.tendermint.abci.ConsensusParams.verify(message.consensusParamUpdates); + if (error) + return "consensusParamUpdates." + error; + } + if (message.events != null && message.hasOwnProperty("events")) { + if (!Array.isArray(message.events)) + return "events: array expected"; + for (var i = 0; i < message.events.length; ++i) { + var error = $root.tendermint.abci.Event.verify(message.events[i]); + if (error) + return "events." + error; + } + } + return null; + }; - /** - * Header proposerAddress. - * @member {Uint8Array} proposerAddress - * @memberof abci.Header - * @instance - */ - Header.prototype.proposerAddress = $util.newBuffer([]); + /** + * Creates a ResponseEndBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock + */ + ResponseEndBlock.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseEndBlock) + return object; + var message = new $root.tendermint.abci.ResponseEndBlock(); + if (object.validatorUpdates) { + if (!Array.isArray(object.validatorUpdates)) + throw TypeError(".tendermint.abci.ResponseEndBlock.validatorUpdates: array expected"); + message.validatorUpdates = []; + for (var i = 0; i < object.validatorUpdates.length; ++i) { + if (typeof object.validatorUpdates[i] !== "object") + throw TypeError(".tendermint.abci.ResponseEndBlock.validatorUpdates: object expected"); + message.validatorUpdates[i] = $root.tendermint.abci.ValidatorUpdate.fromObject(object.validatorUpdates[i]); + } + } + if (object.consensusParamUpdates != null) { + if (typeof object.consensusParamUpdates !== "object") + throw TypeError(".tendermint.abci.ResponseEndBlock.consensusParamUpdates: object expected"); + message.consensusParamUpdates = $root.tendermint.abci.ConsensusParams.fromObject(object.consensusParamUpdates); + } + if (object.events) { + if (!Array.isArray(object.events)) + throw TypeError(".tendermint.abci.ResponseEndBlock.events: array expected"); + message.events = []; + for (var i = 0; i < object.events.length; ++i) { + if (typeof object.events[i] !== "object") + throw TypeError(".tendermint.abci.ResponseEndBlock.events: object expected"); + message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); + } + } + return message; + }; - /** - * Creates a new Header instance using the specified properties. - * @function create - * @memberof abci.Header - * @static - * @param {abci.IHeader=} [properties] Properties to set - * @returns {abci.Header} Header instance - */ - Header.create = function create(properties) { - return new Header(properties); - }; + /** + * Creates a plain object from a ResponseEndBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseEndBlock + * @static + * @param {tendermint.abci.ResponseEndBlock} message ResponseEndBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseEndBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.validatorUpdates = []; + object.events = []; + } + if (options.defaults) + object.consensusParamUpdates = null; + if (message.validatorUpdates && message.validatorUpdates.length) { + object.validatorUpdates = []; + for (var j = 0; j < message.validatorUpdates.length; ++j) + object.validatorUpdates[j] = $root.tendermint.abci.ValidatorUpdate.toObject(message.validatorUpdates[j], options); + } + if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) + object.consensusParamUpdates = $root.tendermint.abci.ConsensusParams.toObject(message.consensusParamUpdates, options); + if (message.events && message.events.length) { + object.events = []; + for (var j = 0; j < message.events.length; ++j) + object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); + } + return object; + }; - /** - * Encodes the specified Header message. Does not implicitly {@link abci.Header.verify|verify} messages. - * @function encode - * @memberof abci.Header - * @static - * @param {abci.IHeader} message Header message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Header.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && message.hasOwnProperty("version")) - $root.abci.Version.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.chainId != null && message.hasOwnProperty("chainId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); - if (message.height != null && message.hasOwnProperty("height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.time != null && message.hasOwnProperty("time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) - $root.abci.BlockID.encode(message.lastBlockId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.lastCommitHash); - if (message.dataHash != null && message.hasOwnProperty("dataHash")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.dataHash); - if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) - writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.validatorsHash); - if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) - writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.nextValidatorsHash); - if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) - writer.uint32(/* id 10, wireType 2 =*/82).bytes(message.consensusHash); - if (message.appHash != null && message.hasOwnProperty("appHash")) - writer.uint32(/* id 11, wireType 2 =*/90).bytes(message.appHash); - if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) - writer.uint32(/* id 12, wireType 2 =*/98).bytes(message.lastResultsHash); - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - writer.uint32(/* id 13, wireType 2 =*/106).bytes(message.evidenceHash); - if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) - writer.uint32(/* id 14, wireType 2 =*/114).bytes(message.proposerAddress); - return writer; - }; + /** + * Converts this ResponseEndBlock to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseEndBlock + * @instance + * @returns {Object.} JSON object + */ + ResponseEndBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Encodes the specified Header message, length delimited. Does not implicitly {@link abci.Header.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Header - * @static - * @param {abci.IHeader} message Header message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Header.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + return ResponseEndBlock; + })(); - /** - * Decodes a Header message from the specified reader or buffer. - * @function decode - * @memberof abci.Header - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Header} Header - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Header.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Header(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.version = $root.abci.Version.decode(reader, reader.uint32()); - break; - case 2: - message.chainId = reader.string(); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.lastBlockId = $root.abci.BlockID.decode(reader, reader.uint32()); - break; - case 6: - message.lastCommitHash = reader.bytes(); - break; - case 7: - message.dataHash = reader.bytes(); - break; - case 8: - message.validatorsHash = reader.bytes(); - break; - case 9: - message.nextValidatorsHash = reader.bytes(); - break; - case 10: - message.consensusHash = reader.bytes(); - break; - case 11: - message.appHash = reader.bytes(); - break; - case 12: - message.lastResultsHash = reader.bytes(); - break; - case 13: - message.evidenceHash = reader.bytes(); - break; - case 14: - message.proposerAddress = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + abci.ResponseCommit = (function() { - /** - * Decodes a Header message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Header - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Header} Header - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Header.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Properties of a ResponseCommit. + * @memberof tendermint.abci + * @interface IResponseCommit + * @property {Uint8Array|null} [data] ResponseCommit data + * @property {number|Long|null} [retainHeight] ResponseCommit retainHeight + */ - /** - * Verifies a Header message. - * @function verify - * @memberof abci.Header - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Header.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) { - var error = $root.abci.Version.verify(message.version); - if (error) - return "version." + error; - } - if (message.chainId != null && message.hasOwnProperty("chainId")) - if (!$util.isString(message.chainId)) - return "chainId: string expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.time != null && message.hasOwnProperty("time")) { - var error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) { - var error = $root.abci.BlockID.verify(message.lastBlockId); - if (error) - return "lastBlockId." + error; + /** + * Constructs a new ResponseCommit. + * @memberof tendermint.abci + * @classdesc Represents a ResponseCommit. + * @implements IResponseCommit + * @constructor + * @param {tendermint.abci.IResponseCommit=} [properties] Properties to set + */ + function ResponseCommit(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) - if (!(message.lastCommitHash && typeof message.lastCommitHash.length === "number" || $util.isString(message.lastCommitHash))) - return "lastCommitHash: buffer expected"; - if (message.dataHash != null && message.hasOwnProperty("dataHash")) - if (!(message.dataHash && typeof message.dataHash.length === "number" || $util.isString(message.dataHash))) - return "dataHash: buffer expected"; - if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) - if (!(message.validatorsHash && typeof message.validatorsHash.length === "number" || $util.isString(message.validatorsHash))) - return "validatorsHash: buffer expected"; - if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) - if (!(message.nextValidatorsHash && typeof message.nextValidatorsHash.length === "number" || $util.isString(message.nextValidatorsHash))) - return "nextValidatorsHash: buffer expected"; - if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) - if (!(message.consensusHash && typeof message.consensusHash.length === "number" || $util.isString(message.consensusHash))) - return "consensusHash: buffer expected"; - if (message.appHash != null && message.hasOwnProperty("appHash")) - if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) - return "appHash: buffer expected"; - if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) - if (!(message.lastResultsHash && typeof message.lastResultsHash.length === "number" || $util.isString(message.lastResultsHash))) - return "lastResultsHash: buffer expected"; - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - if (!(message.evidenceHash && typeof message.evidenceHash.length === "number" || $util.isString(message.evidenceHash))) - return "evidenceHash: buffer expected"; - if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) - if (!(message.proposerAddress && typeof message.proposerAddress.length === "number" || $util.isString(message.proposerAddress))) - return "proposerAddress: buffer expected"; - return null; - }; - /** - * Creates a Header message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Header - * @static - * @param {Object.} object Plain object - * @returns {abci.Header} Header - */ - Header.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Header) - return object; - var message = new $root.abci.Header(); - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".abci.Header.version: object expected"); - message.version = $root.abci.Version.fromObject(object.version); - } - if (object.chainId != null) - message.chainId = String(object.chainId); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".abci.Header.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.lastBlockId != null) { - if (typeof object.lastBlockId !== "object") - throw TypeError(".abci.Header.lastBlockId: object expected"); - message.lastBlockId = $root.abci.BlockID.fromObject(object.lastBlockId); - } - if (object.lastCommitHash != null) - if (typeof object.lastCommitHash === "string") - $util.base64.decode(object.lastCommitHash, message.lastCommitHash = $util.newBuffer($util.base64.length(object.lastCommitHash)), 0); - else if (object.lastCommitHash.length) - message.lastCommitHash = object.lastCommitHash; - if (object.dataHash != null) - if (typeof object.dataHash === "string") - $util.base64.decode(object.dataHash, message.dataHash = $util.newBuffer($util.base64.length(object.dataHash)), 0); - else if (object.dataHash.length) - message.dataHash = object.dataHash; - if (object.validatorsHash != null) - if (typeof object.validatorsHash === "string") - $util.base64.decode(object.validatorsHash, message.validatorsHash = $util.newBuffer($util.base64.length(object.validatorsHash)), 0); - else if (object.validatorsHash.length) - message.validatorsHash = object.validatorsHash; - if (object.nextValidatorsHash != null) - if (typeof object.nextValidatorsHash === "string") - $util.base64.decode(object.nextValidatorsHash, message.nextValidatorsHash = $util.newBuffer($util.base64.length(object.nextValidatorsHash)), 0); - else if (object.nextValidatorsHash.length) - message.nextValidatorsHash = object.nextValidatorsHash; - if (object.consensusHash != null) - if (typeof object.consensusHash === "string") - $util.base64.decode(object.consensusHash, message.consensusHash = $util.newBuffer($util.base64.length(object.consensusHash)), 0); - else if (object.consensusHash.length) - message.consensusHash = object.consensusHash; - if (object.appHash != null) - if (typeof object.appHash === "string") - $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); - else if (object.appHash.length) - message.appHash = object.appHash; - if (object.lastResultsHash != null) - if (typeof object.lastResultsHash === "string") - $util.base64.decode(object.lastResultsHash, message.lastResultsHash = $util.newBuffer($util.base64.length(object.lastResultsHash)), 0); - else if (object.lastResultsHash.length) - message.lastResultsHash = object.lastResultsHash; - if (object.evidenceHash != null) - if (typeof object.evidenceHash === "string") - $util.base64.decode(object.evidenceHash, message.evidenceHash = $util.newBuffer($util.base64.length(object.evidenceHash)), 0); - else if (object.evidenceHash.length) - message.evidenceHash = object.evidenceHash; - if (object.proposerAddress != null) - if (typeof object.proposerAddress === "string") - $util.base64.decode(object.proposerAddress, message.proposerAddress = $util.newBuffer($util.base64.length(object.proposerAddress)), 0); - else if (object.proposerAddress.length) - message.proposerAddress = object.proposerAddress; - return message; - }; + /** + * ResponseCommit data. + * @member {Uint8Array} data + * @memberof tendermint.abci.ResponseCommit + * @instance + */ + ResponseCommit.prototype.data = $util.newBuffer([]); - /** - * Creates a plain object from a Header message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Header - * @static - * @param {abci.Header} message Header - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Header.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.version = null; - object.chainId = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.time = null; - object.lastBlockId = null; - if (options.bytes === String) - object.lastCommitHash = ""; - else { - object.lastCommitHash = []; - if (options.bytes !== Array) - object.lastCommitHash = $util.newBuffer(object.lastCommitHash); - } - if (options.bytes === String) - object.dataHash = ""; - else { - object.dataHash = []; - if (options.bytes !== Array) - object.dataHash = $util.newBuffer(object.dataHash); - } - if (options.bytes === String) - object.validatorsHash = ""; - else { - object.validatorsHash = []; - if (options.bytes !== Array) - object.validatorsHash = $util.newBuffer(object.validatorsHash); - } - if (options.bytes === String) - object.nextValidatorsHash = ""; - else { - object.nextValidatorsHash = []; - if (options.bytes !== Array) - object.nextValidatorsHash = $util.newBuffer(object.nextValidatorsHash); - } - if (options.bytes === String) - object.consensusHash = ""; - else { - object.consensusHash = []; - if (options.bytes !== Array) - object.consensusHash = $util.newBuffer(object.consensusHash); - } - if (options.bytes === String) - object.appHash = ""; - else { - object.appHash = []; - if (options.bytes !== Array) - object.appHash = $util.newBuffer(object.appHash); - } - if (options.bytes === String) - object.lastResultsHash = ""; - else { - object.lastResultsHash = []; - if (options.bytes !== Array) - object.lastResultsHash = $util.newBuffer(object.lastResultsHash); - } - if (options.bytes === String) - object.evidenceHash = ""; - else { - object.evidenceHash = []; - if (options.bytes !== Array) - object.evidenceHash = $util.newBuffer(object.evidenceHash); - } - if (options.bytes === String) - object.proposerAddress = ""; - else { - object.proposerAddress = []; - if (options.bytes !== Array) - object.proposerAddress = $util.newBuffer(object.proposerAddress); - } - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.abci.Version.toObject(message.version, options); - if (message.chainId != null && message.hasOwnProperty("chainId")) - object.chainId = message.chainId; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) - object.lastBlockId = $root.abci.BlockID.toObject(message.lastBlockId, options); - if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) - object.lastCommitHash = options.bytes === String ? $util.base64.encode(message.lastCommitHash, 0, message.lastCommitHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastCommitHash) : message.lastCommitHash; - if (message.dataHash != null && message.hasOwnProperty("dataHash")) - object.dataHash = options.bytes === String ? $util.base64.encode(message.dataHash, 0, message.dataHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataHash) : message.dataHash; - if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) - object.validatorsHash = options.bytes === String ? $util.base64.encode(message.validatorsHash, 0, message.validatorsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorsHash) : message.validatorsHash; - if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) - object.nextValidatorsHash = options.bytes === String ? $util.base64.encode(message.nextValidatorsHash, 0, message.nextValidatorsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.nextValidatorsHash) : message.nextValidatorsHash; - if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) - object.consensusHash = options.bytes === String ? $util.base64.encode(message.consensusHash, 0, message.consensusHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.consensusHash) : message.consensusHash; - if (message.appHash != null && message.hasOwnProperty("appHash")) - object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; - if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) - object.lastResultsHash = options.bytes === String ? $util.base64.encode(message.lastResultsHash, 0, message.lastResultsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastResultsHash) : message.lastResultsHash; - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - object.evidenceHash = options.bytes === String ? $util.base64.encode(message.evidenceHash, 0, message.evidenceHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.evidenceHash) : message.evidenceHash; - if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) - object.proposerAddress = options.bytes === String ? $util.base64.encode(message.proposerAddress, 0, message.proposerAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.proposerAddress) : message.proposerAddress; - return object; - }; + /** + * ResponseCommit retainHeight. + * @member {number|Long} retainHeight + * @memberof tendermint.abci.ResponseCommit + * @instance + */ + ResponseCommit.prototype.retainHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Converts this Header to JSON. - * @function toJSON - * @memberof abci.Header - * @instance - * @returns {Object.} JSON object - */ - Header.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a new ResponseCommit instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {tendermint.abci.IResponseCommit=} [properties] Properties to set + * @returns {tendermint.abci.ResponseCommit} ResponseCommit instance + */ + ResponseCommit.create = function create(properties) { + return new ResponseCommit(properties); + }; - return Header; - })(); + /** + * Encodes the specified ResponseCommit message. Does not implicitly {@link tendermint.abci.ResponseCommit.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {tendermint.abci.IResponseCommit} message ResponseCommit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseCommit.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + if (message.retainHeight != null && Object.hasOwnProperty.call(message, "retainHeight")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.retainHeight); + return writer; + }; - abci.Version = (function() { + /** + * Encodes the specified ResponseCommit message, length delimited. Does not implicitly {@link tendermint.abci.ResponseCommit.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {tendermint.abci.IResponseCommit} message ResponseCommit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseCommit.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Properties of a Version. - * @memberof abci - * @interface IVersion - * @property {number|Long|null} [Block] Version Block - * @property {number|Long|null} [App] Version App - */ + /** + * Decodes a ResponseCommit message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseCommit} ResponseCommit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseCommit.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseCommit(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.data = reader.bytes(); + break; + case 3: + message.retainHeight = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Constructs a new Version. - * @memberof abci - * @classdesc Represents a Version. - * @implements IVersion - * @constructor - * @param {abci.IVersion=} [properties] Properties to set - */ - function Version(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Decodes a ResponseCommit message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseCommit} ResponseCommit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseCommit.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Version Block. - * @member {number|Long} Block - * @memberof abci.Version - * @instance - */ - Version.prototype.Block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Verifies a ResponseCommit message. + * @function verify + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseCommit.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) + if (!$util.isInteger(message.retainHeight) && !(message.retainHeight && $util.isInteger(message.retainHeight.low) && $util.isInteger(message.retainHeight.high))) + return "retainHeight: integer|Long expected"; + return null; + }; - /** - * Version App. - * @member {number|Long} App - * @memberof abci.Version - * @instance - */ - Version.prototype.App = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Creates a ResponseCommit message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseCommit} ResponseCommit + */ + ResponseCommit.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseCommit) + return object; + var message = new $root.tendermint.abci.ResponseCommit(); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + if (object.retainHeight != null) + if ($util.Long) + (message.retainHeight = $util.Long.fromValue(object.retainHeight)).unsigned = false; + else if (typeof object.retainHeight === "string") + message.retainHeight = parseInt(object.retainHeight, 10); + else if (typeof object.retainHeight === "number") + message.retainHeight = object.retainHeight; + else if (typeof object.retainHeight === "object") + message.retainHeight = new $util.LongBits(object.retainHeight.low >>> 0, object.retainHeight.high >>> 0).toNumber(); + return message; + }; - /** - * Creates a new Version instance using the specified properties. - * @function create - * @memberof abci.Version - * @static - * @param {abci.IVersion=} [properties] Properties to set - * @returns {abci.Version} Version instance - */ - Version.create = function create(properties) { - return new Version(properties); - }; + /** + * Creates a plain object from a ResponseCommit message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseCommit + * @static + * @param {tendermint.abci.ResponseCommit} message ResponseCommit + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseCommit.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.retainHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.retainHeight = options.longs === String ? "0" : 0; + } + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) + if (typeof message.retainHeight === "number") + object.retainHeight = options.longs === String ? String(message.retainHeight) : message.retainHeight; + else + object.retainHeight = options.longs === String ? $util.Long.prototype.toString.call(message.retainHeight) : options.longs === Number ? new $util.LongBits(message.retainHeight.low >>> 0, message.retainHeight.high >>> 0).toNumber() : message.retainHeight; + return object; + }; - /** - * Encodes the specified Version message. Does not implicitly {@link abci.Version.verify|verify} messages. - * @function encode - * @memberof abci.Version - * @static - * @param {abci.IVersion} message Version message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Version.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.Block != null && message.hasOwnProperty("Block")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.Block); - if (message.App != null && message.hasOwnProperty("App")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.App); - return writer; - }; + /** + * Converts this ResponseCommit to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseCommit + * @instance + * @returns {Object.} JSON object + */ + ResponseCommit.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Encodes the specified Version message, length delimited. Does not implicitly {@link abci.Version.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Version - * @static - * @param {abci.IVersion} message Version message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Version.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + return ResponseCommit; + })(); - /** - * Decodes a Version message from the specified reader or buffer. - * @function decode - * @memberof abci.Version - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Version} Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Version.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Version(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.Block = reader.uint64(); - break; - case 2: - message.App = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Version message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Version - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Version} Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Version.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Version message. - * @function verify - * @memberof abci.Version - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Version.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.Block != null && message.hasOwnProperty("Block")) - if (!$util.isInteger(message.Block) && !(message.Block && $util.isInteger(message.Block.low) && $util.isInteger(message.Block.high))) - return "Block: integer|Long expected"; - if (message.App != null && message.hasOwnProperty("App")) - if (!$util.isInteger(message.App) && !(message.App && $util.isInteger(message.App.low) && $util.isInteger(message.App.high))) - return "App: integer|Long expected"; - return null; - }; + abci.ResponseListSnapshots = (function() { - /** - * Creates a Version message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Version - * @static - * @param {Object.} object Plain object - * @returns {abci.Version} Version - */ - Version.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Version) - return object; - var message = new $root.abci.Version(); - if (object.Block != null) - if ($util.Long) - (message.Block = $util.Long.fromValue(object.Block)).unsigned = true; - else if (typeof object.Block === "string") - message.Block = parseInt(object.Block, 10); - else if (typeof object.Block === "number") - message.Block = object.Block; - else if (typeof object.Block === "object") - message.Block = new $util.LongBits(object.Block.low >>> 0, object.Block.high >>> 0).toNumber(true); - if (object.App != null) - if ($util.Long) - (message.App = $util.Long.fromValue(object.App)).unsigned = true; - else if (typeof object.App === "string") - message.App = parseInt(object.App, 10); - else if (typeof object.App === "number") - message.App = object.App; - else if (typeof object.App === "object") - message.App = new $util.LongBits(object.App.low >>> 0, object.App.high >>> 0).toNumber(true); - return message; - }; + /** + * Properties of a ResponseListSnapshots. + * @memberof tendermint.abci + * @interface IResponseListSnapshots + * @property {Array.|null} [snapshots] ResponseListSnapshots snapshots + */ - /** - * Creates a plain object from a Version message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Version - * @static - * @param {abci.Version} message Version - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Version.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.Block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.Block = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.App = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.App = options.longs === String ? "0" : 0; + /** + * Constructs a new ResponseListSnapshots. + * @memberof tendermint.abci + * @classdesc Represents a ResponseListSnapshots. + * @implements IResponseListSnapshots + * @constructor + * @param {tendermint.abci.IResponseListSnapshots=} [properties] Properties to set + */ + function ResponseListSnapshots(properties) { + this.snapshots = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; } - if (message.Block != null && message.hasOwnProperty("Block")) - if (typeof message.Block === "number") - object.Block = options.longs === String ? String(message.Block) : message.Block; - else - object.Block = options.longs === String ? $util.Long.prototype.toString.call(message.Block) : options.longs === Number ? new $util.LongBits(message.Block.low >>> 0, message.Block.high >>> 0).toNumber(true) : message.Block; - if (message.App != null && message.hasOwnProperty("App")) - if (typeof message.App === "number") - object.App = options.longs === String ? String(message.App) : message.App; - else - object.App = options.longs === String ? $util.Long.prototype.toString.call(message.App) : options.longs === Number ? new $util.LongBits(message.App.low >>> 0, message.App.high >>> 0).toNumber(true) : message.App; - return object; - }; - - /** - * Converts this Version to JSON. - * @function toJSON - * @memberof abci.Version - * @instance - * @returns {Object.} JSON object - */ - Version.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Version; - })(); - - abci.BlockID = (function() { - - /** - * Properties of a BlockID. - * @memberof abci - * @interface IBlockID - * @property {Uint8Array|null} [hash] BlockID hash - * @property {abci.IPartSetHeader|null} [partsHeader] BlockID partsHeader - */ - /** - * Constructs a new BlockID. - * @memberof abci - * @classdesc Represents a BlockID. - * @implements IBlockID - * @constructor - * @param {abci.IBlockID=} [properties] Properties to set - */ - function BlockID(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * ResponseListSnapshots snapshots. + * @member {Array.} snapshots + * @memberof tendermint.abci.ResponseListSnapshots + * @instance + */ + ResponseListSnapshots.prototype.snapshots = $util.emptyArray; - /** - * BlockID hash. - * @member {Uint8Array} hash - * @memberof abci.BlockID - * @instance - */ - BlockID.prototype.hash = $util.newBuffer([]); + /** + * Creates a new ResponseListSnapshots instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {tendermint.abci.IResponseListSnapshots=} [properties] Properties to set + * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots instance + */ + ResponseListSnapshots.create = function create(properties) { + return new ResponseListSnapshots(properties); + }; - /** - * BlockID partsHeader. - * @member {abci.IPartSetHeader|null|undefined} partsHeader - * @memberof abci.BlockID - * @instance - */ - BlockID.prototype.partsHeader = null; + /** + * Encodes the specified ResponseListSnapshots message. Does not implicitly {@link tendermint.abci.ResponseListSnapshots.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {tendermint.abci.IResponseListSnapshots} message ResponseListSnapshots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseListSnapshots.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.snapshots != null && message.snapshots.length) + for (var i = 0; i < message.snapshots.length; ++i) + $root.tendermint.abci.Snapshot.encode(message.snapshots[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Creates a new BlockID instance using the specified properties. - * @function create - * @memberof abci.BlockID - * @static - * @param {abci.IBlockID=} [properties] Properties to set - * @returns {abci.BlockID} BlockID instance - */ - BlockID.create = function create(properties) { - return new BlockID(properties); - }; + /** + * Encodes the specified ResponseListSnapshots message, length delimited. Does not implicitly {@link tendermint.abci.ResponseListSnapshots.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {tendermint.abci.IResponseListSnapshots} message ResponseListSnapshots message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseListSnapshots.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Encodes the specified BlockID message. Does not implicitly {@link abci.BlockID.verify|verify} messages. - * @function encode - * @memberof abci.BlockID - * @static - * @param {abci.IBlockID} message BlockID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockID.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && message.hasOwnProperty("hash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); - if (message.partsHeader != null && message.hasOwnProperty("partsHeader")) - $root.abci.PartSetHeader.encode(message.partsHeader, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Decodes a ResponseListSnapshots message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseListSnapshots.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseListSnapshots(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.snapshots && message.snapshots.length)) + message.snapshots = []; + message.snapshots.push($root.tendermint.abci.Snapshot.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified BlockID message, length delimited. Does not implicitly {@link abci.BlockID.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.BlockID - * @static - * @param {abci.IBlockID} message BlockID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockID.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Decodes a ResponseListSnapshots message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseListSnapshots.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Decodes a BlockID message from the specified reader or buffer. - * @function decode - * @memberof abci.BlockID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.BlockID} BlockID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockID.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.BlockID(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.bytes(); - break; - case 2: - message.partsHeader = $root.abci.PartSetHeader.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Verifies a ResponseListSnapshots message. + * @function verify + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseListSnapshots.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.snapshots != null && message.hasOwnProperty("snapshots")) { + if (!Array.isArray(message.snapshots)) + return "snapshots: array expected"; + for (var i = 0; i < message.snapshots.length; ++i) { + var error = $root.tendermint.abci.Snapshot.verify(message.snapshots[i]); + if (error) + return "snapshots." + error; + } } - } - return message; - }; - - /** - * Decodes a BlockID message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.BlockID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.BlockID} BlockID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockID.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + return null; + }; - /** - * Verifies a BlockID message. - * @function verify - * @memberof abci.BlockID - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BlockID.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - if (message.partsHeader != null && message.hasOwnProperty("partsHeader")) { - var error = $root.abci.PartSetHeader.verify(message.partsHeader); - if (error) - return "partsHeader." + error; - } - return null; - }; + /** + * Creates a ResponseListSnapshots message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots + */ + ResponseListSnapshots.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseListSnapshots) + return object; + var message = new $root.tendermint.abci.ResponseListSnapshots(); + if (object.snapshots) { + if (!Array.isArray(object.snapshots)) + throw TypeError(".tendermint.abci.ResponseListSnapshots.snapshots: array expected"); + message.snapshots = []; + for (var i = 0; i < object.snapshots.length; ++i) { + if (typeof object.snapshots[i] !== "object") + throw TypeError(".tendermint.abci.ResponseListSnapshots.snapshots: object expected"); + message.snapshots[i] = $root.tendermint.abci.Snapshot.fromObject(object.snapshots[i]); + } + } + return message; + }; - /** - * Creates a BlockID message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.BlockID - * @static - * @param {Object.} object Plain object - * @returns {abci.BlockID} BlockID - */ - BlockID.fromObject = function fromObject(object) { - if (object instanceof $root.abci.BlockID) + /** + * Creates a plain object from a ResponseListSnapshots message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseListSnapshots + * @static + * @param {tendermint.abci.ResponseListSnapshots} message ResponseListSnapshots + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseListSnapshots.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.snapshots = []; + if (message.snapshots && message.snapshots.length) { + object.snapshots = []; + for (var j = 0; j < message.snapshots.length; ++j) + object.snapshots[j] = $root.tendermint.abci.Snapshot.toObject(message.snapshots[j], options); + } return object; - var message = new $root.abci.BlockID(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - if (object.partsHeader != null) { - if (typeof object.partsHeader !== "object") - throw TypeError(".abci.BlockID.partsHeader: object expected"); - message.partsHeader = $root.abci.PartSetHeader.fromObject(object.partsHeader); - } - return message; - }; - - /** - * Creates a plain object from a BlockID message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.BlockID - * @static - * @param {abci.BlockID} message BlockID - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BlockID.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - object.partsHeader = null; - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - if (message.partsHeader != null && message.hasOwnProperty("partsHeader")) - object.partsHeader = $root.abci.PartSetHeader.toObject(message.partsHeader, options); - return object; - }; - - /** - * Converts this BlockID to JSON. - * @function toJSON - * @memberof abci.BlockID - * @instance - * @returns {Object.} JSON object - */ - BlockID.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + }; - return BlockID; - })(); + /** + * Converts this ResponseListSnapshots to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseListSnapshots + * @instance + * @returns {Object.} JSON object + */ + ResponseListSnapshots.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - abci.PartSetHeader = (function() { + return ResponseListSnapshots; + })(); - /** - * Properties of a PartSetHeader. - * @memberof abci - * @interface IPartSetHeader - * @property {number|null} [total] PartSetHeader total - * @property {Uint8Array|null} [hash] PartSetHeader hash - */ + abci.ResponseOfferSnapshot = (function() { - /** - * Constructs a new PartSetHeader. - * @memberof abci - * @classdesc Represents a PartSetHeader. - * @implements IPartSetHeader - * @constructor - * @param {abci.IPartSetHeader=} [properties] Properties to set - */ - function PartSetHeader(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a ResponseOfferSnapshot. + * @memberof tendermint.abci + * @interface IResponseOfferSnapshot + * @property {tendermint.abci.ResponseOfferSnapshot.Result|null} [result] ResponseOfferSnapshot result + */ - /** - * PartSetHeader total. - * @member {number} total - * @memberof abci.PartSetHeader - * @instance - */ - PartSetHeader.prototype.total = 0; + /** + * Constructs a new ResponseOfferSnapshot. + * @memberof tendermint.abci + * @classdesc Represents a ResponseOfferSnapshot. + * @implements IResponseOfferSnapshot + * @constructor + * @param {tendermint.abci.IResponseOfferSnapshot=} [properties] Properties to set + */ + function ResponseOfferSnapshot(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * PartSetHeader hash. - * @member {Uint8Array} hash - * @memberof abci.PartSetHeader - * @instance - */ - PartSetHeader.prototype.hash = $util.newBuffer([]); + /** + * ResponseOfferSnapshot result. + * @member {tendermint.abci.ResponseOfferSnapshot.Result} result + * @memberof tendermint.abci.ResponseOfferSnapshot + * @instance + */ + ResponseOfferSnapshot.prototype.result = 0; - /** - * Creates a new PartSetHeader instance using the specified properties. - * @function create - * @memberof abci.PartSetHeader - * @static - * @param {abci.IPartSetHeader=} [properties] Properties to set - * @returns {abci.PartSetHeader} PartSetHeader instance - */ - PartSetHeader.create = function create(properties) { - return new PartSetHeader(properties); - }; + /** + * Creates a new ResponseOfferSnapshot instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {tendermint.abci.IResponseOfferSnapshot=} [properties] Properties to set + * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot instance + */ + ResponseOfferSnapshot.create = function create(properties) { + return new ResponseOfferSnapshot(properties); + }; - /** - * Encodes the specified PartSetHeader message. Does not implicitly {@link abci.PartSetHeader.verify|verify} messages. - * @function encode - * @memberof abci.PartSetHeader - * @static - * @param {abci.IPartSetHeader} message PartSetHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PartSetHeader.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.total != null && message.hasOwnProperty("total")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.total); - if (message.hash != null && message.hasOwnProperty("hash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.hash); - return writer; - }; + /** + * Encodes the specified ResponseOfferSnapshot message. Does not implicitly {@link tendermint.abci.ResponseOfferSnapshot.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {tendermint.abci.IResponseOfferSnapshot} message ResponseOfferSnapshot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseOfferSnapshot.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.result != null && Object.hasOwnProperty.call(message, "result")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.result); + return writer; + }; - /** - * Encodes the specified PartSetHeader message, length delimited. Does not implicitly {@link abci.PartSetHeader.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.PartSetHeader - * @static - * @param {abci.IPartSetHeader} message PartSetHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PartSetHeader.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseOfferSnapshot message, length delimited. Does not implicitly {@link tendermint.abci.ResponseOfferSnapshot.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {tendermint.abci.IResponseOfferSnapshot} message ResponseOfferSnapshot message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseOfferSnapshot.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a PartSetHeader message from the specified reader or buffer. - * @function decode - * @memberof abci.PartSetHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.PartSetHeader} PartSetHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PartSetHeader.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.PartSetHeader(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.total = reader.int32(); - break; - case 2: - message.hash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a ResponseOfferSnapshot message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseOfferSnapshot.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseOfferSnapshot(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.result = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; - - /** - * Decodes a PartSetHeader message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.PartSetHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.PartSetHeader} PartSetHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PartSetHeader.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PartSetHeader message. - * @function verify - * @memberof abci.PartSetHeader - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PartSetHeader.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.total != null && message.hasOwnProperty("total")) - if (!$util.isInteger(message.total)) - return "total: integer expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - return null; - }; + return message; + }; - /** - * Creates a PartSetHeader message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.PartSetHeader - * @static - * @param {Object.} object Plain object - * @returns {abci.PartSetHeader} PartSetHeader - */ - PartSetHeader.fromObject = function fromObject(object) { - if (object instanceof $root.abci.PartSetHeader) - return object; - var message = new $root.abci.PartSetHeader(); - if (object.total != null) - message.total = object.total | 0; - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - return message; - }; - - /** - * Creates a plain object from a PartSetHeader message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.PartSetHeader - * @static - * @param {abci.PartSetHeader} message PartSetHeader - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PartSetHeader.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.total = 0; - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - } - if (message.total != null && message.hasOwnProperty("total")) - object.total = message.total; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - return object; - }; - - /** - * Converts this PartSetHeader to JSON. - * @function toJSON - * @memberof abci.PartSetHeader - * @instance - * @returns {Object.} JSON object - */ - PartSetHeader.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PartSetHeader; - })(); - - abci.Validator = (function() { - - /** - * Properties of a Validator. - * @memberof abci - * @interface IValidator - * @property {Uint8Array|null} [address] Validator address - * @property {number|Long|null} [power] Validator power - */ - - /** - * Constructs a new Validator. - * @memberof abci - * @classdesc Represents a Validator. - * @implements IValidator - * @constructor - * @param {abci.IValidator=} [properties] Properties to set - */ - function Validator(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Validator address. - * @member {Uint8Array} address - * @memberof abci.Validator - * @instance - */ - Validator.prototype.address = $util.newBuffer([]); - - /** - * Validator power. - * @member {number|Long} power - * @memberof abci.Validator - * @instance - */ - Validator.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new Validator instance using the specified properties. - * @function create - * @memberof abci.Validator - * @static - * @param {abci.IValidator=} [properties] Properties to set - * @returns {abci.Validator} Validator instance - */ - Validator.create = function create(properties) { - return new Validator(properties); - }; - - /** - * Encodes the specified Validator message. Does not implicitly {@link abci.Validator.verify|verify} messages. - * @function encode - * @memberof abci.Validator - * @static - * @param {abci.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && message.hasOwnProperty("address")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.address); - if (message.power != null && message.hasOwnProperty("power")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.power); - return writer; - }; + /** + * Decodes a ResponseOfferSnapshot message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseOfferSnapshot.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified Validator message, length delimited. Does not implicitly {@link abci.Validator.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Validator - * @static - * @param {abci.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a ResponseOfferSnapshot message. + * @function verify + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseOfferSnapshot.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.result != null && message.hasOwnProperty("result")) + switch (message.result) { + default: + return "result: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; - /** - * Decodes a Validator message from the specified reader or buffer. - * @function decode - * @memberof abci.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Validator(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Creates a ResponseOfferSnapshot message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot + */ + ResponseOfferSnapshot.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseOfferSnapshot) + return object; + var message = new $root.tendermint.abci.ResponseOfferSnapshot(); + switch (object.result) { + case "UNKNOWN": + case 0: + message.result = 0; + break; + case "ACCEPT": case 1: - message.address = reader.bytes(); + message.result = 1; + break; + case "ABORT": + case 2: + message.result = 2; break; + case "REJECT": case 3: - message.power = reader.int64(); + message.result = 3; + break; + case "REJECT_FORMAT": + case 4: + message.result = 4; break; - default: - reader.skipType(tag & 7); + case "REJECT_SENDER": + case 5: + message.result = 5; break; } - } - return message; - }; - - /** - * Decodes a Validator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Validator message. - * @function verify - * @memberof abci.Validator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Validator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!(message.address && typeof message.address.length === "number" || $util.isString(message.address))) - return "address: buffer expected"; - if (message.power != null && message.hasOwnProperty("power")) - if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) - return "power: integer|Long expected"; - return null; - }; + return message; + }; - /** - * Creates a Validator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Validator - * @static - * @param {Object.} object Plain object - * @returns {abci.Validator} Validator - */ - Validator.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Validator) + /** + * Creates a plain object from a ResponseOfferSnapshot message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseOfferSnapshot + * @static + * @param {tendermint.abci.ResponseOfferSnapshot} message ResponseOfferSnapshot + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseOfferSnapshot.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.result = options.enums === String ? "UNKNOWN" : 0; + if (message.result != null && message.hasOwnProperty("result")) + object.result = options.enums === String ? $root.tendermint.abci.ResponseOfferSnapshot.Result[message.result] : message.result; return object; - var message = new $root.abci.Validator(); - if (object.address != null) - if (typeof object.address === "string") - $util.base64.decode(object.address, message.address = $util.newBuffer($util.base64.length(object.address)), 0); - else if (object.address.length) - message.address = object.address; - if (object.power != null) - if ($util.Long) - (message.power = $util.Long.fromValue(object.power)).unsigned = false; - else if (typeof object.power === "string") - message.power = parseInt(object.power, 10); - else if (typeof object.power === "number") - message.power = object.power; - else if (typeof object.power === "object") - message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a Validator message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Validator - * @static - * @param {abci.Validator} message Validator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Validator.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.address = ""; - else { - object.address = []; - if (options.bytes !== Array) - object.address = $util.newBuffer(object.address); - } - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.power = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = options.bytes === String ? $util.base64.encode(message.address, 0, message.address.length) : options.bytes === Array ? Array.prototype.slice.call(message.address) : message.address; - if (message.power != null && message.hasOwnProperty("power")) - if (typeof message.power === "number") - object.power = options.longs === String ? String(message.power) : message.power; - else - object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; - return object; - }; + }; - /** - * Converts this Validator to JSON. - * @function toJSON - * @memberof abci.Validator - * @instance - * @returns {Object.} JSON object - */ - Validator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this ResponseOfferSnapshot to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseOfferSnapshot + * @instance + * @returns {Object.} JSON object + */ + ResponseOfferSnapshot.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return Validator; - })(); + /** + * Result enum. + * @name tendermint.abci.ResponseOfferSnapshot.Result + * @enum {number} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} ACCEPT=1 ACCEPT value + * @property {number} ABORT=2 ABORT value + * @property {number} REJECT=3 REJECT value + * @property {number} REJECT_FORMAT=4 REJECT_FORMAT value + * @property {number} REJECT_SENDER=5 REJECT_SENDER value + */ + ResponseOfferSnapshot.Result = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "ACCEPT"] = 1; + values[valuesById[2] = "ABORT"] = 2; + values[valuesById[3] = "REJECT"] = 3; + values[valuesById[4] = "REJECT_FORMAT"] = 4; + values[valuesById[5] = "REJECT_SENDER"] = 5; + return values; + })(); - abci.ValidatorUpdate = (function() { + return ResponseOfferSnapshot; + })(); - /** - * Properties of a ValidatorUpdate. - * @memberof abci - * @interface IValidatorUpdate - * @property {abci.IPubKey|null} [pubKey] ValidatorUpdate pubKey - * @property {number|Long|null} [power] ValidatorUpdate power - */ + abci.ResponseLoadSnapshotChunk = (function() { - /** - * Constructs a new ValidatorUpdate. - * @memberof abci - * @classdesc Represents a ValidatorUpdate. - * @implements IValidatorUpdate - * @constructor - * @param {abci.IValidatorUpdate=} [properties] Properties to set - */ - function ValidatorUpdate(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a ResponseLoadSnapshotChunk. + * @memberof tendermint.abci + * @interface IResponseLoadSnapshotChunk + * @property {Uint8Array|null} [chunk] ResponseLoadSnapshotChunk chunk + */ - /** - * ValidatorUpdate pubKey. - * @member {abci.IPubKey|null|undefined} pubKey - * @memberof abci.ValidatorUpdate - * @instance - */ - ValidatorUpdate.prototype.pubKey = null; + /** + * Constructs a new ResponseLoadSnapshotChunk. + * @memberof tendermint.abci + * @classdesc Represents a ResponseLoadSnapshotChunk. + * @implements IResponseLoadSnapshotChunk + * @constructor + * @param {tendermint.abci.IResponseLoadSnapshotChunk=} [properties] Properties to set + */ + function ResponseLoadSnapshotChunk(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * ValidatorUpdate power. - * @member {number|Long} power - * @memberof abci.ValidatorUpdate - * @instance - */ - ValidatorUpdate.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * ResponseLoadSnapshotChunk chunk. + * @member {Uint8Array} chunk + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @instance + */ + ResponseLoadSnapshotChunk.prototype.chunk = $util.newBuffer([]); - /** - * Creates a new ValidatorUpdate instance using the specified properties. - * @function create - * @memberof abci.ValidatorUpdate - * @static - * @param {abci.IValidatorUpdate=} [properties] Properties to set - * @returns {abci.ValidatorUpdate} ValidatorUpdate instance - */ - ValidatorUpdate.create = function create(properties) { - return new ValidatorUpdate(properties); - }; + /** + * Creates a new ResponseLoadSnapshotChunk instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {tendermint.abci.IResponseLoadSnapshotChunk=} [properties] Properties to set + * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk instance + */ + ResponseLoadSnapshotChunk.create = function create(properties) { + return new ResponseLoadSnapshotChunk(properties); + }; - /** - * Encodes the specified ValidatorUpdate message. Does not implicitly {@link abci.ValidatorUpdate.verify|verify} messages. - * @function encode - * @memberof abci.ValidatorUpdate - * @static - * @param {abci.IValidatorUpdate} message ValidatorUpdate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorUpdate.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - $root.abci.PubKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.power != null && message.hasOwnProperty("power")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.power); - return writer; - }; + /** + * Encodes the specified ResponseLoadSnapshotChunk message. Does not implicitly {@link tendermint.abci.ResponseLoadSnapshotChunk.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {tendermint.abci.IResponseLoadSnapshotChunk} message ResponseLoadSnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseLoadSnapshotChunk.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.chunk); + return writer; + }; - /** - * Encodes the specified ValidatorUpdate message, length delimited. Does not implicitly {@link abci.ValidatorUpdate.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.ValidatorUpdate - * @static - * @param {abci.IValidatorUpdate} message ValidatorUpdate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorUpdate.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseLoadSnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.ResponseLoadSnapshotChunk.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {tendermint.abci.IResponseLoadSnapshotChunk} message ResponseLoadSnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseLoadSnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ValidatorUpdate message from the specified reader or buffer. - * @function decode - * @memberof abci.ValidatorUpdate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.ValidatorUpdate} ValidatorUpdate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorUpdate.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.ValidatorUpdate(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pubKey = $root.abci.PubKey.decode(reader, reader.uint32()); - break; - case 2: - message.power = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a ResponseLoadSnapshotChunk message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseLoadSnapshotChunk.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseLoadSnapshotChunk(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.chunk = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ValidatorUpdate message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.ValidatorUpdate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.ValidatorUpdate} ValidatorUpdate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorUpdate.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a ResponseLoadSnapshotChunk message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseLoadSnapshotChunk.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ValidatorUpdate message. - * @function verify - * @memberof abci.ValidatorUpdate - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorUpdate.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) { - var error = $root.abci.PubKey.verify(message.pubKey); - if (error) - return "pubKey." + error; - } - if (message.power != null && message.hasOwnProperty("power")) - if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) - return "power: integer|Long expected"; - return null; - }; + /** + * Verifies a ResponseLoadSnapshotChunk message. + * @function verify + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseLoadSnapshotChunk.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.chunk != null && message.hasOwnProperty("chunk")) + if (!(message.chunk && typeof message.chunk.length === "number" || $util.isString(message.chunk))) + return "chunk: buffer expected"; + return null; + }; - /** - * Creates a ValidatorUpdate message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.ValidatorUpdate - * @static - * @param {Object.} object Plain object - * @returns {abci.ValidatorUpdate} ValidatorUpdate - */ - ValidatorUpdate.fromObject = function fromObject(object) { - if (object instanceof $root.abci.ValidatorUpdate) - return object; - var message = new $root.abci.ValidatorUpdate(); - if (object.pubKey != null) { - if (typeof object.pubKey !== "object") - throw TypeError(".abci.ValidatorUpdate.pubKey: object expected"); - message.pubKey = $root.abci.PubKey.fromObject(object.pubKey); - } - if (object.power != null) - if ($util.Long) - (message.power = $util.Long.fromValue(object.power)).unsigned = false; - else if (typeof object.power === "string") - message.power = parseInt(object.power, 10); - else if (typeof object.power === "number") - message.power = object.power; - else if (typeof object.power === "object") - message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); - return message; - }; + /** + * Creates a ResponseLoadSnapshotChunk message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk + */ + ResponseLoadSnapshotChunk.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseLoadSnapshotChunk) + return object; + var message = new $root.tendermint.abci.ResponseLoadSnapshotChunk(); + if (object.chunk != null) + if (typeof object.chunk === "string") + $util.base64.decode(object.chunk, message.chunk = $util.newBuffer($util.base64.length(object.chunk)), 0); + else if (object.chunk.length) + message.chunk = object.chunk; + return message; + }; - /** - * Creates a plain object from a ValidatorUpdate message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.ValidatorUpdate - * @static - * @param {abci.ValidatorUpdate} message ValidatorUpdate - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorUpdate.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.pubKey = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.power = options.longs === String ? "0" : 0; - } - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - object.pubKey = $root.abci.PubKey.toObject(message.pubKey, options); - if (message.power != null && message.hasOwnProperty("power")) - if (typeof message.power === "number") - object.power = options.longs === String ? String(message.power) : message.power; - else - object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; - return object; - }; + /** + * Creates a plain object from a ResponseLoadSnapshotChunk message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @static + * @param {tendermint.abci.ResponseLoadSnapshotChunk} message ResponseLoadSnapshotChunk + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseLoadSnapshotChunk.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.chunk = ""; + else { + object.chunk = []; + if (options.bytes !== Array) + object.chunk = $util.newBuffer(object.chunk); + } + if (message.chunk != null && message.hasOwnProperty("chunk")) + object.chunk = options.bytes === String ? $util.base64.encode(message.chunk, 0, message.chunk.length) : options.bytes === Array ? Array.prototype.slice.call(message.chunk) : message.chunk; + return object; + }; - /** - * Converts this ValidatorUpdate to JSON. - * @function toJSON - * @memberof abci.ValidatorUpdate - * @instance - * @returns {Object.} JSON object - */ - ValidatorUpdate.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this ResponseLoadSnapshotChunk to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseLoadSnapshotChunk + * @instance + * @returns {Object.} JSON object + */ + ResponseLoadSnapshotChunk.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ValidatorUpdate; - })(); + return ResponseLoadSnapshotChunk; + })(); - abci.VoteInfo = (function() { + abci.ResponseApplySnapshotChunk = (function() { - /** - * Properties of a VoteInfo. - * @memberof abci - * @interface IVoteInfo - * @property {abci.IValidator|null} [validator] VoteInfo validator - * @property {boolean|null} [signedLastBlock] VoteInfo signedLastBlock - */ + /** + * Properties of a ResponseApplySnapshotChunk. + * @memberof tendermint.abci + * @interface IResponseApplySnapshotChunk + * @property {tendermint.abci.ResponseApplySnapshotChunk.Result|null} [result] ResponseApplySnapshotChunk result + * @property {Array.|null} [refetchChunks] ResponseApplySnapshotChunk refetchChunks + * @property {Array.|null} [rejectSenders] ResponseApplySnapshotChunk rejectSenders + */ - /** - * Constructs a new VoteInfo. - * @memberof abci - * @classdesc Represents a VoteInfo. - * @implements IVoteInfo - * @constructor - * @param {abci.IVoteInfo=} [properties] Properties to set - */ - function VoteInfo(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new ResponseApplySnapshotChunk. + * @memberof tendermint.abci + * @classdesc Represents a ResponseApplySnapshotChunk. + * @implements IResponseApplySnapshotChunk + * @constructor + * @param {tendermint.abci.IResponseApplySnapshotChunk=} [properties] Properties to set + */ + function ResponseApplySnapshotChunk(properties) { + this.refetchChunks = []; + this.rejectSenders = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * VoteInfo validator. - * @member {abci.IValidator|null|undefined} validator - * @memberof abci.VoteInfo - * @instance - */ - VoteInfo.prototype.validator = null; + /** + * ResponseApplySnapshotChunk result. + * @member {tendermint.abci.ResponseApplySnapshotChunk.Result} result + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @instance + */ + ResponseApplySnapshotChunk.prototype.result = 0; - /** - * VoteInfo signedLastBlock. - * @member {boolean} signedLastBlock - * @memberof abci.VoteInfo - * @instance - */ - VoteInfo.prototype.signedLastBlock = false; + /** + * ResponseApplySnapshotChunk refetchChunks. + * @member {Array.} refetchChunks + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @instance + */ + ResponseApplySnapshotChunk.prototype.refetchChunks = $util.emptyArray; - /** - * Creates a new VoteInfo instance using the specified properties. - * @function create - * @memberof abci.VoteInfo - * @static - * @param {abci.IVoteInfo=} [properties] Properties to set - * @returns {abci.VoteInfo} VoteInfo instance - */ - VoteInfo.create = function create(properties) { - return new VoteInfo(properties); - }; + /** + * ResponseApplySnapshotChunk rejectSenders. + * @member {Array.} rejectSenders + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @instance + */ + ResponseApplySnapshotChunk.prototype.rejectSenders = $util.emptyArray; - /** - * Encodes the specified VoteInfo message. Does not implicitly {@link abci.VoteInfo.verify|verify} messages. - * @function encode - * @memberof abci.VoteInfo - * @static - * @param {abci.IVoteInfo} message VoteInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VoteInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validator != null && message.hasOwnProperty("validator")) - $root.abci.Validator.encode(message.validator, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.signedLastBlock); - return writer; - }; + /** + * Creates a new ResponseApplySnapshotChunk instance using the specified properties. + * @function create + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {tendermint.abci.IResponseApplySnapshotChunk=} [properties] Properties to set + * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk instance + */ + ResponseApplySnapshotChunk.create = function create(properties) { + return new ResponseApplySnapshotChunk(properties); + }; - /** - * Encodes the specified VoteInfo message, length delimited. Does not implicitly {@link abci.VoteInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.VoteInfo - * @static - * @param {abci.IVoteInfo} message VoteInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VoteInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ResponseApplySnapshotChunk message. Does not implicitly {@link tendermint.abci.ResponseApplySnapshotChunk.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {tendermint.abci.IResponseApplySnapshotChunk} message ResponseApplySnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseApplySnapshotChunk.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.result != null && Object.hasOwnProperty.call(message, "result")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.result); + if (message.refetchChunks != null && message.refetchChunks.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.refetchChunks.length; ++i) + writer.uint32(message.refetchChunks[i]); + writer.ldelim(); + } + if (message.rejectSenders != null && message.rejectSenders.length) + for (var i = 0; i < message.rejectSenders.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.rejectSenders[i]); + return writer; + }; - /** - * Decodes a VoteInfo message from the specified reader or buffer. - * @function decode - * @memberof abci.VoteInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.VoteInfo} VoteInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VoteInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.VoteInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Encodes the specified ResponseApplySnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.ResponseApplySnapshotChunk.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {tendermint.abci.IResponseApplySnapshotChunk} message ResponseApplySnapshotChunk message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseApplySnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResponseApplySnapshotChunk message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseApplySnapshotChunk.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseApplySnapshotChunk(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.result = reader.int32(); + break; + case 2: + if (!(message.refetchChunks && message.refetchChunks.length)) + message.refetchChunks = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.refetchChunks.push(reader.uint32()); + } else + message.refetchChunks.push(reader.uint32()); + break; + case 3: + if (!(message.rejectSenders && message.rejectSenders.length)) + message.rejectSenders = []; + message.rejectSenders.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResponseApplySnapshotChunk message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseApplySnapshotChunk.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResponseApplySnapshotChunk message. + * @function verify + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseApplySnapshotChunk.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.result != null && message.hasOwnProperty("result")) + switch (message.result) { + default: + return "result: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.refetchChunks != null && message.hasOwnProperty("refetchChunks")) { + if (!Array.isArray(message.refetchChunks)) + return "refetchChunks: array expected"; + for (var i = 0; i < message.refetchChunks.length; ++i) + if (!$util.isInteger(message.refetchChunks[i])) + return "refetchChunks: integer[] expected"; + } + if (message.rejectSenders != null && message.hasOwnProperty("rejectSenders")) { + if (!Array.isArray(message.rejectSenders)) + return "rejectSenders: array expected"; + for (var i = 0; i < message.rejectSenders.length; ++i) + if (!$util.isString(message.rejectSenders[i])) + return "rejectSenders: string[] expected"; + } + return null; + }; + + /** + * Creates a ResponseApplySnapshotChunk message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk + */ + ResponseApplySnapshotChunk.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ResponseApplySnapshotChunk) + return object; + var message = new $root.tendermint.abci.ResponseApplySnapshotChunk(); + switch (object.result) { + case "UNKNOWN": + case 0: + message.result = 0; + break; + case "ACCEPT": case 1: - message.validator = $root.abci.Validator.decode(reader, reader.uint32()); + message.result = 1; break; + case "ABORT": case 2: - message.signedLastBlock = reader.bool(); + message.result = 2; + break; + case "RETRY": + case 3: + message.result = 3; break; - default: - reader.skipType(tag & 7); + case "RETRY_SNAPSHOT": + case 4: + message.result = 4; + break; + case "REJECT_SNAPSHOT": + case 5: + message.result = 5; break; } - } - return message; - }; - - /** - * Decodes a VoteInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.VoteInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.VoteInfo} VoteInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VoteInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VoteInfo message. - * @function verify - * @memberof abci.VoteInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VoteInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validator != null && message.hasOwnProperty("validator")) { - var error = $root.abci.Validator.verify(message.validator); - if (error) - return "validator." + error; - } - if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) - if (typeof message.signedLastBlock !== "boolean") - return "signedLastBlock: boolean expected"; - return null; - }; + if (object.refetchChunks) { + if (!Array.isArray(object.refetchChunks)) + throw TypeError(".tendermint.abci.ResponseApplySnapshotChunk.refetchChunks: array expected"); + message.refetchChunks = []; + for (var i = 0; i < object.refetchChunks.length; ++i) + message.refetchChunks[i] = object.refetchChunks[i] >>> 0; + } + if (object.rejectSenders) { + if (!Array.isArray(object.rejectSenders)) + throw TypeError(".tendermint.abci.ResponseApplySnapshotChunk.rejectSenders: array expected"); + message.rejectSenders = []; + for (var i = 0; i < object.rejectSenders.length; ++i) + message.rejectSenders[i] = String(object.rejectSenders[i]); + } + return message; + }; - /** - * Creates a VoteInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.VoteInfo - * @static - * @param {Object.} object Plain object - * @returns {abci.VoteInfo} VoteInfo - */ - VoteInfo.fromObject = function fromObject(object) { - if (object instanceof $root.abci.VoteInfo) + /** + * Creates a plain object from a ResponseApplySnapshotChunk message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @static + * @param {tendermint.abci.ResponseApplySnapshotChunk} message ResponseApplySnapshotChunk + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseApplySnapshotChunk.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.refetchChunks = []; + object.rejectSenders = []; + } + if (options.defaults) + object.result = options.enums === String ? "UNKNOWN" : 0; + if (message.result != null && message.hasOwnProperty("result")) + object.result = options.enums === String ? $root.tendermint.abci.ResponseApplySnapshotChunk.Result[message.result] : message.result; + if (message.refetchChunks && message.refetchChunks.length) { + object.refetchChunks = []; + for (var j = 0; j < message.refetchChunks.length; ++j) + object.refetchChunks[j] = message.refetchChunks[j]; + } + if (message.rejectSenders && message.rejectSenders.length) { + object.rejectSenders = []; + for (var j = 0; j < message.rejectSenders.length; ++j) + object.rejectSenders[j] = message.rejectSenders[j]; + } return object; - var message = new $root.abci.VoteInfo(); - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".abci.VoteInfo.validator: object expected"); - message.validator = $root.abci.Validator.fromObject(object.validator); - } - if (object.signedLastBlock != null) - message.signedLastBlock = Boolean(object.signedLastBlock); - return message; - }; + }; - /** - * Creates a plain object from a VoteInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.VoteInfo - * @static - * @param {abci.VoteInfo} message VoteInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VoteInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.validator = null; - object.signedLastBlock = false; - } - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.abci.Validator.toObject(message.validator, options); - if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) - object.signedLastBlock = message.signedLastBlock; - return object; - }; + /** + * Converts this ResponseApplySnapshotChunk to JSON. + * @function toJSON + * @memberof tendermint.abci.ResponseApplySnapshotChunk + * @instance + * @returns {Object.} JSON object + */ + ResponseApplySnapshotChunk.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this VoteInfo to JSON. - * @function toJSON - * @memberof abci.VoteInfo - * @instance - * @returns {Object.} JSON object - */ - VoteInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Result enum. + * @name tendermint.abci.ResponseApplySnapshotChunk.Result + * @enum {number} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} ACCEPT=1 ACCEPT value + * @property {number} ABORT=2 ABORT value + * @property {number} RETRY=3 RETRY value + * @property {number} RETRY_SNAPSHOT=4 RETRY_SNAPSHOT value + * @property {number} REJECT_SNAPSHOT=5 REJECT_SNAPSHOT value + */ + ResponseApplySnapshotChunk.Result = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "ACCEPT"] = 1; + values[valuesById[2] = "ABORT"] = 2; + values[valuesById[3] = "RETRY"] = 3; + values[valuesById[4] = "RETRY_SNAPSHOT"] = 4; + values[valuesById[5] = "REJECT_SNAPSHOT"] = 5; + return values; + })(); - return VoteInfo; - })(); + return ResponseApplySnapshotChunk; + })(); - abci.PubKey = (function() { + abci.ConsensusParams = (function() { - /** - * Properties of a PubKey. - * @memberof abci - * @interface IPubKey - * @property {string|null} [type] PubKey type - * @property {Uint8Array|null} [data] PubKey data - */ + /** + * Properties of a ConsensusParams. + * @memberof tendermint.abci + * @interface IConsensusParams + * @property {tendermint.abci.IBlockParams|null} [block] ConsensusParams block + * @property {tendermint.types.IEvidenceParams|null} [evidence] ConsensusParams evidence + * @property {tendermint.types.IValidatorParams|null} [validator] ConsensusParams validator + * @property {tendermint.types.IVersionParams|null} [version] ConsensusParams version + */ - /** - * Constructs a new PubKey. - * @memberof abci - * @classdesc Represents a PubKey. - * @implements IPubKey - * @constructor - * @param {abci.IPubKey=} [properties] Properties to set - */ - function PubKey(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Constructs a new ConsensusParams. + * @memberof tendermint.abci + * @classdesc Represents a ConsensusParams. + * @implements IConsensusParams + * @constructor + * @param {tendermint.abci.IConsensusParams=} [properties] Properties to set + */ + function ConsensusParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * PubKey type. - * @member {string} type - * @memberof abci.PubKey - * @instance - */ - PubKey.prototype.type = ""; + /** + * ConsensusParams block. + * @member {tendermint.abci.IBlockParams|null|undefined} block + * @memberof tendermint.abci.ConsensusParams + * @instance + */ + ConsensusParams.prototype.block = null; - /** - * PubKey data. - * @member {Uint8Array} data - * @memberof abci.PubKey - * @instance - */ - PubKey.prototype.data = $util.newBuffer([]); + /** + * ConsensusParams evidence. + * @member {tendermint.types.IEvidenceParams|null|undefined} evidence + * @memberof tendermint.abci.ConsensusParams + * @instance + */ + ConsensusParams.prototype.evidence = null; - /** - * Creates a new PubKey instance using the specified properties. - * @function create - * @memberof abci.PubKey - * @static - * @param {abci.IPubKey=} [properties] Properties to set - * @returns {abci.PubKey} PubKey instance - */ - PubKey.create = function create(properties) { - return new PubKey(properties); - }; + /** + * ConsensusParams validator. + * @member {tendermint.types.IValidatorParams|null|undefined} validator + * @memberof tendermint.abci.ConsensusParams + * @instance + */ + ConsensusParams.prototype.validator = null; - /** - * Encodes the specified PubKey message. Does not implicitly {@link abci.PubKey.verify|verify} messages. - * @function encode - * @memberof abci.PubKey - * @static - * @param {abci.IPubKey} message PubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PubKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - return writer; - }; + /** + * ConsensusParams version. + * @member {tendermint.types.IVersionParams|null|undefined} version + * @memberof tendermint.abci.ConsensusParams + * @instance + */ + ConsensusParams.prototype.version = null; - /** - * Encodes the specified PubKey message, length delimited. Does not implicitly {@link abci.PubKey.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.PubKey - * @static - * @param {abci.IPubKey} message PubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PubKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new ConsensusParams instance using the specified properties. + * @function create + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {tendermint.abci.IConsensusParams=} [properties] Properties to set + * @returns {tendermint.abci.ConsensusParams} ConsensusParams instance + */ + ConsensusParams.create = function create(properties) { + return new ConsensusParams(properties); + }; - /** - * Decodes a PubKey message from the specified reader or buffer. - * @function decode - * @memberof abci.PubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.PubKey} PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PubKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.PubKey(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Encodes the specified ConsensusParams message. Does not implicitly {@link tendermint.abci.ConsensusParams.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {tendermint.abci.IConsensusParams} message ConsensusParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + $root.tendermint.abci.BlockParams.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) + $root.tendermint.types.EvidenceParams.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) + $root.tendermint.types.ValidatorParams.encode(message.validator, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + $root.tendermint.types.VersionParams.encode(message.version, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; - /** - * Decodes a PubKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.PubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.PubKey} PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PubKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link tendermint.abci.ConsensusParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {tendermint.abci.IConsensusParams} message ConsensusParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Verifies a PubKey message. - * @function verify - * @memberof abci.PubKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PubKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; + /** + * Decodes a ConsensusParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ConsensusParams} ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ConsensusParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = $root.tendermint.abci.BlockParams.decode(reader, reader.uint32()); + break; + case 2: + message.evidence = $root.tendermint.types.EvidenceParams.decode(reader, reader.uint32()); + break; + case 3: + message.validator = $root.tendermint.types.ValidatorParams.decode(reader, reader.uint32()); + break; + case 4: + message.version = $root.tendermint.types.VersionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a PubKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.PubKey - * @static - * @param {Object.} object Plain object - * @returns {abci.PubKey} PubKey - */ - PubKey.fromObject = function fromObject(object) { - if (object instanceof $root.abci.PubKey) - return object; - var message = new $root.abci.PubKey(); - if (object.type != null) - message.type = String(object.type); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; + /** + * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ConsensusParams} ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a plain object from a PubKey message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.PubKey - * @static - * @param {abci.PubKey} message PubKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PubKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = ""; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); + /** + * Verifies a ConsensusParams message. + * @function verify + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsensusParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.block != null && message.hasOwnProperty("block")) { + var error = $root.tendermint.abci.BlockParams.verify(message.block); + if (error) + return "block." + error; } - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this PubKey to JSON. - * @function toJSON - * @memberof abci.PubKey - * @instance - * @returns {Object.} JSON object - */ - PubKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + if (message.evidence != null && message.hasOwnProperty("evidence")) { + var error = $root.tendermint.types.EvidenceParams.verify(message.evidence); + if (error) + return "evidence." + error; + } + if (message.validator != null && message.hasOwnProperty("validator")) { + var error = $root.tendermint.types.ValidatorParams.verify(message.validator); + if (error) + return "validator." + error; + } + if (message.version != null && message.hasOwnProperty("version")) { + var error = $root.tendermint.types.VersionParams.verify(message.version); + if (error) + return "version." + error; + } + return null; + }; - return PubKey; - })(); + /** + * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ConsensusParams} ConsensusParams + */ + ConsensusParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ConsensusParams) + return object; + var message = new $root.tendermint.abci.ConsensusParams(); + if (object.block != null) { + if (typeof object.block !== "object") + throw TypeError(".tendermint.abci.ConsensusParams.block: object expected"); + message.block = $root.tendermint.abci.BlockParams.fromObject(object.block); + } + if (object.evidence != null) { + if (typeof object.evidence !== "object") + throw TypeError(".tendermint.abci.ConsensusParams.evidence: object expected"); + message.evidence = $root.tendermint.types.EvidenceParams.fromObject(object.evidence); + } + if (object.validator != null) { + if (typeof object.validator !== "object") + throw TypeError(".tendermint.abci.ConsensusParams.validator: object expected"); + message.validator = $root.tendermint.types.ValidatorParams.fromObject(object.validator); + } + if (object.version != null) { + if (typeof object.version !== "object") + throw TypeError(".tendermint.abci.ConsensusParams.version: object expected"); + message.version = $root.tendermint.types.VersionParams.fromObject(object.version); + } + return message; + }; - abci.Evidence = (function() { + /** + * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ConsensusParams + * @static + * @param {tendermint.abci.ConsensusParams} message ConsensusParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsensusParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.block = null; + object.evidence = null; + object.validator = null; + object.version = null; + } + if (message.block != null && message.hasOwnProperty("block")) + object.block = $root.tendermint.abci.BlockParams.toObject(message.block, options); + if (message.evidence != null && message.hasOwnProperty("evidence")) + object.evidence = $root.tendermint.types.EvidenceParams.toObject(message.evidence, options); + if (message.validator != null && message.hasOwnProperty("validator")) + object.validator = $root.tendermint.types.ValidatorParams.toObject(message.validator, options); + if (message.version != null && message.hasOwnProperty("version")) + object.version = $root.tendermint.types.VersionParams.toObject(message.version, options); + return object; + }; - /** - * Properties of an Evidence. - * @memberof abci - * @interface IEvidence - * @property {string|null} [type] Evidence type - * @property {abci.IValidator|null} [validator] Evidence validator - * @property {number|Long|null} [height] Evidence height - * @property {google.protobuf.ITimestamp|null} [time] Evidence time - * @property {number|Long|null} [totalVotingPower] Evidence totalVotingPower - */ + /** + * Converts this ConsensusParams to JSON. + * @function toJSON + * @memberof tendermint.abci.ConsensusParams + * @instance + * @returns {Object.} JSON object + */ + ConsensusParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Constructs a new Evidence. - * @memberof abci - * @classdesc Represents an Evidence. - * @implements IEvidence - * @constructor - * @param {abci.IEvidence=} [properties] Properties to set - */ - function Evidence(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + return ConsensusParams; + })(); - /** - * Evidence type. - * @member {string} type - * @memberof abci.Evidence - * @instance - */ - Evidence.prototype.type = ""; + abci.BlockParams = (function() { - /** - * Evidence validator. - * @member {abci.IValidator|null|undefined} validator - * @memberof abci.Evidence - * @instance - */ - Evidence.prototype.validator = null; + /** + * Properties of a BlockParams. + * @memberof tendermint.abci + * @interface IBlockParams + * @property {number|Long|null} [maxBytes] BlockParams maxBytes + * @property {number|Long|null} [maxGas] BlockParams maxGas + */ - /** - * Evidence height. - * @member {number|Long} height - * @memberof abci.Evidence - * @instance - */ - Evidence.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * Constructs a new BlockParams. + * @memberof tendermint.abci + * @classdesc Represents a BlockParams. + * @implements IBlockParams + * @constructor + * @param {tendermint.abci.IBlockParams=} [properties] Properties to set + */ + function BlockParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Evidence time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof abci.Evidence - * @instance - */ - Evidence.prototype.time = null; + /** + * BlockParams maxBytes. + * @member {number|Long} maxBytes + * @memberof tendermint.abci.BlockParams + * @instance + */ + BlockParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Evidence totalVotingPower. - * @member {number|Long} totalVotingPower - * @memberof abci.Evidence - * @instance - */ - Evidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * BlockParams maxGas. + * @member {number|Long} maxGas + * @memberof tendermint.abci.BlockParams + * @instance + */ + BlockParams.prototype.maxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Creates a new Evidence instance using the specified properties. - * @function create - * @memberof abci.Evidence - * @static - * @param {abci.IEvidence=} [properties] Properties to set - * @returns {abci.Evidence} Evidence instance - */ - Evidence.create = function create(properties) { - return new Evidence(properties); - }; + /** + * Creates a new BlockParams instance using the specified properties. + * @function create + * @memberof tendermint.abci.BlockParams + * @static + * @param {tendermint.abci.IBlockParams=} [properties] Properties to set + * @returns {tendermint.abci.BlockParams} BlockParams instance + */ + BlockParams.create = function create(properties) { + return new BlockParams(properties); + }; - /** - * Encodes the specified Evidence message. Does not implicitly {@link abci.Evidence.verify|verify} messages. - * @function encode - * @memberof abci.Evidence - * @static - * @param {abci.IEvidence} message Evidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Evidence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.validator != null && message.hasOwnProperty("validator")) - $root.abci.Validator.encode(message.validator, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && message.hasOwnProperty("height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.time != null && message.hasOwnProperty("time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.totalVotingPower); - return writer; - }; + /** + * Encodes the specified BlockParams message. Does not implicitly {@link tendermint.abci.BlockParams.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.BlockParams + * @static + * @param {tendermint.abci.IBlockParams} message BlockParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxBytes); + if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.maxGas); + return writer; + }; - /** - * Encodes the specified Evidence message, length delimited. Does not implicitly {@link abci.Evidence.verify|verify} messages. - * @function encodeDelimited - * @memberof abci.Evidence - * @static - * @param {abci.IEvidence} message Evidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Evidence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link tendermint.abci.BlockParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.BlockParams + * @static + * @param {tendermint.abci.IBlockParams} message BlockParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes an Evidence message from the specified reader or buffer. - * @function decode - * @memberof abci.Evidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {abci.Evidence} Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Evidence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.abci.Evidence(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - message.validator = $root.abci.Validator.decode(reader, reader.uint32()); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.totalVotingPower = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a BlockParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.BlockParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.BlockParams} BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.BlockParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxBytes = reader.int64(); + break; + case 2: + message.maxGas = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; - - /** - * Decodes an Evidence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof abci.Evidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {abci.Evidence} Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Evidence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Evidence message. - * @function verify - * @memberof abci.Evidence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Evidence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.validator != null && message.hasOwnProperty("validator")) { - var error = $root.abci.Validator.verify(message.validator); - if (error) - return "validator." + error; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.time != null && message.hasOwnProperty("time")) { - var error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) - return "totalVotingPower: integer|Long expected"; - return null; - }; - - /** - * Creates an Evidence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof abci.Evidence - * @static - * @param {Object.} object Plain object - * @returns {abci.Evidence} Evidence - */ - Evidence.fromObject = function fromObject(object) { - if (object instanceof $root.abci.Evidence) - return object; - var message = new $root.abci.Evidence(); - if (object.type != null) - message.type = String(object.type); - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".abci.Evidence.validator: object expected"); - message.validator = $root.abci.Validator.fromObject(object.validator); - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".abci.Evidence.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.totalVotingPower != null) - if ($util.Long) - (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; - else if (typeof object.totalVotingPower === "string") - message.totalVotingPower = parseInt(object.totalVotingPower, 10); - else if (typeof object.totalVotingPower === "number") - message.totalVotingPower = object.totalVotingPower; - else if (typeof object.totalVotingPower === "object") - message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from an Evidence message. Also converts values to other types if specified. - * @function toObject - * @memberof abci.Evidence - * @static - * @param {abci.Evidence} message Evidence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Evidence.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = ""; - object.validator = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.time = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalVotingPower = options.longs === String ? "0" : 0; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.abci.Validator.toObject(message.validator, options); - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (typeof message.totalVotingPower === "number") - object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; - else - object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; - return object; - }; + return message; + }; - /** - * Converts this Evidence to JSON. - * @function toJSON - * @memberof abci.Evidence - * @instance - * @returns {Object.} JSON object - */ - Evidence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a BlockParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.BlockParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.BlockParams} BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - return Evidence; - })(); + /** + * Verifies a BlockParams message. + * @function verify + * @memberof tendermint.abci.BlockParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) + return "maxBytes: integer|Long expected"; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + if (!$util.isInteger(message.maxGas) && !(message.maxGas && $util.isInteger(message.maxGas.low) && $util.isInteger(message.maxGas.high))) + return "maxGas: integer|Long expected"; + return null; + }; - abci.ABCIApplication = (function() { + /** + * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.BlockParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.BlockParams} BlockParams + */ + BlockParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.BlockParams) + return object; + var message = new $root.tendermint.abci.BlockParams(); + if (object.maxBytes != null) + if ($util.Long) + (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; + else if (typeof object.maxBytes === "string") + message.maxBytes = parseInt(object.maxBytes, 10); + else if (typeof object.maxBytes === "number") + message.maxBytes = object.maxBytes; + else if (typeof object.maxBytes === "object") + message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); + if (object.maxGas != null) + if ($util.Long) + (message.maxGas = $util.Long.fromValue(object.maxGas)).unsigned = false; + else if (typeof object.maxGas === "string") + message.maxGas = parseInt(object.maxGas, 10); + else if (typeof object.maxGas === "number") + message.maxGas = object.maxGas; + else if (typeof object.maxGas === "object") + message.maxGas = new $util.LongBits(object.maxGas.low >>> 0, object.maxGas.high >>> 0).toNumber(); + return message; + }; - /** - * Constructs a new ABCIApplication service. - * @memberof abci - * @classdesc Represents a ABCIApplication - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function ABCIApplication(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ABCIApplication.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ABCIApplication; - - /** - * Creates new ABCIApplication service using the specified rpc implementation. - * @function create - * @memberof abci.ABCIApplication - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {ABCIApplication} RPC service. Useful where requests and/or responses are streamed. - */ - ABCIApplication.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link abci.ABCIApplication#echo}. - * @memberof abci.ABCIApplication - * @typedef EchoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseEcho} [response] ResponseEcho - */ - - /** - * Calls Echo. - * @function echo - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestEcho} request RequestEcho message or plain object - * @param {abci.ABCIApplication.EchoCallback} callback Node-style callback called with the error, if any, and ResponseEcho - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.echo = function echo(request, callback) { - return this.rpcCall(echo, $root.abci.RequestEcho, $root.abci.ResponseEcho, request, callback); - }, "name", { value: "Echo" }); - - /** - * Calls Echo. - * @function echo - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestEcho} request RequestEcho message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#flush}. - * @memberof abci.ABCIApplication - * @typedef FlushCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseFlush} [response] ResponseFlush - */ - - /** - * Calls Flush. - * @function flush - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestFlush} request RequestFlush message or plain object - * @param {abci.ABCIApplication.FlushCallback} callback Node-style callback called with the error, if any, and ResponseFlush - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.flush = function flush(request, callback) { - return this.rpcCall(flush, $root.abci.RequestFlush, $root.abci.ResponseFlush, request, callback); - }, "name", { value: "Flush" }); - - /** - * Calls Flush. - * @function flush - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestFlush} request RequestFlush message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#info}. - * @memberof abci.ABCIApplication - * @typedef InfoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseInfo} [response] ResponseInfo - */ - - /** - * Calls Info. - * @function info - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestInfo} request RequestInfo message or plain object - * @param {abci.ABCIApplication.InfoCallback} callback Node-style callback called with the error, if any, and ResponseInfo - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.info = function info(request, callback) { - return this.rpcCall(info, $root.abci.RequestInfo, $root.abci.ResponseInfo, request, callback); - }, "name", { value: "Info" }); - - /** - * Calls Info. - * @function info - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestInfo} request RequestInfo message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#setOption}. - * @memberof abci.ABCIApplication - * @typedef SetOptionCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseSetOption} [response] ResponseSetOption - */ - - /** - * Calls SetOption. - * @function setOption - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestSetOption} request RequestSetOption message or plain object - * @param {abci.ABCIApplication.SetOptionCallback} callback Node-style callback called with the error, if any, and ResponseSetOption - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.setOption = function setOption(request, callback) { - return this.rpcCall(setOption, $root.abci.RequestSetOption, $root.abci.ResponseSetOption, request, callback); - }, "name", { value: "SetOption" }); - - /** - * Calls SetOption. - * @function setOption - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestSetOption} request RequestSetOption message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#deliverTx}. - * @memberof abci.ABCIApplication - * @typedef DeliverTxCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseDeliverTx} [response] ResponseDeliverTx - */ - - /** - * Calls DeliverTx. - * @function deliverTx - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestDeliverTx} request RequestDeliverTx message or plain object - * @param {abci.ABCIApplication.DeliverTxCallback} callback Node-style callback called with the error, if any, and ResponseDeliverTx - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.deliverTx = function deliverTx(request, callback) { - return this.rpcCall(deliverTx, $root.abci.RequestDeliverTx, $root.abci.ResponseDeliverTx, request, callback); - }, "name", { value: "DeliverTx" }); - - /** - * Calls DeliverTx. - * @function deliverTx - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestDeliverTx} request RequestDeliverTx message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#checkTx}. - * @memberof abci.ABCIApplication - * @typedef CheckTxCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseCheckTx} [response] ResponseCheckTx - */ - - /** - * Calls CheckTx. - * @function checkTx - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestCheckTx} request RequestCheckTx message or plain object - * @param {abci.ABCIApplication.CheckTxCallback} callback Node-style callback called with the error, if any, and ResponseCheckTx - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.checkTx = function checkTx(request, callback) { - return this.rpcCall(checkTx, $root.abci.RequestCheckTx, $root.abci.ResponseCheckTx, request, callback); - }, "name", { value: "CheckTx" }); - - /** - * Calls CheckTx. - * @function checkTx - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestCheckTx} request RequestCheckTx message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#query}. - * @memberof abci.ABCIApplication - * @typedef QueryCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseQuery} [response] ResponseQuery - */ - - /** - * Calls Query. - * @function query - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestQuery} request RequestQuery message or plain object - * @param {abci.ABCIApplication.QueryCallback} callback Node-style callback called with the error, if any, and ResponseQuery - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.query = function query(request, callback) { - return this.rpcCall(query, $root.abci.RequestQuery, $root.abci.ResponseQuery, request, callback); - }, "name", { value: "Query" }); - - /** - * Calls Query. - * @function query - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestQuery} request RequestQuery message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#commit}. - * @memberof abci.ABCIApplication - * @typedef CommitCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseCommit} [response] ResponseCommit - */ - - /** - * Calls Commit. - * @function commit - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestCommit} request RequestCommit message or plain object - * @param {abci.ABCIApplication.CommitCallback} callback Node-style callback called with the error, if any, and ResponseCommit - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.commit = function commit(request, callback) { - return this.rpcCall(commit, $root.abci.RequestCommit, $root.abci.ResponseCommit, request, callback); - }, "name", { value: "Commit" }); - - /** - * Calls Commit. - * @function commit - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestCommit} request RequestCommit message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#initChain}. - * @memberof abci.ABCIApplication - * @typedef InitChainCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseInitChain} [response] ResponseInitChain - */ - - /** - * Calls InitChain. - * @function initChain - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestInitChain} request RequestInitChain message or plain object - * @param {abci.ABCIApplication.InitChainCallback} callback Node-style callback called with the error, if any, and ResponseInitChain - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.initChain = function initChain(request, callback) { - return this.rpcCall(initChain, $root.abci.RequestInitChain, $root.abci.ResponseInitChain, request, callback); - }, "name", { value: "InitChain" }); - - /** - * Calls InitChain. - * @function initChain - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestInitChain} request RequestInitChain message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#beginBlock}. - * @memberof abci.ABCIApplication - * @typedef BeginBlockCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseBeginBlock} [response] ResponseBeginBlock - */ - - /** - * Calls BeginBlock. - * @function beginBlock - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestBeginBlock} request RequestBeginBlock message or plain object - * @param {abci.ABCIApplication.BeginBlockCallback} callback Node-style callback called with the error, if any, and ResponseBeginBlock - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.beginBlock = function beginBlock(request, callback) { - return this.rpcCall(beginBlock, $root.abci.RequestBeginBlock, $root.abci.ResponseBeginBlock, request, callback); - }, "name", { value: "BeginBlock" }); - - /** - * Calls BeginBlock. - * @function beginBlock - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestBeginBlock} request RequestBeginBlock message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link abci.ABCIApplication#endBlock}. - * @memberof abci.ABCIApplication - * @typedef EndBlockCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {abci.ResponseEndBlock} [response] ResponseEndBlock - */ - - /** - * Calls EndBlock. - * @function endBlock - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestEndBlock} request RequestEndBlock message or plain object - * @param {abci.ABCIApplication.EndBlockCallback} callback Node-style callback called with the error, if any, and ResponseEndBlock - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.endBlock = function endBlock(request, callback) { - return this.rpcCall(endBlock, $root.abci.RequestEndBlock, $root.abci.ResponseEndBlock, request, callback); - }, "name", { value: "EndBlock" }); - - /** - * Calls EndBlock. - * @function endBlock - * @memberof abci.ABCIApplication - * @instance - * @param {abci.IRequestEndBlock} request RequestEndBlock message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ABCIApplication; - })(); - - return abci; -})(); - -$root.google = (function() { - - /** - * Namespace google. - * @exports google - * @namespace - */ - var google = {}; + /** + * Creates a plain object from a BlockParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.BlockParams + * @static + * @param {tendermint.abci.BlockParams} message BlockParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxBytes = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxGas = options.longs === String ? "0" : 0; + } + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (typeof message.maxBytes === "number") + object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; + else + object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + if (typeof message.maxGas === "number") + object.maxGas = options.longs === String ? String(message.maxGas) : message.maxGas; + else + object.maxGas = options.longs === String ? $util.Long.prototype.toString.call(message.maxGas) : options.longs === Number ? new $util.LongBits(message.maxGas.low >>> 0, message.maxGas.high >>> 0).toNumber() : message.maxGas; + return object; + }; - google.protobuf = (function() { + /** + * Converts this BlockParams to JSON. + * @function toJSON + * @memberof tendermint.abci.BlockParams + * @instance + * @returns {Object.} JSON object + */ + BlockParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Namespace protobuf. - * @memberof google - * @namespace - */ - var protobuf = {}; + return BlockParams; + })(); - protobuf.FileDescriptorSet = (function() { + abci.LastCommitInfo = (function() { /** - * Properties of a FileDescriptorSet. - * @memberof google.protobuf - * @interface IFileDescriptorSet - * @property {Array.|null} [file] FileDescriptorSet file + * Properties of a LastCommitInfo. + * @memberof tendermint.abci + * @interface ILastCommitInfo + * @property {number|null} [round] LastCommitInfo round + * @property {Array.|null} [votes] LastCommitInfo votes */ /** - * Constructs a new FileDescriptorSet. - * @memberof google.protobuf - * @classdesc Represents a FileDescriptorSet. - * @implements IFileDescriptorSet + * Constructs a new LastCommitInfo. + * @memberof tendermint.abci + * @classdesc Represents a LastCommitInfo. + * @implements ILastCommitInfo * @constructor - * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @param {tendermint.abci.ILastCommitInfo=} [properties] Properties to set */ - function FileDescriptorSet(properties) { - this.file = []; + function LastCommitInfo(properties) { + this.votes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11215,78 +9649,91 @@ $root.google = (function() { } /** - * FileDescriptorSet file. - * @member {Array.} file - * @memberof google.protobuf.FileDescriptorSet + * LastCommitInfo round. + * @member {number} round + * @memberof tendermint.abci.LastCommitInfo * @instance */ - FileDescriptorSet.prototype.file = $util.emptyArray; + LastCommitInfo.prototype.round = 0; /** - * Creates a new FileDescriptorSet instance using the specified properties. + * LastCommitInfo votes. + * @member {Array.} votes + * @memberof tendermint.abci.LastCommitInfo + * @instance + */ + LastCommitInfo.prototype.votes = $util.emptyArray; + + /** + * Creates a new LastCommitInfo instance using the specified properties. * @function create - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static - * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + * @param {tendermint.abci.ILastCommitInfo=} [properties] Properties to set + * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo instance */ - FileDescriptorSet.create = function create(properties) { - return new FileDescriptorSet(properties); + LastCommitInfo.create = function create(properties) { + return new LastCommitInfo(properties); }; /** - * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * Encodes the specified LastCommitInfo message. Does not implicitly {@link tendermint.abci.LastCommitInfo.verify|verify} messages. * @function encode - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static - * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {tendermint.abci.ILastCommitInfo} message LastCommitInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FileDescriptorSet.encode = function encode(message, writer) { + LastCommitInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.file != null && message.file.length) - for (var i = 0; i < message.file.length; ++i) - $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.round); + if (message.votes != null && message.votes.length) + for (var i = 0; i < message.votes.length; ++i) + $root.tendermint.abci.VoteInfo.encode(message.votes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * Encodes the specified LastCommitInfo message, length delimited. Does not implicitly {@link tendermint.abci.LastCommitInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static - * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {tendermint.abci.ILastCommitInfo} message LastCommitInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + LastCommitInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FileDescriptorSet message from the specified reader or buffer. + * Decodes a LastCommitInfo message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length) { + LastCommitInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.LastCommitInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.file && message.file.length)) - message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.round = reader.int32(); + break; + case 2: + if (!(message.votes && message.votes.length)) + message.votes = []; + message.votes.push($root.tendermint.abci.VoteInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -11297,142 +9744,135 @@ $root.google = (function() { }; /** - * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * Decodes a LastCommitInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + LastCommitInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FileDescriptorSet message. + * Verifies a LastCommitInfo message. * @function verify - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + LastCommitInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.file != null && message.hasOwnProperty("file")) { - if (!Array.isArray(message.file)) - return "file: array expected"; - for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.votes != null && message.hasOwnProperty("votes")) { + if (!Array.isArray(message.votes)) + return "votes: array expected"; + for (var i = 0; i < message.votes.length; ++i) { + var error = $root.tendermint.abci.VoteInfo.verify(message.votes[i]); if (error) - return "file." + error; + return "votes." + error; } } return null; }; /** - * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * Creates a LastCommitInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static * @param {Object.} object Plain object - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo */ - FileDescriptorSet.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FileDescriptorSet) + LastCommitInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.LastCommitInfo) return object; - var message = new $root.google.protobuf.FileDescriptorSet(); - if (object.file) { - if (!Array.isArray(object.file)) - throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); - message.file = []; - for (var i = 0; i < object.file.length; ++i) { - if (typeof object.file[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + var message = new $root.tendermint.abci.LastCommitInfo(); + if (object.round != null) + message.round = object.round | 0; + if (object.votes) { + if (!Array.isArray(object.votes)) + throw TypeError(".tendermint.abci.LastCommitInfo.votes: array expected"); + message.votes = []; + for (var i = 0; i < object.votes.length; ++i) { + if (typeof object.votes[i] !== "object") + throw TypeError(".tendermint.abci.LastCommitInfo.votes: object expected"); + message.votes[i] = $root.tendermint.abci.VoteInfo.fromObject(object.votes[i]); } } return message; }; /** - * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * Creates a plain object from a LastCommitInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @static - * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {tendermint.abci.LastCommitInfo} message LastCommitInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FileDescriptorSet.toObject = function toObject(message, options) { + LastCommitInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.file = []; - if (message.file && message.file.length) { - object.file = []; - for (var j = 0; j < message.file.length; ++j) - object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + object.votes = []; + if (options.defaults) + object.round = 0; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.votes && message.votes.length) { + object.votes = []; + for (var j = 0; j < message.votes.length; ++j) + object.votes[j] = $root.tendermint.abci.VoteInfo.toObject(message.votes[j], options); } return object; }; /** - * Converts this FileDescriptorSet to JSON. + * Converts this LastCommitInfo to JSON. * @function toJSON - * @memberof google.protobuf.FileDescriptorSet + * @memberof tendermint.abci.LastCommitInfo * @instance * @returns {Object.} JSON object */ - FileDescriptorSet.prototype.toJSON = function toJSON() { + LastCommitInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return FileDescriptorSet; + return LastCommitInfo; })(); - protobuf.FileDescriptorProto = (function() { + abci.Event = (function() { /** - * Properties of a FileDescriptorProto. - * @memberof google.protobuf - * @interface IFileDescriptorProto - * @property {string|null} [name] FileDescriptorProto name - * @property {string|null} ["package"] FileDescriptorProto package - * @property {Array.|null} [dependency] FileDescriptorProto dependency - * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency - * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency - * @property {Array.|null} [messageType] FileDescriptorProto messageType - * @property {Array.|null} [enumType] FileDescriptorProto enumType - * @property {Array.|null} [service] FileDescriptorProto service - * @property {Array.|null} [extension] FileDescriptorProto extension - * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options - * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo - * @property {string|null} [syntax] FileDescriptorProto syntax + * Properties of an Event. + * @memberof tendermint.abci + * @interface IEvent + * @property {string|null} [type] Event type + * @property {Array.|null} [attributes] Event attributes */ /** - * Constructs a new FileDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a FileDescriptorProto. - * @implements IFileDescriptorProto + * Constructs a new Event. + * @memberof tendermint.abci + * @classdesc Represents an Event. + * @implements IEvent * @constructor - * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + * @param {tendermint.abci.IEvent=} [properties] Properties to set */ - function FileDescriptorProto(properties) { - this.dependency = []; - this.publicDependency = []; - this.weakDependency = []; - this.messageType = []; - this.enumType = []; - this.service = []; - this.extension = []; + function Event(properties) { + this.attributes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11440,252 +9880,335 @@ $root.google = (function() { } /** - * FileDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.FileDescriptorProto + * Event type. + * @member {string} type + * @memberof tendermint.abci.Event * @instance */ - FileDescriptorProto.prototype.name = ""; + Event.prototype.type = ""; /** - * FileDescriptorProto package. - * @member {string} package - * @memberof google.protobuf.FileDescriptorProto + * Event attributes. + * @member {Array.} attributes + * @memberof tendermint.abci.Event * @instance */ - FileDescriptorProto.prototype["package"] = ""; + Event.prototype.attributes = $util.emptyArray; /** - * FileDescriptorProto dependency. - * @member {Array.} dependency - * @memberof google.protobuf.FileDescriptorProto - * @instance + * Creates a new Event instance using the specified properties. + * @function create + * @memberof tendermint.abci.Event + * @static + * @param {tendermint.abci.IEvent=} [properties] Properties to set + * @returns {tendermint.abci.Event} Event instance */ - FileDescriptorProto.prototype.dependency = $util.emptyArray; + Event.create = function create(properties) { + return new Event(properties); + }; /** - * FileDescriptorProto publicDependency. - * @member {Array.} publicDependency - * @memberof google.protobuf.FileDescriptorProto - * @instance + * Encodes the specified Event message. Does not implicitly {@link tendermint.abci.Event.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.Event + * @static + * @param {tendermint.abci.IEvent} message Event message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + Event.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.attributes != null && message.attributes.length) + for (var i = 0; i < message.attributes.length; ++i) + $root.tendermint.abci.EventAttribute.encode(message.attributes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; /** - * FileDescriptorProto weakDependency. - * @member {Array.} weakDependency - * @memberof google.protobuf.FileDescriptorProto - * @instance + * Encodes the specified Event message, length delimited. Does not implicitly {@link tendermint.abci.Event.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.Event + * @static + * @param {tendermint.abci.IEvent} message Event message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + Event.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FileDescriptorProto messageType. - * @member {Array.} messageType - * @memberof google.protobuf.FileDescriptorProto - * @instance + * Decodes an Event message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.Event + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.Event} Event + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.prototype.messageType = $util.emptyArray; + Event.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Event(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + if (!(message.attributes && message.attributes.length)) + message.attributes = []; + message.attributes.push($root.tendermint.abci.EventAttribute.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FileDescriptorProto enumType. - * @member {Array.} enumType - * @memberof google.protobuf.FileDescriptorProto - * @instance + * Decodes an Event message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.Event + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.Event} Event + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.prototype.enumType = $util.emptyArray; + Event.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FileDescriptorProto service. - * @member {Array.} service - * @memberof google.protobuf.FileDescriptorProto - * @instance + * Verifies an Event message. + * @function verify + * @memberof tendermint.abci.Event + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.prototype.service = $util.emptyArray; + Event.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.attributes != null && message.hasOwnProperty("attributes")) { + if (!Array.isArray(message.attributes)) + return "attributes: array expected"; + for (var i = 0; i < message.attributes.length; ++i) { + var error = $root.tendermint.abci.EventAttribute.verify(message.attributes[i]); + if (error) + return "attributes." + error; + } + } + return null; + }; /** - * FileDescriptorProto extension. - * @member {Array.} extension - * @memberof google.protobuf.FileDescriptorProto + * Creates an Event message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.Event + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.Event} Event + */ + Event.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.Event) + return object; + var message = new $root.tendermint.abci.Event(); + if (object.type != null) + message.type = String(object.type); + if (object.attributes) { + if (!Array.isArray(object.attributes)) + throw TypeError(".tendermint.abci.Event.attributes: array expected"); + message.attributes = []; + for (var i = 0; i < object.attributes.length; ++i) { + if (typeof object.attributes[i] !== "object") + throw TypeError(".tendermint.abci.Event.attributes: object expected"); + message.attributes[i] = $root.tendermint.abci.EventAttribute.fromObject(object.attributes[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an Event message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.Event + * @static + * @param {tendermint.abci.Event} message Event + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Event.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.attributes = []; + if (options.defaults) + object.type = ""; + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.attributes && message.attributes.length) { + object.attributes = []; + for (var j = 0; j < message.attributes.length; ++j) + object.attributes[j] = $root.tendermint.abci.EventAttribute.toObject(message.attributes[j], options); + } + return object; + }; + + /** + * Converts this Event to JSON. + * @function toJSON + * @memberof tendermint.abci.Event * @instance + * @returns {Object.} JSON object */ - FileDescriptorProto.prototype.extension = $util.emptyArray; + Event.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Event; + })(); + + abci.EventAttribute = (function() { /** - * FileDescriptorProto options. - * @member {google.protobuf.IFileOptions|null|undefined} options - * @memberof google.protobuf.FileDescriptorProto + * Properties of an EventAttribute. + * @memberof tendermint.abci + * @interface IEventAttribute + * @property {Uint8Array|null} [key] EventAttribute key + * @property {Uint8Array|null} [value] EventAttribute value + * @property {boolean|null} [index] EventAttribute index + */ + + /** + * Constructs a new EventAttribute. + * @memberof tendermint.abci + * @classdesc Represents an EventAttribute. + * @implements IEventAttribute + * @constructor + * @param {tendermint.abci.IEventAttribute=} [properties] Properties to set + */ + function EventAttribute(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EventAttribute key. + * @member {Uint8Array} key + * @memberof tendermint.abci.EventAttribute * @instance */ - FileDescriptorProto.prototype.options = null; + EventAttribute.prototype.key = $util.newBuffer([]); /** - * FileDescriptorProto sourceCodeInfo. - * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo - * @memberof google.protobuf.FileDescriptorProto + * EventAttribute value. + * @member {Uint8Array} value + * @memberof tendermint.abci.EventAttribute * @instance */ - FileDescriptorProto.prototype.sourceCodeInfo = null; + EventAttribute.prototype.value = $util.newBuffer([]); /** - * FileDescriptorProto syntax. - * @member {string} syntax - * @memberof google.protobuf.FileDescriptorProto + * EventAttribute index. + * @member {boolean} index + * @memberof tendermint.abci.EventAttribute * @instance */ - FileDescriptorProto.prototype.syntax = ""; + EventAttribute.prototype.index = false; /** - * Creates a new FileDescriptorProto instance using the specified properties. + * Creates a new EventAttribute instance using the specified properties. * @function create - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static - * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance + * @param {tendermint.abci.IEventAttribute=} [properties] Properties to set + * @returns {tendermint.abci.EventAttribute} EventAttribute instance */ - FileDescriptorProto.create = function create(properties) { - return new FileDescriptorProto(properties); + EventAttribute.create = function create(properties) { + return new EventAttribute(properties); }; /** - * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * Encodes the specified EventAttribute message. Does not implicitly {@link tendermint.abci.EventAttribute.verify|verify} messages. * @function encode - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static - * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {tendermint.abci.IEventAttribute} message EventAttribute message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FileDescriptorProto.encode = function encode(message, writer) { + EventAttribute.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message["package"] != null && message.hasOwnProperty("package")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); - if (message.dependency != null && message.dependency.length) - for (var i = 0; i < message.dependency.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); - if (message.messageType != null && message.messageType.length) - for (var i = 0; i < message.messageType.length; ++i) - $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.enumType != null && message.enumType.length) - for (var i = 0; i < message.enumType.length; ++i) - $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.service != null && message.service.length) - for (var i = 0; i < message.service.length; ++i) - $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.extension != null && message.extension.length) - for (var i = 0; i < message.extension.length; ++i) - $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) - $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.publicDependency != null && message.publicDependency.length) - for (var i = 0; i < message.publicDependency.length; ++i) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); - if (message.weakDependency != null && message.weakDependency.length) - for (var i = 0; i < message.weakDependency.length; ++i) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); - if (message.syntax != null && message.hasOwnProperty("syntax")) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.index); return writer; }; /** - * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * Encodes the specified EventAttribute message, length delimited. Does not implicitly {@link tendermint.abci.EventAttribute.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static - * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {tendermint.abci.IEventAttribute} message EventAttribute message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + EventAttribute.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FileDescriptorProto message from the specified reader or buffer. + * Decodes an EventAttribute message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @returns {tendermint.abci.EventAttribute} EventAttribute * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length) { + EventAttribute.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.EventAttribute(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.key = reader.bytes(); break; case 2: - message["package"] = reader.string(); + message.value = reader.bytes(); break; case 3: - if (!(message.dependency && message.dependency.length)) - message.dependency = []; - message.dependency.push(reader.string()); - break; - case 10: - if (!(message.publicDependency && message.publicDependency.length)) - message.publicDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.publicDependency.push(reader.int32()); - } else - message.publicDependency.push(reader.int32()); - break; - case 11: - if (!(message.weakDependency && message.weakDependency.length)) - message.weakDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.weakDependency.push(reader.int32()); - } else - message.weakDependency.push(reader.int32()); + message.index = reader.bool(); break; - case 4: - if (!(message.messageType && message.messageType.length)) - message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.service && message.service.length)) - message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); - break; - case 7: - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 8: - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); - break; - case 9: - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); - break; - case 12: - message.syntax = reader.string(); - break; - default: - reader.skipType(tag & 7); + default: + reader.skipType(tag & 7); break; } } @@ -11693,329 +10216,145 @@ $root.google = (function() { }; /** - * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes an EventAttribute message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @returns {tendermint.abci.EventAttribute} EventAttribute * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + EventAttribute.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FileDescriptorProto message. + * Verifies an EventAttribute message. * @function verify - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + EventAttribute.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message["package"] != null && message.hasOwnProperty("package")) - if (!$util.isString(message["package"])) - return "package: string expected"; - if (message.dependency != null && message.hasOwnProperty("dependency")) { - if (!Array.isArray(message.dependency)) - return "dependency: array expected"; - for (var i = 0; i < message.dependency.length; ++i) - if (!$util.isString(message.dependency[i])) - return "dependency: string[] expected"; - } - if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { - if (!Array.isArray(message.publicDependency)) - return "publicDependency: array expected"; - for (var i = 0; i < message.publicDependency.length; ++i) - if (!$util.isInteger(message.publicDependency[i])) - return "publicDependency: integer[] expected"; - } - if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { - if (!Array.isArray(message.weakDependency)) - return "weakDependency: array expected"; - for (var i = 0; i < message.weakDependency.length; ++i) - if (!$util.isInteger(message.weakDependency[i])) - return "weakDependency: integer[] expected"; - } - if (message.messageType != null && message.hasOwnProperty("messageType")) { - if (!Array.isArray(message.messageType)) - return "messageType: array expected"; - for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); - if (error) - return "messageType." + error; - } - } - if (message.enumType != null && message.hasOwnProperty("enumType")) { - if (!Array.isArray(message.enumType)) - return "enumType: array expected"; - for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); - if (error) - return "enumType." + error; - } - } - if (message.service != null && message.hasOwnProperty("service")) { - if (!Array.isArray(message.service)) - return "service: array expected"; - for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); - if (error) - return "service." + error; - } - } - if (message.extension != null && message.hasOwnProperty("extension")) { - if (!Array.isArray(message.extension)) - return "extension: array expected"; - for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); - if (error) - return "extension." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); - if (error) - return "sourceCodeInfo." + error; - } - if (message.syntax != null && message.hasOwnProperty("syntax")) - if (!$util.isString(message.syntax)) - return "syntax: string expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (typeof message.index !== "boolean") + return "index: boolean expected"; return null; }; /** - * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates an EventAttribute message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static * @param {Object.} object Plain object - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @returns {tendermint.abci.EventAttribute} EventAttribute */ - FileDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FileDescriptorProto) + EventAttribute.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.EventAttribute) return object; - var message = new $root.google.protobuf.FileDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object["package"] != null) - message["package"] = String(object["package"]); - if (object.dependency) { - if (!Array.isArray(object.dependency)) - throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); - message.dependency = []; - for (var i = 0; i < object.dependency.length; ++i) - message.dependency[i] = String(object.dependency[i]); - } - if (object.publicDependency) { - if (!Array.isArray(object.publicDependency)) - throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); - message.publicDependency = []; - for (var i = 0; i < object.publicDependency.length; ++i) - message.publicDependency[i] = object.publicDependency[i] | 0; - } - if (object.weakDependency) { - if (!Array.isArray(object.weakDependency)) - throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); - message.weakDependency = []; - for (var i = 0; i < object.weakDependency.length; ++i) - message.weakDependency[i] = object.weakDependency[i] | 0; - } - if (object.messageType) { - if (!Array.isArray(object.messageType)) - throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); - message.messageType = []; - for (var i = 0; i < object.messageType.length; ++i) { - if (typeof object.messageType[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); - } - } - if (object.enumType) { - if (!Array.isArray(object.enumType)) - throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); - message.enumType = []; - for (var i = 0; i < object.enumType.length; ++i) { - if (typeof object.enumType[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); - } - } - if (object.service) { - if (!Array.isArray(object.service)) - throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); - message.service = []; - for (var i = 0; i < object.service.length; ++i) { - if (typeof object.service[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); - } - } - if (object.extension) { - if (!Array.isArray(object.extension)) - throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); - message.extension = []; - for (var i = 0; i < object.extension.length; ++i) { - if (typeof object.extension[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); - } - if (object.sourceCodeInfo != null) { - if (typeof object.sourceCodeInfo !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); - } - if (object.syntax != null) - message.syntax = String(object.syntax); + var message = new $root.tendermint.abci.EventAttribute(); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + if (object.index != null) + message.index = Boolean(object.index); return message; }; /** - * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from an EventAttribute message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @static - * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto + * @param {tendermint.abci.EventAttribute} message EventAttribute * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FileDescriptorProto.toObject = function toObject(message, options) { + EventAttribute.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.dependency = []; - object.messageType = []; - object.enumType = []; - object.service = []; - object.extension = []; - object.publicDependency = []; - object.weakDependency = []; - } if (options.defaults) { - object.name = ""; - object["package"] = ""; - object.options = null; - object.sourceCodeInfo = null; - object.syntax = ""; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message["package"] != null && message.hasOwnProperty("package")) - object["package"] = message["package"]; - if (message.dependency && message.dependency.length) { - object.dependency = []; - for (var j = 0; j < message.dependency.length; ++j) - object.dependency[j] = message.dependency[j]; - } - if (message.messageType && message.messageType.length) { - object.messageType = []; - for (var j = 0; j < message.messageType.length; ++j) - object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); - } - if (message.enumType && message.enumType.length) { - object.enumType = []; - for (var j = 0; j < message.enumType.length; ++j) - object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); - } - if (message.service && message.service.length) { - object.service = []; - for (var j = 0; j < message.service.length; ++j) - object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); - } - if (message.extension && message.extension.length) { - object.extension = []; - for (var j = 0; j < message.extension.length; ++j) - object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) - object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); - if (message.publicDependency && message.publicDependency.length) { - object.publicDependency = []; - for (var j = 0; j < message.publicDependency.length; ++j) - object.publicDependency[j] = message.publicDependency[j]; - } - if (message.weakDependency && message.weakDependency.length) { - object.weakDependency = []; - for (var j = 0; j < message.weakDependency.length; ++j) - object.weakDependency[j] = message.weakDependency[j]; - } - if (message.syntax != null && message.hasOwnProperty("syntax")) - object.syntax = message.syntax; + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + object.index = false; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; return object; }; /** - * Converts this FileDescriptorProto to JSON. + * Converts this EventAttribute to JSON. * @function toJSON - * @memberof google.protobuf.FileDescriptorProto + * @memberof tendermint.abci.EventAttribute * @instance * @returns {Object.} JSON object */ - FileDescriptorProto.prototype.toJSON = function toJSON() { + EventAttribute.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return FileDescriptorProto; + return EventAttribute; })(); - protobuf.DescriptorProto = (function() { + abci.TxResult = (function() { /** - * Properties of a DescriptorProto. - * @memberof google.protobuf - * @interface IDescriptorProto - * @property {string|null} [name] DescriptorProto name - * @property {Array.|null} [field] DescriptorProto field - * @property {Array.|null} [extension] DescriptorProto extension - * @property {Array.|null} [nestedType] DescriptorProto nestedType - * @property {Array.|null} [enumType] DescriptorProto enumType - * @property {Array.|null} [extensionRange] DescriptorProto extensionRange - * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl - * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options - * @property {Array.|null} [reservedRange] DescriptorProto reservedRange - * @property {Array.|null} [reservedName] DescriptorProto reservedName + * Properties of a TxResult. + * @memberof tendermint.abci + * @interface ITxResult + * @property {number|Long|null} [height] TxResult height + * @property {number|null} [index] TxResult index + * @property {Uint8Array|null} [tx] TxResult tx + * @property {tendermint.abci.IResponseDeliverTx|null} [result] TxResult result */ /** - * Constructs a new DescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a DescriptorProto. - * @implements IDescriptorProto + * Constructs a new TxResult. + * @memberof tendermint.abci + * @classdesc Represents a TxResult. + * @implements ITxResult * @constructor - * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + * @param {tendermint.abci.ITxResult=} [properties] Properties to set */ - function DescriptorProto(properties) { - this.field = []; - this.extension = []; - this.nestedType = []; - this.enumType = []; - this.extensionRange = []; - this.oneofDecl = []; - this.reservedRange = []; - this.reservedName = []; + function TxResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -12023,216 +10362,114 @@ $root.google = (function() { } /** - * DescriptorProto name. - * @member {string} name - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.name = ""; - - /** - * DescriptorProto field. - * @member {Array.} field - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.field = $util.emptyArray; - - /** - * DescriptorProto extension. - * @member {Array.} extension - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.extension = $util.emptyArray; - - /** - * DescriptorProto nestedType. - * @member {Array.} nestedType - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.nestedType = $util.emptyArray; - - /** - * DescriptorProto enumType. - * @member {Array.} enumType - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.enumType = $util.emptyArray; - - /** - * DescriptorProto extensionRange. - * @member {Array.} extensionRange - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.extensionRange = $util.emptyArray; - - /** - * DescriptorProto oneofDecl. - * @member {Array.} oneofDecl - * @memberof google.protobuf.DescriptorProto + * TxResult height. + * @member {number|Long} height + * @memberof tendermint.abci.TxResult * @instance */ - DescriptorProto.prototype.oneofDecl = $util.emptyArray; + TxResult.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * DescriptorProto options. - * @member {google.protobuf.IMessageOptions|null|undefined} options - * @memberof google.protobuf.DescriptorProto + * TxResult index. + * @member {number} index + * @memberof tendermint.abci.TxResult * @instance */ - DescriptorProto.prototype.options = null; + TxResult.prototype.index = 0; /** - * DescriptorProto reservedRange. - * @member {Array.} reservedRange - * @memberof google.protobuf.DescriptorProto + * TxResult tx. + * @member {Uint8Array} tx + * @memberof tendermint.abci.TxResult * @instance */ - DescriptorProto.prototype.reservedRange = $util.emptyArray; + TxResult.prototype.tx = $util.newBuffer([]); /** - * DescriptorProto reservedName. - * @member {Array.} reservedName - * @memberof google.protobuf.DescriptorProto + * TxResult result. + * @member {tendermint.abci.IResponseDeliverTx|null|undefined} result + * @memberof tendermint.abci.TxResult * @instance */ - DescriptorProto.prototype.reservedName = $util.emptyArray; + TxResult.prototype.result = null; /** - * Creates a new DescriptorProto instance using the specified properties. + * Creates a new TxResult instance using the specified properties. * @function create - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.TxResult * @static - * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.DescriptorProto} DescriptorProto instance + * @param {tendermint.abci.ITxResult=} [properties] Properties to set + * @returns {tendermint.abci.TxResult} TxResult instance */ - DescriptorProto.create = function create(properties) { - return new DescriptorProto(properties); + TxResult.create = function create(properties) { + return new TxResult(properties); }; /** - * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * Encodes the specified TxResult message. Does not implicitly {@link tendermint.abci.TxResult.verify|verify} messages. * @function encode - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.TxResult * @static - * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {tendermint.abci.ITxResult} message TxResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DescriptorProto.encode = function encode(message, writer) { + TxResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.field != null && message.field.length) - for (var i = 0; i < message.field.length; ++i) - $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.nestedType != null && message.nestedType.length) - for (var i = 0; i < message.nestedType.length; ++i) - $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.enumType != null && message.enumType.length) - for (var i = 0; i < message.enumType.length; ++i) - $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.extensionRange != null && message.extensionRange.length) - for (var i = 0; i < message.extensionRange.length; ++i) - $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.extension != null && message.extension.length) - for (var i = 0; i < message.extension.length; ++i) - $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.oneofDecl != null && message.oneofDecl.length) - for (var i = 0; i < message.oneofDecl.length; ++i) - $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.reservedRange != null && message.reservedRange.length) - for (var i = 0; i < message.reservedRange.length; ++i) - $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.reservedName != null && message.reservedName.length) - for (var i = 0; i < message.reservedName.length; ++i) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.index); + if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.tx); + if (message.result != null && Object.hasOwnProperty.call(message, "result")) + $root.tendermint.abci.ResponseDeliverTx.encode(message.result, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * Encodes the specified TxResult message, length delimited. Does not implicitly {@link tendermint.abci.TxResult.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.TxResult * @static - * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {tendermint.abci.ITxResult} message TxResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + TxResult.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DescriptorProto message from the specified reader or buffer. + * Decodes a TxResult message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.TxResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @returns {tendermint.abci.TxResult} TxResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length) { + TxResult.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.TxResult(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.height = reader.int64(); break; case 2: - if (!(message.field && message.field.length)) - message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.index = reader.uint32(); break; case 3: - if (!(message.nestedType && message.nestedType.length)) - message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.tx = reader.bytes(); break; case 4: - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.extensionRange && message.extensionRange.length)) - message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.oneofDecl && message.oneofDecl.length)) - message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); - break; - case 7: - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); - break; - case 9: - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); - break; - case 10: - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); + message.result = $root.tendermint.abci.ResponseDeliverTx.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -12243,845 +10480,712 @@ $root.google = (function() { }; /** - * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a TxResult message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.TxResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @returns {tendermint.abci.TxResult} TxResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decodeDelimited = function decodeDelimited(reader) { + TxResult.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DescriptorProto message. + * Verifies a TxResult message. * @function verify - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.TxResult * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + TxResult.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.field != null && message.hasOwnProperty("field")) { - if (!Array.isArray(message.field)) - return "field: array expected"; - for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); - if (error) - return "field." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index)) + return "index: integer expected"; + if (message.tx != null && message.hasOwnProperty("tx")) + if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) + return "tx: buffer expected"; + if (message.result != null && message.hasOwnProperty("result")) { + var error = $root.tendermint.abci.ResponseDeliverTx.verify(message.result); + if (error) + return "result." + error; } - if (message.extension != null && message.hasOwnProperty("extension")) { - if (!Array.isArray(message.extension)) - return "extension: array expected"; - for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); - if (error) - return "extension." + error; - } + return null; + }; + + /** + * Creates a TxResult message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.TxResult + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.TxResult} TxResult + */ + TxResult.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.TxResult) + return object; + var message = new $root.tendermint.abci.TxResult(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.index != null) + message.index = object.index >>> 0; + if (object.tx != null) + if (typeof object.tx === "string") + $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); + else if (object.tx.length) + message.tx = object.tx; + if (object.result != null) { + if (typeof object.result !== "object") + throw TypeError(".tendermint.abci.TxResult.result: object expected"); + message.result = $root.tendermint.abci.ResponseDeliverTx.fromObject(object.result); } - if (message.nestedType != null && message.hasOwnProperty("nestedType")) { - if (!Array.isArray(message.nestedType)) - return "nestedType: array expected"; - for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); - if (error) - return "nestedType." + error; + return message; + }; + + /** + * Creates a plain object from a TxResult message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.TxResult + * @static + * @param {tendermint.abci.TxResult} message TxResult + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TxResult.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.index = 0; + if (options.bytes === String) + object.tx = ""; + else { + object.tx = []; + if (options.bytes !== Array) + object.tx = $util.newBuffer(object.tx); } + object.result = null; } - if (message.enumType != null && message.hasOwnProperty("enumType")) { - if (!Array.isArray(message.enumType)) - return "enumType: array expected"; - for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); - if (error) - return "enumType." + error; - } - } - if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { - if (!Array.isArray(message.extensionRange)) - return "extensionRange: array expected"; - for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); - if (error) - return "extensionRange." + error; - } - } - if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { - if (!Array.isArray(message.oneofDecl)) - return "oneofDecl: array expected"; - for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); - if (error) - return "oneofDecl." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { - if (!Array.isArray(message.reservedRange)) - return "reservedRange: array expected"; - for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); - if (error) - return "reservedRange." + error; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; + if (message.tx != null && message.hasOwnProperty("tx")) + object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; + if (message.result != null && message.hasOwnProperty("result")) + object.result = $root.tendermint.abci.ResponseDeliverTx.toObject(message.result, options); + return object; + }; + + /** + * Converts this TxResult to JSON. + * @function toJSON + * @memberof tendermint.abci.TxResult + * @instance + * @returns {Object.} JSON object + */ + TxResult.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TxResult; + })(); + + abci.Validator = (function() { + + /** + * Properties of a Validator. + * @memberof tendermint.abci + * @interface IValidator + * @property {Uint8Array|null} [address] Validator address + * @property {number|Long|null} [power] Validator power + */ + + /** + * Constructs a new Validator. + * @memberof tendermint.abci + * @classdesc Represents a Validator. + * @implements IValidator + * @constructor + * @param {tendermint.abci.IValidator=} [properties] Properties to set + */ + function Validator(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Validator address. + * @member {Uint8Array} address + * @memberof tendermint.abci.Validator + * @instance + */ + Validator.prototype.address = $util.newBuffer([]); + + /** + * Validator power. + * @member {number|Long} power + * @memberof tendermint.abci.Validator + * @instance + */ + Validator.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new Validator instance using the specified properties. + * @function create + * @memberof tendermint.abci.Validator + * @static + * @param {tendermint.abci.IValidator=} [properties] Properties to set + * @returns {tendermint.abci.Validator} Validator instance + */ + Validator.create = function create(properties) { + return new Validator(properties); + }; + + /** + * Encodes the specified Validator message. Does not implicitly {@link tendermint.abci.Validator.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.Validator + * @static + * @param {tendermint.abci.IValidator} message Validator message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Validator.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.address != null && Object.hasOwnProperty.call(message, "address")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.address); + if (message.power != null && Object.hasOwnProperty.call(message, "power")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.power); + return writer; + }; + + /** + * Encodes the specified Validator message, length delimited. Does not implicitly {@link tendermint.abci.Validator.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.Validator + * @static + * @param {tendermint.abci.IValidator} message Validator message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Validator.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Validator message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.Validator + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.Validator} Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Validator.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Validator(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.bytes(); + break; + case 3: + message.power = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; } } - if (message.reservedName != null && message.hasOwnProperty("reservedName")) { - if (!Array.isArray(message.reservedName)) - return "reservedName: array expected"; - for (var i = 0; i < message.reservedName.length; ++i) - if (!$util.isString(message.reservedName[i])) - return "reservedName: string[] expected"; - } + return message; + }; + + /** + * Decodes a Validator message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.Validator + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.Validator} Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Validator.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Validator message. + * @function verify + * @memberof tendermint.abci.Validator + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Validator.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.address != null && message.hasOwnProperty("address")) + if (!(message.address && typeof message.address.length === "number" || $util.isString(message.address))) + return "address: buffer expected"; + if (message.power != null && message.hasOwnProperty("power")) + if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) + return "power: integer|Long expected"; return null; }; /** - * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a Validator message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.Validator * @static * @param {Object.} object Plain object - * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @returns {tendermint.abci.Validator} Validator */ - DescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.DescriptorProto) + Validator.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.Validator) return object; - var message = new $root.google.protobuf.DescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.field) { - if (!Array.isArray(object.field)) - throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); - message.field = []; - for (var i = 0; i < object.field.length; ++i) { - if (typeof object.field[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); - } - } - if (object.extension) { - if (!Array.isArray(object.extension)) - throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); - message.extension = []; - for (var i = 0; i < object.extension.length; ++i) { - if (typeof object.extension[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); - } - } - if (object.nestedType) { - if (!Array.isArray(object.nestedType)) - throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); - message.nestedType = []; - for (var i = 0; i < object.nestedType.length; ++i) { - if (typeof object.nestedType[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); - } - } - if (object.enumType) { - if (!Array.isArray(object.enumType)) - throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); - message.enumType = []; - for (var i = 0; i < object.enumType.length; ++i) { - if (typeof object.enumType[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); - } - } - if (object.extensionRange) { - if (!Array.isArray(object.extensionRange)) - throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); - message.extensionRange = []; - for (var i = 0; i < object.extensionRange.length; ++i) { - if (typeof object.extensionRange[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); - } - } - if (object.oneofDecl) { - if (!Array.isArray(object.oneofDecl)) - throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); - message.oneofDecl = []; - for (var i = 0; i < object.oneofDecl.length; ++i) { - if (typeof object.oneofDecl[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); - } - if (object.reservedRange) { - if (!Array.isArray(object.reservedRange)) - throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); - message.reservedRange = []; - for (var i = 0; i < object.reservedRange.length; ++i) { - if (typeof object.reservedRange[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); - } - } - if (object.reservedName) { - if (!Array.isArray(object.reservedName)) - throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); - message.reservedName = []; - for (var i = 0; i < object.reservedName.length; ++i) - message.reservedName[i] = String(object.reservedName[i]); - } + var message = new $root.tendermint.abci.Validator(); + if (object.address != null) + if (typeof object.address === "string") + $util.base64.decode(object.address, message.address = $util.newBuffer($util.base64.length(object.address)), 0); + else if (object.address.length) + message.address = object.address; + if (object.power != null) + if ($util.Long) + (message.power = $util.Long.fromValue(object.power)).unsigned = false; + else if (typeof object.power === "string") + message.power = parseInt(object.power, 10); + else if (typeof object.power === "number") + message.power = object.power; + else if (typeof object.power === "object") + message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); return message; }; /** - * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from a Validator message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.Validator * @static - * @param {google.protobuf.DescriptorProto} message DescriptorProto + * @param {tendermint.abci.Validator} message Validator * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DescriptorProto.toObject = function toObject(message, options) { + Validator.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.field = []; - object.nestedType = []; - object.enumType = []; - object.extensionRange = []; - object.extension = []; - object.oneofDecl = []; - object.reservedRange = []; - object.reservedName = []; - } if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.field && message.field.length) { - object.field = []; - for (var j = 0; j < message.field.length; ++j) - object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); - } - if (message.nestedType && message.nestedType.length) { - object.nestedType = []; - for (var j = 0; j < message.nestedType.length; ++j) - object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); - } - if (message.enumType && message.enumType.length) { - object.enumType = []; - for (var j = 0; j < message.enumType.length; ++j) - object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); - } - if (message.extensionRange && message.extensionRange.length) { - object.extensionRange = []; - for (var j = 0; j < message.extensionRange.length; ++j) - object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); - } - if (message.extension && message.extension.length) { - object.extension = []; - for (var j = 0; j < message.extension.length; ++j) - object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); - if (message.oneofDecl && message.oneofDecl.length) { - object.oneofDecl = []; - for (var j = 0; j < message.oneofDecl.length; ++j) - object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); - } - if (message.reservedRange && message.reservedRange.length) { - object.reservedRange = []; - for (var j = 0; j < message.reservedRange.length; ++j) - object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); - } - if (message.reservedName && message.reservedName.length) { - object.reservedName = []; - for (var j = 0; j < message.reservedName.length; ++j) - object.reservedName[j] = message.reservedName[j]; + if (options.bytes === String) + object.address = ""; + else { + object.address = []; + if (options.bytes !== Array) + object.address = $util.newBuffer(object.address); + } + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.power = options.longs === String ? "0" : 0; } + if (message.address != null && message.hasOwnProperty("address")) + object.address = options.bytes === String ? $util.base64.encode(message.address, 0, message.address.length) : options.bytes === Array ? Array.prototype.slice.call(message.address) : message.address; + if (message.power != null && message.hasOwnProperty("power")) + if (typeof message.power === "number") + object.power = options.longs === String ? String(message.power) : message.power; + else + object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; return object; }; /** - * Converts this DescriptorProto to JSON. + * Converts this Validator to JSON. * @function toJSON - * @memberof google.protobuf.DescriptorProto + * @memberof tendermint.abci.Validator * @instance * @returns {Object.} JSON object */ - DescriptorProto.prototype.toJSON = function toJSON() { + Validator.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - DescriptorProto.ExtensionRange = (function() { + return Validator; + })(); - /** - * Properties of an ExtensionRange. - * @memberof google.protobuf.DescriptorProto - * @interface IExtensionRange - * @property {number|null} [start] ExtensionRange start - * @property {number|null} [end] ExtensionRange end - * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options - */ + abci.ValidatorUpdate = (function() { - /** - * Constructs a new ExtensionRange. - * @memberof google.protobuf.DescriptorProto - * @classdesc Represents an ExtensionRange. - * @implements IExtensionRange - * @constructor - * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set - */ - function ExtensionRange(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a ValidatorUpdate. + * @memberof tendermint.abci + * @interface IValidatorUpdate + * @property {tendermint.crypto.IPublicKey|null} [pubKey] ValidatorUpdate pubKey + * @property {number|Long|null} [power] ValidatorUpdate power + */ - /** - * ExtensionRange start. - * @member {number} start - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - */ - ExtensionRange.prototype.start = 0; + /** + * Constructs a new ValidatorUpdate. + * @memberof tendermint.abci + * @classdesc Represents a ValidatorUpdate. + * @implements IValidatorUpdate + * @constructor + * @param {tendermint.abci.IValidatorUpdate=} [properties] Properties to set + */ + function ValidatorUpdate(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * ExtensionRange end. - * @member {number} end - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - */ - ExtensionRange.prototype.end = 0; + /** + * ValidatorUpdate pubKey. + * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey + * @memberof tendermint.abci.ValidatorUpdate + * @instance + */ + ValidatorUpdate.prototype.pubKey = null; - /** - * ExtensionRange options. - * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - */ - ExtensionRange.prototype.options = null; + /** + * ValidatorUpdate power. + * @member {number|Long} power + * @memberof tendermint.abci.ValidatorUpdate + * @instance + */ + ValidatorUpdate.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Creates a new ExtensionRange instance using the specified properties. - * @function create - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance - */ - ExtensionRange.create = function create(properties) { - return new ExtensionRange(properties); - }; + /** + * Creates a new ValidatorUpdate instance using the specified properties. + * @function create + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {tendermint.abci.IValidatorUpdate=} [properties] Properties to set + * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate instance + */ + ValidatorUpdate.create = function create(properties) { + return new ValidatorUpdate(properties); + }; - /** - * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @function encode - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified ValidatorUpdate message. Does not implicitly {@link tendermint.abci.ValidatorUpdate.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {tendermint.abci.IValidatorUpdate} message ValidatorUpdate message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorUpdate.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) + $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.power != null && Object.hasOwnProperty.call(message, "power")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.power); + return writer; + }; - /** - * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ValidatorUpdate message, length delimited. Does not implicitly {@link tendermint.abci.ValidatorUpdate.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {tendermint.abci.IValidatorUpdate} message ValidatorUpdate message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorUpdate.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes an ExtensionRange message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExtensionRange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; - case 3: - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Decodes a ValidatorUpdate message from the specified reader or buffer. + * @function decode + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorUpdate.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ValidatorUpdate(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); + break; + case 2: + message.power = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; } - return message; - }; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExtensionRange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + } + return message; + }; - /** - * Verifies an ExtensionRange message. - * @function verify - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ExtensionRange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.start != null && message.hasOwnProperty("start")) - if (!$util.isInteger(message.start)) - return "start: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); - if (error) - return "options." + error; - } - return null; - }; + /** + * Decodes a ValidatorUpdate message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorUpdate.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange - */ - ExtensionRange.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) - return object; - var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); - if (object.start != null) - message.start = object.start | 0; - if (object.end != null) - message.end = object.end | 0; - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); - } - return message; - }; + /** + * Verifies a ValidatorUpdate message. + * @function verify + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValidatorUpdate.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pubKey != null && message.hasOwnProperty("pubKey")) { + var error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); + if (error) + return "pubKey." + error; + } + if (message.power != null && message.hasOwnProperty("power")) + if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) + return "power: integer|Long expected"; + return null; + }; - /** - * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ExtensionRange.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.start = 0; - object.end = 0; - object.options = null; - } - if (message.start != null && message.hasOwnProperty("start")) - object.start = message.start; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); + /** + * Creates a ValidatorUpdate message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {Object.} object Plain object + * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate + */ + ValidatorUpdate.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.ValidatorUpdate) return object; - }; + var message = new $root.tendermint.abci.ValidatorUpdate(); + if (object.pubKey != null) { + if (typeof object.pubKey !== "object") + throw TypeError(".tendermint.abci.ValidatorUpdate.pubKey: object expected"); + message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); + } + if (object.power != null) + if ($util.Long) + (message.power = $util.Long.fromValue(object.power)).unsigned = false; + else if (typeof object.power === "string") + message.power = parseInt(object.power, 10); + else if (typeof object.power === "number") + message.power = object.power; + else if (typeof object.power === "object") + message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); + return message; + }; - /** - * Converts this ExtensionRange to JSON. - * @function toJSON - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - * @returns {Object.} JSON object - */ - ExtensionRange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a ValidatorUpdate message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.abci.ValidatorUpdate + * @static + * @param {tendermint.abci.ValidatorUpdate} message ValidatorUpdate + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValidatorUpdate.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.pubKey = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.power = options.longs === String ? "0" : 0; + } + if (message.pubKey != null && message.hasOwnProperty("pubKey")) + object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); + if (message.power != null && message.hasOwnProperty("power")) + if (typeof message.power === "number") + object.power = options.longs === String ? String(message.power) : message.power; + else + object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; + return object; + }; - return ExtensionRange; - })(); + /** + * Converts this ValidatorUpdate to JSON. + * @function toJSON + * @memberof tendermint.abci.ValidatorUpdate + * @instance + * @returns {Object.} JSON object + */ + ValidatorUpdate.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - DescriptorProto.ReservedRange = (function() { + return ValidatorUpdate; + })(); - /** - * Properties of a ReservedRange. - * @memberof google.protobuf.DescriptorProto - * @interface IReservedRange - * @property {number|null} [start] ReservedRange start - * @property {number|null} [end] ReservedRange end - */ + abci.VoteInfo = (function() { - /** - * Constructs a new ReservedRange. - * @memberof google.protobuf.DescriptorProto - * @classdesc Represents a ReservedRange. - * @implements IReservedRange - * @constructor - * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set - */ - function ReservedRange(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a VoteInfo. + * @memberof tendermint.abci + * @interface IVoteInfo + * @property {tendermint.abci.IValidator|null} [validator] VoteInfo validator + * @property {boolean|null} [signedLastBlock] VoteInfo signedLastBlock + */ - /** - * ReservedRange start. - * @member {number} start - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @instance - */ - ReservedRange.prototype.start = 0; + /** + * Constructs a new VoteInfo. + * @memberof tendermint.abci + * @classdesc Represents a VoteInfo. + * @implements IVoteInfo + * @constructor + * @param {tendermint.abci.IVoteInfo=} [properties] Properties to set + */ + function VoteInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * ReservedRange end. - * @member {number} end - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @instance - */ - ReservedRange.prototype.end = 0; + /** + * VoteInfo validator. + * @member {tendermint.abci.IValidator|null|undefined} validator + * @memberof tendermint.abci.VoteInfo + * @instance + */ + VoteInfo.prototype.validator = null; - /** - * Creates a new ReservedRange instance using the specified properties. - * @function create - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance - */ - ReservedRange.create = function create(properties) { - return new ReservedRange(properties); - }; + /** + * VoteInfo signedLastBlock. + * @member {boolean} signedLastBlock + * @memberof tendermint.abci.VoteInfo + * @instance + */ + VoteInfo.prototype.signedLastBlock = false; - /** - * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @function encode - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ReservedRange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - return writer; - }; + /** + * Creates a new VoteInfo instance using the specified properties. + * @function create + * @memberof tendermint.abci.VoteInfo + * @static + * @param {tendermint.abci.IVoteInfo=} [properties] Properties to set + * @returns {tendermint.abci.VoteInfo} VoteInfo instance + */ + VoteInfo.create = function create(properties) { + return new VoteInfo(properties); + }; - /** - * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ReservedRange message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ReservedRange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ReservedRange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ReservedRange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ReservedRange message. - * @function verify - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ReservedRange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.start != null && message.hasOwnProperty("start")) - if (!$util.isInteger(message.start)) - return "start: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - return null; - }; - - /** - * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange - */ - ReservedRange.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) - return object; - var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); - if (object.start != null) - message.start = object.start | 0; - if (object.end != null) - message.end = object.end | 0; - return message; - }; - - /** - * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ReservedRange.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.start = 0; - object.end = 0; - } - if (message.start != null && message.hasOwnProperty("start")) - object.start = message.start; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - return object; - }; - - /** - * Converts this ReservedRange to JSON. - * @function toJSON - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @instance - * @returns {Object.} JSON object - */ - ReservedRange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ReservedRange; - })(); - - return DescriptorProto; - })(); - - protobuf.ExtensionRangeOptions = (function() { - - /** - * Properties of an ExtensionRangeOptions. - * @memberof google.protobuf - * @interface IExtensionRangeOptions - * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption - */ - - /** - * Constructs a new ExtensionRangeOptions. - * @memberof google.protobuf - * @classdesc Represents an ExtensionRangeOptions. - * @implements IExtensionRangeOptions - * @constructor - * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set - */ - function ExtensionRangeOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ExtensionRangeOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.ExtensionRangeOptions - * @instance - */ - ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * Creates a new ExtensionRangeOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance - */ - ExtensionRangeOptions.create = function create(properties) { - return new ExtensionRangeOptions(properties); - }; - - /** - * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRangeOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified VoteInfo message. Does not implicitly {@link tendermint.abci.VoteInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.abci.VoteInfo + * @static + * @param {tendermint.abci.IVoteInfo} message VoteInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VoteInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) + $root.tendermint.abci.Validator.encode(message.validator, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.signedLastBlock != null && Object.hasOwnProperty.call(message, "signedLastBlock")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.signedLastBlock); + return writer; + }; /** - * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * Encodes the specified VoteInfo message, length delimited. Does not implicitly {@link tendermint.abci.VoteInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @static - * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {tendermint.abci.IVoteInfo} message VoteInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { + VoteInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * Decodes a VoteInfo message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @returns {tendermint.abci.VoteInfo} VoteInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length) { + VoteInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.VoteInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + case 1: + message.validator = $root.tendermint.abci.Validator.decode(reader, reader.uint32()); + break; + case 2: + message.signedLastBlock = reader.bool(); break; default: reader.skipType(tag & 7); @@ -13092,133 +11196,141 @@ $root.google = (function() { }; /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * Decodes a VoteInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @returns {tendermint.abci.VoteInfo} VoteInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { + VoteInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ExtensionRangeOptions message. + * Verifies a VoteInfo message. * @function verify - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + VoteInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.validator != null && message.hasOwnProperty("validator")) { + var error = $root.tendermint.abci.Validator.verify(message.validator); + if (error) + return "validator." + error; } + if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) + if (typeof message.signedLastBlock !== "boolean") + return "signedLastBlock: boolean expected"; return null; }; /** - * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * Creates a VoteInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @static * @param {Object.} object Plain object - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @returns {tendermint.abci.VoteInfo} VoteInfo */ - ExtensionRangeOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ExtensionRangeOptions) + VoteInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.VoteInfo) return object; - var message = new $root.google.protobuf.ExtensionRangeOptions(); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } + var message = new $root.tendermint.abci.VoteInfo(); + if (object.validator != null) { + if (typeof object.validator !== "object") + throw TypeError(".tendermint.abci.VoteInfo.validator: object expected"); + message.validator = $root.tendermint.abci.Validator.fromObject(object.validator); + } + if (object.signedLastBlock != null) + message.signedLastBlock = Boolean(object.signedLastBlock); return message; }; /** - * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * Creates a plain object from a VoteInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @static - * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions + * @param {tendermint.abci.VoteInfo} message VoteInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ExtensionRangeOptions.toObject = function toObject(message, options) { + VoteInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + if (options.defaults) { + object.validator = null; + object.signedLastBlock = false; } + if (message.validator != null && message.hasOwnProperty("validator")) + object.validator = $root.tendermint.abci.Validator.toObject(message.validator, options); + if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) + object.signedLastBlock = message.signedLastBlock; return object; }; /** - * Converts this ExtensionRangeOptions to JSON. + * Converts this VoteInfo to JSON. * @function toJSON - * @memberof google.protobuf.ExtensionRangeOptions + * @memberof tendermint.abci.VoteInfo * @instance * @returns {Object.} JSON object */ - ExtensionRangeOptions.prototype.toJSON = function toJSON() { + VoteInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ExtensionRangeOptions; + return VoteInfo; })(); - protobuf.FieldDescriptorProto = (function() { + /** + * EvidenceType enum. + * @name tendermint.abci.EvidenceType + * @enum {number} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} DUPLICATE_VOTE=1 DUPLICATE_VOTE value + * @property {number} LIGHT_CLIENT_ATTACK=2 LIGHT_CLIENT_ATTACK value + */ + abci.EvidenceType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "DUPLICATE_VOTE"] = 1; + values[valuesById[2] = "LIGHT_CLIENT_ATTACK"] = 2; + return values; + })(); + + abci.Evidence = (function() { /** - * Properties of a FieldDescriptorProto. - * @memberof google.protobuf - * @interface IFieldDescriptorProto - * @property {string|null} [name] FieldDescriptorProto name - * @property {number|null} [number] FieldDescriptorProto number - * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label - * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type - * @property {string|null} [typeName] FieldDescriptorProto typeName - * @property {string|null} [extendee] FieldDescriptorProto extendee - * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue - * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex - * @property {string|null} [jsonName] FieldDescriptorProto jsonName - * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + * Properties of an Evidence. + * @memberof tendermint.abci + * @interface IEvidence + * @property {tendermint.abci.EvidenceType|null} [type] Evidence type + * @property {tendermint.abci.IValidator|null} [validator] Evidence validator + * @property {number|Long|null} [height] Evidence height + * @property {google.protobuf.ITimestamp|null} [time] Evidence time + * @property {number|Long|null} [totalVotingPower] Evidence totalVotingPower */ /** - * Constructs a new FieldDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a FieldDescriptorProto. - * @implements IFieldDescriptorProto + * Constructs a new Evidence. + * @memberof tendermint.abci + * @classdesc Represents an Evidence. + * @implements IEvidence * @constructor - * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + * @param {tendermint.abci.IEvidence=} [properties] Properties to set */ - function FieldDescriptorProto(properties) { + function Evidence(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13226,192 +11338,127 @@ $root.google = (function() { } /** - * FieldDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.name = ""; - - /** - * FieldDescriptorProto number. - * @member {number} number - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.number = 0; - - /** - * FieldDescriptorProto label. - * @member {google.protobuf.FieldDescriptorProto.Label} label - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.label = 1; - - /** - * FieldDescriptorProto type. - * @member {google.protobuf.FieldDescriptorProto.Type} type - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.type = 1; - - /** - * FieldDescriptorProto typeName. - * @member {string} typeName - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.typeName = ""; - - /** - * FieldDescriptorProto extendee. - * @member {string} extendee - * @memberof google.protobuf.FieldDescriptorProto + * Evidence type. + * @member {tendermint.abci.EvidenceType} type + * @memberof tendermint.abci.Evidence * @instance */ - FieldDescriptorProto.prototype.extendee = ""; + Evidence.prototype.type = 0; /** - * FieldDescriptorProto defaultValue. - * @member {string} defaultValue - * @memberof google.protobuf.FieldDescriptorProto + * Evidence validator. + * @member {tendermint.abci.IValidator|null|undefined} validator + * @memberof tendermint.abci.Evidence * @instance */ - FieldDescriptorProto.prototype.defaultValue = ""; + Evidence.prototype.validator = null; /** - * FieldDescriptorProto oneofIndex. - * @member {number} oneofIndex - * @memberof google.protobuf.FieldDescriptorProto + * Evidence height. + * @member {number|Long} height + * @memberof tendermint.abci.Evidence * @instance */ - FieldDescriptorProto.prototype.oneofIndex = 0; + Evidence.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * FieldDescriptorProto jsonName. - * @member {string} jsonName - * @memberof google.protobuf.FieldDescriptorProto + * Evidence time. + * @member {google.protobuf.ITimestamp|null|undefined} time + * @memberof tendermint.abci.Evidence * @instance */ - FieldDescriptorProto.prototype.jsonName = ""; + Evidence.prototype.time = null; /** - * FieldDescriptorProto options. - * @member {google.protobuf.IFieldOptions|null|undefined} options - * @memberof google.protobuf.FieldDescriptorProto + * Evidence totalVotingPower. + * @member {number|Long} totalVotingPower + * @memberof tendermint.abci.Evidence * @instance */ - FieldDescriptorProto.prototype.options = null; + Evidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Creates a new FieldDescriptorProto instance using the specified properties. + * Creates a new Evidence instance using the specified properties. * @function create - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static - * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance + * @param {tendermint.abci.IEvidence=} [properties] Properties to set + * @returns {tendermint.abci.Evidence} Evidence instance */ - FieldDescriptorProto.create = function create(properties) { - return new FieldDescriptorProto(properties); + Evidence.create = function create(properties) { + return new Evidence(properties); }; /** - * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * Encodes the specified Evidence message. Does not implicitly {@link tendermint.abci.Evidence.verify|verify} messages. * @function encode - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static - * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {tendermint.abci.IEvidence} message Evidence message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FieldDescriptorProto.encode = function encode(message, writer) { + Evidence.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.extendee != null && message.hasOwnProperty("extendee")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); - if (message.number != null && message.hasOwnProperty("number")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); - if (message.label != null && message.hasOwnProperty("label")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); - if (message.typeName != null && message.hasOwnProperty("typeName")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); - if (message.jsonName != null && message.hasOwnProperty("jsonName")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) + $root.tendermint.abci.Validator.encode(message.validator, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); + if (message.time != null && Object.hasOwnProperty.call(message, "time")) + $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.totalVotingPower); return writer; }; /** - * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * Encodes the specified Evidence message, length delimited. Does not implicitly {@link tendermint.abci.Evidence.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static - * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {tendermint.abci.IEvidence} message Evidence message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + Evidence.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * Decodes an Evidence message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @returns {tendermint.abci.Evidence} Evidence * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length) { + Evidence.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Evidence(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); - break; - case 3: - message.number = reader.int32(); - break; - case 4: - message.label = reader.int32(); - break; - case 5: message.type = reader.int32(); break; - case 6: - message.typeName = reader.string(); - break; case 2: - message.extendee = reader.string(); - break; - case 7: - message.defaultValue = reader.string(); + message.validator = $root.tendermint.abci.Validator.decode(reader, reader.uint32()); break; - case 9: - message.oneofIndex = reader.int32(); + case 3: + message.height = reader.int64(); break; - case 10: - message.jsonName = reader.string(); + case 4: + message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; - case 8: - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + case 5: + message.totalVotingPower = reader.int64(); break; default: reader.skipType(tag & 7); @@ -13422,359 +11469,200 @@ $root.google = (function() { }; /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes an Evidence message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @returns {tendermint.abci.Evidence} Evidence * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + Evidence.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FieldDescriptorProto message. + * Verifies an Evidence message. * @function verify - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + Evidence.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.number != null && message.hasOwnProperty("number")) - if (!$util.isInteger(message.number)) - return "number: integer expected"; - if (message.label != null && message.hasOwnProperty("label")) - switch (message.label) { - default: - return "label: enum value expected"; - case 1: - case 2: - case 3: - break; - } if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; + case 0: case 1: case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: break; } - if (message.typeName != null && message.hasOwnProperty("typeName")) - if (!$util.isString(message.typeName)) - return "typeName: string expected"; - if (message.extendee != null && message.hasOwnProperty("extendee")) - if (!$util.isString(message.extendee)) - return "extendee: string expected"; - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) - if (!$util.isString(message.defaultValue)) - return "defaultValue: string expected"; - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) - if (!$util.isInteger(message.oneofIndex)) - return "oneofIndex: integer expected"; - if (message.jsonName != null && message.hasOwnProperty("jsonName")) - if (!$util.isString(message.jsonName)) - return "jsonName: string expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + if (message.validator != null && message.hasOwnProperty("validator")) { + var error = $root.tendermint.abci.Validator.verify(message.validator); if (error) - return "options." + error; + return "validator." + error; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.time != null && message.hasOwnProperty("time")) { + var error = $root.google.protobuf.Timestamp.verify(message.time); + if (error) + return "time." + error; } + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) + return "totalVotingPower: integer|Long expected"; return null; }; /** - * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates an Evidence message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static * @param {Object.} object Plain object - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @returns {tendermint.abci.Evidence} Evidence */ - FieldDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FieldDescriptorProto) + Evidence.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.Evidence) return object; - var message = new $root.google.protobuf.FieldDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.number != null) - message.number = object.number | 0; - switch (object.label) { - case "LABEL_OPTIONAL": - case 1: - message.label = 1; - break; - case "LABEL_REQUIRED": - case 2: - message.label = 2; - break; - case "LABEL_REPEATED": - case 3: - message.label = 3; - break; - } + var message = new $root.tendermint.abci.Evidence(); switch (object.type) { - case "TYPE_DOUBLE": + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "DUPLICATE_VOTE": case 1: message.type = 1; break; - case "TYPE_FLOAT": + case "LIGHT_CLIENT_ATTACK": case 2: message.type = 2; break; - case "TYPE_INT64": - case 3: - message.type = 3; - break; - case "TYPE_UINT64": - case 4: - message.type = 4; - break; - case "TYPE_INT32": - case 5: - message.type = 5; - break; - case "TYPE_FIXED64": - case 6: - message.type = 6; - break; - case "TYPE_FIXED32": - case 7: - message.type = 7; - break; - case "TYPE_BOOL": - case 8: - message.type = 8; - break; - case "TYPE_STRING": - case 9: - message.type = 9; - break; - case "TYPE_GROUP": - case 10: - message.type = 10; - break; - case "TYPE_MESSAGE": - case 11: - message.type = 11; - break; - case "TYPE_BYTES": - case 12: - message.type = 12; - break; - case "TYPE_UINT32": - case 13: - message.type = 13; - break; - case "TYPE_ENUM": - case 14: - message.type = 14; - break; - case "TYPE_SFIXED32": - case 15: - message.type = 15; - break; - case "TYPE_SFIXED64": - case 16: - message.type = 16; - break; - case "TYPE_SINT32": - case 17: - message.type = 17; - break; - case "TYPE_SINT64": - case 18: - message.type = 18; - break; } - if (object.typeName != null) - message.typeName = String(object.typeName); - if (object.extendee != null) - message.extendee = String(object.extendee); - if (object.defaultValue != null) - message.defaultValue = String(object.defaultValue); - if (object.oneofIndex != null) - message.oneofIndex = object.oneofIndex | 0; - if (object.jsonName != null) - message.jsonName = String(object.jsonName); - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + if (object.validator != null) { + if (typeof object.validator !== "object") + throw TypeError(".tendermint.abci.Evidence.validator: object expected"); + message.validator = $root.tendermint.abci.Validator.fromObject(object.validator); } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.time != null) { + if (typeof object.time !== "object") + throw TypeError(".tendermint.abci.Evidence.time: object expected"); + message.time = $root.google.protobuf.Timestamp.fromObject(object.time); + } + if (object.totalVotingPower != null) + if ($util.Long) + (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; + else if (typeof object.totalVotingPower === "string") + message.totalVotingPower = parseInt(object.totalVotingPower, 10); + else if (typeof object.totalVotingPower === "number") + message.totalVotingPower = object.totalVotingPower; + else if (typeof object.totalVotingPower === "object") + message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); return message; }; /** - * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from an Evidence message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @static - * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto + * @param {tendermint.abci.Evidence} message Evidence * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FieldDescriptorProto.toObject = function toObject(message, options) { + Evidence.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.extendee = ""; - object.number = 0; - object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; - object.type = options.enums === String ? "TYPE_DOUBLE" : 1; - object.typeName = ""; - object.defaultValue = ""; - object.options = null; - object.oneofIndex = 0; - object.jsonName = ""; + object.type = options.enums === String ? "UNKNOWN" : 0; + object.validator = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.time = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalVotingPower = options.longs === String ? "0" : 0; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.extendee != null && message.hasOwnProperty("extendee")) - object.extendee = message.extendee; - if (message.number != null && message.hasOwnProperty("number")) - object.number = message.number; - if (message.label != null && message.hasOwnProperty("label")) - object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; - if (message.typeName != null && message.hasOwnProperty("typeName")) - object.typeName = message.typeName; - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) - object.defaultValue = message.defaultValue; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) - object.oneofIndex = message.oneofIndex; - if (message.jsonName != null && message.hasOwnProperty("jsonName")) - object.jsonName = message.jsonName; + object.type = options.enums === String ? $root.tendermint.abci.EvidenceType[message.type] : message.type; + if (message.validator != null && message.hasOwnProperty("validator")) + object.validator = $root.tendermint.abci.Validator.toObject(message.validator, options); + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.time != null && message.hasOwnProperty("time")) + object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (typeof message.totalVotingPower === "number") + object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; + else + object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; return object; }; /** - * Converts this FieldDescriptorProto to JSON. + * Converts this Evidence to JSON. * @function toJSON - * @memberof google.protobuf.FieldDescriptorProto + * @memberof tendermint.abci.Evidence * @instance * @returns {Object.} JSON object */ - FieldDescriptorProto.prototype.toJSON = function toJSON() { + Evidence.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name google.protobuf.FieldDescriptorProto.Type - * @enum {string} - * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value - * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value - * @property {number} TYPE_INT64=3 TYPE_INT64 value - * @property {number} TYPE_UINT64=4 TYPE_UINT64 value - * @property {number} TYPE_INT32=5 TYPE_INT32 value - * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value - * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value - * @property {number} TYPE_BOOL=8 TYPE_BOOL value - * @property {number} TYPE_STRING=9 TYPE_STRING value - * @property {number} TYPE_GROUP=10 TYPE_GROUP value - * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value - * @property {number} TYPE_BYTES=12 TYPE_BYTES value - * @property {number} TYPE_UINT32=13 TYPE_UINT32 value - * @property {number} TYPE_ENUM=14 TYPE_ENUM value - * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value - * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value - * @property {number} TYPE_SINT32=17 TYPE_SINT32 value - * @property {number} TYPE_SINT64=18 TYPE_SINT64 value - */ - FieldDescriptorProto.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[1] = "TYPE_DOUBLE"] = 1; - values[valuesById[2] = "TYPE_FLOAT"] = 2; - values[valuesById[3] = "TYPE_INT64"] = 3; - values[valuesById[4] = "TYPE_UINT64"] = 4; - values[valuesById[5] = "TYPE_INT32"] = 5; - values[valuesById[6] = "TYPE_FIXED64"] = 6; - values[valuesById[7] = "TYPE_FIXED32"] = 7; - values[valuesById[8] = "TYPE_BOOL"] = 8; - values[valuesById[9] = "TYPE_STRING"] = 9; - values[valuesById[10] = "TYPE_GROUP"] = 10; - values[valuesById[11] = "TYPE_MESSAGE"] = 11; - values[valuesById[12] = "TYPE_BYTES"] = 12; - values[valuesById[13] = "TYPE_UINT32"] = 13; - values[valuesById[14] = "TYPE_ENUM"] = 14; - values[valuesById[15] = "TYPE_SFIXED32"] = 15; - values[valuesById[16] = "TYPE_SFIXED64"] = 16; - values[valuesById[17] = "TYPE_SINT32"] = 17; - values[valuesById[18] = "TYPE_SINT64"] = 18; - return values; - })(); - - /** - * Label enum. - * @name google.protobuf.FieldDescriptorProto.Label - * @enum {string} - * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value - * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value - * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value - */ - FieldDescriptorProto.Label = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[1] = "LABEL_OPTIONAL"] = 1; - values[valuesById[2] = "LABEL_REQUIRED"] = 2; - values[valuesById[3] = "LABEL_REPEATED"] = 3; - return values; - })(); - - return FieldDescriptorProto; + return Evidence; })(); - protobuf.OneofDescriptorProto = (function() { + abci.Snapshot = (function() { /** - * Properties of an OneofDescriptorProto. - * @memberof google.protobuf - * @interface IOneofDescriptorProto - * @property {string|null} [name] OneofDescriptorProto name - * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options + * Properties of a Snapshot. + * @memberof tendermint.abci + * @interface ISnapshot + * @property {number|Long|null} [height] Snapshot height + * @property {number|null} [format] Snapshot format + * @property {number|null} [chunks] Snapshot chunks + * @property {Uint8Array|null} [hash] Snapshot hash + * @property {Uint8Array|null} [metadata] Snapshot metadata */ /** - * Constructs a new OneofDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents an OneofDescriptorProto. - * @implements IOneofDescriptorProto + * Constructs a new Snapshot. + * @memberof tendermint.abci + * @classdesc Represents a Snapshot. + * @implements ISnapshot * @constructor - * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + * @param {tendermint.abci.ISnapshot=} [properties] Properties to set */ - function OneofDescriptorProto(properties) { + function Snapshot(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -13782,88 +11670,127 @@ $root.google = (function() { } /** - * OneofDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.OneofDescriptorProto + * Snapshot height. + * @member {number|Long} height + * @memberof tendermint.abci.Snapshot * @instance */ - OneofDescriptorProto.prototype.name = ""; + Snapshot.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * OneofDescriptorProto options. - * @member {google.protobuf.IOneofOptions|null|undefined} options - * @memberof google.protobuf.OneofDescriptorProto + * Snapshot format. + * @member {number} format + * @memberof tendermint.abci.Snapshot * @instance */ - OneofDescriptorProto.prototype.options = null; + Snapshot.prototype.format = 0; /** - * Creates a new OneofDescriptorProto instance using the specified properties. + * Snapshot chunks. + * @member {number} chunks + * @memberof tendermint.abci.Snapshot + * @instance + */ + Snapshot.prototype.chunks = 0; + + /** + * Snapshot hash. + * @member {Uint8Array} hash + * @memberof tendermint.abci.Snapshot + * @instance + */ + Snapshot.prototype.hash = $util.newBuffer([]); + + /** + * Snapshot metadata. + * @member {Uint8Array} metadata + * @memberof tendermint.abci.Snapshot + * @instance + */ + Snapshot.prototype.metadata = $util.newBuffer([]); + + /** + * Creates a new Snapshot instance using the specified properties. * @function create - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static - * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance + * @param {tendermint.abci.ISnapshot=} [properties] Properties to set + * @returns {tendermint.abci.Snapshot} Snapshot instance */ - OneofDescriptorProto.create = function create(properties) { - return new OneofDescriptorProto(properties); + Snapshot.create = function create(properties) { + return new Snapshot(properties); }; /** - * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * Encodes the specified Snapshot message. Does not implicitly {@link tendermint.abci.Snapshot.verify|verify} messages. * @function encode - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static - * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {tendermint.abci.ISnapshot} message Snapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OneofDescriptorProto.encode = function encode(message, writer) { + Snapshot.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); + if (message.format != null && Object.hasOwnProperty.call(message, "format")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); + if (message.chunks != null && Object.hasOwnProperty.call(message, "chunks")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.chunks); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.hash); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.metadata); return writer; }; /** - * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * Encodes the specified Snapshot message, length delimited. Does not implicitly {@link tendermint.abci.Snapshot.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static - * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {tendermint.abci.ISnapshot} message Snapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + Snapshot.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * Decodes a Snapshot message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @returns {tendermint.abci.Snapshot} Snapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length) { + Snapshot.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Snapshot(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.height = reader.uint64(); break; case 2: - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.format = reader.uint32(); + break; + case 3: + message.chunks = reader.uint32(); + break; + case 4: + message.hash = reader.bytes(); + break; + case 5: + message.metadata = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -13874,776 +11801,790 @@ $root.google = (function() { }; /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a Snapshot message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @returns {tendermint.abci.Snapshot} Snapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + Snapshot.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OneofDescriptorProto message. + * Verifies a Snapshot message. * @function verify - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + Snapshot.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); - if (error) - return "options." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.format != null && message.hasOwnProperty("format")) + if (!$util.isInteger(message.format)) + return "format: integer expected"; + if (message.chunks != null && message.hasOwnProperty("chunks")) + if (!$util.isInteger(message.chunks)) + return "chunks: integer expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + if (message.metadata != null && message.hasOwnProperty("metadata")) + if (!(message.metadata && typeof message.metadata.length === "number" || $util.isString(message.metadata))) + return "metadata: buffer expected"; return null; }; /** - * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a Snapshot message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static * @param {Object.} object Plain object - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @returns {tendermint.abci.Snapshot} Snapshot */ - OneofDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.OneofDescriptorProto) + Snapshot.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.abci.Snapshot) return object; - var message = new $root.google.protobuf.OneofDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); - } + var message = new $root.tendermint.abci.Snapshot(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = true; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); + if (object.format != null) + message.format = object.format >>> 0; + if (object.chunks != null) + message.chunks = object.chunks >>> 0; + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + if (object.metadata != null) + if (typeof object.metadata === "string") + $util.base64.decode(object.metadata, message.metadata = $util.newBuffer($util.base64.length(object.metadata)), 0); + else if (object.metadata.length) + message.metadata = object.metadata; return message; }; /** - * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from a Snapshot message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @static - * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto + * @param {tendermint.abci.Snapshot} message Snapshot * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OneofDescriptorProto.toObject = function toObject(message, options) { + Snapshot.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); - return object; - }; - + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.format = 0; + object.chunks = 0; + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + if (options.bytes === String) + object.metadata = ""; + else { + object.metadata = []; + if (options.bytes !== Array) + object.metadata = $util.newBuffer(object.metadata); + } + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; + if (message.format != null && message.hasOwnProperty("format")) + object.format = message.format; + if (message.chunks != null && message.hasOwnProperty("chunks")) + object.chunks = message.chunks; + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = options.bytes === String ? $util.base64.encode(message.metadata, 0, message.metadata.length) : options.bytes === Array ? Array.prototype.slice.call(message.metadata) : message.metadata; + return object; + }; + /** - * Converts this OneofDescriptorProto to JSON. + * Converts this Snapshot to JSON. * @function toJSON - * @memberof google.protobuf.OneofDescriptorProto + * @memberof tendermint.abci.Snapshot * @instance * @returns {Object.} JSON object */ - OneofDescriptorProto.prototype.toJSON = function toJSON() { + Snapshot.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return OneofDescriptorProto; + return Snapshot; })(); - protobuf.EnumDescriptorProto = (function() { + abci.ABCIApplication = (function() { /** - * Properties of an EnumDescriptorProto. - * @memberof google.protobuf - * @interface IEnumDescriptorProto - * @property {string|null} [name] EnumDescriptorProto name - * @property {Array.|null} [value] EnumDescriptorProto value - * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options - * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange - * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + * Constructs a new ABCIApplication service. + * @memberof tendermint.abci + * @classdesc Represents a ABCIApplication + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function ABCIApplication(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ABCIApplication.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ABCIApplication; + + /** + * Creates new ABCIApplication service using the specified rpc implementation. + * @function create + * @memberof tendermint.abci.ABCIApplication + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {ABCIApplication} RPC service. Useful where requests and/or responses are streamed. */ + ABCIApplication.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; /** - * Constructs a new EnumDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents an EnumDescriptorProto. - * @implements IEnumDescriptorProto - * @constructor - * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + * Callback as used by {@link tendermint.abci.ABCIApplication#echo}. + * @memberof tendermint.abci.ABCIApplication + * @typedef EchoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseEcho} [response] ResponseEcho */ - function EnumDescriptorProto(properties) { - this.value = []; - this.reservedRange = []; - this.reservedName = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } /** - * EnumDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.EnumDescriptorProto + * Calls Echo. + * @function echo + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestEcho} request RequestEcho message or plain object + * @param {tendermint.abci.ABCIApplication.EchoCallback} callback Node-style callback called with the error, if any, and ResponseEcho + * @returns {undefined} + * @variation 1 */ - EnumDescriptorProto.prototype.name = ""; + Object.defineProperty(ABCIApplication.prototype.echo = function echo(request, callback) { + return this.rpcCall(echo, $root.tendermint.abci.RequestEcho, $root.tendermint.abci.ResponseEcho, request, callback); + }, "name", { value: "Echo" }); /** - * EnumDescriptorProto value. - * @member {Array.} value - * @memberof google.protobuf.EnumDescriptorProto + * Calls Echo. + * @function echo + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestEcho} request RequestEcho message or plain object + * @returns {Promise} Promise + * @variation 2 */ - EnumDescriptorProto.prototype.value = $util.emptyArray; /** - * EnumDescriptorProto options. - * @member {google.protobuf.IEnumOptions|null|undefined} options - * @memberof google.protobuf.EnumDescriptorProto + * Callback as used by {@link tendermint.abci.ABCIApplication#flush}. + * @memberof tendermint.abci.ABCIApplication + * @typedef FlushCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseFlush} [response] ResponseFlush + */ + + /** + * Calls Flush. + * @function flush + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestFlush} request RequestFlush message or plain object + * @param {tendermint.abci.ABCIApplication.FlushCallback} callback Node-style callback called with the error, if any, and ResponseFlush + * @returns {undefined} + * @variation 1 */ - EnumDescriptorProto.prototype.options = null; + Object.defineProperty(ABCIApplication.prototype.flush = function flush(request, callback) { + return this.rpcCall(flush, $root.tendermint.abci.RequestFlush, $root.tendermint.abci.ResponseFlush, request, callback); + }, "name", { value: "Flush" }); /** - * EnumDescriptorProto reservedRange. - * @member {Array.} reservedRange - * @memberof google.protobuf.EnumDescriptorProto + * Calls Flush. + * @function flush + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestFlush} request RequestFlush message or plain object + * @returns {Promise} Promise + * @variation 2 */ - EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; /** - * EnumDescriptorProto reservedName. - * @member {Array.} reservedName - * @memberof google.protobuf.EnumDescriptorProto + * Callback as used by {@link tendermint.abci.ABCIApplication#info}. + * @memberof tendermint.abci.ABCIApplication + * @typedef InfoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseInfo} [response] ResponseInfo + */ + + /** + * Calls Info. + * @function info + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestInfo} request RequestInfo message or plain object + * @param {tendermint.abci.ABCIApplication.InfoCallback} callback Node-style callback called with the error, if any, and ResponseInfo + * @returns {undefined} + * @variation 1 */ - EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + Object.defineProperty(ABCIApplication.prototype.info = function info(request, callback) { + return this.rpcCall(info, $root.tendermint.abci.RequestInfo, $root.tendermint.abci.ResponseInfo, request, callback); + }, "name", { value: "Info" }); /** - * Creates a new EnumDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance + * Calls Info. + * @function info + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestInfo} request RequestInfo message or plain object + * @returns {Promise} Promise + * @variation 2 */ - EnumDescriptorProto.create = function create(properties) { - return new EnumDescriptorProto(properties); - }; /** - * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * Callback as used by {@link tendermint.abci.ABCIApplication#setOption}. + * @memberof tendermint.abci.ABCIApplication + * @typedef SetOptionCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseSetOption} [response] ResponseSetOption */ - EnumDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.value.length) - for (var i = 0; i < message.value.length; ++i) - $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.reservedRange != null && message.reservedRange.length) - for (var i = 0; i < message.reservedRange.length; ++i) - $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.reservedName != null && message.reservedName.length) - for (var i = 0; i < message.reservedName.length; ++i) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); - return writer; - }; /** - * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * Calls SetOption. + * @function setOption + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestSetOption} request RequestSetOption message or plain object + * @param {tendermint.abci.ABCIApplication.SetOptionCallback} callback Node-style callback called with the error, if any, and ResponseSetOption + * @returns {undefined} + * @variation 1 */ - EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + Object.defineProperty(ABCIApplication.prototype.setOption = function setOption(request, callback) { + return this.rpcCall(setOption, $root.tendermint.abci.RequestSetOption, $root.tendermint.abci.ResponseSetOption, request, callback); + }, "name", { value: "SetOption" }); /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * Calls SetOption. + * @function setOption + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestSetOption} request RequestSetOption message or plain object + * @returns {Promise} Promise + * @variation 2 */ - EnumDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.value && message.value.length)) - message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * Callback as used by {@link tendermint.abci.ABCIApplication#deliverTx}. + * @memberof tendermint.abci.ABCIApplication + * @typedef DeliverTxCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseDeliverTx} [response] ResponseDeliverTx */ - EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; /** - * Verifies an EnumDescriptorProto message. - * @function verify - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not + * Calls DeliverTx. + * @function deliverTx + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestDeliverTx} request RequestDeliverTx message or plain object + * @param {tendermint.abci.ABCIApplication.DeliverTxCallback} callback Node-style callback called with the error, if any, and ResponseDeliverTx + * @returns {undefined} + * @variation 1 */ - EnumDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) { - if (!Array.isArray(message.value)) - return "value: array expected"; - for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); - if (error) - return "value." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { - if (!Array.isArray(message.reservedRange)) - return "reservedRange: array expected"; - for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); - if (error) - return "reservedRange." + error; - } - } - if (message.reservedName != null && message.hasOwnProperty("reservedName")) { - if (!Array.isArray(message.reservedName)) - return "reservedName: array expected"; - for (var i = 0; i < message.reservedName.length; ++i) - if (!$util.isString(message.reservedName[i])) - return "reservedName: string[] expected"; - } - return null; - }; + Object.defineProperty(ABCIApplication.prototype.deliverTx = function deliverTx(request, callback) { + return this.rpcCall(deliverTx, $root.tendermint.abci.RequestDeliverTx, $root.tendermint.abci.ResponseDeliverTx, request, callback); + }, "name", { value: "DeliverTx" }); /** - * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * Calls DeliverTx. + * @function deliverTx + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestDeliverTx} request RequestDeliverTx message or plain object + * @returns {Promise} Promise + * @variation 2 */ - EnumDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumDescriptorProto) - return object; - var message = new $root.google.protobuf.EnumDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.value) { - if (!Array.isArray(object.value)) - throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); - message.value = []; - for (var i = 0; i < object.value.length; ++i) { - if (typeof object.value[i] !== "object") - throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); - } - if (object.reservedRange) { - if (!Array.isArray(object.reservedRange)) - throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); - message.reservedRange = []; - for (var i = 0; i < object.reservedRange.length; ++i) { - if (typeof object.reservedRange[i] !== "object") - throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); - } - } - if (object.reservedName) { - if (!Array.isArray(object.reservedName)) - throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); - message.reservedName = []; - for (var i = 0; i < object.reservedName.length; ++i) - message.reservedName[i] = String(object.reservedName[i]); - } - return message; - }; /** - * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object + * Callback as used by {@link tendermint.abci.ABCIApplication#checkTx}. + * @memberof tendermint.abci.ABCIApplication + * @typedef CheckTxCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseCheckTx} [response] ResponseCheckTx */ - EnumDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.value = []; - object.reservedRange = []; - object.reservedName = []; - } - if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value && message.value.length) { - object.value = []; - for (var j = 0; j < message.value.length; ++j) - object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); - if (message.reservedRange && message.reservedRange.length) { - object.reservedRange = []; - for (var j = 0; j < message.reservedRange.length; ++j) - object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); - } - if (message.reservedName && message.reservedName.length) { - object.reservedName = []; - for (var j = 0; j < message.reservedName.length; ++j) - object.reservedName[j] = message.reservedName[j]; - } - return object; - }; /** - * Converts this EnumDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.EnumDescriptorProto + * Calls CheckTx. + * @function checkTx + * @memberof tendermint.abci.ABCIApplication * @instance - * @returns {Object.} JSON object + * @param {tendermint.abci.IRequestCheckTx} request RequestCheckTx message or plain object + * @param {tendermint.abci.ABCIApplication.CheckTxCallback} callback Node-style callback called with the error, if any, and ResponseCheckTx + * @returns {undefined} + * @variation 1 */ - EnumDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + Object.defineProperty(ABCIApplication.prototype.checkTx = function checkTx(request, callback) { + return this.rpcCall(checkTx, $root.tendermint.abci.RequestCheckTx, $root.tendermint.abci.ResponseCheckTx, request, callback); + }, "name", { value: "CheckTx" }); - EnumDescriptorProto.EnumReservedRange = (function() { + /** + * Calls CheckTx. + * @function checkTx + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestCheckTx} request RequestCheckTx message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Properties of an EnumReservedRange. - * @memberof google.protobuf.EnumDescriptorProto - * @interface IEnumReservedRange - * @property {number|null} [start] EnumReservedRange start - * @property {number|null} [end] EnumReservedRange end - */ + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#query}. + * @memberof tendermint.abci.ABCIApplication + * @typedef QueryCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseQuery} [response] ResponseQuery + */ - /** - * Constructs a new EnumReservedRange. - * @memberof google.protobuf.EnumDescriptorProto - * @classdesc Represents an EnumReservedRange. - * @implements IEnumReservedRange - * @constructor - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set - */ - function EnumReservedRange(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Calls Query. + * @function query + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestQuery} request RequestQuery message or plain object + * @param {tendermint.abci.ABCIApplication.QueryCallback} callback Node-style callback called with the error, if any, and ResponseQuery + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ABCIApplication.prototype.query = function query(request, callback) { + return this.rpcCall(query, $root.tendermint.abci.RequestQuery, $root.tendermint.abci.ResponseQuery, request, callback); + }, "name", { value: "Query" }); - /** - * EnumReservedRange start. - * @member {number} start - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @instance - */ - EnumReservedRange.prototype.start = 0; + /** + * Calls Query. + * @function query + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestQuery} request RequestQuery message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * EnumReservedRange end. - * @member {number} end - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @instance - */ - EnumReservedRange.prototype.end = 0; + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#commit}. + * @memberof tendermint.abci.ABCIApplication + * @typedef CommitCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseCommit} [response] ResponseCommit + */ - /** - * Creates a new EnumReservedRange instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance - */ - EnumReservedRange.create = function create(properties) { - return new EnumReservedRange(properties); - }; + /** + * Calls Commit. + * @function commit + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestCommit} request RequestCommit message or plain object + * @param {tendermint.abci.ABCIApplication.CommitCallback} callback Node-style callback called with the error, if any, and ResponseCommit + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ABCIApplication.prototype.commit = function commit(request, callback) { + return this.rpcCall(commit, $root.tendermint.abci.RequestCommit, $root.tendermint.abci.ResponseCommit, request, callback); + }, "name", { value: "Commit" }); - /** - * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumReservedRange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - return writer; - }; + /** + * Calls Commit. + * @function commit + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestCommit} request RequestCommit message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#initChain}. + * @memberof tendermint.abci.ABCIApplication + * @typedef InitChainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseInitChain} [response] ResponseInitChain + */ - /** - * Decodes an EnumReservedRange message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumReservedRange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Calls InitChain. + * @function initChain + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestInitChain} request RequestInitChain message or plain object + * @param {tendermint.abci.ABCIApplication.InitChainCallback} callback Node-style callback called with the error, if any, and ResponseInitChain + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ABCIApplication.prototype.initChain = function initChain(request, callback) { + return this.rpcCall(initChain, $root.tendermint.abci.RequestInitChain, $root.tendermint.abci.ResponseInitChain, request, callback); + }, "name", { value: "InitChain" }); - /** - * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Calls InitChain. + * @function initChain + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestInitChain} request RequestInitChain message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Verifies an EnumReservedRange message. - * @function verify - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EnumReservedRange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.start != null && message.hasOwnProperty("start")) - if (!$util.isInteger(message.start)) - return "start: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - return null; - }; + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#beginBlock}. + * @memberof tendermint.abci.ABCIApplication + * @typedef BeginBlockCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseBeginBlock} [response] ResponseBeginBlock + */ - /** - * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange - */ - EnumReservedRange.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) - return object; - var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); - if (object.start != null) - message.start = object.start | 0; - if (object.end != null) - message.end = object.end | 0; - return message; - }; + /** + * Calls BeginBlock. + * @function beginBlock + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestBeginBlock} request RequestBeginBlock message or plain object + * @param {tendermint.abci.ABCIApplication.BeginBlockCallback} callback Node-style callback called with the error, if any, and ResponseBeginBlock + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ABCIApplication.prototype.beginBlock = function beginBlock(request, callback) { + return this.rpcCall(beginBlock, $root.tendermint.abci.RequestBeginBlock, $root.tendermint.abci.ResponseBeginBlock, request, callback); + }, "name", { value: "BeginBlock" }); - /** - * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EnumReservedRange.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.start = 0; - object.end = 0; - } - if (message.start != null && message.hasOwnProperty("start")) - object.start = message.start; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - return object; - }; + /** + * Calls BeginBlock. + * @function beginBlock + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestBeginBlock} request RequestBeginBlock message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Converts this EnumReservedRange to JSON. - * @function toJSON - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @instance - * @returns {Object.} JSON object - */ - EnumReservedRange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#endBlock}. + * @memberof tendermint.abci.ABCIApplication + * @typedef EndBlockCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseEndBlock} [response] ResponseEndBlock + */ - return EnumReservedRange; - })(); + /** + * Calls EndBlock. + * @function endBlock + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestEndBlock} request RequestEndBlock message or plain object + * @param {tendermint.abci.ABCIApplication.EndBlockCallback} callback Node-style callback called with the error, if any, and ResponseEndBlock + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ABCIApplication.prototype.endBlock = function endBlock(request, callback) { + return this.rpcCall(endBlock, $root.tendermint.abci.RequestEndBlock, $root.tendermint.abci.ResponseEndBlock, request, callback); + }, "name", { value: "EndBlock" }); - return EnumDescriptorProto; - })(); + /** + * Calls EndBlock. + * @function endBlock + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestEndBlock} request RequestEndBlock message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - protobuf.EnumValueDescriptorProto = (function() { + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#listSnapshots}. + * @memberof tendermint.abci.ABCIApplication + * @typedef ListSnapshotsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseListSnapshots} [response] ResponseListSnapshots + */ /** - * Properties of an EnumValueDescriptorProto. - * @memberof google.protobuf - * @interface IEnumValueDescriptorProto - * @property {string|null} [name] EnumValueDescriptorProto name - * @property {number|null} [number] EnumValueDescriptorProto number - * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options + * Calls ListSnapshots. + * @function listSnapshots + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestListSnapshots} request RequestListSnapshots message or plain object + * @param {tendermint.abci.ABCIApplication.ListSnapshotsCallback} callback Node-style callback called with the error, if any, and ResponseListSnapshots + * @returns {undefined} + * @variation 1 */ + Object.defineProperty(ABCIApplication.prototype.listSnapshots = function listSnapshots(request, callback) { + return this.rpcCall(listSnapshots, $root.tendermint.abci.RequestListSnapshots, $root.tendermint.abci.ResponseListSnapshots, request, callback); + }, "name", { value: "ListSnapshots" }); /** - * Constructs a new EnumValueDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents an EnumValueDescriptorProto. - * @implements IEnumValueDescriptorProto - * @constructor - * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + * Calls ListSnapshots. + * @function listSnapshots + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestListSnapshots} request RequestListSnapshots message or plain object + * @returns {Promise} Promise + * @variation 2 */ - function EnumValueDescriptorProto(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } /** - * EnumValueDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.EnumValueDescriptorProto + * Callback as used by {@link tendermint.abci.ABCIApplication#offerSnapshot}. + * @memberof tendermint.abci.ABCIApplication + * @typedef OfferSnapshotCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseOfferSnapshot} [response] ResponseOfferSnapshot + */ + + /** + * Calls OfferSnapshot. + * @function offerSnapshot + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestOfferSnapshot} request RequestOfferSnapshot message or plain object + * @param {tendermint.abci.ABCIApplication.OfferSnapshotCallback} callback Node-style callback called with the error, if any, and ResponseOfferSnapshot + * @returns {undefined} + * @variation 1 */ - EnumValueDescriptorProto.prototype.name = ""; + Object.defineProperty(ABCIApplication.prototype.offerSnapshot = function offerSnapshot(request, callback) { + return this.rpcCall(offerSnapshot, $root.tendermint.abci.RequestOfferSnapshot, $root.tendermint.abci.ResponseOfferSnapshot, request, callback); + }, "name", { value: "OfferSnapshot" }); /** - * EnumValueDescriptorProto number. - * @member {number} number - * @memberof google.protobuf.EnumValueDescriptorProto + * Calls OfferSnapshot. + * @function offerSnapshot + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestOfferSnapshot} request RequestOfferSnapshot message or plain object + * @returns {Promise} Promise + * @variation 2 */ - EnumValueDescriptorProto.prototype.number = 0; /** - * EnumValueDescriptorProto options. - * @member {google.protobuf.IEnumValueOptions|null|undefined} options - * @memberof google.protobuf.EnumValueDescriptorProto + * Callback as used by {@link tendermint.abci.ABCIApplication#loadSnapshotChunk}. + * @memberof tendermint.abci.ABCIApplication + * @typedef LoadSnapshotChunkCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseLoadSnapshotChunk} [response] ResponseLoadSnapshotChunk + */ + + /** + * Calls LoadSnapshotChunk. + * @function loadSnapshotChunk + * @memberof tendermint.abci.ABCIApplication * @instance + * @param {tendermint.abci.IRequestLoadSnapshotChunk} request RequestLoadSnapshotChunk message or plain object + * @param {tendermint.abci.ABCIApplication.LoadSnapshotChunkCallback} callback Node-style callback called with the error, if any, and ResponseLoadSnapshotChunk + * @returns {undefined} + * @variation 1 */ - EnumValueDescriptorProto.prototype.options = null; + Object.defineProperty(ABCIApplication.prototype.loadSnapshotChunk = function loadSnapshotChunk(request, callback) { + return this.rpcCall(loadSnapshotChunk, $root.tendermint.abci.RequestLoadSnapshotChunk, $root.tendermint.abci.ResponseLoadSnapshotChunk, request, callback); + }, "name", { value: "LoadSnapshotChunk" }); /** - * Creates a new EnumValueDescriptorProto instance using the specified properties. + * Calls LoadSnapshotChunk. + * @function loadSnapshotChunk + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestLoadSnapshotChunk} request RequestLoadSnapshotChunk message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link tendermint.abci.ABCIApplication#applySnapshotChunk}. + * @memberof tendermint.abci.ABCIApplication + * @typedef ApplySnapshotChunkCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.abci.ResponseApplySnapshotChunk} [response] ResponseApplySnapshotChunk + */ + + /** + * Calls ApplySnapshotChunk. + * @function applySnapshotChunk + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestApplySnapshotChunk} request RequestApplySnapshotChunk message or plain object + * @param {tendermint.abci.ABCIApplication.ApplySnapshotChunkCallback} callback Node-style callback called with the error, if any, and ResponseApplySnapshotChunk + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ABCIApplication.prototype.applySnapshotChunk = function applySnapshotChunk(request, callback) { + return this.rpcCall(applySnapshotChunk, $root.tendermint.abci.RequestApplySnapshotChunk, $root.tendermint.abci.ResponseApplySnapshotChunk, request, callback); + }, "name", { value: "ApplySnapshotChunk" }); + + /** + * Calls ApplySnapshotChunk. + * @function applySnapshotChunk + * @memberof tendermint.abci.ABCIApplication + * @instance + * @param {tendermint.abci.IRequestApplySnapshotChunk} request RequestApplySnapshotChunk message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ABCIApplication; + })(); + + return abci; + })(); + + tendermint.blockchain = (function() { + + /** + * Namespace blockchain. + * @memberof tendermint + * @namespace + */ + var blockchain = {}; + + blockchain.BlockRequest = (function() { + + /** + * Properties of a BlockRequest. + * @memberof tendermint.blockchain + * @interface IBlockRequest + * @property {number|Long|null} [height] BlockRequest height + */ + + /** + * Constructs a new BlockRequest. + * @memberof tendermint.blockchain + * @classdesc Represents a BlockRequest. + * @implements IBlockRequest + * @constructor + * @param {tendermint.blockchain.IBlockRequest=} [properties] Properties to set + */ + function BlockRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlockRequest height. + * @member {number|Long} height + * @memberof tendermint.blockchain.BlockRequest + * @instance + */ + BlockRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new BlockRequest instance using the specified properties. * @function create - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static - * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance + * @param {tendermint.blockchain.IBlockRequest=} [properties] Properties to set + * @returns {tendermint.blockchain.BlockRequest} BlockRequest instance */ - EnumValueDescriptorProto.create = function create(properties) { - return new EnumValueDescriptorProto(properties); + BlockRequest.create = function create(properties) { + return new BlockRequest(properties); }; /** - * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * Encodes the specified BlockRequest message. Does not implicitly {@link tendermint.blockchain.BlockRequest.verify|verify} messages. * @function encode - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static - * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {tendermint.blockchain.IBlockRequest} message BlockRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EnumValueDescriptorProto.encode = function encode(message, writer) { + BlockRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.number != null && message.hasOwnProperty("number")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); return writer; }; /** - * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * Encodes the specified BlockRequest message, length delimited. Does not implicitly {@link tendermint.blockchain.BlockRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static - * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {tendermint.blockchain.IBlockRequest} message BlockRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + BlockRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * Decodes a BlockRequest message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @returns {tendermint.blockchain.BlockRequest} BlockRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length) { + BlockRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blockchain.BlockRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); - break; - case 2: - message.number = reader.int32(); - break; - case 3: - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.height = reader.int64(); break; default: reader.skipType(tag & 7); @@ -14654,132 +12595,121 @@ $root.google = (function() { }; /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a BlockRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @returns {tendermint.blockchain.BlockRequest} BlockRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + BlockRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EnumValueDescriptorProto message. + * Verifies a BlockRequest message. * @function verify - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + BlockRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.number != null && message.hasOwnProperty("number")) - if (!$util.isInteger(message.number)) - return "number: integer expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); - if (error) - return "options." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; return null; }; /** - * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a BlockRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static * @param {Object.} object Plain object - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @returns {tendermint.blockchain.BlockRequest} BlockRequest */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) + BlockRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blockchain.BlockRequest) return object; - var message = new $root.google.protobuf.EnumValueDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.number != null) - message.number = object.number | 0; - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); - } + var message = new $root.tendermint.blockchain.BlockRequest(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); return message; }; /** - * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from a BlockRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @static - * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto + * @param {tendermint.blockchain.BlockRequest} message BlockRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EnumValueDescriptorProto.toObject = function toObject(message, options) { + BlockRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.name = ""; - object.number = 0; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.number != null && message.hasOwnProperty("number")) - object.number = message.number; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; return object; }; /** - * Converts this EnumValueDescriptorProto to JSON. + * Converts this BlockRequest to JSON. * @function toJSON - * @memberof google.protobuf.EnumValueDescriptorProto + * @memberof tendermint.blockchain.BlockRequest * @instance * @returns {Object.} JSON object */ - EnumValueDescriptorProto.prototype.toJSON = function toJSON() { + BlockRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EnumValueDescriptorProto; + return BlockRequest; })(); - protobuf.ServiceDescriptorProto = (function() { + blockchain.NoBlockResponse = (function() { /** - * Properties of a ServiceDescriptorProto. - * @memberof google.protobuf - * @interface IServiceDescriptorProto - * @property {string|null} [name] ServiceDescriptorProto name - * @property {Array.|null} [method] ServiceDescriptorProto method - * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options + * Properties of a NoBlockResponse. + * @memberof tendermint.blockchain + * @interface INoBlockResponse + * @property {number|Long|null} [height] NoBlockResponse height */ /** - * Constructs a new ServiceDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a ServiceDescriptorProto. - * @implements IServiceDescriptorProto + * Constructs a new NoBlockResponse. + * @memberof tendermint.blockchain + * @classdesc Represents a NoBlockResponse. + * @implements INoBlockResponse * @constructor - * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + * @param {tendermint.blockchain.INoBlockResponse=} [properties] Properties to set */ - function ServiceDescriptorProto(properties) { - this.method = []; + function NoBlockResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -14787,104 +12717,75 @@ $root.google = (function() { } /** - * ServiceDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.ServiceDescriptorProto + * NoBlockResponse height. + * @member {number|Long} height + * @memberof tendermint.blockchain.NoBlockResponse * @instance */ - ServiceDescriptorProto.prototype.name = ""; + NoBlockResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * ServiceDescriptorProto method. - * @member {Array.} method - * @memberof google.protobuf.ServiceDescriptorProto - * @instance + * Creates a new NoBlockResponse instance using the specified properties. + * @function create + * @memberof tendermint.blockchain.NoBlockResponse + * @static + * @param {tendermint.blockchain.INoBlockResponse=} [properties] Properties to set + * @returns {tendermint.blockchain.NoBlockResponse} NoBlockResponse instance */ - ServiceDescriptorProto.prototype.method = $util.emptyArray; + NoBlockResponse.create = function create(properties) { + return new NoBlockResponse(properties); + }; /** - * ServiceDescriptorProto options. - * @member {google.protobuf.IServiceOptions|null|undefined} options - * @memberof google.protobuf.ServiceDescriptorProto - * @instance - */ - ServiceDescriptorProto.prototype.options = null; - - /** - * Creates a new ServiceDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance - */ - ServiceDescriptorProto.create = function create(properties) { - return new ServiceDescriptorProto(properties); - }; - - /** - * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * Encodes the specified NoBlockResponse message. Does not implicitly {@link tendermint.blockchain.NoBlockResponse.verify|verify} messages. * @function encode - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static - * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {tendermint.blockchain.INoBlockResponse} message NoBlockResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ServiceDescriptorProto.encode = function encode(message, writer) { + NoBlockResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.method != null && message.method.length) - for (var i = 0; i < message.method.length; ++i) - $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); return writer; }; /** - * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * Encodes the specified NoBlockResponse message, length delimited. Does not implicitly {@link tendermint.blockchain.NoBlockResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static - * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {tendermint.blockchain.INoBlockResponse} message NoBlockResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + NoBlockResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * Decodes a NoBlockResponse message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @returns {tendermint.blockchain.NoBlockResponse} NoBlockResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length) { + NoBlockResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blockchain.NoBlockResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.method && message.method.length)) - message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.height = reader.int64(); break; default: reader.skipType(tag & 7); @@ -14895,152 +12796,121 @@ $root.google = (function() { }; /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a NoBlockResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @returns {tendermint.blockchain.NoBlockResponse} NoBlockResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + NoBlockResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ServiceDescriptorProto message. + * Verifies a NoBlockResponse message. * @function verify - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + NoBlockResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.method != null && message.hasOwnProperty("method")) { - if (!Array.isArray(message.method)) - return "method: array expected"; - for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); - if (error) - return "method." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); - if (error) - return "options." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; return null; }; /** - * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a NoBlockResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static * @param {Object.} object Plain object - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @returns {tendermint.blockchain.NoBlockResponse} NoBlockResponse */ - ServiceDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ServiceDescriptorProto) + NoBlockResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blockchain.NoBlockResponse) return object; - var message = new $root.google.protobuf.ServiceDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.method) { - if (!Array.isArray(object.method)) - throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); - message.method = []; - for (var i = 0; i < object.method.length; ++i) { - if (typeof object.method[i] !== "object") - throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); - } + var message = new $root.tendermint.blockchain.NoBlockResponse(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); return message; }; /** - * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from a NoBlockResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @static - * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto + * @param {tendermint.blockchain.NoBlockResponse} message NoBlockResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ServiceDescriptorProto.toObject = function toObject(message, options) { + NoBlockResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.method = []; - if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.method && message.method.length) { - object.method = []; - for (var j = 0; j < message.method.length; ++j) - object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; return object; }; /** - * Converts this ServiceDescriptorProto to JSON. + * Converts this NoBlockResponse to JSON. * @function toJSON - * @memberof google.protobuf.ServiceDescriptorProto + * @memberof tendermint.blockchain.NoBlockResponse * @instance * @returns {Object.} JSON object */ - ServiceDescriptorProto.prototype.toJSON = function toJSON() { + NoBlockResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ServiceDescriptorProto; + return NoBlockResponse; })(); - protobuf.MethodDescriptorProto = (function() { + blockchain.BlockResponse = (function() { /** - * Properties of a MethodDescriptorProto. - * @memberof google.protobuf - * @interface IMethodDescriptorProto - * @property {string|null} [name] MethodDescriptorProto name - * @property {string|null} [inputType] MethodDescriptorProto inputType - * @property {string|null} [outputType] MethodDescriptorProto outputType - * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options - * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming - * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming + * Properties of a BlockResponse. + * @memberof tendermint.blockchain + * @interface IBlockResponse + * @property {tendermint.types.IBlock|null} [block] BlockResponse block */ /** - * Constructs a new MethodDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a MethodDescriptorProto. - * @implements IMethodDescriptorProto + * Constructs a new BlockResponse. + * @memberof tendermint.blockchain + * @classdesc Represents a BlockResponse. + * @implements IBlockResponse * @constructor - * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + * @param {tendermint.blockchain.IBlockResponse=} [properties] Properties to set */ - function MethodDescriptorProto(properties) { + function BlockResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -15048,140 +12918,75 @@ $root.google = (function() { } /** - * MethodDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.name = ""; - - /** - * MethodDescriptorProto inputType. - * @member {string} inputType - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.inputType = ""; - - /** - * MethodDescriptorProto outputType. - * @member {string} outputType - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.outputType = ""; - - /** - * MethodDescriptorProto options. - * @member {google.protobuf.IMethodOptions|null|undefined} options - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.options = null; - - /** - * MethodDescriptorProto clientStreaming. - * @member {boolean} clientStreaming - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.clientStreaming = false; - - /** - * MethodDescriptorProto serverStreaming. - * @member {boolean} serverStreaming - * @memberof google.protobuf.MethodDescriptorProto + * BlockResponse block. + * @member {tendermint.types.IBlock|null|undefined} block + * @memberof tendermint.blockchain.BlockResponse * @instance */ - MethodDescriptorProto.prototype.serverStreaming = false; + BlockResponse.prototype.block = null; /** - * Creates a new MethodDescriptorProto instance using the specified properties. + * Creates a new BlockResponse instance using the specified properties. * @function create - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static - * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance + * @param {tendermint.blockchain.IBlockResponse=} [properties] Properties to set + * @returns {tendermint.blockchain.BlockResponse} BlockResponse instance */ - MethodDescriptorProto.create = function create(properties) { - return new MethodDescriptorProto(properties); + BlockResponse.create = function create(properties) { + return new BlockResponse(properties); }; /** - * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * Encodes the specified BlockResponse message. Does not implicitly {@link tendermint.blockchain.BlockResponse.verify|verify} messages. * @function encode - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static - * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {tendermint.blockchain.IBlockResponse} message BlockResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - MethodDescriptorProto.encode = function encode(message, writer) { + BlockResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.inputType != null && message.hasOwnProperty("inputType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); - if (message.outputType != null && message.hasOwnProperty("outputType")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); - if (message.options != null && message.hasOwnProperty("options")) - $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + $root.tendermint.types.Block.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * Encodes the specified BlockResponse message, length delimited. Does not implicitly {@link tendermint.blockchain.BlockResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static - * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {tendermint.blockchain.IBlockResponse} message BlockResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + BlockResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * Decodes a BlockResponse message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @returns {tendermint.blockchain.BlockResponse} BlockResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length) { + BlockResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blockchain.BlockResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); - break; - case 2: - message.inputType = reader.string(); - break; - case 3: - message.outputType = reader.string(); - break; - case 4: - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); - break; - case 5: - message.clientStreaming = reader.bool(); - break; - case 6: - message.serverStreaming = reader.bool(); + message.block = $root.tendermint.types.Block.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -15192,204 +12997,111 @@ $root.google = (function() { }; /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * Decodes a BlockResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @returns {tendermint.blockchain.BlockResponse} BlockResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + BlockResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a MethodDescriptorProto message. + * Verifies a BlockResponse message. * @function verify - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + BlockResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.inputType != null && message.hasOwnProperty("inputType")) - if (!$util.isString(message.inputType)) - return "inputType: string expected"; - if (message.outputType != null && message.hasOwnProperty("outputType")) - if (!$util.isString(message.outputType)) - return "outputType: string expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + if (message.block != null && message.hasOwnProperty("block")) { + var error = $root.tendermint.types.Block.verify(message.block); if (error) - return "options." + error; + return "block." + error; } - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) - if (typeof message.clientStreaming !== "boolean") - return "clientStreaming: boolean expected"; - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) - if (typeof message.serverStreaming !== "boolean") - return "serverStreaming: boolean expected"; return null; }; /** - * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * Creates a BlockResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static * @param {Object.} object Plain object - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @returns {tendermint.blockchain.BlockResponse} BlockResponse */ - MethodDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.MethodDescriptorProto) + BlockResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blockchain.BlockResponse) return object; - var message = new $root.google.protobuf.MethodDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.inputType != null) - message.inputType = String(object.inputType); - if (object.outputType != null) - message.outputType = String(object.outputType); - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + var message = new $root.tendermint.blockchain.BlockResponse(); + if (object.block != null) { + if (typeof object.block !== "object") + throw TypeError(".tendermint.blockchain.BlockResponse.block: object expected"); + message.block = $root.tendermint.types.Block.fromObject(object.block); } - if (object.clientStreaming != null) - message.clientStreaming = Boolean(object.clientStreaming); - if (object.serverStreaming != null) - message.serverStreaming = Boolean(object.serverStreaming); return message; }; /** - * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * Creates a plain object from a BlockResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @static - * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto + * @param {tendermint.blockchain.BlockResponse} message BlockResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - MethodDescriptorProto.toObject = function toObject(message, options) { + BlockResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.name = ""; - object.inputType = ""; - object.outputType = ""; - object.options = null; - object.clientStreaming = false; - object.serverStreaming = false; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.inputType != null && message.hasOwnProperty("inputType")) - object.inputType = message.inputType; - if (message.outputType != null && message.hasOwnProperty("outputType")) - object.outputType = message.outputType; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) - object.clientStreaming = message.clientStreaming; - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) - object.serverStreaming = message.serverStreaming; + if (options.defaults) + object.block = null; + if (message.block != null && message.hasOwnProperty("block")) + object.block = $root.tendermint.types.Block.toObject(message.block, options); return object; }; /** - * Converts this MethodDescriptorProto to JSON. + * Converts this BlockResponse to JSON. * @function toJSON - * @memberof google.protobuf.MethodDescriptorProto + * @memberof tendermint.blockchain.BlockResponse * @instance * @returns {Object.} JSON object */ - MethodDescriptorProto.prototype.toJSON = function toJSON() { + BlockResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return MethodDescriptorProto; + return BlockResponse; })(); - protobuf.FileOptions = (function() { + blockchain.StatusRequest = (function() { /** - * Properties of a FileOptions. - * @memberof google.protobuf - * @interface IFileOptions - * @property {string|null} [javaPackage] FileOptions javaPackage - * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname - * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles - * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash - * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 - * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor - * @property {string|null} [goPackage] FileOptions goPackage - * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices - * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices - * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices - * @property {boolean|null} [phpGenericServices] FileOptions phpGenericServices - * @property {boolean|null} [deprecated] FileOptions deprecated - * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas - * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix - * @property {string|null} [csharpNamespace] FileOptions csharpNamespace - * @property {string|null} [swiftPrefix] FileOptions swiftPrefix - * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix - * @property {string|null} [phpNamespace] FileOptions phpNamespace - * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption - * @property {boolean|null} [".gogoproto.goprotoGettersAll"] FileOptions .gogoproto.goprotoGettersAll - * @property {boolean|null} [".gogoproto.goprotoEnumPrefixAll"] FileOptions .gogoproto.goprotoEnumPrefixAll - * @property {boolean|null} [".gogoproto.goprotoStringerAll"] FileOptions .gogoproto.goprotoStringerAll - * @property {boolean|null} [".gogoproto.verboseEqualAll"] FileOptions .gogoproto.verboseEqualAll - * @property {boolean|null} [".gogoproto.faceAll"] FileOptions .gogoproto.faceAll - * @property {boolean|null} [".gogoproto.gostringAll"] FileOptions .gogoproto.gostringAll - * @property {boolean|null} [".gogoproto.populateAll"] FileOptions .gogoproto.populateAll - * @property {boolean|null} [".gogoproto.stringerAll"] FileOptions .gogoproto.stringerAll - * @property {boolean|null} [".gogoproto.onlyoneAll"] FileOptions .gogoproto.onlyoneAll - * @property {boolean|null} [".gogoproto.equalAll"] FileOptions .gogoproto.equalAll - * @property {boolean|null} [".gogoproto.descriptionAll"] FileOptions .gogoproto.descriptionAll - * @property {boolean|null} [".gogoproto.testgenAll"] FileOptions .gogoproto.testgenAll - * @property {boolean|null} [".gogoproto.benchgenAll"] FileOptions .gogoproto.benchgenAll - * @property {boolean|null} [".gogoproto.marshalerAll"] FileOptions .gogoproto.marshalerAll - * @property {boolean|null} [".gogoproto.unmarshalerAll"] FileOptions .gogoproto.unmarshalerAll - * @property {boolean|null} [".gogoproto.stableMarshalerAll"] FileOptions .gogoproto.stableMarshalerAll - * @property {boolean|null} [".gogoproto.sizerAll"] FileOptions .gogoproto.sizerAll - * @property {boolean|null} [".gogoproto.goprotoEnumStringerAll"] FileOptions .gogoproto.goprotoEnumStringerAll - * @property {boolean|null} [".gogoproto.enumStringerAll"] FileOptions .gogoproto.enumStringerAll - * @property {boolean|null} [".gogoproto.unsafeMarshalerAll"] FileOptions .gogoproto.unsafeMarshalerAll - * @property {boolean|null} [".gogoproto.unsafeUnmarshalerAll"] FileOptions .gogoproto.unsafeUnmarshalerAll - * @property {boolean|null} [".gogoproto.goprotoExtensionsMapAll"] FileOptions .gogoproto.goprotoExtensionsMapAll - * @property {boolean|null} [".gogoproto.goprotoUnrecognizedAll"] FileOptions .gogoproto.goprotoUnrecognizedAll - * @property {boolean|null} [".gogoproto.gogoprotoImport"] FileOptions .gogoproto.gogoprotoImport - * @property {boolean|null} [".gogoproto.protosizerAll"] FileOptions .gogoproto.protosizerAll - * @property {boolean|null} [".gogoproto.compareAll"] FileOptions .gogoproto.compareAll - * @property {boolean|null} [".gogoproto.typedeclAll"] FileOptions .gogoproto.typedeclAll - * @property {boolean|null} [".gogoproto.enumdeclAll"] FileOptions .gogoproto.enumdeclAll - * @property {boolean|null} [".gogoproto.goprotoRegistration"] FileOptions .gogoproto.goprotoRegistration - * @property {boolean|null} [".gogoproto.messagenameAll"] FileOptions .gogoproto.messagenameAll - * @property {boolean|null} [".gogoproto.goprotoSizecacheAll"] FileOptions .gogoproto.goprotoSizecacheAll - * @property {boolean|null} [".gogoproto.goprotoUnkeyedAll"] FileOptions .gogoproto.goprotoUnkeyedAll + * Properties of a StatusRequest. + * @memberof tendermint.blockchain + * @interface IStatusRequest */ /** - * Constructs a new FileOptions. - * @memberof google.protobuf - * @classdesc Represents a FileOptions. - * @implements IFileOptions + * Constructs a new StatusRequest. + * @memberof tendermint.blockchain + * @classdesc Represents a StatusRequest. + * @implements IStatusRequest * @constructor - * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @param {tendermint.blockchain.IStatusRequest=} [properties] Properties to set */ - function FileOptions(properties) { - this.uninterpretedOption = []; + function StatusRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -15397,728 +13109,1034 @@ $root.google = (function() { } /** - * FileOptions javaPackage. - * @member {string} javaPackage - * @memberof google.protobuf.FileOptions - * @instance + * Creates a new StatusRequest instance using the specified properties. + * @function create + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {tendermint.blockchain.IStatusRequest=} [properties] Properties to set + * @returns {tendermint.blockchain.StatusRequest} StatusRequest instance */ - FileOptions.prototype.javaPackage = ""; + StatusRequest.create = function create(properties) { + return new StatusRequest(properties); + }; /** - * FileOptions javaOuterClassname. - * @member {string} javaOuterClassname - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified StatusRequest message. Does not implicitly {@link tendermint.blockchain.StatusRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {tendermint.blockchain.IStatusRequest} message StatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype.javaOuterClassname = ""; + StatusRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; /** - * FileOptions javaMultipleFiles. - * @member {boolean} javaMultipleFiles - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified StatusRequest message, length delimited. Does not implicitly {@link tendermint.blockchain.StatusRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {tendermint.blockchain.IStatusRequest} message StatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype.javaMultipleFiles = false; + StatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FileOptions javaGenerateEqualsAndHash. - * @member {boolean} javaGenerateEqualsAndHash - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a StatusRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blockchain.StatusRequest} StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype.javaGenerateEqualsAndHash = false; + StatusRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blockchain.StatusRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FileOptions javaStringCheckUtf8. - * @member {boolean} javaStringCheckUtf8 - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a StatusRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blockchain.StatusRequest} StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype.javaStringCheckUtf8 = false; + StatusRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FileOptions optimizeFor. - * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor - * @memberof google.protobuf.FileOptions - * @instance + * Verifies a StatusRequest message. + * @function verify + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.prototype.optimizeFor = 1; + StatusRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; /** - * FileOptions goPackage. - * @member {string} goPackage - * @memberof google.protobuf.FileOptions - * @instance + * Creates a StatusRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blockchain.StatusRequest} StatusRequest */ - FileOptions.prototype.goPackage = ""; + StatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blockchain.StatusRequest) + return object; + return new $root.tendermint.blockchain.StatusRequest(); + }; /** - * FileOptions ccGenericServices. - * @member {boolean} ccGenericServices - * @memberof google.protobuf.FileOptions - * @instance + * Creates a plain object from a StatusRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blockchain.StatusRequest + * @static + * @param {tendermint.blockchain.StatusRequest} message StatusRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - FileOptions.prototype.ccGenericServices = false; + StatusRequest.toObject = function toObject() { + return {}; + }; /** - * FileOptions javaGenericServices. - * @member {boolean} javaGenericServices - * @memberof google.protobuf.FileOptions + * Converts this StatusRequest to JSON. + * @function toJSON + * @memberof tendermint.blockchain.StatusRequest * @instance + * @returns {Object.} JSON object */ - FileOptions.prototype.javaGenericServices = false; + StatusRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StatusRequest; + })(); + + blockchain.StatusResponse = (function() { /** - * FileOptions pyGenericServices. - * @member {boolean} pyGenericServices - * @memberof google.protobuf.FileOptions - * @instance + * Properties of a StatusResponse. + * @memberof tendermint.blockchain + * @interface IStatusResponse + * @property {number|Long|null} [height] StatusResponse height + * @property {number|Long|null} [base] StatusResponse base */ - FileOptions.prototype.pyGenericServices = false; /** - * FileOptions phpGenericServices. - * @member {boolean} phpGenericServices - * @memberof google.protobuf.FileOptions - * @instance + * Constructs a new StatusResponse. + * @memberof tendermint.blockchain + * @classdesc Represents a StatusResponse. + * @implements IStatusResponse + * @constructor + * @param {tendermint.blockchain.IStatusResponse=} [properties] Properties to set */ - FileOptions.prototype.phpGenericServices = false; + function StatusResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * FileOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.FileOptions + * StatusResponse height. + * @member {number|Long} height + * @memberof tendermint.blockchain.StatusResponse * @instance */ - FileOptions.prototype.deprecated = false; + StatusResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * FileOptions ccEnableArenas. - * @member {boolean} ccEnableArenas - * @memberof google.protobuf.FileOptions + * StatusResponse base. + * @member {number|Long} base + * @memberof tendermint.blockchain.StatusResponse * @instance */ - FileOptions.prototype.ccEnableArenas = false; + StatusResponse.prototype.base = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * FileOptions objcClassPrefix. - * @member {string} objcClassPrefix - * @memberof google.protobuf.FileOptions - * @instance + * Creates a new StatusResponse instance using the specified properties. + * @function create + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {tendermint.blockchain.IStatusResponse=} [properties] Properties to set + * @returns {tendermint.blockchain.StatusResponse} StatusResponse instance */ - FileOptions.prototype.objcClassPrefix = ""; + StatusResponse.create = function create(properties) { + return new StatusResponse(properties); + }; /** - * FileOptions csharpNamespace. - * @member {string} csharpNamespace - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.csharpNamespace = ""; - - /** - * FileOptions swiftPrefix. - * @member {string} swiftPrefix - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified StatusResponse message. Does not implicitly {@link tendermint.blockchain.StatusResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {tendermint.blockchain.IStatusResponse} message StatusResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype.swiftPrefix = ""; + StatusResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.base != null && Object.hasOwnProperty.call(message, "base")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.base); + return writer; + }; /** - * FileOptions phpClassPrefix. - * @member {string} phpClassPrefix - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified StatusResponse message, length delimited. Does not implicitly {@link tendermint.blockchain.StatusResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {tendermint.blockchain.IStatusResponse} message StatusResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype.phpClassPrefix = ""; + StatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FileOptions phpNamespace. - * @member {string} phpNamespace - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a StatusResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blockchain.StatusResponse} StatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype.phpNamespace = ""; + StatusResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blockchain.StatusResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.base = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FileOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a StatusResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blockchain.StatusResponse} StatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype.uninterpretedOption = $util.emptyArray; + StatusResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FileOptions .gogoproto.goprotoGettersAll. - * @member {boolean} .gogoproto.goprotoGettersAll - * @memberof google.protobuf.FileOptions - * @instance + * Verifies a StatusResponse message. + * @function verify + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.prototype[".gogoproto.goprotoGettersAll"] = false; + StatusResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.base != null && message.hasOwnProperty("base")) + if (!$util.isInteger(message.base) && !(message.base && $util.isInteger(message.base.low) && $util.isInteger(message.base.high))) + return "base: integer|Long expected"; + return null; + }; /** - * FileOptions .gogoproto.goprotoEnumPrefixAll. - * @member {boolean} .gogoproto.goprotoEnumPrefixAll - * @memberof google.protobuf.FileOptions - * @instance + * Creates a StatusResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blockchain.StatusResponse} StatusResponse */ - FileOptions.prototype[".gogoproto.goprotoEnumPrefixAll"] = false; + StatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blockchain.StatusResponse) + return object; + var message = new $root.tendermint.blockchain.StatusResponse(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.base != null) + if ($util.Long) + (message.base = $util.Long.fromValue(object.base)).unsigned = false; + else if (typeof object.base === "string") + message.base = parseInt(object.base, 10); + else if (typeof object.base === "number") + message.base = object.base; + else if (typeof object.base === "object") + message.base = new $util.LongBits(object.base.low >>> 0, object.base.high >>> 0).toNumber(); + return message; + }; /** - * FileOptions .gogoproto.goprotoStringerAll. - * @member {boolean} .gogoproto.goprotoStringerAll - * @memberof google.protobuf.FileOptions - * @instance + * Creates a plain object from a StatusResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blockchain.StatusResponse + * @static + * @param {tendermint.blockchain.StatusResponse} message StatusResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - FileOptions.prototype[".gogoproto.goprotoStringerAll"] = false; + StatusResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.base = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.base = options.longs === String ? "0" : 0; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.base != null && message.hasOwnProperty("base")) + if (typeof message.base === "number") + object.base = options.longs === String ? String(message.base) : message.base; + else + object.base = options.longs === String ? $util.Long.prototype.toString.call(message.base) : options.longs === Number ? new $util.LongBits(message.base.low >>> 0, message.base.high >>> 0).toNumber() : message.base; + return object; + }; /** - * FileOptions .gogoproto.verboseEqualAll. - * @member {boolean} .gogoproto.verboseEqualAll - * @memberof google.protobuf.FileOptions + * Converts this StatusResponse to JSON. + * @function toJSON + * @memberof tendermint.blockchain.StatusResponse * @instance + * @returns {Object.} JSON object */ - FileOptions.prototype[".gogoproto.verboseEqualAll"] = false; + StatusResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * FileOptions .gogoproto.faceAll. - * @member {boolean} .gogoproto.faceAll - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype[".gogoproto.faceAll"] = false; + return StatusResponse; + })(); + + blockchain.Message = (function() { /** - * FileOptions .gogoproto.gostringAll. - * @member {boolean} .gogoproto.gostringAll - * @memberof google.protobuf.FileOptions - * @instance + * Properties of a Message. + * @memberof tendermint.blockchain + * @interface IMessage + * @property {tendermint.blockchain.IBlockRequest|null} [blockRequest] Message blockRequest + * @property {tendermint.blockchain.INoBlockResponse|null} [noBlockResponse] Message noBlockResponse + * @property {tendermint.blockchain.IBlockResponse|null} [blockResponse] Message blockResponse + * @property {tendermint.blockchain.IStatusRequest|null} [statusRequest] Message statusRequest + * @property {tendermint.blockchain.IStatusResponse|null} [statusResponse] Message statusResponse */ - FileOptions.prototype[".gogoproto.gostringAll"] = false; /** - * FileOptions .gogoproto.populateAll. - * @member {boolean} .gogoproto.populateAll - * @memberof google.protobuf.FileOptions - * @instance + * Constructs a new Message. + * @memberof tendermint.blockchain + * @classdesc Represents a Message. + * @implements IMessage + * @constructor + * @param {tendermint.blockchain.IMessage=} [properties] Properties to set */ - FileOptions.prototype[".gogoproto.populateAll"] = false; + function Message(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * FileOptions .gogoproto.stringerAll. - * @member {boolean} .gogoproto.stringerAll - * @memberof google.protobuf.FileOptions + * Message blockRequest. + * @member {tendermint.blockchain.IBlockRequest|null|undefined} blockRequest + * @memberof tendermint.blockchain.Message * @instance */ - FileOptions.prototype[".gogoproto.stringerAll"] = false; + Message.prototype.blockRequest = null; /** - * FileOptions .gogoproto.onlyoneAll. - * @member {boolean} .gogoproto.onlyoneAll - * @memberof google.protobuf.FileOptions + * Message noBlockResponse. + * @member {tendermint.blockchain.INoBlockResponse|null|undefined} noBlockResponse + * @memberof tendermint.blockchain.Message * @instance */ - FileOptions.prototype[".gogoproto.onlyoneAll"] = false; + Message.prototype.noBlockResponse = null; /** - * FileOptions .gogoproto.equalAll. - * @member {boolean} .gogoproto.equalAll - * @memberof google.protobuf.FileOptions + * Message blockResponse. + * @member {tendermint.blockchain.IBlockResponse|null|undefined} blockResponse + * @memberof tendermint.blockchain.Message * @instance */ - FileOptions.prototype[".gogoproto.equalAll"] = false; + Message.prototype.blockResponse = null; /** - * FileOptions .gogoproto.descriptionAll. - * @member {boolean} .gogoproto.descriptionAll - * @memberof google.protobuf.FileOptions + * Message statusRequest. + * @member {tendermint.blockchain.IStatusRequest|null|undefined} statusRequest + * @memberof tendermint.blockchain.Message * @instance */ - FileOptions.prototype[".gogoproto.descriptionAll"] = false; + Message.prototype.statusRequest = null; /** - * FileOptions .gogoproto.testgenAll. - * @member {boolean} .gogoproto.testgenAll - * @memberof google.protobuf.FileOptions + * Message statusResponse. + * @member {tendermint.blockchain.IStatusResponse|null|undefined} statusResponse + * @memberof tendermint.blockchain.Message * @instance */ - FileOptions.prototype[".gogoproto.testgenAll"] = false; + Message.prototype.statusResponse = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * FileOptions .gogoproto.benchgenAll. - * @member {boolean} .gogoproto.benchgenAll - * @memberof google.protobuf.FileOptions + * Message sum. + * @member {"blockRequest"|"noBlockResponse"|"blockResponse"|"statusRequest"|"statusResponse"|undefined} sum + * @memberof tendermint.blockchain.Message * @instance */ - FileOptions.prototype[".gogoproto.benchgenAll"] = false; + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["blockRequest", "noBlockResponse", "blockResponse", "statusRequest", "statusResponse"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * FileOptions .gogoproto.marshalerAll. - * @member {boolean} .gogoproto.marshalerAll - * @memberof google.protobuf.FileOptions - * @instance + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.blockchain.Message + * @static + * @param {tendermint.blockchain.IMessage=} [properties] Properties to set + * @returns {tendermint.blockchain.Message} Message instance */ - FileOptions.prototype[".gogoproto.marshalerAll"] = false; + Message.create = function create(properties) { + return new Message(properties); + }; /** - * FileOptions .gogoproto.unmarshalerAll. - * @member {boolean} .gogoproto.unmarshalerAll - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified Message message. Does not implicitly {@link tendermint.blockchain.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.blockchain.Message + * @static + * @param {tendermint.blockchain.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype[".gogoproto.unmarshalerAll"] = false; + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.blockRequest != null && Object.hasOwnProperty.call(message, "blockRequest")) + $root.tendermint.blockchain.BlockRequest.encode(message.blockRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.noBlockResponse != null && Object.hasOwnProperty.call(message, "noBlockResponse")) + $root.tendermint.blockchain.NoBlockResponse.encode(message.noBlockResponse, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.blockResponse != null && Object.hasOwnProperty.call(message, "blockResponse")) + $root.tendermint.blockchain.BlockResponse.encode(message.blockResponse, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.statusRequest != null && Object.hasOwnProperty.call(message, "statusRequest")) + $root.tendermint.blockchain.StatusRequest.encode(message.statusRequest, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.statusResponse != null && Object.hasOwnProperty.call(message, "statusResponse")) + $root.tendermint.blockchain.StatusResponse.encode(message.statusResponse, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; /** - * FileOptions .gogoproto.stableMarshalerAll. - * @member {boolean} .gogoproto.stableMarshalerAll - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.blockchain.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blockchain.Message + * @static + * @param {tendermint.blockchain.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype[".gogoproto.stableMarshalerAll"] = false; + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FileOptions .gogoproto.sizerAll. - * @member {boolean} .gogoproto.sizerAll - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blockchain.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blockchain.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype[".gogoproto.sizerAll"] = false; + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blockchain.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockRequest = $root.tendermint.blockchain.BlockRequest.decode(reader, reader.uint32()); + break; + case 2: + message.noBlockResponse = $root.tendermint.blockchain.NoBlockResponse.decode(reader, reader.uint32()); + break; + case 3: + message.blockResponse = $root.tendermint.blockchain.BlockResponse.decode(reader, reader.uint32()); + break; + case 4: + message.statusRequest = $root.tendermint.blockchain.StatusRequest.decode(reader, reader.uint32()); + break; + case 5: + message.statusResponse = $root.tendermint.blockchain.StatusResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FileOptions .gogoproto.goprotoEnumStringerAll. - * @member {boolean} .gogoproto.goprotoEnumStringerAll - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blockchain.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blockchain.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype[".gogoproto.goprotoEnumStringerAll"] = false; + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FileOptions .gogoproto.enumStringerAll. - * @member {boolean} .gogoproto.enumStringerAll - * @memberof google.protobuf.FileOptions - * @instance + * Verifies a Message message. + * @function verify + * @memberof tendermint.blockchain.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.prototype[".gogoproto.enumStringerAll"] = false; + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.blockRequest != null && message.hasOwnProperty("blockRequest")) { + properties.sum = 1; + { + var error = $root.tendermint.blockchain.BlockRequest.verify(message.blockRequest); + if (error) + return "blockRequest." + error; + } + } + if (message.noBlockResponse != null && message.hasOwnProperty("noBlockResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blockchain.NoBlockResponse.verify(message.noBlockResponse); + if (error) + return "noBlockResponse." + error; + } + } + if (message.blockResponse != null && message.hasOwnProperty("blockResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blockchain.BlockResponse.verify(message.blockResponse); + if (error) + return "blockResponse." + error; + } + } + if (message.statusRequest != null && message.hasOwnProperty("statusRequest")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blockchain.StatusRequest.verify(message.statusRequest); + if (error) + return "statusRequest." + error; + } + } + if (message.statusResponse != null && message.hasOwnProperty("statusResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blockchain.StatusResponse.verify(message.statusResponse); + if (error) + return "statusResponse." + error; + } + } + return null; + }; /** - * FileOptions .gogoproto.unsafeMarshalerAll. - * @member {boolean} .gogoproto.unsafeMarshalerAll - * @memberof google.protobuf.FileOptions - * @instance + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blockchain.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blockchain.Message} Message */ - FileOptions.prototype[".gogoproto.unsafeMarshalerAll"] = false; + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blockchain.Message) + return object; + var message = new $root.tendermint.blockchain.Message(); + if (object.blockRequest != null) { + if (typeof object.blockRequest !== "object") + throw TypeError(".tendermint.blockchain.Message.blockRequest: object expected"); + message.blockRequest = $root.tendermint.blockchain.BlockRequest.fromObject(object.blockRequest); + } + if (object.noBlockResponse != null) { + if (typeof object.noBlockResponse !== "object") + throw TypeError(".tendermint.blockchain.Message.noBlockResponse: object expected"); + message.noBlockResponse = $root.tendermint.blockchain.NoBlockResponse.fromObject(object.noBlockResponse); + } + if (object.blockResponse != null) { + if (typeof object.blockResponse !== "object") + throw TypeError(".tendermint.blockchain.Message.blockResponse: object expected"); + message.blockResponse = $root.tendermint.blockchain.BlockResponse.fromObject(object.blockResponse); + } + if (object.statusRequest != null) { + if (typeof object.statusRequest !== "object") + throw TypeError(".tendermint.blockchain.Message.statusRequest: object expected"); + message.statusRequest = $root.tendermint.blockchain.StatusRequest.fromObject(object.statusRequest); + } + if (object.statusResponse != null) { + if (typeof object.statusResponse !== "object") + throw TypeError(".tendermint.blockchain.Message.statusResponse: object expected"); + message.statusResponse = $root.tendermint.blockchain.StatusResponse.fromObject(object.statusResponse); + } + return message; + }; /** - * FileOptions .gogoproto.unsafeUnmarshalerAll. - * @member {boolean} .gogoproto.unsafeUnmarshalerAll - * @memberof google.protobuf.FileOptions - * @instance + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blockchain.Message + * @static + * @param {tendermint.blockchain.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - FileOptions.prototype[".gogoproto.unsafeUnmarshalerAll"] = false; + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.blockRequest != null && message.hasOwnProperty("blockRequest")) { + object.blockRequest = $root.tendermint.blockchain.BlockRequest.toObject(message.blockRequest, options); + if (options.oneofs) + object.sum = "blockRequest"; + } + if (message.noBlockResponse != null && message.hasOwnProperty("noBlockResponse")) { + object.noBlockResponse = $root.tendermint.blockchain.NoBlockResponse.toObject(message.noBlockResponse, options); + if (options.oneofs) + object.sum = "noBlockResponse"; + } + if (message.blockResponse != null && message.hasOwnProperty("blockResponse")) { + object.blockResponse = $root.tendermint.blockchain.BlockResponse.toObject(message.blockResponse, options); + if (options.oneofs) + object.sum = "blockResponse"; + } + if (message.statusRequest != null && message.hasOwnProperty("statusRequest")) { + object.statusRequest = $root.tendermint.blockchain.StatusRequest.toObject(message.statusRequest, options); + if (options.oneofs) + object.sum = "statusRequest"; + } + if (message.statusResponse != null && message.hasOwnProperty("statusResponse")) { + object.statusResponse = $root.tendermint.blockchain.StatusResponse.toObject(message.statusResponse, options); + if (options.oneofs) + object.sum = "statusResponse"; + } + return object; + }; /** - * FileOptions .gogoproto.goprotoExtensionsMapAll. - * @member {boolean} .gogoproto.goprotoExtensionsMapAll - * @memberof google.protobuf.FileOptions + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.blockchain.Message * @instance + * @returns {Object.} JSON object */ - FileOptions.prototype[".gogoproto.goprotoExtensionsMapAll"] = false; + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + return blockchain; + })(); + + tendermint.blocksync = (function() { + + /** + * Namespace blocksync. + * @memberof tendermint + * @namespace + */ + var blocksync = {}; + + blocksync.BlockRequest = (function() { /** - * FileOptions .gogoproto.goprotoUnrecognizedAll. - * @member {boolean} .gogoproto.goprotoUnrecognizedAll - * @memberof google.protobuf.FileOptions - * @instance + * Properties of a BlockRequest. + * @memberof tendermint.blocksync + * @interface IBlockRequest + * @property {number|Long|null} [height] BlockRequest height */ - FileOptions.prototype[".gogoproto.goprotoUnrecognizedAll"] = false; /** - * FileOptions .gogoproto.gogoprotoImport. - * @member {boolean} .gogoproto.gogoprotoImport - * @memberof google.protobuf.FileOptions - * @instance + * Constructs a new BlockRequest. + * @memberof tendermint.blocksync + * @classdesc Represents a BlockRequest. + * @implements IBlockRequest + * @constructor + * @param {tendermint.blocksync.IBlockRequest=} [properties] Properties to set */ - FileOptions.prototype[".gogoproto.gogoprotoImport"] = false; + function BlockRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * FileOptions .gogoproto.protosizerAll. - * @member {boolean} .gogoproto.protosizerAll - * @memberof google.protobuf.FileOptions + * BlockRequest height. + * @member {number|Long} height + * @memberof tendermint.blocksync.BlockRequest * @instance */ - FileOptions.prototype[".gogoproto.protosizerAll"] = false; + BlockRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * FileOptions .gogoproto.compareAll. - * @member {boolean} .gogoproto.compareAll - * @memberof google.protobuf.FileOptions - * @instance + * Creates a new BlockRequest instance using the specified properties. + * @function create + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {tendermint.blocksync.IBlockRequest=} [properties] Properties to set + * @returns {tendermint.blocksync.BlockRequest} BlockRequest instance */ - FileOptions.prototype[".gogoproto.compareAll"] = false; + BlockRequest.create = function create(properties) { + return new BlockRequest(properties); + }; /** - * FileOptions .gogoproto.typedeclAll. - * @member {boolean} .gogoproto.typedeclAll - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified BlockRequest message. Does not implicitly {@link tendermint.blocksync.BlockRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {tendermint.blocksync.IBlockRequest} message BlockRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype[".gogoproto.typedeclAll"] = false; + BlockRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + return writer; + }; /** - * FileOptions .gogoproto.enumdeclAll. - * @member {boolean} .gogoproto.enumdeclAll - * @memberof google.protobuf.FileOptions - * @instance + * Encodes the specified BlockRequest message, length delimited. Does not implicitly {@link tendermint.blocksync.BlockRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {tendermint.blocksync.IBlockRequest} message BlockRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FileOptions.prototype[".gogoproto.enumdeclAll"] = false; + BlockRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FileOptions .gogoproto.goprotoRegistration. - * @member {boolean} .gogoproto.goprotoRegistration - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a BlockRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blocksync.BlockRequest} BlockRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype[".gogoproto.goprotoRegistration"] = false; + BlockRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blocksync.BlockRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FileOptions .gogoproto.messagenameAll. - * @member {boolean} .gogoproto.messagenameAll - * @memberof google.protobuf.FileOptions - * @instance + * Decodes a BlockRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blocksync.BlockRequest} BlockRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.prototype[".gogoproto.messagenameAll"] = false; + BlockRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FileOptions .gogoproto.goprotoSizecacheAll. - * @member {boolean} .gogoproto.goprotoSizecacheAll - * @memberof google.protobuf.FileOptions + * Verifies a BlockRequest message. + * @function verify + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + return null; + }; + + /** + * Creates a BlockRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blocksync.BlockRequest} BlockRequest + */ + BlockRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blocksync.BlockRequest) + return object; + var message = new $root.tendermint.blocksync.BlockRequest(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a BlockRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blocksync.BlockRequest + * @static + * @param {tendermint.blocksync.BlockRequest} message BlockRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + return object; + }; + + /** + * Converts this BlockRequest to JSON. + * @function toJSON + * @memberof tendermint.blocksync.BlockRequest * @instance + * @returns {Object.} JSON object */ - FileOptions.prototype[".gogoproto.goprotoSizecacheAll"] = false; + BlockRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BlockRequest; + })(); + + blocksync.NoBlockResponse = (function() { /** - * FileOptions .gogoproto.goprotoUnkeyedAll. - * @member {boolean} .gogoproto.goprotoUnkeyedAll - * @memberof google.protobuf.FileOptions + * Properties of a NoBlockResponse. + * @memberof tendermint.blocksync + * @interface INoBlockResponse + * @property {number|Long|null} [height] NoBlockResponse height + */ + + /** + * Constructs a new NoBlockResponse. + * @memberof tendermint.blocksync + * @classdesc Represents a NoBlockResponse. + * @implements INoBlockResponse + * @constructor + * @param {tendermint.blocksync.INoBlockResponse=} [properties] Properties to set + */ + function NoBlockResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NoBlockResponse height. + * @member {number|Long} height + * @memberof tendermint.blocksync.NoBlockResponse * @instance */ - FileOptions.prototype[".gogoproto.goprotoUnkeyedAll"] = false; + NoBlockResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Creates a new FileOptions instance using the specified properties. + * Creates a new NoBlockResponse instance using the specified properties. * @function create - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static - * @param {google.protobuf.IFileOptions=} [properties] Properties to set - * @returns {google.protobuf.FileOptions} FileOptions instance + * @param {tendermint.blocksync.INoBlockResponse=} [properties] Properties to set + * @returns {tendermint.blocksync.NoBlockResponse} NoBlockResponse instance */ - FileOptions.create = function create(properties) { - return new FileOptions(properties); + NoBlockResponse.create = function create(properties) { + return new NoBlockResponse(properties); }; /** - * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * Encodes the specified NoBlockResponse message. Does not implicitly {@link tendermint.blocksync.NoBlockResponse.verify|verify} messages. * @function encode - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static - * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {tendermint.blocksync.INoBlockResponse} message NoBlockResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FileOptions.encode = function encode(message, writer) { + NoBlockResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) - writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); - if (message.goPackage != null && message.hasOwnProperty("goPackage")) - writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) - writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) - writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) - writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) - writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) - writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) - writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) - writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) - writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) - writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) - writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) - writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); - if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) - writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".gogoproto.goprotoGettersAll"] != null && message.hasOwnProperty(".gogoproto.goprotoGettersAll")) - writer.uint32(/* id 63001, wireType 0 =*/504008).bool(message[".gogoproto.goprotoGettersAll"]); - if (message[".gogoproto.goprotoEnumPrefixAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefixAll")) - writer.uint32(/* id 63002, wireType 0 =*/504016).bool(message[".gogoproto.goprotoEnumPrefixAll"]); - if (message[".gogoproto.goprotoStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoStringerAll")) - writer.uint32(/* id 63003, wireType 0 =*/504024).bool(message[".gogoproto.goprotoStringerAll"]); - if (message[".gogoproto.verboseEqualAll"] != null && message.hasOwnProperty(".gogoproto.verboseEqualAll")) - writer.uint32(/* id 63004, wireType 0 =*/504032).bool(message[".gogoproto.verboseEqualAll"]); - if (message[".gogoproto.faceAll"] != null && message.hasOwnProperty(".gogoproto.faceAll")) - writer.uint32(/* id 63005, wireType 0 =*/504040).bool(message[".gogoproto.faceAll"]); - if (message[".gogoproto.gostringAll"] != null && message.hasOwnProperty(".gogoproto.gostringAll")) - writer.uint32(/* id 63006, wireType 0 =*/504048).bool(message[".gogoproto.gostringAll"]); - if (message[".gogoproto.populateAll"] != null && message.hasOwnProperty(".gogoproto.populateAll")) - writer.uint32(/* id 63007, wireType 0 =*/504056).bool(message[".gogoproto.populateAll"]); - if (message[".gogoproto.stringerAll"] != null && message.hasOwnProperty(".gogoproto.stringerAll")) - writer.uint32(/* id 63008, wireType 0 =*/504064).bool(message[".gogoproto.stringerAll"]); - if (message[".gogoproto.onlyoneAll"] != null && message.hasOwnProperty(".gogoproto.onlyoneAll")) - writer.uint32(/* id 63009, wireType 0 =*/504072).bool(message[".gogoproto.onlyoneAll"]); - if (message[".gogoproto.equalAll"] != null && message.hasOwnProperty(".gogoproto.equalAll")) - writer.uint32(/* id 63013, wireType 0 =*/504104).bool(message[".gogoproto.equalAll"]); - if (message[".gogoproto.descriptionAll"] != null && message.hasOwnProperty(".gogoproto.descriptionAll")) - writer.uint32(/* id 63014, wireType 0 =*/504112).bool(message[".gogoproto.descriptionAll"]); - if (message[".gogoproto.testgenAll"] != null && message.hasOwnProperty(".gogoproto.testgenAll")) - writer.uint32(/* id 63015, wireType 0 =*/504120).bool(message[".gogoproto.testgenAll"]); - if (message[".gogoproto.benchgenAll"] != null && message.hasOwnProperty(".gogoproto.benchgenAll")) - writer.uint32(/* id 63016, wireType 0 =*/504128).bool(message[".gogoproto.benchgenAll"]); - if (message[".gogoproto.marshalerAll"] != null && message.hasOwnProperty(".gogoproto.marshalerAll")) - writer.uint32(/* id 63017, wireType 0 =*/504136).bool(message[".gogoproto.marshalerAll"]); - if (message[".gogoproto.unmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unmarshalerAll")) - writer.uint32(/* id 63018, wireType 0 =*/504144).bool(message[".gogoproto.unmarshalerAll"]); - if (message[".gogoproto.stableMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.stableMarshalerAll")) - writer.uint32(/* id 63019, wireType 0 =*/504152).bool(message[".gogoproto.stableMarshalerAll"]); - if (message[".gogoproto.sizerAll"] != null && message.hasOwnProperty(".gogoproto.sizerAll")) - writer.uint32(/* id 63020, wireType 0 =*/504160).bool(message[".gogoproto.sizerAll"]); - if (message[".gogoproto.goprotoEnumStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringerAll")) - writer.uint32(/* id 63021, wireType 0 =*/504168).bool(message[".gogoproto.goprotoEnumStringerAll"]); - if (message[".gogoproto.enumStringerAll"] != null && message.hasOwnProperty(".gogoproto.enumStringerAll")) - writer.uint32(/* id 63022, wireType 0 =*/504176).bool(message[".gogoproto.enumStringerAll"]); - if (message[".gogoproto.unsafeMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshalerAll")) - writer.uint32(/* id 63023, wireType 0 =*/504184).bool(message[".gogoproto.unsafeMarshalerAll"]); - if (message[".gogoproto.unsafeUnmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshalerAll")) - writer.uint32(/* id 63024, wireType 0 =*/504192).bool(message[".gogoproto.unsafeUnmarshalerAll"]); - if (message[".gogoproto.goprotoExtensionsMapAll"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMapAll")) - writer.uint32(/* id 63025, wireType 0 =*/504200).bool(message[".gogoproto.goprotoExtensionsMapAll"]); - if (message[".gogoproto.goprotoUnrecognizedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognizedAll")) - writer.uint32(/* id 63026, wireType 0 =*/504208).bool(message[".gogoproto.goprotoUnrecognizedAll"]); - if (message[".gogoproto.gogoprotoImport"] != null && message.hasOwnProperty(".gogoproto.gogoprotoImport")) - writer.uint32(/* id 63027, wireType 0 =*/504216).bool(message[".gogoproto.gogoprotoImport"]); - if (message[".gogoproto.protosizerAll"] != null && message.hasOwnProperty(".gogoproto.protosizerAll")) - writer.uint32(/* id 63028, wireType 0 =*/504224).bool(message[".gogoproto.protosizerAll"]); - if (message[".gogoproto.compareAll"] != null && message.hasOwnProperty(".gogoproto.compareAll")) - writer.uint32(/* id 63029, wireType 0 =*/504232).bool(message[".gogoproto.compareAll"]); - if (message[".gogoproto.typedeclAll"] != null && message.hasOwnProperty(".gogoproto.typedeclAll")) - writer.uint32(/* id 63030, wireType 0 =*/504240).bool(message[".gogoproto.typedeclAll"]); - if (message[".gogoproto.enumdeclAll"] != null && message.hasOwnProperty(".gogoproto.enumdeclAll")) - writer.uint32(/* id 63031, wireType 0 =*/504248).bool(message[".gogoproto.enumdeclAll"]); - if (message[".gogoproto.goprotoRegistration"] != null && message.hasOwnProperty(".gogoproto.goprotoRegistration")) - writer.uint32(/* id 63032, wireType 0 =*/504256).bool(message[".gogoproto.goprotoRegistration"]); - if (message[".gogoproto.messagenameAll"] != null && message.hasOwnProperty(".gogoproto.messagenameAll")) - writer.uint32(/* id 63033, wireType 0 =*/504264).bool(message[".gogoproto.messagenameAll"]); - if (message[".gogoproto.goprotoSizecacheAll"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecacheAll")) - writer.uint32(/* id 63034, wireType 0 =*/504272).bool(message[".gogoproto.goprotoSizecacheAll"]); - if (message[".gogoproto.goprotoUnkeyedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyedAll")) - writer.uint32(/* id 63035, wireType 0 =*/504280).bool(message[".gogoproto.goprotoUnkeyedAll"]); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); return writer; }; /** - * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * Encodes the specified NoBlockResponse message, length delimited. Does not implicitly {@link tendermint.blocksync.NoBlockResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static - * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {tendermint.blocksync.INoBlockResponse} message NoBlockResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + NoBlockResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FileOptions message from the specified reader or buffer. + * Decodes a NoBlockResponse message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FileOptions} FileOptions + * @returns {tendermint.blocksync.NoBlockResponse} NoBlockResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length) { + NoBlockResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blocksync.NoBlockResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.javaPackage = reader.string(); - break; - case 8: - message.javaOuterClassname = reader.string(); - break; - case 10: - message.javaMultipleFiles = reader.bool(); - break; - case 20: - message.javaGenerateEqualsAndHash = reader.bool(); - break; - case 27: - message.javaStringCheckUtf8 = reader.bool(); - break; - case 9: - message.optimizeFor = reader.int32(); - break; - case 11: - message.goPackage = reader.string(); - break; - case 16: - message.ccGenericServices = reader.bool(); - break; - case 17: - message.javaGenericServices = reader.bool(); - break; - case 18: - message.pyGenericServices = reader.bool(); - break; - case 42: - message.phpGenericServices = reader.bool(); - break; - case 23: - message.deprecated = reader.bool(); - break; - case 31: - message.ccEnableArenas = reader.bool(); - break; - case 36: - message.objcClassPrefix = reader.string(); - break; - case 37: - message.csharpNamespace = reader.string(); - break; - case 39: - message.swiftPrefix = reader.string(); - break; - case 40: - message.phpClassPrefix = reader.string(); - break; - case 41: - message.phpNamespace = reader.string(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 63001: - message[".gogoproto.goprotoGettersAll"] = reader.bool(); - break; - case 63002: - message[".gogoproto.goprotoEnumPrefixAll"] = reader.bool(); - break; - case 63003: - message[".gogoproto.goprotoStringerAll"] = reader.bool(); - break; - case 63004: - message[".gogoproto.verboseEqualAll"] = reader.bool(); - break; - case 63005: - message[".gogoproto.faceAll"] = reader.bool(); - break; - case 63006: - message[".gogoproto.gostringAll"] = reader.bool(); - break; - case 63007: - message[".gogoproto.populateAll"] = reader.bool(); - break; - case 63008: - message[".gogoproto.stringerAll"] = reader.bool(); - break; - case 63009: - message[".gogoproto.onlyoneAll"] = reader.bool(); - break; - case 63013: - message[".gogoproto.equalAll"] = reader.bool(); - break; - case 63014: - message[".gogoproto.descriptionAll"] = reader.bool(); - break; - case 63015: - message[".gogoproto.testgenAll"] = reader.bool(); - break; - case 63016: - message[".gogoproto.benchgenAll"] = reader.bool(); - break; - case 63017: - message[".gogoproto.marshalerAll"] = reader.bool(); - break; - case 63018: - message[".gogoproto.unmarshalerAll"] = reader.bool(); - break; - case 63019: - message[".gogoproto.stableMarshalerAll"] = reader.bool(); - break; - case 63020: - message[".gogoproto.sizerAll"] = reader.bool(); - break; - case 63021: - message[".gogoproto.goprotoEnumStringerAll"] = reader.bool(); - break; - case 63022: - message[".gogoproto.enumStringerAll"] = reader.bool(); - break; - case 63023: - message[".gogoproto.unsafeMarshalerAll"] = reader.bool(); - break; - case 63024: - message[".gogoproto.unsafeUnmarshalerAll"] = reader.bool(); - break; - case 63025: - message[".gogoproto.goprotoExtensionsMapAll"] = reader.bool(); - break; - case 63026: - message[".gogoproto.goprotoUnrecognizedAll"] = reader.bool(); - break; - case 63027: - message[".gogoproto.gogoprotoImport"] = reader.bool(); - break; - case 63028: - message[".gogoproto.protosizerAll"] = reader.bool(); - break; - case 63029: - message[".gogoproto.compareAll"] = reader.bool(); - break; - case 63030: - message[".gogoproto.typedeclAll"] = reader.bool(); - break; - case 63031: - message[".gogoproto.enumdeclAll"] = reader.bool(); - break; - case 63032: - message[".gogoproto.goprotoRegistration"] = reader.bool(); - break; - case 63033: - message[".gogoproto.messagenameAll"] = reader.bool(); - break; - case 63034: - message[".gogoproto.goprotoSizecacheAll"] = reader.bool(); - break; - case 63035: - message[".gogoproto.goprotoUnkeyedAll"] = reader.bool(); + message.height = reader.int64(); break; default: reader.skipType(tag & 7); @@ -16129,1063 +14147,566 @@ $root.google = (function() { }; /** - * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * Decodes a NoBlockResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FileOptions} FileOptions + * @returns {tendermint.blocksync.NoBlockResponse} NoBlockResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decodeDelimited = function decodeDelimited(reader) { + NoBlockResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FileOptions message. + * Verifies a NoBlockResponse message. * @function verify - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + NoBlockResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) - if (!$util.isString(message.javaPackage)) - return "javaPackage: string expected"; - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) - if (!$util.isString(message.javaOuterClassname)) - return "javaOuterClassname: string expected"; - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) - if (typeof message.javaMultipleFiles !== "boolean") - return "javaMultipleFiles: boolean expected"; - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) - if (typeof message.javaGenerateEqualsAndHash !== "boolean") - return "javaGenerateEqualsAndHash: boolean expected"; - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) - if (typeof message.javaStringCheckUtf8 !== "boolean") - return "javaStringCheckUtf8: boolean expected"; - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - switch (message.optimizeFor) { - default: - return "optimizeFor: enum value expected"; - case 1: - case 2: - case 3: - break; - } - if (message.goPackage != null && message.hasOwnProperty("goPackage")) - if (!$util.isString(message.goPackage)) - return "goPackage: string expected"; - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) - if (typeof message.ccGenericServices !== "boolean") - return "ccGenericServices: boolean expected"; - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) - if (typeof message.javaGenericServices !== "boolean") - return "javaGenericServices: boolean expected"; - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) - if (typeof message.pyGenericServices !== "boolean") - return "pyGenericServices: boolean expected"; - if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) - if (typeof message.phpGenericServices !== "boolean") - return "phpGenericServices: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) - if (typeof message.ccEnableArenas !== "boolean") - return "ccEnableArenas: boolean expected"; - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) - if (!$util.isString(message.objcClassPrefix)) - return "objcClassPrefix: string expected"; - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) - if (!$util.isString(message.csharpNamespace)) - return "csharpNamespace: string expected"; - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) - if (!$util.isString(message.swiftPrefix)) - return "swiftPrefix: string expected"; - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) - if (!$util.isString(message.phpClassPrefix)) - return "phpClassPrefix: string expected"; - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) - if (!$util.isString(message.phpNamespace)) - return "phpNamespace: string expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".gogoproto.goprotoGettersAll"] != null && message.hasOwnProperty(".gogoproto.goprotoGettersAll")) - if (typeof message[".gogoproto.goprotoGettersAll"] !== "boolean") - return ".gogoproto.goprotoGettersAll: boolean expected"; - if (message[".gogoproto.goprotoEnumPrefixAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefixAll")) - if (typeof message[".gogoproto.goprotoEnumPrefixAll"] !== "boolean") - return ".gogoproto.goprotoEnumPrefixAll: boolean expected"; - if (message[".gogoproto.goprotoStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoStringerAll")) - if (typeof message[".gogoproto.goprotoStringerAll"] !== "boolean") - return ".gogoproto.goprotoStringerAll: boolean expected"; - if (message[".gogoproto.verboseEqualAll"] != null && message.hasOwnProperty(".gogoproto.verboseEqualAll")) - if (typeof message[".gogoproto.verboseEqualAll"] !== "boolean") - return ".gogoproto.verboseEqualAll: boolean expected"; - if (message[".gogoproto.faceAll"] != null && message.hasOwnProperty(".gogoproto.faceAll")) - if (typeof message[".gogoproto.faceAll"] !== "boolean") - return ".gogoproto.faceAll: boolean expected"; - if (message[".gogoproto.gostringAll"] != null && message.hasOwnProperty(".gogoproto.gostringAll")) - if (typeof message[".gogoproto.gostringAll"] !== "boolean") - return ".gogoproto.gostringAll: boolean expected"; - if (message[".gogoproto.populateAll"] != null && message.hasOwnProperty(".gogoproto.populateAll")) - if (typeof message[".gogoproto.populateAll"] !== "boolean") - return ".gogoproto.populateAll: boolean expected"; - if (message[".gogoproto.stringerAll"] != null && message.hasOwnProperty(".gogoproto.stringerAll")) - if (typeof message[".gogoproto.stringerAll"] !== "boolean") - return ".gogoproto.stringerAll: boolean expected"; - if (message[".gogoproto.onlyoneAll"] != null && message.hasOwnProperty(".gogoproto.onlyoneAll")) - if (typeof message[".gogoproto.onlyoneAll"] !== "boolean") - return ".gogoproto.onlyoneAll: boolean expected"; - if (message[".gogoproto.equalAll"] != null && message.hasOwnProperty(".gogoproto.equalAll")) - if (typeof message[".gogoproto.equalAll"] !== "boolean") - return ".gogoproto.equalAll: boolean expected"; - if (message[".gogoproto.descriptionAll"] != null && message.hasOwnProperty(".gogoproto.descriptionAll")) - if (typeof message[".gogoproto.descriptionAll"] !== "boolean") - return ".gogoproto.descriptionAll: boolean expected"; - if (message[".gogoproto.testgenAll"] != null && message.hasOwnProperty(".gogoproto.testgenAll")) - if (typeof message[".gogoproto.testgenAll"] !== "boolean") - return ".gogoproto.testgenAll: boolean expected"; - if (message[".gogoproto.benchgenAll"] != null && message.hasOwnProperty(".gogoproto.benchgenAll")) - if (typeof message[".gogoproto.benchgenAll"] !== "boolean") - return ".gogoproto.benchgenAll: boolean expected"; - if (message[".gogoproto.marshalerAll"] != null && message.hasOwnProperty(".gogoproto.marshalerAll")) - if (typeof message[".gogoproto.marshalerAll"] !== "boolean") - return ".gogoproto.marshalerAll: boolean expected"; - if (message[".gogoproto.unmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unmarshalerAll")) - if (typeof message[".gogoproto.unmarshalerAll"] !== "boolean") - return ".gogoproto.unmarshalerAll: boolean expected"; - if (message[".gogoproto.stableMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.stableMarshalerAll")) - if (typeof message[".gogoproto.stableMarshalerAll"] !== "boolean") - return ".gogoproto.stableMarshalerAll: boolean expected"; - if (message[".gogoproto.sizerAll"] != null && message.hasOwnProperty(".gogoproto.sizerAll")) - if (typeof message[".gogoproto.sizerAll"] !== "boolean") - return ".gogoproto.sizerAll: boolean expected"; - if (message[".gogoproto.goprotoEnumStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringerAll")) - if (typeof message[".gogoproto.goprotoEnumStringerAll"] !== "boolean") - return ".gogoproto.goprotoEnumStringerAll: boolean expected"; - if (message[".gogoproto.enumStringerAll"] != null && message.hasOwnProperty(".gogoproto.enumStringerAll")) - if (typeof message[".gogoproto.enumStringerAll"] !== "boolean") - return ".gogoproto.enumStringerAll: boolean expected"; - if (message[".gogoproto.unsafeMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshalerAll")) - if (typeof message[".gogoproto.unsafeMarshalerAll"] !== "boolean") - return ".gogoproto.unsafeMarshalerAll: boolean expected"; - if (message[".gogoproto.unsafeUnmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshalerAll")) - if (typeof message[".gogoproto.unsafeUnmarshalerAll"] !== "boolean") - return ".gogoproto.unsafeUnmarshalerAll: boolean expected"; - if (message[".gogoproto.goprotoExtensionsMapAll"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMapAll")) - if (typeof message[".gogoproto.goprotoExtensionsMapAll"] !== "boolean") - return ".gogoproto.goprotoExtensionsMapAll: boolean expected"; - if (message[".gogoproto.goprotoUnrecognizedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognizedAll")) - if (typeof message[".gogoproto.goprotoUnrecognizedAll"] !== "boolean") - return ".gogoproto.goprotoUnrecognizedAll: boolean expected"; - if (message[".gogoproto.gogoprotoImport"] != null && message.hasOwnProperty(".gogoproto.gogoprotoImport")) - if (typeof message[".gogoproto.gogoprotoImport"] !== "boolean") - return ".gogoproto.gogoprotoImport: boolean expected"; - if (message[".gogoproto.protosizerAll"] != null && message.hasOwnProperty(".gogoproto.protosizerAll")) - if (typeof message[".gogoproto.protosizerAll"] !== "boolean") - return ".gogoproto.protosizerAll: boolean expected"; - if (message[".gogoproto.compareAll"] != null && message.hasOwnProperty(".gogoproto.compareAll")) - if (typeof message[".gogoproto.compareAll"] !== "boolean") - return ".gogoproto.compareAll: boolean expected"; - if (message[".gogoproto.typedeclAll"] != null && message.hasOwnProperty(".gogoproto.typedeclAll")) - if (typeof message[".gogoproto.typedeclAll"] !== "boolean") - return ".gogoproto.typedeclAll: boolean expected"; - if (message[".gogoproto.enumdeclAll"] != null && message.hasOwnProperty(".gogoproto.enumdeclAll")) - if (typeof message[".gogoproto.enumdeclAll"] !== "boolean") - return ".gogoproto.enumdeclAll: boolean expected"; - if (message[".gogoproto.goprotoRegistration"] != null && message.hasOwnProperty(".gogoproto.goprotoRegistration")) - if (typeof message[".gogoproto.goprotoRegistration"] !== "boolean") - return ".gogoproto.goprotoRegistration: boolean expected"; - if (message[".gogoproto.messagenameAll"] != null && message.hasOwnProperty(".gogoproto.messagenameAll")) - if (typeof message[".gogoproto.messagenameAll"] !== "boolean") - return ".gogoproto.messagenameAll: boolean expected"; - if (message[".gogoproto.goprotoSizecacheAll"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecacheAll")) - if (typeof message[".gogoproto.goprotoSizecacheAll"] !== "boolean") - return ".gogoproto.goprotoSizecacheAll: boolean expected"; - if (message[".gogoproto.goprotoUnkeyedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyedAll")) - if (typeof message[".gogoproto.goprotoUnkeyedAll"] !== "boolean") - return ".gogoproto.goprotoUnkeyedAll: boolean expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; return null; }; /** - * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * Creates a NoBlockResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static * @param {Object.} object Plain object - * @returns {google.protobuf.FileOptions} FileOptions + * @returns {tendermint.blocksync.NoBlockResponse} NoBlockResponse */ - FileOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FileOptions) + NoBlockResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blocksync.NoBlockResponse) return object; - var message = new $root.google.protobuf.FileOptions(); - if (object.javaPackage != null) - message.javaPackage = String(object.javaPackage); - if (object.javaOuterClassname != null) - message.javaOuterClassname = String(object.javaOuterClassname); - if (object.javaMultipleFiles != null) - message.javaMultipleFiles = Boolean(object.javaMultipleFiles); - if (object.javaGenerateEqualsAndHash != null) - message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); - if (object.javaStringCheckUtf8 != null) - message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); - switch (object.optimizeFor) { - case "SPEED": - case 1: - message.optimizeFor = 1; - break; - case "CODE_SIZE": - case 2: - message.optimizeFor = 2; - break; - case "LITE_RUNTIME": - case 3: - message.optimizeFor = 3; - break; - } - if (object.goPackage != null) - message.goPackage = String(object.goPackage); - if (object.ccGenericServices != null) - message.ccGenericServices = Boolean(object.ccGenericServices); - if (object.javaGenericServices != null) - message.javaGenericServices = Boolean(object.javaGenericServices); - if (object.pyGenericServices != null) - message.pyGenericServices = Boolean(object.pyGenericServices); - if (object.phpGenericServices != null) - message.phpGenericServices = Boolean(object.phpGenericServices); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.ccEnableArenas != null) - message.ccEnableArenas = Boolean(object.ccEnableArenas); - if (object.objcClassPrefix != null) - message.objcClassPrefix = String(object.objcClassPrefix); - if (object.csharpNamespace != null) - message.csharpNamespace = String(object.csharpNamespace); - if (object.swiftPrefix != null) - message.swiftPrefix = String(object.swiftPrefix); - if (object.phpClassPrefix != null) - message.phpClassPrefix = String(object.phpClassPrefix); - if (object.phpNamespace != null) - message.phpNamespace = String(object.phpNamespace); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".gogoproto.goprotoGettersAll"] != null) - message[".gogoproto.goprotoGettersAll"] = Boolean(object[".gogoproto.goprotoGettersAll"]); - if (object[".gogoproto.goprotoEnumPrefixAll"] != null) - message[".gogoproto.goprotoEnumPrefixAll"] = Boolean(object[".gogoproto.goprotoEnumPrefixAll"]); - if (object[".gogoproto.goprotoStringerAll"] != null) - message[".gogoproto.goprotoStringerAll"] = Boolean(object[".gogoproto.goprotoStringerAll"]); - if (object[".gogoproto.verboseEqualAll"] != null) - message[".gogoproto.verboseEqualAll"] = Boolean(object[".gogoproto.verboseEqualAll"]); - if (object[".gogoproto.faceAll"] != null) - message[".gogoproto.faceAll"] = Boolean(object[".gogoproto.faceAll"]); - if (object[".gogoproto.gostringAll"] != null) - message[".gogoproto.gostringAll"] = Boolean(object[".gogoproto.gostringAll"]); - if (object[".gogoproto.populateAll"] != null) - message[".gogoproto.populateAll"] = Boolean(object[".gogoproto.populateAll"]); - if (object[".gogoproto.stringerAll"] != null) - message[".gogoproto.stringerAll"] = Boolean(object[".gogoproto.stringerAll"]); - if (object[".gogoproto.onlyoneAll"] != null) - message[".gogoproto.onlyoneAll"] = Boolean(object[".gogoproto.onlyoneAll"]); - if (object[".gogoproto.equalAll"] != null) - message[".gogoproto.equalAll"] = Boolean(object[".gogoproto.equalAll"]); - if (object[".gogoproto.descriptionAll"] != null) - message[".gogoproto.descriptionAll"] = Boolean(object[".gogoproto.descriptionAll"]); - if (object[".gogoproto.testgenAll"] != null) - message[".gogoproto.testgenAll"] = Boolean(object[".gogoproto.testgenAll"]); - if (object[".gogoproto.benchgenAll"] != null) - message[".gogoproto.benchgenAll"] = Boolean(object[".gogoproto.benchgenAll"]); - if (object[".gogoproto.marshalerAll"] != null) - message[".gogoproto.marshalerAll"] = Boolean(object[".gogoproto.marshalerAll"]); - if (object[".gogoproto.unmarshalerAll"] != null) - message[".gogoproto.unmarshalerAll"] = Boolean(object[".gogoproto.unmarshalerAll"]); - if (object[".gogoproto.stableMarshalerAll"] != null) - message[".gogoproto.stableMarshalerAll"] = Boolean(object[".gogoproto.stableMarshalerAll"]); - if (object[".gogoproto.sizerAll"] != null) - message[".gogoproto.sizerAll"] = Boolean(object[".gogoproto.sizerAll"]); - if (object[".gogoproto.goprotoEnumStringerAll"] != null) - message[".gogoproto.goprotoEnumStringerAll"] = Boolean(object[".gogoproto.goprotoEnumStringerAll"]); - if (object[".gogoproto.enumStringerAll"] != null) - message[".gogoproto.enumStringerAll"] = Boolean(object[".gogoproto.enumStringerAll"]); - if (object[".gogoproto.unsafeMarshalerAll"] != null) - message[".gogoproto.unsafeMarshalerAll"] = Boolean(object[".gogoproto.unsafeMarshalerAll"]); - if (object[".gogoproto.unsafeUnmarshalerAll"] != null) - message[".gogoproto.unsafeUnmarshalerAll"] = Boolean(object[".gogoproto.unsafeUnmarshalerAll"]); - if (object[".gogoproto.goprotoExtensionsMapAll"] != null) - message[".gogoproto.goprotoExtensionsMapAll"] = Boolean(object[".gogoproto.goprotoExtensionsMapAll"]); - if (object[".gogoproto.goprotoUnrecognizedAll"] != null) - message[".gogoproto.goprotoUnrecognizedAll"] = Boolean(object[".gogoproto.goprotoUnrecognizedAll"]); - if (object[".gogoproto.gogoprotoImport"] != null) - message[".gogoproto.gogoprotoImport"] = Boolean(object[".gogoproto.gogoprotoImport"]); - if (object[".gogoproto.protosizerAll"] != null) - message[".gogoproto.protosizerAll"] = Boolean(object[".gogoproto.protosizerAll"]); - if (object[".gogoproto.compareAll"] != null) - message[".gogoproto.compareAll"] = Boolean(object[".gogoproto.compareAll"]); - if (object[".gogoproto.typedeclAll"] != null) - message[".gogoproto.typedeclAll"] = Boolean(object[".gogoproto.typedeclAll"]); - if (object[".gogoproto.enumdeclAll"] != null) - message[".gogoproto.enumdeclAll"] = Boolean(object[".gogoproto.enumdeclAll"]); - if (object[".gogoproto.goprotoRegistration"] != null) - message[".gogoproto.goprotoRegistration"] = Boolean(object[".gogoproto.goprotoRegistration"]); - if (object[".gogoproto.messagenameAll"] != null) - message[".gogoproto.messagenameAll"] = Boolean(object[".gogoproto.messagenameAll"]); - if (object[".gogoproto.goprotoSizecacheAll"] != null) - message[".gogoproto.goprotoSizecacheAll"] = Boolean(object[".gogoproto.goprotoSizecacheAll"]); - if (object[".gogoproto.goprotoUnkeyedAll"] != null) - message[".gogoproto.goprotoUnkeyedAll"] = Boolean(object[".gogoproto.goprotoUnkeyedAll"]); + var message = new $root.tendermint.blocksync.NoBlockResponse(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); return message; }; /** - * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * Creates a plain object from a NoBlockResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @static - * @param {google.protobuf.FileOptions} message FileOptions + * @param {tendermint.blocksync.NoBlockResponse} message NoBlockResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FileOptions.toObject = function toObject(message, options) { + NoBlockResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.javaPackage = ""; - object.javaOuterClassname = ""; - object.optimizeFor = options.enums === String ? "SPEED" : 1; - object.javaMultipleFiles = false; - object.goPackage = ""; - object.ccGenericServices = false; - object.javaGenericServices = false; - object.pyGenericServices = false; - object.javaGenerateEqualsAndHash = false; - object.deprecated = false; - object.javaStringCheckUtf8 = false; - object.ccEnableArenas = false; - object.objcClassPrefix = ""; - object.csharpNamespace = ""; - object.swiftPrefix = ""; - object.phpClassPrefix = ""; - object.phpNamespace = ""; - object.phpGenericServices = false; - object[".gogoproto.goprotoGettersAll"] = false; - object[".gogoproto.goprotoEnumPrefixAll"] = false; - object[".gogoproto.goprotoStringerAll"] = false; - object[".gogoproto.verboseEqualAll"] = false; - object[".gogoproto.faceAll"] = false; - object[".gogoproto.gostringAll"] = false; - object[".gogoproto.populateAll"] = false; - object[".gogoproto.stringerAll"] = false; - object[".gogoproto.onlyoneAll"] = false; - object[".gogoproto.equalAll"] = false; - object[".gogoproto.descriptionAll"] = false; - object[".gogoproto.testgenAll"] = false; - object[".gogoproto.benchgenAll"] = false; - object[".gogoproto.marshalerAll"] = false; - object[".gogoproto.unmarshalerAll"] = false; - object[".gogoproto.stableMarshalerAll"] = false; - object[".gogoproto.sizerAll"] = false; - object[".gogoproto.goprotoEnumStringerAll"] = false; - object[".gogoproto.enumStringerAll"] = false; - object[".gogoproto.unsafeMarshalerAll"] = false; - object[".gogoproto.unsafeUnmarshalerAll"] = false; - object[".gogoproto.goprotoExtensionsMapAll"] = false; - object[".gogoproto.goprotoUnrecognizedAll"] = false; - object[".gogoproto.gogoprotoImport"] = false; - object[".gogoproto.protosizerAll"] = false; - object[".gogoproto.compareAll"] = false; - object[".gogoproto.typedeclAll"] = false; - object[".gogoproto.enumdeclAll"] = false; - object[".gogoproto.goprotoRegistration"] = false; - object[".gogoproto.messagenameAll"] = false; - object[".gogoproto.goprotoSizecacheAll"] = false; - object[".gogoproto.goprotoUnkeyedAll"] = false; - } - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) - object.javaPackage = message.javaPackage; - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) - object.javaOuterClassname = message.javaOuterClassname; - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) - object.javaMultipleFiles = message.javaMultipleFiles; - if (message.goPackage != null && message.hasOwnProperty("goPackage")) - object.goPackage = message.goPackage; - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) - object.ccGenericServices = message.ccGenericServices; - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) - object.javaGenericServices = message.javaGenericServices; - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) - object.pyGenericServices = message.pyGenericServices; - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) - object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) - object.javaStringCheckUtf8 = message.javaStringCheckUtf8; - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) - object.ccEnableArenas = message.ccEnableArenas; - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) - object.objcClassPrefix = message.objcClassPrefix; - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) - object.csharpNamespace = message.csharpNamespace; - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) - object.swiftPrefix = message.swiftPrefix; - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) - object.phpClassPrefix = message.phpClassPrefix; - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) - object.phpNamespace = message.phpNamespace; - if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) - object.phpGenericServices = message.phpGenericServices; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".gogoproto.goprotoGettersAll"] != null && message.hasOwnProperty(".gogoproto.goprotoGettersAll")) - object[".gogoproto.goprotoGettersAll"] = message[".gogoproto.goprotoGettersAll"]; - if (message[".gogoproto.goprotoEnumPrefixAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefixAll")) - object[".gogoproto.goprotoEnumPrefixAll"] = message[".gogoproto.goprotoEnumPrefixAll"]; - if (message[".gogoproto.goprotoStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoStringerAll")) - object[".gogoproto.goprotoStringerAll"] = message[".gogoproto.goprotoStringerAll"]; - if (message[".gogoproto.verboseEqualAll"] != null && message.hasOwnProperty(".gogoproto.verboseEqualAll")) - object[".gogoproto.verboseEqualAll"] = message[".gogoproto.verboseEqualAll"]; - if (message[".gogoproto.faceAll"] != null && message.hasOwnProperty(".gogoproto.faceAll")) - object[".gogoproto.faceAll"] = message[".gogoproto.faceAll"]; - if (message[".gogoproto.gostringAll"] != null && message.hasOwnProperty(".gogoproto.gostringAll")) - object[".gogoproto.gostringAll"] = message[".gogoproto.gostringAll"]; - if (message[".gogoproto.populateAll"] != null && message.hasOwnProperty(".gogoproto.populateAll")) - object[".gogoproto.populateAll"] = message[".gogoproto.populateAll"]; - if (message[".gogoproto.stringerAll"] != null && message.hasOwnProperty(".gogoproto.stringerAll")) - object[".gogoproto.stringerAll"] = message[".gogoproto.stringerAll"]; - if (message[".gogoproto.onlyoneAll"] != null && message.hasOwnProperty(".gogoproto.onlyoneAll")) - object[".gogoproto.onlyoneAll"] = message[".gogoproto.onlyoneAll"]; - if (message[".gogoproto.equalAll"] != null && message.hasOwnProperty(".gogoproto.equalAll")) - object[".gogoproto.equalAll"] = message[".gogoproto.equalAll"]; - if (message[".gogoproto.descriptionAll"] != null && message.hasOwnProperty(".gogoproto.descriptionAll")) - object[".gogoproto.descriptionAll"] = message[".gogoproto.descriptionAll"]; - if (message[".gogoproto.testgenAll"] != null && message.hasOwnProperty(".gogoproto.testgenAll")) - object[".gogoproto.testgenAll"] = message[".gogoproto.testgenAll"]; - if (message[".gogoproto.benchgenAll"] != null && message.hasOwnProperty(".gogoproto.benchgenAll")) - object[".gogoproto.benchgenAll"] = message[".gogoproto.benchgenAll"]; - if (message[".gogoproto.marshalerAll"] != null && message.hasOwnProperty(".gogoproto.marshalerAll")) - object[".gogoproto.marshalerAll"] = message[".gogoproto.marshalerAll"]; - if (message[".gogoproto.unmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unmarshalerAll")) - object[".gogoproto.unmarshalerAll"] = message[".gogoproto.unmarshalerAll"]; - if (message[".gogoproto.stableMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.stableMarshalerAll")) - object[".gogoproto.stableMarshalerAll"] = message[".gogoproto.stableMarshalerAll"]; - if (message[".gogoproto.sizerAll"] != null && message.hasOwnProperty(".gogoproto.sizerAll")) - object[".gogoproto.sizerAll"] = message[".gogoproto.sizerAll"]; - if (message[".gogoproto.goprotoEnumStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringerAll")) - object[".gogoproto.goprotoEnumStringerAll"] = message[".gogoproto.goprotoEnumStringerAll"]; - if (message[".gogoproto.enumStringerAll"] != null && message.hasOwnProperty(".gogoproto.enumStringerAll")) - object[".gogoproto.enumStringerAll"] = message[".gogoproto.enumStringerAll"]; - if (message[".gogoproto.unsafeMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshalerAll")) - object[".gogoproto.unsafeMarshalerAll"] = message[".gogoproto.unsafeMarshalerAll"]; - if (message[".gogoproto.unsafeUnmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshalerAll")) - object[".gogoproto.unsafeUnmarshalerAll"] = message[".gogoproto.unsafeUnmarshalerAll"]; - if (message[".gogoproto.goprotoExtensionsMapAll"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMapAll")) - object[".gogoproto.goprotoExtensionsMapAll"] = message[".gogoproto.goprotoExtensionsMapAll"]; - if (message[".gogoproto.goprotoUnrecognizedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognizedAll")) - object[".gogoproto.goprotoUnrecognizedAll"] = message[".gogoproto.goprotoUnrecognizedAll"]; - if (message[".gogoproto.gogoprotoImport"] != null && message.hasOwnProperty(".gogoproto.gogoprotoImport")) - object[".gogoproto.gogoprotoImport"] = message[".gogoproto.gogoprotoImport"]; - if (message[".gogoproto.protosizerAll"] != null && message.hasOwnProperty(".gogoproto.protosizerAll")) - object[".gogoproto.protosizerAll"] = message[".gogoproto.protosizerAll"]; - if (message[".gogoproto.compareAll"] != null && message.hasOwnProperty(".gogoproto.compareAll")) - object[".gogoproto.compareAll"] = message[".gogoproto.compareAll"]; - if (message[".gogoproto.typedeclAll"] != null && message.hasOwnProperty(".gogoproto.typedeclAll")) - object[".gogoproto.typedeclAll"] = message[".gogoproto.typedeclAll"]; - if (message[".gogoproto.enumdeclAll"] != null && message.hasOwnProperty(".gogoproto.enumdeclAll")) - object[".gogoproto.enumdeclAll"] = message[".gogoproto.enumdeclAll"]; - if (message[".gogoproto.goprotoRegistration"] != null && message.hasOwnProperty(".gogoproto.goprotoRegistration")) - object[".gogoproto.goprotoRegistration"] = message[".gogoproto.goprotoRegistration"]; - if (message[".gogoproto.messagenameAll"] != null && message.hasOwnProperty(".gogoproto.messagenameAll")) - object[".gogoproto.messagenameAll"] = message[".gogoproto.messagenameAll"]; - if (message[".gogoproto.goprotoSizecacheAll"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecacheAll")) - object[".gogoproto.goprotoSizecacheAll"] = message[".gogoproto.goprotoSizecacheAll"]; - if (message[".gogoproto.goprotoUnkeyedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyedAll")) - object[".gogoproto.goprotoUnkeyedAll"] = message[".gogoproto.goprotoUnkeyedAll"]; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; return object; }; /** - * Converts this FileOptions to JSON. + * Converts this NoBlockResponse to JSON. * @function toJSON - * @memberof google.protobuf.FileOptions + * @memberof tendermint.blocksync.NoBlockResponse * @instance * @returns {Object.} JSON object */ - FileOptions.prototype.toJSON = function toJSON() { + NoBlockResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + return NoBlockResponse; + })(); + + blocksync.BlockResponse = (function() { + /** - * OptimizeMode enum. - * @name google.protobuf.FileOptions.OptimizeMode - * @enum {string} - * @property {number} SPEED=1 SPEED value - * @property {number} CODE_SIZE=2 CODE_SIZE value - * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value + * Properties of a BlockResponse. + * @memberof tendermint.blocksync + * @interface IBlockResponse + * @property {tendermint.types.IBlock|null} [block] BlockResponse block */ - FileOptions.OptimizeMode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[1] = "SPEED"] = 1; - values[valuesById[2] = "CODE_SIZE"] = 2; - values[valuesById[3] = "LITE_RUNTIME"] = 3; - return values; - })(); - return FileOptions; - })(); + /** + * Constructs a new BlockResponse. + * @memberof tendermint.blocksync + * @classdesc Represents a BlockResponse. + * @implements IBlockResponse + * @constructor + * @param {tendermint.blocksync.IBlockResponse=} [properties] Properties to set + */ + function BlockResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - protobuf.MessageOptions = (function() { + /** + * BlockResponse block. + * @member {tendermint.types.IBlock|null|undefined} block + * @memberof tendermint.blocksync.BlockResponse + * @instance + */ + BlockResponse.prototype.block = null; /** - * Properties of a MessageOptions. - * @memberof google.protobuf - * @interface IMessageOptions - * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat - * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor - * @property {boolean|null} [deprecated] MessageOptions deprecated - * @property {boolean|null} [mapEntry] MessageOptions mapEntry - * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption - * @property {boolean|null} [".gogoproto.goprotoGetters"] MessageOptions .gogoproto.goprotoGetters - * @property {boolean|null} [".gogoproto.goprotoStringer"] MessageOptions .gogoproto.goprotoStringer - * @property {boolean|null} [".gogoproto.verboseEqual"] MessageOptions .gogoproto.verboseEqual - * @property {boolean|null} [".gogoproto.face"] MessageOptions .gogoproto.face - * @property {boolean|null} [".gogoproto.gostring"] MessageOptions .gogoproto.gostring - * @property {boolean|null} [".gogoproto.populate"] MessageOptions .gogoproto.populate - * @property {boolean|null} [".gogoproto.stringer"] MessageOptions .gogoproto.stringer - * @property {boolean|null} [".gogoproto.onlyone"] MessageOptions .gogoproto.onlyone - * @property {boolean|null} [".gogoproto.equal"] MessageOptions .gogoproto.equal - * @property {boolean|null} [".gogoproto.description"] MessageOptions .gogoproto.description - * @property {boolean|null} [".gogoproto.testgen"] MessageOptions .gogoproto.testgen - * @property {boolean|null} [".gogoproto.benchgen"] MessageOptions .gogoproto.benchgen - * @property {boolean|null} [".gogoproto.marshaler"] MessageOptions .gogoproto.marshaler - * @property {boolean|null} [".gogoproto.unmarshaler"] MessageOptions .gogoproto.unmarshaler - * @property {boolean|null} [".gogoproto.stableMarshaler"] MessageOptions .gogoproto.stableMarshaler - * @property {boolean|null} [".gogoproto.sizer"] MessageOptions .gogoproto.sizer - * @property {boolean|null} [".gogoproto.unsafeMarshaler"] MessageOptions .gogoproto.unsafeMarshaler - * @property {boolean|null} [".gogoproto.unsafeUnmarshaler"] MessageOptions .gogoproto.unsafeUnmarshaler - * @property {boolean|null} [".gogoproto.goprotoExtensionsMap"] MessageOptions .gogoproto.goprotoExtensionsMap - * @property {boolean|null} [".gogoproto.goprotoUnrecognized"] MessageOptions .gogoproto.goprotoUnrecognized - * @property {boolean|null} [".gogoproto.protosizer"] MessageOptions .gogoproto.protosizer - * @property {boolean|null} [".gogoproto.compare"] MessageOptions .gogoproto.compare - * @property {boolean|null} [".gogoproto.typedecl"] MessageOptions .gogoproto.typedecl - * @property {boolean|null} [".gogoproto.messagename"] MessageOptions .gogoproto.messagename - * @property {boolean|null} [".gogoproto.goprotoSizecache"] MessageOptions .gogoproto.goprotoSizecache - * @property {boolean|null} [".gogoproto.goprotoUnkeyed"] MessageOptions .gogoproto.goprotoUnkeyed + * Creates a new BlockResponse instance using the specified properties. + * @function create + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {tendermint.blocksync.IBlockResponse=} [properties] Properties to set + * @returns {tendermint.blocksync.BlockResponse} BlockResponse instance */ + BlockResponse.create = function create(properties) { + return new BlockResponse(properties); + }; /** - * Constructs a new MessageOptions. - * @memberof google.protobuf - * @classdesc Represents a MessageOptions. - * @implements IMessageOptions - * @constructor - * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * Encodes the specified BlockResponse message. Does not implicitly {@link tendermint.blocksync.BlockResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {tendermint.blocksync.IBlockResponse} message BlockResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - function MessageOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + BlockResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + $root.tendermint.types.Block.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; /** - * MessageOptions messageSetWireFormat. - * @member {boolean} messageSetWireFormat - * @memberof google.protobuf.MessageOptions - * @instance + * Encodes the specified BlockResponse message, length delimited. Does not implicitly {@link tendermint.blocksync.BlockResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {tendermint.blocksync.IBlockResponse} message BlockResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - MessageOptions.prototype.messageSetWireFormat = false; + BlockResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * MessageOptions noStandardDescriptorAccessor. - * @member {boolean} noStandardDescriptorAccessor - * @memberof google.protobuf.MessageOptions - * @instance + * Decodes a BlockResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blocksync.BlockResponse} BlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.prototype.noStandardDescriptorAccessor = false; + BlockResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blocksync.BlockResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = $root.tendermint.types.Block.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * MessageOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.MessageOptions - * @instance + * Decodes a BlockResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blocksync.BlockResponse} BlockResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.prototype.deprecated = false; + BlockResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * MessageOptions mapEntry. - * @member {boolean} mapEntry - * @memberof google.protobuf.MessageOptions - * @instance + * Verifies a BlockResponse message. + * @function verify + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.prototype.mapEntry = false; + BlockResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.block != null && message.hasOwnProperty("block")) { + var error = $root.tendermint.types.Block.verify(message.block); + if (error) + return "block." + error; + } + return null; + }; /** - * MessageOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.MessageOptions - * @instance + * Creates a BlockResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blocksync.BlockResponse} BlockResponse */ - MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + BlockResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blocksync.BlockResponse) + return object; + var message = new $root.tendermint.blocksync.BlockResponse(); + if (object.block != null) { + if (typeof object.block !== "object") + throw TypeError(".tendermint.blocksync.BlockResponse.block: object expected"); + message.block = $root.tendermint.types.Block.fromObject(object.block); + } + return message; + }; /** - * MessageOptions .gogoproto.goprotoGetters. - * @member {boolean} .gogoproto.goprotoGetters - * @memberof google.protobuf.MessageOptions - * @instance + * Creates a plain object from a BlockResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blocksync.BlockResponse + * @static + * @param {tendermint.blocksync.BlockResponse} message BlockResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - MessageOptions.prototype[".gogoproto.goprotoGetters"] = false; + BlockResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.block = null; + if (message.block != null && message.hasOwnProperty("block")) + object.block = $root.tendermint.types.Block.toObject(message.block, options); + return object; + }; /** - * MessageOptions .gogoproto.goprotoStringer. - * @member {boolean} .gogoproto.goprotoStringer - * @memberof google.protobuf.MessageOptions + * Converts this BlockResponse to JSON. + * @function toJSON + * @memberof tendermint.blocksync.BlockResponse * @instance + * @returns {Object.} JSON object */ - MessageOptions.prototype[".gogoproto.goprotoStringer"] = false; + BlockResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * MessageOptions .gogoproto.verboseEqual. - * @member {boolean} .gogoproto.verboseEqual - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.verboseEqual"] = false; + return BlockResponse; + })(); + + blocksync.StatusRequest = (function() { /** - * MessageOptions .gogoproto.face. - * @member {boolean} .gogoproto.face - * @memberof google.protobuf.MessageOptions - * @instance + * Properties of a StatusRequest. + * @memberof tendermint.blocksync + * @interface IStatusRequest */ - MessageOptions.prototype[".gogoproto.face"] = false; /** - * MessageOptions .gogoproto.gostring. - * @member {boolean} .gogoproto.gostring - * @memberof google.protobuf.MessageOptions - * @instance + * Constructs a new StatusRequest. + * @memberof tendermint.blocksync + * @classdesc Represents a StatusRequest. + * @implements IStatusRequest + * @constructor + * @param {tendermint.blocksync.IStatusRequest=} [properties] Properties to set */ - MessageOptions.prototype[".gogoproto.gostring"] = false; + function StatusRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * MessageOptions .gogoproto.populate. - * @member {boolean} .gogoproto.populate - * @memberof google.protobuf.MessageOptions - * @instance + * Creates a new StatusRequest instance using the specified properties. + * @function create + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {tendermint.blocksync.IStatusRequest=} [properties] Properties to set + * @returns {tendermint.blocksync.StatusRequest} StatusRequest instance */ - MessageOptions.prototype[".gogoproto.populate"] = false; + StatusRequest.create = function create(properties) { + return new StatusRequest(properties); + }; /** - * MessageOptions .gogoproto.stringer. - * @member {boolean} .gogoproto.stringer - * @memberof google.protobuf.MessageOptions - * @instance + * Encodes the specified StatusRequest message. Does not implicitly {@link tendermint.blocksync.StatusRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {tendermint.blocksync.IStatusRequest} message StatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - MessageOptions.prototype[".gogoproto.stringer"] = false; + StatusRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; /** - * MessageOptions .gogoproto.onlyone. - * @member {boolean} .gogoproto.onlyone - * @memberof google.protobuf.MessageOptions - * @instance + * Encodes the specified StatusRequest message, length delimited. Does not implicitly {@link tendermint.blocksync.StatusRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {tendermint.blocksync.IStatusRequest} message StatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - MessageOptions.prototype[".gogoproto.onlyone"] = false; + StatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * MessageOptions .gogoproto.equal. - * @member {boolean} .gogoproto.equal - * @memberof google.protobuf.MessageOptions - * @instance + * Decodes a StatusRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blocksync.StatusRequest} StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.prototype[".gogoproto.equal"] = false; + StatusRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blocksync.StatusRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * MessageOptions .gogoproto.description. - * @member {boolean} .gogoproto.description - * @memberof google.protobuf.MessageOptions - * @instance + * Decodes a StatusRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blocksync.StatusRequest} StatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.prototype[".gogoproto.description"] = false; + StatusRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * MessageOptions .gogoproto.testgen. - * @member {boolean} .gogoproto.testgen - * @memberof google.protobuf.MessageOptions - * @instance + * Verifies a StatusRequest message. + * @function verify + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.prototype[".gogoproto.testgen"] = false; + StatusRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; /** - * MessageOptions .gogoproto.benchgen. - * @member {boolean} .gogoproto.benchgen - * @memberof google.protobuf.MessageOptions - * @instance + * Creates a StatusRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blocksync.StatusRequest} StatusRequest */ - MessageOptions.prototype[".gogoproto.benchgen"] = false; + StatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blocksync.StatusRequest) + return object; + return new $root.tendermint.blocksync.StatusRequest(); + }; /** - * MessageOptions .gogoproto.marshaler. - * @member {boolean} .gogoproto.marshaler - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.marshaler"] = false; - - /** - * MessageOptions .gogoproto.unmarshaler. - * @member {boolean} .gogoproto.unmarshaler - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.unmarshaler"] = false; - - /** - * MessageOptions .gogoproto.stableMarshaler. - * @member {boolean} .gogoproto.stableMarshaler - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.stableMarshaler"] = false; - - /** - * MessageOptions .gogoproto.sizer. - * @member {boolean} .gogoproto.sizer - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.sizer"] = false; - - /** - * MessageOptions .gogoproto.unsafeMarshaler. - * @member {boolean} .gogoproto.unsafeMarshaler - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.unsafeMarshaler"] = false; - - /** - * MessageOptions .gogoproto.unsafeUnmarshaler. - * @member {boolean} .gogoproto.unsafeUnmarshaler - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.unsafeUnmarshaler"] = false; - - /** - * MessageOptions .gogoproto.goprotoExtensionsMap. - * @member {boolean} .gogoproto.goprotoExtensionsMap - * @memberof google.protobuf.MessageOptions - * @instance + * Creates a plain object from a StatusRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blocksync.StatusRequest + * @static + * @param {tendermint.blocksync.StatusRequest} message StatusRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - MessageOptions.prototype[".gogoproto.goprotoExtensionsMap"] = false; + StatusRequest.toObject = function toObject() { + return {}; + }; /** - * MessageOptions .gogoproto.goprotoUnrecognized. - * @member {boolean} .gogoproto.goprotoUnrecognized - * @memberof google.protobuf.MessageOptions + * Converts this StatusRequest to JSON. + * @function toJSON + * @memberof tendermint.blocksync.StatusRequest * @instance + * @returns {Object.} JSON object */ - MessageOptions.prototype[".gogoproto.goprotoUnrecognized"] = false; + StatusRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * MessageOptions .gogoproto.protosizer. - * @member {boolean} .gogoproto.protosizer - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.protosizer"] = false; + return StatusRequest; + })(); - /** - * MessageOptions .gogoproto.compare. - * @member {boolean} .gogoproto.compare - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".gogoproto.compare"] = false; + blocksync.StatusResponse = (function() { /** - * MessageOptions .gogoproto.typedecl. - * @member {boolean} .gogoproto.typedecl - * @memberof google.protobuf.MessageOptions - * @instance + * Properties of a StatusResponse. + * @memberof tendermint.blocksync + * @interface IStatusResponse + * @property {number|Long|null} [height] StatusResponse height + * @property {number|Long|null} [base] StatusResponse base */ - MessageOptions.prototype[".gogoproto.typedecl"] = false; /** - * MessageOptions .gogoproto.messagename. - * @member {boolean} .gogoproto.messagename - * @memberof google.protobuf.MessageOptions - * @instance + * Constructs a new StatusResponse. + * @memberof tendermint.blocksync + * @classdesc Represents a StatusResponse. + * @implements IStatusResponse + * @constructor + * @param {tendermint.blocksync.IStatusResponse=} [properties] Properties to set */ - MessageOptions.prototype[".gogoproto.messagename"] = false; + function StatusResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * MessageOptions .gogoproto.goprotoSizecache. - * @member {boolean} .gogoproto.goprotoSizecache - * @memberof google.protobuf.MessageOptions + * StatusResponse height. + * @member {number|Long} height + * @memberof tendermint.blocksync.StatusResponse * @instance */ - MessageOptions.prototype[".gogoproto.goprotoSizecache"] = false; + StatusResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * MessageOptions .gogoproto.goprotoUnkeyed. - * @member {boolean} .gogoproto.goprotoUnkeyed - * @memberof google.protobuf.MessageOptions + * StatusResponse base. + * @member {number|Long} base + * @memberof tendermint.blocksync.StatusResponse * @instance */ - MessageOptions.prototype[".gogoproto.goprotoUnkeyed"] = false; + StatusResponse.prototype.base = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Creates a new MessageOptions instance using the specified properties. + * Creates a new StatusResponse instance using the specified properties. * @function create - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static - * @param {google.protobuf.IMessageOptions=} [properties] Properties to set - * @returns {google.protobuf.MessageOptions} MessageOptions instance + * @param {tendermint.blocksync.IStatusResponse=} [properties] Properties to set + * @returns {tendermint.blocksync.StatusResponse} StatusResponse instance */ - MessageOptions.create = function create(properties) { - return new MessageOptions(properties); + StatusResponse.create = function create(properties) { + return new StatusResponse(properties); }; /** - * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * Encodes the specified StatusResponse message. Does not implicitly {@link tendermint.blocksync.StatusResponse.verify|verify} messages. * @function encode - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static - * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {tendermint.blocksync.IStatusResponse} message StatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - MessageOptions.encode = function encode(message, writer) { + StatusResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) - writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".gogoproto.goprotoGetters"] != null && message.hasOwnProperty(".gogoproto.goprotoGetters")) - writer.uint32(/* id 64001, wireType 0 =*/512008).bool(message[".gogoproto.goprotoGetters"]); - if (message[".gogoproto.goprotoStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoStringer")) - writer.uint32(/* id 64003, wireType 0 =*/512024).bool(message[".gogoproto.goprotoStringer"]); - if (message[".gogoproto.verboseEqual"] != null && message.hasOwnProperty(".gogoproto.verboseEqual")) - writer.uint32(/* id 64004, wireType 0 =*/512032).bool(message[".gogoproto.verboseEqual"]); - if (message[".gogoproto.face"] != null && message.hasOwnProperty(".gogoproto.face")) - writer.uint32(/* id 64005, wireType 0 =*/512040).bool(message[".gogoproto.face"]); - if (message[".gogoproto.gostring"] != null && message.hasOwnProperty(".gogoproto.gostring")) - writer.uint32(/* id 64006, wireType 0 =*/512048).bool(message[".gogoproto.gostring"]); - if (message[".gogoproto.populate"] != null && message.hasOwnProperty(".gogoproto.populate")) - writer.uint32(/* id 64007, wireType 0 =*/512056).bool(message[".gogoproto.populate"]); - if (message[".gogoproto.onlyone"] != null && message.hasOwnProperty(".gogoproto.onlyone")) - writer.uint32(/* id 64009, wireType 0 =*/512072).bool(message[".gogoproto.onlyone"]); - if (message[".gogoproto.equal"] != null && message.hasOwnProperty(".gogoproto.equal")) - writer.uint32(/* id 64013, wireType 0 =*/512104).bool(message[".gogoproto.equal"]); - if (message[".gogoproto.description"] != null && message.hasOwnProperty(".gogoproto.description")) - writer.uint32(/* id 64014, wireType 0 =*/512112).bool(message[".gogoproto.description"]); - if (message[".gogoproto.testgen"] != null && message.hasOwnProperty(".gogoproto.testgen")) - writer.uint32(/* id 64015, wireType 0 =*/512120).bool(message[".gogoproto.testgen"]); - if (message[".gogoproto.benchgen"] != null && message.hasOwnProperty(".gogoproto.benchgen")) - writer.uint32(/* id 64016, wireType 0 =*/512128).bool(message[".gogoproto.benchgen"]); - if (message[".gogoproto.marshaler"] != null && message.hasOwnProperty(".gogoproto.marshaler")) - writer.uint32(/* id 64017, wireType 0 =*/512136).bool(message[".gogoproto.marshaler"]); - if (message[".gogoproto.unmarshaler"] != null && message.hasOwnProperty(".gogoproto.unmarshaler")) - writer.uint32(/* id 64018, wireType 0 =*/512144).bool(message[".gogoproto.unmarshaler"]); - if (message[".gogoproto.stableMarshaler"] != null && message.hasOwnProperty(".gogoproto.stableMarshaler")) - writer.uint32(/* id 64019, wireType 0 =*/512152).bool(message[".gogoproto.stableMarshaler"]); - if (message[".gogoproto.sizer"] != null && message.hasOwnProperty(".gogoproto.sizer")) - writer.uint32(/* id 64020, wireType 0 =*/512160).bool(message[".gogoproto.sizer"]); - if (message[".gogoproto.unsafeMarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshaler")) - writer.uint32(/* id 64023, wireType 0 =*/512184).bool(message[".gogoproto.unsafeMarshaler"]); - if (message[".gogoproto.unsafeUnmarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshaler")) - writer.uint32(/* id 64024, wireType 0 =*/512192).bool(message[".gogoproto.unsafeUnmarshaler"]); - if (message[".gogoproto.goprotoExtensionsMap"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMap")) - writer.uint32(/* id 64025, wireType 0 =*/512200).bool(message[".gogoproto.goprotoExtensionsMap"]); - if (message[".gogoproto.goprotoUnrecognized"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognized")) - writer.uint32(/* id 64026, wireType 0 =*/512208).bool(message[".gogoproto.goprotoUnrecognized"]); - if (message[".gogoproto.protosizer"] != null && message.hasOwnProperty(".gogoproto.protosizer")) - writer.uint32(/* id 64028, wireType 0 =*/512224).bool(message[".gogoproto.protosizer"]); - if (message[".gogoproto.compare"] != null && message.hasOwnProperty(".gogoproto.compare")) - writer.uint32(/* id 64029, wireType 0 =*/512232).bool(message[".gogoproto.compare"]); - if (message[".gogoproto.typedecl"] != null && message.hasOwnProperty(".gogoproto.typedecl")) - writer.uint32(/* id 64030, wireType 0 =*/512240).bool(message[".gogoproto.typedecl"]); - if (message[".gogoproto.messagename"] != null && message.hasOwnProperty(".gogoproto.messagename")) - writer.uint32(/* id 64033, wireType 0 =*/512264).bool(message[".gogoproto.messagename"]); - if (message[".gogoproto.goprotoSizecache"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecache")) - writer.uint32(/* id 64034, wireType 0 =*/512272).bool(message[".gogoproto.goprotoSizecache"]); - if (message[".gogoproto.goprotoUnkeyed"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyed")) - writer.uint32(/* id 64035, wireType 0 =*/512280).bool(message[".gogoproto.goprotoUnkeyed"]); - if (message[".gogoproto.stringer"] != null && message.hasOwnProperty(".gogoproto.stringer")) - writer.uint32(/* id 67008, wireType 0 =*/536064).bool(message[".gogoproto.stringer"]); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.base != null && Object.hasOwnProperty.call(message, "base")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.base); return writer; }; /** - * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * Encodes the specified StatusResponse message, length delimited. Does not implicitly {@link tendermint.blocksync.StatusResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static - * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {tendermint.blocksync.IStatusResponse} message StatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + StatusResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a MessageOptions message from the specified reader or buffer. + * Decodes a StatusResponse message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.MessageOptions} MessageOptions + * @returns {tendermint.blocksync.StatusResponse} StatusResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length) { + StatusResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blocksync.StatusResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.messageSetWireFormat = reader.bool(); + message.height = reader.int64(); break; case 2: - message.noStandardDescriptorAccessor = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); + message.base = reader.int64(); break; - case 7: - message.mapEntry = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 64001: - message[".gogoproto.goprotoGetters"] = reader.bool(); - break; - case 64003: - message[".gogoproto.goprotoStringer"] = reader.bool(); - break; - case 64004: - message[".gogoproto.verboseEqual"] = reader.bool(); - break; - case 64005: - message[".gogoproto.face"] = reader.bool(); - break; - case 64006: - message[".gogoproto.gostring"] = reader.bool(); - break; - case 64007: - message[".gogoproto.populate"] = reader.bool(); - break; - case 67008: - message[".gogoproto.stringer"] = reader.bool(); - break; - case 64009: - message[".gogoproto.onlyone"] = reader.bool(); - break; - case 64013: - message[".gogoproto.equal"] = reader.bool(); - break; - case 64014: - message[".gogoproto.description"] = reader.bool(); - break; - case 64015: - message[".gogoproto.testgen"] = reader.bool(); - break; - case 64016: - message[".gogoproto.benchgen"] = reader.bool(); - break; - case 64017: - message[".gogoproto.marshaler"] = reader.bool(); - break; - case 64018: - message[".gogoproto.unmarshaler"] = reader.bool(); - break; - case 64019: - message[".gogoproto.stableMarshaler"] = reader.bool(); - break; - case 64020: - message[".gogoproto.sizer"] = reader.bool(); - break; - case 64023: - message[".gogoproto.unsafeMarshaler"] = reader.bool(); - break; - case 64024: - message[".gogoproto.unsafeUnmarshaler"] = reader.bool(); - break; - case 64025: - message[".gogoproto.goprotoExtensionsMap"] = reader.bool(); - break; - case 64026: - message[".gogoproto.goprotoUnrecognized"] = reader.bool(); - break; - case 64028: - message[".gogoproto.protosizer"] = reader.bool(); - break; - case 64029: - message[".gogoproto.compare"] = reader.bool(); - break; - case 64030: - message[".gogoproto.typedecl"] = reader.bool(); - break; - case 64033: - message[".gogoproto.messagename"] = reader.bool(); - break; - case 64034: - message[".gogoproto.goprotoSizecache"] = reader.bool(); - break; - case 64035: - message[".gogoproto.goprotoUnkeyed"] = reader.bool(); - break; - default: - reader.skipType(tag & 7); + default: + reader.skipType(tag & 7); break; } } @@ -17193,386 +14714,148 @@ $root.google = (function() { }; /** - * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * Decodes a StatusResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.MessageOptions} MessageOptions + * @returns {tendermint.blocksync.StatusResponse} StatusResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decodeDelimited = function decodeDelimited(reader) { + StatusResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a MessageOptions message. + * Verifies a StatusResponse message. * @function verify - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + StatusResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) - if (typeof message.messageSetWireFormat !== "boolean") - return "messageSetWireFormat: boolean expected"; - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) - if (typeof message.noStandardDescriptorAccessor !== "boolean") - return "noStandardDescriptorAccessor: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) - if (typeof message.mapEntry !== "boolean") - return "mapEntry: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".gogoproto.goprotoGetters"] != null && message.hasOwnProperty(".gogoproto.goprotoGetters")) - if (typeof message[".gogoproto.goprotoGetters"] !== "boolean") - return ".gogoproto.goprotoGetters: boolean expected"; - if (message[".gogoproto.goprotoStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoStringer")) - if (typeof message[".gogoproto.goprotoStringer"] !== "boolean") - return ".gogoproto.goprotoStringer: boolean expected"; - if (message[".gogoproto.verboseEqual"] != null && message.hasOwnProperty(".gogoproto.verboseEqual")) - if (typeof message[".gogoproto.verboseEqual"] !== "boolean") - return ".gogoproto.verboseEqual: boolean expected"; - if (message[".gogoproto.face"] != null && message.hasOwnProperty(".gogoproto.face")) - if (typeof message[".gogoproto.face"] !== "boolean") - return ".gogoproto.face: boolean expected"; - if (message[".gogoproto.gostring"] != null && message.hasOwnProperty(".gogoproto.gostring")) - if (typeof message[".gogoproto.gostring"] !== "boolean") - return ".gogoproto.gostring: boolean expected"; - if (message[".gogoproto.populate"] != null && message.hasOwnProperty(".gogoproto.populate")) - if (typeof message[".gogoproto.populate"] !== "boolean") - return ".gogoproto.populate: boolean expected"; - if (message[".gogoproto.stringer"] != null && message.hasOwnProperty(".gogoproto.stringer")) - if (typeof message[".gogoproto.stringer"] !== "boolean") - return ".gogoproto.stringer: boolean expected"; - if (message[".gogoproto.onlyone"] != null && message.hasOwnProperty(".gogoproto.onlyone")) - if (typeof message[".gogoproto.onlyone"] !== "boolean") - return ".gogoproto.onlyone: boolean expected"; - if (message[".gogoproto.equal"] != null && message.hasOwnProperty(".gogoproto.equal")) - if (typeof message[".gogoproto.equal"] !== "boolean") - return ".gogoproto.equal: boolean expected"; - if (message[".gogoproto.description"] != null && message.hasOwnProperty(".gogoproto.description")) - if (typeof message[".gogoproto.description"] !== "boolean") - return ".gogoproto.description: boolean expected"; - if (message[".gogoproto.testgen"] != null && message.hasOwnProperty(".gogoproto.testgen")) - if (typeof message[".gogoproto.testgen"] !== "boolean") - return ".gogoproto.testgen: boolean expected"; - if (message[".gogoproto.benchgen"] != null && message.hasOwnProperty(".gogoproto.benchgen")) - if (typeof message[".gogoproto.benchgen"] !== "boolean") - return ".gogoproto.benchgen: boolean expected"; - if (message[".gogoproto.marshaler"] != null && message.hasOwnProperty(".gogoproto.marshaler")) - if (typeof message[".gogoproto.marshaler"] !== "boolean") - return ".gogoproto.marshaler: boolean expected"; - if (message[".gogoproto.unmarshaler"] != null && message.hasOwnProperty(".gogoproto.unmarshaler")) - if (typeof message[".gogoproto.unmarshaler"] !== "boolean") - return ".gogoproto.unmarshaler: boolean expected"; - if (message[".gogoproto.stableMarshaler"] != null && message.hasOwnProperty(".gogoproto.stableMarshaler")) - if (typeof message[".gogoproto.stableMarshaler"] !== "boolean") - return ".gogoproto.stableMarshaler: boolean expected"; - if (message[".gogoproto.sizer"] != null && message.hasOwnProperty(".gogoproto.sizer")) - if (typeof message[".gogoproto.sizer"] !== "boolean") - return ".gogoproto.sizer: boolean expected"; - if (message[".gogoproto.unsafeMarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshaler")) - if (typeof message[".gogoproto.unsafeMarshaler"] !== "boolean") - return ".gogoproto.unsafeMarshaler: boolean expected"; - if (message[".gogoproto.unsafeUnmarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshaler")) - if (typeof message[".gogoproto.unsafeUnmarshaler"] !== "boolean") - return ".gogoproto.unsafeUnmarshaler: boolean expected"; - if (message[".gogoproto.goprotoExtensionsMap"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMap")) - if (typeof message[".gogoproto.goprotoExtensionsMap"] !== "boolean") - return ".gogoproto.goprotoExtensionsMap: boolean expected"; - if (message[".gogoproto.goprotoUnrecognized"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognized")) - if (typeof message[".gogoproto.goprotoUnrecognized"] !== "boolean") - return ".gogoproto.goprotoUnrecognized: boolean expected"; - if (message[".gogoproto.protosizer"] != null && message.hasOwnProperty(".gogoproto.protosizer")) - if (typeof message[".gogoproto.protosizer"] !== "boolean") - return ".gogoproto.protosizer: boolean expected"; - if (message[".gogoproto.compare"] != null && message.hasOwnProperty(".gogoproto.compare")) - if (typeof message[".gogoproto.compare"] !== "boolean") - return ".gogoproto.compare: boolean expected"; - if (message[".gogoproto.typedecl"] != null && message.hasOwnProperty(".gogoproto.typedecl")) - if (typeof message[".gogoproto.typedecl"] !== "boolean") - return ".gogoproto.typedecl: boolean expected"; - if (message[".gogoproto.messagename"] != null && message.hasOwnProperty(".gogoproto.messagename")) - if (typeof message[".gogoproto.messagename"] !== "boolean") - return ".gogoproto.messagename: boolean expected"; - if (message[".gogoproto.goprotoSizecache"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecache")) - if (typeof message[".gogoproto.goprotoSizecache"] !== "boolean") - return ".gogoproto.goprotoSizecache: boolean expected"; - if (message[".gogoproto.goprotoUnkeyed"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyed")) - if (typeof message[".gogoproto.goprotoUnkeyed"] !== "boolean") - return ".gogoproto.goprotoUnkeyed: boolean expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.base != null && message.hasOwnProperty("base")) + if (!$util.isInteger(message.base) && !(message.base && $util.isInteger(message.base.low) && $util.isInteger(message.base.high))) + return "base: integer|Long expected"; return null; }; /** - * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * Creates a StatusResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static * @param {Object.} object Plain object - * @returns {google.protobuf.MessageOptions} MessageOptions + * @returns {tendermint.blocksync.StatusResponse} StatusResponse */ - MessageOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.MessageOptions) + StatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blocksync.StatusResponse) return object; - var message = new $root.google.protobuf.MessageOptions(); - if (object.messageSetWireFormat != null) - message.messageSetWireFormat = Boolean(object.messageSetWireFormat); - if (object.noStandardDescriptorAccessor != null) - message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.mapEntry != null) - message.mapEntry = Boolean(object.mapEntry); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".gogoproto.goprotoGetters"] != null) - message[".gogoproto.goprotoGetters"] = Boolean(object[".gogoproto.goprotoGetters"]); - if (object[".gogoproto.goprotoStringer"] != null) - message[".gogoproto.goprotoStringer"] = Boolean(object[".gogoproto.goprotoStringer"]); - if (object[".gogoproto.verboseEqual"] != null) - message[".gogoproto.verboseEqual"] = Boolean(object[".gogoproto.verboseEqual"]); - if (object[".gogoproto.face"] != null) - message[".gogoproto.face"] = Boolean(object[".gogoproto.face"]); - if (object[".gogoproto.gostring"] != null) - message[".gogoproto.gostring"] = Boolean(object[".gogoproto.gostring"]); - if (object[".gogoproto.populate"] != null) - message[".gogoproto.populate"] = Boolean(object[".gogoproto.populate"]); - if (object[".gogoproto.stringer"] != null) - message[".gogoproto.stringer"] = Boolean(object[".gogoproto.stringer"]); - if (object[".gogoproto.onlyone"] != null) - message[".gogoproto.onlyone"] = Boolean(object[".gogoproto.onlyone"]); - if (object[".gogoproto.equal"] != null) - message[".gogoproto.equal"] = Boolean(object[".gogoproto.equal"]); - if (object[".gogoproto.description"] != null) - message[".gogoproto.description"] = Boolean(object[".gogoproto.description"]); - if (object[".gogoproto.testgen"] != null) - message[".gogoproto.testgen"] = Boolean(object[".gogoproto.testgen"]); - if (object[".gogoproto.benchgen"] != null) - message[".gogoproto.benchgen"] = Boolean(object[".gogoproto.benchgen"]); - if (object[".gogoproto.marshaler"] != null) - message[".gogoproto.marshaler"] = Boolean(object[".gogoproto.marshaler"]); - if (object[".gogoproto.unmarshaler"] != null) - message[".gogoproto.unmarshaler"] = Boolean(object[".gogoproto.unmarshaler"]); - if (object[".gogoproto.stableMarshaler"] != null) - message[".gogoproto.stableMarshaler"] = Boolean(object[".gogoproto.stableMarshaler"]); - if (object[".gogoproto.sizer"] != null) - message[".gogoproto.sizer"] = Boolean(object[".gogoproto.sizer"]); - if (object[".gogoproto.unsafeMarshaler"] != null) - message[".gogoproto.unsafeMarshaler"] = Boolean(object[".gogoproto.unsafeMarshaler"]); - if (object[".gogoproto.unsafeUnmarshaler"] != null) - message[".gogoproto.unsafeUnmarshaler"] = Boolean(object[".gogoproto.unsafeUnmarshaler"]); - if (object[".gogoproto.goprotoExtensionsMap"] != null) - message[".gogoproto.goprotoExtensionsMap"] = Boolean(object[".gogoproto.goprotoExtensionsMap"]); - if (object[".gogoproto.goprotoUnrecognized"] != null) - message[".gogoproto.goprotoUnrecognized"] = Boolean(object[".gogoproto.goprotoUnrecognized"]); - if (object[".gogoproto.protosizer"] != null) - message[".gogoproto.protosizer"] = Boolean(object[".gogoproto.protosizer"]); - if (object[".gogoproto.compare"] != null) - message[".gogoproto.compare"] = Boolean(object[".gogoproto.compare"]); - if (object[".gogoproto.typedecl"] != null) - message[".gogoproto.typedecl"] = Boolean(object[".gogoproto.typedecl"]); - if (object[".gogoproto.messagename"] != null) - message[".gogoproto.messagename"] = Boolean(object[".gogoproto.messagename"]); - if (object[".gogoproto.goprotoSizecache"] != null) - message[".gogoproto.goprotoSizecache"] = Boolean(object[".gogoproto.goprotoSizecache"]); - if (object[".gogoproto.goprotoUnkeyed"] != null) - message[".gogoproto.goprotoUnkeyed"] = Boolean(object[".gogoproto.goprotoUnkeyed"]); + var message = new $root.tendermint.blocksync.StatusResponse(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.base != null) + if ($util.Long) + (message.base = $util.Long.fromValue(object.base)).unsigned = false; + else if (typeof object.base === "string") + message.base = parseInt(object.base, 10); + else if (typeof object.base === "number") + message.base = object.base; + else if (typeof object.base === "object") + message.base = new $util.LongBits(object.base.low >>> 0, object.base.high >>> 0).toNumber(); return message; }; /** - * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * Creates a plain object from a StatusResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @static - * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {tendermint.blocksync.StatusResponse} message StatusResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - MessageOptions.toObject = function toObject(message, options) { + StatusResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; if (options.defaults) { - object.messageSetWireFormat = false; - object.noStandardDescriptorAccessor = false; - object.deprecated = false; - object.mapEntry = false; - object[".gogoproto.goprotoGetters"] = false; - object[".gogoproto.goprotoStringer"] = false; - object[".gogoproto.verboseEqual"] = false; - object[".gogoproto.face"] = false; - object[".gogoproto.gostring"] = false; - object[".gogoproto.populate"] = false; - object[".gogoproto.onlyone"] = false; - object[".gogoproto.equal"] = false; - object[".gogoproto.description"] = false; - object[".gogoproto.testgen"] = false; - object[".gogoproto.benchgen"] = false; - object[".gogoproto.marshaler"] = false; - object[".gogoproto.unmarshaler"] = false; - object[".gogoproto.stableMarshaler"] = false; - object[".gogoproto.sizer"] = false; - object[".gogoproto.unsafeMarshaler"] = false; - object[".gogoproto.unsafeUnmarshaler"] = false; - object[".gogoproto.goprotoExtensionsMap"] = false; - object[".gogoproto.goprotoUnrecognized"] = false; - object[".gogoproto.protosizer"] = false; - object[".gogoproto.compare"] = false; - object[".gogoproto.typedecl"] = false; - object[".gogoproto.messagename"] = false; - object[".gogoproto.goprotoSizecache"] = false; - object[".gogoproto.goprotoUnkeyed"] = false; - object[".gogoproto.stringer"] = false; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.base = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.base = options.longs === String ? "0" : 0; } - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) - object.messageSetWireFormat = message.messageSetWireFormat; - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) - object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) - object.mapEntry = message.mapEntry; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".gogoproto.goprotoGetters"] != null && message.hasOwnProperty(".gogoproto.goprotoGetters")) - object[".gogoproto.goprotoGetters"] = message[".gogoproto.goprotoGetters"]; - if (message[".gogoproto.goprotoStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoStringer")) - object[".gogoproto.goprotoStringer"] = message[".gogoproto.goprotoStringer"]; - if (message[".gogoproto.verboseEqual"] != null && message.hasOwnProperty(".gogoproto.verboseEqual")) - object[".gogoproto.verboseEqual"] = message[".gogoproto.verboseEqual"]; - if (message[".gogoproto.face"] != null && message.hasOwnProperty(".gogoproto.face")) - object[".gogoproto.face"] = message[".gogoproto.face"]; - if (message[".gogoproto.gostring"] != null && message.hasOwnProperty(".gogoproto.gostring")) - object[".gogoproto.gostring"] = message[".gogoproto.gostring"]; - if (message[".gogoproto.populate"] != null && message.hasOwnProperty(".gogoproto.populate")) - object[".gogoproto.populate"] = message[".gogoproto.populate"]; - if (message[".gogoproto.onlyone"] != null && message.hasOwnProperty(".gogoproto.onlyone")) - object[".gogoproto.onlyone"] = message[".gogoproto.onlyone"]; - if (message[".gogoproto.equal"] != null && message.hasOwnProperty(".gogoproto.equal")) - object[".gogoproto.equal"] = message[".gogoproto.equal"]; - if (message[".gogoproto.description"] != null && message.hasOwnProperty(".gogoproto.description")) - object[".gogoproto.description"] = message[".gogoproto.description"]; - if (message[".gogoproto.testgen"] != null && message.hasOwnProperty(".gogoproto.testgen")) - object[".gogoproto.testgen"] = message[".gogoproto.testgen"]; - if (message[".gogoproto.benchgen"] != null && message.hasOwnProperty(".gogoproto.benchgen")) - object[".gogoproto.benchgen"] = message[".gogoproto.benchgen"]; - if (message[".gogoproto.marshaler"] != null && message.hasOwnProperty(".gogoproto.marshaler")) - object[".gogoproto.marshaler"] = message[".gogoproto.marshaler"]; - if (message[".gogoproto.unmarshaler"] != null && message.hasOwnProperty(".gogoproto.unmarshaler")) - object[".gogoproto.unmarshaler"] = message[".gogoproto.unmarshaler"]; - if (message[".gogoproto.stableMarshaler"] != null && message.hasOwnProperty(".gogoproto.stableMarshaler")) - object[".gogoproto.stableMarshaler"] = message[".gogoproto.stableMarshaler"]; - if (message[".gogoproto.sizer"] != null && message.hasOwnProperty(".gogoproto.sizer")) - object[".gogoproto.sizer"] = message[".gogoproto.sizer"]; - if (message[".gogoproto.unsafeMarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshaler")) - object[".gogoproto.unsafeMarshaler"] = message[".gogoproto.unsafeMarshaler"]; - if (message[".gogoproto.unsafeUnmarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshaler")) - object[".gogoproto.unsafeUnmarshaler"] = message[".gogoproto.unsafeUnmarshaler"]; - if (message[".gogoproto.goprotoExtensionsMap"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMap")) - object[".gogoproto.goprotoExtensionsMap"] = message[".gogoproto.goprotoExtensionsMap"]; - if (message[".gogoproto.goprotoUnrecognized"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognized")) - object[".gogoproto.goprotoUnrecognized"] = message[".gogoproto.goprotoUnrecognized"]; - if (message[".gogoproto.protosizer"] != null && message.hasOwnProperty(".gogoproto.protosizer")) - object[".gogoproto.protosizer"] = message[".gogoproto.protosizer"]; - if (message[".gogoproto.compare"] != null && message.hasOwnProperty(".gogoproto.compare")) - object[".gogoproto.compare"] = message[".gogoproto.compare"]; - if (message[".gogoproto.typedecl"] != null && message.hasOwnProperty(".gogoproto.typedecl")) - object[".gogoproto.typedecl"] = message[".gogoproto.typedecl"]; - if (message[".gogoproto.messagename"] != null && message.hasOwnProperty(".gogoproto.messagename")) - object[".gogoproto.messagename"] = message[".gogoproto.messagename"]; - if (message[".gogoproto.goprotoSizecache"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecache")) - object[".gogoproto.goprotoSizecache"] = message[".gogoproto.goprotoSizecache"]; - if (message[".gogoproto.goprotoUnkeyed"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyed")) - object[".gogoproto.goprotoUnkeyed"] = message[".gogoproto.goprotoUnkeyed"]; - if (message[".gogoproto.stringer"] != null && message.hasOwnProperty(".gogoproto.stringer")) - object[".gogoproto.stringer"] = message[".gogoproto.stringer"]; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.base != null && message.hasOwnProperty("base")) + if (typeof message.base === "number") + object.base = options.longs === String ? String(message.base) : message.base; + else + object.base = options.longs === String ? $util.Long.prototype.toString.call(message.base) : options.longs === Number ? new $util.LongBits(message.base.low >>> 0, message.base.high >>> 0).toNumber() : message.base; return object; }; /** - * Converts this MessageOptions to JSON. + * Converts this StatusResponse to JSON. * @function toJSON - * @memberof google.protobuf.MessageOptions + * @memberof tendermint.blocksync.StatusResponse * @instance * @returns {Object.} JSON object */ - MessageOptions.prototype.toJSON = function toJSON() { + StatusResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return MessageOptions; + return StatusResponse; })(); - protobuf.FieldOptions = (function() { + blocksync.Message = (function() { /** - * Properties of a FieldOptions. - * @memberof google.protobuf - * @interface IFieldOptions - * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype - * @property {boolean|null} [packed] FieldOptions packed - * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype - * @property {boolean|null} [lazy] FieldOptions lazy - * @property {boolean|null} [deprecated] FieldOptions deprecated - * @property {boolean|null} [weak] FieldOptions weak - * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption - * @property {boolean|null} [".gogoproto.nullable"] FieldOptions .gogoproto.nullable - * @property {boolean|null} [".gogoproto.embed"] FieldOptions .gogoproto.embed - * @property {string|null} [".gogoproto.customtype"] FieldOptions .gogoproto.customtype - * @property {string|null} [".gogoproto.customname"] FieldOptions .gogoproto.customname - * @property {string|null} [".gogoproto.jsontag"] FieldOptions .gogoproto.jsontag - * @property {string|null} [".gogoproto.moretags"] FieldOptions .gogoproto.moretags - * @property {string|null} [".gogoproto.casttype"] FieldOptions .gogoproto.casttype - * @property {string|null} [".gogoproto.castkey"] FieldOptions .gogoproto.castkey - * @property {string|null} [".gogoproto.castvalue"] FieldOptions .gogoproto.castvalue - * @property {boolean|null} [".gogoproto.stdtime"] FieldOptions .gogoproto.stdtime - * @property {boolean|null} [".gogoproto.stdduration"] FieldOptions .gogoproto.stdduration - * @property {boolean|null} [".gogoproto.wktpointer"] FieldOptions .gogoproto.wktpointer - * @property {string|null} [".gogoproto.castrepeated"] FieldOptions .gogoproto.castrepeated + * Properties of a Message. + * @memberof tendermint.blocksync + * @interface IMessage + * @property {tendermint.blocksync.IBlockRequest|null} [blockRequest] Message blockRequest + * @property {tendermint.blocksync.INoBlockResponse|null} [noBlockResponse] Message noBlockResponse + * @property {tendermint.blocksync.IBlockResponse|null} [blockResponse] Message blockResponse + * @property {tendermint.blocksync.IStatusRequest|null} [statusRequest] Message statusRequest + * @property {tendermint.blocksync.IStatusResponse|null} [statusResponse] Message statusResponse */ /** - * Constructs a new FieldOptions. - * @memberof google.protobuf - * @classdesc Represents a FieldOptions. - * @implements IFieldOptions + * Constructs a new Message. + * @memberof tendermint.blocksync + * @classdesc Represents a Message. + * @implements IMessage * @constructor - * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @param {tendermint.blocksync.IMessage=} [properties] Properties to set */ - function FieldOptions(properties) { - this.uninterpretedOption = []; + function Message(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -17580,325 +14863,486 @@ $root.google = (function() { } /** - * FieldOptions ctype. - * @member {google.protobuf.FieldOptions.CType} ctype - * @memberof google.protobuf.FieldOptions + * Message blockRequest. + * @member {tendermint.blocksync.IBlockRequest|null|undefined} blockRequest + * @memberof tendermint.blocksync.Message * @instance */ - FieldOptions.prototype.ctype = 0; + Message.prototype.blockRequest = null; /** - * FieldOptions packed. - * @member {boolean} packed - * @memberof google.protobuf.FieldOptions + * Message noBlockResponse. + * @member {tendermint.blocksync.INoBlockResponse|null|undefined} noBlockResponse + * @memberof tendermint.blocksync.Message * @instance */ - FieldOptions.prototype.packed = false; + Message.prototype.noBlockResponse = null; /** - * FieldOptions jstype. - * @member {google.protobuf.FieldOptions.JSType} jstype - * @memberof google.protobuf.FieldOptions + * Message blockResponse. + * @member {tendermint.blocksync.IBlockResponse|null|undefined} blockResponse + * @memberof tendermint.blocksync.Message * @instance */ - FieldOptions.prototype.jstype = 0; + Message.prototype.blockResponse = null; /** - * FieldOptions lazy. - * @member {boolean} lazy - * @memberof google.protobuf.FieldOptions + * Message statusRequest. + * @member {tendermint.blocksync.IStatusRequest|null|undefined} statusRequest + * @memberof tendermint.blocksync.Message * @instance */ - FieldOptions.prototype.lazy = false; + Message.prototype.statusRequest = null; /** - * FieldOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.FieldOptions + * Message statusResponse. + * @member {tendermint.blocksync.IStatusResponse|null|undefined} statusResponse + * @memberof tendermint.blocksync.Message * @instance */ - FieldOptions.prototype.deprecated = false; + Message.prototype.statusResponse = null; - /** - * FieldOptions weak. - * @member {boolean} weak - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.weak = false; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * FieldOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.FieldOptions + * Message sum. + * @member {"blockRequest"|"noBlockResponse"|"blockResponse"|"statusRequest"|"statusResponse"|undefined} sum + * @memberof tendermint.blocksync.Message * @instance */ - FieldOptions.prototype.uninterpretedOption = $util.emptyArray; + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["blockRequest", "noBlockResponse", "blockResponse", "statusRequest", "statusResponse"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * FieldOptions .gogoproto.nullable. - * @member {boolean} .gogoproto.nullable - * @memberof google.protobuf.FieldOptions - * @instance + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.blocksync.Message + * @static + * @param {tendermint.blocksync.IMessage=} [properties] Properties to set + * @returns {tendermint.blocksync.Message} Message instance */ - FieldOptions.prototype[".gogoproto.nullable"] = false; + Message.create = function create(properties) { + return new Message(properties); + }; /** - * FieldOptions .gogoproto.embed. - * @member {boolean} .gogoproto.embed - * @memberof google.protobuf.FieldOptions - * @instance + * Encodes the specified Message message. Does not implicitly {@link tendermint.blocksync.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.blocksync.Message + * @static + * @param {tendermint.blocksync.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FieldOptions.prototype[".gogoproto.embed"] = false; + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.blockRequest != null && Object.hasOwnProperty.call(message, "blockRequest")) + $root.tendermint.blocksync.BlockRequest.encode(message.blockRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.noBlockResponse != null && Object.hasOwnProperty.call(message, "noBlockResponse")) + $root.tendermint.blocksync.NoBlockResponse.encode(message.noBlockResponse, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.blockResponse != null && Object.hasOwnProperty.call(message, "blockResponse")) + $root.tendermint.blocksync.BlockResponse.encode(message.blockResponse, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.statusRequest != null && Object.hasOwnProperty.call(message, "statusRequest")) + $root.tendermint.blocksync.StatusRequest.encode(message.statusRequest, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.statusResponse != null && Object.hasOwnProperty.call(message, "statusResponse")) + $root.tendermint.blocksync.StatusResponse.encode(message.statusResponse, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; /** - * FieldOptions .gogoproto.customtype. - * @member {string} .gogoproto.customtype - * @memberof google.protobuf.FieldOptions - * @instance + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.blocksync.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.blocksync.Message + * @static + * @param {tendermint.blocksync.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FieldOptions.prototype[".gogoproto.customtype"] = ""; + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FieldOptions .gogoproto.customname. - * @member {string} .gogoproto.customname - * @memberof google.protobuf.FieldOptions - * @instance + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.blocksync.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.blocksync.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.prototype[".gogoproto.customname"] = ""; + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.blocksync.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockRequest = $root.tendermint.blocksync.BlockRequest.decode(reader, reader.uint32()); + break; + case 2: + message.noBlockResponse = $root.tendermint.blocksync.NoBlockResponse.decode(reader, reader.uint32()); + break; + case 3: + message.blockResponse = $root.tendermint.blocksync.BlockResponse.decode(reader, reader.uint32()); + break; + case 4: + message.statusRequest = $root.tendermint.blocksync.StatusRequest.decode(reader, reader.uint32()); + break; + case 5: + message.statusResponse = $root.tendermint.blocksync.StatusResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FieldOptions .gogoproto.jsontag. - * @member {string} .gogoproto.jsontag - * @memberof google.protobuf.FieldOptions - * @instance + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.blocksync.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.blocksync.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.prototype[".gogoproto.jsontag"] = ""; + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FieldOptions .gogoproto.moretags. - * @member {string} .gogoproto.moretags - * @memberof google.protobuf.FieldOptions - * @instance + * Verifies a Message message. + * @function verify + * @memberof tendermint.blocksync.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.prototype[".gogoproto.moretags"] = ""; + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.blockRequest != null && message.hasOwnProperty("blockRequest")) { + properties.sum = 1; + { + var error = $root.tendermint.blocksync.BlockRequest.verify(message.blockRequest); + if (error) + return "blockRequest." + error; + } + } + if (message.noBlockResponse != null && message.hasOwnProperty("noBlockResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blocksync.NoBlockResponse.verify(message.noBlockResponse); + if (error) + return "noBlockResponse." + error; + } + } + if (message.blockResponse != null && message.hasOwnProperty("blockResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blocksync.BlockResponse.verify(message.blockResponse); + if (error) + return "blockResponse." + error; + } + } + if (message.statusRequest != null && message.hasOwnProperty("statusRequest")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blocksync.StatusRequest.verify(message.statusRequest); + if (error) + return "statusRequest." + error; + } + } + if (message.statusResponse != null && message.hasOwnProperty("statusResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.blocksync.StatusResponse.verify(message.statusResponse); + if (error) + return "statusResponse." + error; + } + } + return null; + }; /** - * FieldOptions .gogoproto.casttype. - * @member {string} .gogoproto.casttype - * @memberof google.protobuf.FieldOptions - * @instance + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.blocksync.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.blocksync.Message} Message */ - FieldOptions.prototype[".gogoproto.casttype"] = ""; + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.blocksync.Message) + return object; + var message = new $root.tendermint.blocksync.Message(); + if (object.blockRequest != null) { + if (typeof object.blockRequest !== "object") + throw TypeError(".tendermint.blocksync.Message.blockRequest: object expected"); + message.blockRequest = $root.tendermint.blocksync.BlockRequest.fromObject(object.blockRequest); + } + if (object.noBlockResponse != null) { + if (typeof object.noBlockResponse !== "object") + throw TypeError(".tendermint.blocksync.Message.noBlockResponse: object expected"); + message.noBlockResponse = $root.tendermint.blocksync.NoBlockResponse.fromObject(object.noBlockResponse); + } + if (object.blockResponse != null) { + if (typeof object.blockResponse !== "object") + throw TypeError(".tendermint.blocksync.Message.blockResponse: object expected"); + message.blockResponse = $root.tendermint.blocksync.BlockResponse.fromObject(object.blockResponse); + } + if (object.statusRequest != null) { + if (typeof object.statusRequest !== "object") + throw TypeError(".tendermint.blocksync.Message.statusRequest: object expected"); + message.statusRequest = $root.tendermint.blocksync.StatusRequest.fromObject(object.statusRequest); + } + if (object.statusResponse != null) { + if (typeof object.statusResponse !== "object") + throw TypeError(".tendermint.blocksync.Message.statusResponse: object expected"); + message.statusResponse = $root.tendermint.blocksync.StatusResponse.fromObject(object.statusResponse); + } + return message; + }; /** - * FieldOptions .gogoproto.castkey. - * @member {string} .gogoproto.castkey - * @memberof google.protobuf.FieldOptions - * @instance + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.blocksync.Message + * @static + * @param {tendermint.blocksync.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - FieldOptions.prototype[".gogoproto.castkey"] = ""; + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.blockRequest != null && message.hasOwnProperty("blockRequest")) { + object.blockRequest = $root.tendermint.blocksync.BlockRequest.toObject(message.blockRequest, options); + if (options.oneofs) + object.sum = "blockRequest"; + } + if (message.noBlockResponse != null && message.hasOwnProperty("noBlockResponse")) { + object.noBlockResponse = $root.tendermint.blocksync.NoBlockResponse.toObject(message.noBlockResponse, options); + if (options.oneofs) + object.sum = "noBlockResponse"; + } + if (message.blockResponse != null && message.hasOwnProperty("blockResponse")) { + object.blockResponse = $root.tendermint.blocksync.BlockResponse.toObject(message.blockResponse, options); + if (options.oneofs) + object.sum = "blockResponse"; + } + if (message.statusRequest != null && message.hasOwnProperty("statusRequest")) { + object.statusRequest = $root.tendermint.blocksync.StatusRequest.toObject(message.statusRequest, options); + if (options.oneofs) + object.sum = "statusRequest"; + } + if (message.statusResponse != null && message.hasOwnProperty("statusResponse")) { + object.statusResponse = $root.tendermint.blocksync.StatusResponse.toObject(message.statusResponse, options); + if (options.oneofs) + object.sum = "statusResponse"; + } + return object; + }; /** - * FieldOptions .gogoproto.castvalue. - * @member {string} .gogoproto.castvalue - * @memberof google.protobuf.FieldOptions + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.blocksync.Message * @instance + * @returns {Object.} JSON object */ - FieldOptions.prototype[".gogoproto.castvalue"] = ""; + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + return blocksync; + })(); + + tendermint.consensus = (function() { + + /** + * Namespace consensus. + * @memberof tendermint + * @namespace + */ + var consensus = {}; + + consensus.NewRoundStep = (function() { /** - * FieldOptions .gogoproto.stdtime. - * @member {boolean} .gogoproto.stdtime - * @memberof google.protobuf.FieldOptions + * Properties of a NewRoundStep. + * @memberof tendermint.consensus + * @interface INewRoundStep + * @property {number|Long|null} [height] NewRoundStep height + * @property {number|null} [round] NewRoundStep round + * @property {number|null} [step] NewRoundStep step + * @property {number|Long|null} [secondsSinceStartTime] NewRoundStep secondsSinceStartTime + * @property {number|null} [lastCommitRound] NewRoundStep lastCommitRound + */ + + /** + * Constructs a new NewRoundStep. + * @memberof tendermint.consensus + * @classdesc Represents a NewRoundStep. + * @implements INewRoundStep + * @constructor + * @param {tendermint.consensus.INewRoundStep=} [properties] Properties to set + */ + function NewRoundStep(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NewRoundStep height. + * @member {number|Long} height + * @memberof tendermint.consensus.NewRoundStep * @instance */ - FieldOptions.prototype[".gogoproto.stdtime"] = false; + NewRoundStep.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * FieldOptions .gogoproto.stdduration. - * @member {boolean} .gogoproto.stdduration - * @memberof google.protobuf.FieldOptions + * NewRoundStep round. + * @member {number} round + * @memberof tendermint.consensus.NewRoundStep * @instance */ - FieldOptions.prototype[".gogoproto.stdduration"] = false; + NewRoundStep.prototype.round = 0; /** - * FieldOptions .gogoproto.wktpointer. - * @member {boolean} .gogoproto.wktpointer - * @memberof google.protobuf.FieldOptions + * NewRoundStep step. + * @member {number} step + * @memberof tendermint.consensus.NewRoundStep * @instance */ - FieldOptions.prototype[".gogoproto.wktpointer"] = false; + NewRoundStep.prototype.step = 0; /** - * FieldOptions .gogoproto.castrepeated. - * @member {string} .gogoproto.castrepeated - * @memberof google.protobuf.FieldOptions + * NewRoundStep secondsSinceStartTime. + * @member {number|Long} secondsSinceStartTime + * @memberof tendermint.consensus.NewRoundStep * @instance */ - FieldOptions.prototype[".gogoproto.castrepeated"] = ""; + NewRoundStep.prototype.secondsSinceStartTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Creates a new FieldOptions instance using the specified properties. + * NewRoundStep lastCommitRound. + * @member {number} lastCommitRound + * @memberof tendermint.consensus.NewRoundStep + * @instance + */ + NewRoundStep.prototype.lastCommitRound = 0; + + /** + * Creates a new NewRoundStep instance using the specified properties. * @function create - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @static - * @param {google.protobuf.IFieldOptions=} [properties] Properties to set - * @returns {google.protobuf.FieldOptions} FieldOptions instance + * @param {tendermint.consensus.INewRoundStep=} [properties] Properties to set + * @returns {tendermint.consensus.NewRoundStep} NewRoundStep instance */ - FieldOptions.create = function create(properties) { - return new FieldOptions(properties); + NewRoundStep.create = function create(properties) { + return new NewRoundStep(properties); }; /** - * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * Encodes the specified NewRoundStep message. Does not implicitly {@link tendermint.consensus.NewRoundStep.verify|verify} messages. * @function encode - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @static - * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {tendermint.consensus.INewRoundStep} message NewRoundStep message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FieldOptions.encode = function encode(message, writer) { + NewRoundStep.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ctype != null && message.hasOwnProperty("ctype")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); - if (message.packed != null && message.hasOwnProperty("packed")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.lazy != null && message.hasOwnProperty("lazy")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); - if (message.jstype != null && message.hasOwnProperty("jstype")) - writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); - if (message.weak != null && message.hasOwnProperty("weak")) - writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".gogoproto.nullable"] != null && message.hasOwnProperty(".gogoproto.nullable")) - writer.uint32(/* id 65001, wireType 0 =*/520008).bool(message[".gogoproto.nullable"]); - if (message[".gogoproto.embed"] != null && message.hasOwnProperty(".gogoproto.embed")) - writer.uint32(/* id 65002, wireType 0 =*/520016).bool(message[".gogoproto.embed"]); - if (message[".gogoproto.customtype"] != null && message.hasOwnProperty(".gogoproto.customtype")) - writer.uint32(/* id 65003, wireType 2 =*/520026).string(message[".gogoproto.customtype"]); - if (message[".gogoproto.customname"] != null && message.hasOwnProperty(".gogoproto.customname")) - writer.uint32(/* id 65004, wireType 2 =*/520034).string(message[".gogoproto.customname"]); - if (message[".gogoproto.jsontag"] != null && message.hasOwnProperty(".gogoproto.jsontag")) - writer.uint32(/* id 65005, wireType 2 =*/520042).string(message[".gogoproto.jsontag"]); - if (message[".gogoproto.moretags"] != null && message.hasOwnProperty(".gogoproto.moretags")) - writer.uint32(/* id 65006, wireType 2 =*/520050).string(message[".gogoproto.moretags"]); - if (message[".gogoproto.casttype"] != null && message.hasOwnProperty(".gogoproto.casttype")) - writer.uint32(/* id 65007, wireType 2 =*/520058).string(message[".gogoproto.casttype"]); - if (message[".gogoproto.castkey"] != null && message.hasOwnProperty(".gogoproto.castkey")) - writer.uint32(/* id 65008, wireType 2 =*/520066).string(message[".gogoproto.castkey"]); - if (message[".gogoproto.castvalue"] != null && message.hasOwnProperty(".gogoproto.castvalue")) - writer.uint32(/* id 65009, wireType 2 =*/520074).string(message[".gogoproto.castvalue"]); - if (message[".gogoproto.stdtime"] != null && message.hasOwnProperty(".gogoproto.stdtime")) - writer.uint32(/* id 65010, wireType 0 =*/520080).bool(message[".gogoproto.stdtime"]); - if (message[".gogoproto.stdduration"] != null && message.hasOwnProperty(".gogoproto.stdduration")) - writer.uint32(/* id 65011, wireType 0 =*/520088).bool(message[".gogoproto.stdduration"]); - if (message[".gogoproto.wktpointer"] != null && message.hasOwnProperty(".gogoproto.wktpointer")) - writer.uint32(/* id 65012, wireType 0 =*/520096).bool(message[".gogoproto.wktpointer"]); - if (message[".gogoproto.castrepeated"] != null && message.hasOwnProperty(".gogoproto.castrepeated")) - writer.uint32(/* id 65013, wireType 2 =*/520106).string(message[".gogoproto.castrepeated"]); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.step != null && Object.hasOwnProperty.call(message, "step")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.step); + if (message.secondsSinceStartTime != null && Object.hasOwnProperty.call(message, "secondsSinceStartTime")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.secondsSinceStartTime); + if (message.lastCommitRound != null && Object.hasOwnProperty.call(message, "lastCommitRound")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.lastCommitRound); return writer; }; /** - * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * Encodes the specified NewRoundStep message, length delimited. Does not implicitly {@link tendermint.consensus.NewRoundStep.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @static - * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {tendermint.consensus.INewRoundStep} message NewRoundStep message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + NewRoundStep.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FieldOptions message from the specified reader or buffer. + * Decodes a NewRoundStep message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FieldOptions} FieldOptions + * @returns {tendermint.consensus.NewRoundStep} NewRoundStep * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length) { + NewRoundStep.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.NewRoundStep(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.ctype = reader.int32(); + message.height = reader.int64(); break; case 2: - message.packed = reader.bool(); - break; - case 6: - message.jstype = reader.int32(); - break; - case 5: - message.lazy = reader.bool(); + message.round = reader.int32(); break; case 3: - message.deprecated = reader.bool(); - break; - case 10: - message.weak = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 65001: - message[".gogoproto.nullable"] = reader.bool(); - break; - case 65002: - message[".gogoproto.embed"] = reader.bool(); - break; - case 65003: - message[".gogoproto.customtype"] = reader.string(); - break; - case 65004: - message[".gogoproto.customname"] = reader.string(); - break; - case 65005: - message[".gogoproto.jsontag"] = reader.string(); - break; - case 65006: - message[".gogoproto.moretags"] = reader.string(); - break; - case 65007: - message[".gogoproto.casttype"] = reader.string(); - break; - case 65008: - message[".gogoproto.castkey"] = reader.string(); - break; - case 65009: - message[".gogoproto.castvalue"] = reader.string(); - break; - case 65010: - message[".gogoproto.stdtime"] = reader.bool(); - break; - case 65011: - message[".gogoproto.stdduration"] = reader.bool(); + message.step = reader.uint32(); break; - case 65012: - message[".gogoproto.wktpointer"] = reader.bool(); + case 4: + message.secondsSinceStartTime = reader.int64(); break; - case 65013: - message[".gogoproto.castrepeated"] = reader.string(); + case 5: + message.lastCommitRound = reader.int32(); break; default: reader.skipType(tag & 7); @@ -17909,347 +15353,172 @@ $root.google = (function() { }; /** - * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * Decodes a NewRoundStep message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FieldOptions} FieldOptions + * @returns {tendermint.consensus.NewRoundStep} NewRoundStep * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decodeDelimited = function decodeDelimited(reader) { + NewRoundStep.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FieldOptions message. + * Verifies a NewRoundStep message. * @function verify - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + NewRoundStep.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.ctype != null && message.hasOwnProperty("ctype")) - switch (message.ctype) { - default: - return "ctype: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.packed != null && message.hasOwnProperty("packed")) - if (typeof message.packed !== "boolean") - return "packed: boolean expected"; - if (message.jstype != null && message.hasOwnProperty("jstype")) - switch (message.jstype) { - default: - return "jstype: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.lazy != null && message.hasOwnProperty("lazy")) - if (typeof message.lazy !== "boolean") - return "lazy: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.weak != null && message.hasOwnProperty("weak")) - if (typeof message.weak !== "boolean") - return "weak: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.step != null && message.hasOwnProperty("step")) + if (!$util.isInteger(message.step)) + return "step: integer expected"; + if (message.secondsSinceStartTime != null && message.hasOwnProperty("secondsSinceStartTime")) + if (!$util.isInteger(message.secondsSinceStartTime) && !(message.secondsSinceStartTime && $util.isInteger(message.secondsSinceStartTime.low) && $util.isInteger(message.secondsSinceStartTime.high))) + return "secondsSinceStartTime: integer|Long expected"; + if (message.lastCommitRound != null && message.hasOwnProperty("lastCommitRound")) + if (!$util.isInteger(message.lastCommitRound)) + return "lastCommitRound: integer expected"; + return null; + }; + + /** + * Creates a NewRoundStep message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.NewRoundStep + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.NewRoundStep} NewRoundStep + */ + NewRoundStep.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.NewRoundStep) + return object; + var message = new $root.tendermint.consensus.NewRoundStep(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.step != null) + message.step = object.step >>> 0; + if (object.secondsSinceStartTime != null) + if ($util.Long) + (message.secondsSinceStartTime = $util.Long.fromValue(object.secondsSinceStartTime)).unsigned = false; + else if (typeof object.secondsSinceStartTime === "string") + message.secondsSinceStartTime = parseInt(object.secondsSinceStartTime, 10); + else if (typeof object.secondsSinceStartTime === "number") + message.secondsSinceStartTime = object.secondsSinceStartTime; + else if (typeof object.secondsSinceStartTime === "object") + message.secondsSinceStartTime = new $util.LongBits(object.secondsSinceStartTime.low >>> 0, object.secondsSinceStartTime.high >>> 0).toNumber(); + if (object.lastCommitRound != null) + message.lastCommitRound = object.lastCommitRound | 0; + return message; + }; + + /** + * Creates a plain object from a NewRoundStep message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.NewRoundStep + * @static + * @param {tendermint.consensus.NewRoundStep} message NewRoundStep + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NewRoundStep.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.step = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.secondsSinceStartTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.secondsSinceStartTime = options.longs === String ? "0" : 0; + object.lastCommitRound = 0; } - if (message[".gogoproto.nullable"] != null && message.hasOwnProperty(".gogoproto.nullable")) - if (typeof message[".gogoproto.nullable"] !== "boolean") - return ".gogoproto.nullable: boolean expected"; - if (message[".gogoproto.embed"] != null && message.hasOwnProperty(".gogoproto.embed")) - if (typeof message[".gogoproto.embed"] !== "boolean") - return ".gogoproto.embed: boolean expected"; - if (message[".gogoproto.customtype"] != null && message.hasOwnProperty(".gogoproto.customtype")) - if (!$util.isString(message[".gogoproto.customtype"])) - return ".gogoproto.customtype: string expected"; - if (message[".gogoproto.customname"] != null && message.hasOwnProperty(".gogoproto.customname")) - if (!$util.isString(message[".gogoproto.customname"])) - return ".gogoproto.customname: string expected"; - if (message[".gogoproto.jsontag"] != null && message.hasOwnProperty(".gogoproto.jsontag")) - if (!$util.isString(message[".gogoproto.jsontag"])) - return ".gogoproto.jsontag: string expected"; - if (message[".gogoproto.moretags"] != null && message.hasOwnProperty(".gogoproto.moretags")) - if (!$util.isString(message[".gogoproto.moretags"])) - return ".gogoproto.moretags: string expected"; - if (message[".gogoproto.casttype"] != null && message.hasOwnProperty(".gogoproto.casttype")) - if (!$util.isString(message[".gogoproto.casttype"])) - return ".gogoproto.casttype: string expected"; - if (message[".gogoproto.castkey"] != null && message.hasOwnProperty(".gogoproto.castkey")) - if (!$util.isString(message[".gogoproto.castkey"])) - return ".gogoproto.castkey: string expected"; - if (message[".gogoproto.castvalue"] != null && message.hasOwnProperty(".gogoproto.castvalue")) - if (!$util.isString(message[".gogoproto.castvalue"])) - return ".gogoproto.castvalue: string expected"; - if (message[".gogoproto.stdtime"] != null && message.hasOwnProperty(".gogoproto.stdtime")) - if (typeof message[".gogoproto.stdtime"] !== "boolean") - return ".gogoproto.stdtime: boolean expected"; - if (message[".gogoproto.stdduration"] != null && message.hasOwnProperty(".gogoproto.stdduration")) - if (typeof message[".gogoproto.stdduration"] !== "boolean") - return ".gogoproto.stdduration: boolean expected"; - if (message[".gogoproto.wktpointer"] != null && message.hasOwnProperty(".gogoproto.wktpointer")) - if (typeof message[".gogoproto.wktpointer"] !== "boolean") - return ".gogoproto.wktpointer: boolean expected"; - if (message[".gogoproto.castrepeated"] != null && message.hasOwnProperty(".gogoproto.castrepeated")) - if (!$util.isString(message[".gogoproto.castrepeated"])) - return ".gogoproto.castrepeated: string expected"; - return null; - }; - - /** - * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FieldOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FieldOptions} FieldOptions - */ - FieldOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FieldOptions) - return object; - var message = new $root.google.protobuf.FieldOptions(); - switch (object.ctype) { - case "STRING": - case 0: - message.ctype = 0; - break; - case "CORD": - case 1: - message.ctype = 1; - break; - case "STRING_PIECE": - case 2: - message.ctype = 2; - break; - } - if (object.packed != null) - message.packed = Boolean(object.packed); - switch (object.jstype) { - case "JS_NORMAL": - case 0: - message.jstype = 0; - break; - case "JS_STRING": - case 1: - message.jstype = 1; - break; - case "JS_NUMBER": - case 2: - message.jstype = 2; - break; - } - if (object.lazy != null) - message.lazy = Boolean(object.lazy); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.weak != null) - message.weak = Boolean(object.weak); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".gogoproto.nullable"] != null) - message[".gogoproto.nullable"] = Boolean(object[".gogoproto.nullable"]); - if (object[".gogoproto.embed"] != null) - message[".gogoproto.embed"] = Boolean(object[".gogoproto.embed"]); - if (object[".gogoproto.customtype"] != null) - message[".gogoproto.customtype"] = String(object[".gogoproto.customtype"]); - if (object[".gogoproto.customname"] != null) - message[".gogoproto.customname"] = String(object[".gogoproto.customname"]); - if (object[".gogoproto.jsontag"] != null) - message[".gogoproto.jsontag"] = String(object[".gogoproto.jsontag"]); - if (object[".gogoproto.moretags"] != null) - message[".gogoproto.moretags"] = String(object[".gogoproto.moretags"]); - if (object[".gogoproto.casttype"] != null) - message[".gogoproto.casttype"] = String(object[".gogoproto.casttype"]); - if (object[".gogoproto.castkey"] != null) - message[".gogoproto.castkey"] = String(object[".gogoproto.castkey"]); - if (object[".gogoproto.castvalue"] != null) - message[".gogoproto.castvalue"] = String(object[".gogoproto.castvalue"]); - if (object[".gogoproto.stdtime"] != null) - message[".gogoproto.stdtime"] = Boolean(object[".gogoproto.stdtime"]); - if (object[".gogoproto.stdduration"] != null) - message[".gogoproto.stdduration"] = Boolean(object[".gogoproto.stdduration"]); - if (object[".gogoproto.wktpointer"] != null) - message[".gogoproto.wktpointer"] = Boolean(object[".gogoproto.wktpointer"]); - if (object[".gogoproto.castrepeated"] != null) - message[".gogoproto.castrepeated"] = String(object[".gogoproto.castrepeated"]); - return message; - }; - - /** - * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FieldOptions - * @static - * @param {google.protobuf.FieldOptions} message FieldOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FieldOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.ctype = options.enums === String ? "STRING" : 0; - object.packed = false; - object.deprecated = false; - object.lazy = false; - object.jstype = options.enums === String ? "JS_NORMAL" : 0; - object.weak = false; - object[".gogoproto.nullable"] = false; - object[".gogoproto.embed"] = false; - object[".gogoproto.customtype"] = ""; - object[".gogoproto.customname"] = ""; - object[".gogoproto.jsontag"] = ""; - object[".gogoproto.moretags"] = ""; - object[".gogoproto.casttype"] = ""; - object[".gogoproto.castkey"] = ""; - object[".gogoproto.castvalue"] = ""; - object[".gogoproto.stdtime"] = false; - object[".gogoproto.stdduration"] = false; - object[".gogoproto.wktpointer"] = false; - object[".gogoproto.castrepeated"] = ""; - } - if (message.ctype != null && message.hasOwnProperty("ctype")) - object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; - if (message.packed != null && message.hasOwnProperty("packed")) - object.packed = message.packed; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.lazy != null && message.hasOwnProperty("lazy")) - object.lazy = message.lazy; - if (message.jstype != null && message.hasOwnProperty("jstype")) - object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; - if (message.weak != null && message.hasOwnProperty("weak")) - object.weak = message.weak; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".gogoproto.nullable"] != null && message.hasOwnProperty(".gogoproto.nullable")) - object[".gogoproto.nullable"] = message[".gogoproto.nullable"]; - if (message[".gogoproto.embed"] != null && message.hasOwnProperty(".gogoproto.embed")) - object[".gogoproto.embed"] = message[".gogoproto.embed"]; - if (message[".gogoproto.customtype"] != null && message.hasOwnProperty(".gogoproto.customtype")) - object[".gogoproto.customtype"] = message[".gogoproto.customtype"]; - if (message[".gogoproto.customname"] != null && message.hasOwnProperty(".gogoproto.customname")) - object[".gogoproto.customname"] = message[".gogoproto.customname"]; - if (message[".gogoproto.jsontag"] != null && message.hasOwnProperty(".gogoproto.jsontag")) - object[".gogoproto.jsontag"] = message[".gogoproto.jsontag"]; - if (message[".gogoproto.moretags"] != null && message.hasOwnProperty(".gogoproto.moretags")) - object[".gogoproto.moretags"] = message[".gogoproto.moretags"]; - if (message[".gogoproto.casttype"] != null && message.hasOwnProperty(".gogoproto.casttype")) - object[".gogoproto.casttype"] = message[".gogoproto.casttype"]; - if (message[".gogoproto.castkey"] != null && message.hasOwnProperty(".gogoproto.castkey")) - object[".gogoproto.castkey"] = message[".gogoproto.castkey"]; - if (message[".gogoproto.castvalue"] != null && message.hasOwnProperty(".gogoproto.castvalue")) - object[".gogoproto.castvalue"] = message[".gogoproto.castvalue"]; - if (message[".gogoproto.stdtime"] != null && message.hasOwnProperty(".gogoproto.stdtime")) - object[".gogoproto.stdtime"] = message[".gogoproto.stdtime"]; - if (message[".gogoproto.stdduration"] != null && message.hasOwnProperty(".gogoproto.stdduration")) - object[".gogoproto.stdduration"] = message[".gogoproto.stdduration"]; - if (message[".gogoproto.wktpointer"] != null && message.hasOwnProperty(".gogoproto.wktpointer")) - object[".gogoproto.wktpointer"] = message[".gogoproto.wktpointer"]; - if (message[".gogoproto.castrepeated"] != null && message.hasOwnProperty(".gogoproto.castrepeated")) - object[".gogoproto.castrepeated"] = message[".gogoproto.castrepeated"]; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.step != null && message.hasOwnProperty("step")) + object.step = message.step; + if (message.secondsSinceStartTime != null && message.hasOwnProperty("secondsSinceStartTime")) + if (typeof message.secondsSinceStartTime === "number") + object.secondsSinceStartTime = options.longs === String ? String(message.secondsSinceStartTime) : message.secondsSinceStartTime; + else + object.secondsSinceStartTime = options.longs === String ? $util.Long.prototype.toString.call(message.secondsSinceStartTime) : options.longs === Number ? new $util.LongBits(message.secondsSinceStartTime.low >>> 0, message.secondsSinceStartTime.high >>> 0).toNumber() : message.secondsSinceStartTime; + if (message.lastCommitRound != null && message.hasOwnProperty("lastCommitRound")) + object.lastCommitRound = message.lastCommitRound; return object; }; /** - * Converts this FieldOptions to JSON. + * Converts this NewRoundStep to JSON. * @function toJSON - * @memberof google.protobuf.FieldOptions + * @memberof tendermint.consensus.NewRoundStep * @instance * @returns {Object.} JSON object */ - FieldOptions.prototype.toJSON = function toJSON() { + NewRoundStep.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * CType enum. - * @name google.protobuf.FieldOptions.CType - * @enum {string} - * @property {number} STRING=0 STRING value - * @property {number} CORD=1 CORD value - * @property {number} STRING_PIECE=2 STRING_PIECE value - */ - FieldOptions.CType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STRING"] = 0; - values[valuesById[1] = "CORD"] = 1; - values[valuesById[2] = "STRING_PIECE"] = 2; - return values; - })(); - - /** - * JSType enum. - * @name google.protobuf.FieldOptions.JSType - * @enum {string} - * @property {number} JS_NORMAL=0 JS_NORMAL value - * @property {number} JS_STRING=1 JS_STRING value - * @property {number} JS_NUMBER=2 JS_NUMBER value - */ - FieldOptions.JSType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "JS_NORMAL"] = 0; - values[valuesById[1] = "JS_STRING"] = 1; - values[valuesById[2] = "JS_NUMBER"] = 2; - return values; - })(); - - return FieldOptions; + return NewRoundStep; })(); - protobuf.OneofOptions = (function() { + consensus.NewValidBlock = (function() { /** - * Properties of an OneofOptions. - * @memberof google.protobuf - * @interface IOneofOptions - * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption + * Properties of a NewValidBlock. + * @memberof tendermint.consensus + * @interface INewValidBlock + * @property {number|Long|null} [height] NewValidBlock height + * @property {number|null} [round] NewValidBlock round + * @property {tendermint.types.IPartSetHeader|null} [blockPartSetHeader] NewValidBlock blockPartSetHeader + * @property {tendermint.libs.bits.IBitArray|null} [blockParts] NewValidBlock blockParts + * @property {boolean|null} [isCommit] NewValidBlock isCommit */ /** - * Constructs a new OneofOptions. - * @memberof google.protobuf - * @classdesc Represents an OneofOptions. - * @implements IOneofOptions + * Constructs a new NewValidBlock. + * @memberof tendermint.consensus + * @classdesc Represents a NewValidBlock. + * @implements INewValidBlock * @constructor - * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + * @param {tendermint.consensus.INewValidBlock=} [properties] Properties to set */ - function OneofOptions(properties) { - this.uninterpretedOption = []; + function NewValidBlock(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18257,78 +15526,127 @@ $root.google = (function() { } /** - * OneofOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.OneofOptions + * NewValidBlock height. + * @member {number|Long} height + * @memberof tendermint.consensus.NewValidBlock * @instance */ - OneofOptions.prototype.uninterpretedOption = $util.emptyArray; + NewValidBlock.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Creates a new OneofOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.OneofOptions + * NewValidBlock round. + * @member {number} round + * @memberof tendermint.consensus.NewValidBlock + * @instance + */ + NewValidBlock.prototype.round = 0; + + /** + * NewValidBlock blockPartSetHeader. + * @member {tendermint.types.IPartSetHeader|null|undefined} blockPartSetHeader + * @memberof tendermint.consensus.NewValidBlock + * @instance + */ + NewValidBlock.prototype.blockPartSetHeader = null; + + /** + * NewValidBlock blockParts. + * @member {tendermint.libs.bits.IBitArray|null|undefined} blockParts + * @memberof tendermint.consensus.NewValidBlock + * @instance + */ + NewValidBlock.prototype.blockParts = null; + + /** + * NewValidBlock isCommit. + * @member {boolean} isCommit + * @memberof tendermint.consensus.NewValidBlock + * @instance + */ + NewValidBlock.prototype.isCommit = false; + + /** + * Creates a new NewValidBlock instance using the specified properties. + * @function create + * @memberof tendermint.consensus.NewValidBlock * @static - * @param {google.protobuf.IOneofOptions=} [properties] Properties to set - * @returns {google.protobuf.OneofOptions} OneofOptions instance + * @param {tendermint.consensus.INewValidBlock=} [properties] Properties to set + * @returns {tendermint.consensus.NewValidBlock} NewValidBlock instance */ - OneofOptions.create = function create(properties) { - return new OneofOptions(properties); + NewValidBlock.create = function create(properties) { + return new NewValidBlock(properties); }; /** - * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * Encodes the specified NewValidBlock message. Does not implicitly {@link tendermint.consensus.NewValidBlock.verify|verify} messages. * @function encode - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static - * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {tendermint.consensus.INewValidBlock} message NewValidBlock message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OneofOptions.encode = function encode(message, writer) { + NewValidBlock.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.blockPartSetHeader != null && Object.hasOwnProperty.call(message, "blockPartSetHeader")) + $root.tendermint.types.PartSetHeader.encode(message.blockPartSetHeader, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockParts != null && Object.hasOwnProperty.call(message, "blockParts")) + $root.tendermint.libs.bits.BitArray.encode(message.blockParts, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.isCommit != null && Object.hasOwnProperty.call(message, "isCommit")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.isCommit); return writer; }; /** - * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * Encodes the specified NewValidBlock message, length delimited. Does not implicitly {@link tendermint.consensus.NewValidBlock.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static - * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {tendermint.consensus.INewValidBlock} message NewValidBlock message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { + NewValidBlock.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OneofOptions message from the specified reader or buffer. + * Decodes a NewValidBlock message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.OneofOptions} OneofOptions + * @returns {tendermint.consensus.NewValidBlock} NewValidBlock * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length) { + NewValidBlock.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.NewValidBlock(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + case 1: + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.blockPartSetHeader = $root.tendermint.types.PartSetHeader.decode(reader, reader.uint32()); + break; + case 4: + message.blockParts = $root.tendermint.libs.bits.BitArray.decode(reader, reader.uint32()); + break; + case 5: + message.isCommit = reader.bool(); break; default: reader.skipType(tag & 7); @@ -18339,132 +15657,164 @@ $root.google = (function() { }; /** - * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * Decodes a NewValidBlock message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.OneofOptions} OneofOptions + * @returns {tendermint.consensus.NewValidBlock} NewValidBlock * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decodeDelimited = function decodeDelimited(reader) { + NewValidBlock.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OneofOptions message. + * Verifies a NewValidBlock message. * @function verify - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + NewValidBlock.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.blockPartSetHeader != null && message.hasOwnProperty("blockPartSetHeader")) { + var error = $root.tendermint.types.PartSetHeader.verify(message.blockPartSetHeader); + if (error) + return "blockPartSetHeader." + error; + } + if (message.blockParts != null && message.hasOwnProperty("blockParts")) { + var error = $root.tendermint.libs.bits.BitArray.verify(message.blockParts); + if (error) + return "blockParts." + error; } + if (message.isCommit != null && message.hasOwnProperty("isCommit")) + if (typeof message.isCommit !== "boolean") + return "isCommit: boolean expected"; return null; }; /** - * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * Creates a NewValidBlock message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static * @param {Object.} object Plain object - * @returns {google.protobuf.OneofOptions} OneofOptions + * @returns {tendermint.consensus.NewValidBlock} NewValidBlock */ - OneofOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.OneofOptions) + NewValidBlock.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.NewValidBlock) return object; - var message = new $root.google.protobuf.OneofOptions(); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } + var message = new $root.tendermint.consensus.NewValidBlock(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.blockPartSetHeader != null) { + if (typeof object.blockPartSetHeader !== "object") + throw TypeError(".tendermint.consensus.NewValidBlock.blockPartSetHeader: object expected"); + message.blockPartSetHeader = $root.tendermint.types.PartSetHeader.fromObject(object.blockPartSetHeader); + } + if (object.blockParts != null) { + if (typeof object.blockParts !== "object") + throw TypeError(".tendermint.consensus.NewValidBlock.blockParts: object expected"); + message.blockParts = $root.tendermint.libs.bits.BitArray.fromObject(object.blockParts); + } + if (object.isCommit != null) + message.isCommit = Boolean(object.isCommit); return message; }; /** - * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * Creates a plain object from a NewValidBlock message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @static - * @param {google.protobuf.OneofOptions} message OneofOptions + * @param {tendermint.consensus.NewValidBlock} message NewValidBlock * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OneofOptions.toObject = function toObject(message, options) { + NewValidBlock.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.blockPartSetHeader = null; + object.blockParts = null; + object.isCommit = false; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.blockPartSetHeader != null && message.hasOwnProperty("blockPartSetHeader")) + object.blockPartSetHeader = $root.tendermint.types.PartSetHeader.toObject(message.blockPartSetHeader, options); + if (message.blockParts != null && message.hasOwnProperty("blockParts")) + object.blockParts = $root.tendermint.libs.bits.BitArray.toObject(message.blockParts, options); + if (message.isCommit != null && message.hasOwnProperty("isCommit")) + object.isCommit = message.isCommit; return object; }; /** - * Converts this OneofOptions to JSON. + * Converts this NewValidBlock to JSON. * @function toJSON - * @memberof google.protobuf.OneofOptions + * @memberof tendermint.consensus.NewValidBlock * @instance * @returns {Object.} JSON object */ - OneofOptions.prototype.toJSON = function toJSON() { + NewValidBlock.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return OneofOptions; + return NewValidBlock; })(); - protobuf.EnumOptions = (function() { + consensus.Proposal = (function() { /** - * Properties of an EnumOptions. - * @memberof google.protobuf - * @interface IEnumOptions - * @property {boolean|null} [allowAlias] EnumOptions allowAlias - * @property {boolean|null} [deprecated] EnumOptions deprecated - * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption - * @property {boolean|null} [".gogoproto.goprotoEnumPrefix"] EnumOptions .gogoproto.goprotoEnumPrefix - * @property {boolean|null} [".gogoproto.goprotoEnumStringer"] EnumOptions .gogoproto.goprotoEnumStringer - * @property {boolean|null} [".gogoproto.enumStringer"] EnumOptions .gogoproto.enumStringer - * @property {string|null} [".gogoproto.enumCustomname"] EnumOptions .gogoproto.enumCustomname - * @property {boolean|null} [".gogoproto.enumdecl"] EnumOptions .gogoproto.enumdecl + * Properties of a Proposal. + * @memberof tendermint.consensus + * @interface IProposal + * @property {tendermint.types.IProposal|null} [proposal] Proposal proposal */ /** - * Constructs a new EnumOptions. - * @memberof google.protobuf - * @classdesc Represents an EnumOptions. - * @implements IEnumOptions + * Constructs a new Proposal. + * @memberof tendermint.consensus + * @classdesc Represents a Proposal. + * @implements IProposal * @constructor - * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + * @param {tendermint.consensus.IProposal=} [properties] Properties to set */ - function EnumOptions(properties) { - this.uninterpretedOption = []; + function Proposal(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18472,169 +15822,75 @@ $root.google = (function() { } /** - * EnumOptions allowAlias. - * @member {boolean} allowAlias - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.allowAlias = false; - - /** - * EnumOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.deprecated = false; - - /** - * EnumOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * EnumOptions .gogoproto.goprotoEnumPrefix. - * @member {boolean} .gogoproto.goprotoEnumPrefix - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype[".gogoproto.goprotoEnumPrefix"] = false; - - /** - * EnumOptions .gogoproto.goprotoEnumStringer. - * @member {boolean} .gogoproto.goprotoEnumStringer - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype[".gogoproto.goprotoEnumStringer"] = false; - - /** - * EnumOptions .gogoproto.enumStringer. - * @member {boolean} .gogoproto.enumStringer - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype[".gogoproto.enumStringer"] = false; - - /** - * EnumOptions .gogoproto.enumCustomname. - * @member {string} .gogoproto.enumCustomname - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype[".gogoproto.enumCustomname"] = ""; - - /** - * EnumOptions .gogoproto.enumdecl. - * @member {boolean} .gogoproto.enumdecl - * @memberof google.protobuf.EnumOptions + * Proposal proposal. + * @member {tendermint.types.IProposal|null|undefined} proposal + * @memberof tendermint.consensus.Proposal * @instance */ - EnumOptions.prototype[".gogoproto.enumdecl"] = false; + Proposal.prototype.proposal = null; /** - * Creates a new EnumOptions instance using the specified properties. + * Creates a new Proposal instance using the specified properties. * @function create - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static - * @param {google.protobuf.IEnumOptions=} [properties] Properties to set - * @returns {google.protobuf.EnumOptions} EnumOptions instance + * @param {tendermint.consensus.IProposal=} [properties] Properties to set + * @returns {tendermint.consensus.Proposal} Proposal instance */ - EnumOptions.create = function create(properties) { - return new EnumOptions(properties); + Proposal.create = function create(properties) { + return new Proposal(properties); }; /** - * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * Encodes the specified Proposal message. Does not implicitly {@link tendermint.consensus.Proposal.verify|verify} messages. * @function encode - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static - * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {tendermint.consensus.IProposal} message Proposal message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EnumOptions.encode = function encode(message, writer) { + Proposal.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".gogoproto.goprotoEnumPrefix"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefix")) - writer.uint32(/* id 62001, wireType 0 =*/496008).bool(message[".gogoproto.goprotoEnumPrefix"]); - if (message[".gogoproto.goprotoEnumStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringer")) - writer.uint32(/* id 62021, wireType 0 =*/496168).bool(message[".gogoproto.goprotoEnumStringer"]); - if (message[".gogoproto.enumStringer"] != null && message.hasOwnProperty(".gogoproto.enumStringer")) - writer.uint32(/* id 62022, wireType 0 =*/496176).bool(message[".gogoproto.enumStringer"]); - if (message[".gogoproto.enumCustomname"] != null && message.hasOwnProperty(".gogoproto.enumCustomname")) - writer.uint32(/* id 62023, wireType 2 =*/496186).string(message[".gogoproto.enumCustomname"]); - if (message[".gogoproto.enumdecl"] != null && message.hasOwnProperty(".gogoproto.enumdecl")) - writer.uint32(/* id 62024, wireType 0 =*/496192).bool(message[".gogoproto.enumdecl"]); + if (message.proposal != null && Object.hasOwnProperty.call(message, "proposal")) + $root.tendermint.types.Proposal.encode(message.proposal, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * Encodes the specified Proposal message, length delimited. Does not implicitly {@link tendermint.consensus.Proposal.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static - * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {tendermint.consensus.IProposal} message Proposal message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { + Proposal.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EnumOptions message from the specified reader or buffer. + * Decodes a Proposal message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumOptions} EnumOptions + * @returns {tendermint.consensus.Proposal} Proposal * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length) { + Proposal.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.Proposal(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.allowAlias = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 62001: - message[".gogoproto.goprotoEnumPrefix"] = reader.bool(); - break; - case 62021: - message[".gogoproto.goprotoEnumStringer"] = reader.bool(); - break; - case 62022: - message[".gogoproto.enumStringer"] = reader.bool(); - break; - case 62023: - message[".gogoproto.enumCustomname"] = reader.string(); - break; - case 62024: - message[".gogoproto.enumdecl"] = reader.bool(); + case 1: + message.proposal = $root.tendermint.types.Proposal.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -18645,185 +15901,114 @@ $root.google = (function() { }; /** - * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * Decodes a Proposal message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumOptions} EnumOptions + * @returns {tendermint.consensus.Proposal} Proposal * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decodeDelimited = function decodeDelimited(reader) { + Proposal.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EnumOptions message. + * Verifies a Proposal message. * @function verify - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + Proposal.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) - if (typeof message.allowAlias !== "boolean") - return "allowAlias: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.proposal != null && message.hasOwnProperty("proposal")) { + var error = $root.tendermint.types.Proposal.verify(message.proposal); + if (error) + return "proposal." + error; } - if (message[".gogoproto.goprotoEnumPrefix"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefix")) - if (typeof message[".gogoproto.goprotoEnumPrefix"] !== "boolean") - return ".gogoproto.goprotoEnumPrefix: boolean expected"; - if (message[".gogoproto.goprotoEnumStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringer")) - if (typeof message[".gogoproto.goprotoEnumStringer"] !== "boolean") - return ".gogoproto.goprotoEnumStringer: boolean expected"; - if (message[".gogoproto.enumStringer"] != null && message.hasOwnProperty(".gogoproto.enumStringer")) - if (typeof message[".gogoproto.enumStringer"] !== "boolean") - return ".gogoproto.enumStringer: boolean expected"; - if (message[".gogoproto.enumCustomname"] != null && message.hasOwnProperty(".gogoproto.enumCustomname")) - if (!$util.isString(message[".gogoproto.enumCustomname"])) - return ".gogoproto.enumCustomname: string expected"; - if (message[".gogoproto.enumdecl"] != null && message.hasOwnProperty(".gogoproto.enumdecl")) - if (typeof message[".gogoproto.enumdecl"] !== "boolean") - return ".gogoproto.enumdecl: boolean expected"; return null; }; /** - * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * Creates a Proposal message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static * @param {Object.} object Plain object - * @returns {google.protobuf.EnumOptions} EnumOptions + * @returns {tendermint.consensus.Proposal} Proposal */ - EnumOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumOptions) + Proposal.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.Proposal) return object; - var message = new $root.google.protobuf.EnumOptions(); - if (object.allowAlias != null) - message.allowAlias = Boolean(object.allowAlias); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } + var message = new $root.tendermint.consensus.Proposal(); + if (object.proposal != null) { + if (typeof object.proposal !== "object") + throw TypeError(".tendermint.consensus.Proposal.proposal: object expected"); + message.proposal = $root.tendermint.types.Proposal.fromObject(object.proposal); } - if (object[".gogoproto.goprotoEnumPrefix"] != null) - message[".gogoproto.goprotoEnumPrefix"] = Boolean(object[".gogoproto.goprotoEnumPrefix"]); - if (object[".gogoproto.goprotoEnumStringer"] != null) - message[".gogoproto.goprotoEnumStringer"] = Boolean(object[".gogoproto.goprotoEnumStringer"]); - if (object[".gogoproto.enumStringer"] != null) - message[".gogoproto.enumStringer"] = Boolean(object[".gogoproto.enumStringer"]); - if (object[".gogoproto.enumCustomname"] != null) - message[".gogoproto.enumCustomname"] = String(object[".gogoproto.enumCustomname"]); - if (object[".gogoproto.enumdecl"] != null) - message[".gogoproto.enumdecl"] = Boolean(object[".gogoproto.enumdecl"]); return message; }; /** - * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * Creates a plain object from a Proposal message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @static - * @param {google.protobuf.EnumOptions} message EnumOptions + * @param {tendermint.consensus.Proposal} message Proposal * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EnumOptions.toObject = function toObject(message, options) { + Proposal.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.allowAlias = false; - object.deprecated = false; - object[".gogoproto.goprotoEnumPrefix"] = false; - object[".gogoproto.goprotoEnumStringer"] = false; - object[".gogoproto.enumStringer"] = false; - object[".gogoproto.enumCustomname"] = ""; - object[".gogoproto.enumdecl"] = false; - } - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) - object.allowAlias = message.allowAlias; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".gogoproto.goprotoEnumPrefix"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefix")) - object[".gogoproto.goprotoEnumPrefix"] = message[".gogoproto.goprotoEnumPrefix"]; - if (message[".gogoproto.goprotoEnumStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringer")) - object[".gogoproto.goprotoEnumStringer"] = message[".gogoproto.goprotoEnumStringer"]; - if (message[".gogoproto.enumStringer"] != null && message.hasOwnProperty(".gogoproto.enumStringer")) - object[".gogoproto.enumStringer"] = message[".gogoproto.enumStringer"]; - if (message[".gogoproto.enumCustomname"] != null && message.hasOwnProperty(".gogoproto.enumCustomname")) - object[".gogoproto.enumCustomname"] = message[".gogoproto.enumCustomname"]; - if (message[".gogoproto.enumdecl"] != null && message.hasOwnProperty(".gogoproto.enumdecl")) - object[".gogoproto.enumdecl"] = message[".gogoproto.enumdecl"]; + if (options.defaults) + object.proposal = null; + if (message.proposal != null && message.hasOwnProperty("proposal")) + object.proposal = $root.tendermint.types.Proposal.toObject(message.proposal, options); return object; }; /** - * Converts this EnumOptions to JSON. + * Converts this Proposal to JSON. * @function toJSON - * @memberof google.protobuf.EnumOptions + * @memberof tendermint.consensus.Proposal * @instance * @returns {Object.} JSON object */ - EnumOptions.prototype.toJSON = function toJSON() { + Proposal.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EnumOptions; + return Proposal; })(); - protobuf.EnumValueOptions = (function() { + consensus.ProposalPOL = (function() { /** - * Properties of an EnumValueOptions. - * @memberof google.protobuf - * @interface IEnumValueOptions - * @property {boolean|null} [deprecated] EnumValueOptions deprecated - * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption - * @property {string|null} [".gogoproto.enumvalueCustomname"] EnumValueOptions .gogoproto.enumvalueCustomname + * Properties of a ProposalPOL. + * @memberof tendermint.consensus + * @interface IProposalPOL + * @property {number|Long|null} [height] ProposalPOL height + * @property {number|null} [proposalPolRound] ProposalPOL proposalPolRound + * @property {tendermint.libs.bits.IBitArray|null} [proposalPol] ProposalPOL proposalPol */ /** - * Constructs a new EnumValueOptions. - * @memberof google.protobuf - * @classdesc Represents an EnumValueOptions. - * @implements IEnumValueOptions + * Constructs a new ProposalPOL. + * @memberof tendermint.consensus + * @classdesc Represents a ProposalPOL. + * @implements IProposalPOL * @constructor - * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + * @param {tendermint.consensus.IProposalPOL=} [properties] Properties to set */ - function EnumValueOptions(properties) { - this.uninterpretedOption = []; + function ProposalPOL(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -18831,104 +16016,101 @@ $root.google = (function() { } /** - * EnumValueOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.EnumValueOptions + * ProposalPOL height. + * @member {number|Long} height + * @memberof tendermint.consensus.ProposalPOL * @instance */ - EnumValueOptions.prototype.deprecated = false; + ProposalPOL.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * EnumValueOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.EnumValueOptions + * ProposalPOL proposalPolRound. + * @member {number} proposalPolRound + * @memberof tendermint.consensus.ProposalPOL * @instance */ - EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; + ProposalPOL.prototype.proposalPolRound = 0; /** - * EnumValueOptions .gogoproto.enumvalueCustomname. - * @member {string} .gogoproto.enumvalueCustomname - * @memberof google.protobuf.EnumValueOptions + * ProposalPOL proposalPol. + * @member {tendermint.libs.bits.IBitArray|null|undefined} proposalPol + * @memberof tendermint.consensus.ProposalPOL * @instance */ - EnumValueOptions.prototype[".gogoproto.enumvalueCustomname"] = ""; + ProposalPOL.prototype.proposalPol = null; /** - * Creates a new EnumValueOptions instance using the specified properties. + * Creates a new ProposalPOL instance using the specified properties. * @function create - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static - * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance + * @param {tendermint.consensus.IProposalPOL=} [properties] Properties to set + * @returns {tendermint.consensus.ProposalPOL} ProposalPOL instance */ - EnumValueOptions.create = function create(properties) { - return new EnumValueOptions(properties); + ProposalPOL.create = function create(properties) { + return new ProposalPOL(properties); }; /** - * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * Encodes the specified ProposalPOL message. Does not implicitly {@link tendermint.consensus.ProposalPOL.verify|verify} messages. * @function encode - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static - * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {tendermint.consensus.IProposalPOL} message ProposalPOL message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EnumValueOptions.encode = function encode(message, writer) { + ProposalPOL.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".gogoproto.enumvalueCustomname"] != null && message.hasOwnProperty(".gogoproto.enumvalueCustomname")) - writer.uint32(/* id 66001, wireType 2 =*/528010).string(message[".gogoproto.enumvalueCustomname"]); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.proposalPolRound != null && Object.hasOwnProperty.call(message, "proposalPolRound")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.proposalPolRound); + if (message.proposalPol != null && Object.hasOwnProperty.call(message, "proposalPol")) + $root.tendermint.libs.bits.BitArray.encode(message.proposalPol, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * Encodes the specified ProposalPOL message, length delimited. Does not implicitly {@link tendermint.consensus.ProposalPOL.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static - * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {tendermint.consensus.IProposalPOL} message ProposalPOL message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { + ProposalPOL.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EnumValueOptions message from the specified reader or buffer. + * Decodes a ProposalPOL message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @returns {tendermint.consensus.ProposalPOL} ProposalPOL * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length) { + ProposalPOL.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.ProposalPOL(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.deprecated = reader.bool(); + message.height = reader.int64(); break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + case 2: + message.proposalPolRound = reader.int32(); break; - case 66001: - message[".gogoproto.enumvalueCustomname"] = reader.string(); + case 3: + message.proposalPol = $root.tendermint.libs.bits.BitArray.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -18939,144 +16121,145 @@ $root.google = (function() { }; /** - * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * Decodes a ProposalPOL message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @returns {tendermint.consensus.ProposalPOL} ProposalPOL * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { + ProposalPOL.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EnumValueOptions message. + * Verifies a ProposalPOL message. * @function verify - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + ProposalPOL.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.proposalPolRound != null && message.hasOwnProperty("proposalPolRound")) + if (!$util.isInteger(message.proposalPolRound)) + return "proposalPolRound: integer expected"; + if (message.proposalPol != null && message.hasOwnProperty("proposalPol")) { + var error = $root.tendermint.libs.bits.BitArray.verify(message.proposalPol); + if (error) + return "proposalPol." + error; } - if (message[".gogoproto.enumvalueCustomname"] != null && message.hasOwnProperty(".gogoproto.enumvalueCustomname")) - if (!$util.isString(message[".gogoproto.enumvalueCustomname"])) - return ".gogoproto.enumvalueCustomname: string expected"; return null; }; /** - * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * Creates a ProposalPOL message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static * @param {Object.} object Plain object - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @returns {tendermint.consensus.ProposalPOL} ProposalPOL */ - EnumValueOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumValueOptions) + ProposalPOL.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.ProposalPOL) return object; - var message = new $root.google.protobuf.EnumValueOptions(); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } + var message = new $root.tendermint.consensus.ProposalPOL(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.proposalPolRound != null) + message.proposalPolRound = object.proposalPolRound | 0; + if (object.proposalPol != null) { + if (typeof object.proposalPol !== "object") + throw TypeError(".tendermint.consensus.ProposalPOL.proposalPol: object expected"); + message.proposalPol = $root.tendermint.libs.bits.BitArray.fromObject(object.proposalPol); } - if (object[".gogoproto.enumvalueCustomname"] != null) - message[".gogoproto.enumvalueCustomname"] = String(object[".gogoproto.enumvalueCustomname"]); return message; }; /** - * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * Creates a plain object from a ProposalPOL message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @static - * @param {google.protobuf.EnumValueOptions} message EnumValueOptions + * @param {tendermint.consensus.ProposalPOL} message ProposalPOL * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EnumValueOptions.toObject = function toObject(message, options) { + ProposalPOL.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; if (options.defaults) { - object.deprecated = false; - object[".gogoproto.enumvalueCustomname"] = ""; - } - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.proposalPolRound = 0; + object.proposalPol = null; } - if (message[".gogoproto.enumvalueCustomname"] != null && message.hasOwnProperty(".gogoproto.enumvalueCustomname")) - object[".gogoproto.enumvalueCustomname"] = message[".gogoproto.enumvalueCustomname"]; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.proposalPolRound != null && message.hasOwnProperty("proposalPolRound")) + object.proposalPolRound = message.proposalPolRound; + if (message.proposalPol != null && message.hasOwnProperty("proposalPol")) + object.proposalPol = $root.tendermint.libs.bits.BitArray.toObject(message.proposalPol, options); return object; }; /** - * Converts this EnumValueOptions to JSON. + * Converts this ProposalPOL to JSON. * @function toJSON - * @memberof google.protobuf.EnumValueOptions + * @memberof tendermint.consensus.ProposalPOL * @instance * @returns {Object.} JSON object */ - EnumValueOptions.prototype.toJSON = function toJSON() { + ProposalPOL.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EnumValueOptions; + return ProposalPOL; })(); - protobuf.ServiceOptions = (function() { + consensus.BlockPart = (function() { /** - * Properties of a ServiceOptions. - * @memberof google.protobuf - * @interface IServiceOptions - * @property {boolean|null} [deprecated] ServiceOptions deprecated - * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption + * Properties of a BlockPart. + * @memberof tendermint.consensus + * @interface IBlockPart + * @property {number|Long|null} [height] BlockPart height + * @property {number|null} [round] BlockPart round + * @property {tendermint.types.IPart|null} [part] BlockPart part */ /** - * Constructs a new ServiceOptions. - * @memberof google.protobuf - * @classdesc Represents a ServiceOptions. - * @implements IServiceOptions + * Constructs a new BlockPart. + * @memberof tendermint.consensus + * @classdesc Represents a BlockPart. + * @implements IBlockPart * @constructor - * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + * @param {tendermint.consensus.IBlockPart=} [properties] Properties to set */ - function ServiceOptions(properties) { - this.uninterpretedOption = []; + function BlockPart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19084,91 +16267,101 @@ $root.google = (function() { } /** - * ServiceOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.ServiceOptions + * BlockPart height. + * @member {number|Long} height + * @memberof tendermint.consensus.BlockPart * @instance */ - ServiceOptions.prototype.deprecated = false; + BlockPart.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * ServiceOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.ServiceOptions + * BlockPart round. + * @member {number} round + * @memberof tendermint.consensus.BlockPart * @instance */ - ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; + BlockPart.prototype.round = 0; /** - * Creates a new ServiceOptions instance using the specified properties. + * BlockPart part. + * @member {tendermint.types.IPart|null|undefined} part + * @memberof tendermint.consensus.BlockPart + * @instance + */ + BlockPart.prototype.part = null; + + /** + * Creates a new BlockPart instance using the specified properties. * @function create - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static - * @param {google.protobuf.IServiceOptions=} [properties] Properties to set - * @returns {google.protobuf.ServiceOptions} ServiceOptions instance + * @param {tendermint.consensus.IBlockPart=} [properties] Properties to set + * @returns {tendermint.consensus.BlockPart} BlockPart instance */ - ServiceOptions.create = function create(properties) { - return new ServiceOptions(properties); + BlockPart.create = function create(properties) { + return new BlockPart(properties); }; /** - * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * Encodes the specified BlockPart message. Does not implicitly {@link tendermint.consensus.BlockPart.verify|verify} messages. * @function encode - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static - * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {tendermint.consensus.IBlockPart} message BlockPart message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ServiceOptions.encode = function encode(message, writer) { + BlockPart.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.part != null && Object.hasOwnProperty.call(message, "part")) + $root.tendermint.types.Part.encode(message.part, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * Encodes the specified BlockPart message, length delimited. Does not implicitly {@link tendermint.consensus.BlockPart.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static - * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {tendermint.consensus.IBlockPart} message BlockPart message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { + BlockPart.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ServiceOptions message from the specified reader or buffer. + * Decodes a BlockPart message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @returns {tendermint.consensus.BlockPart} BlockPart * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length) { + BlockPart.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.BlockPart(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 33: - message.deprecated = reader.bool(); + case 1: + message.height = reader.int64(); break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + case 2: + message.round = reader.int32(); + break; + case 3: + message.part = $root.tendermint.types.Part.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -19179,136 +16372,143 @@ $root.google = (function() { }; /** - * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * Decodes a BlockPart message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @returns {tendermint.consensus.BlockPart} BlockPart * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decodeDelimited = function decodeDelimited(reader) { + BlockPart.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ServiceOptions message. + * Verifies a BlockPart message. * @function verify - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + BlockPart.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.part != null && message.hasOwnProperty("part")) { + var error = $root.tendermint.types.Part.verify(message.part); + if (error) + return "part." + error; } return null; }; /** - * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * Creates a BlockPart message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static * @param {Object.} object Plain object - * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @returns {tendermint.consensus.BlockPart} BlockPart */ - ServiceOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ServiceOptions) + BlockPart.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.BlockPart) return object; - var message = new $root.google.protobuf.ServiceOptions(); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } + var message = new $root.tendermint.consensus.BlockPart(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.part != null) { + if (typeof object.part !== "object") + throw TypeError(".tendermint.consensus.BlockPart.part: object expected"); + message.part = $root.tendermint.types.Part.fromObject(object.part); } return message; }; /** - * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * Creates a plain object from a BlockPart message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @static - * @param {google.protobuf.ServiceOptions} message ServiceOptions + * @param {tendermint.consensus.BlockPart} message BlockPart * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ServiceOptions.toObject = function toObject(message, options) { + BlockPart.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) - object.deprecated = false; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.part = null; } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.part != null && message.hasOwnProperty("part")) + object.part = $root.tendermint.types.Part.toObject(message.part, options); return object; }; /** - * Converts this ServiceOptions to JSON. + * Converts this BlockPart to JSON. * @function toJSON - * @memberof google.protobuf.ServiceOptions + * @memberof tendermint.consensus.BlockPart * @instance * @returns {Object.} JSON object */ - ServiceOptions.prototype.toJSON = function toJSON() { + BlockPart.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ServiceOptions; + return BlockPart; })(); - protobuf.MethodOptions = (function() { + consensus.Vote = (function() { /** - * Properties of a MethodOptions. - * @memberof google.protobuf - * @interface IMethodOptions - * @property {boolean|null} [deprecated] MethodOptions deprecated - * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel - * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption + * Properties of a Vote. + * @memberof tendermint.consensus + * @interface IVote + * @property {tendermint.types.IVote|null} [vote] Vote vote */ /** - * Constructs a new MethodOptions. - * @memberof google.protobuf - * @classdesc Represents a MethodOptions. - * @implements IMethodOptions + * Constructs a new Vote. + * @memberof tendermint.consensus + * @classdesc Represents a Vote. + * @implements IVote * @constructor - * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + * @param {tendermint.consensus.IVote=} [properties] Properties to set */ - function MethodOptions(properties) { - this.uninterpretedOption = []; + function Vote(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19316,104 +16516,75 @@ $root.google = (function() { } /** - * MethodOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype.deprecated = false; - - /** - * MethodOptions idempotencyLevel. - * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype.idempotencyLevel = 0; - - /** - * MethodOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.MethodOptions + * Vote vote. + * @member {tendermint.types.IVote|null|undefined} vote + * @memberof tendermint.consensus.Vote * @instance */ - MethodOptions.prototype.uninterpretedOption = $util.emptyArray; + Vote.prototype.vote = null; /** - * Creates a new MethodOptions instance using the specified properties. + * Creates a new Vote instance using the specified properties. * @function create - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static - * @param {google.protobuf.IMethodOptions=} [properties] Properties to set - * @returns {google.protobuf.MethodOptions} MethodOptions instance + * @param {tendermint.consensus.IVote=} [properties] Properties to set + * @returns {tendermint.consensus.Vote} Vote instance */ - MethodOptions.create = function create(properties) { - return new MethodOptions(properties); + Vote.create = function create(properties) { + return new Vote(properties); }; /** - * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * Encodes the specified Vote message. Does not implicitly {@link tendermint.consensus.Vote.verify|verify} messages. * @function encode - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static - * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {tendermint.consensus.IVote} message Vote message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - MethodOptions.encode = function encode(message, writer) { + Vote.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) + $root.tendermint.types.Vote.encode(message.vote, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * Encodes the specified Vote message, length delimited. Does not implicitly {@link tendermint.consensus.Vote.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static - * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {tendermint.consensus.IVote} message Vote message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { + Vote.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a MethodOptions message from the specified reader or buffer. + * Decodes a Vote message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.MethodOptions} MethodOptions + * @returns {tendermint.consensus.Vote} Vote * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length) { + Vote.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.Vote(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 33: - message.deprecated = reader.bool(); - break; - case 34: - message.idempotencyLevel = reader.int32(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + case 1: + message.vote = $root.tendermint.types.Vote.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -19424,183 +16595,115 @@ $root.google = (function() { }; /** - * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * Decodes a Vote message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.MethodOptions} MethodOptions + * @returns {tendermint.consensus.Vote} Vote * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decodeDelimited = function decodeDelimited(reader) { + Vote.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a MethodOptions message. + * Verifies a Vote message. * @function verify - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + Vote.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - switch (message.idempotencyLevel) { - default: - return "idempotencyLevel: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } + if (message.vote != null && message.hasOwnProperty("vote")) { + var error = $root.tendermint.types.Vote.verify(message.vote); + if (error) + return "vote." + error; } return null; }; /** - * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * Creates a Vote message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static * @param {Object.} object Plain object - * @returns {google.protobuf.MethodOptions} MethodOptions + * @returns {tendermint.consensus.Vote} Vote */ - MethodOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.MethodOptions) + Vote.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.Vote) return object; - var message = new $root.google.protobuf.MethodOptions(); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - switch (object.idempotencyLevel) { - case "IDEMPOTENCY_UNKNOWN": - case 0: - message.idempotencyLevel = 0; - break; - case "NO_SIDE_EFFECTS": - case 1: - message.idempotencyLevel = 1; - break; - case "IDEMPOTENT": - case 2: - message.idempotencyLevel = 2; - break; - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } + var message = new $root.tendermint.consensus.Vote(); + if (object.vote != null) { + if (typeof object.vote !== "object") + throw TypeError(".tendermint.consensus.Vote.vote: object expected"); + message.vote = $root.tendermint.types.Vote.fromObject(object.vote); } return message; }; /** - * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * Creates a plain object from a Vote message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @static - * @param {google.protobuf.MethodOptions} message MethodOptions + * @param {tendermint.consensus.Vote} message Vote * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - MethodOptions.toObject = function toObject(message, options) { + Vote.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.deprecated = false; - object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; - } - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } + if (options.defaults) + object.vote = null; + if (message.vote != null && message.hasOwnProperty("vote")) + object.vote = $root.tendermint.types.Vote.toObject(message.vote, options); return object; }; /** - * Converts this MethodOptions to JSON. + * Converts this Vote to JSON. * @function toJSON - * @memberof google.protobuf.MethodOptions + * @memberof tendermint.consensus.Vote * @instance * @returns {Object.} JSON object */ - MethodOptions.prototype.toJSON = function toJSON() { + Vote.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * IdempotencyLevel enum. - * @name google.protobuf.MethodOptions.IdempotencyLevel - * @enum {string} - * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value - * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value - * @property {number} IDEMPOTENT=2 IDEMPOTENT value - */ - MethodOptions.IdempotencyLevel = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; - values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; - values[valuesById[2] = "IDEMPOTENT"] = 2; - return values; - })(); - - return MethodOptions; + return Vote; })(); - protobuf.UninterpretedOption = (function() { + consensus.HasVote = (function() { /** - * Properties of an UninterpretedOption. - * @memberof google.protobuf - * @interface IUninterpretedOption - * @property {Array.|null} [name] UninterpretedOption name - * @property {string|null} [identifierValue] UninterpretedOption identifierValue - * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue - * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue - * @property {number|null} [doubleValue] UninterpretedOption doubleValue - * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue - * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue + * Properties of a HasVote. + * @memberof tendermint.consensus + * @interface IHasVote + * @property {number|Long|null} [height] HasVote height + * @property {number|null} [round] HasVote round + * @property {tendermint.types.SignedMsgType|null} [type] HasVote type + * @property {number|null} [index] HasVote index */ /** - * Constructs a new UninterpretedOption. - * @memberof google.protobuf - * @classdesc Represents an UninterpretedOption. - * @implements IUninterpretedOption + * Constructs a new HasVote. + * @memberof tendermint.consensus + * @classdesc Represents a HasVote. + * @implements IHasVote * @constructor - * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + * @param {tendermint.consensus.IHasVote=} [properties] Properties to set */ - function UninterpretedOption(properties) { - this.name = []; + function HasVote(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -19608,156 +16711,114 @@ $root.google = (function() { } /** - * UninterpretedOption name. - * @member {Array.} name - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.name = $util.emptyArray; - - /** - * UninterpretedOption identifierValue. - * @member {string} identifierValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.identifierValue = ""; - - /** - * UninterpretedOption positiveIntValue. - * @member {number|Long} positiveIntValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * UninterpretedOption negativeIntValue. - * @member {number|Long} negativeIntValue - * @memberof google.protobuf.UninterpretedOption + * HasVote height. + * @member {number|Long} height + * @memberof tendermint.consensus.HasVote * @instance */ - UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + HasVote.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * UninterpretedOption doubleValue. - * @member {number} doubleValue - * @memberof google.protobuf.UninterpretedOption + * HasVote round. + * @member {number} round + * @memberof tendermint.consensus.HasVote * @instance */ - UninterpretedOption.prototype.doubleValue = 0; + HasVote.prototype.round = 0; /** - * UninterpretedOption stringValue. - * @member {Uint8Array} stringValue - * @memberof google.protobuf.UninterpretedOption + * HasVote type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.consensus.HasVote * @instance */ - UninterpretedOption.prototype.stringValue = $util.newBuffer([]); + HasVote.prototype.type = 0; /** - * UninterpretedOption aggregateValue. - * @member {string} aggregateValue - * @memberof google.protobuf.UninterpretedOption + * HasVote index. + * @member {number} index + * @memberof tendermint.consensus.HasVote * @instance */ - UninterpretedOption.prototype.aggregateValue = ""; + HasVote.prototype.index = 0; /** - * Creates a new UninterpretedOption instance using the specified properties. + * Creates a new HasVote instance using the specified properties. * @function create - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static - * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance + * @param {tendermint.consensus.IHasVote=} [properties] Properties to set + * @returns {tendermint.consensus.HasVote} HasVote instance */ - UninterpretedOption.create = function create(properties) { - return new UninterpretedOption(properties); + HasVote.create = function create(properties) { + return new HasVote(properties); }; /** - * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * Encodes the specified HasVote message. Does not implicitly {@link tendermint.consensus.HasVote.verify|verify} messages. * @function encode - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static - * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {tendermint.consensus.IHasVote} message HasVote message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UninterpretedOption.encode = function encode(message, writer) { + HasVote.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.name.length) - for (var i = 0; i < message.name.length; ++i) - $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) - writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); - if (message.stringValue != null && message.hasOwnProperty("stringValue")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.index); return writer; }; /** - * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * Encodes the specified HasVote message, length delimited. Does not implicitly {@link tendermint.consensus.HasVote.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static - * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {tendermint.consensus.IHasVote} message HasVote message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { + HasVote.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an UninterpretedOption message from the specified reader or buffer. + * Decodes a HasVote message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @returns {tendermint.consensus.HasVote} HasVote * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length) { + HasVote.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.HasVote(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; case 2: - if (!(message.name && message.name.length)) - message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.round = reader.int32(); break; case 3: - message.identifierValue = reader.string(); + message.type = reader.int32(); break; case 4: - message.positiveIntValue = reader.uint64(); - break; - case 5: - message.negativeIntValue = reader.int64(); - break; - case 6: - message.doubleValue = reader.double(); - break; - case 7: - message.stringValue = reader.bytes(); - break; - case 8: - message.aggregateValue = reader.string(); + message.index = reader.int32(); break; default: reader.skipType(tag & 7); @@ -19768,422 +16829,172 @@ $root.google = (function() { }; /** - * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * Decodes a HasVote message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @returns {tendermint.consensus.HasVote} HasVote * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { + HasVote.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an UninterpretedOption message. + * Verifies a HasVote message. * @function verify - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + HasVote.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) { - if (!Array.isArray(message.name)) - return "name: array expected"; - for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); - if (error) - return "name." + error; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; } - } - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) - if (!$util.isString(message.identifierValue)) - return "identifierValue: string expected"; - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) - if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) - return "positiveIntValue: integer|Long expected"; - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) - if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) - return "negativeIntValue: integer|Long expected"; - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) - if (typeof message.doubleValue !== "number") - return "doubleValue: number expected"; - if (message.stringValue != null && message.hasOwnProperty("stringValue")) - if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) - return "stringValue: buffer expected"; - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) - if (!$util.isString(message.aggregateValue)) - return "aggregateValue: string expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index)) + return "index: integer expected"; return null; }; /** - * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * Creates a HasVote message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static * @param {Object.} object Plain object - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @returns {tendermint.consensus.HasVote} HasVote */ - UninterpretedOption.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.UninterpretedOption) + HasVote.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.HasVote) return object; - var message = new $root.google.protobuf.UninterpretedOption(); - if (object.name) { - if (!Array.isArray(object.name)) - throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); - message.name = []; - for (var i = 0; i < object.name.length; ++i) { - if (typeof object.name[i] !== "object") - throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); - } - } - if (object.identifierValue != null) - message.identifierValue = String(object.identifierValue); - if (object.positiveIntValue != null) - if ($util.Long) - (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; - else if (typeof object.positiveIntValue === "string") - message.positiveIntValue = parseInt(object.positiveIntValue, 10); - else if (typeof object.positiveIntValue === "number") - message.positiveIntValue = object.positiveIntValue; - else if (typeof object.positiveIntValue === "object") - message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); - if (object.negativeIntValue != null) + var message = new $root.tendermint.consensus.HasVote(); + if (object.height != null) if ($util.Long) - (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; - else if (typeof object.negativeIntValue === "string") - message.negativeIntValue = parseInt(object.negativeIntValue, 10); - else if (typeof object.negativeIntValue === "number") - message.negativeIntValue = object.negativeIntValue; - else if (typeof object.negativeIntValue === "object") - message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); - if (object.doubleValue != null) - message.doubleValue = Number(object.doubleValue); - if (object.stringValue != null) - if (typeof object.stringValue === "string") - $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); - else if (object.stringValue.length) - message.stringValue = object.stringValue; - if (object.aggregateValue != null) - message.aggregateValue = String(object.aggregateValue); + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.index != null) + message.index = object.index | 0; return message; }; /** - * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * Creates a plain object from a HasVote message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @static - * @param {google.protobuf.UninterpretedOption} message UninterpretedOption + * @param {tendermint.consensus.HasVote} message HasVote * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - UninterpretedOption.toObject = function toObject(message, options) { + HasVote.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.name = []; if (options.defaults) { - object.identifierValue = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.positiveIntValue = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); - object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else - object.negativeIntValue = options.longs === String ? "0" : 0; - object.doubleValue = 0; - if (options.bytes === String) - object.stringValue = ""; - else { - object.stringValue = []; - if (options.bytes !== Array) - object.stringValue = $util.newBuffer(object.stringValue); - } - object.aggregateValue = ""; - } - if (message.name && message.name.length) { - object.name = []; - for (var j = 0; j < message.name.length; ++j) - object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); - } - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) - object.identifierValue = message.identifierValue; - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) - if (typeof message.positiveIntValue === "number") - object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; - else - object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) - if (typeof message.negativeIntValue === "number") - object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + object.index = 0; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; else - object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) - object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; - if (message.stringValue != null && message.hasOwnProperty("stringValue")) - object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) - object.aggregateValue = message.aggregateValue; + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; return object; }; /** - * Converts this UninterpretedOption to JSON. + * Converts this HasVote to JSON. * @function toJSON - * @memberof google.protobuf.UninterpretedOption + * @memberof tendermint.consensus.HasVote * @instance * @returns {Object.} JSON object */ - UninterpretedOption.prototype.toJSON = function toJSON() { + HasVote.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - UninterpretedOption.NamePart = (function() { - - /** - * Properties of a NamePart. - * @memberof google.protobuf.UninterpretedOption - * @interface INamePart - * @property {string} namePart NamePart namePart - * @property {boolean} isExtension NamePart isExtension - */ - - /** - * Constructs a new NamePart. - * @memberof google.protobuf.UninterpretedOption - * @classdesc Represents a NamePart. - * @implements INamePart - * @constructor - * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set - */ - function NamePart(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * NamePart namePart. - * @member {string} namePart - * @memberof google.protobuf.UninterpretedOption.NamePart - * @instance - */ - NamePart.prototype.namePart = ""; - - /** - * NamePart isExtension. - * @member {boolean} isExtension - * @memberof google.protobuf.UninterpretedOption.NamePart - * @instance - */ - NamePart.prototype.isExtension = false; - - /** - * Creates a new NamePart instance using the specified properties. - * @function create - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance - */ - NamePart.create = function create(properties) { - return new NamePart(properties); - }; - - /** - * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @function encode - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NamePart.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); - return writer; - }; - - /** - * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NamePart.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a NamePart message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NamePart.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.namePart = reader.string(); - break; - case 2: - message.isExtension = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - if (!message.hasOwnProperty("namePart")) - throw $util.ProtocolError("missing required 'namePart'", { instance: message }); - if (!message.hasOwnProperty("isExtension")) - throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); - return message; - }; - - /** - * Decodes a NamePart message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NamePart.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a NamePart message. - * @function verify - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - NamePart.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (!$util.isString(message.namePart)) - return "namePart: string expected"; - if (typeof message.isExtension !== "boolean") - return "isExtension: boolean expected"; - return null; - }; - - /** - * Creates a NamePart message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart - */ - NamePart.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) - return object; - var message = new $root.google.protobuf.UninterpretedOption.NamePart(); - if (object.namePart != null) - message.namePart = String(object.namePart); - if (object.isExtension != null) - message.isExtension = Boolean(object.isExtension); - return message; - }; - - /** - * Creates a plain object from a NamePart message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - NamePart.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.namePart = ""; - object.isExtension = false; - } - if (message.namePart != null && message.hasOwnProperty("namePart")) - object.namePart = message.namePart; - if (message.isExtension != null && message.hasOwnProperty("isExtension")) - object.isExtension = message.isExtension; - return object; - }; - - /** - * Converts this NamePart to JSON. - * @function toJSON - * @memberof google.protobuf.UninterpretedOption.NamePart - * @instance - * @returns {Object.} JSON object - */ - NamePart.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return NamePart; - })(); - - return UninterpretedOption; + return HasVote; })(); - protobuf.SourceCodeInfo = (function() { + consensus.VoteSetMaj23 = (function() { /** - * Properties of a SourceCodeInfo. - * @memberof google.protobuf - * @interface ISourceCodeInfo - * @property {Array.|null} [location] SourceCodeInfo location + * Properties of a VoteSetMaj23. + * @memberof tendermint.consensus + * @interface IVoteSetMaj23 + * @property {number|Long|null} [height] VoteSetMaj23 height + * @property {number|null} [round] VoteSetMaj23 round + * @property {tendermint.types.SignedMsgType|null} [type] VoteSetMaj23 type + * @property {tendermint.types.IBlockID|null} [blockId] VoteSetMaj23 blockId */ /** - * Constructs a new SourceCodeInfo. - * @memberof google.protobuf - * @classdesc Represents a SourceCodeInfo. - * @implements ISourceCodeInfo + * Constructs a new VoteSetMaj23. + * @memberof tendermint.consensus + * @classdesc Represents a VoteSetMaj23. + * @implements IVoteSetMaj23 * @constructor - * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + * @param {tendermint.consensus.IVoteSetMaj23=} [properties] Properties to set */ - function SourceCodeInfo(properties) { - this.location = []; + function VoteSetMaj23(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -20191,78 +17002,114 @@ $root.google = (function() { } /** - * SourceCodeInfo location. - * @member {Array.} location - * @memberof google.protobuf.SourceCodeInfo + * VoteSetMaj23 height. + * @member {number|Long} height + * @memberof tendermint.consensus.VoteSetMaj23 * @instance */ - SourceCodeInfo.prototype.location = $util.emptyArray; + VoteSetMaj23.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Creates a new SourceCodeInfo instance using the specified properties. + * VoteSetMaj23 round. + * @member {number} round + * @memberof tendermint.consensus.VoteSetMaj23 + * @instance + */ + VoteSetMaj23.prototype.round = 0; + + /** + * VoteSetMaj23 type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.consensus.VoteSetMaj23 + * @instance + */ + VoteSetMaj23.prototype.type = 0; + + /** + * VoteSetMaj23 blockId. + * @member {tendermint.types.IBlockID|null|undefined} blockId + * @memberof tendermint.consensus.VoteSetMaj23 + * @instance + */ + VoteSetMaj23.prototype.blockId = null; + + /** + * Creates a new VoteSetMaj23 instance using the specified properties. * @function create - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static - * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance + * @param {tendermint.consensus.IVoteSetMaj23=} [properties] Properties to set + * @returns {tendermint.consensus.VoteSetMaj23} VoteSetMaj23 instance */ - SourceCodeInfo.create = function create(properties) { - return new SourceCodeInfo(properties); + VoteSetMaj23.create = function create(properties) { + return new VoteSetMaj23(properties); }; /** - * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * Encodes the specified VoteSetMaj23 message. Does not implicitly {@link tendermint.consensus.VoteSetMaj23.verify|verify} messages. * @function encode - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static - * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {tendermint.consensus.IVoteSetMaj23} message VoteSetMaj23 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SourceCodeInfo.encode = function encode(message, writer) { + VoteSetMaj23.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.location != null && message.location.length) - for (var i = 0; i < message.location.length; ++i) - $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * Encodes the specified VoteSetMaj23 message, length delimited. Does not implicitly {@link tendermint.consensus.VoteSetMaj23.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static - * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {tendermint.consensus.IVoteSetMaj23} message VoteSetMaj23 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + VoteSetMaj23.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SourceCodeInfo message from the specified reader or buffer. + * Decodes a VoteSetMaj23 message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @returns {tendermint.consensus.VoteSetMaj23} VoteSetMaj23 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length) { + VoteSetMaj23.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.VoteSetMaj23(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.location && message.location.length)) - message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.type = reader.int32(); + break; + case 4: + message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -20273,467 +17120,32036 @@ $root.google = (function() { }; /** - * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * Decodes a VoteSetMaj23 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @returns {tendermint.consensus.VoteSetMaj23} VoteSetMaj23 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { + VoteSetMaj23.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SourceCodeInfo message. + * Verifies a VoteSetMaj23 message. * @function verify - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + VoteSetMaj23.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.location != null && message.hasOwnProperty("location")) { - if (!Array.isArray(message.location)) - return "location: array expected"; - for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); - if (error) - return "location." + error; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; } + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.BlockID.verify(message.blockId); + if (error) + return "blockId." + error; } return null; }; /** - * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * Creates a VoteSetMaj23 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static * @param {Object.} object Plain object - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @returns {tendermint.consensus.VoteSetMaj23} VoteSetMaj23 */ - SourceCodeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.SourceCodeInfo) + VoteSetMaj23.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.VoteSetMaj23) return object; - var message = new $root.google.protobuf.SourceCodeInfo(); - if (object.location) { - if (!Array.isArray(object.location)) - throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); - message.location = []; - for (var i = 0; i < object.location.length; ++i) { - if (typeof object.location[i] !== "object") - throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); - } + var message = new $root.tendermint.consensus.VoteSetMaj23(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.consensus.VoteSetMaj23.blockId: object expected"); + message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); } return message; }; /** - * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * Creates a plain object from a VoteSetMaj23 message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @static - * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo + * @param {tendermint.consensus.VoteSetMaj23} message VoteSetMaj23 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SourceCodeInfo.toObject = function toObject(message, options) { + VoteSetMaj23.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.location = []; - if (message.location && message.location.length) { - object.location = []; - for (var j = 0; j < message.location.length; ++j) - object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); - } + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + object.blockId = null; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); return object; }; /** - * Converts this SourceCodeInfo to JSON. + * Converts this VoteSetMaj23 to JSON. * @function toJSON - * @memberof google.protobuf.SourceCodeInfo + * @memberof tendermint.consensus.VoteSetMaj23 * @instance * @returns {Object.} JSON object */ - SourceCodeInfo.prototype.toJSON = function toJSON() { + VoteSetMaj23.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - SourceCodeInfo.Location = (function() { + return VoteSetMaj23; + })(); - /** - * Properties of a Location. - * @memberof google.protobuf.SourceCodeInfo - * @interface ILocation - * @property {Array.|null} [path] Location path - * @property {Array.|null} [span] Location span - * @property {string|null} [leadingComments] Location leadingComments - * @property {string|null} [trailingComments] Location trailingComments - * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments - */ + consensus.VoteSetBits = (function() { - /** - * Constructs a new Location. - * @memberof google.protobuf.SourceCodeInfo - * @classdesc Represents a Location. - * @implements ILocation - * @constructor - * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set - */ - function Location(properties) { - this.path = []; - this.span = []; - this.leadingDetachedComments = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Properties of a VoteSetBits. + * @memberof tendermint.consensus + * @interface IVoteSetBits + * @property {number|Long|null} [height] VoteSetBits height + * @property {number|null} [round] VoteSetBits round + * @property {tendermint.types.SignedMsgType|null} [type] VoteSetBits type + * @property {tendermint.types.IBlockID|null} [blockId] VoteSetBits blockId + * @property {tendermint.libs.bits.IBitArray|null} [votes] VoteSetBits votes + */ - /** - * Location path. - * @member {Array.} path - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.path = $util.emptyArray; + /** + * Constructs a new VoteSetBits. + * @memberof tendermint.consensus + * @classdesc Represents a VoteSetBits. + * @implements IVoteSetBits + * @constructor + * @param {tendermint.consensus.IVoteSetBits=} [properties] Properties to set + */ + function VoteSetBits(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Location span. - * @member {Array.} span - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.span = $util.emptyArray; + /** + * VoteSetBits height. + * @member {number|Long} height + * @memberof tendermint.consensus.VoteSetBits + * @instance + */ + VoteSetBits.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - /** - * Location leadingComments. - * @member {string} leadingComments - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.leadingComments = ""; + /** + * VoteSetBits round. + * @member {number} round + * @memberof tendermint.consensus.VoteSetBits + * @instance + */ + VoteSetBits.prototype.round = 0; - /** - * Location trailingComments. - * @member {string} trailingComments - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.trailingComments = ""; + /** + * VoteSetBits type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.consensus.VoteSetBits + * @instance + */ + VoteSetBits.prototype.type = 0; - /** - * Location leadingDetachedComments. - * @member {Array.} leadingDetachedComments - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.leadingDetachedComments = $util.emptyArray; + /** + * VoteSetBits blockId. + * @member {tendermint.types.IBlockID|null|undefined} blockId + * @memberof tendermint.consensus.VoteSetBits + * @instance + */ + VoteSetBits.prototype.blockId = null; - /** - * Creates a new Location instance using the specified properties. - * @function create - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set - * @returns {google.protobuf.SourceCodeInfo.Location} Location instance - */ - Location.create = function create(properties) { - return new Location(properties); - }; + /** + * VoteSetBits votes. + * @member {tendermint.libs.bits.IBitArray|null|undefined} votes + * @memberof tendermint.consensus.VoteSetBits + * @instance + */ + VoteSetBits.prototype.votes = null; - /** - * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @function encode - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Location.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && message.path.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.path.length; ++i) - writer.int32(message.path[i]); - writer.ldelim(); - } - if (message.span != null && message.span.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.span.length; ++i) - writer.int32(message.span[i]); - writer.ldelim(); - } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); - if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) - for (var i = 0; i < message.leadingDetachedComments.length; ++i) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); - return writer; - }; + /** + * Creates a new VoteSetBits instance using the specified properties. + * @function create + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {tendermint.consensus.IVoteSetBits=} [properties] Properties to set + * @returns {tendermint.consensus.VoteSetBits} VoteSetBits instance + */ + VoteSetBits.create = function create(properties) { + return new VoteSetBits(properties); + }; - /** - * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Location.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified VoteSetBits message. Does not implicitly {@link tendermint.consensus.VoteSetBits.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {tendermint.consensus.IVoteSetBits} message VoteSetBits message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VoteSetBits.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.votes != null && Object.hasOwnProperty.call(message, "votes")) + $root.tendermint.libs.bits.BitArray.encode(message.votes, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; - /** - * Decodes a Location message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.SourceCodeInfo.Location} Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + /** + * Encodes the specified VoteSetBits message, length delimited. Does not implicitly {@link tendermint.consensus.VoteSetBits.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {tendermint.consensus.IVoteSetBits} message VoteSetBits message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VoteSetBits.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VoteSetBits message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.VoteSetBits} VoteSetBits + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VoteSetBits.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.VoteSetBits(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.type = reader.int32(); + break; + case 4: + message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 5: + message.votes = $root.tendermint.libs.bits.BitArray.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VoteSetBits message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.VoteSetBits} VoteSetBits + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VoteSetBits.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VoteSetBits message. + * @function verify + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VoteSetBits.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; + } + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.BlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.votes != null && message.hasOwnProperty("votes")) { + var error = $root.tendermint.libs.bits.BitArray.verify(message.votes); + if (error) + return "votes." + error; + } + return null; + }; + + /** + * Creates a VoteSetBits message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.VoteSetBits} VoteSetBits + */ + VoteSetBits.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.VoteSetBits) + return object; + var message = new $root.tendermint.consensus.VoteSetBits(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.consensus.VoteSetBits.blockId: object expected"); + message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); + } + if (object.votes != null) { + if (typeof object.votes !== "object") + throw TypeError(".tendermint.consensus.VoteSetBits.votes: object expected"); + message.votes = $root.tendermint.libs.bits.BitArray.fromObject(object.votes); + } + return message; + }; + + /** + * Creates a plain object from a VoteSetBits message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.VoteSetBits + * @static + * @param {tendermint.consensus.VoteSetBits} message VoteSetBits + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VoteSetBits.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + object.blockId = null; + object.votes = null; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); + if (message.votes != null && message.hasOwnProperty("votes")) + object.votes = $root.tendermint.libs.bits.BitArray.toObject(message.votes, options); + return object; + }; + + /** + * Converts this VoteSetBits to JSON. + * @function toJSON + * @memberof tendermint.consensus.VoteSetBits + * @instance + * @returns {Object.} JSON object + */ + VoteSetBits.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VoteSetBits; + })(); + + consensus.Message = (function() { + + /** + * Properties of a Message. + * @memberof tendermint.consensus + * @interface IMessage + * @property {tendermint.consensus.INewRoundStep|null} [newRoundStep] Message newRoundStep + * @property {tendermint.consensus.INewValidBlock|null} [newValidBlock] Message newValidBlock + * @property {tendermint.consensus.IProposal|null} [proposal] Message proposal + * @property {tendermint.consensus.IProposalPOL|null} [proposalPol] Message proposalPol + * @property {tendermint.consensus.IBlockPart|null} [blockPart] Message blockPart + * @property {tendermint.consensus.IVote|null} [vote] Message vote + * @property {tendermint.consensus.IHasVote|null} [hasVote] Message hasVote + * @property {tendermint.consensus.IVoteSetMaj23|null} [voteSetMaj23] Message voteSetMaj23 + * @property {tendermint.consensus.IVoteSetBits|null} [voteSetBits] Message voteSetBits + */ + + /** + * Constructs a new Message. + * @memberof tendermint.consensus + * @classdesc Represents a Message. + * @implements IMessage + * @constructor + * @param {tendermint.consensus.IMessage=} [properties] Properties to set + */ + function Message(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Message newRoundStep. + * @member {tendermint.consensus.INewRoundStep|null|undefined} newRoundStep + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.newRoundStep = null; + + /** + * Message newValidBlock. + * @member {tendermint.consensus.INewValidBlock|null|undefined} newValidBlock + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.newValidBlock = null; + + /** + * Message proposal. + * @member {tendermint.consensus.IProposal|null|undefined} proposal + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.proposal = null; + + /** + * Message proposalPol. + * @member {tendermint.consensus.IProposalPOL|null|undefined} proposalPol + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.proposalPol = null; + + /** + * Message blockPart. + * @member {tendermint.consensus.IBlockPart|null|undefined} blockPart + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.blockPart = null; + + /** + * Message vote. + * @member {tendermint.consensus.IVote|null|undefined} vote + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.vote = null; + + /** + * Message hasVote. + * @member {tendermint.consensus.IHasVote|null|undefined} hasVote + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.hasVote = null; + + /** + * Message voteSetMaj23. + * @member {tendermint.consensus.IVoteSetMaj23|null|undefined} voteSetMaj23 + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.voteSetMaj23 = null; + + /** + * Message voteSetBits. + * @member {tendermint.consensus.IVoteSetBits|null|undefined} voteSetBits + * @memberof tendermint.consensus.Message + * @instance + */ + Message.prototype.voteSetBits = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Message sum. + * @member {"newRoundStep"|"newValidBlock"|"proposal"|"proposalPol"|"blockPart"|"vote"|"hasVote"|"voteSetMaj23"|"voteSetBits"|undefined} sum + * @memberof tendermint.consensus.Message + * @instance + */ + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["newRoundStep", "newValidBlock", "proposal", "proposalPol", "blockPart", "vote", "hasVote", "voteSetMaj23", "voteSetBits"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.consensus.Message + * @static + * @param {tendermint.consensus.IMessage=} [properties] Properties to set + * @returns {tendermint.consensus.Message} Message instance + */ + Message.create = function create(properties) { + return new Message(properties); + }; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.consensus.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.Message + * @static + * @param {tendermint.consensus.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.newRoundStep != null && Object.hasOwnProperty.call(message, "newRoundStep")) + $root.tendermint.consensus.NewRoundStep.encode(message.newRoundStep, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.newValidBlock != null && Object.hasOwnProperty.call(message, "newValidBlock")) + $root.tendermint.consensus.NewValidBlock.encode(message.newValidBlock, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.proposal != null && Object.hasOwnProperty.call(message, "proposal")) + $root.tendermint.consensus.Proposal.encode(message.proposal, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.proposalPol != null && Object.hasOwnProperty.call(message, "proposalPol")) + $root.tendermint.consensus.ProposalPOL.encode(message.proposalPol, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.blockPart != null && Object.hasOwnProperty.call(message, "blockPart")) + $root.tendermint.consensus.BlockPart.encode(message.blockPart, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) + $root.tendermint.consensus.Vote.encode(message.vote, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.hasVote != null && Object.hasOwnProperty.call(message, "hasVote")) + $root.tendermint.consensus.HasVote.encode(message.hasVote, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.voteSetMaj23 != null && Object.hasOwnProperty.call(message, "voteSetMaj23")) + $root.tendermint.consensus.VoteSetMaj23.encode(message.voteSetMaj23, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.voteSetBits != null && Object.hasOwnProperty.call(message, "voteSetBits")) + $root.tendermint.consensus.VoteSetBits.encode(message.voteSetBits, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.consensus.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.Message + * @static + * @param {tendermint.consensus.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.newRoundStep = $root.tendermint.consensus.NewRoundStep.decode(reader, reader.uint32()); + break; + case 2: + message.newValidBlock = $root.tendermint.consensus.NewValidBlock.decode(reader, reader.uint32()); + break; + case 3: + message.proposal = $root.tendermint.consensus.Proposal.decode(reader, reader.uint32()); + break; + case 4: + message.proposalPol = $root.tendermint.consensus.ProposalPOL.decode(reader, reader.uint32()); + break; + case 5: + message.blockPart = $root.tendermint.consensus.BlockPart.decode(reader, reader.uint32()); + break; + case 6: + message.vote = $root.tendermint.consensus.Vote.decode(reader, reader.uint32()); + break; + case 7: + message.hasVote = $root.tendermint.consensus.HasVote.decode(reader, reader.uint32()); + break; + case 8: + message.voteSetMaj23 = $root.tendermint.consensus.VoteSetMaj23.decode(reader, reader.uint32()); + break; + case 9: + message.voteSetBits = $root.tendermint.consensus.VoteSetBits.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Message message. + * @function verify + * @memberof tendermint.consensus.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.newRoundStep != null && message.hasOwnProperty("newRoundStep")) { + properties.sum = 1; + { + var error = $root.tendermint.consensus.NewRoundStep.verify(message.newRoundStep); + if (error) + return "newRoundStep." + error; + } + } + if (message.newValidBlock != null && message.hasOwnProperty("newValidBlock")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.NewValidBlock.verify(message.newValidBlock); + if (error) + return "newValidBlock." + error; + } + } + if (message.proposal != null && message.hasOwnProperty("proposal")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.Proposal.verify(message.proposal); + if (error) + return "proposal." + error; + } + } + if (message.proposalPol != null && message.hasOwnProperty("proposalPol")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.ProposalPOL.verify(message.proposalPol); + if (error) + return "proposalPol." + error; + } + } + if (message.blockPart != null && message.hasOwnProperty("blockPart")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.BlockPart.verify(message.blockPart); + if (error) + return "blockPart." + error; + } + } + if (message.vote != null && message.hasOwnProperty("vote")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.Vote.verify(message.vote); + if (error) + return "vote." + error; + } + } + if (message.hasVote != null && message.hasOwnProperty("hasVote")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.HasVote.verify(message.hasVote); + if (error) + return "hasVote." + error; + } + } + if (message.voteSetMaj23 != null && message.hasOwnProperty("voteSetMaj23")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.VoteSetMaj23.verify(message.voteSetMaj23); + if (error) + return "voteSetMaj23." + error; + } + } + if (message.voteSetBits != null && message.hasOwnProperty("voteSetBits")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.VoteSetBits.verify(message.voteSetBits); + if (error) + return "voteSetBits." + error; + } + } + return null; + }; + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.Message} Message + */ + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.Message) + return object; + var message = new $root.tendermint.consensus.Message(); + if (object.newRoundStep != null) { + if (typeof object.newRoundStep !== "object") + throw TypeError(".tendermint.consensus.Message.newRoundStep: object expected"); + message.newRoundStep = $root.tendermint.consensus.NewRoundStep.fromObject(object.newRoundStep); + } + if (object.newValidBlock != null) { + if (typeof object.newValidBlock !== "object") + throw TypeError(".tendermint.consensus.Message.newValidBlock: object expected"); + message.newValidBlock = $root.tendermint.consensus.NewValidBlock.fromObject(object.newValidBlock); + } + if (object.proposal != null) { + if (typeof object.proposal !== "object") + throw TypeError(".tendermint.consensus.Message.proposal: object expected"); + message.proposal = $root.tendermint.consensus.Proposal.fromObject(object.proposal); + } + if (object.proposalPol != null) { + if (typeof object.proposalPol !== "object") + throw TypeError(".tendermint.consensus.Message.proposalPol: object expected"); + message.proposalPol = $root.tendermint.consensus.ProposalPOL.fromObject(object.proposalPol); + } + if (object.blockPart != null) { + if (typeof object.blockPart !== "object") + throw TypeError(".tendermint.consensus.Message.blockPart: object expected"); + message.blockPart = $root.tendermint.consensus.BlockPart.fromObject(object.blockPart); + } + if (object.vote != null) { + if (typeof object.vote !== "object") + throw TypeError(".tendermint.consensus.Message.vote: object expected"); + message.vote = $root.tendermint.consensus.Vote.fromObject(object.vote); + } + if (object.hasVote != null) { + if (typeof object.hasVote !== "object") + throw TypeError(".tendermint.consensus.Message.hasVote: object expected"); + message.hasVote = $root.tendermint.consensus.HasVote.fromObject(object.hasVote); + } + if (object.voteSetMaj23 != null) { + if (typeof object.voteSetMaj23 !== "object") + throw TypeError(".tendermint.consensus.Message.voteSetMaj23: object expected"); + message.voteSetMaj23 = $root.tendermint.consensus.VoteSetMaj23.fromObject(object.voteSetMaj23); + } + if (object.voteSetBits != null) { + if (typeof object.voteSetBits !== "object") + throw TypeError(".tendermint.consensus.Message.voteSetBits: object expected"); + message.voteSetBits = $root.tendermint.consensus.VoteSetBits.fromObject(object.voteSetBits); + } + return message; + }; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.Message + * @static + * @param {tendermint.consensus.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.newRoundStep != null && message.hasOwnProperty("newRoundStep")) { + object.newRoundStep = $root.tendermint.consensus.NewRoundStep.toObject(message.newRoundStep, options); + if (options.oneofs) + object.sum = "newRoundStep"; + } + if (message.newValidBlock != null && message.hasOwnProperty("newValidBlock")) { + object.newValidBlock = $root.tendermint.consensus.NewValidBlock.toObject(message.newValidBlock, options); + if (options.oneofs) + object.sum = "newValidBlock"; + } + if (message.proposal != null && message.hasOwnProperty("proposal")) { + object.proposal = $root.tendermint.consensus.Proposal.toObject(message.proposal, options); + if (options.oneofs) + object.sum = "proposal"; + } + if (message.proposalPol != null && message.hasOwnProperty("proposalPol")) { + object.proposalPol = $root.tendermint.consensus.ProposalPOL.toObject(message.proposalPol, options); + if (options.oneofs) + object.sum = "proposalPol"; + } + if (message.blockPart != null && message.hasOwnProperty("blockPart")) { + object.blockPart = $root.tendermint.consensus.BlockPart.toObject(message.blockPart, options); + if (options.oneofs) + object.sum = "blockPart"; + } + if (message.vote != null && message.hasOwnProperty("vote")) { + object.vote = $root.tendermint.consensus.Vote.toObject(message.vote, options); + if (options.oneofs) + object.sum = "vote"; + } + if (message.hasVote != null && message.hasOwnProperty("hasVote")) { + object.hasVote = $root.tendermint.consensus.HasVote.toObject(message.hasVote, options); + if (options.oneofs) + object.sum = "hasVote"; + } + if (message.voteSetMaj23 != null && message.hasOwnProperty("voteSetMaj23")) { + object.voteSetMaj23 = $root.tendermint.consensus.VoteSetMaj23.toObject(message.voteSetMaj23, options); + if (options.oneofs) + object.sum = "voteSetMaj23"; + } + if (message.voteSetBits != null && message.hasOwnProperty("voteSetBits")) { + object.voteSetBits = $root.tendermint.consensus.VoteSetBits.toObject(message.voteSetBits, options); + if (options.oneofs) + object.sum = "voteSetBits"; + } + return object; + }; + + /** + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.consensus.Message + * @instance + * @returns {Object.} JSON object + */ + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + consensus.MsgInfo = (function() { + + /** + * Properties of a MsgInfo. + * @memberof tendermint.consensus + * @interface IMsgInfo + * @property {tendermint.consensus.IMessage|null} [msg] MsgInfo msg + * @property {string|null} [peerId] MsgInfo peerId + */ + + /** + * Constructs a new MsgInfo. + * @memberof tendermint.consensus + * @classdesc Represents a MsgInfo. + * @implements IMsgInfo + * @constructor + * @param {tendermint.consensus.IMsgInfo=} [properties] Properties to set + */ + function MsgInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MsgInfo msg. + * @member {tendermint.consensus.IMessage|null|undefined} msg + * @memberof tendermint.consensus.MsgInfo + * @instance + */ + MsgInfo.prototype.msg = null; + + /** + * MsgInfo peerId. + * @member {string} peerId + * @memberof tendermint.consensus.MsgInfo + * @instance + */ + MsgInfo.prototype.peerId = ""; + + /** + * Creates a new MsgInfo instance using the specified properties. + * @function create + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {tendermint.consensus.IMsgInfo=} [properties] Properties to set + * @returns {tendermint.consensus.MsgInfo} MsgInfo instance + */ + MsgInfo.create = function create(properties) { + return new MsgInfo(properties); + }; + + /** + * Encodes the specified MsgInfo message. Does not implicitly {@link tendermint.consensus.MsgInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {tendermint.consensus.IMsgInfo} message MsgInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MsgInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.msg != null && Object.hasOwnProperty.call(message, "msg")) + $root.tendermint.consensus.Message.encode(message.msg, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.peerId != null && Object.hasOwnProperty.call(message, "peerId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.peerId); + return writer; + }; + + /** + * Encodes the specified MsgInfo message, length delimited. Does not implicitly {@link tendermint.consensus.MsgInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {tendermint.consensus.IMsgInfo} message MsgInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MsgInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MsgInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.MsgInfo} MsgInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MsgInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.MsgInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.msg = $root.tendermint.consensus.Message.decode(reader, reader.uint32()); + break; + case 2: + message.peerId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MsgInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.MsgInfo} MsgInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MsgInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MsgInfo message. + * @function verify + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MsgInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.msg != null && message.hasOwnProperty("msg")) { + var error = $root.tendermint.consensus.Message.verify(message.msg); + if (error) + return "msg." + error; + } + if (message.peerId != null && message.hasOwnProperty("peerId")) + if (!$util.isString(message.peerId)) + return "peerId: string expected"; + return null; + }; + + /** + * Creates a MsgInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.MsgInfo} MsgInfo + */ + MsgInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.MsgInfo) + return object; + var message = new $root.tendermint.consensus.MsgInfo(); + if (object.msg != null) { + if (typeof object.msg !== "object") + throw TypeError(".tendermint.consensus.MsgInfo.msg: object expected"); + message.msg = $root.tendermint.consensus.Message.fromObject(object.msg); + } + if (object.peerId != null) + message.peerId = String(object.peerId); + return message; + }; + + /** + * Creates a plain object from a MsgInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.MsgInfo + * @static + * @param {tendermint.consensus.MsgInfo} message MsgInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MsgInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.msg = null; + object.peerId = ""; + } + if (message.msg != null && message.hasOwnProperty("msg")) + object.msg = $root.tendermint.consensus.Message.toObject(message.msg, options); + if (message.peerId != null && message.hasOwnProperty("peerId")) + object.peerId = message.peerId; + return object; + }; + + /** + * Converts this MsgInfo to JSON. + * @function toJSON + * @memberof tendermint.consensus.MsgInfo + * @instance + * @returns {Object.} JSON object + */ + MsgInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MsgInfo; + })(); + + consensus.TimeoutInfo = (function() { + + /** + * Properties of a TimeoutInfo. + * @memberof tendermint.consensus + * @interface ITimeoutInfo + * @property {google.protobuf.IDuration|null} [duration] TimeoutInfo duration + * @property {number|Long|null} [height] TimeoutInfo height + * @property {number|null} [round] TimeoutInfo round + * @property {number|null} [step] TimeoutInfo step + */ + + /** + * Constructs a new TimeoutInfo. + * @memberof tendermint.consensus + * @classdesc Represents a TimeoutInfo. + * @implements ITimeoutInfo + * @constructor + * @param {tendermint.consensus.ITimeoutInfo=} [properties] Properties to set + */ + function TimeoutInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TimeoutInfo duration. + * @member {google.protobuf.IDuration|null|undefined} duration + * @memberof tendermint.consensus.TimeoutInfo + * @instance + */ + TimeoutInfo.prototype.duration = null; + + /** + * TimeoutInfo height. + * @member {number|Long} height + * @memberof tendermint.consensus.TimeoutInfo + * @instance + */ + TimeoutInfo.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * TimeoutInfo round. + * @member {number} round + * @memberof tendermint.consensus.TimeoutInfo + * @instance + */ + TimeoutInfo.prototype.round = 0; + + /** + * TimeoutInfo step. + * @member {number} step + * @memberof tendermint.consensus.TimeoutInfo + * @instance + */ + TimeoutInfo.prototype.step = 0; + + /** + * Creates a new TimeoutInfo instance using the specified properties. + * @function create + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {tendermint.consensus.ITimeoutInfo=} [properties] Properties to set + * @returns {tendermint.consensus.TimeoutInfo} TimeoutInfo instance + */ + TimeoutInfo.create = function create(properties) { + return new TimeoutInfo(properties); + }; + + /** + * Encodes the specified TimeoutInfo message. Does not implicitly {@link tendermint.consensus.TimeoutInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {tendermint.consensus.ITimeoutInfo} message TimeoutInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimeoutInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.duration != null && Object.hasOwnProperty.call(message, "duration")) + $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.round); + if (message.step != null && Object.hasOwnProperty.call(message, "step")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.step); + return writer; + }; + + /** + * Encodes the specified TimeoutInfo message, length delimited. Does not implicitly {@link tendermint.consensus.TimeoutInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {tendermint.consensus.ITimeoutInfo} message TimeoutInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimeoutInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TimeoutInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.TimeoutInfo} TimeoutInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimeoutInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.TimeoutInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 2: + message.height = reader.int64(); + break; + case 3: + message.round = reader.int32(); + break; + case 4: + message.step = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TimeoutInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.TimeoutInfo} TimeoutInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimeoutInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TimeoutInfo message. + * @function verify + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TimeoutInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.duration != null && message.hasOwnProperty("duration")) { + var error = $root.google.protobuf.Duration.verify(message.duration); + if (error) + return "duration." + error; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.step != null && message.hasOwnProperty("step")) + if (!$util.isInteger(message.step)) + return "step: integer expected"; + return null; + }; + + /** + * Creates a TimeoutInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.TimeoutInfo} TimeoutInfo + */ + TimeoutInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.TimeoutInfo) + return object; + var message = new $root.tendermint.consensus.TimeoutInfo(); + if (object.duration != null) { + if (typeof object.duration !== "object") + throw TypeError(".tendermint.consensus.TimeoutInfo.duration: object expected"); + message.duration = $root.google.protobuf.Duration.fromObject(object.duration); + } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.step != null) + message.step = object.step >>> 0; + return message; + }; + + /** + * Creates a plain object from a TimeoutInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.TimeoutInfo + * @static + * @param {tendermint.consensus.TimeoutInfo} message TimeoutInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TimeoutInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.duration = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.step = 0; + } + if (message.duration != null && message.hasOwnProperty("duration")) + object.duration = $root.google.protobuf.Duration.toObject(message.duration, options); + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.step != null && message.hasOwnProperty("step")) + object.step = message.step; + return object; + }; + + /** + * Converts this TimeoutInfo to JSON. + * @function toJSON + * @memberof tendermint.consensus.TimeoutInfo + * @instance + * @returns {Object.} JSON object + */ + TimeoutInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TimeoutInfo; + })(); + + consensus.EndHeight = (function() { + + /** + * Properties of an EndHeight. + * @memberof tendermint.consensus + * @interface IEndHeight + * @property {number|Long|null} [height] EndHeight height + */ + + /** + * Constructs a new EndHeight. + * @memberof tendermint.consensus + * @classdesc Represents an EndHeight. + * @implements IEndHeight + * @constructor + * @param {tendermint.consensus.IEndHeight=} [properties] Properties to set + */ + function EndHeight(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EndHeight height. + * @member {number|Long} height + * @memberof tendermint.consensus.EndHeight + * @instance + */ + EndHeight.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new EndHeight instance using the specified properties. + * @function create + * @memberof tendermint.consensus.EndHeight + * @static + * @param {tendermint.consensus.IEndHeight=} [properties] Properties to set + * @returns {tendermint.consensus.EndHeight} EndHeight instance + */ + EndHeight.create = function create(properties) { + return new EndHeight(properties); + }; + + /** + * Encodes the specified EndHeight message. Does not implicitly {@link tendermint.consensus.EndHeight.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.EndHeight + * @static + * @param {tendermint.consensus.IEndHeight} message EndHeight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EndHeight.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + return writer; + }; + + /** + * Encodes the specified EndHeight message, length delimited. Does not implicitly {@link tendermint.consensus.EndHeight.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.EndHeight + * @static + * @param {tendermint.consensus.IEndHeight} message EndHeight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EndHeight.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EndHeight message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.EndHeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.EndHeight} EndHeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EndHeight.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.EndHeight(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EndHeight message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.EndHeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.EndHeight} EndHeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EndHeight.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EndHeight message. + * @function verify + * @memberof tendermint.consensus.EndHeight + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EndHeight.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + return null; + }; + + /** + * Creates an EndHeight message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.EndHeight + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.EndHeight} EndHeight + */ + EndHeight.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.EndHeight) + return object; + var message = new $root.tendermint.consensus.EndHeight(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from an EndHeight message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.EndHeight + * @static + * @param {tendermint.consensus.EndHeight} message EndHeight + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EndHeight.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + return object; + }; + + /** + * Converts this EndHeight to JSON. + * @function toJSON + * @memberof tendermint.consensus.EndHeight + * @instance + * @returns {Object.} JSON object + */ + EndHeight.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EndHeight; + })(); + + consensus.WALMessage = (function() { + + /** + * Properties of a WALMessage. + * @memberof tendermint.consensus + * @interface IWALMessage + * @property {tendermint.types.IEventDataRoundState|null} [eventDataRoundState] WALMessage eventDataRoundState + * @property {tendermint.consensus.IMsgInfo|null} [msgInfo] WALMessage msgInfo + * @property {tendermint.consensus.ITimeoutInfo|null} [timeoutInfo] WALMessage timeoutInfo + * @property {tendermint.consensus.IEndHeight|null} [endHeight] WALMessage endHeight + */ + + /** + * Constructs a new WALMessage. + * @memberof tendermint.consensus + * @classdesc Represents a WALMessage. + * @implements IWALMessage + * @constructor + * @param {tendermint.consensus.IWALMessage=} [properties] Properties to set + */ + function WALMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WALMessage eventDataRoundState. + * @member {tendermint.types.IEventDataRoundState|null|undefined} eventDataRoundState + * @memberof tendermint.consensus.WALMessage + * @instance + */ + WALMessage.prototype.eventDataRoundState = null; + + /** + * WALMessage msgInfo. + * @member {tendermint.consensus.IMsgInfo|null|undefined} msgInfo + * @memberof tendermint.consensus.WALMessage + * @instance + */ + WALMessage.prototype.msgInfo = null; + + /** + * WALMessage timeoutInfo. + * @member {tendermint.consensus.ITimeoutInfo|null|undefined} timeoutInfo + * @memberof tendermint.consensus.WALMessage + * @instance + */ + WALMessage.prototype.timeoutInfo = null; + + /** + * WALMessage endHeight. + * @member {tendermint.consensus.IEndHeight|null|undefined} endHeight + * @memberof tendermint.consensus.WALMessage + * @instance + */ + WALMessage.prototype.endHeight = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * WALMessage sum. + * @member {"eventDataRoundState"|"msgInfo"|"timeoutInfo"|"endHeight"|undefined} sum + * @memberof tendermint.consensus.WALMessage + * @instance + */ + Object.defineProperty(WALMessage.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["eventDataRoundState", "msgInfo", "timeoutInfo", "endHeight"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new WALMessage instance using the specified properties. + * @function create + * @memberof tendermint.consensus.WALMessage + * @static + * @param {tendermint.consensus.IWALMessage=} [properties] Properties to set + * @returns {tendermint.consensus.WALMessage} WALMessage instance + */ + WALMessage.create = function create(properties) { + return new WALMessage(properties); + }; + + /** + * Encodes the specified WALMessage message. Does not implicitly {@link tendermint.consensus.WALMessage.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.WALMessage + * @static + * @param {tendermint.consensus.IWALMessage} message WALMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WALMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.eventDataRoundState != null && Object.hasOwnProperty.call(message, "eventDataRoundState")) + $root.tendermint.types.EventDataRoundState.encode(message.eventDataRoundState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.msgInfo != null && Object.hasOwnProperty.call(message, "msgInfo")) + $root.tendermint.consensus.MsgInfo.encode(message.msgInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.timeoutInfo != null && Object.hasOwnProperty.call(message, "timeoutInfo")) + $root.tendermint.consensus.TimeoutInfo.encode(message.timeoutInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.endHeight != null && Object.hasOwnProperty.call(message, "endHeight")) + $root.tendermint.consensus.EndHeight.encode(message.endHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WALMessage message, length delimited. Does not implicitly {@link tendermint.consensus.WALMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.WALMessage + * @static + * @param {tendermint.consensus.IWALMessage} message WALMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WALMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WALMessage message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.WALMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.WALMessage} WALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WALMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.WALMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.eventDataRoundState = $root.tendermint.types.EventDataRoundState.decode(reader, reader.uint32()); + break; + case 2: + message.msgInfo = $root.tendermint.consensus.MsgInfo.decode(reader, reader.uint32()); + break; + case 3: + message.timeoutInfo = $root.tendermint.consensus.TimeoutInfo.decode(reader, reader.uint32()); + break; + case 4: + message.endHeight = $root.tendermint.consensus.EndHeight.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WALMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.WALMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.WALMessage} WALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WALMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WALMessage message. + * @function verify + * @memberof tendermint.consensus.WALMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WALMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.eventDataRoundState != null && message.hasOwnProperty("eventDataRoundState")) { + properties.sum = 1; + { + var error = $root.tendermint.types.EventDataRoundState.verify(message.eventDataRoundState); + if (error) + return "eventDataRoundState." + error; + } + } + if (message.msgInfo != null && message.hasOwnProperty("msgInfo")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.MsgInfo.verify(message.msgInfo); + if (error) + return "msgInfo." + error; + } + } + if (message.timeoutInfo != null && message.hasOwnProperty("timeoutInfo")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.TimeoutInfo.verify(message.timeoutInfo); + if (error) + return "timeoutInfo." + error; + } + } + if (message.endHeight != null && message.hasOwnProperty("endHeight")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.consensus.EndHeight.verify(message.endHeight); + if (error) + return "endHeight." + error; + } + } + return null; + }; + + /** + * Creates a WALMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.WALMessage + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.WALMessage} WALMessage + */ + WALMessage.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.WALMessage) + return object; + var message = new $root.tendermint.consensus.WALMessage(); + if (object.eventDataRoundState != null) { + if (typeof object.eventDataRoundState !== "object") + throw TypeError(".tendermint.consensus.WALMessage.eventDataRoundState: object expected"); + message.eventDataRoundState = $root.tendermint.types.EventDataRoundState.fromObject(object.eventDataRoundState); + } + if (object.msgInfo != null) { + if (typeof object.msgInfo !== "object") + throw TypeError(".tendermint.consensus.WALMessage.msgInfo: object expected"); + message.msgInfo = $root.tendermint.consensus.MsgInfo.fromObject(object.msgInfo); + } + if (object.timeoutInfo != null) { + if (typeof object.timeoutInfo !== "object") + throw TypeError(".tendermint.consensus.WALMessage.timeoutInfo: object expected"); + message.timeoutInfo = $root.tendermint.consensus.TimeoutInfo.fromObject(object.timeoutInfo); + } + if (object.endHeight != null) { + if (typeof object.endHeight !== "object") + throw TypeError(".tendermint.consensus.WALMessage.endHeight: object expected"); + message.endHeight = $root.tendermint.consensus.EndHeight.fromObject(object.endHeight); + } + return message; + }; + + /** + * Creates a plain object from a WALMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.WALMessage + * @static + * @param {tendermint.consensus.WALMessage} message WALMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WALMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.eventDataRoundState != null && message.hasOwnProperty("eventDataRoundState")) { + object.eventDataRoundState = $root.tendermint.types.EventDataRoundState.toObject(message.eventDataRoundState, options); + if (options.oneofs) + object.sum = "eventDataRoundState"; + } + if (message.msgInfo != null && message.hasOwnProperty("msgInfo")) { + object.msgInfo = $root.tendermint.consensus.MsgInfo.toObject(message.msgInfo, options); + if (options.oneofs) + object.sum = "msgInfo"; + } + if (message.timeoutInfo != null && message.hasOwnProperty("timeoutInfo")) { + object.timeoutInfo = $root.tendermint.consensus.TimeoutInfo.toObject(message.timeoutInfo, options); + if (options.oneofs) + object.sum = "timeoutInfo"; + } + if (message.endHeight != null && message.hasOwnProperty("endHeight")) { + object.endHeight = $root.tendermint.consensus.EndHeight.toObject(message.endHeight, options); + if (options.oneofs) + object.sum = "endHeight"; + } + return object; + }; + + /** + * Converts this WALMessage to JSON. + * @function toJSON + * @memberof tendermint.consensus.WALMessage + * @instance + * @returns {Object.} JSON object + */ + WALMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WALMessage; + })(); + + consensus.TimedWALMessage = (function() { + + /** + * Properties of a TimedWALMessage. + * @memberof tendermint.consensus + * @interface ITimedWALMessage + * @property {google.protobuf.ITimestamp|null} [time] TimedWALMessage time + * @property {tendermint.consensus.IWALMessage|null} [msg] TimedWALMessage msg + */ + + /** + * Constructs a new TimedWALMessage. + * @memberof tendermint.consensus + * @classdesc Represents a TimedWALMessage. + * @implements ITimedWALMessage + * @constructor + * @param {tendermint.consensus.ITimedWALMessage=} [properties] Properties to set + */ + function TimedWALMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TimedWALMessage time. + * @member {google.protobuf.ITimestamp|null|undefined} time + * @memberof tendermint.consensus.TimedWALMessage + * @instance + */ + TimedWALMessage.prototype.time = null; + + /** + * TimedWALMessage msg. + * @member {tendermint.consensus.IWALMessage|null|undefined} msg + * @memberof tendermint.consensus.TimedWALMessage + * @instance + */ + TimedWALMessage.prototype.msg = null; + + /** + * Creates a new TimedWALMessage instance using the specified properties. + * @function create + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {tendermint.consensus.ITimedWALMessage=} [properties] Properties to set + * @returns {tendermint.consensus.TimedWALMessage} TimedWALMessage instance + */ + TimedWALMessage.create = function create(properties) { + return new TimedWALMessage(properties); + }; + + /** + * Encodes the specified TimedWALMessage message. Does not implicitly {@link tendermint.consensus.TimedWALMessage.verify|verify} messages. + * @function encode + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {tendermint.consensus.ITimedWALMessage} message TimedWALMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimedWALMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.time != null && Object.hasOwnProperty.call(message, "time")) + $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.msg != null && Object.hasOwnProperty.call(message, "msg")) + $root.tendermint.consensus.WALMessage.encode(message.msg, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TimedWALMessage message, length delimited. Does not implicitly {@link tendermint.consensus.TimedWALMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {tendermint.consensus.ITimedWALMessage} message TimedWALMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimedWALMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TimedWALMessage message from the specified reader or buffer. + * @function decode + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.consensus.TimedWALMessage} TimedWALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimedWALMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.consensus.TimedWALMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 2: + message.msg = $root.tendermint.consensus.WALMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TimedWALMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.consensus.TimedWALMessage} TimedWALMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimedWALMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TimedWALMessage message. + * @function verify + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TimedWALMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.time != null && message.hasOwnProperty("time")) { + var error = $root.google.protobuf.Timestamp.verify(message.time); + if (error) + return "time." + error; + } + if (message.msg != null && message.hasOwnProperty("msg")) { + var error = $root.tendermint.consensus.WALMessage.verify(message.msg); + if (error) + return "msg." + error; + } + return null; + }; + + /** + * Creates a TimedWALMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {Object.} object Plain object + * @returns {tendermint.consensus.TimedWALMessage} TimedWALMessage + */ + TimedWALMessage.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.consensus.TimedWALMessage) + return object; + var message = new $root.tendermint.consensus.TimedWALMessage(); + if (object.time != null) { + if (typeof object.time !== "object") + throw TypeError(".tendermint.consensus.TimedWALMessage.time: object expected"); + message.time = $root.google.protobuf.Timestamp.fromObject(object.time); + } + if (object.msg != null) { + if (typeof object.msg !== "object") + throw TypeError(".tendermint.consensus.TimedWALMessage.msg: object expected"); + message.msg = $root.tendermint.consensus.WALMessage.fromObject(object.msg); + } + return message; + }; + + /** + * Creates a plain object from a TimedWALMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.consensus.TimedWALMessage + * @static + * @param {tendermint.consensus.TimedWALMessage} message TimedWALMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TimedWALMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.time = null; + object.msg = null; + } + if (message.time != null && message.hasOwnProperty("time")) + object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); + if (message.msg != null && message.hasOwnProperty("msg")) + object.msg = $root.tendermint.consensus.WALMessage.toObject(message.msg, options); + return object; + }; + + /** + * Converts this TimedWALMessage to JSON. + * @function toJSON + * @memberof tendermint.consensus.TimedWALMessage + * @instance + * @returns {Object.} JSON object + */ + TimedWALMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TimedWALMessage; + })(); + + return consensus; + })(); + + tendermint.crypto = (function() { + + /** + * Namespace crypto. + * @memberof tendermint + * @namespace + */ + var crypto = {}; + + crypto.PublicKey = (function() { + + /** + * Properties of a PublicKey. + * @memberof tendermint.crypto + * @interface IPublicKey + * @property {Uint8Array|null} [ed25519] PublicKey ed25519 + * @property {Uint8Array|null} [secp256k1] PublicKey secp256k1 + */ + + /** + * Constructs a new PublicKey. + * @memberof tendermint.crypto + * @classdesc Represents a PublicKey. + * @implements IPublicKey + * @constructor + * @param {tendermint.crypto.IPublicKey=} [properties] Properties to set + */ + function PublicKey(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PublicKey ed25519. + * @member {Uint8Array|null|undefined} ed25519 + * @memberof tendermint.crypto.PublicKey + * @instance + */ + PublicKey.prototype.ed25519 = null; + + /** + * PublicKey secp256k1. + * @member {Uint8Array|null|undefined} secp256k1 + * @memberof tendermint.crypto.PublicKey + * @instance + */ + PublicKey.prototype.secp256k1 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * PublicKey sum. + * @member {"ed25519"|"secp256k1"|undefined} sum + * @memberof tendermint.crypto.PublicKey + * @instance + */ + Object.defineProperty(PublicKey.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["ed25519", "secp256k1"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new PublicKey instance using the specified properties. + * @function create + * @memberof tendermint.crypto.PublicKey + * @static + * @param {tendermint.crypto.IPublicKey=} [properties] Properties to set + * @returns {tendermint.crypto.PublicKey} PublicKey instance + */ + PublicKey.create = function create(properties) { + return new PublicKey(properties); + }; + + /** + * Encodes the specified PublicKey message. Does not implicitly {@link tendermint.crypto.PublicKey.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.PublicKey + * @static + * @param {tendermint.crypto.IPublicKey} message PublicKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PublicKey.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ed25519 != null && Object.hasOwnProperty.call(message, "ed25519")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ed25519); + if (message.secp256k1 != null && Object.hasOwnProperty.call(message, "secp256k1")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.secp256k1); + return writer; + }; + + /** + * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link tendermint.crypto.PublicKey.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.PublicKey + * @static + * @param {tendermint.crypto.IPublicKey} message PublicKey message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PublicKey.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PublicKey message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.PublicKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.PublicKey} PublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PublicKey.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.PublicKey(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ed25519 = reader.bytes(); + break; + case 2: + message.secp256k1 = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PublicKey message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.PublicKey + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.PublicKey} PublicKey + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PublicKey.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PublicKey message. + * @function verify + * @memberof tendermint.crypto.PublicKey + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PublicKey.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.ed25519 != null && message.hasOwnProperty("ed25519")) { + properties.sum = 1; + if (!(message.ed25519 && typeof message.ed25519.length === "number" || $util.isString(message.ed25519))) + return "ed25519: buffer expected"; + } + if (message.secp256k1 != null && message.hasOwnProperty("secp256k1")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + if (!(message.secp256k1 && typeof message.secp256k1.length === "number" || $util.isString(message.secp256k1))) + return "secp256k1: buffer expected"; + } + return null; + }; + + /** + * Creates a PublicKey message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.PublicKey + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.PublicKey} PublicKey + */ + PublicKey.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.PublicKey) + return object; + var message = new $root.tendermint.crypto.PublicKey(); + if (object.ed25519 != null) + if (typeof object.ed25519 === "string") + $util.base64.decode(object.ed25519, message.ed25519 = $util.newBuffer($util.base64.length(object.ed25519)), 0); + else if (object.ed25519.length) + message.ed25519 = object.ed25519; + if (object.secp256k1 != null) + if (typeof object.secp256k1 === "string") + $util.base64.decode(object.secp256k1, message.secp256k1 = $util.newBuffer($util.base64.length(object.secp256k1)), 0); + else if (object.secp256k1.length) + message.secp256k1 = object.secp256k1; + return message; + }; + + /** + * Creates a plain object from a PublicKey message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.PublicKey + * @static + * @param {tendermint.crypto.PublicKey} message PublicKey + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PublicKey.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.ed25519 != null && message.hasOwnProperty("ed25519")) { + object.ed25519 = options.bytes === String ? $util.base64.encode(message.ed25519, 0, message.ed25519.length) : options.bytes === Array ? Array.prototype.slice.call(message.ed25519) : message.ed25519; + if (options.oneofs) + object.sum = "ed25519"; + } + if (message.secp256k1 != null && message.hasOwnProperty("secp256k1")) { + object.secp256k1 = options.bytes === String ? $util.base64.encode(message.secp256k1, 0, message.secp256k1.length) : options.bytes === Array ? Array.prototype.slice.call(message.secp256k1) : message.secp256k1; + if (options.oneofs) + object.sum = "secp256k1"; + } + return object; + }; + + /** + * Converts this PublicKey to JSON. + * @function toJSON + * @memberof tendermint.crypto.PublicKey + * @instance + * @returns {Object.} JSON object + */ + PublicKey.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PublicKey; + })(); + + crypto.Proof = (function() { + + /** + * Properties of a Proof. + * @memberof tendermint.crypto + * @interface IProof + * @property {number|Long|null} [total] Proof total + * @property {number|Long|null} [index] Proof index + * @property {Uint8Array|null} [leafHash] Proof leafHash + * @property {Array.|null} [aunts] Proof aunts + */ + + /** + * Constructs a new Proof. + * @memberof tendermint.crypto + * @classdesc Represents a Proof. + * @implements IProof + * @constructor + * @param {tendermint.crypto.IProof=} [properties] Properties to set + */ + function Proof(properties) { + this.aunts = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Proof total. + * @member {number|Long} total + * @memberof tendermint.crypto.Proof + * @instance + */ + Proof.prototype.total = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Proof index. + * @member {number|Long} index + * @memberof tendermint.crypto.Proof + * @instance + */ + Proof.prototype.index = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Proof leafHash. + * @member {Uint8Array} leafHash + * @memberof tendermint.crypto.Proof + * @instance + */ + Proof.prototype.leafHash = $util.newBuffer([]); + + /** + * Proof aunts. + * @member {Array.} aunts + * @memberof tendermint.crypto.Proof + * @instance + */ + Proof.prototype.aunts = $util.emptyArray; + + /** + * Creates a new Proof instance using the specified properties. + * @function create + * @memberof tendermint.crypto.Proof + * @static + * @param {tendermint.crypto.IProof=} [properties] Properties to set + * @returns {tendermint.crypto.Proof} Proof instance + */ + Proof.create = function create(properties) { + return new Proof(properties); + }; + + /** + * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.Proof.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.Proof + * @static + * @param {tendermint.crypto.IProof} message Proof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Proof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.total != null && Object.hasOwnProperty.call(message, "total")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.total); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.index); + if (message.leafHash != null && Object.hasOwnProperty.call(message, "leafHash")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.leafHash); + if (message.aunts != null && message.aunts.length) + for (var i = 0; i < message.aunts.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.aunts[i]); + return writer; + }; + + /** + * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.Proof.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.Proof + * @static + * @param {tendermint.crypto.IProof} message Proof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Proof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Proof message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.Proof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.Proof} Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Proof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.Proof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.total = reader.int64(); + break; + case 2: + message.index = reader.int64(); + break; + case 3: + message.leafHash = reader.bytes(); + break; + case 4: + if (!(message.aunts && message.aunts.length)) + message.aunts = []; + message.aunts.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Proof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.Proof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.Proof} Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Proof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Proof message. + * @function verify + * @memberof tendermint.crypto.Proof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Proof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.total != null && message.hasOwnProperty("total")) + if (!$util.isInteger(message.total) && !(message.total && $util.isInteger(message.total.low) && $util.isInteger(message.total.high))) + return "total: integer|Long expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) + return "index: integer|Long expected"; + if (message.leafHash != null && message.hasOwnProperty("leafHash")) + if (!(message.leafHash && typeof message.leafHash.length === "number" || $util.isString(message.leafHash))) + return "leafHash: buffer expected"; + if (message.aunts != null && message.hasOwnProperty("aunts")) { + if (!Array.isArray(message.aunts)) + return "aunts: array expected"; + for (var i = 0; i < message.aunts.length; ++i) + if (!(message.aunts[i] && typeof message.aunts[i].length === "number" || $util.isString(message.aunts[i]))) + return "aunts: buffer[] expected"; + } + return null; + }; + + /** + * Creates a Proof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.Proof + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.Proof} Proof + */ + Proof.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.Proof) + return object; + var message = new $root.tendermint.crypto.Proof(); + if (object.total != null) + if ($util.Long) + (message.total = $util.Long.fromValue(object.total)).unsigned = false; + else if (typeof object.total === "string") + message.total = parseInt(object.total, 10); + else if (typeof object.total === "number") + message.total = object.total; + else if (typeof object.total === "object") + message.total = new $util.LongBits(object.total.low >>> 0, object.total.high >>> 0).toNumber(); + if (object.index != null) + if ($util.Long) + (message.index = $util.Long.fromValue(object.index)).unsigned = false; + else if (typeof object.index === "string") + message.index = parseInt(object.index, 10); + else if (typeof object.index === "number") + message.index = object.index; + else if (typeof object.index === "object") + message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(); + if (object.leafHash != null) + if (typeof object.leafHash === "string") + $util.base64.decode(object.leafHash, message.leafHash = $util.newBuffer($util.base64.length(object.leafHash)), 0); + else if (object.leafHash.length) + message.leafHash = object.leafHash; + if (object.aunts) { + if (!Array.isArray(object.aunts)) + throw TypeError(".tendermint.crypto.Proof.aunts: array expected"); + message.aunts = []; + for (var i = 0; i < object.aunts.length; ++i) + if (typeof object.aunts[i] === "string") + $util.base64.decode(object.aunts[i], message.aunts[i] = $util.newBuffer($util.base64.length(object.aunts[i])), 0); + else if (object.aunts[i].length) + message.aunts[i] = object.aunts[i]; + } + return message; + }; + + /** + * Creates a plain object from a Proof message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.Proof + * @static + * @param {tendermint.crypto.Proof} message Proof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Proof.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aunts = []; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.total = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.total = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.index = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.leafHash = ""; + else { + object.leafHash = []; + if (options.bytes !== Array) + object.leafHash = $util.newBuffer(object.leafHash); + } + } + if (message.total != null && message.hasOwnProperty("total")) + if (typeof message.total === "number") + object.total = options.longs === String ? String(message.total) : message.total; + else + object.total = options.longs === String ? $util.Long.prototype.toString.call(message.total) : options.longs === Number ? new $util.LongBits(message.total.low >>> 0, message.total.high >>> 0).toNumber() : message.total; + if (message.index != null && message.hasOwnProperty("index")) + if (typeof message.index === "number") + object.index = options.longs === String ? String(message.index) : message.index; + else + object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber() : message.index; + if (message.leafHash != null && message.hasOwnProperty("leafHash")) + object.leafHash = options.bytes === String ? $util.base64.encode(message.leafHash, 0, message.leafHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.leafHash) : message.leafHash; + if (message.aunts && message.aunts.length) { + object.aunts = []; + for (var j = 0; j < message.aunts.length; ++j) + object.aunts[j] = options.bytes === String ? $util.base64.encode(message.aunts[j], 0, message.aunts[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.aunts[j]) : message.aunts[j]; + } + return object; + }; + + /** + * Converts this Proof to JSON. + * @function toJSON + * @memberof tendermint.crypto.Proof + * @instance + * @returns {Object.} JSON object + */ + Proof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Proof; + })(); + + crypto.ValueOp = (function() { + + /** + * Properties of a ValueOp. + * @memberof tendermint.crypto + * @interface IValueOp + * @property {Uint8Array|null} [key] ValueOp key + * @property {tendermint.crypto.IProof|null} [proof] ValueOp proof + */ + + /** + * Constructs a new ValueOp. + * @memberof tendermint.crypto + * @classdesc Represents a ValueOp. + * @implements IValueOp + * @constructor + * @param {tendermint.crypto.IValueOp=} [properties] Properties to set + */ + function ValueOp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ValueOp key. + * @member {Uint8Array} key + * @memberof tendermint.crypto.ValueOp + * @instance + */ + ValueOp.prototype.key = $util.newBuffer([]); + + /** + * ValueOp proof. + * @member {tendermint.crypto.IProof|null|undefined} proof + * @memberof tendermint.crypto.ValueOp + * @instance + */ + ValueOp.prototype.proof = null; + + /** + * Creates a new ValueOp instance using the specified properties. + * @function create + * @memberof tendermint.crypto.ValueOp + * @static + * @param {tendermint.crypto.IValueOp=} [properties] Properties to set + * @returns {tendermint.crypto.ValueOp} ValueOp instance + */ + ValueOp.create = function create(properties) { + return new ValueOp(properties); + }; + + /** + * Encodes the specified ValueOp message. Does not implicitly {@link tendermint.crypto.ValueOp.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.ValueOp + * @static + * @param {tendermint.crypto.IValueOp} message ValueOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValueOp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.tendermint.crypto.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ValueOp message, length delimited. Does not implicitly {@link tendermint.crypto.ValueOp.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.ValueOp + * @static + * @param {tendermint.crypto.IValueOp} message ValueOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValueOp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ValueOp message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.ValueOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.ValueOp} ValueOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValueOp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.ValueOp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.proof = $root.tendermint.crypto.Proof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ValueOp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.ValueOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.ValueOp} ValueOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValueOp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ValueOp message. + * @function verify + * @memberof tendermint.crypto.ValueOp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValueOp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.proof != null && message.hasOwnProperty("proof")) { + var error = $root.tendermint.crypto.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + return null; + }; + + /** + * Creates a ValueOp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.ValueOp + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.ValueOp} ValueOp + */ + ValueOp.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.ValueOp) + return object; + var message = new $root.tendermint.crypto.ValueOp(); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".tendermint.crypto.ValueOp.proof: object expected"); + message.proof = $root.tendermint.crypto.Proof.fromObject(object.proof); + } + return message; + }; + + /** + * Creates a plain object from a ValueOp message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.ValueOp + * @static + * @param {tendermint.crypto.ValueOp} message ValueOp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValueOp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + object.proof = null; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.proof != null && message.hasOwnProperty("proof")) + object.proof = $root.tendermint.crypto.Proof.toObject(message.proof, options); + return object; + }; + + /** + * Converts this ValueOp to JSON. + * @function toJSON + * @memberof tendermint.crypto.ValueOp + * @instance + * @returns {Object.} JSON object + */ + ValueOp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ValueOp; + })(); + + crypto.DominoOp = (function() { + + /** + * Properties of a DominoOp. + * @memberof tendermint.crypto + * @interface IDominoOp + * @property {string|null} [key] DominoOp key + * @property {string|null} [input] DominoOp input + * @property {string|null} [output] DominoOp output + */ + + /** + * Constructs a new DominoOp. + * @memberof tendermint.crypto + * @classdesc Represents a DominoOp. + * @implements IDominoOp + * @constructor + * @param {tendermint.crypto.IDominoOp=} [properties] Properties to set + */ + function DominoOp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DominoOp key. + * @member {string} key + * @memberof tendermint.crypto.DominoOp + * @instance + */ + DominoOp.prototype.key = ""; + + /** + * DominoOp input. + * @member {string} input + * @memberof tendermint.crypto.DominoOp + * @instance + */ + DominoOp.prototype.input = ""; + + /** + * DominoOp output. + * @member {string} output + * @memberof tendermint.crypto.DominoOp + * @instance + */ + DominoOp.prototype.output = ""; + + /** + * Creates a new DominoOp instance using the specified properties. + * @function create + * @memberof tendermint.crypto.DominoOp + * @static + * @param {tendermint.crypto.IDominoOp=} [properties] Properties to set + * @returns {tendermint.crypto.DominoOp} DominoOp instance + */ + DominoOp.create = function create(properties) { + return new DominoOp(properties); + }; + + /** + * Encodes the specified DominoOp message. Does not implicitly {@link tendermint.crypto.DominoOp.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.DominoOp + * @static + * @param {tendermint.crypto.IDominoOp} message DominoOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominoOp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.input != null && Object.hasOwnProperty.call(message, "input")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.input); + if (message.output != null && Object.hasOwnProperty.call(message, "output")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.output); + return writer; + }; + + /** + * Encodes the specified DominoOp message, length delimited. Does not implicitly {@link tendermint.crypto.DominoOp.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.DominoOp + * @static + * @param {tendermint.crypto.IDominoOp} message DominoOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominoOp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DominoOp message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.DominoOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.DominoOp} DominoOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominoOp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.DominoOp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.input = reader.string(); + break; + case 3: + message.output = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DominoOp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.DominoOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.DominoOp} DominoOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominoOp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DominoOp message. + * @function verify + * @memberof tendermint.crypto.DominoOp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DominoOp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.input != null && message.hasOwnProperty("input")) + if (!$util.isString(message.input)) + return "input: string expected"; + if (message.output != null && message.hasOwnProperty("output")) + if (!$util.isString(message.output)) + return "output: string expected"; + return null; + }; + + /** + * Creates a DominoOp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.DominoOp + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.DominoOp} DominoOp + */ + DominoOp.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.DominoOp) + return object; + var message = new $root.tendermint.crypto.DominoOp(); + if (object.key != null) + message.key = String(object.key); + if (object.input != null) + message.input = String(object.input); + if (object.output != null) + message.output = String(object.output); + return message; + }; + + /** + * Creates a plain object from a DominoOp message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.DominoOp + * @static + * @param {tendermint.crypto.DominoOp} message DominoOp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DominoOp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.input = ""; + object.output = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.input != null && message.hasOwnProperty("input")) + object.input = message.input; + if (message.output != null && message.hasOwnProperty("output")) + object.output = message.output; + return object; + }; + + /** + * Converts this DominoOp to JSON. + * @function toJSON + * @memberof tendermint.crypto.DominoOp + * @instance + * @returns {Object.} JSON object + */ + DominoOp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DominoOp; + })(); + + crypto.ProofOp = (function() { + + /** + * Properties of a ProofOp. + * @memberof tendermint.crypto + * @interface IProofOp + * @property {string|null} [type] ProofOp type + * @property {Uint8Array|null} [key] ProofOp key + * @property {Uint8Array|null} [data] ProofOp data + */ + + /** + * Constructs a new ProofOp. + * @memberof tendermint.crypto + * @classdesc Represents a ProofOp. + * @implements IProofOp + * @constructor + * @param {tendermint.crypto.IProofOp=} [properties] Properties to set + */ + function ProofOp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProofOp type. + * @member {string} type + * @memberof tendermint.crypto.ProofOp + * @instance + */ + ProofOp.prototype.type = ""; + + /** + * ProofOp key. + * @member {Uint8Array} key + * @memberof tendermint.crypto.ProofOp + * @instance + */ + ProofOp.prototype.key = $util.newBuffer([]); + + /** + * ProofOp data. + * @member {Uint8Array} data + * @memberof tendermint.crypto.ProofOp + * @instance + */ + ProofOp.prototype.data = $util.newBuffer([]); + + /** + * Creates a new ProofOp instance using the specified properties. + * @function create + * @memberof tendermint.crypto.ProofOp + * @static + * @param {tendermint.crypto.IProofOp=} [properties] Properties to set + * @returns {tendermint.crypto.ProofOp} ProofOp instance + */ + ProofOp.create = function create(properties) { + return new ProofOp(properties); + }; + + /** + * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.ProofOp.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.ProofOp + * @static + * @param {tendermint.crypto.IProofOp} message ProofOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProofOp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.key); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.ProofOp.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.ProofOp + * @static + * @param {tendermint.crypto.IProofOp} message ProofOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProofOp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProofOp message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.ProofOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.ProofOp} ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProofOp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.ProofOp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + message.key = reader.bytes(); + break; + case 3: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProofOp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.ProofOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.ProofOp} ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProofOp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProofOp message. + * @function verify + * @memberof tendermint.crypto.ProofOp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProofOp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.ProofOp + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.ProofOp} ProofOp + */ + ProofOp.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.ProofOp) + return object; + var message = new $root.tendermint.crypto.ProofOp(); + if (object.type != null) + message.type = String(object.type); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a ProofOp message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.ProofOp + * @static + * @param {tendermint.crypto.ProofOp} message ProofOp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProofOp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = ""; + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this ProofOp to JSON. + * @function toJSON + * @memberof tendermint.crypto.ProofOp + * @instance + * @returns {Object.} JSON object + */ + ProofOp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProofOp; + })(); + + crypto.ProofOps = (function() { + + /** + * Properties of a ProofOps. + * @memberof tendermint.crypto + * @interface IProofOps + * @property {Array.|null} [ops] ProofOps ops + */ + + /** + * Constructs a new ProofOps. + * @memberof tendermint.crypto + * @classdesc Represents a ProofOps. + * @implements IProofOps + * @constructor + * @param {tendermint.crypto.IProofOps=} [properties] Properties to set + */ + function ProofOps(properties) { + this.ops = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProofOps ops. + * @member {Array.} ops + * @memberof tendermint.crypto.ProofOps + * @instance + */ + ProofOps.prototype.ops = $util.emptyArray; + + /** + * Creates a new ProofOps instance using the specified properties. + * @function create + * @memberof tendermint.crypto.ProofOps + * @static + * @param {tendermint.crypto.IProofOps=} [properties] Properties to set + * @returns {tendermint.crypto.ProofOps} ProofOps instance + */ + ProofOps.create = function create(properties) { + return new ProofOps(properties); + }; + + /** + * Encodes the specified ProofOps message. Does not implicitly {@link tendermint.crypto.ProofOps.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.ProofOps + * @static + * @param {tendermint.crypto.IProofOps} message ProofOps message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProofOps.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ops != null && message.ops.length) + for (var i = 0; i < message.ops.length; ++i) + $root.tendermint.crypto.ProofOp.encode(message.ops[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProofOps message, length delimited. Does not implicitly {@link tendermint.crypto.ProofOps.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.ProofOps + * @static + * @param {tendermint.crypto.IProofOps} message ProofOps message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProofOps.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProofOps message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.ProofOps + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.ProofOps} ProofOps + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProofOps.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.ProofOps(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.ops && message.ops.length)) + message.ops = []; + message.ops.push($root.tendermint.crypto.ProofOp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProofOps message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.ProofOps + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.ProofOps} ProofOps + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProofOps.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProofOps message. + * @function verify + * @memberof tendermint.crypto.ProofOps + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProofOps.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ops != null && message.hasOwnProperty("ops")) { + if (!Array.isArray(message.ops)) + return "ops: array expected"; + for (var i = 0; i < message.ops.length; ++i) { + var error = $root.tendermint.crypto.ProofOp.verify(message.ops[i]); + if (error) + return "ops." + error; + } + } + return null; + }; + + /** + * Creates a ProofOps message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.ProofOps + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.ProofOps} ProofOps + */ + ProofOps.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.ProofOps) + return object; + var message = new $root.tendermint.crypto.ProofOps(); + if (object.ops) { + if (!Array.isArray(object.ops)) + throw TypeError(".tendermint.crypto.ProofOps.ops: array expected"); + message.ops = []; + for (var i = 0; i < object.ops.length; ++i) { + if (typeof object.ops[i] !== "object") + throw TypeError(".tendermint.crypto.ProofOps.ops: object expected"); + message.ops[i] = $root.tendermint.crypto.ProofOp.fromObject(object.ops[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ProofOps message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.ProofOps + * @static + * @param {tendermint.crypto.ProofOps} message ProofOps + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProofOps.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.ops = []; + if (message.ops && message.ops.length) { + object.ops = []; + for (var j = 0; j < message.ops.length; ++j) + object.ops[j] = $root.tendermint.crypto.ProofOp.toObject(message.ops[j], options); + } + return object; + }; + + /** + * Converts this ProofOps to JSON. + * @function toJSON + * @memberof tendermint.crypto.ProofOps + * @instance + * @returns {Object.} JSON object + */ + ProofOps.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProofOps; + })(); + + crypto.merkle = (function() { + + /** + * Namespace merkle. + * @memberof tendermint.crypto + * @namespace + */ + var merkle = {}; + + merkle.ProofOp = (function() { + + /** + * Properties of a ProofOp. + * @memberof tendermint.crypto.merkle + * @interface IProofOp + * @property {string|null} [type] ProofOp type + * @property {Uint8Array|null} [key] ProofOp key + * @property {Uint8Array|null} [data] ProofOp data + */ + + /** + * Constructs a new ProofOp. + * @memberof tendermint.crypto.merkle + * @classdesc Represents a ProofOp. + * @implements IProofOp + * @constructor + * @param {tendermint.crypto.merkle.IProofOp=} [properties] Properties to set + */ + function ProofOp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProofOp type. + * @member {string} type + * @memberof tendermint.crypto.merkle.ProofOp + * @instance + */ + ProofOp.prototype.type = ""; + + /** + * ProofOp key. + * @member {Uint8Array} key + * @memberof tendermint.crypto.merkle.ProofOp + * @instance + */ + ProofOp.prototype.key = $util.newBuffer([]); + + /** + * ProofOp data. + * @member {Uint8Array} data + * @memberof tendermint.crypto.merkle.ProofOp + * @instance + */ + ProofOp.prototype.data = $util.newBuffer([]); + + /** + * Creates a new ProofOp instance using the specified properties. + * @function create + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {tendermint.crypto.merkle.IProofOp=} [properties] Properties to set + * @returns {tendermint.crypto.merkle.ProofOp} ProofOp instance + */ + ProofOp.create = function create(properties) { + return new ProofOp(properties); + }; + + /** + * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {tendermint.crypto.merkle.IProofOp} message ProofOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProofOp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.key); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {tendermint.crypto.merkle.IProofOp} message ProofOp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProofOp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProofOp message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.merkle.ProofOp} ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProofOp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.merkle.ProofOp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + message.key = reader.bytes(); + break; + case 3: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProofOp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.merkle.ProofOp} ProofOp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProofOp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProofOp message. + * @function verify + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProofOp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.merkle.ProofOp} ProofOp + */ + ProofOp.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.merkle.ProofOp) + return object; + var message = new $root.tendermint.crypto.merkle.ProofOp(); + if (object.type != null) + message.type = String(object.type); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a ProofOp message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.merkle.ProofOp + * @static + * @param {tendermint.crypto.merkle.ProofOp} message ProofOp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProofOp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = ""; + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this ProofOp to JSON. + * @function toJSON + * @memberof tendermint.crypto.merkle.ProofOp + * @instance + * @returns {Object.} JSON object + */ + ProofOp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProofOp; + })(); + + merkle.Proof = (function() { + + /** + * Properties of a Proof. + * @memberof tendermint.crypto.merkle + * @interface IProof + * @property {Array.|null} [ops] Proof ops + */ + + /** + * Constructs a new Proof. + * @memberof tendermint.crypto.merkle + * @classdesc Represents a Proof. + * @implements IProof + * @constructor + * @param {tendermint.crypto.merkle.IProof=} [properties] Properties to set + */ + function Proof(properties) { + this.ops = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Proof ops. + * @member {Array.} ops + * @memberof tendermint.crypto.merkle.Proof + * @instance + */ + Proof.prototype.ops = $util.emptyArray; + + /** + * Creates a new Proof instance using the specified properties. + * @function create + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {tendermint.crypto.merkle.IProof=} [properties] Properties to set + * @returns {tendermint.crypto.merkle.Proof} Proof instance + */ + Proof.create = function create(properties) { + return new Proof(properties); + }; + + /** + * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. + * @function encode + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {tendermint.crypto.merkle.IProof} message Proof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Proof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ops != null && message.ops.length) + for (var i = 0; i < message.ops.length; ++i) + $root.tendermint.crypto.merkle.ProofOp.encode(message.ops[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {tendermint.crypto.merkle.IProof} message Proof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Proof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Proof message from the specified reader or buffer. + * @function decode + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.crypto.merkle.Proof} Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Proof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.merkle.Proof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.ops && message.ops.length)) + message.ops = []; + message.ops.push($root.tendermint.crypto.merkle.ProofOp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Proof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.crypto.merkle.Proof} Proof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Proof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Proof message. + * @function verify + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Proof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ops != null && message.hasOwnProperty("ops")) { + if (!Array.isArray(message.ops)) + return "ops: array expected"; + for (var i = 0; i < message.ops.length; ++i) { + var error = $root.tendermint.crypto.merkle.ProofOp.verify(message.ops[i]); + if (error) + return "ops." + error; + } + } + return null; + }; + + /** + * Creates a Proof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {Object.} object Plain object + * @returns {tendermint.crypto.merkle.Proof} Proof + */ + Proof.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.crypto.merkle.Proof) + return object; + var message = new $root.tendermint.crypto.merkle.Proof(); + if (object.ops) { + if (!Array.isArray(object.ops)) + throw TypeError(".tendermint.crypto.merkle.Proof.ops: array expected"); + message.ops = []; + for (var i = 0; i < object.ops.length; ++i) { + if (typeof object.ops[i] !== "object") + throw TypeError(".tendermint.crypto.merkle.Proof.ops: object expected"); + message.ops[i] = $root.tendermint.crypto.merkle.ProofOp.fromObject(object.ops[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Proof message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.crypto.merkle.Proof + * @static + * @param {tendermint.crypto.merkle.Proof} message Proof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Proof.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.ops = []; + if (message.ops && message.ops.length) { + object.ops = []; + for (var j = 0; j < message.ops.length; ++j) + object.ops[j] = $root.tendermint.crypto.merkle.ProofOp.toObject(message.ops[j], options); + } + return object; + }; + + /** + * Converts this Proof to JSON. + * @function toJSON + * @memberof tendermint.crypto.merkle.Proof + * @instance + * @returns {Object.} JSON object + */ + Proof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Proof; + })(); + + return merkle; + })(); + + return crypto; + })(); + + tendermint.libs = (function() { + + /** + * Namespace libs. + * @memberof tendermint + * @namespace + */ + var libs = {}; + + libs.bits = (function() { + + /** + * Namespace bits. + * @memberof tendermint.libs + * @namespace + */ + var bits = {}; + + bits.BitArray = (function() { + + /** + * Properties of a BitArray. + * @memberof tendermint.libs.bits + * @interface IBitArray + * @property {number|Long|null} [bits] BitArray bits + * @property {Array.|null} [elems] BitArray elems + */ + + /** + * Constructs a new BitArray. + * @memberof tendermint.libs.bits + * @classdesc Represents a BitArray. + * @implements IBitArray + * @constructor + * @param {tendermint.libs.bits.IBitArray=} [properties] Properties to set + */ + function BitArray(properties) { + this.elems = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BitArray bits. + * @member {number|Long} bits + * @memberof tendermint.libs.bits.BitArray + * @instance + */ + BitArray.prototype.bits = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BitArray elems. + * @member {Array.} elems + * @memberof tendermint.libs.bits.BitArray + * @instance + */ + BitArray.prototype.elems = $util.emptyArray; + + /** + * Creates a new BitArray instance using the specified properties. + * @function create + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {tendermint.libs.bits.IBitArray=} [properties] Properties to set + * @returns {tendermint.libs.bits.BitArray} BitArray instance + */ + BitArray.create = function create(properties) { + return new BitArray(properties); + }; + + /** + * Encodes the specified BitArray message. Does not implicitly {@link tendermint.libs.bits.BitArray.verify|verify} messages. + * @function encode + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {tendermint.libs.bits.IBitArray} message BitArray message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BitArray.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.bits != null && Object.hasOwnProperty.call(message, "bits")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.bits); + if (message.elems != null && message.elems.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.elems.length; ++i) + writer.uint64(message.elems[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified BitArray message, length delimited. Does not implicitly {@link tendermint.libs.bits.BitArray.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {tendermint.libs.bits.IBitArray} message BitArray message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BitArray.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BitArray message from the specified reader or buffer. + * @function decode + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.libs.bits.BitArray} BitArray + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BitArray.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.libs.bits.BitArray(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bits = reader.int64(); + break; + case 2: + if (!(message.elems && message.elems.length)) + message.elems = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.elems.push(reader.uint64()); + } else + message.elems.push(reader.uint64()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BitArray message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.libs.bits.BitArray} BitArray + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BitArray.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BitArray message. + * @function verify + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BitArray.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.bits != null && message.hasOwnProperty("bits")) + if (!$util.isInteger(message.bits) && !(message.bits && $util.isInteger(message.bits.low) && $util.isInteger(message.bits.high))) + return "bits: integer|Long expected"; + if (message.elems != null && message.hasOwnProperty("elems")) { + if (!Array.isArray(message.elems)) + return "elems: array expected"; + for (var i = 0; i < message.elems.length; ++i) + if (!$util.isInteger(message.elems[i]) && !(message.elems[i] && $util.isInteger(message.elems[i].low) && $util.isInteger(message.elems[i].high))) + return "elems: integer|Long[] expected"; + } + return null; + }; + + /** + * Creates a BitArray message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {Object.} object Plain object + * @returns {tendermint.libs.bits.BitArray} BitArray + */ + BitArray.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.libs.bits.BitArray) + return object; + var message = new $root.tendermint.libs.bits.BitArray(); + if (object.bits != null) + if ($util.Long) + (message.bits = $util.Long.fromValue(object.bits)).unsigned = false; + else if (typeof object.bits === "string") + message.bits = parseInt(object.bits, 10); + else if (typeof object.bits === "number") + message.bits = object.bits; + else if (typeof object.bits === "object") + message.bits = new $util.LongBits(object.bits.low >>> 0, object.bits.high >>> 0).toNumber(); + if (object.elems) { + if (!Array.isArray(object.elems)) + throw TypeError(".tendermint.libs.bits.BitArray.elems: array expected"); + message.elems = []; + for (var i = 0; i < object.elems.length; ++i) + if ($util.Long) + (message.elems[i] = $util.Long.fromValue(object.elems[i])).unsigned = true; + else if (typeof object.elems[i] === "string") + message.elems[i] = parseInt(object.elems[i], 10); + else if (typeof object.elems[i] === "number") + message.elems[i] = object.elems[i]; + else if (typeof object.elems[i] === "object") + message.elems[i] = new $util.LongBits(object.elems[i].low >>> 0, object.elems[i].high >>> 0).toNumber(true); + } + return message; + }; + + /** + * Creates a plain object from a BitArray message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.libs.bits.BitArray + * @static + * @param {tendermint.libs.bits.BitArray} message BitArray + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BitArray.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.elems = []; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.bits = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.bits = options.longs === String ? "0" : 0; + if (message.bits != null && message.hasOwnProperty("bits")) + if (typeof message.bits === "number") + object.bits = options.longs === String ? String(message.bits) : message.bits; + else + object.bits = options.longs === String ? $util.Long.prototype.toString.call(message.bits) : options.longs === Number ? new $util.LongBits(message.bits.low >>> 0, message.bits.high >>> 0).toNumber() : message.bits; + if (message.elems && message.elems.length) { + object.elems = []; + for (var j = 0; j < message.elems.length; ++j) + if (typeof message.elems[j] === "number") + object.elems[j] = options.longs === String ? String(message.elems[j]) : message.elems[j]; + else + object.elems[j] = options.longs === String ? $util.Long.prototype.toString.call(message.elems[j]) : options.longs === Number ? new $util.LongBits(message.elems[j].low >>> 0, message.elems[j].high >>> 0).toNumber(true) : message.elems[j]; + } + return object; + }; + + /** + * Converts this BitArray to JSON. + * @function toJSON + * @memberof tendermint.libs.bits.BitArray + * @instance + * @returns {Object.} JSON object + */ + BitArray.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BitArray; + })(); + + return bits; + })(); + + libs.kv = (function() { + + /** + * Namespace kv. + * @memberof tendermint.libs + * @namespace + */ + var kv = {}; + + kv.Pair = (function() { + + /** + * Properties of a Pair. + * @memberof tendermint.libs.kv + * @interface IPair + * @property {Uint8Array|null} [key] Pair key + * @property {Uint8Array|null} [value] Pair value + */ + + /** + * Constructs a new Pair. + * @memberof tendermint.libs.kv + * @classdesc Represents a Pair. + * @implements IPair + * @constructor + * @param {tendermint.libs.kv.IPair=} [properties] Properties to set + */ + function Pair(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Pair key. + * @member {Uint8Array} key + * @memberof tendermint.libs.kv.Pair + * @instance + */ + Pair.prototype.key = $util.newBuffer([]); + + /** + * Pair value. + * @member {Uint8Array} value + * @memberof tendermint.libs.kv.Pair + * @instance + */ + Pair.prototype.value = $util.newBuffer([]); + + /** + * Creates a new Pair instance using the specified properties. + * @function create + * @memberof tendermint.libs.kv.Pair + * @static + * @param {tendermint.libs.kv.IPair=} [properties] Properties to set + * @returns {tendermint.libs.kv.Pair} Pair instance + */ + Pair.create = function create(properties) { + return new Pair(properties); + }; + + /** + * Encodes the specified Pair message. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. + * @function encode + * @memberof tendermint.libs.kv.Pair + * @static + * @param {tendermint.libs.kv.IPair} message Pair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Pair.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.libs.kv.Pair + * @static + * @param {tendermint.libs.kv.IPair} message Pair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Pair.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Pair message from the specified reader or buffer. + * @function decode + * @memberof tendermint.libs.kv.Pair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.libs.kv.Pair} Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Pair.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.libs.kv.Pair(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Pair message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.libs.kv.Pair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.libs.kv.Pair} Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Pair.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Pair message. + * @function verify + * @memberof tendermint.libs.kv.Pair + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Pair.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates a Pair message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.libs.kv.Pair + * @static + * @param {Object.} object Plain object + * @returns {tendermint.libs.kv.Pair} Pair + */ + Pair.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.libs.kv.Pair) + return object; + var message = new $root.tendermint.libs.kv.Pair(); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from a Pair message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.libs.kv.Pair + * @static + * @param {tendermint.libs.kv.Pair} message Pair + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Pair.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this Pair to JSON. + * @function toJSON + * @memberof tendermint.libs.kv.Pair + * @instance + * @returns {Object.} JSON object + */ + Pair.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Pair; + })(); + + kv.KI64Pair = (function() { + + /** + * Properties of a KI64Pair. + * @memberof tendermint.libs.kv + * @interface IKI64Pair + * @property {Uint8Array|null} [key] KI64Pair key + * @property {number|Long|null} [value] KI64Pair value + */ + + /** + * Constructs a new KI64Pair. + * @memberof tendermint.libs.kv + * @classdesc Represents a KI64Pair. + * @implements IKI64Pair + * @constructor + * @param {tendermint.libs.kv.IKI64Pair=} [properties] Properties to set + */ + function KI64Pair(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * KI64Pair key. + * @member {Uint8Array} key + * @memberof tendermint.libs.kv.KI64Pair + * @instance + */ + KI64Pair.prototype.key = $util.newBuffer([]); + + /** + * KI64Pair value. + * @member {number|Long} value + * @memberof tendermint.libs.kv.KI64Pair + * @instance + */ + KI64Pair.prototype.value = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new KI64Pair instance using the specified properties. + * @function create + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {tendermint.libs.kv.IKI64Pair=} [properties] Properties to set + * @returns {tendermint.libs.kv.KI64Pair} KI64Pair instance + */ + KI64Pair.create = function create(properties) { + return new KI64Pair(properties); + }; + + /** + * Encodes the specified KI64Pair message. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. + * @function encode + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {tendermint.libs.kv.IKI64Pair} message KI64Pair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KI64Pair.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.value); + return writer; + }; + + /** + * Encodes the specified KI64Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {tendermint.libs.kv.IKI64Pair} message KI64Pair message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KI64Pair.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a KI64Pair message from the specified reader or buffer. + * @function decode + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.libs.kv.KI64Pair} KI64Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KI64Pair.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.libs.kv.KI64Pair(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.value = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a KI64Pair message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.libs.kv.KI64Pair} KI64Pair + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KI64Pair.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a KI64Pair message. + * @function verify + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + KI64Pair.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) + return "key: buffer expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) + return "value: integer|Long expected"; + return null; + }; + + /** + * Creates a KI64Pair message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {Object.} object Plain object + * @returns {tendermint.libs.kv.KI64Pair} KI64Pair + */ + KI64Pair.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.libs.kv.KI64Pair) + return object; + var message = new $root.tendermint.libs.kv.KI64Pair(); + if (object.key != null) + if (typeof object.key === "string") + $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); + else if (object.key.length) + message.key = object.key; + if (object.value != null) + if ($util.Long) + (message.value = $util.Long.fromValue(object.value)).unsigned = false; + else if (typeof object.value === "string") + message.value = parseInt(object.value, 10); + else if (typeof object.value === "number") + message.value = object.value; + else if (typeof object.value === "object") + message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a KI64Pair message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.libs.kv.KI64Pair + * @static + * @param {tendermint.libs.kv.KI64Pair} message KI64Pair + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + KI64Pair.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.key = ""; + else { + object.key = []; + if (options.bytes !== Array) + object.key = $util.newBuffer(object.key); + } + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.value = options.longs === String ? "0" : 0; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value === "number") + object.value = options.longs === String ? String(message.value) : message.value; + else + object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber() : message.value; + return object; + }; + + /** + * Converts this KI64Pair to JSON. + * @function toJSON + * @memberof tendermint.libs.kv.KI64Pair + * @instance + * @returns {Object.} JSON object + */ + KI64Pair.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return KI64Pair; + })(); + + return kv; + })(); + + return libs; + })(); + + tendermint.mempool = (function() { + + /** + * Namespace mempool. + * @memberof tendermint + * @namespace + */ + var mempool = {}; + + mempool.Txs = (function() { + + /** + * Properties of a Txs. + * @memberof tendermint.mempool + * @interface ITxs + * @property {Array.|null} [txs] Txs txs + */ + + /** + * Constructs a new Txs. + * @memberof tendermint.mempool + * @classdesc Represents a Txs. + * @implements ITxs + * @constructor + * @param {tendermint.mempool.ITxs=} [properties] Properties to set + */ + function Txs(properties) { + this.txs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Txs txs. + * @member {Array.} txs + * @memberof tendermint.mempool.Txs + * @instance + */ + Txs.prototype.txs = $util.emptyArray; + + /** + * Creates a new Txs instance using the specified properties. + * @function create + * @memberof tendermint.mempool.Txs + * @static + * @param {tendermint.mempool.ITxs=} [properties] Properties to set + * @returns {tendermint.mempool.Txs} Txs instance + */ + Txs.create = function create(properties) { + return new Txs(properties); + }; + + /** + * Encodes the specified Txs message. Does not implicitly {@link tendermint.mempool.Txs.verify|verify} messages. + * @function encode + * @memberof tendermint.mempool.Txs + * @static + * @param {tendermint.mempool.ITxs} message Txs message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Txs.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.txs != null && message.txs.length) + for (var i = 0; i < message.txs.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.txs[i]); + return writer; + }; + + /** + * Encodes the specified Txs message, length delimited. Does not implicitly {@link tendermint.mempool.Txs.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.mempool.Txs + * @static + * @param {tendermint.mempool.ITxs} message Txs message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Txs.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Txs message from the specified reader or buffer. + * @function decode + * @memberof tendermint.mempool.Txs + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.mempool.Txs} Txs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Txs.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.mempool.Txs(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.txs && message.txs.length)) + message.txs = []; + message.txs.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Txs message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.mempool.Txs + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.mempool.Txs} Txs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Txs.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Txs message. + * @function verify + * @memberof tendermint.mempool.Txs + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Txs.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.txs != null && message.hasOwnProperty("txs")) { + if (!Array.isArray(message.txs)) + return "txs: array expected"; + for (var i = 0; i < message.txs.length; ++i) + if (!(message.txs[i] && typeof message.txs[i].length === "number" || $util.isString(message.txs[i]))) + return "txs: buffer[] expected"; + } + return null; + }; + + /** + * Creates a Txs message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.mempool.Txs + * @static + * @param {Object.} object Plain object + * @returns {tendermint.mempool.Txs} Txs + */ + Txs.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.mempool.Txs) + return object; + var message = new $root.tendermint.mempool.Txs(); + if (object.txs) { + if (!Array.isArray(object.txs)) + throw TypeError(".tendermint.mempool.Txs.txs: array expected"); + message.txs = []; + for (var i = 0; i < object.txs.length; ++i) + if (typeof object.txs[i] === "string") + $util.base64.decode(object.txs[i], message.txs[i] = $util.newBuffer($util.base64.length(object.txs[i])), 0); + else if (object.txs[i].length) + message.txs[i] = object.txs[i]; + } + return message; + }; + + /** + * Creates a plain object from a Txs message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.mempool.Txs + * @static + * @param {tendermint.mempool.Txs} message Txs + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Txs.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.txs = []; + if (message.txs && message.txs.length) { + object.txs = []; + for (var j = 0; j < message.txs.length; ++j) + object.txs[j] = options.bytes === String ? $util.base64.encode(message.txs[j], 0, message.txs[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.txs[j]) : message.txs[j]; + } + return object; + }; + + /** + * Converts this Txs to JSON. + * @function toJSON + * @memberof tendermint.mempool.Txs + * @instance + * @returns {Object.} JSON object + */ + Txs.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Txs; + })(); + + mempool.Message = (function() { + + /** + * Properties of a Message. + * @memberof tendermint.mempool + * @interface IMessage + * @property {tendermint.mempool.ITxs|null} [txs] Message txs + */ + + /** + * Constructs a new Message. + * @memberof tendermint.mempool + * @classdesc Represents a Message. + * @implements IMessage + * @constructor + * @param {tendermint.mempool.IMessage=} [properties] Properties to set + */ + function Message(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Message txs. + * @member {tendermint.mempool.ITxs|null|undefined} txs + * @memberof tendermint.mempool.Message + * @instance + */ + Message.prototype.txs = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Message sum. + * @member {"txs"|undefined} sum + * @memberof tendermint.mempool.Message + * @instance + */ + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["txs"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.mempool.Message + * @static + * @param {tendermint.mempool.IMessage=} [properties] Properties to set + * @returns {tendermint.mempool.Message} Message instance + */ + Message.create = function create(properties) { + return new Message(properties); + }; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.mempool.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.mempool.Message + * @static + * @param {tendermint.mempool.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.txs != null && Object.hasOwnProperty.call(message, "txs")) + $root.tendermint.mempool.Txs.encode(message.txs, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.mempool.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.mempool.Message + * @static + * @param {tendermint.mempool.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.mempool.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.mempool.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.mempool.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs = $root.tendermint.mempool.Txs.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.mempool.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.mempool.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Message message. + * @function verify + * @memberof tendermint.mempool.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.txs != null && message.hasOwnProperty("txs")) { + properties.sum = 1; + { + var error = $root.tendermint.mempool.Txs.verify(message.txs); + if (error) + return "txs." + error; + } + } + return null; + }; + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.mempool.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.mempool.Message} Message + */ + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.mempool.Message) + return object; + var message = new $root.tendermint.mempool.Message(); + if (object.txs != null) { + if (typeof object.txs !== "object") + throw TypeError(".tendermint.mempool.Message.txs: object expected"); + message.txs = $root.tendermint.mempool.Txs.fromObject(object.txs); + } + return message; + }; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.mempool.Message + * @static + * @param {tendermint.mempool.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.txs != null && message.hasOwnProperty("txs")) { + object.txs = $root.tendermint.mempool.Txs.toObject(message.txs, options); + if (options.oneofs) + object.sum = "txs"; + } + return object; + }; + + /** + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.mempool.Message + * @instance + * @returns {Object.} JSON object + */ + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + return mempool; + })(); + + tendermint.p2p = (function() { + + /** + * Namespace p2p. + * @memberof tendermint + * @namespace + */ + var p2p = {}; + + p2p.PacketPing = (function() { + + /** + * Properties of a PacketPing. + * @memberof tendermint.p2p + * @interface IPacketPing + */ + + /** + * Constructs a new PacketPing. + * @memberof tendermint.p2p + * @classdesc Represents a PacketPing. + * @implements IPacketPing + * @constructor + * @param {tendermint.p2p.IPacketPing=} [properties] Properties to set + */ + function PacketPing(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new PacketPing instance using the specified properties. + * @function create + * @memberof tendermint.p2p.PacketPing + * @static + * @param {tendermint.p2p.IPacketPing=} [properties] Properties to set + * @returns {tendermint.p2p.PacketPing} PacketPing instance + */ + PacketPing.create = function create(properties) { + return new PacketPing(properties); + }; + + /** + * Encodes the specified PacketPing message. Does not implicitly {@link tendermint.p2p.PacketPing.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.PacketPing + * @static + * @param {tendermint.p2p.IPacketPing} message PacketPing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PacketPing.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified PacketPing message, length delimited. Does not implicitly {@link tendermint.p2p.PacketPing.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.PacketPing + * @static + * @param {tendermint.p2p.IPacketPing} message PacketPing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PacketPing.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PacketPing message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.PacketPing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.PacketPing} PacketPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PacketPing.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.PacketPing(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PacketPing message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.PacketPing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.PacketPing} PacketPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PacketPing.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PacketPing message. + * @function verify + * @memberof tendermint.p2p.PacketPing + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PacketPing.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a PacketPing message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.PacketPing + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.PacketPing} PacketPing + */ + PacketPing.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.PacketPing) + return object; + return new $root.tendermint.p2p.PacketPing(); + }; + + /** + * Creates a plain object from a PacketPing message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.PacketPing + * @static + * @param {tendermint.p2p.PacketPing} message PacketPing + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PacketPing.toObject = function toObject() { + return {}; + }; + + /** + * Converts this PacketPing to JSON. + * @function toJSON + * @memberof tendermint.p2p.PacketPing + * @instance + * @returns {Object.} JSON object + */ + PacketPing.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PacketPing; + })(); + + p2p.PacketPong = (function() { + + /** + * Properties of a PacketPong. + * @memberof tendermint.p2p + * @interface IPacketPong + */ + + /** + * Constructs a new PacketPong. + * @memberof tendermint.p2p + * @classdesc Represents a PacketPong. + * @implements IPacketPong + * @constructor + * @param {tendermint.p2p.IPacketPong=} [properties] Properties to set + */ + function PacketPong(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new PacketPong instance using the specified properties. + * @function create + * @memberof tendermint.p2p.PacketPong + * @static + * @param {tendermint.p2p.IPacketPong=} [properties] Properties to set + * @returns {tendermint.p2p.PacketPong} PacketPong instance + */ + PacketPong.create = function create(properties) { + return new PacketPong(properties); + }; + + /** + * Encodes the specified PacketPong message. Does not implicitly {@link tendermint.p2p.PacketPong.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.PacketPong + * @static + * @param {tendermint.p2p.IPacketPong} message PacketPong message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PacketPong.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified PacketPong message, length delimited. Does not implicitly {@link tendermint.p2p.PacketPong.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.PacketPong + * @static + * @param {tendermint.p2p.IPacketPong} message PacketPong message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PacketPong.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PacketPong message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.PacketPong + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.PacketPong} PacketPong + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PacketPong.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.PacketPong(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PacketPong message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.PacketPong + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.PacketPong} PacketPong + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PacketPong.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PacketPong message. + * @function verify + * @memberof tendermint.p2p.PacketPong + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PacketPong.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a PacketPong message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.PacketPong + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.PacketPong} PacketPong + */ + PacketPong.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.PacketPong) + return object; + return new $root.tendermint.p2p.PacketPong(); + }; + + /** + * Creates a plain object from a PacketPong message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.PacketPong + * @static + * @param {tendermint.p2p.PacketPong} message PacketPong + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PacketPong.toObject = function toObject() { + return {}; + }; + + /** + * Converts this PacketPong to JSON. + * @function toJSON + * @memberof tendermint.p2p.PacketPong + * @instance + * @returns {Object.} JSON object + */ + PacketPong.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PacketPong; + })(); + + p2p.PacketMsg = (function() { + + /** + * Properties of a PacketMsg. + * @memberof tendermint.p2p + * @interface IPacketMsg + * @property {number|null} [channelId] PacketMsg channelId + * @property {boolean|null} [eof] PacketMsg eof + * @property {Uint8Array|null} [data] PacketMsg data + */ + + /** + * Constructs a new PacketMsg. + * @memberof tendermint.p2p + * @classdesc Represents a PacketMsg. + * @implements IPacketMsg + * @constructor + * @param {tendermint.p2p.IPacketMsg=} [properties] Properties to set + */ + function PacketMsg(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PacketMsg channelId. + * @member {number} channelId + * @memberof tendermint.p2p.PacketMsg + * @instance + */ + PacketMsg.prototype.channelId = 0; + + /** + * PacketMsg eof. + * @member {boolean} eof + * @memberof tendermint.p2p.PacketMsg + * @instance + */ + PacketMsg.prototype.eof = false; + + /** + * PacketMsg data. + * @member {Uint8Array} data + * @memberof tendermint.p2p.PacketMsg + * @instance + */ + PacketMsg.prototype.data = $util.newBuffer([]); + + /** + * Creates a new PacketMsg instance using the specified properties. + * @function create + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {tendermint.p2p.IPacketMsg=} [properties] Properties to set + * @returns {tendermint.p2p.PacketMsg} PacketMsg instance + */ + PacketMsg.create = function create(properties) { + return new PacketMsg(properties); + }; + + /** + * Encodes the specified PacketMsg message. Does not implicitly {@link tendermint.p2p.PacketMsg.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {tendermint.p2p.IPacketMsg} message PacketMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PacketMsg.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.channelId); + if (message.eof != null && Object.hasOwnProperty.call(message, "eof")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.eof); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.data); + return writer; + }; + + /** + * Encodes the specified PacketMsg message, length delimited. Does not implicitly {@link tendermint.p2p.PacketMsg.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {tendermint.p2p.IPacketMsg} message PacketMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PacketMsg.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PacketMsg message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.PacketMsg} PacketMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PacketMsg.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.PacketMsg(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.channelId = reader.int32(); + break; + case 2: + message.eof = reader.bool(); + break; + case 3: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PacketMsg message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.PacketMsg} PacketMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PacketMsg.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PacketMsg message. + * @function verify + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PacketMsg.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.channelId != null && message.hasOwnProperty("channelId")) + if (!$util.isInteger(message.channelId)) + return "channelId: integer expected"; + if (message.eof != null && message.hasOwnProperty("eof")) + if (typeof message.eof !== "boolean") + return "eof: boolean expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + return null; + }; + + /** + * Creates a PacketMsg message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.PacketMsg} PacketMsg + */ + PacketMsg.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.PacketMsg) + return object; + var message = new $root.tendermint.p2p.PacketMsg(); + if (object.channelId != null) + message.channelId = object.channelId | 0; + if (object.eof != null) + message.eof = Boolean(object.eof); + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + return message; + }; + + /** + * Creates a plain object from a PacketMsg message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.PacketMsg + * @static + * @param {tendermint.p2p.PacketMsg} message PacketMsg + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PacketMsg.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.channelId = 0; + object.eof = false; + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + } + if (message.channelId != null && message.hasOwnProperty("channelId")) + object.channelId = message.channelId; + if (message.eof != null && message.hasOwnProperty("eof")) + object.eof = message.eof; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + return object; + }; + + /** + * Converts this PacketMsg to JSON. + * @function toJSON + * @memberof tendermint.p2p.PacketMsg + * @instance + * @returns {Object.} JSON object + */ + PacketMsg.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PacketMsg; + })(); + + p2p.Packet = (function() { + + /** + * Properties of a Packet. + * @memberof tendermint.p2p + * @interface IPacket + * @property {tendermint.p2p.IPacketPing|null} [packetPing] Packet packetPing + * @property {tendermint.p2p.IPacketPong|null} [packetPong] Packet packetPong + * @property {tendermint.p2p.IPacketMsg|null} [packetMsg] Packet packetMsg + */ + + /** + * Constructs a new Packet. + * @memberof tendermint.p2p + * @classdesc Represents a Packet. + * @implements IPacket + * @constructor + * @param {tendermint.p2p.IPacket=} [properties] Properties to set + */ + function Packet(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Packet packetPing. + * @member {tendermint.p2p.IPacketPing|null|undefined} packetPing + * @memberof tendermint.p2p.Packet + * @instance + */ + Packet.prototype.packetPing = null; + + /** + * Packet packetPong. + * @member {tendermint.p2p.IPacketPong|null|undefined} packetPong + * @memberof tendermint.p2p.Packet + * @instance + */ + Packet.prototype.packetPong = null; + + /** + * Packet packetMsg. + * @member {tendermint.p2p.IPacketMsg|null|undefined} packetMsg + * @memberof tendermint.p2p.Packet + * @instance + */ + Packet.prototype.packetMsg = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Packet sum. + * @member {"packetPing"|"packetPong"|"packetMsg"|undefined} sum + * @memberof tendermint.p2p.Packet + * @instance + */ + Object.defineProperty(Packet.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["packetPing", "packetPong", "packetMsg"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Packet instance using the specified properties. + * @function create + * @memberof tendermint.p2p.Packet + * @static + * @param {tendermint.p2p.IPacket=} [properties] Properties to set + * @returns {tendermint.p2p.Packet} Packet instance + */ + Packet.create = function create(properties) { + return new Packet(properties); + }; + + /** + * Encodes the specified Packet message. Does not implicitly {@link tendermint.p2p.Packet.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.Packet + * @static + * @param {tendermint.p2p.IPacket} message Packet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Packet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.packetPing != null && Object.hasOwnProperty.call(message, "packetPing")) + $root.tendermint.p2p.PacketPing.encode(message.packetPing, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.packetPong != null && Object.hasOwnProperty.call(message, "packetPong")) + $root.tendermint.p2p.PacketPong.encode(message.packetPong, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.packetMsg != null && Object.hasOwnProperty.call(message, "packetMsg")) + $root.tendermint.p2p.PacketMsg.encode(message.packetMsg, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Packet message, length delimited. Does not implicitly {@link tendermint.p2p.Packet.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.Packet + * @static + * @param {tendermint.p2p.IPacket} message Packet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Packet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Packet message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.Packet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.Packet} Packet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Packet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.Packet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.packetPing = $root.tendermint.p2p.PacketPing.decode(reader, reader.uint32()); + break; + case 2: + message.packetPong = $root.tendermint.p2p.PacketPong.decode(reader, reader.uint32()); + break; + case 3: + message.packetMsg = $root.tendermint.p2p.PacketMsg.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Packet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.Packet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.Packet} Packet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Packet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Packet message. + * @function verify + * @memberof tendermint.p2p.Packet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Packet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.packetPing != null && message.hasOwnProperty("packetPing")) { + properties.sum = 1; + { + var error = $root.tendermint.p2p.PacketPing.verify(message.packetPing); + if (error) + return "packetPing." + error; + } + } + if (message.packetPong != null && message.hasOwnProperty("packetPong")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.p2p.PacketPong.verify(message.packetPong); + if (error) + return "packetPong." + error; + } + } + if (message.packetMsg != null && message.hasOwnProperty("packetMsg")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.p2p.PacketMsg.verify(message.packetMsg); + if (error) + return "packetMsg." + error; + } + } + return null; + }; + + /** + * Creates a Packet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.Packet + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.Packet} Packet + */ + Packet.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.Packet) + return object; + var message = new $root.tendermint.p2p.Packet(); + if (object.packetPing != null) { + if (typeof object.packetPing !== "object") + throw TypeError(".tendermint.p2p.Packet.packetPing: object expected"); + message.packetPing = $root.tendermint.p2p.PacketPing.fromObject(object.packetPing); + } + if (object.packetPong != null) { + if (typeof object.packetPong !== "object") + throw TypeError(".tendermint.p2p.Packet.packetPong: object expected"); + message.packetPong = $root.tendermint.p2p.PacketPong.fromObject(object.packetPong); + } + if (object.packetMsg != null) { + if (typeof object.packetMsg !== "object") + throw TypeError(".tendermint.p2p.Packet.packetMsg: object expected"); + message.packetMsg = $root.tendermint.p2p.PacketMsg.fromObject(object.packetMsg); + } + return message; + }; + + /** + * Creates a plain object from a Packet message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.Packet + * @static + * @param {tendermint.p2p.Packet} message Packet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Packet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.packetPing != null && message.hasOwnProperty("packetPing")) { + object.packetPing = $root.tendermint.p2p.PacketPing.toObject(message.packetPing, options); + if (options.oneofs) + object.sum = "packetPing"; + } + if (message.packetPong != null && message.hasOwnProperty("packetPong")) { + object.packetPong = $root.tendermint.p2p.PacketPong.toObject(message.packetPong, options); + if (options.oneofs) + object.sum = "packetPong"; + } + if (message.packetMsg != null && message.hasOwnProperty("packetMsg")) { + object.packetMsg = $root.tendermint.p2p.PacketMsg.toObject(message.packetMsg, options); + if (options.oneofs) + object.sum = "packetMsg"; + } + return object; + }; + + /** + * Converts this Packet to JSON. + * @function toJSON + * @memberof tendermint.p2p.Packet + * @instance + * @returns {Object.} JSON object + */ + Packet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Packet; + })(); + + p2p.AuthSigMessage = (function() { + + /** + * Properties of an AuthSigMessage. + * @memberof tendermint.p2p + * @interface IAuthSigMessage + * @property {tendermint.crypto.IPublicKey|null} [pubKey] AuthSigMessage pubKey + * @property {Uint8Array|null} [sig] AuthSigMessage sig + */ + + /** + * Constructs a new AuthSigMessage. + * @memberof tendermint.p2p + * @classdesc Represents an AuthSigMessage. + * @implements IAuthSigMessage + * @constructor + * @param {tendermint.p2p.IAuthSigMessage=} [properties] Properties to set + */ + function AuthSigMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AuthSigMessage pubKey. + * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey + * @memberof tendermint.p2p.AuthSigMessage + * @instance + */ + AuthSigMessage.prototype.pubKey = null; + + /** + * AuthSigMessage sig. + * @member {Uint8Array} sig + * @memberof tendermint.p2p.AuthSigMessage + * @instance + */ + AuthSigMessage.prototype.sig = $util.newBuffer([]); + + /** + * Creates a new AuthSigMessage instance using the specified properties. + * @function create + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {tendermint.p2p.IAuthSigMessage=} [properties] Properties to set + * @returns {tendermint.p2p.AuthSigMessage} AuthSigMessage instance + */ + AuthSigMessage.create = function create(properties) { + return new AuthSigMessage(properties); + }; + + /** + * Encodes the specified AuthSigMessage message. Does not implicitly {@link tendermint.p2p.AuthSigMessage.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {tendermint.p2p.IAuthSigMessage} message AuthSigMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthSigMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) + $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.sig != null && Object.hasOwnProperty.call(message, "sig")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.sig); + return writer; + }; + + /** + * Encodes the specified AuthSigMessage message, length delimited. Does not implicitly {@link tendermint.p2p.AuthSigMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {tendermint.p2p.IAuthSigMessage} message AuthSigMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthSigMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthSigMessage message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.AuthSigMessage} AuthSigMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthSigMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.AuthSigMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); + break; + case 2: + message.sig = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthSigMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.AuthSigMessage} AuthSigMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthSigMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthSigMessage message. + * @function verify + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthSigMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pubKey != null && message.hasOwnProperty("pubKey")) { + var error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); + if (error) + return "pubKey." + error; + } + if (message.sig != null && message.hasOwnProperty("sig")) + if (!(message.sig && typeof message.sig.length === "number" || $util.isString(message.sig))) + return "sig: buffer expected"; + return null; + }; + + /** + * Creates an AuthSigMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.AuthSigMessage} AuthSigMessage + */ + AuthSigMessage.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.AuthSigMessage) + return object; + var message = new $root.tendermint.p2p.AuthSigMessage(); + if (object.pubKey != null) { + if (typeof object.pubKey !== "object") + throw TypeError(".tendermint.p2p.AuthSigMessage.pubKey: object expected"); + message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); + } + if (object.sig != null) + if (typeof object.sig === "string") + $util.base64.decode(object.sig, message.sig = $util.newBuffer($util.base64.length(object.sig)), 0); + else if (object.sig.length) + message.sig = object.sig; + return message; + }; + + /** + * Creates a plain object from an AuthSigMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.AuthSigMessage + * @static + * @param {tendermint.p2p.AuthSigMessage} message AuthSigMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthSigMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.pubKey = null; + if (options.bytes === String) + object.sig = ""; + else { + object.sig = []; + if (options.bytes !== Array) + object.sig = $util.newBuffer(object.sig); + } + } + if (message.pubKey != null && message.hasOwnProperty("pubKey")) + object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); + if (message.sig != null && message.hasOwnProperty("sig")) + object.sig = options.bytes === String ? $util.base64.encode(message.sig, 0, message.sig.length) : options.bytes === Array ? Array.prototype.slice.call(message.sig) : message.sig; + return object; + }; + + /** + * Converts this AuthSigMessage to JSON. + * @function toJSON + * @memberof tendermint.p2p.AuthSigMessage + * @instance + * @returns {Object.} JSON object + */ + AuthSigMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AuthSigMessage; + })(); + + p2p.PexRequest = (function() { + + /** + * Properties of a PexRequest. + * @memberof tendermint.p2p + * @interface IPexRequest + */ + + /** + * Constructs a new PexRequest. + * @memberof tendermint.p2p + * @classdesc Represents a PexRequest. + * @implements IPexRequest + * @constructor + * @param {tendermint.p2p.IPexRequest=} [properties] Properties to set + */ + function PexRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new PexRequest instance using the specified properties. + * @function create + * @memberof tendermint.p2p.PexRequest + * @static + * @param {tendermint.p2p.IPexRequest=} [properties] Properties to set + * @returns {tendermint.p2p.PexRequest} PexRequest instance + */ + PexRequest.create = function create(properties) { + return new PexRequest(properties); + }; + + /** + * Encodes the specified PexRequest message. Does not implicitly {@link tendermint.p2p.PexRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.PexRequest + * @static + * @param {tendermint.p2p.IPexRequest} message PexRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PexRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified PexRequest message, length delimited. Does not implicitly {@link tendermint.p2p.PexRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.PexRequest + * @static + * @param {tendermint.p2p.IPexRequest} message PexRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PexRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PexRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.PexRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.PexRequest} PexRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PexRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.PexRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PexRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.PexRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.PexRequest} PexRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PexRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PexRequest message. + * @function verify + * @memberof tendermint.p2p.PexRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PexRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a PexRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.PexRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.PexRequest} PexRequest + */ + PexRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.PexRequest) + return object; + return new $root.tendermint.p2p.PexRequest(); + }; + + /** + * Creates a plain object from a PexRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.PexRequest + * @static + * @param {tendermint.p2p.PexRequest} message PexRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PexRequest.toObject = function toObject() { + return {}; + }; + + /** + * Converts this PexRequest to JSON. + * @function toJSON + * @memberof tendermint.p2p.PexRequest + * @instance + * @returns {Object.} JSON object + */ + PexRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PexRequest; + })(); + + p2p.PexAddrs = (function() { + + /** + * Properties of a PexAddrs. + * @memberof tendermint.p2p + * @interface IPexAddrs + * @property {Array.|null} [addrs] PexAddrs addrs + */ + + /** + * Constructs a new PexAddrs. + * @memberof tendermint.p2p + * @classdesc Represents a PexAddrs. + * @implements IPexAddrs + * @constructor + * @param {tendermint.p2p.IPexAddrs=} [properties] Properties to set + */ + function PexAddrs(properties) { + this.addrs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PexAddrs addrs. + * @member {Array.} addrs + * @memberof tendermint.p2p.PexAddrs + * @instance + */ + PexAddrs.prototype.addrs = $util.emptyArray; + + /** + * Creates a new PexAddrs instance using the specified properties. + * @function create + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {tendermint.p2p.IPexAddrs=} [properties] Properties to set + * @returns {tendermint.p2p.PexAddrs} PexAddrs instance + */ + PexAddrs.create = function create(properties) { + return new PexAddrs(properties); + }; + + /** + * Encodes the specified PexAddrs message. Does not implicitly {@link tendermint.p2p.PexAddrs.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {tendermint.p2p.IPexAddrs} message PexAddrs message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PexAddrs.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.addrs != null && message.addrs.length) + for (var i = 0; i < message.addrs.length; ++i) + $root.tendermint.p2p.NetAddress.encode(message.addrs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PexAddrs message, length delimited. Does not implicitly {@link tendermint.p2p.PexAddrs.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {tendermint.p2p.IPexAddrs} message PexAddrs message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PexAddrs.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PexAddrs message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.PexAddrs} PexAddrs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PexAddrs.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.PexAddrs(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.addrs && message.addrs.length)) + message.addrs = []; + message.addrs.push($root.tendermint.p2p.NetAddress.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PexAddrs message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.PexAddrs} PexAddrs + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PexAddrs.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PexAddrs message. + * @function verify + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PexAddrs.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.addrs != null && message.hasOwnProperty("addrs")) { + if (!Array.isArray(message.addrs)) + return "addrs: array expected"; + for (var i = 0; i < message.addrs.length; ++i) { + var error = $root.tendermint.p2p.NetAddress.verify(message.addrs[i]); + if (error) + return "addrs." + error; + } + } + return null; + }; + + /** + * Creates a PexAddrs message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.PexAddrs} PexAddrs + */ + PexAddrs.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.PexAddrs) + return object; + var message = new $root.tendermint.p2p.PexAddrs(); + if (object.addrs) { + if (!Array.isArray(object.addrs)) + throw TypeError(".tendermint.p2p.PexAddrs.addrs: array expected"); + message.addrs = []; + for (var i = 0; i < object.addrs.length; ++i) { + if (typeof object.addrs[i] !== "object") + throw TypeError(".tendermint.p2p.PexAddrs.addrs: object expected"); + message.addrs[i] = $root.tendermint.p2p.NetAddress.fromObject(object.addrs[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a PexAddrs message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.PexAddrs + * @static + * @param {tendermint.p2p.PexAddrs} message PexAddrs + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PexAddrs.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.addrs = []; + if (message.addrs && message.addrs.length) { + object.addrs = []; + for (var j = 0; j < message.addrs.length; ++j) + object.addrs[j] = $root.tendermint.p2p.NetAddress.toObject(message.addrs[j], options); + } + return object; + }; + + /** + * Converts this PexAddrs to JSON. + * @function toJSON + * @memberof tendermint.p2p.PexAddrs + * @instance + * @returns {Object.} JSON object + */ + PexAddrs.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PexAddrs; + })(); + + p2p.Message = (function() { + + /** + * Properties of a Message. + * @memberof tendermint.p2p + * @interface IMessage + * @property {tendermint.p2p.IPexRequest|null} [pexRequest] Message pexRequest + * @property {tendermint.p2p.IPexAddrs|null} [pexAddrs] Message pexAddrs + */ + + /** + * Constructs a new Message. + * @memberof tendermint.p2p + * @classdesc Represents a Message. + * @implements IMessage + * @constructor + * @param {tendermint.p2p.IMessage=} [properties] Properties to set + */ + function Message(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Message pexRequest. + * @member {tendermint.p2p.IPexRequest|null|undefined} pexRequest + * @memberof tendermint.p2p.Message + * @instance + */ + Message.prototype.pexRequest = null; + + /** + * Message pexAddrs. + * @member {tendermint.p2p.IPexAddrs|null|undefined} pexAddrs + * @memberof tendermint.p2p.Message + * @instance + */ + Message.prototype.pexAddrs = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Message sum. + * @member {"pexRequest"|"pexAddrs"|undefined} sum + * @memberof tendermint.p2p.Message + * @instance + */ + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["pexRequest", "pexAddrs"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.p2p.Message + * @static + * @param {tendermint.p2p.IMessage=} [properties] Properties to set + * @returns {tendermint.p2p.Message} Message instance + */ + Message.create = function create(properties) { + return new Message(properties); + }; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.p2p.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.Message + * @static + * @param {tendermint.p2p.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pexRequest != null && Object.hasOwnProperty.call(message, "pexRequest")) + $root.tendermint.p2p.PexRequest.encode(message.pexRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pexAddrs != null && Object.hasOwnProperty.call(message, "pexAddrs")) + $root.tendermint.p2p.PexAddrs.encode(message.pexAddrs, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.p2p.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.Message + * @static + * @param {tendermint.p2p.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pexRequest = $root.tendermint.p2p.PexRequest.decode(reader, reader.uint32()); + break; + case 2: + message.pexAddrs = $root.tendermint.p2p.PexAddrs.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Message message. + * @function verify + * @memberof tendermint.p2p.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.pexRequest != null && message.hasOwnProperty("pexRequest")) { + properties.sum = 1; + { + var error = $root.tendermint.p2p.PexRequest.verify(message.pexRequest); + if (error) + return "pexRequest." + error; + } + } + if (message.pexAddrs != null && message.hasOwnProperty("pexAddrs")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.p2p.PexAddrs.verify(message.pexAddrs); + if (error) + return "pexAddrs." + error; + } + } + return null; + }; + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.Message} Message + */ + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.Message) + return object; + var message = new $root.tendermint.p2p.Message(); + if (object.pexRequest != null) { + if (typeof object.pexRequest !== "object") + throw TypeError(".tendermint.p2p.Message.pexRequest: object expected"); + message.pexRequest = $root.tendermint.p2p.PexRequest.fromObject(object.pexRequest); + } + if (object.pexAddrs != null) { + if (typeof object.pexAddrs !== "object") + throw TypeError(".tendermint.p2p.Message.pexAddrs: object expected"); + message.pexAddrs = $root.tendermint.p2p.PexAddrs.fromObject(object.pexAddrs); + } + return message; + }; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.Message + * @static + * @param {tendermint.p2p.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.pexRequest != null && message.hasOwnProperty("pexRequest")) { + object.pexRequest = $root.tendermint.p2p.PexRequest.toObject(message.pexRequest, options); + if (options.oneofs) + object.sum = "pexRequest"; + } + if (message.pexAddrs != null && message.hasOwnProperty("pexAddrs")) { + object.pexAddrs = $root.tendermint.p2p.PexAddrs.toObject(message.pexAddrs, options); + if (options.oneofs) + object.sum = "pexAddrs"; + } + return object; + }; + + /** + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.p2p.Message + * @instance + * @returns {Object.} JSON object + */ + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + p2p.NetAddress = (function() { + + /** + * Properties of a NetAddress. + * @memberof tendermint.p2p + * @interface INetAddress + * @property {string|null} [id] NetAddress id + * @property {string|null} [ip] NetAddress ip + * @property {number|null} [port] NetAddress port + */ + + /** + * Constructs a new NetAddress. + * @memberof tendermint.p2p + * @classdesc Represents a NetAddress. + * @implements INetAddress + * @constructor + * @param {tendermint.p2p.INetAddress=} [properties] Properties to set + */ + function NetAddress(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NetAddress id. + * @member {string} id + * @memberof tendermint.p2p.NetAddress + * @instance + */ + NetAddress.prototype.id = ""; + + /** + * NetAddress ip. + * @member {string} ip + * @memberof tendermint.p2p.NetAddress + * @instance + */ + NetAddress.prototype.ip = ""; + + /** + * NetAddress port. + * @member {number} port + * @memberof tendermint.p2p.NetAddress + * @instance + */ + NetAddress.prototype.port = 0; + + /** + * Creates a new NetAddress instance using the specified properties. + * @function create + * @memberof tendermint.p2p.NetAddress + * @static + * @param {tendermint.p2p.INetAddress=} [properties] Properties to set + * @returns {tendermint.p2p.NetAddress} NetAddress instance + */ + NetAddress.create = function create(properties) { + return new NetAddress(properties); + }; + + /** + * Encodes the specified NetAddress message. Does not implicitly {@link tendermint.p2p.NetAddress.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.NetAddress + * @static + * @param {tendermint.p2p.INetAddress} message NetAddress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NetAddress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); + if (message.ip != null && Object.hasOwnProperty.call(message, "ip")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.ip); + if (message.port != null && Object.hasOwnProperty.call(message, "port")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.port); + return writer; + }; + + /** + * Encodes the specified NetAddress message, length delimited. Does not implicitly {@link tendermint.p2p.NetAddress.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.NetAddress + * @static + * @param {tendermint.p2p.INetAddress} message NetAddress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NetAddress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NetAddress message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.NetAddress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.NetAddress} NetAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NetAddress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.NetAddress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.string(); + break; + case 2: + message.ip = reader.string(); + break; + case 3: + message.port = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NetAddress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.NetAddress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.NetAddress} NetAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NetAddress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NetAddress message. + * @function verify + * @memberof tendermint.p2p.NetAddress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NetAddress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!$util.isString(message.id)) + return "id: string expected"; + if (message.ip != null && message.hasOwnProperty("ip")) + if (!$util.isString(message.ip)) + return "ip: string expected"; + if (message.port != null && message.hasOwnProperty("port")) + if (!$util.isInteger(message.port)) + return "port: integer expected"; + return null; + }; + + /** + * Creates a NetAddress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.NetAddress + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.NetAddress} NetAddress + */ + NetAddress.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.NetAddress) + return object; + var message = new $root.tendermint.p2p.NetAddress(); + if (object.id != null) + message.id = String(object.id); + if (object.ip != null) + message.ip = String(object.ip); + if (object.port != null) + message.port = object.port >>> 0; + return message; + }; + + /** + * Creates a plain object from a NetAddress message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.NetAddress + * @static + * @param {tendermint.p2p.NetAddress} message NetAddress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NetAddress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.id = ""; + object.ip = ""; + object.port = 0; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = message.id; + if (message.ip != null && message.hasOwnProperty("ip")) + object.ip = message.ip; + if (message.port != null && message.hasOwnProperty("port")) + object.port = message.port; + return object; + }; + + /** + * Converts this NetAddress to JSON. + * @function toJSON + * @memberof tendermint.p2p.NetAddress + * @instance + * @returns {Object.} JSON object + */ + NetAddress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NetAddress; + })(); + + p2p.ProtocolVersion = (function() { + + /** + * Properties of a ProtocolVersion. + * @memberof tendermint.p2p + * @interface IProtocolVersion + * @property {number|Long|null} [p2p] ProtocolVersion p2p + * @property {number|Long|null} [block] ProtocolVersion block + * @property {number|Long|null} [app] ProtocolVersion app + */ + + /** + * Constructs a new ProtocolVersion. + * @memberof tendermint.p2p + * @classdesc Represents a ProtocolVersion. + * @implements IProtocolVersion + * @constructor + * @param {tendermint.p2p.IProtocolVersion=} [properties] Properties to set + */ + function ProtocolVersion(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProtocolVersion p2p. + * @member {number|Long} p2p + * @memberof tendermint.p2p.ProtocolVersion + * @instance + */ + ProtocolVersion.prototype.p2p = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ProtocolVersion block. + * @member {number|Long} block + * @memberof tendermint.p2p.ProtocolVersion + * @instance + */ + ProtocolVersion.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ProtocolVersion app. + * @member {number|Long} app + * @memberof tendermint.p2p.ProtocolVersion + * @instance + */ + ProtocolVersion.prototype.app = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new ProtocolVersion instance using the specified properties. + * @function create + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {tendermint.p2p.IProtocolVersion=} [properties] Properties to set + * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion instance + */ + ProtocolVersion.create = function create(properties) { + return new ProtocolVersion(properties); + }; + + /** + * Encodes the specified ProtocolVersion message. Does not implicitly {@link tendermint.p2p.ProtocolVersion.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {tendermint.p2p.IProtocolVersion} message ProtocolVersion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProtocolVersion.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.p2p != null && Object.hasOwnProperty.call(message, "p2p")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.p2p); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.block); + if (message.app != null && Object.hasOwnProperty.call(message, "app")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.app); + return writer; + }; + + /** + * Encodes the specified ProtocolVersion message, length delimited. Does not implicitly {@link tendermint.p2p.ProtocolVersion.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {tendermint.p2p.IProtocolVersion} message ProtocolVersion message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProtocolVersion.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProtocolVersion message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProtocolVersion.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.ProtocolVersion(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.p2p = reader.uint64(); + break; + case 2: + message.block = reader.uint64(); + break; + case 3: + message.app = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProtocolVersion message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProtocolVersion.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProtocolVersion message. + * @function verify + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProtocolVersion.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.p2p != null && message.hasOwnProperty("p2p")) + if (!$util.isInteger(message.p2p) && !(message.p2p && $util.isInteger(message.p2p.low) && $util.isInteger(message.p2p.high))) + return "p2p: integer|Long expected"; + if (message.block != null && message.hasOwnProperty("block")) + if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high))) + return "block: integer|Long expected"; + if (message.app != null && message.hasOwnProperty("app")) + if (!$util.isInteger(message.app) && !(message.app && $util.isInteger(message.app.low) && $util.isInteger(message.app.high))) + return "app: integer|Long expected"; + return null; + }; + + /** + * Creates a ProtocolVersion message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion + */ + ProtocolVersion.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.ProtocolVersion) + return object; + var message = new $root.tendermint.p2p.ProtocolVersion(); + if (object.p2p != null) + if ($util.Long) + (message.p2p = $util.Long.fromValue(object.p2p)).unsigned = true; + else if (typeof object.p2p === "string") + message.p2p = parseInt(object.p2p, 10); + else if (typeof object.p2p === "number") + message.p2p = object.p2p; + else if (typeof object.p2p === "object") + message.p2p = new $util.LongBits(object.p2p.low >>> 0, object.p2p.high >>> 0).toNumber(true); + if (object.block != null) + if ($util.Long) + (message.block = $util.Long.fromValue(object.block)).unsigned = true; + else if (typeof object.block === "string") + message.block = parseInt(object.block, 10); + else if (typeof object.block === "number") + message.block = object.block; + else if (typeof object.block === "object") + message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true); + if (object.app != null) + if ($util.Long) + (message.app = $util.Long.fromValue(object.app)).unsigned = true; + else if (typeof object.app === "string") + message.app = parseInt(object.app, 10); + else if (typeof object.app === "number") + message.app = object.app; + else if (typeof object.app === "object") + message.app = new $util.LongBits(object.app.low >>> 0, object.app.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a ProtocolVersion message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.ProtocolVersion + * @static + * @param {tendermint.p2p.ProtocolVersion} message ProtocolVersion + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProtocolVersion.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.p2p = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.p2p = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.block = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.app = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.app = options.longs === String ? "0" : 0; + } + if (message.p2p != null && message.hasOwnProperty("p2p")) + if (typeof message.p2p === "number") + object.p2p = options.longs === String ? String(message.p2p) : message.p2p; + else + object.p2p = options.longs === String ? $util.Long.prototype.toString.call(message.p2p) : options.longs === Number ? new $util.LongBits(message.p2p.low >>> 0, message.p2p.high >>> 0).toNumber(true) : message.p2p; + if (message.block != null && message.hasOwnProperty("block")) + if (typeof message.block === "number") + object.block = options.longs === String ? String(message.block) : message.block; + else + object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block; + if (message.app != null && message.hasOwnProperty("app")) + if (typeof message.app === "number") + object.app = options.longs === String ? String(message.app) : message.app; + else + object.app = options.longs === String ? $util.Long.prototype.toString.call(message.app) : options.longs === Number ? new $util.LongBits(message.app.low >>> 0, message.app.high >>> 0).toNumber(true) : message.app; + return object; + }; + + /** + * Converts this ProtocolVersion to JSON. + * @function toJSON + * @memberof tendermint.p2p.ProtocolVersion + * @instance + * @returns {Object.} JSON object + */ + ProtocolVersion.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProtocolVersion; + })(); + + p2p.DefaultNodeInfo = (function() { + + /** + * Properties of a DefaultNodeInfo. + * @memberof tendermint.p2p + * @interface IDefaultNodeInfo + * @property {tendermint.p2p.IProtocolVersion|null} [protocolVersion] DefaultNodeInfo protocolVersion + * @property {string|null} [defaultNodeId] DefaultNodeInfo defaultNodeId + * @property {string|null} [listenAddr] DefaultNodeInfo listenAddr + * @property {string|null} [network] DefaultNodeInfo network + * @property {string|null} [version] DefaultNodeInfo version + * @property {Uint8Array|null} [channels] DefaultNodeInfo channels + * @property {string|null} [moniker] DefaultNodeInfo moniker + * @property {tendermint.p2p.IDefaultNodeInfoOther|null} [other] DefaultNodeInfo other + */ + + /** + * Constructs a new DefaultNodeInfo. + * @memberof tendermint.p2p + * @classdesc Represents a DefaultNodeInfo. + * @implements IDefaultNodeInfo + * @constructor + * @param {tendermint.p2p.IDefaultNodeInfo=} [properties] Properties to set + */ + function DefaultNodeInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DefaultNodeInfo protocolVersion. + * @member {tendermint.p2p.IProtocolVersion|null|undefined} protocolVersion + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.protocolVersion = null; + + /** + * DefaultNodeInfo defaultNodeId. + * @member {string} defaultNodeId + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.defaultNodeId = ""; + + /** + * DefaultNodeInfo listenAddr. + * @member {string} listenAddr + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.listenAddr = ""; + + /** + * DefaultNodeInfo network. + * @member {string} network + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.network = ""; + + /** + * DefaultNodeInfo version. + * @member {string} version + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.version = ""; + + /** + * DefaultNodeInfo channels. + * @member {Uint8Array} channels + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.channels = $util.newBuffer([]); + + /** + * DefaultNodeInfo moniker. + * @member {string} moniker + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.moniker = ""; + + /** + * DefaultNodeInfo other. + * @member {tendermint.p2p.IDefaultNodeInfoOther|null|undefined} other + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + */ + DefaultNodeInfo.prototype.other = null; + + /** + * Creates a new DefaultNodeInfo instance using the specified properties. + * @function create + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {tendermint.p2p.IDefaultNodeInfo=} [properties] Properties to set + * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo instance + */ + DefaultNodeInfo.create = function create(properties) { + return new DefaultNodeInfo(properties); + }; + + /** + * Encodes the specified DefaultNodeInfo message. Does not implicitly {@link tendermint.p2p.DefaultNodeInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {tendermint.p2p.IDefaultNodeInfo} message DefaultNodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DefaultNodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion")) + $root.tendermint.p2p.ProtocolVersion.encode(message.protocolVersion, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.defaultNodeId != null && Object.hasOwnProperty.call(message, "defaultNodeId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.defaultNodeId); + if (message.listenAddr != null && Object.hasOwnProperty.call(message, "listenAddr")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.listenAddr); + if (message.network != null && Object.hasOwnProperty.call(message, "network")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.network); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); + if (message.channels != null && Object.hasOwnProperty.call(message, "channels")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.channels); + if (message.moniker != null && Object.hasOwnProperty.call(message, "moniker")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.moniker); + if (message.other != null && Object.hasOwnProperty.call(message, "other")) + $root.tendermint.p2p.DefaultNodeInfoOther.encode(message.other, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DefaultNodeInfo message, length delimited. Does not implicitly {@link tendermint.p2p.DefaultNodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {tendermint.p2p.IDefaultNodeInfo} message DefaultNodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DefaultNodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DefaultNodeInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DefaultNodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.DefaultNodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.protocolVersion = $root.tendermint.p2p.ProtocolVersion.decode(reader, reader.uint32()); + break; + case 2: + message.defaultNodeId = reader.string(); + break; + case 3: + message.listenAddr = reader.string(); + break; + case 4: + message.network = reader.string(); + break; + case 5: + message.version = reader.string(); + break; + case 6: + message.channels = reader.bytes(); + break; + case 7: + message.moniker = reader.string(); + break; + case 8: + message.other = $root.tendermint.p2p.DefaultNodeInfoOther.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DefaultNodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DefaultNodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DefaultNodeInfo message. + * @function verify + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DefaultNodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) { + var error = $root.tendermint.p2p.ProtocolVersion.verify(message.protocolVersion); + if (error) + return "protocolVersion." + error; + } + if (message.defaultNodeId != null && message.hasOwnProperty("defaultNodeId")) + if (!$util.isString(message.defaultNodeId)) + return "defaultNodeId: string expected"; + if (message.listenAddr != null && message.hasOwnProperty("listenAddr")) + if (!$util.isString(message.listenAddr)) + return "listenAddr: string expected"; + if (message.network != null && message.hasOwnProperty("network")) + if (!$util.isString(message.network)) + return "network: string expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + if (message.channels != null && message.hasOwnProperty("channels")) + if (!(message.channels && typeof message.channels.length === "number" || $util.isString(message.channels))) + return "channels: buffer expected"; + if (message.moniker != null && message.hasOwnProperty("moniker")) + if (!$util.isString(message.moniker)) + return "moniker: string expected"; + if (message.other != null && message.hasOwnProperty("other")) { + var error = $root.tendermint.p2p.DefaultNodeInfoOther.verify(message.other); + if (error) + return "other." + error; + } + return null; + }; + + /** + * Creates a DefaultNodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo + */ + DefaultNodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.DefaultNodeInfo) + return object; + var message = new $root.tendermint.p2p.DefaultNodeInfo(); + if (object.protocolVersion != null) { + if (typeof object.protocolVersion !== "object") + throw TypeError(".tendermint.p2p.DefaultNodeInfo.protocolVersion: object expected"); + message.protocolVersion = $root.tendermint.p2p.ProtocolVersion.fromObject(object.protocolVersion); + } + if (object.defaultNodeId != null) + message.defaultNodeId = String(object.defaultNodeId); + if (object.listenAddr != null) + message.listenAddr = String(object.listenAddr); + if (object.network != null) + message.network = String(object.network); + if (object.version != null) + message.version = String(object.version); + if (object.channels != null) + if (typeof object.channels === "string") + $util.base64.decode(object.channels, message.channels = $util.newBuffer($util.base64.length(object.channels)), 0); + else if (object.channels.length) + message.channels = object.channels; + if (object.moniker != null) + message.moniker = String(object.moniker); + if (object.other != null) { + if (typeof object.other !== "object") + throw TypeError(".tendermint.p2p.DefaultNodeInfo.other: object expected"); + message.other = $root.tendermint.p2p.DefaultNodeInfoOther.fromObject(object.other); + } + return message; + }; + + /** + * Creates a plain object from a DefaultNodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.DefaultNodeInfo + * @static + * @param {tendermint.p2p.DefaultNodeInfo} message DefaultNodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DefaultNodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.protocolVersion = null; + object.defaultNodeId = ""; + object.listenAddr = ""; + object.network = ""; + object.version = ""; + if (options.bytes === String) + object.channels = ""; + else { + object.channels = []; + if (options.bytes !== Array) + object.channels = $util.newBuffer(object.channels); + } + object.moniker = ""; + object.other = null; + } + if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) + object.protocolVersion = $root.tendermint.p2p.ProtocolVersion.toObject(message.protocolVersion, options); + if (message.defaultNodeId != null && message.hasOwnProperty("defaultNodeId")) + object.defaultNodeId = message.defaultNodeId; + if (message.listenAddr != null && message.hasOwnProperty("listenAddr")) + object.listenAddr = message.listenAddr; + if (message.network != null && message.hasOwnProperty("network")) + object.network = message.network; + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + if (message.channels != null && message.hasOwnProperty("channels")) + object.channels = options.bytes === String ? $util.base64.encode(message.channels, 0, message.channels.length) : options.bytes === Array ? Array.prototype.slice.call(message.channels) : message.channels; + if (message.moniker != null && message.hasOwnProperty("moniker")) + object.moniker = message.moniker; + if (message.other != null && message.hasOwnProperty("other")) + object.other = $root.tendermint.p2p.DefaultNodeInfoOther.toObject(message.other, options); + return object; + }; + + /** + * Converts this DefaultNodeInfo to JSON. + * @function toJSON + * @memberof tendermint.p2p.DefaultNodeInfo + * @instance + * @returns {Object.} JSON object + */ + DefaultNodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DefaultNodeInfo; + })(); + + p2p.DefaultNodeInfoOther = (function() { + + /** + * Properties of a DefaultNodeInfoOther. + * @memberof tendermint.p2p + * @interface IDefaultNodeInfoOther + * @property {string|null} [txIndex] DefaultNodeInfoOther txIndex + * @property {string|null} [rpcAddress] DefaultNodeInfoOther rpcAddress + */ + + /** + * Constructs a new DefaultNodeInfoOther. + * @memberof tendermint.p2p + * @classdesc Represents a DefaultNodeInfoOther. + * @implements IDefaultNodeInfoOther + * @constructor + * @param {tendermint.p2p.IDefaultNodeInfoOther=} [properties] Properties to set + */ + function DefaultNodeInfoOther(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DefaultNodeInfoOther txIndex. + * @member {string} txIndex + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @instance + */ + DefaultNodeInfoOther.prototype.txIndex = ""; + + /** + * DefaultNodeInfoOther rpcAddress. + * @member {string} rpcAddress + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @instance + */ + DefaultNodeInfoOther.prototype.rpcAddress = ""; + + /** + * Creates a new DefaultNodeInfoOther instance using the specified properties. + * @function create + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {tendermint.p2p.IDefaultNodeInfoOther=} [properties] Properties to set + * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther instance + */ + DefaultNodeInfoOther.create = function create(properties) { + return new DefaultNodeInfoOther(properties); + }; + + /** + * Encodes the specified DefaultNodeInfoOther message. Does not implicitly {@link tendermint.p2p.DefaultNodeInfoOther.verify|verify} messages. + * @function encode + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {tendermint.p2p.IDefaultNodeInfoOther} message DefaultNodeInfoOther message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DefaultNodeInfoOther.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.txIndex != null && Object.hasOwnProperty.call(message, "txIndex")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.txIndex); + if (message.rpcAddress != null && Object.hasOwnProperty.call(message, "rpcAddress")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.rpcAddress); + return writer; + }; + + /** + * Encodes the specified DefaultNodeInfoOther message, length delimited. Does not implicitly {@link tendermint.p2p.DefaultNodeInfoOther.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {tendermint.p2p.IDefaultNodeInfoOther} message DefaultNodeInfoOther message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DefaultNodeInfoOther.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DefaultNodeInfoOther message from the specified reader or buffer. + * @function decode + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DefaultNodeInfoOther.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.DefaultNodeInfoOther(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txIndex = reader.string(); + break; + case 2: + message.rpcAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DefaultNodeInfoOther message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DefaultNodeInfoOther.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DefaultNodeInfoOther message. + * @function verify + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DefaultNodeInfoOther.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.txIndex != null && message.hasOwnProperty("txIndex")) + if (!$util.isString(message.txIndex)) + return "txIndex: string expected"; + if (message.rpcAddress != null && message.hasOwnProperty("rpcAddress")) + if (!$util.isString(message.rpcAddress)) + return "rpcAddress: string expected"; + return null; + }; + + /** + * Creates a DefaultNodeInfoOther message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {Object.} object Plain object + * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther + */ + DefaultNodeInfoOther.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.p2p.DefaultNodeInfoOther) + return object; + var message = new $root.tendermint.p2p.DefaultNodeInfoOther(); + if (object.txIndex != null) + message.txIndex = String(object.txIndex); + if (object.rpcAddress != null) + message.rpcAddress = String(object.rpcAddress); + return message; + }; + + /** + * Creates a plain object from a DefaultNodeInfoOther message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @static + * @param {tendermint.p2p.DefaultNodeInfoOther} message DefaultNodeInfoOther + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DefaultNodeInfoOther.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.txIndex = ""; + object.rpcAddress = ""; + } + if (message.txIndex != null && message.hasOwnProperty("txIndex")) + object.txIndex = message.txIndex; + if (message.rpcAddress != null && message.hasOwnProperty("rpcAddress")) + object.rpcAddress = message.rpcAddress; + return object; + }; + + /** + * Converts this DefaultNodeInfoOther to JSON. + * @function toJSON + * @memberof tendermint.p2p.DefaultNodeInfoOther + * @instance + * @returns {Object.} JSON object + */ + DefaultNodeInfoOther.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DefaultNodeInfoOther; + })(); + + return p2p; + })(); + + tendermint.privval = (function() { + + /** + * Namespace privval. + * @memberof tendermint + * @namespace + */ + var privval = {}; + + privval.PrivValidatorAPI = (function() { + + /** + * Constructs a new PrivValidatorAPI service. + * @memberof tendermint.privval + * @classdesc Represents a PrivValidatorAPI + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function PrivValidatorAPI(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (PrivValidatorAPI.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = PrivValidatorAPI; + + /** + * Creates new PrivValidatorAPI service using the specified rpc implementation. + * @function create + * @memberof tendermint.privval.PrivValidatorAPI + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {PrivValidatorAPI} RPC service. Useful where requests and/or responses are streamed. + */ + PrivValidatorAPI.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link tendermint.privval.PrivValidatorAPI#getPubKey}. + * @memberof tendermint.privval.PrivValidatorAPI + * @typedef GetPubKeyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.privval.PubKeyResponse} [response] PubKeyResponse + */ + + /** + * Calls GetPubKey. + * @function getPubKey + * @memberof tendermint.privval.PrivValidatorAPI + * @instance + * @param {tendermint.privval.IPubKeyRequest} request PubKeyRequest message or plain object + * @param {tendermint.privval.PrivValidatorAPI.GetPubKeyCallback} callback Node-style callback called with the error, if any, and PubKeyResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(PrivValidatorAPI.prototype.getPubKey = function getPubKey(request, callback) { + return this.rpcCall(getPubKey, $root.tendermint.privval.PubKeyRequest, $root.tendermint.privval.PubKeyResponse, request, callback); + }, "name", { value: "GetPubKey" }); + + /** + * Calls GetPubKey. + * @function getPubKey + * @memberof tendermint.privval.PrivValidatorAPI + * @instance + * @param {tendermint.privval.IPubKeyRequest} request PubKeyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link tendermint.privval.PrivValidatorAPI#signVote}. + * @memberof tendermint.privval.PrivValidatorAPI + * @typedef SignVoteCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.privval.SignedVoteResponse} [response] SignedVoteResponse + */ + + /** + * Calls SignVote. + * @function signVote + * @memberof tendermint.privval.PrivValidatorAPI + * @instance + * @param {tendermint.privval.ISignVoteRequest} request SignVoteRequest message or plain object + * @param {tendermint.privval.PrivValidatorAPI.SignVoteCallback} callback Node-style callback called with the error, if any, and SignedVoteResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(PrivValidatorAPI.prototype.signVote = function signVote(request, callback) { + return this.rpcCall(signVote, $root.tendermint.privval.SignVoteRequest, $root.tendermint.privval.SignedVoteResponse, request, callback); + }, "name", { value: "SignVote" }); + + /** + * Calls SignVote. + * @function signVote + * @memberof tendermint.privval.PrivValidatorAPI + * @instance + * @param {tendermint.privval.ISignVoteRequest} request SignVoteRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link tendermint.privval.PrivValidatorAPI#signProposal}. + * @memberof tendermint.privval.PrivValidatorAPI + * @typedef SignProposalCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.privval.SignedProposalResponse} [response] SignedProposalResponse + */ + + /** + * Calls SignProposal. + * @function signProposal + * @memberof tendermint.privval.PrivValidatorAPI + * @instance + * @param {tendermint.privval.ISignProposalRequest} request SignProposalRequest message or plain object + * @param {tendermint.privval.PrivValidatorAPI.SignProposalCallback} callback Node-style callback called with the error, if any, and SignedProposalResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(PrivValidatorAPI.prototype.signProposal = function signProposal(request, callback) { + return this.rpcCall(signProposal, $root.tendermint.privval.SignProposalRequest, $root.tendermint.privval.SignedProposalResponse, request, callback); + }, "name", { value: "SignProposal" }); + + /** + * Calls SignProposal. + * @function signProposal + * @memberof tendermint.privval.PrivValidatorAPI + * @instance + * @param {tendermint.privval.ISignProposalRequest} request SignProposalRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return PrivValidatorAPI; + })(); + + /** + * Errors enum. + * @name tendermint.privval.Errors + * @enum {number} + * @property {number} ERRORS_UNKNOWN=0 ERRORS_UNKNOWN value + * @property {number} ERRORS_UNEXPECTED_RESPONSE=1 ERRORS_UNEXPECTED_RESPONSE value + * @property {number} ERRORS_NO_CONNECTION=2 ERRORS_NO_CONNECTION value + * @property {number} ERRORS_CONNECTION_TIMEOUT=3 ERRORS_CONNECTION_TIMEOUT value + * @property {number} ERRORS_READ_TIMEOUT=4 ERRORS_READ_TIMEOUT value + * @property {number} ERRORS_WRITE_TIMEOUT=5 ERRORS_WRITE_TIMEOUT value + */ + privval.Errors = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ERRORS_UNKNOWN"] = 0; + values[valuesById[1] = "ERRORS_UNEXPECTED_RESPONSE"] = 1; + values[valuesById[2] = "ERRORS_NO_CONNECTION"] = 2; + values[valuesById[3] = "ERRORS_CONNECTION_TIMEOUT"] = 3; + values[valuesById[4] = "ERRORS_READ_TIMEOUT"] = 4; + values[valuesById[5] = "ERRORS_WRITE_TIMEOUT"] = 5; + return values; + })(); + + privval.RemoteSignerError = (function() { + + /** + * Properties of a RemoteSignerError. + * @memberof tendermint.privval + * @interface IRemoteSignerError + * @property {number|null} [code] RemoteSignerError code + * @property {string|null} [description] RemoteSignerError description + */ + + /** + * Constructs a new RemoteSignerError. + * @memberof tendermint.privval + * @classdesc Represents a RemoteSignerError. + * @implements IRemoteSignerError + * @constructor + * @param {tendermint.privval.IRemoteSignerError=} [properties] Properties to set + */ + function RemoteSignerError(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RemoteSignerError code. + * @member {number} code + * @memberof tendermint.privval.RemoteSignerError + * @instance + */ + RemoteSignerError.prototype.code = 0; + + /** + * RemoteSignerError description. + * @member {string} description + * @memberof tendermint.privval.RemoteSignerError + * @instance + */ + RemoteSignerError.prototype.description = ""; + + /** + * Creates a new RemoteSignerError instance using the specified properties. + * @function create + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {tendermint.privval.IRemoteSignerError=} [properties] Properties to set + * @returns {tendermint.privval.RemoteSignerError} RemoteSignerError instance + */ + RemoteSignerError.create = function create(properties) { + return new RemoteSignerError(properties); + }; + + /** + * Encodes the specified RemoteSignerError message. Does not implicitly {@link tendermint.privval.RemoteSignerError.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {tendermint.privval.IRemoteSignerError} message RemoteSignerError message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoteSignerError.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + return writer; + }; + + /** + * Encodes the specified RemoteSignerError message, length delimited. Does not implicitly {@link tendermint.privval.RemoteSignerError.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {tendermint.privval.IRemoteSignerError} message RemoteSignerError message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoteSignerError.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RemoteSignerError message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.RemoteSignerError} RemoteSignerError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoteSignerError.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.RemoteSignerError(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.int32(); + break; + case 2: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RemoteSignerError message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.RemoteSignerError} RemoteSignerError + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoteSignerError.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RemoteSignerError message. + * @function verify + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RemoteSignerError.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a RemoteSignerError message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.RemoteSignerError} RemoteSignerError + */ + RemoteSignerError.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.RemoteSignerError) + return object; + var message = new $root.tendermint.privval.RemoteSignerError(); + if (object.code != null) + message.code = object.code | 0; + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a RemoteSignerError message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.RemoteSignerError + * @static + * @param {tendermint.privval.RemoteSignerError} message RemoteSignerError + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RemoteSignerError.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.code = 0; + object.description = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this RemoteSignerError to JSON. + * @function toJSON + * @memberof tendermint.privval.RemoteSignerError + * @instance + * @returns {Object.} JSON object + */ + RemoteSignerError.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RemoteSignerError; + })(); + + privval.PubKeyRequest = (function() { + + /** + * Properties of a PubKeyRequest. + * @memberof tendermint.privval + * @interface IPubKeyRequest + * @property {string|null} [chainId] PubKeyRequest chainId + */ + + /** + * Constructs a new PubKeyRequest. + * @memberof tendermint.privval + * @classdesc Represents a PubKeyRequest. + * @implements IPubKeyRequest + * @constructor + * @param {tendermint.privval.IPubKeyRequest=} [properties] Properties to set + */ + function PubKeyRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PubKeyRequest chainId. + * @member {string} chainId + * @memberof tendermint.privval.PubKeyRequest + * @instance + */ + PubKeyRequest.prototype.chainId = ""; + + /** + * Creates a new PubKeyRequest instance using the specified properties. + * @function create + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {tendermint.privval.IPubKeyRequest=} [properties] Properties to set + * @returns {tendermint.privval.PubKeyRequest} PubKeyRequest instance + */ + PubKeyRequest.create = function create(properties) { + return new PubKeyRequest(properties); + }; + + /** + * Encodes the specified PubKeyRequest message. Does not implicitly {@link tendermint.privval.PubKeyRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {tendermint.privval.IPubKeyRequest} message PubKeyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PubKeyRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.chainId); + return writer; + }; + + /** + * Encodes the specified PubKeyRequest message, length delimited. Does not implicitly {@link tendermint.privval.PubKeyRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {tendermint.privval.IPubKeyRequest} message PubKeyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PubKeyRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PubKeyRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.PubKeyRequest} PubKeyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PubKeyRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.PubKeyRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.chainId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PubKeyRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.PubKeyRequest} PubKeyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PubKeyRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PubKeyRequest message. + * @function verify + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PubKeyRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + return null; + }; + + /** + * Creates a PubKeyRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.PubKeyRequest} PubKeyRequest + */ + PubKeyRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.PubKeyRequest) + return object; + var message = new $root.tendermint.privval.PubKeyRequest(); + if (object.chainId != null) + message.chainId = String(object.chainId); + return message; + }; + + /** + * Creates a plain object from a PubKeyRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.PubKeyRequest + * @static + * @param {tendermint.privval.PubKeyRequest} message PubKeyRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PubKeyRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.chainId = ""; + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + return object; + }; + + /** + * Converts this PubKeyRequest to JSON. + * @function toJSON + * @memberof tendermint.privval.PubKeyRequest + * @instance + * @returns {Object.} JSON object + */ + PubKeyRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PubKeyRequest; + })(); + + privval.PubKeyResponse = (function() { + + /** + * Properties of a PubKeyResponse. + * @memberof tendermint.privval + * @interface IPubKeyResponse + * @property {tendermint.crypto.IPublicKey|null} [pubKey] PubKeyResponse pubKey + * @property {tendermint.privval.IRemoteSignerError|null} [error] PubKeyResponse error + */ + + /** + * Constructs a new PubKeyResponse. + * @memberof tendermint.privval + * @classdesc Represents a PubKeyResponse. + * @implements IPubKeyResponse + * @constructor + * @param {tendermint.privval.IPubKeyResponse=} [properties] Properties to set + */ + function PubKeyResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PubKeyResponse pubKey. + * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey + * @memberof tendermint.privval.PubKeyResponse + * @instance + */ + PubKeyResponse.prototype.pubKey = null; + + /** + * PubKeyResponse error. + * @member {tendermint.privval.IRemoteSignerError|null|undefined} error + * @memberof tendermint.privval.PubKeyResponse + * @instance + */ + PubKeyResponse.prototype.error = null; + + /** + * Creates a new PubKeyResponse instance using the specified properties. + * @function create + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {tendermint.privval.IPubKeyResponse=} [properties] Properties to set + * @returns {tendermint.privval.PubKeyResponse} PubKeyResponse instance + */ + PubKeyResponse.create = function create(properties) { + return new PubKeyResponse(properties); + }; + + /** + * Encodes the specified PubKeyResponse message. Does not implicitly {@link tendermint.privval.PubKeyResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {tendermint.privval.IPubKeyResponse} message PubKeyResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PubKeyResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) + $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.tendermint.privval.RemoteSignerError.encode(message.error, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PubKeyResponse message, length delimited. Does not implicitly {@link tendermint.privval.PubKeyResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {tendermint.privval.IPubKeyResponse} message PubKeyResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PubKeyResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PubKeyResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.PubKeyResponse} PubKeyResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PubKeyResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.PubKeyResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); + break; + case 2: + message.error = $root.tendermint.privval.RemoteSignerError.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PubKeyResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.PubKeyResponse} PubKeyResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PubKeyResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PubKeyResponse message. + * @function verify + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PubKeyResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pubKey != null && message.hasOwnProperty("pubKey")) { + var error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); + if (error) + return "pubKey." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.tendermint.privval.RemoteSignerError.verify(message.error); + if (error) + return "error." + error; + } + return null; + }; + + /** + * Creates a PubKeyResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.PubKeyResponse} PubKeyResponse + */ + PubKeyResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.PubKeyResponse) + return object; + var message = new $root.tendermint.privval.PubKeyResponse(); + if (object.pubKey != null) { + if (typeof object.pubKey !== "object") + throw TypeError(".tendermint.privval.PubKeyResponse.pubKey: object expected"); + message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".tendermint.privval.PubKeyResponse.error: object expected"); + message.error = $root.tendermint.privval.RemoteSignerError.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a PubKeyResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.PubKeyResponse + * @static + * @param {tendermint.privval.PubKeyResponse} message PubKeyResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PubKeyResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.pubKey = null; + object.error = null; + } + if (message.pubKey != null && message.hasOwnProperty("pubKey")) + object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.tendermint.privval.RemoteSignerError.toObject(message.error, options); + return object; + }; + + /** + * Converts this PubKeyResponse to JSON. + * @function toJSON + * @memberof tendermint.privval.PubKeyResponse + * @instance + * @returns {Object.} JSON object + */ + PubKeyResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PubKeyResponse; + })(); + + privval.SignVoteRequest = (function() { + + /** + * Properties of a SignVoteRequest. + * @memberof tendermint.privval + * @interface ISignVoteRequest + * @property {tendermint.types.IVote|null} [vote] SignVoteRequest vote + * @property {string|null} [chainId] SignVoteRequest chainId + */ + + /** + * Constructs a new SignVoteRequest. + * @memberof tendermint.privval + * @classdesc Represents a SignVoteRequest. + * @implements ISignVoteRequest + * @constructor + * @param {tendermint.privval.ISignVoteRequest=} [properties] Properties to set + */ + function SignVoteRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignVoteRequest vote. + * @member {tendermint.types.IVote|null|undefined} vote + * @memberof tendermint.privval.SignVoteRequest + * @instance + */ + SignVoteRequest.prototype.vote = null; + + /** + * SignVoteRequest chainId. + * @member {string} chainId + * @memberof tendermint.privval.SignVoteRequest + * @instance + */ + SignVoteRequest.prototype.chainId = ""; + + /** + * Creates a new SignVoteRequest instance using the specified properties. + * @function create + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {tendermint.privval.ISignVoteRequest=} [properties] Properties to set + * @returns {tendermint.privval.SignVoteRequest} SignVoteRequest instance + */ + SignVoteRequest.create = function create(properties) { + return new SignVoteRequest(properties); + }; + + /** + * Encodes the specified SignVoteRequest message. Does not implicitly {@link tendermint.privval.SignVoteRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {tendermint.privval.ISignVoteRequest} message SignVoteRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignVoteRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) + $root.tendermint.types.Vote.encode(message.vote, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); + return writer; + }; + + /** + * Encodes the specified SignVoteRequest message, length delimited. Does not implicitly {@link tendermint.privval.SignVoteRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {tendermint.privval.ISignVoteRequest} message SignVoteRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignVoteRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignVoteRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.SignVoteRequest} SignVoteRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignVoteRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.SignVoteRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.vote = $root.tendermint.types.Vote.decode(reader, reader.uint32()); + break; + case 2: + message.chainId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignVoteRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.SignVoteRequest} SignVoteRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignVoteRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignVoteRequest message. + * @function verify + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignVoteRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vote != null && message.hasOwnProperty("vote")) { + var error = $root.tendermint.types.Vote.verify(message.vote); + if (error) + return "vote." + error; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + return null; + }; + + /** + * Creates a SignVoteRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.SignVoteRequest} SignVoteRequest + */ + SignVoteRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.SignVoteRequest) + return object; + var message = new $root.tendermint.privval.SignVoteRequest(); + if (object.vote != null) { + if (typeof object.vote !== "object") + throw TypeError(".tendermint.privval.SignVoteRequest.vote: object expected"); + message.vote = $root.tendermint.types.Vote.fromObject(object.vote); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + return message; + }; + + /** + * Creates a plain object from a SignVoteRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.SignVoteRequest + * @static + * @param {tendermint.privval.SignVoteRequest} message SignVoteRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignVoteRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.vote = null; + object.chainId = ""; + } + if (message.vote != null && message.hasOwnProperty("vote")) + object.vote = $root.tendermint.types.Vote.toObject(message.vote, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + return object; + }; + + /** + * Converts this SignVoteRequest to JSON. + * @function toJSON + * @memberof tendermint.privval.SignVoteRequest + * @instance + * @returns {Object.} JSON object + */ + SignVoteRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignVoteRequest; + })(); + + privval.SignedVoteResponse = (function() { + + /** + * Properties of a SignedVoteResponse. + * @memberof tendermint.privval + * @interface ISignedVoteResponse + * @property {tendermint.types.IVote|null} [vote] SignedVoteResponse vote + * @property {tendermint.privval.IRemoteSignerError|null} [error] SignedVoteResponse error + */ + + /** + * Constructs a new SignedVoteResponse. + * @memberof tendermint.privval + * @classdesc Represents a SignedVoteResponse. + * @implements ISignedVoteResponse + * @constructor + * @param {tendermint.privval.ISignedVoteResponse=} [properties] Properties to set + */ + function SignedVoteResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignedVoteResponse vote. + * @member {tendermint.types.IVote|null|undefined} vote + * @memberof tendermint.privval.SignedVoteResponse + * @instance + */ + SignedVoteResponse.prototype.vote = null; + + /** + * SignedVoteResponse error. + * @member {tendermint.privval.IRemoteSignerError|null|undefined} error + * @memberof tendermint.privval.SignedVoteResponse + * @instance + */ + SignedVoteResponse.prototype.error = null; + + /** + * Creates a new SignedVoteResponse instance using the specified properties. + * @function create + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {tendermint.privval.ISignedVoteResponse=} [properties] Properties to set + * @returns {tendermint.privval.SignedVoteResponse} SignedVoteResponse instance + */ + SignedVoteResponse.create = function create(properties) { + return new SignedVoteResponse(properties); + }; + + /** + * Encodes the specified SignedVoteResponse message. Does not implicitly {@link tendermint.privval.SignedVoteResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {tendermint.privval.ISignedVoteResponse} message SignedVoteResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedVoteResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) + $root.tendermint.types.Vote.encode(message.vote, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.tendermint.privval.RemoteSignerError.encode(message.error, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SignedVoteResponse message, length delimited. Does not implicitly {@link tendermint.privval.SignedVoteResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {tendermint.privval.ISignedVoteResponse} message SignedVoteResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedVoteResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignedVoteResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.SignedVoteResponse} SignedVoteResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedVoteResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.SignedVoteResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.vote = $root.tendermint.types.Vote.decode(reader, reader.uint32()); + break; + case 2: + message.error = $root.tendermint.privval.RemoteSignerError.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignedVoteResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.SignedVoteResponse} SignedVoteResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedVoteResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignedVoteResponse message. + * @function verify + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignedVoteResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vote != null && message.hasOwnProperty("vote")) { + var error = $root.tendermint.types.Vote.verify(message.vote); + if (error) + return "vote." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.tendermint.privval.RemoteSignerError.verify(message.error); + if (error) + return "error." + error; + } + return null; + }; + + /** + * Creates a SignedVoteResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.SignedVoteResponse} SignedVoteResponse + */ + SignedVoteResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.SignedVoteResponse) + return object; + var message = new $root.tendermint.privval.SignedVoteResponse(); + if (object.vote != null) { + if (typeof object.vote !== "object") + throw TypeError(".tendermint.privval.SignedVoteResponse.vote: object expected"); + message.vote = $root.tendermint.types.Vote.fromObject(object.vote); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".tendermint.privval.SignedVoteResponse.error: object expected"); + message.error = $root.tendermint.privval.RemoteSignerError.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a SignedVoteResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.SignedVoteResponse + * @static + * @param {tendermint.privval.SignedVoteResponse} message SignedVoteResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignedVoteResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.vote = null; + object.error = null; + } + if (message.vote != null && message.hasOwnProperty("vote")) + object.vote = $root.tendermint.types.Vote.toObject(message.vote, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.tendermint.privval.RemoteSignerError.toObject(message.error, options); + return object; + }; + + /** + * Converts this SignedVoteResponse to JSON. + * @function toJSON + * @memberof tendermint.privval.SignedVoteResponse + * @instance + * @returns {Object.} JSON object + */ + SignedVoteResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignedVoteResponse; + })(); + + privval.SignProposalRequest = (function() { + + /** + * Properties of a SignProposalRequest. + * @memberof tendermint.privval + * @interface ISignProposalRequest + * @property {tendermint.types.IProposal|null} [proposal] SignProposalRequest proposal + * @property {string|null} [chainId] SignProposalRequest chainId + */ + + /** + * Constructs a new SignProposalRequest. + * @memberof tendermint.privval + * @classdesc Represents a SignProposalRequest. + * @implements ISignProposalRequest + * @constructor + * @param {tendermint.privval.ISignProposalRequest=} [properties] Properties to set + */ + function SignProposalRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignProposalRequest proposal. + * @member {tendermint.types.IProposal|null|undefined} proposal + * @memberof tendermint.privval.SignProposalRequest + * @instance + */ + SignProposalRequest.prototype.proposal = null; + + /** + * SignProposalRequest chainId. + * @member {string} chainId + * @memberof tendermint.privval.SignProposalRequest + * @instance + */ + SignProposalRequest.prototype.chainId = ""; + + /** + * Creates a new SignProposalRequest instance using the specified properties. + * @function create + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {tendermint.privval.ISignProposalRequest=} [properties] Properties to set + * @returns {tendermint.privval.SignProposalRequest} SignProposalRequest instance + */ + SignProposalRequest.create = function create(properties) { + return new SignProposalRequest(properties); + }; + + /** + * Encodes the specified SignProposalRequest message. Does not implicitly {@link tendermint.privval.SignProposalRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {tendermint.privval.ISignProposalRequest} message SignProposalRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignProposalRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.proposal != null && Object.hasOwnProperty.call(message, "proposal")) + $root.tendermint.types.Proposal.encode(message.proposal, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); + return writer; + }; + + /** + * Encodes the specified SignProposalRequest message, length delimited. Does not implicitly {@link tendermint.privval.SignProposalRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {tendermint.privval.ISignProposalRequest} message SignProposalRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignProposalRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignProposalRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.SignProposalRequest} SignProposalRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignProposalRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.SignProposalRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposal = $root.tendermint.types.Proposal.decode(reader, reader.uint32()); + break; + case 2: + message.chainId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignProposalRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.SignProposalRequest} SignProposalRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignProposalRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignProposalRequest message. + * @function verify + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignProposalRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.proposal != null && message.hasOwnProperty("proposal")) { + var error = $root.tendermint.types.Proposal.verify(message.proposal); + if (error) + return "proposal." + error; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + return null; + }; + + /** + * Creates a SignProposalRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.SignProposalRequest} SignProposalRequest + */ + SignProposalRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.SignProposalRequest) + return object; + var message = new $root.tendermint.privval.SignProposalRequest(); + if (object.proposal != null) { + if (typeof object.proposal !== "object") + throw TypeError(".tendermint.privval.SignProposalRequest.proposal: object expected"); + message.proposal = $root.tendermint.types.Proposal.fromObject(object.proposal); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + return message; + }; + + /** + * Creates a plain object from a SignProposalRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.SignProposalRequest + * @static + * @param {tendermint.privval.SignProposalRequest} message SignProposalRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignProposalRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.proposal = null; + object.chainId = ""; + } + if (message.proposal != null && message.hasOwnProperty("proposal")) + object.proposal = $root.tendermint.types.Proposal.toObject(message.proposal, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + return object; + }; + + /** + * Converts this SignProposalRequest to JSON. + * @function toJSON + * @memberof tendermint.privval.SignProposalRequest + * @instance + * @returns {Object.} JSON object + */ + SignProposalRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignProposalRequest; + })(); + + privval.SignedProposalResponse = (function() { + + /** + * Properties of a SignedProposalResponse. + * @memberof tendermint.privval + * @interface ISignedProposalResponse + * @property {tendermint.types.IProposal|null} [proposal] SignedProposalResponse proposal + * @property {tendermint.privval.IRemoteSignerError|null} [error] SignedProposalResponse error + */ + + /** + * Constructs a new SignedProposalResponse. + * @memberof tendermint.privval + * @classdesc Represents a SignedProposalResponse. + * @implements ISignedProposalResponse + * @constructor + * @param {tendermint.privval.ISignedProposalResponse=} [properties] Properties to set + */ + function SignedProposalResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignedProposalResponse proposal. + * @member {tendermint.types.IProposal|null|undefined} proposal + * @memberof tendermint.privval.SignedProposalResponse + * @instance + */ + SignedProposalResponse.prototype.proposal = null; + + /** + * SignedProposalResponse error. + * @member {tendermint.privval.IRemoteSignerError|null|undefined} error + * @memberof tendermint.privval.SignedProposalResponse + * @instance + */ + SignedProposalResponse.prototype.error = null; + + /** + * Creates a new SignedProposalResponse instance using the specified properties. + * @function create + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {tendermint.privval.ISignedProposalResponse=} [properties] Properties to set + * @returns {tendermint.privval.SignedProposalResponse} SignedProposalResponse instance + */ + SignedProposalResponse.create = function create(properties) { + return new SignedProposalResponse(properties); + }; + + /** + * Encodes the specified SignedProposalResponse message. Does not implicitly {@link tendermint.privval.SignedProposalResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {tendermint.privval.ISignedProposalResponse} message SignedProposalResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedProposalResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.proposal != null && Object.hasOwnProperty.call(message, "proposal")) + $root.tendermint.types.Proposal.encode(message.proposal, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.tendermint.privval.RemoteSignerError.encode(message.error, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SignedProposalResponse message, length delimited. Does not implicitly {@link tendermint.privval.SignedProposalResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {tendermint.privval.ISignedProposalResponse} message SignedProposalResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedProposalResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignedProposalResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.SignedProposalResponse} SignedProposalResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedProposalResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.SignedProposalResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposal = $root.tendermint.types.Proposal.decode(reader, reader.uint32()); + break; + case 2: + message.error = $root.tendermint.privval.RemoteSignerError.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignedProposalResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.SignedProposalResponse} SignedProposalResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedProposalResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignedProposalResponse message. + * @function verify + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignedProposalResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.proposal != null && message.hasOwnProperty("proposal")) { + var error = $root.tendermint.types.Proposal.verify(message.proposal); + if (error) + return "proposal." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.tendermint.privval.RemoteSignerError.verify(message.error); + if (error) + return "error." + error; + } + return null; + }; + + /** + * Creates a SignedProposalResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.SignedProposalResponse} SignedProposalResponse + */ + SignedProposalResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.SignedProposalResponse) + return object; + var message = new $root.tendermint.privval.SignedProposalResponse(); + if (object.proposal != null) { + if (typeof object.proposal !== "object") + throw TypeError(".tendermint.privval.SignedProposalResponse.proposal: object expected"); + message.proposal = $root.tendermint.types.Proposal.fromObject(object.proposal); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".tendermint.privval.SignedProposalResponse.error: object expected"); + message.error = $root.tendermint.privval.RemoteSignerError.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from a SignedProposalResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.SignedProposalResponse + * @static + * @param {tendermint.privval.SignedProposalResponse} message SignedProposalResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignedProposalResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.proposal = null; + object.error = null; + } + if (message.proposal != null && message.hasOwnProperty("proposal")) + object.proposal = $root.tendermint.types.Proposal.toObject(message.proposal, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.tendermint.privval.RemoteSignerError.toObject(message.error, options); + return object; + }; + + /** + * Converts this SignedProposalResponse to JSON. + * @function toJSON + * @memberof tendermint.privval.SignedProposalResponse + * @instance + * @returns {Object.} JSON object + */ + SignedProposalResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignedProposalResponse; + })(); + + privval.PingRequest = (function() { + + /** + * Properties of a PingRequest. + * @memberof tendermint.privval + * @interface IPingRequest + */ + + /** + * Constructs a new PingRequest. + * @memberof tendermint.privval + * @classdesc Represents a PingRequest. + * @implements IPingRequest + * @constructor + * @param {tendermint.privval.IPingRequest=} [properties] Properties to set + */ + function PingRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new PingRequest instance using the specified properties. + * @function create + * @memberof tendermint.privval.PingRequest + * @static + * @param {tendermint.privval.IPingRequest=} [properties] Properties to set + * @returns {tendermint.privval.PingRequest} PingRequest instance + */ + PingRequest.create = function create(properties) { + return new PingRequest(properties); + }; + + /** + * Encodes the specified PingRequest message. Does not implicitly {@link tendermint.privval.PingRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.PingRequest + * @static + * @param {tendermint.privval.IPingRequest} message PingRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PingRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified PingRequest message, length delimited. Does not implicitly {@link tendermint.privval.PingRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.PingRequest + * @static + * @param {tendermint.privval.IPingRequest} message PingRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PingRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PingRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.PingRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.PingRequest} PingRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PingRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.PingRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PingRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.PingRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.PingRequest} PingRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PingRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PingRequest message. + * @function verify + * @memberof tendermint.privval.PingRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PingRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a PingRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.PingRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.PingRequest} PingRequest + */ + PingRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.PingRequest) + return object; + return new $root.tendermint.privval.PingRequest(); + }; + + /** + * Creates a plain object from a PingRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.PingRequest + * @static + * @param {tendermint.privval.PingRequest} message PingRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PingRequest.toObject = function toObject() { + return {}; + }; + + /** + * Converts this PingRequest to JSON. + * @function toJSON + * @memberof tendermint.privval.PingRequest + * @instance + * @returns {Object.} JSON object + */ + PingRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PingRequest; + })(); + + privval.PingResponse = (function() { + + /** + * Properties of a PingResponse. + * @memberof tendermint.privval + * @interface IPingResponse + */ + + /** + * Constructs a new PingResponse. + * @memberof tendermint.privval + * @classdesc Represents a PingResponse. + * @implements IPingResponse + * @constructor + * @param {tendermint.privval.IPingResponse=} [properties] Properties to set + */ + function PingResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new PingResponse instance using the specified properties. + * @function create + * @memberof tendermint.privval.PingResponse + * @static + * @param {tendermint.privval.IPingResponse=} [properties] Properties to set + * @returns {tendermint.privval.PingResponse} PingResponse instance + */ + PingResponse.create = function create(properties) { + return new PingResponse(properties); + }; + + /** + * Encodes the specified PingResponse message. Does not implicitly {@link tendermint.privval.PingResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.PingResponse + * @static + * @param {tendermint.privval.IPingResponse} message PingResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PingResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified PingResponse message, length delimited. Does not implicitly {@link tendermint.privval.PingResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.PingResponse + * @static + * @param {tendermint.privval.IPingResponse} message PingResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PingResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PingResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.PingResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.PingResponse} PingResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PingResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.PingResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PingResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.PingResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.PingResponse} PingResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PingResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PingResponse message. + * @function verify + * @memberof tendermint.privval.PingResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PingResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a PingResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.PingResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.PingResponse} PingResponse + */ + PingResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.PingResponse) + return object; + return new $root.tendermint.privval.PingResponse(); + }; + + /** + * Creates a plain object from a PingResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.PingResponse + * @static + * @param {tendermint.privval.PingResponse} message PingResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PingResponse.toObject = function toObject() { + return {}; + }; + + /** + * Converts this PingResponse to JSON. + * @function toJSON + * @memberof tendermint.privval.PingResponse + * @instance + * @returns {Object.} JSON object + */ + PingResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PingResponse; + })(); + + privval.Message = (function() { + + /** + * Properties of a Message. + * @memberof tendermint.privval + * @interface IMessage + * @property {tendermint.privval.IPubKeyRequest|null} [pubKeyRequest] Message pubKeyRequest + * @property {tendermint.privval.IPubKeyResponse|null} [pubKeyResponse] Message pubKeyResponse + * @property {tendermint.privval.ISignVoteRequest|null} [signVoteRequest] Message signVoteRequest + * @property {tendermint.privval.ISignedVoteResponse|null} [signedVoteResponse] Message signedVoteResponse + * @property {tendermint.privval.ISignProposalRequest|null} [signProposalRequest] Message signProposalRequest + * @property {tendermint.privval.ISignedProposalResponse|null} [signedProposalResponse] Message signedProposalResponse + * @property {tendermint.privval.IPingRequest|null} [pingRequest] Message pingRequest + * @property {tendermint.privval.IPingResponse|null} [pingResponse] Message pingResponse + */ + + /** + * Constructs a new Message. + * @memberof tendermint.privval + * @classdesc Represents a Message. + * @implements IMessage + * @constructor + * @param {tendermint.privval.IMessage=} [properties] Properties to set + */ + function Message(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Message pubKeyRequest. + * @member {tendermint.privval.IPubKeyRequest|null|undefined} pubKeyRequest + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.pubKeyRequest = null; + + /** + * Message pubKeyResponse. + * @member {tendermint.privval.IPubKeyResponse|null|undefined} pubKeyResponse + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.pubKeyResponse = null; + + /** + * Message signVoteRequest. + * @member {tendermint.privval.ISignVoteRequest|null|undefined} signVoteRequest + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.signVoteRequest = null; + + /** + * Message signedVoteResponse. + * @member {tendermint.privval.ISignedVoteResponse|null|undefined} signedVoteResponse + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.signedVoteResponse = null; + + /** + * Message signProposalRequest. + * @member {tendermint.privval.ISignProposalRequest|null|undefined} signProposalRequest + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.signProposalRequest = null; + + /** + * Message signedProposalResponse. + * @member {tendermint.privval.ISignedProposalResponse|null|undefined} signedProposalResponse + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.signedProposalResponse = null; + + /** + * Message pingRequest. + * @member {tendermint.privval.IPingRequest|null|undefined} pingRequest + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.pingRequest = null; + + /** + * Message pingResponse. + * @member {tendermint.privval.IPingResponse|null|undefined} pingResponse + * @memberof tendermint.privval.Message + * @instance + */ + Message.prototype.pingResponse = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Message sum. + * @member {"pubKeyRequest"|"pubKeyResponse"|"signVoteRequest"|"signedVoteResponse"|"signProposalRequest"|"signedProposalResponse"|"pingRequest"|"pingResponse"|undefined} sum + * @memberof tendermint.privval.Message + * @instance + */ + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["pubKeyRequest", "pubKeyResponse", "signVoteRequest", "signedVoteResponse", "signProposalRequest", "signedProposalResponse", "pingRequest", "pingResponse"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.privval.Message + * @static + * @param {tendermint.privval.IMessage=} [properties] Properties to set + * @returns {tendermint.privval.Message} Message instance + */ + Message.create = function create(properties) { + return new Message(properties); + }; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.privval.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.privval.Message + * @static + * @param {tendermint.privval.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubKeyRequest != null && Object.hasOwnProperty.call(message, "pubKeyRequest")) + $root.tendermint.privval.PubKeyRequest.encode(message.pubKeyRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pubKeyResponse != null && Object.hasOwnProperty.call(message, "pubKeyResponse")) + $root.tendermint.privval.PubKeyResponse.encode(message.pubKeyResponse, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.signVoteRequest != null && Object.hasOwnProperty.call(message, "signVoteRequest")) + $root.tendermint.privval.SignVoteRequest.encode(message.signVoteRequest, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.signedVoteResponse != null && Object.hasOwnProperty.call(message, "signedVoteResponse")) + $root.tendermint.privval.SignedVoteResponse.encode(message.signedVoteResponse, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.signProposalRequest != null && Object.hasOwnProperty.call(message, "signProposalRequest")) + $root.tendermint.privval.SignProposalRequest.encode(message.signProposalRequest, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.signedProposalResponse != null && Object.hasOwnProperty.call(message, "signedProposalResponse")) + $root.tendermint.privval.SignedProposalResponse.encode(message.signedProposalResponse, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.pingRequest != null && Object.hasOwnProperty.call(message, "pingRequest")) + $root.tendermint.privval.PingRequest.encode(message.pingRequest, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.pingResponse != null && Object.hasOwnProperty.call(message, "pingResponse")) + $root.tendermint.privval.PingResponse.encode(message.pingResponse, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.privval.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.privval.Message + * @static + * @param {tendermint.privval.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.privval.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.privval.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.privval.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKeyRequest = $root.tendermint.privval.PubKeyRequest.decode(reader, reader.uint32()); + break; + case 2: + message.pubKeyResponse = $root.tendermint.privval.PubKeyResponse.decode(reader, reader.uint32()); + break; + case 3: + message.signVoteRequest = $root.tendermint.privval.SignVoteRequest.decode(reader, reader.uint32()); + break; + case 4: + message.signedVoteResponse = $root.tendermint.privval.SignedVoteResponse.decode(reader, reader.uint32()); + break; + case 5: + message.signProposalRequest = $root.tendermint.privval.SignProposalRequest.decode(reader, reader.uint32()); + break; + case 6: + message.signedProposalResponse = $root.tendermint.privval.SignedProposalResponse.decode(reader, reader.uint32()); + break; + case 7: + message.pingRequest = $root.tendermint.privval.PingRequest.decode(reader, reader.uint32()); + break; + case 8: + message.pingResponse = $root.tendermint.privval.PingResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.privval.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.privval.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Message message. + * @function verify + * @memberof tendermint.privval.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.pubKeyRequest != null && message.hasOwnProperty("pubKeyRequest")) { + properties.sum = 1; + { + var error = $root.tendermint.privval.PubKeyRequest.verify(message.pubKeyRequest); + if (error) + return "pubKeyRequest." + error; + } + } + if (message.pubKeyResponse != null && message.hasOwnProperty("pubKeyResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.PubKeyResponse.verify(message.pubKeyResponse); + if (error) + return "pubKeyResponse." + error; + } + } + if (message.signVoteRequest != null && message.hasOwnProperty("signVoteRequest")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.SignVoteRequest.verify(message.signVoteRequest); + if (error) + return "signVoteRequest." + error; + } + } + if (message.signedVoteResponse != null && message.hasOwnProperty("signedVoteResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.SignedVoteResponse.verify(message.signedVoteResponse); + if (error) + return "signedVoteResponse." + error; + } + } + if (message.signProposalRequest != null && message.hasOwnProperty("signProposalRequest")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.SignProposalRequest.verify(message.signProposalRequest); + if (error) + return "signProposalRequest." + error; + } + } + if (message.signedProposalResponse != null && message.hasOwnProperty("signedProposalResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.SignedProposalResponse.verify(message.signedProposalResponse); + if (error) + return "signedProposalResponse." + error; + } + } + if (message.pingRequest != null && message.hasOwnProperty("pingRequest")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.PingRequest.verify(message.pingRequest); + if (error) + return "pingRequest." + error; + } + } + if (message.pingResponse != null && message.hasOwnProperty("pingResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.privval.PingResponse.verify(message.pingResponse); + if (error) + return "pingResponse." + error; + } + } + return null; + }; + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.privval.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.privval.Message} Message + */ + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.privval.Message) + return object; + var message = new $root.tendermint.privval.Message(); + if (object.pubKeyRequest != null) { + if (typeof object.pubKeyRequest !== "object") + throw TypeError(".tendermint.privval.Message.pubKeyRequest: object expected"); + message.pubKeyRequest = $root.tendermint.privval.PubKeyRequest.fromObject(object.pubKeyRequest); + } + if (object.pubKeyResponse != null) { + if (typeof object.pubKeyResponse !== "object") + throw TypeError(".tendermint.privval.Message.pubKeyResponse: object expected"); + message.pubKeyResponse = $root.tendermint.privval.PubKeyResponse.fromObject(object.pubKeyResponse); + } + if (object.signVoteRequest != null) { + if (typeof object.signVoteRequest !== "object") + throw TypeError(".tendermint.privval.Message.signVoteRequest: object expected"); + message.signVoteRequest = $root.tendermint.privval.SignVoteRequest.fromObject(object.signVoteRequest); + } + if (object.signedVoteResponse != null) { + if (typeof object.signedVoteResponse !== "object") + throw TypeError(".tendermint.privval.Message.signedVoteResponse: object expected"); + message.signedVoteResponse = $root.tendermint.privval.SignedVoteResponse.fromObject(object.signedVoteResponse); + } + if (object.signProposalRequest != null) { + if (typeof object.signProposalRequest !== "object") + throw TypeError(".tendermint.privval.Message.signProposalRequest: object expected"); + message.signProposalRequest = $root.tendermint.privval.SignProposalRequest.fromObject(object.signProposalRequest); + } + if (object.signedProposalResponse != null) { + if (typeof object.signedProposalResponse !== "object") + throw TypeError(".tendermint.privval.Message.signedProposalResponse: object expected"); + message.signedProposalResponse = $root.tendermint.privval.SignedProposalResponse.fromObject(object.signedProposalResponse); + } + if (object.pingRequest != null) { + if (typeof object.pingRequest !== "object") + throw TypeError(".tendermint.privval.Message.pingRequest: object expected"); + message.pingRequest = $root.tendermint.privval.PingRequest.fromObject(object.pingRequest); + } + if (object.pingResponse != null) { + if (typeof object.pingResponse !== "object") + throw TypeError(".tendermint.privval.Message.pingResponse: object expected"); + message.pingResponse = $root.tendermint.privval.PingResponse.fromObject(object.pingResponse); + } + return message; + }; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.privval.Message + * @static + * @param {tendermint.privval.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.pubKeyRequest != null && message.hasOwnProperty("pubKeyRequest")) { + object.pubKeyRequest = $root.tendermint.privval.PubKeyRequest.toObject(message.pubKeyRequest, options); + if (options.oneofs) + object.sum = "pubKeyRequest"; + } + if (message.pubKeyResponse != null && message.hasOwnProperty("pubKeyResponse")) { + object.pubKeyResponse = $root.tendermint.privval.PubKeyResponse.toObject(message.pubKeyResponse, options); + if (options.oneofs) + object.sum = "pubKeyResponse"; + } + if (message.signVoteRequest != null && message.hasOwnProperty("signVoteRequest")) { + object.signVoteRequest = $root.tendermint.privval.SignVoteRequest.toObject(message.signVoteRequest, options); + if (options.oneofs) + object.sum = "signVoteRequest"; + } + if (message.signedVoteResponse != null && message.hasOwnProperty("signedVoteResponse")) { + object.signedVoteResponse = $root.tendermint.privval.SignedVoteResponse.toObject(message.signedVoteResponse, options); + if (options.oneofs) + object.sum = "signedVoteResponse"; + } + if (message.signProposalRequest != null && message.hasOwnProperty("signProposalRequest")) { + object.signProposalRequest = $root.tendermint.privval.SignProposalRequest.toObject(message.signProposalRequest, options); + if (options.oneofs) + object.sum = "signProposalRequest"; + } + if (message.signedProposalResponse != null && message.hasOwnProperty("signedProposalResponse")) { + object.signedProposalResponse = $root.tendermint.privval.SignedProposalResponse.toObject(message.signedProposalResponse, options); + if (options.oneofs) + object.sum = "signedProposalResponse"; + } + if (message.pingRequest != null && message.hasOwnProperty("pingRequest")) { + object.pingRequest = $root.tendermint.privval.PingRequest.toObject(message.pingRequest, options); + if (options.oneofs) + object.sum = "pingRequest"; + } + if (message.pingResponse != null && message.hasOwnProperty("pingResponse")) { + object.pingResponse = $root.tendermint.privval.PingResponse.toObject(message.pingResponse, options); + if (options.oneofs) + object.sum = "pingResponse"; + } + return object; + }; + + /** + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.privval.Message + * @instance + * @returns {Object.} JSON object + */ + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + return privval; + })(); + + tendermint.rpc = (function() { + + /** + * Namespace rpc. + * @memberof tendermint + * @namespace + */ + var rpc = {}; + + rpc.grpc = (function() { + + /** + * Namespace grpc. + * @memberof tendermint.rpc + * @namespace + */ + var grpc = {}; + + grpc.RequestPing = (function() { + + /** + * Properties of a RequestPing. + * @memberof tendermint.rpc.grpc + * @interface IRequestPing + */ + + /** + * Constructs a new RequestPing. + * @memberof tendermint.rpc.grpc + * @classdesc Represents a RequestPing. + * @implements IRequestPing + * @constructor + * @param {tendermint.rpc.grpc.IRequestPing=} [properties] Properties to set + */ + function RequestPing(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new RequestPing instance using the specified properties. + * @function create + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {tendermint.rpc.grpc.IRequestPing=} [properties] Properties to set + * @returns {tendermint.rpc.grpc.RequestPing} RequestPing instance + */ + RequestPing.create = function create(properties) { + return new RequestPing(properties); + }; + + /** + * Encodes the specified RequestPing message. Does not implicitly {@link tendermint.rpc.grpc.RequestPing.verify|verify} messages. + * @function encode + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {tendermint.rpc.grpc.IRequestPing} message RequestPing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestPing.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified RequestPing message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.RequestPing.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {tendermint.rpc.grpc.IRequestPing} message RequestPing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestPing.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RequestPing message from the specified reader or buffer. + * @function decode + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.rpc.grpc.RequestPing} RequestPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestPing.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.rpc.grpc.RequestPing(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RequestPing message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.rpc.grpc.RequestPing} RequestPing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestPing.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RequestPing message. + * @function verify + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestPing.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a RequestPing message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {Object.} object Plain object + * @returns {tendermint.rpc.grpc.RequestPing} RequestPing + */ + RequestPing.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.rpc.grpc.RequestPing) + return object; + return new $root.tendermint.rpc.grpc.RequestPing(); + }; + + /** + * Creates a plain object from a RequestPing message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.rpc.grpc.RequestPing + * @static + * @param {tendermint.rpc.grpc.RequestPing} message RequestPing + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestPing.toObject = function toObject() { + return {}; + }; + + /** + * Converts this RequestPing to JSON. + * @function toJSON + * @memberof tendermint.rpc.grpc.RequestPing + * @instance + * @returns {Object.} JSON object + */ + RequestPing.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RequestPing; + })(); + + grpc.RequestBroadcastTx = (function() { + + /** + * Properties of a RequestBroadcastTx. + * @memberof tendermint.rpc.grpc + * @interface IRequestBroadcastTx + * @property {Uint8Array|null} [tx] RequestBroadcastTx tx + */ + + /** + * Constructs a new RequestBroadcastTx. + * @memberof tendermint.rpc.grpc + * @classdesc Represents a RequestBroadcastTx. + * @implements IRequestBroadcastTx + * @constructor + * @param {tendermint.rpc.grpc.IRequestBroadcastTx=} [properties] Properties to set + */ + function RequestBroadcastTx(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RequestBroadcastTx tx. + * @member {Uint8Array} tx + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @instance + */ + RequestBroadcastTx.prototype.tx = $util.newBuffer([]); + + /** + * Creates a new RequestBroadcastTx instance using the specified properties. + * @function create + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {tendermint.rpc.grpc.IRequestBroadcastTx=} [properties] Properties to set + * @returns {tendermint.rpc.grpc.RequestBroadcastTx} RequestBroadcastTx instance + */ + RequestBroadcastTx.create = function create(properties) { + return new RequestBroadcastTx(properties); + }; + + /** + * Encodes the specified RequestBroadcastTx message. Does not implicitly {@link tendermint.rpc.grpc.RequestBroadcastTx.verify|verify} messages. + * @function encode + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {tendermint.rpc.grpc.IRequestBroadcastTx} message RequestBroadcastTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestBroadcastTx.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); + return writer; + }; + + /** + * Encodes the specified RequestBroadcastTx message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.RequestBroadcastTx.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {tendermint.rpc.grpc.IRequestBroadcastTx} message RequestBroadcastTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RequestBroadcastTx.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RequestBroadcastTx message from the specified reader or buffer. + * @function decode + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.rpc.grpc.RequestBroadcastTx} RequestBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestBroadcastTx.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.rpc.grpc.RequestBroadcastTx(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RequestBroadcastTx message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.rpc.grpc.RequestBroadcastTx} RequestBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RequestBroadcastTx.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RequestBroadcastTx message. + * @function verify + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RequestBroadcastTx.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tx != null && message.hasOwnProperty("tx")) + if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) + return "tx: buffer expected"; + return null; + }; + + /** + * Creates a RequestBroadcastTx message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {Object.} object Plain object + * @returns {tendermint.rpc.grpc.RequestBroadcastTx} RequestBroadcastTx + */ + RequestBroadcastTx.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.rpc.grpc.RequestBroadcastTx) + return object; + var message = new $root.tendermint.rpc.grpc.RequestBroadcastTx(); + if (object.tx != null) + if (typeof object.tx === "string") + $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); + else if (object.tx.length) + message.tx = object.tx; + return message; + }; + + /** + * Creates a plain object from a RequestBroadcastTx message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @static + * @param {tendermint.rpc.grpc.RequestBroadcastTx} message RequestBroadcastTx + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RequestBroadcastTx.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.tx = ""; + else { + object.tx = []; + if (options.bytes !== Array) + object.tx = $util.newBuffer(object.tx); + } + if (message.tx != null && message.hasOwnProperty("tx")) + object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; + return object; + }; + + /** + * Converts this RequestBroadcastTx to JSON. + * @function toJSON + * @memberof tendermint.rpc.grpc.RequestBroadcastTx + * @instance + * @returns {Object.} JSON object + */ + RequestBroadcastTx.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RequestBroadcastTx; + })(); + + grpc.ResponsePing = (function() { + + /** + * Properties of a ResponsePing. + * @memberof tendermint.rpc.grpc + * @interface IResponsePing + */ + + /** + * Constructs a new ResponsePing. + * @memberof tendermint.rpc.grpc + * @classdesc Represents a ResponsePing. + * @implements IResponsePing + * @constructor + * @param {tendermint.rpc.grpc.IResponsePing=} [properties] Properties to set + */ + function ResponsePing(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ResponsePing instance using the specified properties. + * @function create + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {tendermint.rpc.grpc.IResponsePing=} [properties] Properties to set + * @returns {tendermint.rpc.grpc.ResponsePing} ResponsePing instance + */ + ResponsePing.create = function create(properties) { + return new ResponsePing(properties); + }; + + /** + * Encodes the specified ResponsePing message. Does not implicitly {@link tendermint.rpc.grpc.ResponsePing.verify|verify} messages. + * @function encode + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {tendermint.rpc.grpc.IResponsePing} message ResponsePing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponsePing.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ResponsePing message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.ResponsePing.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {tendermint.rpc.grpc.IResponsePing} message ResponsePing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponsePing.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResponsePing message from the specified reader or buffer. + * @function decode + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.rpc.grpc.ResponsePing} ResponsePing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponsePing.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.rpc.grpc.ResponsePing(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResponsePing message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.rpc.grpc.ResponsePing} ResponsePing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponsePing.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResponsePing message. + * @function verify + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponsePing.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a ResponsePing message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {Object.} object Plain object + * @returns {tendermint.rpc.grpc.ResponsePing} ResponsePing + */ + ResponsePing.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.rpc.grpc.ResponsePing) + return object; + return new $root.tendermint.rpc.grpc.ResponsePing(); + }; + + /** + * Creates a plain object from a ResponsePing message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.rpc.grpc.ResponsePing + * @static + * @param {tendermint.rpc.grpc.ResponsePing} message ResponsePing + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponsePing.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ResponsePing to JSON. + * @function toJSON + * @memberof tendermint.rpc.grpc.ResponsePing + * @instance + * @returns {Object.} JSON object + */ + ResponsePing.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ResponsePing; + })(); + + grpc.ResponseBroadcastTx = (function() { + + /** + * Properties of a ResponseBroadcastTx. + * @memberof tendermint.rpc.grpc + * @interface IResponseBroadcastTx + * @property {tendermint.abci.IResponseCheckTx|null} [checkTx] ResponseBroadcastTx checkTx + * @property {tendermint.abci.IResponseDeliverTx|null} [deliverTx] ResponseBroadcastTx deliverTx + */ + + /** + * Constructs a new ResponseBroadcastTx. + * @memberof tendermint.rpc.grpc + * @classdesc Represents a ResponseBroadcastTx. + * @implements IResponseBroadcastTx + * @constructor + * @param {tendermint.rpc.grpc.IResponseBroadcastTx=} [properties] Properties to set + */ + function ResponseBroadcastTx(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResponseBroadcastTx checkTx. + * @member {tendermint.abci.IResponseCheckTx|null|undefined} checkTx + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @instance + */ + ResponseBroadcastTx.prototype.checkTx = null; + + /** + * ResponseBroadcastTx deliverTx. + * @member {tendermint.abci.IResponseDeliverTx|null|undefined} deliverTx + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @instance + */ + ResponseBroadcastTx.prototype.deliverTx = null; + + /** + * Creates a new ResponseBroadcastTx instance using the specified properties. + * @function create + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {tendermint.rpc.grpc.IResponseBroadcastTx=} [properties] Properties to set + * @returns {tendermint.rpc.grpc.ResponseBroadcastTx} ResponseBroadcastTx instance + */ + ResponseBroadcastTx.create = function create(properties) { + return new ResponseBroadcastTx(properties); + }; + + /** + * Encodes the specified ResponseBroadcastTx message. Does not implicitly {@link tendermint.rpc.grpc.ResponseBroadcastTx.verify|verify} messages. + * @function encode + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {tendermint.rpc.grpc.IResponseBroadcastTx} message ResponseBroadcastTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseBroadcastTx.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.checkTx != null && Object.hasOwnProperty.call(message, "checkTx")) + $root.tendermint.abci.ResponseCheckTx.encode(message.checkTx, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.deliverTx != null && Object.hasOwnProperty.call(message, "deliverTx")) + $root.tendermint.abci.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ResponseBroadcastTx message, length delimited. Does not implicitly {@link tendermint.rpc.grpc.ResponseBroadcastTx.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {tendermint.rpc.grpc.IResponseBroadcastTx} message ResponseBroadcastTx message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResponseBroadcastTx.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResponseBroadcastTx message from the specified reader or buffer. + * @function decode + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.rpc.grpc.ResponseBroadcastTx} ResponseBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseBroadcastTx.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.rpc.grpc.ResponseBroadcastTx(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.checkTx = $root.tendermint.abci.ResponseCheckTx.decode(reader, reader.uint32()); + break; + case 2: + message.deliverTx = $root.tendermint.abci.ResponseDeliverTx.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResponseBroadcastTx message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.rpc.grpc.ResponseBroadcastTx} ResponseBroadcastTx + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResponseBroadcastTx.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResponseBroadcastTx message. + * @function verify + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResponseBroadcastTx.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.checkTx != null && message.hasOwnProperty("checkTx")) { + var error = $root.tendermint.abci.ResponseCheckTx.verify(message.checkTx); + if (error) + return "checkTx." + error; + } + if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { + var error = $root.tendermint.abci.ResponseDeliverTx.verify(message.deliverTx); + if (error) + return "deliverTx." + error; + } + return null; + }; + + /** + * Creates a ResponseBroadcastTx message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {Object.} object Plain object + * @returns {tendermint.rpc.grpc.ResponseBroadcastTx} ResponseBroadcastTx + */ + ResponseBroadcastTx.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.rpc.grpc.ResponseBroadcastTx) + return object; + var message = new $root.tendermint.rpc.grpc.ResponseBroadcastTx(); + if (object.checkTx != null) { + if (typeof object.checkTx !== "object") + throw TypeError(".tendermint.rpc.grpc.ResponseBroadcastTx.checkTx: object expected"); + message.checkTx = $root.tendermint.abci.ResponseCheckTx.fromObject(object.checkTx); + } + if (object.deliverTx != null) { + if (typeof object.deliverTx !== "object") + throw TypeError(".tendermint.rpc.grpc.ResponseBroadcastTx.deliverTx: object expected"); + message.deliverTx = $root.tendermint.abci.ResponseDeliverTx.fromObject(object.deliverTx); + } + return message; + }; + + /** + * Creates a plain object from a ResponseBroadcastTx message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @static + * @param {tendermint.rpc.grpc.ResponseBroadcastTx} message ResponseBroadcastTx + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResponseBroadcastTx.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.checkTx = null; + object.deliverTx = null; + } + if (message.checkTx != null && message.hasOwnProperty("checkTx")) + object.checkTx = $root.tendermint.abci.ResponseCheckTx.toObject(message.checkTx, options); + if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) + object.deliverTx = $root.tendermint.abci.ResponseDeliverTx.toObject(message.deliverTx, options); + return object; + }; + + /** + * Converts this ResponseBroadcastTx to JSON. + * @function toJSON + * @memberof tendermint.rpc.grpc.ResponseBroadcastTx + * @instance + * @returns {Object.} JSON object + */ + ResponseBroadcastTx.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ResponseBroadcastTx; + })(); + + grpc.BroadcastAPI = (function() { + + /** + * Constructs a new BroadcastAPI service. + * @memberof tendermint.rpc.grpc + * @classdesc Represents a BroadcastAPI + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function BroadcastAPI(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (BroadcastAPI.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = BroadcastAPI; + + /** + * Creates new BroadcastAPI service using the specified rpc implementation. + * @function create + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {BroadcastAPI} RPC service. Useful where requests and/or responses are streamed. + */ + BroadcastAPI.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link tendermint.rpc.grpc.BroadcastAPI#ping}. + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @typedef PingCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.rpc.grpc.ResponsePing} [response] ResponsePing + */ + + /** + * Calls Ping. + * @function ping + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @instance + * @param {tendermint.rpc.grpc.IRequestPing} request RequestPing message or plain object + * @param {tendermint.rpc.grpc.BroadcastAPI.PingCallback} callback Node-style callback called with the error, if any, and ResponsePing + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(BroadcastAPI.prototype.ping = function ping(request, callback) { + return this.rpcCall(ping, $root.tendermint.rpc.grpc.RequestPing, $root.tendermint.rpc.grpc.ResponsePing, request, callback); + }, "name", { value: "Ping" }); + + /** + * Calls Ping. + * @function ping + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @instance + * @param {tendermint.rpc.grpc.IRequestPing} request RequestPing message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link tendermint.rpc.grpc.BroadcastAPI#broadcastTx}. + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @typedef BroadcastTxCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {tendermint.rpc.grpc.ResponseBroadcastTx} [response] ResponseBroadcastTx + */ + + /** + * Calls BroadcastTx. + * @function broadcastTx + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @instance + * @param {tendermint.rpc.grpc.IRequestBroadcastTx} request RequestBroadcastTx message or plain object + * @param {tendermint.rpc.grpc.BroadcastAPI.BroadcastTxCallback} callback Node-style callback called with the error, if any, and ResponseBroadcastTx + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(BroadcastAPI.prototype.broadcastTx = function broadcastTx(request, callback) { + return this.rpcCall(broadcastTx, $root.tendermint.rpc.grpc.RequestBroadcastTx, $root.tendermint.rpc.grpc.ResponseBroadcastTx, request, callback); + }, "name", { value: "BroadcastTx" }); + + /** + * Calls BroadcastTx. + * @function broadcastTx + * @memberof tendermint.rpc.grpc.BroadcastAPI + * @instance + * @param {tendermint.rpc.grpc.IRequestBroadcastTx} request RequestBroadcastTx message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return BroadcastAPI; + })(); + + return grpc; + })(); + + return rpc; + })(); + + tendermint.state = (function() { + + /** + * Namespace state. + * @memberof tendermint + * @namespace + */ + var state = {}; + + state.ABCIResponses = (function() { + + /** + * Properties of a ABCIResponses. + * @memberof tendermint.state + * @interface IABCIResponses + * @property {Array.|null} [deliverTxs] ABCIResponses deliverTxs + * @property {tendermint.abci.IResponseEndBlock|null} [endBlock] ABCIResponses endBlock + * @property {tendermint.abci.IResponseBeginBlock|null} [beginBlock] ABCIResponses beginBlock + */ + + /** + * Constructs a new ABCIResponses. + * @memberof tendermint.state + * @classdesc Represents a ABCIResponses. + * @implements IABCIResponses + * @constructor + * @param {tendermint.state.IABCIResponses=} [properties] Properties to set + */ + function ABCIResponses(properties) { + this.deliverTxs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ABCIResponses deliverTxs. + * @member {Array.} deliverTxs + * @memberof tendermint.state.ABCIResponses + * @instance + */ + ABCIResponses.prototype.deliverTxs = $util.emptyArray; + + /** + * ABCIResponses endBlock. + * @member {tendermint.abci.IResponseEndBlock|null|undefined} endBlock + * @memberof tendermint.state.ABCIResponses + * @instance + */ + ABCIResponses.prototype.endBlock = null; + + /** + * ABCIResponses beginBlock. + * @member {tendermint.abci.IResponseBeginBlock|null|undefined} beginBlock + * @memberof tendermint.state.ABCIResponses + * @instance + */ + ABCIResponses.prototype.beginBlock = null; + + /** + * Creates a new ABCIResponses instance using the specified properties. + * @function create + * @memberof tendermint.state.ABCIResponses + * @static + * @param {tendermint.state.IABCIResponses=} [properties] Properties to set + * @returns {tendermint.state.ABCIResponses} ABCIResponses instance + */ + ABCIResponses.create = function create(properties) { + return new ABCIResponses(properties); + }; + + /** + * Encodes the specified ABCIResponses message. Does not implicitly {@link tendermint.state.ABCIResponses.verify|verify} messages. + * @function encode + * @memberof tendermint.state.ABCIResponses + * @static + * @param {tendermint.state.IABCIResponses} message ABCIResponses message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ABCIResponses.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deliverTxs != null && message.deliverTxs.length) + for (var i = 0; i < message.deliverTxs.length; ++i) + $root.tendermint.abci.ResponseDeliverTx.encode(message.deliverTxs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endBlock != null && Object.hasOwnProperty.call(message, "endBlock")) + $root.tendermint.abci.ResponseEndBlock.encode(message.endBlock, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.beginBlock != null && Object.hasOwnProperty.call(message, "beginBlock")) + $root.tendermint.abci.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ABCIResponses message, length delimited. Does not implicitly {@link tendermint.state.ABCIResponses.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.state.ABCIResponses + * @static + * @param {tendermint.state.IABCIResponses} message ABCIResponses message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ABCIResponses.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ABCIResponses message from the specified reader or buffer. + * @function decode + * @memberof tendermint.state.ABCIResponses + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.state.ABCIResponses} ABCIResponses + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ABCIResponses.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.state.ABCIResponses(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.deliverTxs && message.deliverTxs.length)) + message.deliverTxs = []; + message.deliverTxs.push($root.tendermint.abci.ResponseDeliverTx.decode(reader, reader.uint32())); + break; + case 2: + message.endBlock = $root.tendermint.abci.ResponseEndBlock.decode(reader, reader.uint32()); + break; + case 3: + message.beginBlock = $root.tendermint.abci.ResponseBeginBlock.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ABCIResponses message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.state.ABCIResponses + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.state.ABCIResponses} ABCIResponses + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ABCIResponses.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ABCIResponses message. + * @function verify + * @memberof tendermint.state.ABCIResponses + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ABCIResponses.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deliverTxs != null && message.hasOwnProperty("deliverTxs")) { + if (!Array.isArray(message.deliverTxs)) + return "deliverTxs: array expected"; + for (var i = 0; i < message.deliverTxs.length; ++i) { + var error = $root.tendermint.abci.ResponseDeliverTx.verify(message.deliverTxs[i]); + if (error) + return "deliverTxs." + error; + } + } + if (message.endBlock != null && message.hasOwnProperty("endBlock")) { + var error = $root.tendermint.abci.ResponseEndBlock.verify(message.endBlock); + if (error) + return "endBlock." + error; + } + if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { + var error = $root.tendermint.abci.ResponseBeginBlock.verify(message.beginBlock); + if (error) + return "beginBlock." + error; + } + return null; + }; + + /** + * Creates a ABCIResponses message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.state.ABCIResponses + * @static + * @param {Object.} object Plain object + * @returns {tendermint.state.ABCIResponses} ABCIResponses + */ + ABCIResponses.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.state.ABCIResponses) + return object; + var message = new $root.tendermint.state.ABCIResponses(); + if (object.deliverTxs) { + if (!Array.isArray(object.deliverTxs)) + throw TypeError(".tendermint.state.ABCIResponses.deliverTxs: array expected"); + message.deliverTxs = []; + for (var i = 0; i < object.deliverTxs.length; ++i) { + if (typeof object.deliverTxs[i] !== "object") + throw TypeError(".tendermint.state.ABCIResponses.deliverTxs: object expected"); + message.deliverTxs[i] = $root.tendermint.abci.ResponseDeliverTx.fromObject(object.deliverTxs[i]); + } + } + if (object.endBlock != null) { + if (typeof object.endBlock !== "object") + throw TypeError(".tendermint.state.ABCIResponses.endBlock: object expected"); + message.endBlock = $root.tendermint.abci.ResponseEndBlock.fromObject(object.endBlock); + } + if (object.beginBlock != null) { + if (typeof object.beginBlock !== "object") + throw TypeError(".tendermint.state.ABCIResponses.beginBlock: object expected"); + message.beginBlock = $root.tendermint.abci.ResponseBeginBlock.fromObject(object.beginBlock); + } + return message; + }; + + /** + * Creates a plain object from a ABCIResponses message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.state.ABCIResponses + * @static + * @param {tendermint.state.ABCIResponses} message ABCIResponses + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ABCIResponses.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.deliverTxs = []; + if (options.defaults) { + object.endBlock = null; + object.beginBlock = null; + } + if (message.deliverTxs && message.deliverTxs.length) { + object.deliverTxs = []; + for (var j = 0; j < message.deliverTxs.length; ++j) + object.deliverTxs[j] = $root.tendermint.abci.ResponseDeliverTx.toObject(message.deliverTxs[j], options); + } + if (message.endBlock != null && message.hasOwnProperty("endBlock")) + object.endBlock = $root.tendermint.abci.ResponseEndBlock.toObject(message.endBlock, options); + if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) + object.beginBlock = $root.tendermint.abci.ResponseBeginBlock.toObject(message.beginBlock, options); + return object; + }; + + /** + * Converts this ABCIResponses to JSON. + * @function toJSON + * @memberof tendermint.state.ABCIResponses + * @instance + * @returns {Object.} JSON object + */ + ABCIResponses.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ABCIResponses; + })(); + + state.ValidatorsInfo = (function() { + + /** + * Properties of a ValidatorsInfo. + * @memberof tendermint.state + * @interface IValidatorsInfo + * @property {tendermint.types.IValidatorSet|null} [validatorSet] ValidatorsInfo validatorSet + * @property {number|Long|null} [lastHeightChanged] ValidatorsInfo lastHeightChanged + */ + + /** + * Constructs a new ValidatorsInfo. + * @memberof tendermint.state + * @classdesc Represents a ValidatorsInfo. + * @implements IValidatorsInfo + * @constructor + * @param {tendermint.state.IValidatorsInfo=} [properties] Properties to set + */ + function ValidatorsInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ValidatorsInfo validatorSet. + * @member {tendermint.types.IValidatorSet|null|undefined} validatorSet + * @memberof tendermint.state.ValidatorsInfo + * @instance + */ + ValidatorsInfo.prototype.validatorSet = null; + + /** + * ValidatorsInfo lastHeightChanged. + * @member {number|Long} lastHeightChanged + * @memberof tendermint.state.ValidatorsInfo + * @instance + */ + ValidatorsInfo.prototype.lastHeightChanged = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new ValidatorsInfo instance using the specified properties. + * @function create + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {tendermint.state.IValidatorsInfo=} [properties] Properties to set + * @returns {tendermint.state.ValidatorsInfo} ValidatorsInfo instance + */ + ValidatorsInfo.create = function create(properties) { + return new ValidatorsInfo(properties); + }; + + /** + * Encodes the specified ValidatorsInfo message. Does not implicitly {@link tendermint.state.ValidatorsInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {tendermint.state.IValidatorsInfo} message ValidatorsInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorsInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.validatorSet != null && Object.hasOwnProperty.call(message, "validatorSet")) + $root.tendermint.types.ValidatorSet.encode(message.validatorSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.lastHeightChanged != null && Object.hasOwnProperty.call(message, "lastHeightChanged")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.lastHeightChanged); + return writer; + }; + + /** + * Encodes the specified ValidatorsInfo message, length delimited. Does not implicitly {@link tendermint.state.ValidatorsInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {tendermint.state.IValidatorsInfo} message ValidatorsInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorsInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ValidatorsInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.state.ValidatorsInfo} ValidatorsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorsInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.state.ValidatorsInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validatorSet = $root.tendermint.types.ValidatorSet.decode(reader, reader.uint32()); + break; + case 2: + message.lastHeightChanged = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ValidatorsInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.state.ValidatorsInfo} ValidatorsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorsInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ValidatorsInfo message. + * @function verify + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValidatorsInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.validatorSet != null && message.hasOwnProperty("validatorSet")) { + var error = $root.tendermint.types.ValidatorSet.verify(message.validatorSet); + if (error) + return "validatorSet." + error; + } + if (message.lastHeightChanged != null && message.hasOwnProperty("lastHeightChanged")) + if (!$util.isInteger(message.lastHeightChanged) && !(message.lastHeightChanged && $util.isInteger(message.lastHeightChanged.low) && $util.isInteger(message.lastHeightChanged.high))) + return "lastHeightChanged: integer|Long expected"; + return null; + }; + + /** + * Creates a ValidatorsInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.state.ValidatorsInfo} ValidatorsInfo + */ + ValidatorsInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.state.ValidatorsInfo) + return object; + var message = new $root.tendermint.state.ValidatorsInfo(); + if (object.validatorSet != null) { + if (typeof object.validatorSet !== "object") + throw TypeError(".tendermint.state.ValidatorsInfo.validatorSet: object expected"); + message.validatorSet = $root.tendermint.types.ValidatorSet.fromObject(object.validatorSet); + } + if (object.lastHeightChanged != null) + if ($util.Long) + (message.lastHeightChanged = $util.Long.fromValue(object.lastHeightChanged)).unsigned = false; + else if (typeof object.lastHeightChanged === "string") + message.lastHeightChanged = parseInt(object.lastHeightChanged, 10); + else if (typeof object.lastHeightChanged === "number") + message.lastHeightChanged = object.lastHeightChanged; + else if (typeof object.lastHeightChanged === "object") + message.lastHeightChanged = new $util.LongBits(object.lastHeightChanged.low >>> 0, object.lastHeightChanged.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a ValidatorsInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.state.ValidatorsInfo + * @static + * @param {tendermint.state.ValidatorsInfo} message ValidatorsInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValidatorsInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.validatorSet = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastHeightChanged = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastHeightChanged = options.longs === String ? "0" : 0; + } + if (message.validatorSet != null && message.hasOwnProperty("validatorSet")) + object.validatorSet = $root.tendermint.types.ValidatorSet.toObject(message.validatorSet, options); + if (message.lastHeightChanged != null && message.hasOwnProperty("lastHeightChanged")) + if (typeof message.lastHeightChanged === "number") + object.lastHeightChanged = options.longs === String ? String(message.lastHeightChanged) : message.lastHeightChanged; + else + object.lastHeightChanged = options.longs === String ? $util.Long.prototype.toString.call(message.lastHeightChanged) : options.longs === Number ? new $util.LongBits(message.lastHeightChanged.low >>> 0, message.lastHeightChanged.high >>> 0).toNumber() : message.lastHeightChanged; + return object; + }; + + /** + * Converts this ValidatorsInfo to JSON. + * @function toJSON + * @memberof tendermint.state.ValidatorsInfo + * @instance + * @returns {Object.} JSON object + */ + ValidatorsInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ValidatorsInfo; + })(); + + state.ConsensusParamsInfo = (function() { + + /** + * Properties of a ConsensusParamsInfo. + * @memberof tendermint.state + * @interface IConsensusParamsInfo + * @property {tendermint.types.IConsensusParams|null} [consensusParams] ConsensusParamsInfo consensusParams + * @property {number|Long|null} [lastHeightChanged] ConsensusParamsInfo lastHeightChanged + */ + + /** + * Constructs a new ConsensusParamsInfo. + * @memberof tendermint.state + * @classdesc Represents a ConsensusParamsInfo. + * @implements IConsensusParamsInfo + * @constructor + * @param {tendermint.state.IConsensusParamsInfo=} [properties] Properties to set + */ + function ConsensusParamsInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConsensusParamsInfo consensusParams. + * @member {tendermint.types.IConsensusParams|null|undefined} consensusParams + * @memberof tendermint.state.ConsensusParamsInfo + * @instance + */ + ConsensusParamsInfo.prototype.consensusParams = null; + + /** + * ConsensusParamsInfo lastHeightChanged. + * @member {number|Long} lastHeightChanged + * @memberof tendermint.state.ConsensusParamsInfo + * @instance + */ + ConsensusParamsInfo.prototype.lastHeightChanged = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new ConsensusParamsInfo instance using the specified properties. + * @function create + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {tendermint.state.IConsensusParamsInfo=} [properties] Properties to set + * @returns {tendermint.state.ConsensusParamsInfo} ConsensusParamsInfo instance + */ + ConsensusParamsInfo.create = function create(properties) { + return new ConsensusParamsInfo(properties); + }; + + /** + * Encodes the specified ConsensusParamsInfo message. Does not implicitly {@link tendermint.state.ConsensusParamsInfo.verify|verify} messages. + * @function encode + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {tendermint.state.IConsensusParamsInfo} message ConsensusParamsInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.consensusParams != null && Object.hasOwnProperty.call(message, "consensusParams")) + $root.tendermint.types.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.lastHeightChanged != null && Object.hasOwnProperty.call(message, "lastHeightChanged")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.lastHeightChanged); + return writer; + }; + + /** + * Encodes the specified ConsensusParamsInfo message, length delimited. Does not implicitly {@link tendermint.state.ConsensusParamsInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {tendermint.state.IConsensusParamsInfo} message ConsensusParamsInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParamsInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsensusParamsInfo message from the specified reader or buffer. + * @function decode + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.state.ConsensusParamsInfo} ConsensusParamsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.state.ConsensusParamsInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.consensusParams = $root.tendermint.types.ConsensusParams.decode(reader, reader.uint32()); + break; + case 2: + message.lastHeightChanged = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConsensusParamsInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.state.ConsensusParamsInfo} ConsensusParamsInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParamsInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConsensusParamsInfo message. + * @function verify + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsensusParamsInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { + var error = $root.tendermint.types.ConsensusParams.verify(message.consensusParams); + if (error) + return "consensusParams." + error; + } + if (message.lastHeightChanged != null && message.hasOwnProperty("lastHeightChanged")) + if (!$util.isInteger(message.lastHeightChanged) && !(message.lastHeightChanged && $util.isInteger(message.lastHeightChanged.low) && $util.isInteger(message.lastHeightChanged.high))) + return "lastHeightChanged: integer|Long expected"; + return null; + }; + + /** + * Creates a ConsensusParamsInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {Object.} object Plain object + * @returns {tendermint.state.ConsensusParamsInfo} ConsensusParamsInfo + */ + ConsensusParamsInfo.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.state.ConsensusParamsInfo) + return object; + var message = new $root.tendermint.state.ConsensusParamsInfo(); + if (object.consensusParams != null) { + if (typeof object.consensusParams !== "object") + throw TypeError(".tendermint.state.ConsensusParamsInfo.consensusParams: object expected"); + message.consensusParams = $root.tendermint.types.ConsensusParams.fromObject(object.consensusParams); + } + if (object.lastHeightChanged != null) + if ($util.Long) + (message.lastHeightChanged = $util.Long.fromValue(object.lastHeightChanged)).unsigned = false; + else if (typeof object.lastHeightChanged === "string") + message.lastHeightChanged = parseInt(object.lastHeightChanged, 10); + else if (typeof object.lastHeightChanged === "number") + message.lastHeightChanged = object.lastHeightChanged; + else if (typeof object.lastHeightChanged === "object") + message.lastHeightChanged = new $util.LongBits(object.lastHeightChanged.low >>> 0, object.lastHeightChanged.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a ConsensusParamsInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.state.ConsensusParamsInfo + * @static + * @param {tendermint.state.ConsensusParamsInfo} message ConsensusParamsInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsensusParamsInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.consensusParams = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastHeightChanged = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastHeightChanged = options.longs === String ? "0" : 0; + } + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) + object.consensusParams = $root.tendermint.types.ConsensusParams.toObject(message.consensusParams, options); + if (message.lastHeightChanged != null && message.hasOwnProperty("lastHeightChanged")) + if (typeof message.lastHeightChanged === "number") + object.lastHeightChanged = options.longs === String ? String(message.lastHeightChanged) : message.lastHeightChanged; + else + object.lastHeightChanged = options.longs === String ? $util.Long.prototype.toString.call(message.lastHeightChanged) : options.longs === Number ? new $util.LongBits(message.lastHeightChanged.low >>> 0, message.lastHeightChanged.high >>> 0).toNumber() : message.lastHeightChanged; + return object; + }; + + /** + * Converts this ConsensusParamsInfo to JSON. + * @function toJSON + * @memberof tendermint.state.ConsensusParamsInfo + * @instance + * @returns {Object.} JSON object + */ + ConsensusParamsInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ConsensusParamsInfo; + })(); + + state.Version = (function() { + + /** + * Properties of a Version. + * @memberof tendermint.state + * @interface IVersion + * @property {tendermint.version.IConsensus|null} [consensus] Version consensus + * @property {string|null} [software] Version software + */ + + /** + * Constructs a new Version. + * @memberof tendermint.state + * @classdesc Represents a Version. + * @implements IVersion + * @constructor + * @param {tendermint.state.IVersion=} [properties] Properties to set + */ + function Version(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Version consensus. + * @member {tendermint.version.IConsensus|null|undefined} consensus + * @memberof tendermint.state.Version + * @instance + */ + Version.prototype.consensus = null; + + /** + * Version software. + * @member {string} software + * @memberof tendermint.state.Version + * @instance + */ + Version.prototype.software = ""; + + /** + * Creates a new Version instance using the specified properties. + * @function create + * @memberof tendermint.state.Version + * @static + * @param {tendermint.state.IVersion=} [properties] Properties to set + * @returns {tendermint.state.Version} Version instance + */ + Version.create = function create(properties) { + return new Version(properties); + }; + + /** + * Encodes the specified Version message. Does not implicitly {@link tendermint.state.Version.verify|verify} messages. + * @function encode + * @memberof tendermint.state.Version + * @static + * @param {tendermint.state.IVersion} message Version message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Version.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.consensus != null && Object.hasOwnProperty.call(message, "consensus")) + $root.tendermint.version.Consensus.encode(message.consensus, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.software != null && Object.hasOwnProperty.call(message, "software")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.software); + return writer; + }; + + /** + * Encodes the specified Version message, length delimited. Does not implicitly {@link tendermint.state.Version.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.state.Version + * @static + * @param {tendermint.state.IVersion} message Version message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Version.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Version message from the specified reader or buffer. + * @function decode + * @memberof tendermint.state.Version + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.state.Version} Version + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Version.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.state.Version(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.consensus = $root.tendermint.version.Consensus.decode(reader, reader.uint32()); + break; + case 2: + message.software = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Version message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.state.Version + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.state.Version} Version + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Version.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Version message. + * @function verify + * @memberof tendermint.state.Version + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Version.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.consensus != null && message.hasOwnProperty("consensus")) { + var error = $root.tendermint.version.Consensus.verify(message.consensus); + if (error) + return "consensus." + error; + } + if (message.software != null && message.hasOwnProperty("software")) + if (!$util.isString(message.software)) + return "software: string expected"; + return null; + }; + + /** + * Creates a Version message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.state.Version + * @static + * @param {Object.} object Plain object + * @returns {tendermint.state.Version} Version + */ + Version.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.state.Version) + return object; + var message = new $root.tendermint.state.Version(); + if (object.consensus != null) { + if (typeof object.consensus !== "object") + throw TypeError(".tendermint.state.Version.consensus: object expected"); + message.consensus = $root.tendermint.version.Consensus.fromObject(object.consensus); + } + if (object.software != null) + message.software = String(object.software); + return message; + }; + + /** + * Creates a plain object from a Version message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.state.Version + * @static + * @param {tendermint.state.Version} message Version + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Version.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.consensus = null; + object.software = ""; + } + if (message.consensus != null && message.hasOwnProperty("consensus")) + object.consensus = $root.tendermint.version.Consensus.toObject(message.consensus, options); + if (message.software != null && message.hasOwnProperty("software")) + object.software = message.software; + return object; + }; + + /** + * Converts this Version to JSON. + * @function toJSON + * @memberof tendermint.state.Version + * @instance + * @returns {Object.} JSON object + */ + Version.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Version; + })(); + + state.State = (function() { + + /** + * Properties of a State. + * @memberof tendermint.state + * @interface IState + * @property {tendermint.state.IVersion|null} [version] State version + * @property {string|null} [chainId] State chainId + * @property {number|Long|null} [initialHeight] State initialHeight + * @property {number|Long|null} [lastBlockHeight] State lastBlockHeight + * @property {tendermint.types.IBlockID|null} [lastBlockId] State lastBlockId + * @property {google.protobuf.ITimestamp|null} [lastBlockTime] State lastBlockTime + * @property {tendermint.types.IValidatorSet|null} [nextValidators] State nextValidators + * @property {tendermint.types.IValidatorSet|null} [validators] State validators + * @property {tendermint.types.IValidatorSet|null} [lastValidators] State lastValidators + * @property {number|Long|null} [lastHeightValidatorsChanged] State lastHeightValidatorsChanged + * @property {tendermint.types.IConsensusParams|null} [consensusParams] State consensusParams + * @property {number|Long|null} [lastHeightConsensusParamsChanged] State lastHeightConsensusParamsChanged + * @property {Uint8Array|null} [lastResultsHash] State lastResultsHash + * @property {Uint8Array|null} [appHash] State appHash + */ + + /** + * Constructs a new State. + * @memberof tendermint.state + * @classdesc Represents a State. + * @implements IState + * @constructor + * @param {tendermint.state.IState=} [properties] Properties to set + */ + function State(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * State version. + * @member {tendermint.state.IVersion|null|undefined} version + * @memberof tendermint.state.State + * @instance + */ + State.prototype.version = null; + + /** + * State chainId. + * @member {string} chainId + * @memberof tendermint.state.State + * @instance + */ + State.prototype.chainId = ""; + + /** + * State initialHeight. + * @member {number|Long} initialHeight + * @memberof tendermint.state.State + * @instance + */ + State.prototype.initialHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * State lastBlockHeight. + * @member {number|Long} lastBlockHeight + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastBlockHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * State lastBlockId. + * @member {tendermint.types.IBlockID|null|undefined} lastBlockId + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastBlockId = null; + + /** + * State lastBlockTime. + * @member {google.protobuf.ITimestamp|null|undefined} lastBlockTime + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastBlockTime = null; + + /** + * State nextValidators. + * @member {tendermint.types.IValidatorSet|null|undefined} nextValidators + * @memberof tendermint.state.State + * @instance + */ + State.prototype.nextValidators = null; + + /** + * State validators. + * @member {tendermint.types.IValidatorSet|null|undefined} validators + * @memberof tendermint.state.State + * @instance + */ + State.prototype.validators = null; + + /** + * State lastValidators. + * @member {tendermint.types.IValidatorSet|null|undefined} lastValidators + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastValidators = null; + + /** + * State lastHeightValidatorsChanged. + * @member {number|Long} lastHeightValidatorsChanged + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastHeightValidatorsChanged = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * State consensusParams. + * @member {tendermint.types.IConsensusParams|null|undefined} consensusParams + * @memberof tendermint.state.State + * @instance + */ + State.prototype.consensusParams = null; + + /** + * State lastHeightConsensusParamsChanged. + * @member {number|Long} lastHeightConsensusParamsChanged + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastHeightConsensusParamsChanged = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * State lastResultsHash. + * @member {Uint8Array} lastResultsHash + * @memberof tendermint.state.State + * @instance + */ + State.prototype.lastResultsHash = $util.newBuffer([]); + + /** + * State appHash. + * @member {Uint8Array} appHash + * @memberof tendermint.state.State + * @instance + */ + State.prototype.appHash = $util.newBuffer([]); + + /** + * Creates a new State instance using the specified properties. + * @function create + * @memberof tendermint.state.State + * @static + * @param {tendermint.state.IState=} [properties] Properties to set + * @returns {tendermint.state.State} State instance + */ + State.create = function create(properties) { + return new State(properties); + }; + + /** + * Encodes the specified State message. Does not implicitly {@link tendermint.state.State.verify|verify} messages. + * @function encode + * @memberof tendermint.state.State + * @static + * @param {tendermint.state.IState} message State message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + State.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + $root.tendermint.state.Version.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); + if (message.lastBlockHeight != null && Object.hasOwnProperty.call(message, "lastBlockHeight")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.lastBlockHeight); + if (message.lastBlockId != null && Object.hasOwnProperty.call(message, "lastBlockId")) + $root.tendermint.types.BlockID.encode(message.lastBlockId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.lastBlockTime != null && Object.hasOwnProperty.call(message, "lastBlockTime")) + $root.google.protobuf.Timestamp.encode(message.lastBlockTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.nextValidators != null && Object.hasOwnProperty.call(message, "nextValidators")) + $root.tendermint.types.ValidatorSet.encode(message.nextValidators, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.validators != null && Object.hasOwnProperty.call(message, "validators")) + $root.tendermint.types.ValidatorSet.encode(message.validators, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.lastValidators != null && Object.hasOwnProperty.call(message, "lastValidators")) + $root.tendermint.types.ValidatorSet.encode(message.lastValidators, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.lastHeightValidatorsChanged != null && Object.hasOwnProperty.call(message, "lastHeightValidatorsChanged")) + writer.uint32(/* id 9, wireType 0 =*/72).int64(message.lastHeightValidatorsChanged); + if (message.consensusParams != null && Object.hasOwnProperty.call(message, "consensusParams")) + $root.tendermint.types.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.lastHeightConsensusParamsChanged != null && Object.hasOwnProperty.call(message, "lastHeightConsensusParamsChanged")) + writer.uint32(/* id 11, wireType 0 =*/88).int64(message.lastHeightConsensusParamsChanged); + if (message.lastResultsHash != null && Object.hasOwnProperty.call(message, "lastResultsHash")) + writer.uint32(/* id 12, wireType 2 =*/98).bytes(message.lastResultsHash); + if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) + writer.uint32(/* id 13, wireType 2 =*/106).bytes(message.appHash); + if (message.initialHeight != null && Object.hasOwnProperty.call(message, "initialHeight")) + writer.uint32(/* id 14, wireType 0 =*/112).int64(message.initialHeight); + return writer; + }; + + /** + * Encodes the specified State message, length delimited. Does not implicitly {@link tendermint.state.State.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.state.State + * @static + * @param {tendermint.state.IState} message State message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + State.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a State message from the specified reader or buffer. + * @function decode + * @memberof tendermint.state.State + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.state.State} State + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + State.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.state.State(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.version = $root.tendermint.state.Version.decode(reader, reader.uint32()); + break; + case 2: + message.chainId = reader.string(); + break; + case 14: + message.initialHeight = reader.int64(); + break; + case 3: + message.lastBlockHeight = reader.int64(); + break; + case 4: + message.lastBlockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 5: + message.lastBlockTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.nextValidators = $root.tendermint.types.ValidatorSet.decode(reader, reader.uint32()); + break; + case 7: + message.validators = $root.tendermint.types.ValidatorSet.decode(reader, reader.uint32()); + break; + case 8: + message.lastValidators = $root.tendermint.types.ValidatorSet.decode(reader, reader.uint32()); + break; + case 9: + message.lastHeightValidatorsChanged = reader.int64(); + break; + case 10: + message.consensusParams = $root.tendermint.types.ConsensusParams.decode(reader, reader.uint32()); + break; + case 11: + message.lastHeightConsensusParamsChanged = reader.int64(); + break; + case 12: + message.lastResultsHash = reader.bytes(); + break; + case 13: + message.appHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a State message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.state.State + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.state.State} State + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + State.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a State message. + * @function verify + * @memberof tendermint.state.State + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + State.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.version != null && message.hasOwnProperty("version")) { + var error = $root.tendermint.state.Version.verify(message.version); + if (error) + return "version." + error; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + if (message.initialHeight != null && message.hasOwnProperty("initialHeight")) + if (!$util.isInteger(message.initialHeight) && !(message.initialHeight && $util.isInteger(message.initialHeight.low) && $util.isInteger(message.initialHeight.high))) + return "initialHeight: integer|Long expected"; + if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) + if (!$util.isInteger(message.lastBlockHeight) && !(message.lastBlockHeight && $util.isInteger(message.lastBlockHeight.low) && $util.isInteger(message.lastBlockHeight.high))) + return "lastBlockHeight: integer|Long expected"; + if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) { + var error = $root.tendermint.types.BlockID.verify(message.lastBlockId); + if (error) + return "lastBlockId." + error; + } + if (message.lastBlockTime != null && message.hasOwnProperty("lastBlockTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.lastBlockTime); + if (error) + return "lastBlockTime." + error; + } + if (message.nextValidators != null && message.hasOwnProperty("nextValidators")) { + var error = $root.tendermint.types.ValidatorSet.verify(message.nextValidators); + if (error) + return "nextValidators." + error; + } + if (message.validators != null && message.hasOwnProperty("validators")) { + var error = $root.tendermint.types.ValidatorSet.verify(message.validators); + if (error) + return "validators." + error; + } + if (message.lastValidators != null && message.hasOwnProperty("lastValidators")) { + var error = $root.tendermint.types.ValidatorSet.verify(message.lastValidators); + if (error) + return "lastValidators." + error; + } + if (message.lastHeightValidatorsChanged != null && message.hasOwnProperty("lastHeightValidatorsChanged")) + if (!$util.isInteger(message.lastHeightValidatorsChanged) && !(message.lastHeightValidatorsChanged && $util.isInteger(message.lastHeightValidatorsChanged.low) && $util.isInteger(message.lastHeightValidatorsChanged.high))) + return "lastHeightValidatorsChanged: integer|Long expected"; + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { + var error = $root.tendermint.types.ConsensusParams.verify(message.consensusParams); + if (error) + return "consensusParams." + error; + } + if (message.lastHeightConsensusParamsChanged != null && message.hasOwnProperty("lastHeightConsensusParamsChanged")) + if (!$util.isInteger(message.lastHeightConsensusParamsChanged) && !(message.lastHeightConsensusParamsChanged && $util.isInteger(message.lastHeightConsensusParamsChanged.low) && $util.isInteger(message.lastHeightConsensusParamsChanged.high))) + return "lastHeightConsensusParamsChanged: integer|Long expected"; + if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) + if (!(message.lastResultsHash && typeof message.lastResultsHash.length === "number" || $util.isString(message.lastResultsHash))) + return "lastResultsHash: buffer expected"; + if (message.appHash != null && message.hasOwnProperty("appHash")) + if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) + return "appHash: buffer expected"; + return null; + }; + + /** + * Creates a State message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.state.State + * @static + * @param {Object.} object Plain object + * @returns {tendermint.state.State} State + */ + State.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.state.State) + return object; + var message = new $root.tendermint.state.State(); + if (object.version != null) { + if (typeof object.version !== "object") + throw TypeError(".tendermint.state.State.version: object expected"); + message.version = $root.tendermint.state.Version.fromObject(object.version); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + if (object.initialHeight != null) + if ($util.Long) + (message.initialHeight = $util.Long.fromValue(object.initialHeight)).unsigned = false; + else if (typeof object.initialHeight === "string") + message.initialHeight = parseInt(object.initialHeight, 10); + else if (typeof object.initialHeight === "number") + message.initialHeight = object.initialHeight; + else if (typeof object.initialHeight === "object") + message.initialHeight = new $util.LongBits(object.initialHeight.low >>> 0, object.initialHeight.high >>> 0).toNumber(); + if (object.lastBlockHeight != null) + if ($util.Long) + (message.lastBlockHeight = $util.Long.fromValue(object.lastBlockHeight)).unsigned = false; + else if (typeof object.lastBlockHeight === "string") + message.lastBlockHeight = parseInt(object.lastBlockHeight, 10); + else if (typeof object.lastBlockHeight === "number") + message.lastBlockHeight = object.lastBlockHeight; + else if (typeof object.lastBlockHeight === "object") + message.lastBlockHeight = new $util.LongBits(object.lastBlockHeight.low >>> 0, object.lastBlockHeight.high >>> 0).toNumber(); + if (object.lastBlockId != null) { + if (typeof object.lastBlockId !== "object") + throw TypeError(".tendermint.state.State.lastBlockId: object expected"); + message.lastBlockId = $root.tendermint.types.BlockID.fromObject(object.lastBlockId); + } + if (object.lastBlockTime != null) { + if (typeof object.lastBlockTime !== "object") + throw TypeError(".tendermint.state.State.lastBlockTime: object expected"); + message.lastBlockTime = $root.google.protobuf.Timestamp.fromObject(object.lastBlockTime); + } + if (object.nextValidators != null) { + if (typeof object.nextValidators !== "object") + throw TypeError(".tendermint.state.State.nextValidators: object expected"); + message.nextValidators = $root.tendermint.types.ValidatorSet.fromObject(object.nextValidators); + } + if (object.validators != null) { + if (typeof object.validators !== "object") + throw TypeError(".tendermint.state.State.validators: object expected"); + message.validators = $root.tendermint.types.ValidatorSet.fromObject(object.validators); + } + if (object.lastValidators != null) { + if (typeof object.lastValidators !== "object") + throw TypeError(".tendermint.state.State.lastValidators: object expected"); + message.lastValidators = $root.tendermint.types.ValidatorSet.fromObject(object.lastValidators); + } + if (object.lastHeightValidatorsChanged != null) + if ($util.Long) + (message.lastHeightValidatorsChanged = $util.Long.fromValue(object.lastHeightValidatorsChanged)).unsigned = false; + else if (typeof object.lastHeightValidatorsChanged === "string") + message.lastHeightValidatorsChanged = parseInt(object.lastHeightValidatorsChanged, 10); + else if (typeof object.lastHeightValidatorsChanged === "number") + message.lastHeightValidatorsChanged = object.lastHeightValidatorsChanged; + else if (typeof object.lastHeightValidatorsChanged === "object") + message.lastHeightValidatorsChanged = new $util.LongBits(object.lastHeightValidatorsChanged.low >>> 0, object.lastHeightValidatorsChanged.high >>> 0).toNumber(); + if (object.consensusParams != null) { + if (typeof object.consensusParams !== "object") + throw TypeError(".tendermint.state.State.consensusParams: object expected"); + message.consensusParams = $root.tendermint.types.ConsensusParams.fromObject(object.consensusParams); + } + if (object.lastHeightConsensusParamsChanged != null) + if ($util.Long) + (message.lastHeightConsensusParamsChanged = $util.Long.fromValue(object.lastHeightConsensusParamsChanged)).unsigned = false; + else if (typeof object.lastHeightConsensusParamsChanged === "string") + message.lastHeightConsensusParamsChanged = parseInt(object.lastHeightConsensusParamsChanged, 10); + else if (typeof object.lastHeightConsensusParamsChanged === "number") + message.lastHeightConsensusParamsChanged = object.lastHeightConsensusParamsChanged; + else if (typeof object.lastHeightConsensusParamsChanged === "object") + message.lastHeightConsensusParamsChanged = new $util.LongBits(object.lastHeightConsensusParamsChanged.low >>> 0, object.lastHeightConsensusParamsChanged.high >>> 0).toNumber(); + if (object.lastResultsHash != null) + if (typeof object.lastResultsHash === "string") + $util.base64.decode(object.lastResultsHash, message.lastResultsHash = $util.newBuffer($util.base64.length(object.lastResultsHash)), 0); + else if (object.lastResultsHash.length) + message.lastResultsHash = object.lastResultsHash; + if (object.appHash != null) + if (typeof object.appHash === "string") + $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); + else if (object.appHash.length) + message.appHash = object.appHash; + return message; + }; + + /** + * Creates a plain object from a State message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.state.State + * @static + * @param {tendermint.state.State} message State + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + State.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.version = null; + object.chainId = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastBlockHeight = options.longs === String ? "0" : 0; + object.lastBlockId = null; + object.lastBlockTime = null; + object.nextValidators = null; + object.validators = null; + object.lastValidators = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastHeightValidatorsChanged = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastHeightValidatorsChanged = options.longs === String ? "0" : 0; + object.consensusParams = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.lastHeightConsensusParamsChanged = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.lastHeightConsensusParamsChanged = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.lastResultsHash = ""; + else { + object.lastResultsHash = []; + if (options.bytes !== Array) + object.lastResultsHash = $util.newBuffer(object.lastResultsHash); + } + if (options.bytes === String) + object.appHash = ""; + else { + object.appHash = []; + if (options.bytes !== Array) + object.appHash = $util.newBuffer(object.appHash); + } + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.initialHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.initialHeight = options.longs === String ? "0" : 0; + } + if (message.version != null && message.hasOwnProperty("version")) + object.version = $root.tendermint.state.Version.toObject(message.version, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) + if (typeof message.lastBlockHeight === "number") + object.lastBlockHeight = options.longs === String ? String(message.lastBlockHeight) : message.lastBlockHeight; + else + object.lastBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.lastBlockHeight) : options.longs === Number ? new $util.LongBits(message.lastBlockHeight.low >>> 0, message.lastBlockHeight.high >>> 0).toNumber() : message.lastBlockHeight; + if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) + object.lastBlockId = $root.tendermint.types.BlockID.toObject(message.lastBlockId, options); + if (message.lastBlockTime != null && message.hasOwnProperty("lastBlockTime")) + object.lastBlockTime = $root.google.protobuf.Timestamp.toObject(message.lastBlockTime, options); + if (message.nextValidators != null && message.hasOwnProperty("nextValidators")) + object.nextValidators = $root.tendermint.types.ValidatorSet.toObject(message.nextValidators, options); + if (message.validators != null && message.hasOwnProperty("validators")) + object.validators = $root.tendermint.types.ValidatorSet.toObject(message.validators, options); + if (message.lastValidators != null && message.hasOwnProperty("lastValidators")) + object.lastValidators = $root.tendermint.types.ValidatorSet.toObject(message.lastValidators, options); + if (message.lastHeightValidatorsChanged != null && message.hasOwnProperty("lastHeightValidatorsChanged")) + if (typeof message.lastHeightValidatorsChanged === "number") + object.lastHeightValidatorsChanged = options.longs === String ? String(message.lastHeightValidatorsChanged) : message.lastHeightValidatorsChanged; + else + object.lastHeightValidatorsChanged = options.longs === String ? $util.Long.prototype.toString.call(message.lastHeightValidatorsChanged) : options.longs === Number ? new $util.LongBits(message.lastHeightValidatorsChanged.low >>> 0, message.lastHeightValidatorsChanged.high >>> 0).toNumber() : message.lastHeightValidatorsChanged; + if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) + object.consensusParams = $root.tendermint.types.ConsensusParams.toObject(message.consensusParams, options); + if (message.lastHeightConsensusParamsChanged != null && message.hasOwnProperty("lastHeightConsensusParamsChanged")) + if (typeof message.lastHeightConsensusParamsChanged === "number") + object.lastHeightConsensusParamsChanged = options.longs === String ? String(message.lastHeightConsensusParamsChanged) : message.lastHeightConsensusParamsChanged; + else + object.lastHeightConsensusParamsChanged = options.longs === String ? $util.Long.prototype.toString.call(message.lastHeightConsensusParamsChanged) : options.longs === Number ? new $util.LongBits(message.lastHeightConsensusParamsChanged.low >>> 0, message.lastHeightConsensusParamsChanged.high >>> 0).toNumber() : message.lastHeightConsensusParamsChanged; + if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) + object.lastResultsHash = options.bytes === String ? $util.base64.encode(message.lastResultsHash, 0, message.lastResultsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastResultsHash) : message.lastResultsHash; + if (message.appHash != null && message.hasOwnProperty("appHash")) + object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; + if (message.initialHeight != null && message.hasOwnProperty("initialHeight")) + if (typeof message.initialHeight === "number") + object.initialHeight = options.longs === String ? String(message.initialHeight) : message.initialHeight; + else + object.initialHeight = options.longs === String ? $util.Long.prototype.toString.call(message.initialHeight) : options.longs === Number ? new $util.LongBits(message.initialHeight.low >>> 0, message.initialHeight.high >>> 0).toNumber() : message.initialHeight; + return object; + }; + + /** + * Converts this State to JSON. + * @function toJSON + * @memberof tendermint.state.State + * @instance + * @returns {Object.} JSON object + */ + State.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return State; + })(); + + return state; + })(); + + tendermint.statesync = (function() { + + /** + * Namespace statesync. + * @memberof tendermint + * @namespace + */ + var statesync = {}; + + statesync.Message = (function() { + + /** + * Properties of a Message. + * @memberof tendermint.statesync + * @interface IMessage + * @property {tendermint.statesync.ISnapshotsRequest|null} [snapshotsRequest] Message snapshotsRequest + * @property {tendermint.statesync.ISnapshotsResponse|null} [snapshotsResponse] Message snapshotsResponse + * @property {tendermint.statesync.IChunkRequest|null} [chunkRequest] Message chunkRequest + * @property {tendermint.statesync.IChunkResponse|null} [chunkResponse] Message chunkResponse + */ + + /** + * Constructs a new Message. + * @memberof tendermint.statesync + * @classdesc Represents a Message. + * @implements IMessage + * @constructor + * @param {tendermint.statesync.IMessage=} [properties] Properties to set + */ + function Message(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Message snapshotsRequest. + * @member {tendermint.statesync.ISnapshotsRequest|null|undefined} snapshotsRequest + * @memberof tendermint.statesync.Message + * @instance + */ + Message.prototype.snapshotsRequest = null; + + /** + * Message snapshotsResponse. + * @member {tendermint.statesync.ISnapshotsResponse|null|undefined} snapshotsResponse + * @memberof tendermint.statesync.Message + * @instance + */ + Message.prototype.snapshotsResponse = null; + + /** + * Message chunkRequest. + * @member {tendermint.statesync.IChunkRequest|null|undefined} chunkRequest + * @memberof tendermint.statesync.Message + * @instance + */ + Message.prototype.chunkRequest = null; + + /** + * Message chunkResponse. + * @member {tendermint.statesync.IChunkResponse|null|undefined} chunkResponse + * @memberof tendermint.statesync.Message + * @instance + */ + Message.prototype.chunkResponse = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Message sum. + * @member {"snapshotsRequest"|"snapshotsResponse"|"chunkRequest"|"chunkResponse"|undefined} sum + * @memberof tendermint.statesync.Message + * @instance + */ + Object.defineProperty(Message.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["snapshotsRequest", "snapshotsResponse", "chunkRequest", "chunkResponse"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Message instance using the specified properties. + * @function create + * @memberof tendermint.statesync.Message + * @static + * @param {tendermint.statesync.IMessage=} [properties] Properties to set + * @returns {tendermint.statesync.Message} Message instance + */ + Message.create = function create(properties) { + return new Message(properties); + }; + + /** + * Encodes the specified Message message. Does not implicitly {@link tendermint.statesync.Message.verify|verify} messages. + * @function encode + * @memberof tendermint.statesync.Message + * @static + * @param {tendermint.statesync.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.snapshotsRequest != null && Object.hasOwnProperty.call(message, "snapshotsRequest")) + $root.tendermint.statesync.SnapshotsRequest.encode(message.snapshotsRequest, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.snapshotsResponse != null && Object.hasOwnProperty.call(message, "snapshotsResponse")) + $root.tendermint.statesync.SnapshotsResponse.encode(message.snapshotsResponse, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.chunkRequest != null && Object.hasOwnProperty.call(message, "chunkRequest")) + $root.tendermint.statesync.ChunkRequest.encode(message.chunkRequest, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.chunkResponse != null && Object.hasOwnProperty.call(message, "chunkResponse")) + $root.tendermint.statesync.ChunkResponse.encode(message.chunkResponse, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Message message, length delimited. Does not implicitly {@link tendermint.statesync.Message.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.statesync.Message + * @static + * @param {tendermint.statesync.IMessage} message Message message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Message.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Message message from the specified reader or buffer. + * @function decode + * @memberof tendermint.statesync.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.statesync.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.statesync.Message(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.snapshotsRequest = $root.tendermint.statesync.SnapshotsRequest.decode(reader, reader.uint32()); + break; + case 2: + message.snapshotsResponse = $root.tendermint.statesync.SnapshotsResponse.decode(reader, reader.uint32()); + break; + case 3: + message.chunkRequest = $root.tendermint.statesync.ChunkRequest.decode(reader, reader.uint32()); + break; + case 4: + message.chunkResponse = $root.tendermint.statesync.ChunkResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Message message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.statesync.Message + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.statesync.Message} Message + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Message.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Message message. + * @function verify + * @memberof tendermint.statesync.Message + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Message.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.snapshotsRequest != null && message.hasOwnProperty("snapshotsRequest")) { + properties.sum = 1; + { + var error = $root.tendermint.statesync.SnapshotsRequest.verify(message.snapshotsRequest); + if (error) + return "snapshotsRequest." + error; + } + } + if (message.snapshotsResponse != null && message.hasOwnProperty("snapshotsResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.statesync.SnapshotsResponse.verify(message.snapshotsResponse); + if (error) + return "snapshotsResponse." + error; + } + } + if (message.chunkRequest != null && message.hasOwnProperty("chunkRequest")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.statesync.ChunkRequest.verify(message.chunkRequest); + if (error) + return "chunkRequest." + error; + } + } + if (message.chunkResponse != null && message.hasOwnProperty("chunkResponse")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.statesync.ChunkResponse.verify(message.chunkResponse); + if (error) + return "chunkResponse." + error; + } + } + return null; + }; + + /** + * Creates a Message message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.statesync.Message + * @static + * @param {Object.} object Plain object + * @returns {tendermint.statesync.Message} Message + */ + Message.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.statesync.Message) + return object; + var message = new $root.tendermint.statesync.Message(); + if (object.snapshotsRequest != null) { + if (typeof object.snapshotsRequest !== "object") + throw TypeError(".tendermint.statesync.Message.snapshotsRequest: object expected"); + message.snapshotsRequest = $root.tendermint.statesync.SnapshotsRequest.fromObject(object.snapshotsRequest); + } + if (object.snapshotsResponse != null) { + if (typeof object.snapshotsResponse !== "object") + throw TypeError(".tendermint.statesync.Message.snapshotsResponse: object expected"); + message.snapshotsResponse = $root.tendermint.statesync.SnapshotsResponse.fromObject(object.snapshotsResponse); + } + if (object.chunkRequest != null) { + if (typeof object.chunkRequest !== "object") + throw TypeError(".tendermint.statesync.Message.chunkRequest: object expected"); + message.chunkRequest = $root.tendermint.statesync.ChunkRequest.fromObject(object.chunkRequest); + } + if (object.chunkResponse != null) { + if (typeof object.chunkResponse !== "object") + throw TypeError(".tendermint.statesync.Message.chunkResponse: object expected"); + message.chunkResponse = $root.tendermint.statesync.ChunkResponse.fromObject(object.chunkResponse); + } + return message; + }; + + /** + * Creates a plain object from a Message message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.statesync.Message + * @static + * @param {tendermint.statesync.Message} message Message + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Message.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.snapshotsRequest != null && message.hasOwnProperty("snapshotsRequest")) { + object.snapshotsRequest = $root.tendermint.statesync.SnapshotsRequest.toObject(message.snapshotsRequest, options); + if (options.oneofs) + object.sum = "snapshotsRequest"; + } + if (message.snapshotsResponse != null && message.hasOwnProperty("snapshotsResponse")) { + object.snapshotsResponse = $root.tendermint.statesync.SnapshotsResponse.toObject(message.snapshotsResponse, options); + if (options.oneofs) + object.sum = "snapshotsResponse"; + } + if (message.chunkRequest != null && message.hasOwnProperty("chunkRequest")) { + object.chunkRequest = $root.tendermint.statesync.ChunkRequest.toObject(message.chunkRequest, options); + if (options.oneofs) + object.sum = "chunkRequest"; + } + if (message.chunkResponse != null && message.hasOwnProperty("chunkResponse")) { + object.chunkResponse = $root.tendermint.statesync.ChunkResponse.toObject(message.chunkResponse, options); + if (options.oneofs) + object.sum = "chunkResponse"; + } + return object; + }; + + /** + * Converts this Message to JSON. + * @function toJSON + * @memberof tendermint.statesync.Message + * @instance + * @returns {Object.} JSON object + */ + Message.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Message; + })(); + + statesync.SnapshotsRequest = (function() { + + /** + * Properties of a SnapshotsRequest. + * @memberof tendermint.statesync + * @interface ISnapshotsRequest + */ + + /** + * Constructs a new SnapshotsRequest. + * @memberof tendermint.statesync + * @classdesc Represents a SnapshotsRequest. + * @implements ISnapshotsRequest + * @constructor + * @param {tendermint.statesync.ISnapshotsRequest=} [properties] Properties to set + */ + function SnapshotsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new SnapshotsRequest instance using the specified properties. + * @function create + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {tendermint.statesync.ISnapshotsRequest=} [properties] Properties to set + * @returns {tendermint.statesync.SnapshotsRequest} SnapshotsRequest instance + */ + SnapshotsRequest.create = function create(properties) { + return new SnapshotsRequest(properties); + }; + + /** + * Encodes the specified SnapshotsRequest message. Does not implicitly {@link tendermint.statesync.SnapshotsRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {tendermint.statesync.ISnapshotsRequest} message SnapshotsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SnapshotsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified SnapshotsRequest message, length delimited. Does not implicitly {@link tendermint.statesync.SnapshotsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {tendermint.statesync.ISnapshotsRequest} message SnapshotsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SnapshotsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SnapshotsRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.statesync.SnapshotsRequest} SnapshotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SnapshotsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.statesync.SnapshotsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SnapshotsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.statesync.SnapshotsRequest} SnapshotsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SnapshotsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SnapshotsRequest message. + * @function verify + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SnapshotsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a SnapshotsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.statesync.SnapshotsRequest} SnapshotsRequest + */ + SnapshotsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.statesync.SnapshotsRequest) + return object; + return new $root.tendermint.statesync.SnapshotsRequest(); + }; + + /** + * Creates a plain object from a SnapshotsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.statesync.SnapshotsRequest + * @static + * @param {tendermint.statesync.SnapshotsRequest} message SnapshotsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SnapshotsRequest.toObject = function toObject() { + return {}; + }; + + /** + * Converts this SnapshotsRequest to JSON. + * @function toJSON + * @memberof tendermint.statesync.SnapshotsRequest + * @instance + * @returns {Object.} JSON object + */ + SnapshotsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SnapshotsRequest; + })(); + + statesync.SnapshotsResponse = (function() { + + /** + * Properties of a SnapshotsResponse. + * @memberof tendermint.statesync + * @interface ISnapshotsResponse + * @property {number|Long|null} [height] SnapshotsResponse height + * @property {number|null} [format] SnapshotsResponse format + * @property {number|null} [chunks] SnapshotsResponse chunks + * @property {Uint8Array|null} [hash] SnapshotsResponse hash + * @property {Uint8Array|null} [metadata] SnapshotsResponse metadata + */ + + /** + * Constructs a new SnapshotsResponse. + * @memberof tendermint.statesync + * @classdesc Represents a SnapshotsResponse. + * @implements ISnapshotsResponse + * @constructor + * @param {tendermint.statesync.ISnapshotsResponse=} [properties] Properties to set + */ + function SnapshotsResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SnapshotsResponse height. + * @member {number|Long} height + * @memberof tendermint.statesync.SnapshotsResponse + * @instance + */ + SnapshotsResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * SnapshotsResponse format. + * @member {number} format + * @memberof tendermint.statesync.SnapshotsResponse + * @instance + */ + SnapshotsResponse.prototype.format = 0; + + /** + * SnapshotsResponse chunks. + * @member {number} chunks + * @memberof tendermint.statesync.SnapshotsResponse + * @instance + */ + SnapshotsResponse.prototype.chunks = 0; + + /** + * SnapshotsResponse hash. + * @member {Uint8Array} hash + * @memberof tendermint.statesync.SnapshotsResponse + * @instance + */ + SnapshotsResponse.prototype.hash = $util.newBuffer([]); + + /** + * SnapshotsResponse metadata. + * @member {Uint8Array} metadata + * @memberof tendermint.statesync.SnapshotsResponse + * @instance + */ + SnapshotsResponse.prototype.metadata = $util.newBuffer([]); + + /** + * Creates a new SnapshotsResponse instance using the specified properties. + * @function create + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {tendermint.statesync.ISnapshotsResponse=} [properties] Properties to set + * @returns {tendermint.statesync.SnapshotsResponse} SnapshotsResponse instance + */ + SnapshotsResponse.create = function create(properties) { + return new SnapshotsResponse(properties); + }; + + /** + * Encodes the specified SnapshotsResponse message. Does not implicitly {@link tendermint.statesync.SnapshotsResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {tendermint.statesync.ISnapshotsResponse} message SnapshotsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SnapshotsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); + if (message.format != null && Object.hasOwnProperty.call(message, "format")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); + if (message.chunks != null && Object.hasOwnProperty.call(message, "chunks")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.chunks); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.hash); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.metadata); + return writer; + }; + + /** + * Encodes the specified SnapshotsResponse message, length delimited. Does not implicitly {@link tendermint.statesync.SnapshotsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {tendermint.statesync.ISnapshotsResponse} message SnapshotsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SnapshotsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SnapshotsResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.statesync.SnapshotsResponse} SnapshotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SnapshotsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.statesync.SnapshotsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.uint64(); + break; + case 2: + message.format = reader.uint32(); + break; + case 3: + message.chunks = reader.uint32(); + break; + case 4: + message.hash = reader.bytes(); + break; + case 5: + message.metadata = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SnapshotsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.statesync.SnapshotsResponse} SnapshotsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SnapshotsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SnapshotsResponse message. + * @function verify + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SnapshotsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.format != null && message.hasOwnProperty("format")) + if (!$util.isInteger(message.format)) + return "format: integer expected"; + if (message.chunks != null && message.hasOwnProperty("chunks")) + if (!$util.isInteger(message.chunks)) + return "chunks: integer expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + if (message.metadata != null && message.hasOwnProperty("metadata")) + if (!(message.metadata && typeof message.metadata.length === "number" || $util.isString(message.metadata))) + return "metadata: buffer expected"; + return null; + }; + + /** + * Creates a SnapshotsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.statesync.SnapshotsResponse} SnapshotsResponse + */ + SnapshotsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.statesync.SnapshotsResponse) + return object; + var message = new $root.tendermint.statesync.SnapshotsResponse(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = true; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); + if (object.format != null) + message.format = object.format >>> 0; + if (object.chunks != null) + message.chunks = object.chunks >>> 0; + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + if (object.metadata != null) + if (typeof object.metadata === "string") + $util.base64.decode(object.metadata, message.metadata = $util.newBuffer($util.base64.length(object.metadata)), 0); + else if (object.metadata.length) + message.metadata = object.metadata; + return message; + }; + + /** + * Creates a plain object from a SnapshotsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.statesync.SnapshotsResponse + * @static + * @param {tendermint.statesync.SnapshotsResponse} message SnapshotsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SnapshotsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.format = 0; + object.chunks = 0; + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + if (options.bytes === String) + object.metadata = ""; + else { + object.metadata = []; + if (options.bytes !== Array) + object.metadata = $util.newBuffer(object.metadata); + } + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; + if (message.format != null && message.hasOwnProperty("format")) + object.format = message.format; + if (message.chunks != null && message.hasOwnProperty("chunks")) + object.chunks = message.chunks; + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = options.bytes === String ? $util.base64.encode(message.metadata, 0, message.metadata.length) : options.bytes === Array ? Array.prototype.slice.call(message.metadata) : message.metadata; + return object; + }; + + /** + * Converts this SnapshotsResponse to JSON. + * @function toJSON + * @memberof tendermint.statesync.SnapshotsResponse + * @instance + * @returns {Object.} JSON object + */ + SnapshotsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SnapshotsResponse; + })(); + + statesync.ChunkRequest = (function() { + + /** + * Properties of a ChunkRequest. + * @memberof tendermint.statesync + * @interface IChunkRequest + * @property {number|Long|null} [height] ChunkRequest height + * @property {number|null} [format] ChunkRequest format + * @property {number|null} [index] ChunkRequest index + */ + + /** + * Constructs a new ChunkRequest. + * @memberof tendermint.statesync + * @classdesc Represents a ChunkRequest. + * @implements IChunkRequest + * @constructor + * @param {tendermint.statesync.IChunkRequest=} [properties] Properties to set + */ + function ChunkRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ChunkRequest height. + * @member {number|Long} height + * @memberof tendermint.statesync.ChunkRequest + * @instance + */ + ChunkRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ChunkRequest format. + * @member {number} format + * @memberof tendermint.statesync.ChunkRequest + * @instance + */ + ChunkRequest.prototype.format = 0; + + /** + * ChunkRequest index. + * @member {number} index + * @memberof tendermint.statesync.ChunkRequest + * @instance + */ + ChunkRequest.prototype.index = 0; + + /** + * Creates a new ChunkRequest instance using the specified properties. + * @function create + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {tendermint.statesync.IChunkRequest=} [properties] Properties to set + * @returns {tendermint.statesync.ChunkRequest} ChunkRequest instance + */ + ChunkRequest.create = function create(properties) { + return new ChunkRequest(properties); + }; + + /** + * Encodes the specified ChunkRequest message. Does not implicitly {@link tendermint.statesync.ChunkRequest.verify|verify} messages. + * @function encode + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {tendermint.statesync.IChunkRequest} message ChunkRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChunkRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); + if (message.format != null && Object.hasOwnProperty.call(message, "format")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.index); + return writer; + }; + + /** + * Encodes the specified ChunkRequest message, length delimited. Does not implicitly {@link tendermint.statesync.ChunkRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {tendermint.statesync.IChunkRequest} message ChunkRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChunkRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ChunkRequest message from the specified reader or buffer. + * @function decode + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.statesync.ChunkRequest} ChunkRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChunkRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.statesync.ChunkRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.uint64(); + break; + case 2: + message.format = reader.uint32(); + break; + case 3: + message.index = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ChunkRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.statesync.ChunkRequest} ChunkRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChunkRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ChunkRequest message. + * @function verify + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ChunkRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.format != null && message.hasOwnProperty("format")) + if (!$util.isInteger(message.format)) + return "format: integer expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index)) + return "index: integer expected"; + return null; + }; + + /** + * Creates a ChunkRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {Object.} object Plain object + * @returns {tendermint.statesync.ChunkRequest} ChunkRequest + */ + ChunkRequest.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.statesync.ChunkRequest) + return object; + var message = new $root.tendermint.statesync.ChunkRequest(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = true; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); + if (object.format != null) + message.format = object.format >>> 0; + if (object.index != null) + message.index = object.index >>> 0; + return message; + }; + + /** + * Creates a plain object from a ChunkRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.statesync.ChunkRequest + * @static + * @param {tendermint.statesync.ChunkRequest} message ChunkRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ChunkRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.format = 0; + object.index = 0; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; + if (message.format != null && message.hasOwnProperty("format")) + object.format = message.format; + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; + return object; + }; + + /** + * Converts this ChunkRequest to JSON. + * @function toJSON + * @memberof tendermint.statesync.ChunkRequest + * @instance + * @returns {Object.} JSON object + */ + ChunkRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ChunkRequest; + })(); + + statesync.ChunkResponse = (function() { + + /** + * Properties of a ChunkResponse. + * @memberof tendermint.statesync + * @interface IChunkResponse + * @property {number|Long|null} [height] ChunkResponse height + * @property {number|null} [format] ChunkResponse format + * @property {number|null} [index] ChunkResponse index + * @property {Uint8Array|null} [chunk] ChunkResponse chunk + * @property {boolean|null} [missing] ChunkResponse missing + */ + + /** + * Constructs a new ChunkResponse. + * @memberof tendermint.statesync + * @classdesc Represents a ChunkResponse. + * @implements IChunkResponse + * @constructor + * @param {tendermint.statesync.IChunkResponse=} [properties] Properties to set + */ + function ChunkResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ChunkResponse height. + * @member {number|Long} height + * @memberof tendermint.statesync.ChunkResponse + * @instance + */ + ChunkResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * ChunkResponse format. + * @member {number} format + * @memberof tendermint.statesync.ChunkResponse + * @instance + */ + ChunkResponse.prototype.format = 0; + + /** + * ChunkResponse index. + * @member {number} index + * @memberof tendermint.statesync.ChunkResponse + * @instance + */ + ChunkResponse.prototype.index = 0; + + /** + * ChunkResponse chunk. + * @member {Uint8Array} chunk + * @memberof tendermint.statesync.ChunkResponse + * @instance + */ + ChunkResponse.prototype.chunk = $util.newBuffer([]); + + /** + * ChunkResponse missing. + * @member {boolean} missing + * @memberof tendermint.statesync.ChunkResponse + * @instance + */ + ChunkResponse.prototype.missing = false; + + /** + * Creates a new ChunkResponse instance using the specified properties. + * @function create + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {tendermint.statesync.IChunkResponse=} [properties] Properties to set + * @returns {tendermint.statesync.ChunkResponse} ChunkResponse instance + */ + ChunkResponse.create = function create(properties) { + return new ChunkResponse(properties); + }; + + /** + * Encodes the specified ChunkResponse message. Does not implicitly {@link tendermint.statesync.ChunkResponse.verify|verify} messages. + * @function encode + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {tendermint.statesync.IChunkResponse} message ChunkResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChunkResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); + if (message.format != null && Object.hasOwnProperty.call(message, "format")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.index); + if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.chunk); + if (message.missing != null && Object.hasOwnProperty.call(message, "missing")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.missing); + return writer; + }; + + /** + * Encodes the specified ChunkResponse message, length delimited. Does not implicitly {@link tendermint.statesync.ChunkResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {tendermint.statesync.IChunkResponse} message ChunkResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChunkResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ChunkResponse message from the specified reader or buffer. + * @function decode + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.statesync.ChunkResponse} ChunkResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChunkResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.statesync.ChunkResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.uint64(); + break; + case 2: + message.format = reader.uint32(); + break; + case 3: + message.index = reader.uint32(); + break; + case 4: + message.chunk = reader.bytes(); + break; + case 5: + message.missing = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ChunkResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.statesync.ChunkResponse} ChunkResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChunkResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ChunkResponse message. + * @function verify + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ChunkResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.format != null && message.hasOwnProperty("format")) + if (!$util.isInteger(message.format)) + return "format: integer expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index)) + return "index: integer expected"; + if (message.chunk != null && message.hasOwnProperty("chunk")) + if (!(message.chunk && typeof message.chunk.length === "number" || $util.isString(message.chunk))) + return "chunk: buffer expected"; + if (message.missing != null && message.hasOwnProperty("missing")) + if (typeof message.missing !== "boolean") + return "missing: boolean expected"; + return null; + }; + + /** + * Creates a ChunkResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {Object.} object Plain object + * @returns {tendermint.statesync.ChunkResponse} ChunkResponse + */ + ChunkResponse.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.statesync.ChunkResponse) + return object; + var message = new $root.tendermint.statesync.ChunkResponse(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = true; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); + if (object.format != null) + message.format = object.format >>> 0; + if (object.index != null) + message.index = object.index >>> 0; + if (object.chunk != null) + if (typeof object.chunk === "string") + $util.base64.decode(object.chunk, message.chunk = $util.newBuffer($util.base64.length(object.chunk)), 0); + else if (object.chunk.length) + message.chunk = object.chunk; + if (object.missing != null) + message.missing = Boolean(object.missing); + return message; + }; + + /** + * Creates a plain object from a ChunkResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.statesync.ChunkResponse + * @static + * @param {tendermint.statesync.ChunkResponse} message ChunkResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ChunkResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.format = 0; + object.index = 0; + if (options.bytes === String) + object.chunk = ""; + else { + object.chunk = []; + if (options.bytes !== Array) + object.chunk = $util.newBuffer(object.chunk); + } + object.missing = false; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; + if (message.format != null && message.hasOwnProperty("format")) + object.format = message.format; + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; + if (message.chunk != null && message.hasOwnProperty("chunk")) + object.chunk = options.bytes === String ? $util.base64.encode(message.chunk, 0, message.chunk.length) : options.bytes === Array ? Array.prototype.slice.call(message.chunk) : message.chunk; + if (message.missing != null && message.hasOwnProperty("missing")) + object.missing = message.missing; + return object; + }; + + /** + * Converts this ChunkResponse to JSON. + * @function toJSON + * @memberof tendermint.statesync.ChunkResponse + * @instance + * @returns {Object.} JSON object + */ + ChunkResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ChunkResponse; + })(); + + return statesync; + })(); + + tendermint.store = (function() { + + /** + * Namespace store. + * @memberof tendermint + * @namespace + */ + var store = {}; + + store.BlockStoreState = (function() { + + /** + * Properties of a BlockStoreState. + * @memberof tendermint.store + * @interface IBlockStoreState + * @property {number|Long|null} [base] BlockStoreState base + * @property {number|Long|null} [height] BlockStoreState height + */ + + /** + * Constructs a new BlockStoreState. + * @memberof tendermint.store + * @classdesc Represents a BlockStoreState. + * @implements IBlockStoreState + * @constructor + * @param {tendermint.store.IBlockStoreState=} [properties] Properties to set + */ + function BlockStoreState(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlockStoreState base. + * @member {number|Long} base + * @memberof tendermint.store.BlockStoreState + * @instance + */ + BlockStoreState.prototype.base = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BlockStoreState height. + * @member {number|Long} height + * @memberof tendermint.store.BlockStoreState + * @instance + */ + BlockStoreState.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new BlockStoreState instance using the specified properties. + * @function create + * @memberof tendermint.store.BlockStoreState + * @static + * @param {tendermint.store.IBlockStoreState=} [properties] Properties to set + * @returns {tendermint.store.BlockStoreState} BlockStoreState instance + */ + BlockStoreState.create = function create(properties) { + return new BlockStoreState(properties); + }; + + /** + * Encodes the specified BlockStoreState message. Does not implicitly {@link tendermint.store.BlockStoreState.verify|verify} messages. + * @function encode + * @memberof tendermint.store.BlockStoreState + * @static + * @param {tendermint.store.IBlockStoreState} message BlockStoreState message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockStoreState.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.base != null && Object.hasOwnProperty.call(message, "base")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.base); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.height); + return writer; + }; + + /** + * Encodes the specified BlockStoreState message, length delimited. Does not implicitly {@link tendermint.store.BlockStoreState.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.store.BlockStoreState + * @static + * @param {tendermint.store.IBlockStoreState} message BlockStoreState message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockStoreState.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlockStoreState message from the specified reader or buffer. + * @function decode + * @memberof tendermint.store.BlockStoreState + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.store.BlockStoreState} BlockStoreState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockStoreState.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.store.BlockStoreState(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.base = reader.int64(); + break; + case 2: + message.height = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlockStoreState message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.store.BlockStoreState + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.store.BlockStoreState} BlockStoreState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockStoreState.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlockStoreState message. + * @function verify + * @memberof tendermint.store.BlockStoreState + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockStoreState.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.base != null && message.hasOwnProperty("base")) + if (!$util.isInteger(message.base) && !(message.base && $util.isInteger(message.base.low) && $util.isInteger(message.base.high))) + return "base: integer|Long expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + return null; + }; + + /** + * Creates a BlockStoreState message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.store.BlockStoreState + * @static + * @param {Object.} object Plain object + * @returns {tendermint.store.BlockStoreState} BlockStoreState + */ + BlockStoreState.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.store.BlockStoreState) + return object; + var message = new $root.tendermint.store.BlockStoreState(); + if (object.base != null) + if ($util.Long) + (message.base = $util.Long.fromValue(object.base)).unsigned = false; + else if (typeof object.base === "string") + message.base = parseInt(object.base, 10); + else if (typeof object.base === "number") + message.base = object.base; + else if (typeof object.base === "object") + message.base = new $util.LongBits(object.base.low >>> 0, object.base.high >>> 0).toNumber(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a BlockStoreState message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.store.BlockStoreState + * @static + * @param {tendermint.store.BlockStoreState} message BlockStoreState + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockStoreState.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.base = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.base = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + } + if (message.base != null && message.hasOwnProperty("base")) + if (typeof message.base === "number") + object.base = options.longs === String ? String(message.base) : message.base; + else + object.base = options.longs === String ? $util.Long.prototype.toString.call(message.base) : options.longs === Number ? new $util.LongBits(message.base.low >>> 0, message.base.high >>> 0).toNumber() : message.base; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + return object; + }; + + /** + * Converts this BlockStoreState to JSON. + * @function toJSON + * @memberof tendermint.store.BlockStoreState + * @instance + * @returns {Object.} JSON object + */ + BlockStoreState.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BlockStoreState; + })(); + + return store; + })(); + + tendermint.types = (function() { + + /** + * Namespace types. + * @memberof tendermint + * @namespace + */ + var types = {}; + + types.Block = (function() { + + /** + * Properties of a Block. + * @memberof tendermint.types + * @interface IBlock + * @property {tendermint.types.IHeader|null} [header] Block header + * @property {tendermint.types.IData|null} [data] Block data + * @property {tendermint.types.IEvidenceList|null} [evidence] Block evidence + * @property {tendermint.types.ICommit|null} [lastCommit] Block lastCommit + */ + + /** + * Constructs a new Block. + * @memberof tendermint.types + * @classdesc Represents a Block. + * @implements IBlock + * @constructor + * @param {tendermint.types.IBlock=} [properties] Properties to set + */ + function Block(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Block header. + * @member {tendermint.types.IHeader|null|undefined} header + * @memberof tendermint.types.Block + * @instance + */ + Block.prototype.header = null; + + /** + * Block data. + * @member {tendermint.types.IData|null|undefined} data + * @memberof tendermint.types.Block + * @instance + */ + Block.prototype.data = null; + + /** + * Block evidence. + * @member {tendermint.types.IEvidenceList|null|undefined} evidence + * @memberof tendermint.types.Block + * @instance + */ + Block.prototype.evidence = null; + + /** + * Block lastCommit. + * @member {tendermint.types.ICommit|null|undefined} lastCommit + * @memberof tendermint.types.Block + * @instance + */ + Block.prototype.lastCommit = null; + + /** + * Creates a new Block instance using the specified properties. + * @function create + * @memberof tendermint.types.Block + * @static + * @param {tendermint.types.IBlock=} [properties] Properties to set + * @returns {tendermint.types.Block} Block instance + */ + Block.create = function create(properties) { + return new Block(properties); + }; + + /** + * Encodes the specified Block message. Does not implicitly {@link tendermint.types.Block.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Block + * @static + * @param {tendermint.types.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.header != null && Object.hasOwnProperty.call(message, "header")) + $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + $root.tendermint.types.Data.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) + $root.tendermint.types.EvidenceList.encode(message.evidence, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.lastCommit != null && Object.hasOwnProperty.call(message, "lastCommit")) + $root.tendermint.types.Commit.encode(message.lastCommit, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link tendermint.types.Block.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Block + * @static + * @param {tendermint.types.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Block message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Block(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); + break; + case 2: + message.data = $root.tendermint.types.Data.decode(reader, reader.uint32()); + break; + case 3: + message.evidence = $root.tendermint.types.EvidenceList.decode(reader, reader.uint32()); + break; + case 4: + message.lastCommit = $root.tendermint.types.Commit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Block message. + * @function verify + * @memberof tendermint.types.Block + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Block.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.header != null && message.hasOwnProperty("header")) { + var error = $root.tendermint.types.Header.verify(message.header); + if (error) + return "header." + error; + } + if (message.data != null && message.hasOwnProperty("data")) { + var error = $root.tendermint.types.Data.verify(message.data); + if (error) + return "data." + error; + } + if (message.evidence != null && message.hasOwnProperty("evidence")) { + var error = $root.tendermint.types.EvidenceList.verify(message.evidence); + if (error) + return "evidence." + error; + } + if (message.lastCommit != null && message.hasOwnProperty("lastCommit")) { + var error = $root.tendermint.types.Commit.verify(message.lastCommit); + if (error) + return "lastCommit." + error; + } + return null; + }; + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Block + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Block} Block + */ + Block.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Block) + return object; + var message = new $root.tendermint.types.Block(); + if (object.header != null) { + if (typeof object.header !== "object") + throw TypeError(".tendermint.types.Block.header: object expected"); + message.header = $root.tendermint.types.Header.fromObject(object.header); + } + if (object.data != null) { + if (typeof object.data !== "object") + throw TypeError(".tendermint.types.Block.data: object expected"); + message.data = $root.tendermint.types.Data.fromObject(object.data); + } + if (object.evidence != null) { + if (typeof object.evidence !== "object") + throw TypeError(".tendermint.types.Block.evidence: object expected"); + message.evidence = $root.tendermint.types.EvidenceList.fromObject(object.evidence); + } + if (object.lastCommit != null) { + if (typeof object.lastCommit !== "object") + throw TypeError(".tendermint.types.Block.lastCommit: object expected"); + message.lastCommit = $root.tendermint.types.Commit.fromObject(object.lastCommit); + } + return message; + }; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Block + * @static + * @param {tendermint.types.Block} message Block + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Block.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.header = null; + object.data = null; + object.evidence = null; + object.lastCommit = null; + } + if (message.header != null && message.hasOwnProperty("header")) + object.header = $root.tendermint.types.Header.toObject(message.header, options); + if (message.data != null && message.hasOwnProperty("data")) + object.data = $root.tendermint.types.Data.toObject(message.data, options); + if (message.evidence != null && message.hasOwnProperty("evidence")) + object.evidence = $root.tendermint.types.EvidenceList.toObject(message.evidence, options); + if (message.lastCommit != null && message.hasOwnProperty("lastCommit")) + object.lastCommit = $root.tendermint.types.Commit.toObject(message.lastCommit, options); + return object; + }; + + /** + * Converts this Block to JSON. + * @function toJSON + * @memberof tendermint.types.Block + * @instance + * @returns {Object.} JSON object + */ + Block.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Block; + })(); + + types.CanonicalBlockID = (function() { + + /** + * Properties of a CanonicalBlockID. + * @memberof tendermint.types + * @interface ICanonicalBlockID + * @property {Uint8Array|null} [hash] CanonicalBlockID hash + * @property {tendermint.types.ICanonicalPartSetHeader|null} [partSetHeader] CanonicalBlockID partSetHeader + */ + + /** + * Constructs a new CanonicalBlockID. + * @memberof tendermint.types + * @classdesc Represents a CanonicalBlockID. + * @implements ICanonicalBlockID + * @constructor + * @param {tendermint.types.ICanonicalBlockID=} [properties] Properties to set + */ + function CanonicalBlockID(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CanonicalBlockID hash. + * @member {Uint8Array} hash + * @memberof tendermint.types.CanonicalBlockID + * @instance + */ + CanonicalBlockID.prototype.hash = $util.newBuffer([]); + + /** + * CanonicalBlockID partSetHeader. + * @member {tendermint.types.ICanonicalPartSetHeader|null|undefined} partSetHeader + * @memberof tendermint.types.CanonicalBlockID + * @instance + */ + CanonicalBlockID.prototype.partSetHeader = null; + + /** + * Creates a new CanonicalBlockID instance using the specified properties. + * @function create + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {tendermint.types.ICanonicalBlockID=} [properties] Properties to set + * @returns {tendermint.types.CanonicalBlockID} CanonicalBlockID instance + */ + CanonicalBlockID.create = function create(properties) { + return new CanonicalBlockID(properties); + }; + + /** + * Encodes the specified CanonicalBlockID message. Does not implicitly {@link tendermint.types.CanonicalBlockID.verify|verify} messages. + * @function encode + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {tendermint.types.ICanonicalBlockID} message CanonicalBlockID message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalBlockID.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); + if (message.partSetHeader != null && Object.hasOwnProperty.call(message, "partSetHeader")) + $root.tendermint.types.CanonicalPartSetHeader.encode(message.partSetHeader, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CanonicalBlockID message, length delimited. Does not implicitly {@link tendermint.types.CanonicalBlockID.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {tendermint.types.ICanonicalBlockID} message CanonicalBlockID message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalBlockID.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CanonicalBlockID message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.CanonicalBlockID} CanonicalBlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalBlockID.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.CanonicalBlockID(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.bytes(); + break; + case 2: + message.partSetHeader = $root.tendermint.types.CanonicalPartSetHeader.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CanonicalBlockID message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.CanonicalBlockID} CanonicalBlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalBlockID.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CanonicalBlockID message. + * @function verify + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CanonicalBlockID.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + if (message.partSetHeader != null && message.hasOwnProperty("partSetHeader")) { + var error = $root.tendermint.types.CanonicalPartSetHeader.verify(message.partSetHeader); + if (error) + return "partSetHeader." + error; + } + return null; + }; + + /** + * Creates a CanonicalBlockID message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.CanonicalBlockID} CanonicalBlockID + */ + CanonicalBlockID.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.CanonicalBlockID) + return object; + var message = new $root.tendermint.types.CanonicalBlockID(); + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + if (object.partSetHeader != null) { + if (typeof object.partSetHeader !== "object") + throw TypeError(".tendermint.types.CanonicalBlockID.partSetHeader: object expected"); + message.partSetHeader = $root.tendermint.types.CanonicalPartSetHeader.fromObject(object.partSetHeader); + } + return message; + }; + + /** + * Creates a plain object from a CanonicalBlockID message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.CanonicalBlockID + * @static + * @param {tendermint.types.CanonicalBlockID} message CanonicalBlockID + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CanonicalBlockID.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + object.partSetHeader = null; + } + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + if (message.partSetHeader != null && message.hasOwnProperty("partSetHeader")) + object.partSetHeader = $root.tendermint.types.CanonicalPartSetHeader.toObject(message.partSetHeader, options); + return object; + }; + + /** + * Converts this CanonicalBlockID to JSON. + * @function toJSON + * @memberof tendermint.types.CanonicalBlockID + * @instance + * @returns {Object.} JSON object + */ + CanonicalBlockID.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CanonicalBlockID; + })(); + + types.CanonicalPartSetHeader = (function() { + + /** + * Properties of a CanonicalPartSetHeader. + * @memberof tendermint.types + * @interface ICanonicalPartSetHeader + * @property {number|null} [total] CanonicalPartSetHeader total + * @property {Uint8Array|null} [hash] CanonicalPartSetHeader hash + */ + + /** + * Constructs a new CanonicalPartSetHeader. + * @memberof tendermint.types + * @classdesc Represents a CanonicalPartSetHeader. + * @implements ICanonicalPartSetHeader + * @constructor + * @param {tendermint.types.ICanonicalPartSetHeader=} [properties] Properties to set + */ + function CanonicalPartSetHeader(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CanonicalPartSetHeader total. + * @member {number} total + * @memberof tendermint.types.CanonicalPartSetHeader + * @instance + */ + CanonicalPartSetHeader.prototype.total = 0; + + /** + * CanonicalPartSetHeader hash. + * @member {Uint8Array} hash + * @memberof tendermint.types.CanonicalPartSetHeader + * @instance + */ + CanonicalPartSetHeader.prototype.hash = $util.newBuffer([]); + + /** + * Creates a new CanonicalPartSetHeader instance using the specified properties. + * @function create + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {tendermint.types.ICanonicalPartSetHeader=} [properties] Properties to set + * @returns {tendermint.types.CanonicalPartSetHeader} CanonicalPartSetHeader instance + */ + CanonicalPartSetHeader.create = function create(properties) { + return new CanonicalPartSetHeader(properties); + }; + + /** + * Encodes the specified CanonicalPartSetHeader message. Does not implicitly {@link tendermint.types.CanonicalPartSetHeader.verify|verify} messages. + * @function encode + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {tendermint.types.ICanonicalPartSetHeader} message CanonicalPartSetHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalPartSetHeader.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.total != null && Object.hasOwnProperty.call(message, "total")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.total); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.hash); + return writer; + }; + + /** + * Encodes the specified CanonicalPartSetHeader message, length delimited. Does not implicitly {@link tendermint.types.CanonicalPartSetHeader.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {tendermint.types.ICanonicalPartSetHeader} message CanonicalPartSetHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalPartSetHeader.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CanonicalPartSetHeader message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.CanonicalPartSetHeader} CanonicalPartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalPartSetHeader.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.CanonicalPartSetHeader(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.total = reader.uint32(); + break; + case 2: + message.hash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CanonicalPartSetHeader message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.CanonicalPartSetHeader} CanonicalPartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalPartSetHeader.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CanonicalPartSetHeader message. + * @function verify + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CanonicalPartSetHeader.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.total != null && message.hasOwnProperty("total")) + if (!$util.isInteger(message.total)) + return "total: integer expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + return null; + }; + + /** + * Creates a CanonicalPartSetHeader message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.CanonicalPartSetHeader} CanonicalPartSetHeader + */ + CanonicalPartSetHeader.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.CanonicalPartSetHeader) + return object; + var message = new $root.tendermint.types.CanonicalPartSetHeader(); + if (object.total != null) + message.total = object.total >>> 0; + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + return message; + }; + + /** + * Creates a plain object from a CanonicalPartSetHeader message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.CanonicalPartSetHeader + * @static + * @param {tendermint.types.CanonicalPartSetHeader} message CanonicalPartSetHeader + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CanonicalPartSetHeader.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.total = 0; + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + } + if (message.total != null && message.hasOwnProperty("total")) + object.total = message.total; + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + return object; + }; + + /** + * Converts this CanonicalPartSetHeader to JSON. + * @function toJSON + * @memberof tendermint.types.CanonicalPartSetHeader + * @instance + * @returns {Object.} JSON object + */ + CanonicalPartSetHeader.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CanonicalPartSetHeader; + })(); + + types.CanonicalProposal = (function() { + + /** + * Properties of a CanonicalProposal. + * @memberof tendermint.types + * @interface ICanonicalProposal + * @property {tendermint.types.SignedMsgType|null} [type] CanonicalProposal type + * @property {number|Long|null} [height] CanonicalProposal height + * @property {number|Long|null} [round] CanonicalProposal round + * @property {number|Long|null} [polRound] CanonicalProposal polRound + * @property {tendermint.types.ICanonicalBlockID|null} [blockId] CanonicalProposal blockId + * @property {google.protobuf.ITimestamp|null} [timestamp] CanonicalProposal timestamp + * @property {string|null} [chainId] CanonicalProposal chainId + */ + + /** + * Constructs a new CanonicalProposal. + * @memberof tendermint.types + * @classdesc Represents a CanonicalProposal. + * @implements ICanonicalProposal + * @constructor + * @param {tendermint.types.ICanonicalProposal=} [properties] Properties to set + */ + function CanonicalProposal(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CanonicalProposal type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.type = 0; + + /** + * CanonicalProposal height. + * @member {number|Long} height + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * CanonicalProposal round. + * @member {number|Long} round + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.round = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * CanonicalProposal polRound. + * @member {number|Long} polRound + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.polRound = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * CanonicalProposal blockId. + * @member {tendermint.types.ICanonicalBlockID|null|undefined} blockId + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.blockId = null; + + /** + * CanonicalProposal timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.timestamp = null; + + /** + * CanonicalProposal chainId. + * @member {string} chainId + * @memberof tendermint.types.CanonicalProposal + * @instance + */ + CanonicalProposal.prototype.chainId = ""; + + /** + * Creates a new CanonicalProposal instance using the specified properties. + * @function create + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {tendermint.types.ICanonicalProposal=} [properties] Properties to set + * @returns {tendermint.types.CanonicalProposal} CanonicalProposal instance + */ + CanonicalProposal.create = function create(properties) { + return new CanonicalProposal(properties); + }; + + /** + * Encodes the specified CanonicalProposal message. Does not implicitly {@link tendermint.types.CanonicalProposal.verify|verify} messages. + * @function encode + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {tendermint.types.ICanonicalProposal} message CanonicalProposal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalProposal.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 2, wireType 1 =*/17).sfixed64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 3, wireType 1 =*/25).sfixed64(message.round); + if (message.polRound != null && Object.hasOwnProperty.call(message, "polRound")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.polRound); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.CanonicalBlockID.encode(message.blockId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.chainId); + return writer; + }; + + /** + * Encodes the specified CanonicalProposal message, length delimited. Does not implicitly {@link tendermint.types.CanonicalProposal.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {tendermint.types.ICanonicalProposal} message CanonicalProposal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalProposal.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CanonicalProposal message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.CanonicalProposal} CanonicalProposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalProposal.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.CanonicalProposal(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.height = reader.sfixed64(); + break; + case 3: + message.round = reader.sfixed64(); + break; + case 4: + message.polRound = reader.int64(); + break; + case 5: + message.blockId = $root.tendermint.types.CanonicalBlockID.decode(reader, reader.uint32()); + break; + case 6: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 7: + message.chainId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CanonicalProposal message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.CanonicalProposal} CanonicalProposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalProposal.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CanonicalProposal message. + * @function verify + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CanonicalProposal.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round) && !(message.round && $util.isInteger(message.round.low) && $util.isInteger(message.round.high))) + return "round: integer|Long expected"; + if (message.polRound != null && message.hasOwnProperty("polRound")) + if (!$util.isInteger(message.polRound) && !(message.polRound && $util.isInteger(message.polRound.low) && $util.isInteger(message.polRound.high))) + return "polRound: integer|Long expected"; + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.CanonicalBlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + return null; + }; + + /** + * Creates a CanonicalProposal message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.CanonicalProposal} CanonicalProposal + */ + CanonicalProposal.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.CanonicalProposal) + return object; + var message = new $root.tendermint.types.CanonicalProposal(); + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + if ($util.Long) + (message.round = $util.Long.fromValue(object.round)).unsigned = false; + else if (typeof object.round === "string") + message.round = parseInt(object.round, 10); + else if (typeof object.round === "number") + message.round = object.round; + else if (typeof object.round === "object") + message.round = new $util.LongBits(object.round.low >>> 0, object.round.high >>> 0).toNumber(); + if (object.polRound != null) + if ($util.Long) + (message.polRound = $util.Long.fromValue(object.polRound)).unsigned = false; + else if (typeof object.polRound === "string") + message.polRound = parseInt(object.polRound, 10); + else if (typeof object.polRound === "number") + message.polRound = object.polRound; + else if (typeof object.polRound === "object") + message.polRound = new $util.LongBits(object.polRound.low >>> 0, object.polRound.high >>> 0).toNumber(); + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.types.CanonicalProposal.blockId: object expected"); + message.blockId = $root.tendermint.types.CanonicalBlockID.fromObject(object.blockId); + } + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.CanonicalProposal.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + return message; + }; + + /** + * Creates a plain object from a CanonicalProposal message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.CanonicalProposal + * @static + * @param {tendermint.types.CanonicalProposal} message CanonicalProposal + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CanonicalProposal.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.round = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.round = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.polRound = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.polRound = options.longs === String ? "0" : 0; + object.blockId = null; + object.timestamp = null; + object.chainId = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + if (typeof message.round === "number") + object.round = options.longs === String ? String(message.round) : message.round; + else + object.round = options.longs === String ? $util.Long.prototype.toString.call(message.round) : options.longs === Number ? new $util.LongBits(message.round.low >>> 0, message.round.high >>> 0).toNumber() : message.round; + if (message.polRound != null && message.hasOwnProperty("polRound")) + if (typeof message.polRound === "number") + object.polRound = options.longs === String ? String(message.polRound) : message.polRound; + else + object.polRound = options.longs === String ? $util.Long.prototype.toString.call(message.polRound) : options.longs === Number ? new $util.LongBits(message.polRound.low >>> 0, message.polRound.high >>> 0).toNumber() : message.polRound; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.CanonicalBlockID.toObject(message.blockId, options); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + return object; + }; + + /** + * Converts this CanonicalProposal to JSON. + * @function toJSON + * @memberof tendermint.types.CanonicalProposal + * @instance + * @returns {Object.} JSON object + */ + CanonicalProposal.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CanonicalProposal; + })(); + + types.CanonicalVote = (function() { + + /** + * Properties of a CanonicalVote. + * @memberof tendermint.types + * @interface ICanonicalVote + * @property {tendermint.types.SignedMsgType|null} [type] CanonicalVote type + * @property {number|Long|null} [height] CanonicalVote height + * @property {number|Long|null} [round] CanonicalVote round + * @property {tendermint.types.ICanonicalBlockID|null} [blockId] CanonicalVote blockId + * @property {google.protobuf.ITimestamp|null} [timestamp] CanonicalVote timestamp + * @property {string|null} [chainId] CanonicalVote chainId + */ + + /** + * Constructs a new CanonicalVote. + * @memberof tendermint.types + * @classdesc Represents a CanonicalVote. + * @implements ICanonicalVote + * @constructor + * @param {tendermint.types.ICanonicalVote=} [properties] Properties to set + */ + function CanonicalVote(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CanonicalVote type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.types.CanonicalVote + * @instance + */ + CanonicalVote.prototype.type = 0; + + /** + * CanonicalVote height. + * @member {number|Long} height + * @memberof tendermint.types.CanonicalVote + * @instance + */ + CanonicalVote.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * CanonicalVote round. + * @member {number|Long} round + * @memberof tendermint.types.CanonicalVote + * @instance + */ + CanonicalVote.prototype.round = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * CanonicalVote blockId. + * @member {tendermint.types.ICanonicalBlockID|null|undefined} blockId + * @memberof tendermint.types.CanonicalVote + * @instance + */ + CanonicalVote.prototype.blockId = null; + + /** + * CanonicalVote timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.CanonicalVote + * @instance + */ + CanonicalVote.prototype.timestamp = null; + + /** + * CanonicalVote chainId. + * @member {string} chainId + * @memberof tendermint.types.CanonicalVote + * @instance + */ + CanonicalVote.prototype.chainId = ""; + + /** + * Creates a new CanonicalVote instance using the specified properties. + * @function create + * @memberof tendermint.types.CanonicalVote + * @static + * @param {tendermint.types.ICanonicalVote=} [properties] Properties to set + * @returns {tendermint.types.CanonicalVote} CanonicalVote instance + */ + CanonicalVote.create = function create(properties) { + return new CanonicalVote(properties); + }; + + /** + * Encodes the specified CanonicalVote message. Does not implicitly {@link tendermint.types.CanonicalVote.verify|verify} messages. + * @function encode + * @memberof tendermint.types.CanonicalVote + * @static + * @param {tendermint.types.ICanonicalVote} message CanonicalVote message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalVote.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 2, wireType 1 =*/17).sfixed64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 3, wireType 1 =*/25).sfixed64(message.round); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.CanonicalBlockID.encode(message.blockId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.chainId); + return writer; + }; + + /** + * Encodes the specified CanonicalVote message, length delimited. Does not implicitly {@link tendermint.types.CanonicalVote.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.CanonicalVote + * @static + * @param {tendermint.types.ICanonicalVote} message CanonicalVote message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CanonicalVote.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CanonicalVote message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.CanonicalVote + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.CanonicalVote} CanonicalVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalVote.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.CanonicalVote(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.height = reader.sfixed64(); + break; + case 3: + message.round = reader.sfixed64(); + break; + case 4: + message.blockId = $root.tendermint.types.CanonicalBlockID.decode(reader, reader.uint32()); + break; + case 5: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.chainId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CanonicalVote message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.CanonicalVote + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.CanonicalVote} CanonicalVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CanonicalVote.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CanonicalVote message. + * @function verify + * @memberof tendermint.types.CanonicalVote + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CanonicalVote.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round) && !(message.round && $util.isInteger(message.round.low) && $util.isInteger(message.round.high))) + return "round: integer|Long expected"; + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.CanonicalBlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + return null; + }; + + /** + * Creates a CanonicalVote message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.CanonicalVote + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.CanonicalVote} CanonicalVote + */ + CanonicalVote.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.CanonicalVote) + return object; + var message = new $root.tendermint.types.CanonicalVote(); + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + if ($util.Long) + (message.round = $util.Long.fromValue(object.round)).unsigned = false; + else if (typeof object.round === "string") + message.round = parseInt(object.round, 10); + else if (typeof object.round === "number") + message.round = object.round; + else if (typeof object.round === "object") + message.round = new $util.LongBits(object.round.low >>> 0, object.round.high >>> 0).toNumber(); + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.types.CanonicalVote.blockId: object expected"); + message.blockId = $root.tendermint.types.CanonicalBlockID.fromObject(object.blockId); + } + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.CanonicalVote.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + return message; + }; + + /** + * Creates a plain object from a CanonicalVote message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.CanonicalVote + * @static + * @param {tendermint.types.CanonicalVote} message CanonicalVote + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CanonicalVote.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.round = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.round = options.longs === String ? "0" : 0; + object.blockId = null; + object.timestamp = null; + object.chainId = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + if (typeof message.round === "number") + object.round = options.longs === String ? String(message.round) : message.round; + else + object.round = options.longs === String ? $util.Long.prototype.toString.call(message.round) : options.longs === Number ? new $util.LongBits(message.round.low >>> 0, message.round.high >>> 0).toNumber() : message.round; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.CanonicalBlockID.toObject(message.blockId, options); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + return object; + }; + + /** + * Converts this CanonicalVote to JSON. + * @function toJSON + * @memberof tendermint.types.CanonicalVote + * @instance + * @returns {Object.} JSON object + */ + CanonicalVote.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CanonicalVote; + })(); + + types.EventDataRoundState = (function() { + + /** + * Properties of an EventDataRoundState. + * @memberof tendermint.types + * @interface IEventDataRoundState + * @property {number|Long|null} [height] EventDataRoundState height + * @property {number|null} [round] EventDataRoundState round + * @property {string|null} [step] EventDataRoundState step + */ + + /** + * Constructs a new EventDataRoundState. + * @memberof tendermint.types + * @classdesc Represents an EventDataRoundState. + * @implements IEventDataRoundState + * @constructor + * @param {tendermint.types.IEventDataRoundState=} [properties] Properties to set + */ + function EventDataRoundState(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EventDataRoundState height. + * @member {number|Long} height + * @memberof tendermint.types.EventDataRoundState + * @instance + */ + EventDataRoundState.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * EventDataRoundState round. + * @member {number} round + * @memberof tendermint.types.EventDataRoundState + * @instance + */ + EventDataRoundState.prototype.round = 0; + + /** + * EventDataRoundState step. + * @member {string} step + * @memberof tendermint.types.EventDataRoundState + * @instance + */ + EventDataRoundState.prototype.step = ""; + + /** + * Creates a new EventDataRoundState instance using the specified properties. + * @function create + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {tendermint.types.IEventDataRoundState=} [properties] Properties to set + * @returns {tendermint.types.EventDataRoundState} EventDataRoundState instance + */ + EventDataRoundState.create = function create(properties) { + return new EventDataRoundState(properties); + }; + + /** + * Encodes the specified EventDataRoundState message. Does not implicitly {@link tendermint.types.EventDataRoundState.verify|verify} messages. + * @function encode + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {tendermint.types.IEventDataRoundState} message EventDataRoundState message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EventDataRoundState.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.step != null && Object.hasOwnProperty.call(message, "step")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.step); + return writer; + }; + + /** + * Encodes the specified EventDataRoundState message, length delimited. Does not implicitly {@link tendermint.types.EventDataRoundState.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {tendermint.types.IEventDataRoundState} message EventDataRoundState message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EventDataRoundState.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EventDataRoundState message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.EventDataRoundState} EventDataRoundState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EventDataRoundState.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.EventDataRoundState(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.step = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EventDataRoundState message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.EventDataRoundState} EventDataRoundState + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EventDataRoundState.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EventDataRoundState message. + * @function verify + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EventDataRoundState.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.step != null && message.hasOwnProperty("step")) + if (!$util.isString(message.step)) + return "step: string expected"; + return null; + }; + + /** + * Creates an EventDataRoundState message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.EventDataRoundState} EventDataRoundState + */ + EventDataRoundState.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.EventDataRoundState) + return object; + var message = new $root.tendermint.types.EventDataRoundState(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.step != null) + message.step = String(object.step); + return message; + }; + + /** + * Creates a plain object from an EventDataRoundState message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.EventDataRoundState + * @static + * @param {tendermint.types.EventDataRoundState} message EventDataRoundState + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EventDataRoundState.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.step = ""; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.step != null && message.hasOwnProperty("step")) + object.step = message.step; + return object; + }; + + /** + * Converts this EventDataRoundState to JSON. + * @function toJSON + * @memberof tendermint.types.EventDataRoundState + * @instance + * @returns {Object.} JSON object + */ + EventDataRoundState.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EventDataRoundState; + })(); + + types.Evidence = (function() { + + /** + * Properties of an Evidence. + * @memberof tendermint.types + * @interface IEvidence + * @property {tendermint.types.IDuplicateVoteEvidence|null} [duplicateVoteEvidence] Evidence duplicateVoteEvidence + * @property {tendermint.types.ILightClientAttackEvidence|null} [lightClientAttackEvidence] Evidence lightClientAttackEvidence + */ + + /** + * Constructs a new Evidence. + * @memberof tendermint.types + * @classdesc Represents an Evidence. + * @implements IEvidence + * @constructor + * @param {tendermint.types.IEvidence=} [properties] Properties to set + */ + function Evidence(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Evidence duplicateVoteEvidence. + * @member {tendermint.types.IDuplicateVoteEvidence|null|undefined} duplicateVoteEvidence + * @memberof tendermint.types.Evidence + * @instance + */ + Evidence.prototype.duplicateVoteEvidence = null; + + /** + * Evidence lightClientAttackEvidence. + * @member {tendermint.types.ILightClientAttackEvidence|null|undefined} lightClientAttackEvidence + * @memberof tendermint.types.Evidence + * @instance + */ + Evidence.prototype.lightClientAttackEvidence = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Evidence sum. + * @member {"duplicateVoteEvidence"|"lightClientAttackEvidence"|undefined} sum + * @memberof tendermint.types.Evidence + * @instance + */ + Object.defineProperty(Evidence.prototype, "sum", { + get: $util.oneOfGetter($oneOfFields = ["duplicateVoteEvidence", "lightClientAttackEvidence"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Evidence instance using the specified properties. + * @function create + * @memberof tendermint.types.Evidence + * @static + * @param {tendermint.types.IEvidence=} [properties] Properties to set + * @returns {tendermint.types.Evidence} Evidence instance + */ + Evidence.create = function create(properties) { + return new Evidence(properties); + }; + + /** + * Encodes the specified Evidence message. Does not implicitly {@link tendermint.types.Evidence.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Evidence + * @static + * @param {tendermint.types.IEvidence} message Evidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Evidence.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.duplicateVoteEvidence != null && Object.hasOwnProperty.call(message, "duplicateVoteEvidence")) + $root.tendermint.types.DuplicateVoteEvidence.encode(message.duplicateVoteEvidence, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.lightClientAttackEvidence != null && Object.hasOwnProperty.call(message, "lightClientAttackEvidence")) + $root.tendermint.types.LightClientAttackEvidence.encode(message.lightClientAttackEvidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Evidence message, length delimited. Does not implicitly {@link tendermint.types.Evidence.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Evidence + * @static + * @param {tendermint.types.IEvidence} message Evidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Evidence.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Evidence message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Evidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Evidence} Evidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Evidence.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Evidence(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.duplicateVoteEvidence = $root.tendermint.types.DuplicateVoteEvidence.decode(reader, reader.uint32()); + break; + case 2: + message.lightClientAttackEvidence = $root.tendermint.types.LightClientAttackEvidence.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Evidence message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Evidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Evidence} Evidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Evidence.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Evidence message. + * @function verify + * @memberof tendermint.types.Evidence + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Evidence.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.duplicateVoteEvidence != null && message.hasOwnProperty("duplicateVoteEvidence")) { + properties.sum = 1; + { + var error = $root.tendermint.types.DuplicateVoteEvidence.verify(message.duplicateVoteEvidence); + if (error) + return "duplicateVoteEvidence." + error; + } + } + if (message.lightClientAttackEvidence != null && message.hasOwnProperty("lightClientAttackEvidence")) { + if (properties.sum === 1) + return "sum: multiple values"; + properties.sum = 1; + { + var error = $root.tendermint.types.LightClientAttackEvidence.verify(message.lightClientAttackEvidence); + if (error) + return "lightClientAttackEvidence." + error; + } + } + return null; + }; + + /** + * Creates an Evidence message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Evidence + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Evidence} Evidence + */ + Evidence.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Evidence) + return object; + var message = new $root.tendermint.types.Evidence(); + if (object.duplicateVoteEvidence != null) { + if (typeof object.duplicateVoteEvidence !== "object") + throw TypeError(".tendermint.types.Evidence.duplicateVoteEvidence: object expected"); + message.duplicateVoteEvidence = $root.tendermint.types.DuplicateVoteEvidence.fromObject(object.duplicateVoteEvidence); + } + if (object.lightClientAttackEvidence != null) { + if (typeof object.lightClientAttackEvidence !== "object") + throw TypeError(".tendermint.types.Evidence.lightClientAttackEvidence: object expected"); + message.lightClientAttackEvidence = $root.tendermint.types.LightClientAttackEvidence.fromObject(object.lightClientAttackEvidence); + } + return message; + }; + + /** + * Creates a plain object from an Evidence message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Evidence + * @static + * @param {tendermint.types.Evidence} message Evidence + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Evidence.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.duplicateVoteEvidence != null && message.hasOwnProperty("duplicateVoteEvidence")) { + object.duplicateVoteEvidence = $root.tendermint.types.DuplicateVoteEvidence.toObject(message.duplicateVoteEvidence, options); + if (options.oneofs) + object.sum = "duplicateVoteEvidence"; + } + if (message.lightClientAttackEvidence != null && message.hasOwnProperty("lightClientAttackEvidence")) { + object.lightClientAttackEvidence = $root.tendermint.types.LightClientAttackEvidence.toObject(message.lightClientAttackEvidence, options); + if (options.oneofs) + object.sum = "lightClientAttackEvidence"; + } + return object; + }; + + /** + * Converts this Evidence to JSON. + * @function toJSON + * @memberof tendermint.types.Evidence + * @instance + * @returns {Object.} JSON object + */ + Evidence.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Evidence; + })(); + + types.DuplicateVoteEvidence = (function() { + + /** + * Properties of a DuplicateVoteEvidence. + * @memberof tendermint.types + * @interface IDuplicateVoteEvidence + * @property {tendermint.types.IVote|null} [voteA] DuplicateVoteEvidence voteA + * @property {tendermint.types.IVote|null} [voteB] DuplicateVoteEvidence voteB + * @property {number|Long|null} [totalVotingPower] DuplicateVoteEvidence totalVotingPower + * @property {number|Long|null} [validatorPower] DuplicateVoteEvidence validatorPower + * @property {google.protobuf.ITimestamp|null} [timestamp] DuplicateVoteEvidence timestamp + */ + + /** + * Constructs a new DuplicateVoteEvidence. + * @memberof tendermint.types + * @classdesc Represents a DuplicateVoteEvidence. + * @implements IDuplicateVoteEvidence + * @constructor + * @param {tendermint.types.IDuplicateVoteEvidence=} [properties] Properties to set + */ + function DuplicateVoteEvidence(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DuplicateVoteEvidence voteA. + * @member {tendermint.types.IVote|null|undefined} voteA + * @memberof tendermint.types.DuplicateVoteEvidence + * @instance + */ + DuplicateVoteEvidence.prototype.voteA = null; + + /** + * DuplicateVoteEvidence voteB. + * @member {tendermint.types.IVote|null|undefined} voteB + * @memberof tendermint.types.DuplicateVoteEvidence + * @instance + */ + DuplicateVoteEvidence.prototype.voteB = null; + + /** + * DuplicateVoteEvidence totalVotingPower. + * @member {number|Long} totalVotingPower + * @memberof tendermint.types.DuplicateVoteEvidence + * @instance + */ + DuplicateVoteEvidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * DuplicateVoteEvidence validatorPower. + * @member {number|Long} validatorPower + * @memberof tendermint.types.DuplicateVoteEvidence + * @instance + */ + DuplicateVoteEvidence.prototype.validatorPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * DuplicateVoteEvidence timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.DuplicateVoteEvidence + * @instance + */ + DuplicateVoteEvidence.prototype.timestamp = null; + + /** + * Creates a new DuplicateVoteEvidence instance using the specified properties. + * @function create + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {tendermint.types.IDuplicateVoteEvidence=} [properties] Properties to set + * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence instance + */ + DuplicateVoteEvidence.create = function create(properties) { + return new DuplicateVoteEvidence(properties); + }; + + /** + * Encodes the specified DuplicateVoteEvidence message. Does not implicitly {@link tendermint.types.DuplicateVoteEvidence.verify|verify} messages. + * @function encode + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {tendermint.types.IDuplicateVoteEvidence} message DuplicateVoteEvidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DuplicateVoteEvidence.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.voteA != null && Object.hasOwnProperty.call(message, "voteA")) + $root.tendermint.types.Vote.encode(message.voteA, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.voteB != null && Object.hasOwnProperty.call(message, "voteB")) + $root.tendermint.types.Vote.encode(message.voteB, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.totalVotingPower); + if (message.validatorPower != null && Object.hasOwnProperty.call(message, "validatorPower")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.validatorPower); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DuplicateVoteEvidence message, length delimited. Does not implicitly {@link tendermint.types.DuplicateVoteEvidence.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {tendermint.types.IDuplicateVoteEvidence} message DuplicateVoteEvidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DuplicateVoteEvidence.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DuplicateVoteEvidence message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DuplicateVoteEvidence.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.DuplicateVoteEvidence(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.voteA = $root.tendermint.types.Vote.decode(reader, reader.uint32()); + break; + case 2: + message.voteB = $root.tendermint.types.Vote.decode(reader, reader.uint32()); + break; + case 3: + message.totalVotingPower = reader.int64(); + break; + case 4: + message.validatorPower = reader.int64(); + break; + case 5: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DuplicateVoteEvidence message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DuplicateVoteEvidence.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DuplicateVoteEvidence message. + * @function verify + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DuplicateVoteEvidence.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.voteA != null && message.hasOwnProperty("voteA")) { + var error = $root.tendermint.types.Vote.verify(message.voteA); + if (error) + return "voteA." + error; + } + if (message.voteB != null && message.hasOwnProperty("voteB")) { + var error = $root.tendermint.types.Vote.verify(message.voteB); + if (error) + return "voteB." + error; + } + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) + return "totalVotingPower: integer|Long expected"; + if (message.validatorPower != null && message.hasOwnProperty("validatorPower")) + if (!$util.isInteger(message.validatorPower) && !(message.validatorPower && $util.isInteger(message.validatorPower.low) && $util.isInteger(message.validatorPower.high))) + return "validatorPower: integer|Long expected"; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + return null; + }; + + /** + * Creates a DuplicateVoteEvidence message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence + */ + DuplicateVoteEvidence.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.DuplicateVoteEvidence) + return object; + var message = new $root.tendermint.types.DuplicateVoteEvidence(); + if (object.voteA != null) { + if (typeof object.voteA !== "object") + throw TypeError(".tendermint.types.DuplicateVoteEvidence.voteA: object expected"); + message.voteA = $root.tendermint.types.Vote.fromObject(object.voteA); + } + if (object.voteB != null) { + if (typeof object.voteB !== "object") + throw TypeError(".tendermint.types.DuplicateVoteEvidence.voteB: object expected"); + message.voteB = $root.tendermint.types.Vote.fromObject(object.voteB); + } + if (object.totalVotingPower != null) + if ($util.Long) + (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; + else if (typeof object.totalVotingPower === "string") + message.totalVotingPower = parseInt(object.totalVotingPower, 10); + else if (typeof object.totalVotingPower === "number") + message.totalVotingPower = object.totalVotingPower; + else if (typeof object.totalVotingPower === "object") + message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); + if (object.validatorPower != null) + if ($util.Long) + (message.validatorPower = $util.Long.fromValue(object.validatorPower)).unsigned = false; + else if (typeof object.validatorPower === "string") + message.validatorPower = parseInt(object.validatorPower, 10); + else if (typeof object.validatorPower === "number") + message.validatorPower = object.validatorPower; + else if (typeof object.validatorPower === "object") + message.validatorPower = new $util.LongBits(object.validatorPower.low >>> 0, object.validatorPower.high >>> 0).toNumber(); + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.DuplicateVoteEvidence.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + return message; + }; + + /** + * Creates a plain object from a DuplicateVoteEvidence message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.DuplicateVoteEvidence + * @static + * @param {tendermint.types.DuplicateVoteEvidence} message DuplicateVoteEvidence + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DuplicateVoteEvidence.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.voteA = null; + object.voteB = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalVotingPower = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.validatorPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.validatorPower = options.longs === String ? "0" : 0; + object.timestamp = null; + } + if (message.voteA != null && message.hasOwnProperty("voteA")) + object.voteA = $root.tendermint.types.Vote.toObject(message.voteA, options); + if (message.voteB != null && message.hasOwnProperty("voteB")) + object.voteB = $root.tendermint.types.Vote.toObject(message.voteB, options); + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (typeof message.totalVotingPower === "number") + object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; + else + object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; + if (message.validatorPower != null && message.hasOwnProperty("validatorPower")) + if (typeof message.validatorPower === "number") + object.validatorPower = options.longs === String ? String(message.validatorPower) : message.validatorPower; + else + object.validatorPower = options.longs === String ? $util.Long.prototype.toString.call(message.validatorPower) : options.longs === Number ? new $util.LongBits(message.validatorPower.low >>> 0, message.validatorPower.high >>> 0).toNumber() : message.validatorPower; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + return object; + }; + + /** + * Converts this DuplicateVoteEvidence to JSON. + * @function toJSON + * @memberof tendermint.types.DuplicateVoteEvidence + * @instance + * @returns {Object.} JSON object + */ + DuplicateVoteEvidence.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DuplicateVoteEvidence; + })(); + + types.LightClientAttackEvidence = (function() { + + /** + * Properties of a LightClientAttackEvidence. + * @memberof tendermint.types + * @interface ILightClientAttackEvidence + * @property {tendermint.types.ILightBlock|null} [conflictingBlock] LightClientAttackEvidence conflictingBlock + * @property {number|Long|null} [commonHeight] LightClientAttackEvidence commonHeight + * @property {Array.|null} [byzantineValidators] LightClientAttackEvidence byzantineValidators + * @property {number|Long|null} [totalVotingPower] LightClientAttackEvidence totalVotingPower + * @property {google.protobuf.ITimestamp|null} [timestamp] LightClientAttackEvidence timestamp + */ + + /** + * Constructs a new LightClientAttackEvidence. + * @memberof tendermint.types + * @classdesc Represents a LightClientAttackEvidence. + * @implements ILightClientAttackEvidence + * @constructor + * @param {tendermint.types.ILightClientAttackEvidence=} [properties] Properties to set + */ + function LightClientAttackEvidence(properties) { + this.byzantineValidators = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LightClientAttackEvidence conflictingBlock. + * @member {tendermint.types.ILightBlock|null|undefined} conflictingBlock + * @memberof tendermint.types.LightClientAttackEvidence + * @instance + */ + LightClientAttackEvidence.prototype.conflictingBlock = null; + + /** + * LightClientAttackEvidence commonHeight. + * @member {number|Long} commonHeight + * @memberof tendermint.types.LightClientAttackEvidence + * @instance + */ + LightClientAttackEvidence.prototype.commonHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * LightClientAttackEvidence byzantineValidators. + * @member {Array.} byzantineValidators + * @memberof tendermint.types.LightClientAttackEvidence + * @instance + */ + LightClientAttackEvidence.prototype.byzantineValidators = $util.emptyArray; + + /** + * LightClientAttackEvidence totalVotingPower. + * @member {number|Long} totalVotingPower + * @memberof tendermint.types.LightClientAttackEvidence + * @instance + */ + LightClientAttackEvidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * LightClientAttackEvidence timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.LightClientAttackEvidence + * @instance + */ + LightClientAttackEvidence.prototype.timestamp = null; + + /** + * Creates a new LightClientAttackEvidence instance using the specified properties. + * @function create + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {tendermint.types.ILightClientAttackEvidence=} [properties] Properties to set + * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence instance + */ + LightClientAttackEvidence.create = function create(properties) { + return new LightClientAttackEvidence(properties); + }; + + /** + * Encodes the specified LightClientAttackEvidence message. Does not implicitly {@link tendermint.types.LightClientAttackEvidence.verify|verify} messages. + * @function encode + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {tendermint.types.ILightClientAttackEvidence} message LightClientAttackEvidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LightClientAttackEvidence.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.conflictingBlock != null && Object.hasOwnProperty.call(message, "conflictingBlock")) + $root.tendermint.types.LightBlock.encode(message.conflictingBlock, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.commonHeight != null && Object.hasOwnProperty.call(message, "commonHeight")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.commonHeight); + if (message.byzantineValidators != null && message.byzantineValidators.length) + for (var i = 0; i < message.byzantineValidators.length; ++i) + $root.tendermint.types.Validator.encode(message.byzantineValidators[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.totalVotingPower); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LightClientAttackEvidence message, length delimited. Does not implicitly {@link tendermint.types.LightClientAttackEvidence.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {tendermint.types.ILightClientAttackEvidence} message LightClientAttackEvidence message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LightClientAttackEvidence.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LightClientAttackEvidence message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LightClientAttackEvidence.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.LightClientAttackEvidence(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.conflictingBlock = $root.tendermint.types.LightBlock.decode(reader, reader.uint32()); + break; + case 2: + message.commonHeight = reader.int64(); + break; + case 3: + if (!(message.byzantineValidators && message.byzantineValidators.length)) + message.byzantineValidators = []; + message.byzantineValidators.push($root.tendermint.types.Validator.decode(reader, reader.uint32())); + break; + case 4: + message.totalVotingPower = reader.int64(); + break; + case 5: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LightClientAttackEvidence message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LightClientAttackEvidence.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LightClientAttackEvidence message. + * @function verify + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LightClientAttackEvidence.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.conflictingBlock != null && message.hasOwnProperty("conflictingBlock")) { + var error = $root.tendermint.types.LightBlock.verify(message.conflictingBlock); + if (error) + return "conflictingBlock." + error; + } + if (message.commonHeight != null && message.hasOwnProperty("commonHeight")) + if (!$util.isInteger(message.commonHeight) && !(message.commonHeight && $util.isInteger(message.commonHeight.low) && $util.isInteger(message.commonHeight.high))) + return "commonHeight: integer|Long expected"; + if (message.byzantineValidators != null && message.hasOwnProperty("byzantineValidators")) { + if (!Array.isArray(message.byzantineValidators)) + return "byzantineValidators: array expected"; + for (var i = 0; i < message.byzantineValidators.length; ++i) { + var error = $root.tendermint.types.Validator.verify(message.byzantineValidators[i]); + if (error) + return "byzantineValidators." + error; + } + } + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) + return "totalVotingPower: integer|Long expected"; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + return null; + }; + + /** + * Creates a LightClientAttackEvidence message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence + */ + LightClientAttackEvidence.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.LightClientAttackEvidence) + return object; + var message = new $root.tendermint.types.LightClientAttackEvidence(); + if (object.conflictingBlock != null) { + if (typeof object.conflictingBlock !== "object") + throw TypeError(".tendermint.types.LightClientAttackEvidence.conflictingBlock: object expected"); + message.conflictingBlock = $root.tendermint.types.LightBlock.fromObject(object.conflictingBlock); + } + if (object.commonHeight != null) + if ($util.Long) + (message.commonHeight = $util.Long.fromValue(object.commonHeight)).unsigned = false; + else if (typeof object.commonHeight === "string") + message.commonHeight = parseInt(object.commonHeight, 10); + else if (typeof object.commonHeight === "number") + message.commonHeight = object.commonHeight; + else if (typeof object.commonHeight === "object") + message.commonHeight = new $util.LongBits(object.commonHeight.low >>> 0, object.commonHeight.high >>> 0).toNumber(); + if (object.byzantineValidators) { + if (!Array.isArray(object.byzantineValidators)) + throw TypeError(".tendermint.types.LightClientAttackEvidence.byzantineValidators: array expected"); + message.byzantineValidators = []; + for (var i = 0; i < object.byzantineValidators.length; ++i) { + if (typeof object.byzantineValidators[i] !== "object") + throw TypeError(".tendermint.types.LightClientAttackEvidence.byzantineValidators: object expected"); + message.byzantineValidators[i] = $root.tendermint.types.Validator.fromObject(object.byzantineValidators[i]); + } + } + if (object.totalVotingPower != null) + if ($util.Long) + (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; + else if (typeof object.totalVotingPower === "string") + message.totalVotingPower = parseInt(object.totalVotingPower, 10); + else if (typeof object.totalVotingPower === "number") + message.totalVotingPower = object.totalVotingPower; + else if (typeof object.totalVotingPower === "object") + message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.LightClientAttackEvidence.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + return message; + }; + + /** + * Creates a plain object from a LightClientAttackEvidence message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.LightClientAttackEvidence + * @static + * @param {tendermint.types.LightClientAttackEvidence} message LightClientAttackEvidence + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LightClientAttackEvidence.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.byzantineValidators = []; + if (options.defaults) { + object.conflictingBlock = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.commonHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.commonHeight = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalVotingPower = options.longs === String ? "0" : 0; + object.timestamp = null; + } + if (message.conflictingBlock != null && message.hasOwnProperty("conflictingBlock")) + object.conflictingBlock = $root.tendermint.types.LightBlock.toObject(message.conflictingBlock, options); + if (message.commonHeight != null && message.hasOwnProperty("commonHeight")) + if (typeof message.commonHeight === "number") + object.commonHeight = options.longs === String ? String(message.commonHeight) : message.commonHeight; + else + object.commonHeight = options.longs === String ? $util.Long.prototype.toString.call(message.commonHeight) : options.longs === Number ? new $util.LongBits(message.commonHeight.low >>> 0, message.commonHeight.high >>> 0).toNumber() : message.commonHeight; + if (message.byzantineValidators && message.byzantineValidators.length) { + object.byzantineValidators = []; + for (var j = 0; j < message.byzantineValidators.length; ++j) + object.byzantineValidators[j] = $root.tendermint.types.Validator.toObject(message.byzantineValidators[j], options); + } + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (typeof message.totalVotingPower === "number") + object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; + else + object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + return object; + }; + + /** + * Converts this LightClientAttackEvidence to JSON. + * @function toJSON + * @memberof tendermint.types.LightClientAttackEvidence + * @instance + * @returns {Object.} JSON object + */ + LightClientAttackEvidence.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LightClientAttackEvidence; + })(); + + types.EvidenceList = (function() { + + /** + * Properties of an EvidenceList. + * @memberof tendermint.types + * @interface IEvidenceList + * @property {Array.|null} [evidence] EvidenceList evidence + */ + + /** + * Constructs a new EvidenceList. + * @memberof tendermint.types + * @classdesc Represents an EvidenceList. + * @implements IEvidenceList + * @constructor + * @param {tendermint.types.IEvidenceList=} [properties] Properties to set + */ + function EvidenceList(properties) { + this.evidence = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EvidenceList evidence. + * @member {Array.} evidence + * @memberof tendermint.types.EvidenceList + * @instance + */ + EvidenceList.prototype.evidence = $util.emptyArray; + + /** + * Creates a new EvidenceList instance using the specified properties. + * @function create + * @memberof tendermint.types.EvidenceList + * @static + * @param {tendermint.types.IEvidenceList=} [properties] Properties to set + * @returns {tendermint.types.EvidenceList} EvidenceList instance + */ + EvidenceList.create = function create(properties) { + return new EvidenceList(properties); + }; + + /** + * Encodes the specified EvidenceList message. Does not implicitly {@link tendermint.types.EvidenceList.verify|verify} messages. + * @function encode + * @memberof tendermint.types.EvidenceList + * @static + * @param {tendermint.types.IEvidenceList} message EvidenceList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EvidenceList.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.evidence != null && message.evidence.length) + for (var i = 0; i < message.evidence.length; ++i) + $root.tendermint.types.Evidence.encode(message.evidence[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EvidenceList message, length delimited. Does not implicitly {@link tendermint.types.EvidenceList.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.EvidenceList + * @static + * @param {tendermint.types.IEvidenceList} message EvidenceList message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EvidenceList.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EvidenceList message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.EvidenceList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.EvidenceList} EvidenceList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EvidenceList.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.EvidenceList(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.evidence && message.evidence.length)) + message.evidence = []; + message.evidence.push($root.tendermint.types.Evidence.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EvidenceList message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.EvidenceList + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.EvidenceList} EvidenceList + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EvidenceList.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EvidenceList message. + * @function verify + * @memberof tendermint.types.EvidenceList + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EvidenceList.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.evidence != null && message.hasOwnProperty("evidence")) { + if (!Array.isArray(message.evidence)) + return "evidence: array expected"; + for (var i = 0; i < message.evidence.length; ++i) { + var error = $root.tendermint.types.Evidence.verify(message.evidence[i]); + if (error) + return "evidence." + error; + } + } + return null; + }; + + /** + * Creates an EvidenceList message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.EvidenceList + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.EvidenceList} EvidenceList + */ + EvidenceList.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.EvidenceList) + return object; + var message = new $root.tendermint.types.EvidenceList(); + if (object.evidence) { + if (!Array.isArray(object.evidence)) + throw TypeError(".tendermint.types.EvidenceList.evidence: array expected"); + message.evidence = []; + for (var i = 0; i < object.evidence.length; ++i) { + if (typeof object.evidence[i] !== "object") + throw TypeError(".tendermint.types.EvidenceList.evidence: object expected"); + message.evidence[i] = $root.tendermint.types.Evidence.fromObject(object.evidence[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EvidenceList message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.EvidenceList + * @static + * @param {tendermint.types.EvidenceList} message EvidenceList + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EvidenceList.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.evidence = []; + if (message.evidence && message.evidence.length) { + object.evidence = []; + for (var j = 0; j < message.evidence.length; ++j) + object.evidence[j] = $root.tendermint.types.Evidence.toObject(message.evidence[j], options); + } + return object; + }; + + /** + * Converts this EvidenceList to JSON. + * @function toJSON + * @memberof tendermint.types.EvidenceList + * @instance + * @returns {Object.} JSON object + */ + EvidenceList.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EvidenceList; + })(); + + types.ConsensusParams = (function() { + + /** + * Properties of a ConsensusParams. + * @memberof tendermint.types + * @interface IConsensusParams + * @property {tendermint.types.IBlockParams|null} [block] ConsensusParams block + * @property {tendermint.types.IEvidenceParams|null} [evidence] ConsensusParams evidence + * @property {tendermint.types.IValidatorParams|null} [validator] ConsensusParams validator + * @property {tendermint.types.IVersionParams|null} [version] ConsensusParams version + */ + + /** + * Constructs a new ConsensusParams. + * @memberof tendermint.types + * @classdesc Represents a ConsensusParams. + * @implements IConsensusParams + * @constructor + * @param {tendermint.types.IConsensusParams=} [properties] Properties to set + */ + function ConsensusParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConsensusParams block. + * @member {tendermint.types.IBlockParams|null|undefined} block + * @memberof tendermint.types.ConsensusParams + * @instance + */ + ConsensusParams.prototype.block = null; + + /** + * ConsensusParams evidence. + * @member {tendermint.types.IEvidenceParams|null|undefined} evidence + * @memberof tendermint.types.ConsensusParams + * @instance + */ + ConsensusParams.prototype.evidence = null; + + /** + * ConsensusParams validator. + * @member {tendermint.types.IValidatorParams|null|undefined} validator + * @memberof tendermint.types.ConsensusParams + * @instance + */ + ConsensusParams.prototype.validator = null; + + /** + * ConsensusParams version. + * @member {tendermint.types.IVersionParams|null|undefined} version + * @memberof tendermint.types.ConsensusParams + * @instance + */ + ConsensusParams.prototype.version = null; + + /** + * Creates a new ConsensusParams instance using the specified properties. + * @function create + * @memberof tendermint.types.ConsensusParams + * @static + * @param {tendermint.types.IConsensusParams=} [properties] Properties to set + * @returns {tendermint.types.ConsensusParams} ConsensusParams instance + */ + ConsensusParams.create = function create(properties) { + return new ConsensusParams(properties); + }; + + /** + * Encodes the specified ConsensusParams message. Does not implicitly {@link tendermint.types.ConsensusParams.verify|verify} messages. + * @function encode + * @memberof tendermint.types.ConsensusParams + * @static + * @param {tendermint.types.IConsensusParams} message ConsensusParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + $root.tendermint.types.BlockParams.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) + $root.tendermint.types.EvidenceParams.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) + $root.tendermint.types.ValidatorParams.encode(message.validator, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + $root.tendermint.types.VersionParams.encode(message.version, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link tendermint.types.ConsensusParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.ConsensusParams + * @static + * @param {tendermint.types.IConsensusParams} message ConsensusParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsensusParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsensusParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.ConsensusParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.ConsensusParams} ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.ConsensusParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = $root.tendermint.types.BlockParams.decode(reader, reader.uint32()); + break; + case 2: + message.evidence = $root.tendermint.types.EvidenceParams.decode(reader, reader.uint32()); + break; + case 3: + message.validator = $root.tendermint.types.ValidatorParams.decode(reader, reader.uint32()); + break; + case 4: + message.version = $root.tendermint.types.VersionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.ConsensusParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.ConsensusParams} ConsensusParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsensusParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConsensusParams message. + * @function verify + * @memberof tendermint.types.ConsensusParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsensusParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.block != null && message.hasOwnProperty("block")) { + var error = $root.tendermint.types.BlockParams.verify(message.block); + if (error) + return "block." + error; + } + if (message.evidence != null && message.hasOwnProperty("evidence")) { + var error = $root.tendermint.types.EvidenceParams.verify(message.evidence); + if (error) + return "evidence." + error; + } + if (message.validator != null && message.hasOwnProperty("validator")) { + var error = $root.tendermint.types.ValidatorParams.verify(message.validator); + if (error) + return "validator." + error; + } + if (message.version != null && message.hasOwnProperty("version")) { + var error = $root.tendermint.types.VersionParams.verify(message.version); + if (error) + return "version." + error; + } + return null; + }; + + /** + * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.ConsensusParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.ConsensusParams} ConsensusParams + */ + ConsensusParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.ConsensusParams) + return object; + var message = new $root.tendermint.types.ConsensusParams(); + if (object.block != null) { + if (typeof object.block !== "object") + throw TypeError(".tendermint.types.ConsensusParams.block: object expected"); + message.block = $root.tendermint.types.BlockParams.fromObject(object.block); + } + if (object.evidence != null) { + if (typeof object.evidence !== "object") + throw TypeError(".tendermint.types.ConsensusParams.evidence: object expected"); + message.evidence = $root.tendermint.types.EvidenceParams.fromObject(object.evidence); + } + if (object.validator != null) { + if (typeof object.validator !== "object") + throw TypeError(".tendermint.types.ConsensusParams.validator: object expected"); + message.validator = $root.tendermint.types.ValidatorParams.fromObject(object.validator); + } + if (object.version != null) { + if (typeof object.version !== "object") + throw TypeError(".tendermint.types.ConsensusParams.version: object expected"); + message.version = $root.tendermint.types.VersionParams.fromObject(object.version); + } + return message; + }; + + /** + * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.ConsensusParams + * @static + * @param {tendermint.types.ConsensusParams} message ConsensusParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsensusParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.block = null; + object.evidence = null; + object.validator = null; + object.version = null; + } + if (message.block != null && message.hasOwnProperty("block")) + object.block = $root.tendermint.types.BlockParams.toObject(message.block, options); + if (message.evidence != null && message.hasOwnProperty("evidence")) + object.evidence = $root.tendermint.types.EvidenceParams.toObject(message.evidence, options); + if (message.validator != null && message.hasOwnProperty("validator")) + object.validator = $root.tendermint.types.ValidatorParams.toObject(message.validator, options); + if (message.version != null && message.hasOwnProperty("version")) + object.version = $root.tendermint.types.VersionParams.toObject(message.version, options); + return object; + }; + + /** + * Converts this ConsensusParams to JSON. + * @function toJSON + * @memberof tendermint.types.ConsensusParams + * @instance + * @returns {Object.} JSON object + */ + ConsensusParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ConsensusParams; + })(); + + types.BlockParams = (function() { + + /** + * Properties of a BlockParams. + * @memberof tendermint.types + * @interface IBlockParams + * @property {number|Long|null} [maxBytes] BlockParams maxBytes + * @property {number|Long|null} [maxGas] BlockParams maxGas + * @property {number|Long|null} [timeIotaMs] BlockParams timeIotaMs + */ + + /** + * Constructs a new BlockParams. + * @memberof tendermint.types + * @classdesc Represents a BlockParams. + * @implements IBlockParams + * @constructor + * @param {tendermint.types.IBlockParams=} [properties] Properties to set + */ + function BlockParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlockParams maxBytes. + * @member {number|Long} maxBytes + * @memberof tendermint.types.BlockParams + * @instance + */ + BlockParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BlockParams maxGas. + * @member {number|Long} maxGas + * @memberof tendermint.types.BlockParams + * @instance + */ + BlockParams.prototype.maxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BlockParams timeIotaMs. + * @member {number|Long} timeIotaMs + * @memberof tendermint.types.BlockParams + * @instance + */ + BlockParams.prototype.timeIotaMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new BlockParams instance using the specified properties. + * @function create + * @memberof tendermint.types.BlockParams + * @static + * @param {tendermint.types.IBlockParams=} [properties] Properties to set + * @returns {tendermint.types.BlockParams} BlockParams instance + */ + BlockParams.create = function create(properties) { + return new BlockParams(properties); + }; + + /** + * Encodes the specified BlockParams message. Does not implicitly {@link tendermint.types.BlockParams.verify|verify} messages. + * @function encode + * @memberof tendermint.types.BlockParams + * @static + * @param {tendermint.types.IBlockParams} message BlockParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxBytes); + if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.maxGas); + if (message.timeIotaMs != null && Object.hasOwnProperty.call(message, "timeIotaMs")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.timeIotaMs); + return writer; + }; + + /** + * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link tendermint.types.BlockParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.BlockParams + * @static + * @param {tendermint.types.IBlockParams} message BlockParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlockParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.BlockParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.BlockParams} BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.BlockParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxBytes = reader.int64(); + break; + case 2: + message.maxGas = reader.int64(); + break; + case 3: + message.timeIotaMs = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlockParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.BlockParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.BlockParams} BlockParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlockParams message. + * @function verify + * @memberof tendermint.types.BlockParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) + return "maxBytes: integer|Long expected"; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + if (!$util.isInteger(message.maxGas) && !(message.maxGas && $util.isInteger(message.maxGas.low) && $util.isInteger(message.maxGas.high))) + return "maxGas: integer|Long expected"; + if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) + if (!$util.isInteger(message.timeIotaMs) && !(message.timeIotaMs && $util.isInteger(message.timeIotaMs.low) && $util.isInteger(message.timeIotaMs.high))) + return "timeIotaMs: integer|Long expected"; + return null; + }; + + /** + * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.BlockParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.BlockParams} BlockParams + */ + BlockParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.BlockParams) + return object; + var message = new $root.tendermint.types.BlockParams(); + if (object.maxBytes != null) + if ($util.Long) + (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; + else if (typeof object.maxBytes === "string") + message.maxBytes = parseInt(object.maxBytes, 10); + else if (typeof object.maxBytes === "number") + message.maxBytes = object.maxBytes; + else if (typeof object.maxBytes === "object") + message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); + if (object.maxGas != null) + if ($util.Long) + (message.maxGas = $util.Long.fromValue(object.maxGas)).unsigned = false; + else if (typeof object.maxGas === "string") + message.maxGas = parseInt(object.maxGas, 10); + else if (typeof object.maxGas === "number") + message.maxGas = object.maxGas; + else if (typeof object.maxGas === "object") + message.maxGas = new $util.LongBits(object.maxGas.low >>> 0, object.maxGas.high >>> 0).toNumber(); + if (object.timeIotaMs != null) + if ($util.Long) + (message.timeIotaMs = $util.Long.fromValue(object.timeIotaMs)).unsigned = false; + else if (typeof object.timeIotaMs === "string") + message.timeIotaMs = parseInt(object.timeIotaMs, 10); + else if (typeof object.timeIotaMs === "number") + message.timeIotaMs = object.timeIotaMs; + else if (typeof object.timeIotaMs === "object") + message.timeIotaMs = new $util.LongBits(object.timeIotaMs.low >>> 0, object.timeIotaMs.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a BlockParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.BlockParams + * @static + * @param {tendermint.types.BlockParams} message BlockParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxBytes = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxGas = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.timeIotaMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timeIotaMs = options.longs === String ? "0" : 0; + } + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (typeof message.maxBytes === "number") + object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; + else + object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; + if (message.maxGas != null && message.hasOwnProperty("maxGas")) + if (typeof message.maxGas === "number") + object.maxGas = options.longs === String ? String(message.maxGas) : message.maxGas; + else + object.maxGas = options.longs === String ? $util.Long.prototype.toString.call(message.maxGas) : options.longs === Number ? new $util.LongBits(message.maxGas.low >>> 0, message.maxGas.high >>> 0).toNumber() : message.maxGas; + if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) + if (typeof message.timeIotaMs === "number") + object.timeIotaMs = options.longs === String ? String(message.timeIotaMs) : message.timeIotaMs; + else + object.timeIotaMs = options.longs === String ? $util.Long.prototype.toString.call(message.timeIotaMs) : options.longs === Number ? new $util.LongBits(message.timeIotaMs.low >>> 0, message.timeIotaMs.high >>> 0).toNumber() : message.timeIotaMs; + return object; + }; + + /** + * Converts this BlockParams to JSON. + * @function toJSON + * @memberof tendermint.types.BlockParams + * @instance + * @returns {Object.} JSON object + */ + BlockParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BlockParams; + })(); + + types.EvidenceParams = (function() { + + /** + * Properties of an EvidenceParams. + * @memberof tendermint.types + * @interface IEvidenceParams + * @property {number|Long|null} [maxAgeNumBlocks] EvidenceParams maxAgeNumBlocks + * @property {google.protobuf.IDuration|null} [maxAgeDuration] EvidenceParams maxAgeDuration + * @property {number|Long|null} [maxBytes] EvidenceParams maxBytes + */ + + /** + * Constructs a new EvidenceParams. + * @memberof tendermint.types + * @classdesc Represents an EvidenceParams. + * @implements IEvidenceParams + * @constructor + * @param {tendermint.types.IEvidenceParams=} [properties] Properties to set + */ + function EvidenceParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EvidenceParams maxAgeNumBlocks. + * @member {number|Long} maxAgeNumBlocks + * @memberof tendermint.types.EvidenceParams + * @instance + */ + EvidenceParams.prototype.maxAgeNumBlocks = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * EvidenceParams maxAgeDuration. + * @member {google.protobuf.IDuration|null|undefined} maxAgeDuration + * @memberof tendermint.types.EvidenceParams + * @instance + */ + EvidenceParams.prototype.maxAgeDuration = null; + + /** + * EvidenceParams maxBytes. + * @member {number|Long} maxBytes + * @memberof tendermint.types.EvidenceParams + * @instance + */ + EvidenceParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new EvidenceParams instance using the specified properties. + * @function create + * @memberof tendermint.types.EvidenceParams + * @static + * @param {tendermint.types.IEvidenceParams=} [properties] Properties to set + * @returns {tendermint.types.EvidenceParams} EvidenceParams instance + */ + EvidenceParams.create = function create(properties) { + return new EvidenceParams(properties); + }; + + /** + * Encodes the specified EvidenceParams message. Does not implicitly {@link tendermint.types.EvidenceParams.verify|verify} messages. + * @function encode + * @memberof tendermint.types.EvidenceParams + * @static + * @param {tendermint.types.IEvidenceParams} message EvidenceParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EvidenceParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.maxAgeNumBlocks != null && Object.hasOwnProperty.call(message, "maxAgeNumBlocks")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxAgeNumBlocks); + if (message.maxAgeDuration != null && Object.hasOwnProperty.call(message, "maxAgeDuration")) + $root.google.protobuf.Duration.encode(message.maxAgeDuration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.maxBytes); + return writer; + }; + + /** + * Encodes the specified EvidenceParams message, length delimited. Does not implicitly {@link tendermint.types.EvidenceParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.EvidenceParams + * @static + * @param {tendermint.types.IEvidenceParams} message EvidenceParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EvidenceParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EvidenceParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.EvidenceParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.EvidenceParams} EvidenceParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EvidenceParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.EvidenceParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxAgeNumBlocks = reader.int64(); + break; + case 2: + message.maxAgeDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + case 3: + message.maxBytes = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EvidenceParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.EvidenceParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.EvidenceParams} EvidenceParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EvidenceParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EvidenceParams message. + * @function verify + * @memberof tendermint.types.EvidenceParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EvidenceParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) + if (!$util.isInteger(message.maxAgeNumBlocks) && !(message.maxAgeNumBlocks && $util.isInteger(message.maxAgeNumBlocks.low) && $util.isInteger(message.maxAgeNumBlocks.high))) + return "maxAgeNumBlocks: integer|Long expected"; + if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) { + var error = $root.google.protobuf.Duration.verify(message.maxAgeDuration); + if (error) + return "maxAgeDuration." + error; + } + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) + return "maxBytes: integer|Long expected"; + return null; + }; + + /** + * Creates an EvidenceParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.EvidenceParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.EvidenceParams} EvidenceParams + */ + EvidenceParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.EvidenceParams) + return object; + var message = new $root.tendermint.types.EvidenceParams(); + if (object.maxAgeNumBlocks != null) + if ($util.Long) + (message.maxAgeNumBlocks = $util.Long.fromValue(object.maxAgeNumBlocks)).unsigned = false; + else if (typeof object.maxAgeNumBlocks === "string") + message.maxAgeNumBlocks = parseInt(object.maxAgeNumBlocks, 10); + else if (typeof object.maxAgeNumBlocks === "number") + message.maxAgeNumBlocks = object.maxAgeNumBlocks; + else if (typeof object.maxAgeNumBlocks === "object") + message.maxAgeNumBlocks = new $util.LongBits(object.maxAgeNumBlocks.low >>> 0, object.maxAgeNumBlocks.high >>> 0).toNumber(); + if (object.maxAgeDuration != null) { + if (typeof object.maxAgeDuration !== "object") + throw TypeError(".tendermint.types.EvidenceParams.maxAgeDuration: object expected"); + message.maxAgeDuration = $root.google.protobuf.Duration.fromObject(object.maxAgeDuration); + } + if (object.maxBytes != null) + if ($util.Long) + (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; + else if (typeof object.maxBytes === "string") + message.maxBytes = parseInt(object.maxBytes, 10); + else if (typeof object.maxBytes === "number") + message.maxBytes = object.maxBytes; + else if (typeof object.maxBytes === "object") + message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from an EvidenceParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.EvidenceParams + * @static + * @param {tendermint.types.EvidenceParams} message EvidenceParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EvidenceParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxAgeNumBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxAgeNumBlocks = options.longs === String ? "0" : 0; + object.maxAgeDuration = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxBytes = options.longs === String ? "0" : 0; + } + if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) + if (typeof message.maxAgeNumBlocks === "number") + object.maxAgeNumBlocks = options.longs === String ? String(message.maxAgeNumBlocks) : message.maxAgeNumBlocks; + else + object.maxAgeNumBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.maxAgeNumBlocks) : options.longs === Number ? new $util.LongBits(message.maxAgeNumBlocks.low >>> 0, message.maxAgeNumBlocks.high >>> 0).toNumber() : message.maxAgeNumBlocks; + if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) + object.maxAgeDuration = $root.google.protobuf.Duration.toObject(message.maxAgeDuration, options); + if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) + if (typeof message.maxBytes === "number") + object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; + else + object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; + return object; + }; + + /** + * Converts this EvidenceParams to JSON. + * @function toJSON + * @memberof tendermint.types.EvidenceParams + * @instance + * @returns {Object.} JSON object + */ + EvidenceParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EvidenceParams; + })(); + + types.ValidatorParams = (function() { + + /** + * Properties of a ValidatorParams. + * @memberof tendermint.types + * @interface IValidatorParams + * @property {Array.|null} [pubKeyTypes] ValidatorParams pubKeyTypes + */ + + /** + * Constructs a new ValidatorParams. + * @memberof tendermint.types + * @classdesc Represents a ValidatorParams. + * @implements IValidatorParams + * @constructor + * @param {tendermint.types.IValidatorParams=} [properties] Properties to set + */ + function ValidatorParams(properties) { + this.pubKeyTypes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ValidatorParams pubKeyTypes. + * @member {Array.} pubKeyTypes + * @memberof tendermint.types.ValidatorParams + * @instance + */ + ValidatorParams.prototype.pubKeyTypes = $util.emptyArray; + + /** + * Creates a new ValidatorParams instance using the specified properties. + * @function create + * @memberof tendermint.types.ValidatorParams + * @static + * @param {tendermint.types.IValidatorParams=} [properties] Properties to set + * @returns {tendermint.types.ValidatorParams} ValidatorParams instance + */ + ValidatorParams.create = function create(properties) { + return new ValidatorParams(properties); + }; + + /** + * Encodes the specified ValidatorParams message. Does not implicitly {@link tendermint.types.ValidatorParams.verify|verify} messages. + * @function encode + * @memberof tendermint.types.ValidatorParams + * @static + * @param {tendermint.types.IValidatorParams} message ValidatorParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubKeyTypes != null && message.pubKeyTypes.length) + for (var i = 0; i < message.pubKeyTypes.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.pubKeyTypes[i]); + return writer; + }; + + /** + * Encodes the specified ValidatorParams message, length delimited. Does not implicitly {@link tendermint.types.ValidatorParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.ValidatorParams + * @static + * @param {tendermint.types.IValidatorParams} message ValidatorParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ValidatorParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.ValidatorParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.ValidatorParams} ValidatorParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.ValidatorParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pubKeyTypes && message.pubKeyTypes.length)) + message.pubKeyTypes = []; + message.pubKeyTypes.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ValidatorParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.ValidatorParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.ValidatorParams} ValidatorParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ValidatorParams message. + * @function verify + * @memberof tendermint.types.ValidatorParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValidatorParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pubKeyTypes != null && message.hasOwnProperty("pubKeyTypes")) { + if (!Array.isArray(message.pubKeyTypes)) + return "pubKeyTypes: array expected"; + for (var i = 0; i < message.pubKeyTypes.length; ++i) + if (!$util.isString(message.pubKeyTypes[i])) + return "pubKeyTypes: string[] expected"; + } + return null; + }; + + /** + * Creates a ValidatorParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.ValidatorParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.ValidatorParams} ValidatorParams + */ + ValidatorParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.ValidatorParams) + return object; + var message = new $root.tendermint.types.ValidatorParams(); + if (object.pubKeyTypes) { + if (!Array.isArray(object.pubKeyTypes)) + throw TypeError(".tendermint.types.ValidatorParams.pubKeyTypes: array expected"); + message.pubKeyTypes = []; + for (var i = 0; i < object.pubKeyTypes.length; ++i) + message.pubKeyTypes[i] = String(object.pubKeyTypes[i]); + } + return message; + }; + + /** + * Creates a plain object from a ValidatorParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.ValidatorParams + * @static + * @param {tendermint.types.ValidatorParams} message ValidatorParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValidatorParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pubKeyTypes = []; + if (message.pubKeyTypes && message.pubKeyTypes.length) { + object.pubKeyTypes = []; + for (var j = 0; j < message.pubKeyTypes.length; ++j) + object.pubKeyTypes[j] = message.pubKeyTypes[j]; + } + return object; + }; + + /** + * Converts this ValidatorParams to JSON. + * @function toJSON + * @memberof tendermint.types.ValidatorParams + * @instance + * @returns {Object.} JSON object + */ + ValidatorParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ValidatorParams; + })(); + + types.VersionParams = (function() { + + /** + * Properties of a VersionParams. + * @memberof tendermint.types + * @interface IVersionParams + * @property {number|Long|null} [appVersion] VersionParams appVersion + */ + + /** + * Constructs a new VersionParams. + * @memberof tendermint.types + * @classdesc Represents a VersionParams. + * @implements IVersionParams + * @constructor + * @param {tendermint.types.IVersionParams=} [properties] Properties to set + */ + function VersionParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VersionParams appVersion. + * @member {number|Long} appVersion + * @memberof tendermint.types.VersionParams + * @instance + */ + VersionParams.prototype.appVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new VersionParams instance using the specified properties. + * @function create + * @memberof tendermint.types.VersionParams + * @static + * @param {tendermint.types.IVersionParams=} [properties] Properties to set + * @returns {tendermint.types.VersionParams} VersionParams instance + */ + VersionParams.create = function create(properties) { + return new VersionParams(properties); + }; + + /** + * Encodes the specified VersionParams message. Does not implicitly {@link tendermint.types.VersionParams.verify|verify} messages. + * @function encode + * @memberof tendermint.types.VersionParams + * @static + * @param {tendermint.types.IVersionParams} message VersionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.appVersion != null && Object.hasOwnProperty.call(message, "appVersion")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.appVersion); + return writer; + }; + + /** + * Encodes the specified VersionParams message, length delimited. Does not implicitly {@link tendermint.types.VersionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.VersionParams + * @static + * @param {tendermint.types.IVersionParams} message VersionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VersionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VersionParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.VersionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.VersionParams} VersionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.VersionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.appVersion = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VersionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.VersionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.VersionParams} VersionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VersionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VersionParams message. + * @function verify + * @memberof tendermint.types.VersionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VersionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.appVersion != null && message.hasOwnProperty("appVersion")) + if (!$util.isInteger(message.appVersion) && !(message.appVersion && $util.isInteger(message.appVersion.low) && $util.isInteger(message.appVersion.high))) + return "appVersion: integer|Long expected"; + return null; + }; + + /** + * Creates a VersionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.VersionParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.VersionParams} VersionParams + */ + VersionParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.VersionParams) + return object; + var message = new $root.tendermint.types.VersionParams(); + if (object.appVersion != null) + if ($util.Long) + (message.appVersion = $util.Long.fromValue(object.appVersion)).unsigned = true; + else if (typeof object.appVersion === "string") + message.appVersion = parseInt(object.appVersion, 10); + else if (typeof object.appVersion === "number") + message.appVersion = object.appVersion; + else if (typeof object.appVersion === "object") + message.appVersion = new $util.LongBits(object.appVersion.low >>> 0, object.appVersion.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a VersionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.VersionParams + * @static + * @param {tendermint.types.VersionParams} message VersionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VersionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.appVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.appVersion = options.longs === String ? "0" : 0; + if (message.appVersion != null && message.hasOwnProperty("appVersion")) + if (typeof message.appVersion === "number") + object.appVersion = options.longs === String ? String(message.appVersion) : message.appVersion; + else + object.appVersion = options.longs === String ? $util.Long.prototype.toString.call(message.appVersion) : options.longs === Number ? new $util.LongBits(message.appVersion.low >>> 0, message.appVersion.high >>> 0).toNumber(true) : message.appVersion; + return object; + }; + + /** + * Converts this VersionParams to JSON. + * @function toJSON + * @memberof tendermint.types.VersionParams + * @instance + * @returns {Object.} JSON object + */ + VersionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return VersionParams; + })(); + + types.HashedParams = (function() { + + /** + * Properties of a HashedParams. + * @memberof tendermint.types + * @interface IHashedParams + * @property {number|Long|null} [blockMaxBytes] HashedParams blockMaxBytes + * @property {number|Long|null} [blockMaxGas] HashedParams blockMaxGas + */ + + /** + * Constructs a new HashedParams. + * @memberof tendermint.types + * @classdesc Represents a HashedParams. + * @implements IHashedParams + * @constructor + * @param {tendermint.types.IHashedParams=} [properties] Properties to set + */ + function HashedParams(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * HashedParams blockMaxBytes. + * @member {number|Long} blockMaxBytes + * @memberof tendermint.types.HashedParams + * @instance + */ + HashedParams.prototype.blockMaxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * HashedParams blockMaxGas. + * @member {number|Long} blockMaxGas + * @memberof tendermint.types.HashedParams + * @instance + */ + HashedParams.prototype.blockMaxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new HashedParams instance using the specified properties. + * @function create + * @memberof tendermint.types.HashedParams + * @static + * @param {tendermint.types.IHashedParams=} [properties] Properties to set + * @returns {tendermint.types.HashedParams} HashedParams instance + */ + HashedParams.create = function create(properties) { + return new HashedParams(properties); + }; + + /** + * Encodes the specified HashedParams message. Does not implicitly {@link tendermint.types.HashedParams.verify|verify} messages. + * @function encode + * @memberof tendermint.types.HashedParams + * @static + * @param {tendermint.types.IHashedParams} message HashedParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HashedParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.blockMaxBytes != null && Object.hasOwnProperty.call(message, "blockMaxBytes")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.blockMaxBytes); + if (message.blockMaxGas != null && Object.hasOwnProperty.call(message, "blockMaxGas")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.blockMaxGas); + return writer; + }; + + /** + * Encodes the specified HashedParams message, length delimited. Does not implicitly {@link tendermint.types.HashedParams.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.HashedParams + * @static + * @param {tendermint.types.IHashedParams} message HashedParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HashedParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HashedParams message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.HashedParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.HashedParams} HashedParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HashedParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.HashedParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockMaxBytes = reader.int64(); + break; + case 2: + message.blockMaxGas = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HashedParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.HashedParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.HashedParams} HashedParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HashedParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HashedParams message. + * @function verify + * @memberof tendermint.types.HashedParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HashedParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.blockMaxBytes != null && message.hasOwnProperty("blockMaxBytes")) + if (!$util.isInteger(message.blockMaxBytes) && !(message.blockMaxBytes && $util.isInteger(message.blockMaxBytes.low) && $util.isInteger(message.blockMaxBytes.high))) + return "blockMaxBytes: integer|Long expected"; + if (message.blockMaxGas != null && message.hasOwnProperty("blockMaxGas")) + if (!$util.isInteger(message.blockMaxGas) && !(message.blockMaxGas && $util.isInteger(message.blockMaxGas.low) && $util.isInteger(message.blockMaxGas.high))) + return "blockMaxGas: integer|Long expected"; + return null; + }; + + /** + * Creates a HashedParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.HashedParams + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.HashedParams} HashedParams + */ + HashedParams.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.HashedParams) + return object; + var message = new $root.tendermint.types.HashedParams(); + if (object.blockMaxBytes != null) + if ($util.Long) + (message.blockMaxBytes = $util.Long.fromValue(object.blockMaxBytes)).unsigned = false; + else if (typeof object.blockMaxBytes === "string") + message.blockMaxBytes = parseInt(object.blockMaxBytes, 10); + else if (typeof object.blockMaxBytes === "number") + message.blockMaxBytes = object.blockMaxBytes; + else if (typeof object.blockMaxBytes === "object") + message.blockMaxBytes = new $util.LongBits(object.blockMaxBytes.low >>> 0, object.blockMaxBytes.high >>> 0).toNumber(); + if (object.blockMaxGas != null) + if ($util.Long) + (message.blockMaxGas = $util.Long.fromValue(object.blockMaxGas)).unsigned = false; + else if (typeof object.blockMaxGas === "string") + message.blockMaxGas = parseInt(object.blockMaxGas, 10); + else if (typeof object.blockMaxGas === "number") + message.blockMaxGas = object.blockMaxGas; + else if (typeof object.blockMaxGas === "object") + message.blockMaxGas = new $util.LongBits(object.blockMaxGas.low >>> 0, object.blockMaxGas.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a HashedParams message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.HashedParams + * @static + * @param {tendermint.types.HashedParams} message HashedParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HashedParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.blockMaxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.blockMaxBytes = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.blockMaxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.blockMaxGas = options.longs === String ? "0" : 0; + } + if (message.blockMaxBytes != null && message.hasOwnProperty("blockMaxBytes")) + if (typeof message.blockMaxBytes === "number") + object.blockMaxBytes = options.longs === String ? String(message.blockMaxBytes) : message.blockMaxBytes; + else + object.blockMaxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.blockMaxBytes) : options.longs === Number ? new $util.LongBits(message.blockMaxBytes.low >>> 0, message.blockMaxBytes.high >>> 0).toNumber() : message.blockMaxBytes; + if (message.blockMaxGas != null && message.hasOwnProperty("blockMaxGas")) + if (typeof message.blockMaxGas === "number") + object.blockMaxGas = options.longs === String ? String(message.blockMaxGas) : message.blockMaxGas; + else + object.blockMaxGas = options.longs === String ? $util.Long.prototype.toString.call(message.blockMaxGas) : options.longs === Number ? new $util.LongBits(message.blockMaxGas.low >>> 0, message.blockMaxGas.high >>> 0).toNumber() : message.blockMaxGas; + return object; + }; + + /** + * Converts this HashedParams to JSON. + * @function toJSON + * @memberof tendermint.types.HashedParams + * @instance + * @returns {Object.} JSON object + */ + HashedParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return HashedParams; + })(); + + /** + * BlockIDFlag enum. + * @name tendermint.types.BlockIDFlag + * @enum {number} + * @property {number} BLOCK_ID_FLAG_UNKNOWN=0 BLOCK_ID_FLAG_UNKNOWN value + * @property {number} BLOCK_ID_FLAG_ABSENT=1 BLOCK_ID_FLAG_ABSENT value + * @property {number} BLOCK_ID_FLAG_COMMIT=2 BLOCK_ID_FLAG_COMMIT value + * @property {number} BLOCK_ID_FLAG_NIL=3 BLOCK_ID_FLAG_NIL value + */ + types.BlockIDFlag = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "BLOCK_ID_FLAG_UNKNOWN"] = 0; + values[valuesById[1] = "BLOCK_ID_FLAG_ABSENT"] = 1; + values[valuesById[2] = "BLOCK_ID_FLAG_COMMIT"] = 2; + values[valuesById[3] = "BLOCK_ID_FLAG_NIL"] = 3; + return values; + })(); + + /** + * SignedMsgType enum. + * @name tendermint.types.SignedMsgType + * @enum {number} + * @property {number} SIGNED_MSG_TYPE_UNKNOWN=0 SIGNED_MSG_TYPE_UNKNOWN value + * @property {number} SIGNED_MSG_TYPE_PREVOTE=1 SIGNED_MSG_TYPE_PREVOTE value + * @property {number} SIGNED_MSG_TYPE_PRECOMMIT=2 SIGNED_MSG_TYPE_PRECOMMIT value + * @property {number} SIGNED_MSG_TYPE_PROPOSAL=32 SIGNED_MSG_TYPE_PROPOSAL value + */ + types.SignedMsgType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "SIGNED_MSG_TYPE_UNKNOWN"] = 0; + values[valuesById[1] = "SIGNED_MSG_TYPE_PREVOTE"] = 1; + values[valuesById[2] = "SIGNED_MSG_TYPE_PRECOMMIT"] = 2; + values[valuesById[32] = "SIGNED_MSG_TYPE_PROPOSAL"] = 32; + return values; + })(); + + types.PartSetHeader = (function() { + + /** + * Properties of a PartSetHeader. + * @memberof tendermint.types + * @interface IPartSetHeader + * @property {number|null} [total] PartSetHeader total + * @property {Uint8Array|null} [hash] PartSetHeader hash + */ + + /** + * Constructs a new PartSetHeader. + * @memberof tendermint.types + * @classdesc Represents a PartSetHeader. + * @implements IPartSetHeader + * @constructor + * @param {tendermint.types.IPartSetHeader=} [properties] Properties to set + */ + function PartSetHeader(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PartSetHeader total. + * @member {number} total + * @memberof tendermint.types.PartSetHeader + * @instance + */ + PartSetHeader.prototype.total = 0; + + /** + * PartSetHeader hash. + * @member {Uint8Array} hash + * @memberof tendermint.types.PartSetHeader + * @instance + */ + PartSetHeader.prototype.hash = $util.newBuffer([]); + + /** + * Creates a new PartSetHeader instance using the specified properties. + * @function create + * @memberof tendermint.types.PartSetHeader + * @static + * @param {tendermint.types.IPartSetHeader=} [properties] Properties to set + * @returns {tendermint.types.PartSetHeader} PartSetHeader instance + */ + PartSetHeader.create = function create(properties) { + return new PartSetHeader(properties); + }; + + /** + * Encodes the specified PartSetHeader message. Does not implicitly {@link tendermint.types.PartSetHeader.verify|verify} messages. + * @function encode + * @memberof tendermint.types.PartSetHeader + * @static + * @param {tendermint.types.IPartSetHeader} message PartSetHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PartSetHeader.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.total != null && Object.hasOwnProperty.call(message, "total")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.total); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.hash); + return writer; + }; + + /** + * Encodes the specified PartSetHeader message, length delimited. Does not implicitly {@link tendermint.types.PartSetHeader.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.PartSetHeader + * @static + * @param {tendermint.types.IPartSetHeader} message PartSetHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PartSetHeader.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PartSetHeader message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.PartSetHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.PartSetHeader} PartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PartSetHeader.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.PartSetHeader(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.total = reader.uint32(); + break; + case 2: + message.hash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PartSetHeader message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.PartSetHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.PartSetHeader} PartSetHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PartSetHeader.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PartSetHeader message. + * @function verify + * @memberof tendermint.types.PartSetHeader + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PartSetHeader.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.total != null && message.hasOwnProperty("total")) + if (!$util.isInteger(message.total)) + return "total: integer expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + return null; + }; + + /** + * Creates a PartSetHeader message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.PartSetHeader + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.PartSetHeader} PartSetHeader + */ + PartSetHeader.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.PartSetHeader) + return object; + var message = new $root.tendermint.types.PartSetHeader(); + if (object.total != null) + message.total = object.total >>> 0; + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + return message; + }; + + /** + * Creates a plain object from a PartSetHeader message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.PartSetHeader + * @static + * @param {tendermint.types.PartSetHeader} message PartSetHeader + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PartSetHeader.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.total = 0; + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + } + if (message.total != null && message.hasOwnProperty("total")) + object.total = message.total; + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + return object; + }; + + /** + * Converts this PartSetHeader to JSON. + * @function toJSON + * @memberof tendermint.types.PartSetHeader + * @instance + * @returns {Object.} JSON object + */ + PartSetHeader.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PartSetHeader; + })(); + + types.Part = (function() { + + /** + * Properties of a Part. + * @memberof tendermint.types + * @interface IPart + * @property {number|null} [index] Part index + * @property {Uint8Array|null} [bytes] Part bytes + * @property {tendermint.crypto.IProof|null} [proof] Part proof + */ + + /** + * Constructs a new Part. + * @memberof tendermint.types + * @classdesc Represents a Part. + * @implements IPart + * @constructor + * @param {tendermint.types.IPart=} [properties] Properties to set + */ + function Part(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Part index. + * @member {number} index + * @memberof tendermint.types.Part + * @instance + */ + Part.prototype.index = 0; + + /** + * Part bytes. + * @member {Uint8Array} bytes + * @memberof tendermint.types.Part + * @instance + */ + Part.prototype.bytes = $util.newBuffer([]); + + /** + * Part proof. + * @member {tendermint.crypto.IProof|null|undefined} proof + * @memberof tendermint.types.Part + * @instance + */ + Part.prototype.proof = null; + + /** + * Creates a new Part instance using the specified properties. + * @function create + * @memberof tendermint.types.Part + * @static + * @param {tendermint.types.IPart=} [properties] Properties to set + * @returns {tendermint.types.Part} Part instance + */ + Part.create = function create(properties) { + return new Part(properties); + }; + + /** + * Encodes the specified Part message. Does not implicitly {@link tendermint.types.Part.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Part + * @static + * @param {tendermint.types.IPart} message Part message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Part.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.index != null && Object.hasOwnProperty.call(message, "index")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.index); + if (message.bytes != null && Object.hasOwnProperty.call(message, "bytes")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.bytes); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.tendermint.crypto.Proof.encode(message.proof, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Part message, length delimited. Does not implicitly {@link tendermint.types.Part.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Part + * @static + * @param {tendermint.types.IPart} message Part message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Part.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Part message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Part + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Part} Part + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Part.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Part(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.index = reader.uint32(); + break; + case 2: + message.bytes = reader.bytes(); + break; + case 3: + message.proof = $root.tendermint.crypto.Proof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Part message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Part + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Part} Part + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Part.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Part message. + * @function verify + * @memberof tendermint.types.Part + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Part.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.index != null && message.hasOwnProperty("index")) + if (!$util.isInteger(message.index)) + return "index: integer expected"; + if (message.bytes != null && message.hasOwnProperty("bytes")) + if (!(message.bytes && typeof message.bytes.length === "number" || $util.isString(message.bytes))) + return "bytes: buffer expected"; + if (message.proof != null && message.hasOwnProperty("proof")) { + var error = $root.tendermint.crypto.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + return null; + }; + + /** + * Creates a Part message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Part + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Part} Part + */ + Part.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Part) + return object; + var message = new $root.tendermint.types.Part(); + if (object.index != null) + message.index = object.index >>> 0; + if (object.bytes != null) + if (typeof object.bytes === "string") + $util.base64.decode(object.bytes, message.bytes = $util.newBuffer($util.base64.length(object.bytes)), 0); + else if (object.bytes.length) + message.bytes = object.bytes; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".tendermint.types.Part.proof: object expected"); + message.proof = $root.tendermint.crypto.Proof.fromObject(object.proof); + } + return message; + }; + + /** + * Creates a plain object from a Part message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Part + * @static + * @param {tendermint.types.Part} message Part + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Part.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.index = 0; + if (options.bytes === String) + object.bytes = ""; + else { + object.bytes = []; + if (options.bytes !== Array) + object.bytes = $util.newBuffer(object.bytes); + } + object.proof = null; + } + if (message.index != null && message.hasOwnProperty("index")) + object.index = message.index; + if (message.bytes != null && message.hasOwnProperty("bytes")) + object.bytes = options.bytes === String ? $util.base64.encode(message.bytes, 0, message.bytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.bytes) : message.bytes; + if (message.proof != null && message.hasOwnProperty("proof")) + object.proof = $root.tendermint.crypto.Proof.toObject(message.proof, options); + return object; + }; + + /** + * Converts this Part to JSON. + * @function toJSON + * @memberof tendermint.types.Part + * @instance + * @returns {Object.} JSON object + */ + Part.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Part; + })(); + + types.BlockID = (function() { + + /** + * Properties of a BlockID. + * @memberof tendermint.types + * @interface IBlockID + * @property {Uint8Array|null} [hash] BlockID hash + * @property {tendermint.types.IPartSetHeader|null} [partSetHeader] BlockID partSetHeader + */ + + /** + * Constructs a new BlockID. + * @memberof tendermint.types + * @classdesc Represents a BlockID. + * @implements IBlockID + * @constructor + * @param {tendermint.types.IBlockID=} [properties] Properties to set + */ + function BlockID(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlockID hash. + * @member {Uint8Array} hash + * @memberof tendermint.types.BlockID + * @instance + */ + BlockID.prototype.hash = $util.newBuffer([]); + + /** + * BlockID partSetHeader. + * @member {tendermint.types.IPartSetHeader|null|undefined} partSetHeader + * @memberof tendermint.types.BlockID + * @instance + */ + BlockID.prototype.partSetHeader = null; + + /** + * Creates a new BlockID instance using the specified properties. + * @function create + * @memberof tendermint.types.BlockID + * @static + * @param {tendermint.types.IBlockID=} [properties] Properties to set + * @returns {tendermint.types.BlockID} BlockID instance + */ + BlockID.create = function create(properties) { + return new BlockID(properties); + }; + + /** + * Encodes the specified BlockID message. Does not implicitly {@link tendermint.types.BlockID.verify|verify} messages. + * @function encode + * @memberof tendermint.types.BlockID + * @static + * @param {tendermint.types.IBlockID} message BlockID message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockID.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); + if (message.partSetHeader != null && Object.hasOwnProperty.call(message, "partSetHeader")) + $root.tendermint.types.PartSetHeader.encode(message.partSetHeader, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BlockID message, length delimited. Does not implicitly {@link tendermint.types.BlockID.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.BlockID + * @static + * @param {tendermint.types.IBlockID} message BlockID message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockID.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlockID message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.BlockID + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.BlockID} BlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockID.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.BlockID(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.bytes(); + break; + case 2: + message.partSetHeader = $root.tendermint.types.PartSetHeader.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlockID message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.BlockID + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.BlockID} BlockID + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockID.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlockID message. + * @function verify + * @memberof tendermint.types.BlockID + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockID.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hash != null && message.hasOwnProperty("hash")) + if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) + return "hash: buffer expected"; + if (message.partSetHeader != null && message.hasOwnProperty("partSetHeader")) { + var error = $root.tendermint.types.PartSetHeader.verify(message.partSetHeader); + if (error) + return "partSetHeader." + error; + } + return null; + }; + + /** + * Creates a BlockID message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.BlockID + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.BlockID} BlockID + */ + BlockID.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.BlockID) + return object; + var message = new $root.tendermint.types.BlockID(); + if (object.hash != null) + if (typeof object.hash === "string") + $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); + else if (object.hash.length) + message.hash = object.hash; + if (object.partSetHeader != null) { + if (typeof object.partSetHeader !== "object") + throw TypeError(".tendermint.types.BlockID.partSetHeader: object expected"); + message.partSetHeader = $root.tendermint.types.PartSetHeader.fromObject(object.partSetHeader); + } + return message; + }; + + /** + * Creates a plain object from a BlockID message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.BlockID + * @static + * @param {tendermint.types.BlockID} message BlockID + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockID.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.hash = ""; + else { + object.hash = []; + if (options.bytes !== Array) + object.hash = $util.newBuffer(object.hash); + } + object.partSetHeader = null; + } + if (message.hash != null && message.hasOwnProperty("hash")) + object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; + if (message.partSetHeader != null && message.hasOwnProperty("partSetHeader")) + object.partSetHeader = $root.tendermint.types.PartSetHeader.toObject(message.partSetHeader, options); + return object; + }; + + /** + * Converts this BlockID to JSON. + * @function toJSON + * @memberof tendermint.types.BlockID + * @instance + * @returns {Object.} JSON object + */ + BlockID.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BlockID; + })(); + + types.Header = (function() { + + /** + * Properties of a Header. + * @memberof tendermint.types + * @interface IHeader + * @property {tendermint.version.IConsensus|null} [version] Header version + * @property {string|null} [chainId] Header chainId + * @property {number|Long|null} [height] Header height + * @property {google.protobuf.ITimestamp|null} [time] Header time + * @property {tendermint.types.IBlockID|null} [lastBlockId] Header lastBlockId + * @property {Uint8Array|null} [lastCommitHash] Header lastCommitHash + * @property {Uint8Array|null} [dataHash] Header dataHash + * @property {Uint8Array|null} [validatorsHash] Header validatorsHash + * @property {Uint8Array|null} [nextValidatorsHash] Header nextValidatorsHash + * @property {Uint8Array|null} [consensusHash] Header consensusHash + * @property {Uint8Array|null} [appHash] Header appHash + * @property {Uint8Array|null} [lastResultsHash] Header lastResultsHash + * @property {Uint8Array|null} [evidenceHash] Header evidenceHash + * @property {Uint8Array|null} [proposerAddress] Header proposerAddress + */ + + /** + * Constructs a new Header. + * @memberof tendermint.types + * @classdesc Represents a Header. + * @implements IHeader + * @constructor + * @param {tendermint.types.IHeader=} [properties] Properties to set + */ + function Header(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Header version. + * @member {tendermint.version.IConsensus|null|undefined} version + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.version = null; + + /** + * Header chainId. + * @member {string} chainId + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.chainId = ""; + + /** + * Header height. + * @member {number|Long} height + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Header time. + * @member {google.protobuf.ITimestamp|null|undefined} time + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.time = null; + + /** + * Header lastBlockId. + * @member {tendermint.types.IBlockID|null|undefined} lastBlockId + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.lastBlockId = null; + + /** + * Header lastCommitHash. + * @member {Uint8Array} lastCommitHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.lastCommitHash = $util.newBuffer([]); + + /** + * Header dataHash. + * @member {Uint8Array} dataHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.dataHash = $util.newBuffer([]); + + /** + * Header validatorsHash. + * @member {Uint8Array} validatorsHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.validatorsHash = $util.newBuffer([]); + + /** + * Header nextValidatorsHash. + * @member {Uint8Array} nextValidatorsHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.nextValidatorsHash = $util.newBuffer([]); + + /** + * Header consensusHash. + * @member {Uint8Array} consensusHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.consensusHash = $util.newBuffer([]); + + /** + * Header appHash. + * @member {Uint8Array} appHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.appHash = $util.newBuffer([]); + + /** + * Header lastResultsHash. + * @member {Uint8Array} lastResultsHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.lastResultsHash = $util.newBuffer([]); + + /** + * Header evidenceHash. + * @member {Uint8Array} evidenceHash + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.evidenceHash = $util.newBuffer([]); + + /** + * Header proposerAddress. + * @member {Uint8Array} proposerAddress + * @memberof tendermint.types.Header + * @instance + */ + Header.prototype.proposerAddress = $util.newBuffer([]); + + /** + * Creates a new Header instance using the specified properties. + * @function create + * @memberof tendermint.types.Header + * @static + * @param {tendermint.types.IHeader=} [properties] Properties to set + * @returns {tendermint.types.Header} Header instance + */ + Header.create = function create(properties) { + return new Header(properties); + }; + + /** + * Encodes the specified Header message. Does not implicitly {@link tendermint.types.Header.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Header + * @static + * @param {tendermint.types.IHeader} message Header message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Header.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + $root.tendermint.version.Consensus.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); + if (message.time != null && Object.hasOwnProperty.call(message, "time")) + $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.lastBlockId != null && Object.hasOwnProperty.call(message, "lastBlockId")) + $root.tendermint.types.BlockID.encode(message.lastBlockId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.lastCommitHash != null && Object.hasOwnProperty.call(message, "lastCommitHash")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.lastCommitHash); + if (message.dataHash != null && Object.hasOwnProperty.call(message, "dataHash")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.dataHash); + if (message.validatorsHash != null && Object.hasOwnProperty.call(message, "validatorsHash")) + writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.validatorsHash); + if (message.nextValidatorsHash != null && Object.hasOwnProperty.call(message, "nextValidatorsHash")) + writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.nextValidatorsHash); + if (message.consensusHash != null && Object.hasOwnProperty.call(message, "consensusHash")) + writer.uint32(/* id 10, wireType 2 =*/82).bytes(message.consensusHash); + if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) + writer.uint32(/* id 11, wireType 2 =*/90).bytes(message.appHash); + if (message.lastResultsHash != null && Object.hasOwnProperty.call(message, "lastResultsHash")) + writer.uint32(/* id 12, wireType 2 =*/98).bytes(message.lastResultsHash); + if (message.evidenceHash != null && Object.hasOwnProperty.call(message, "evidenceHash")) + writer.uint32(/* id 13, wireType 2 =*/106).bytes(message.evidenceHash); + if (message.proposerAddress != null && Object.hasOwnProperty.call(message, "proposerAddress")) + writer.uint32(/* id 14, wireType 2 =*/114).bytes(message.proposerAddress); + return writer; + }; + + /** + * Encodes the specified Header message, length delimited. Does not implicitly {@link tendermint.types.Header.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Header + * @static + * @param {tendermint.types.IHeader} message Header message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Header.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Header message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Header + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Header} Header + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Header.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Header(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.version = $root.tendermint.version.Consensus.decode(reader, reader.uint32()); + break; + case 2: + message.chainId = reader.string(); + break; + case 3: + message.height = reader.int64(); + break; + case 4: + message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 5: + message.lastBlockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 6: + message.lastCommitHash = reader.bytes(); + break; + case 7: + message.dataHash = reader.bytes(); + break; + case 8: + message.validatorsHash = reader.bytes(); + break; + case 9: + message.nextValidatorsHash = reader.bytes(); + break; + case 10: + message.consensusHash = reader.bytes(); + break; + case 11: + message.appHash = reader.bytes(); + break; + case 12: + message.lastResultsHash = reader.bytes(); + break; + case 13: + message.evidenceHash = reader.bytes(); + break; + case 14: + message.proposerAddress = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Header message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Header + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Header} Header + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Header.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Header message. + * @function verify + * @memberof tendermint.types.Header + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Header.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.version != null && message.hasOwnProperty("version")) { + var error = $root.tendermint.version.Consensus.verify(message.version); + if (error) + return "version." + error; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.time != null && message.hasOwnProperty("time")) { + var error = $root.google.protobuf.Timestamp.verify(message.time); + if (error) + return "time." + error; + } + if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) { + var error = $root.tendermint.types.BlockID.verify(message.lastBlockId); + if (error) + return "lastBlockId." + error; + } + if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) + if (!(message.lastCommitHash && typeof message.lastCommitHash.length === "number" || $util.isString(message.lastCommitHash))) + return "lastCommitHash: buffer expected"; + if (message.dataHash != null && message.hasOwnProperty("dataHash")) + if (!(message.dataHash && typeof message.dataHash.length === "number" || $util.isString(message.dataHash))) + return "dataHash: buffer expected"; + if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) + if (!(message.validatorsHash && typeof message.validatorsHash.length === "number" || $util.isString(message.validatorsHash))) + return "validatorsHash: buffer expected"; + if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) + if (!(message.nextValidatorsHash && typeof message.nextValidatorsHash.length === "number" || $util.isString(message.nextValidatorsHash))) + return "nextValidatorsHash: buffer expected"; + if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) + if (!(message.consensusHash && typeof message.consensusHash.length === "number" || $util.isString(message.consensusHash))) + return "consensusHash: buffer expected"; + if (message.appHash != null && message.hasOwnProperty("appHash")) + if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) + return "appHash: buffer expected"; + if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) + if (!(message.lastResultsHash && typeof message.lastResultsHash.length === "number" || $util.isString(message.lastResultsHash))) + return "lastResultsHash: buffer expected"; + if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) + if (!(message.evidenceHash && typeof message.evidenceHash.length === "number" || $util.isString(message.evidenceHash))) + return "evidenceHash: buffer expected"; + if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) + if (!(message.proposerAddress && typeof message.proposerAddress.length === "number" || $util.isString(message.proposerAddress))) + return "proposerAddress: buffer expected"; + return null; + }; + + /** + * Creates a Header message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Header + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Header} Header + */ + Header.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Header) + return object; + var message = new $root.tendermint.types.Header(); + if (object.version != null) { + if (typeof object.version !== "object") + throw TypeError(".tendermint.types.Header.version: object expected"); + message.version = $root.tendermint.version.Consensus.fromObject(object.version); + } + if (object.chainId != null) + message.chainId = String(object.chainId); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.time != null) { + if (typeof object.time !== "object") + throw TypeError(".tendermint.types.Header.time: object expected"); + message.time = $root.google.protobuf.Timestamp.fromObject(object.time); + } + if (object.lastBlockId != null) { + if (typeof object.lastBlockId !== "object") + throw TypeError(".tendermint.types.Header.lastBlockId: object expected"); + message.lastBlockId = $root.tendermint.types.BlockID.fromObject(object.lastBlockId); + } + if (object.lastCommitHash != null) + if (typeof object.lastCommitHash === "string") + $util.base64.decode(object.lastCommitHash, message.lastCommitHash = $util.newBuffer($util.base64.length(object.lastCommitHash)), 0); + else if (object.lastCommitHash.length) + message.lastCommitHash = object.lastCommitHash; + if (object.dataHash != null) + if (typeof object.dataHash === "string") + $util.base64.decode(object.dataHash, message.dataHash = $util.newBuffer($util.base64.length(object.dataHash)), 0); + else if (object.dataHash.length) + message.dataHash = object.dataHash; + if (object.validatorsHash != null) + if (typeof object.validatorsHash === "string") + $util.base64.decode(object.validatorsHash, message.validatorsHash = $util.newBuffer($util.base64.length(object.validatorsHash)), 0); + else if (object.validatorsHash.length) + message.validatorsHash = object.validatorsHash; + if (object.nextValidatorsHash != null) + if (typeof object.nextValidatorsHash === "string") + $util.base64.decode(object.nextValidatorsHash, message.nextValidatorsHash = $util.newBuffer($util.base64.length(object.nextValidatorsHash)), 0); + else if (object.nextValidatorsHash.length) + message.nextValidatorsHash = object.nextValidatorsHash; + if (object.consensusHash != null) + if (typeof object.consensusHash === "string") + $util.base64.decode(object.consensusHash, message.consensusHash = $util.newBuffer($util.base64.length(object.consensusHash)), 0); + else if (object.consensusHash.length) + message.consensusHash = object.consensusHash; + if (object.appHash != null) + if (typeof object.appHash === "string") + $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); + else if (object.appHash.length) + message.appHash = object.appHash; + if (object.lastResultsHash != null) + if (typeof object.lastResultsHash === "string") + $util.base64.decode(object.lastResultsHash, message.lastResultsHash = $util.newBuffer($util.base64.length(object.lastResultsHash)), 0); + else if (object.lastResultsHash.length) + message.lastResultsHash = object.lastResultsHash; + if (object.evidenceHash != null) + if (typeof object.evidenceHash === "string") + $util.base64.decode(object.evidenceHash, message.evidenceHash = $util.newBuffer($util.base64.length(object.evidenceHash)), 0); + else if (object.evidenceHash.length) + message.evidenceHash = object.evidenceHash; + if (object.proposerAddress != null) + if (typeof object.proposerAddress === "string") + $util.base64.decode(object.proposerAddress, message.proposerAddress = $util.newBuffer($util.base64.length(object.proposerAddress)), 0); + else if (object.proposerAddress.length) + message.proposerAddress = object.proposerAddress; + return message; + }; + + /** + * Creates a plain object from a Header message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Header + * @static + * @param {tendermint.types.Header} message Header + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Header.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.version = null; + object.chainId = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.time = null; + object.lastBlockId = null; + if (options.bytes === String) + object.lastCommitHash = ""; + else { + object.lastCommitHash = []; + if (options.bytes !== Array) + object.lastCommitHash = $util.newBuffer(object.lastCommitHash); + } + if (options.bytes === String) + object.dataHash = ""; + else { + object.dataHash = []; + if (options.bytes !== Array) + object.dataHash = $util.newBuffer(object.dataHash); + } + if (options.bytes === String) + object.validatorsHash = ""; + else { + object.validatorsHash = []; + if (options.bytes !== Array) + object.validatorsHash = $util.newBuffer(object.validatorsHash); + } + if (options.bytes === String) + object.nextValidatorsHash = ""; + else { + object.nextValidatorsHash = []; + if (options.bytes !== Array) + object.nextValidatorsHash = $util.newBuffer(object.nextValidatorsHash); + } + if (options.bytes === String) + object.consensusHash = ""; + else { + object.consensusHash = []; + if (options.bytes !== Array) + object.consensusHash = $util.newBuffer(object.consensusHash); + } + if (options.bytes === String) + object.appHash = ""; + else { + object.appHash = []; + if (options.bytes !== Array) + object.appHash = $util.newBuffer(object.appHash); + } + if (options.bytes === String) + object.lastResultsHash = ""; + else { + object.lastResultsHash = []; + if (options.bytes !== Array) + object.lastResultsHash = $util.newBuffer(object.lastResultsHash); + } + if (options.bytes === String) + object.evidenceHash = ""; + else { + object.evidenceHash = []; + if (options.bytes !== Array) + object.evidenceHash = $util.newBuffer(object.evidenceHash); + } + if (options.bytes === String) + object.proposerAddress = ""; + else { + object.proposerAddress = []; + if (options.bytes !== Array) + object.proposerAddress = $util.newBuffer(object.proposerAddress); + } + } + if (message.version != null && message.hasOwnProperty("version")) + object.version = $root.tendermint.version.Consensus.toObject(message.version, options); + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.time != null && message.hasOwnProperty("time")) + object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); + if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) + object.lastBlockId = $root.tendermint.types.BlockID.toObject(message.lastBlockId, options); + if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) + object.lastCommitHash = options.bytes === String ? $util.base64.encode(message.lastCommitHash, 0, message.lastCommitHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastCommitHash) : message.lastCommitHash; + if (message.dataHash != null && message.hasOwnProperty("dataHash")) + object.dataHash = options.bytes === String ? $util.base64.encode(message.dataHash, 0, message.dataHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataHash) : message.dataHash; + if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) + object.validatorsHash = options.bytes === String ? $util.base64.encode(message.validatorsHash, 0, message.validatorsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorsHash) : message.validatorsHash; + if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) + object.nextValidatorsHash = options.bytes === String ? $util.base64.encode(message.nextValidatorsHash, 0, message.nextValidatorsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.nextValidatorsHash) : message.nextValidatorsHash; + if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) + object.consensusHash = options.bytes === String ? $util.base64.encode(message.consensusHash, 0, message.consensusHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.consensusHash) : message.consensusHash; + if (message.appHash != null && message.hasOwnProperty("appHash")) + object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; + if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) + object.lastResultsHash = options.bytes === String ? $util.base64.encode(message.lastResultsHash, 0, message.lastResultsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastResultsHash) : message.lastResultsHash; + if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) + object.evidenceHash = options.bytes === String ? $util.base64.encode(message.evidenceHash, 0, message.evidenceHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.evidenceHash) : message.evidenceHash; + if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) + object.proposerAddress = options.bytes === String ? $util.base64.encode(message.proposerAddress, 0, message.proposerAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.proposerAddress) : message.proposerAddress; + return object; + }; + + /** + * Converts this Header to JSON. + * @function toJSON + * @memberof tendermint.types.Header + * @instance + * @returns {Object.} JSON object + */ + Header.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Header; + })(); + + types.Data = (function() { + + /** + * Properties of a Data. + * @memberof tendermint.types + * @interface IData + * @property {Array.|null} [txs] Data txs + */ + + /** + * Constructs a new Data. + * @memberof tendermint.types + * @classdesc Represents a Data. + * @implements IData + * @constructor + * @param {tendermint.types.IData=} [properties] Properties to set + */ + function Data(properties) { + this.txs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Data txs. + * @member {Array.} txs + * @memberof tendermint.types.Data + * @instance + */ + Data.prototype.txs = $util.emptyArray; + + /** + * Creates a new Data instance using the specified properties. + * @function create + * @memberof tendermint.types.Data + * @static + * @param {tendermint.types.IData=} [properties] Properties to set + * @returns {tendermint.types.Data} Data instance + */ + Data.create = function create(properties) { + return new Data(properties); + }; + + /** + * Encodes the specified Data message. Does not implicitly {@link tendermint.types.Data.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Data + * @static + * @param {tendermint.types.IData} message Data message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Data.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.txs != null && message.txs.length) + for (var i = 0; i < message.txs.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.txs[i]); + return writer; + }; + + /** + * Encodes the specified Data message, length delimited. Does not implicitly {@link tendermint.types.Data.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Data + * @static + * @param {tendermint.types.IData} message Data message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Data.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Data message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Data + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Data} Data + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Data.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Data(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.txs && message.txs.length)) + message.txs = []; + message.txs.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Data message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Data + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Data} Data + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Data.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Data message. + * @function verify + * @memberof tendermint.types.Data + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Data.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.txs != null && message.hasOwnProperty("txs")) { + if (!Array.isArray(message.txs)) + return "txs: array expected"; + for (var i = 0; i < message.txs.length; ++i) + if (!(message.txs[i] && typeof message.txs[i].length === "number" || $util.isString(message.txs[i]))) + return "txs: buffer[] expected"; + } + return null; + }; + + /** + * Creates a Data message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Data + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Data} Data + */ + Data.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Data) + return object; + var message = new $root.tendermint.types.Data(); + if (object.txs) { + if (!Array.isArray(object.txs)) + throw TypeError(".tendermint.types.Data.txs: array expected"); + message.txs = []; + for (var i = 0; i < object.txs.length; ++i) + if (typeof object.txs[i] === "string") + $util.base64.decode(object.txs[i], message.txs[i] = $util.newBuffer($util.base64.length(object.txs[i])), 0); + else if (object.txs[i].length) + message.txs[i] = object.txs[i]; + } + return message; + }; + + /** + * Creates a plain object from a Data message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Data + * @static + * @param {tendermint.types.Data} message Data + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Data.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.txs = []; + if (message.txs && message.txs.length) { + object.txs = []; + for (var j = 0; j < message.txs.length; ++j) + object.txs[j] = options.bytes === String ? $util.base64.encode(message.txs[j], 0, message.txs[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.txs[j]) : message.txs[j]; + } + return object; + }; + + /** + * Converts this Data to JSON. + * @function toJSON + * @memberof tendermint.types.Data + * @instance + * @returns {Object.} JSON object + */ + Data.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Data; + })(); + + types.Vote = (function() { + + /** + * Properties of a Vote. + * @memberof tendermint.types + * @interface IVote + * @property {tendermint.types.SignedMsgType|null} [type] Vote type + * @property {number|Long|null} [height] Vote height + * @property {number|null} [round] Vote round + * @property {tendermint.types.IBlockID|null} [blockId] Vote blockId + * @property {google.protobuf.ITimestamp|null} [timestamp] Vote timestamp + * @property {Uint8Array|null} [validatorAddress] Vote validatorAddress + * @property {number|null} [validatorIndex] Vote validatorIndex + * @property {Uint8Array|null} [signature] Vote signature + */ + + /** + * Constructs a new Vote. + * @memberof tendermint.types + * @classdesc Represents a Vote. + * @implements IVote + * @constructor + * @param {tendermint.types.IVote=} [properties] Properties to set + */ + function Vote(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Vote type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.type = 0; + + /** + * Vote height. + * @member {number|Long} height + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Vote round. + * @member {number} round + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.round = 0; + + /** + * Vote blockId. + * @member {tendermint.types.IBlockID|null|undefined} blockId + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.blockId = null; + + /** + * Vote timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.timestamp = null; + + /** + * Vote validatorAddress. + * @member {Uint8Array} validatorAddress + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.validatorAddress = $util.newBuffer([]); + + /** + * Vote validatorIndex. + * @member {number} validatorIndex + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.validatorIndex = 0; + + /** + * Vote signature. + * @member {Uint8Array} signature + * @memberof tendermint.types.Vote + * @instance + */ + Vote.prototype.signature = $util.newBuffer([]); + + /** + * Creates a new Vote instance using the specified properties. + * @function create + * @memberof tendermint.types.Vote + * @static + * @param {tendermint.types.IVote=} [properties] Properties to set + * @returns {tendermint.types.Vote} Vote instance + */ + Vote.create = function create(properties) { + return new Vote(properties); + }; + + /** + * Encodes the specified Vote message. Does not implicitly {@link tendermint.types.Vote.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Vote + * @static + * @param {tendermint.types.IVote} message Vote message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vote.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.round); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.validatorAddress); + if (message.validatorIndex != null && Object.hasOwnProperty.call(message, "validatorIndex")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.validatorIndex); + if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) + writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.signature); + return writer; + }; + + /** + * Encodes the specified Vote message, length delimited. Does not implicitly {@link tendermint.types.Vote.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Vote + * @static + * @param {tendermint.types.IVote} message Vote message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vote.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Vote message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Vote + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Vote} Vote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vote.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Vote(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.height = reader.int64(); + break; + case 3: + message.round = reader.int32(); + break; + case 4: + message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 5: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.validatorAddress = reader.bytes(); + break; + case 7: + message.validatorIndex = reader.int32(); + break; + case 8: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Vote message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Vote + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Vote} Vote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vote.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Vote message. + * @function verify + * @memberof tendermint.types.Vote + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Vote.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.BlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) + if (!(message.validatorAddress && typeof message.validatorAddress.length === "number" || $util.isString(message.validatorAddress))) + return "validatorAddress: buffer expected"; + if (message.validatorIndex != null && message.hasOwnProperty("validatorIndex")) + if (!$util.isInteger(message.validatorIndex)) + return "validatorIndex: integer expected"; + if (message.signature != null && message.hasOwnProperty("signature")) + if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) + return "signature: buffer expected"; + return null; + }; + + /** + * Creates a Vote message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Vote + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Vote} Vote + */ + Vote.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Vote) + return object; + var message = new $root.tendermint.types.Vote(); + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.types.Vote.blockId: object expected"); + message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); + } + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.Vote.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.validatorAddress != null) + if (typeof object.validatorAddress === "string") + $util.base64.decode(object.validatorAddress, message.validatorAddress = $util.newBuffer($util.base64.length(object.validatorAddress)), 0); + else if (object.validatorAddress.length) + message.validatorAddress = object.validatorAddress; + if (object.validatorIndex != null) + message.validatorIndex = object.validatorIndex | 0; + if (object.signature != null) + if (typeof object.signature === "string") + $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); + else if (object.signature.length) + message.signature = object.signature; + return message; + }; + + /** + * Creates a plain object from a Vote message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Vote + * @static + * @param {tendermint.types.Vote} message Vote + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vote.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.blockId = null; + object.timestamp = null; + if (options.bytes === String) + object.validatorAddress = ""; + else { + object.validatorAddress = []; + if (options.bytes !== Array) + object.validatorAddress = $util.newBuffer(object.validatorAddress); + } + object.validatorIndex = 0; + if (options.bytes === String) + object.signature = ""; + else { + object.signature = []; + if (options.bytes !== Array) + object.signature = $util.newBuffer(object.signature); + } + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) + object.validatorAddress = options.bytes === String ? $util.base64.encode(message.validatorAddress, 0, message.validatorAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorAddress) : message.validatorAddress; + if (message.validatorIndex != null && message.hasOwnProperty("validatorIndex")) + object.validatorIndex = message.validatorIndex; + if (message.signature != null && message.hasOwnProperty("signature")) + object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; + return object; + }; + + /** + * Converts this Vote to JSON. + * @function toJSON + * @memberof tendermint.types.Vote + * @instance + * @returns {Object.} JSON object + */ + Vote.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Vote; + })(); + + types.Commit = (function() { + + /** + * Properties of a Commit. + * @memberof tendermint.types + * @interface ICommit + * @property {number|Long|null} [height] Commit height + * @property {number|null} [round] Commit round + * @property {tendermint.types.IBlockID|null} [blockId] Commit blockId + * @property {Array.|null} [signatures] Commit signatures + */ + + /** + * Constructs a new Commit. + * @memberof tendermint.types + * @classdesc Represents a Commit. + * @implements ICommit + * @constructor + * @param {tendermint.types.ICommit=} [properties] Properties to set + */ + function Commit(properties) { + this.signatures = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Commit height. + * @member {number|Long} height + * @memberof tendermint.types.Commit + * @instance + */ + Commit.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Commit round. + * @member {number} round + * @memberof tendermint.types.Commit + * @instance + */ + Commit.prototype.round = 0; + + /** + * Commit blockId. + * @member {tendermint.types.IBlockID|null|undefined} blockId + * @memberof tendermint.types.Commit + * @instance + */ + Commit.prototype.blockId = null; + + /** + * Commit signatures. + * @member {Array.} signatures + * @memberof tendermint.types.Commit + * @instance + */ + Commit.prototype.signatures = $util.emptyArray; + + /** + * Creates a new Commit instance using the specified properties. + * @function create + * @memberof tendermint.types.Commit + * @static + * @param {tendermint.types.ICommit=} [properties] Properties to set + * @returns {tendermint.types.Commit} Commit instance + */ + Commit.create = function create(properties) { + return new Commit(properties); + }; + + /** + * Encodes the specified Commit message. Does not implicitly {@link tendermint.types.Commit.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Commit + * @static + * @param {tendermint.types.ICommit} message Commit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Commit.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.signatures != null && message.signatures.length) + for (var i = 0; i < message.signatures.length; ++i) + $root.tendermint.types.CommitSig.encode(message.signatures[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Commit message, length delimited. Does not implicitly {@link tendermint.types.Commit.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Commit + * @static + * @param {tendermint.types.ICommit} message Commit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Commit.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Commit message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Commit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Commit} Commit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Commit.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Commit(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.signatures && message.signatures.length)) + message.signatures = []; + message.signatures.push($root.tendermint.types.CommitSig.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Commit message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Commit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Commit} Commit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Commit.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Commit message. + * @function verify + * @memberof tendermint.types.Commit + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Commit.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.BlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.signatures != null && message.hasOwnProperty("signatures")) { + if (!Array.isArray(message.signatures)) + return "signatures: array expected"; + for (var i = 0; i < message.signatures.length; ++i) { + var error = $root.tendermint.types.CommitSig.verify(message.signatures[i]); + if (error) + return "signatures." + error; + } + } + return null; + }; + + /** + * Creates a Commit message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Commit + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Commit} Commit + */ + Commit.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Commit) + return object; + var message = new $root.tendermint.types.Commit(); + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.types.Commit.blockId: object expected"); + message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); + } + if (object.signatures) { + if (!Array.isArray(object.signatures)) + throw TypeError(".tendermint.types.Commit.signatures: array expected"); + message.signatures = []; + for (var i = 0; i < object.signatures.length; ++i) { + if (typeof object.signatures[i] !== "object") + throw TypeError(".tendermint.types.Commit.signatures: object expected"); + message.signatures[i] = $root.tendermint.types.CommitSig.fromObject(object.signatures[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Commit message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Commit + * @static + * @param {tendermint.types.Commit} message Commit + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Commit.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.signatures = []; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.blockId = null; + } + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); + if (message.signatures && message.signatures.length) { + object.signatures = []; + for (var j = 0; j < message.signatures.length; ++j) + object.signatures[j] = $root.tendermint.types.CommitSig.toObject(message.signatures[j], options); + } + return object; + }; + + /** + * Converts this Commit to JSON. + * @function toJSON + * @memberof tendermint.types.Commit + * @instance + * @returns {Object.} JSON object + */ + Commit.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Commit; + })(); + + types.CommitSig = (function() { + + /** + * Properties of a CommitSig. + * @memberof tendermint.types + * @interface ICommitSig + * @property {tendermint.types.BlockIDFlag|null} [blockIdFlag] CommitSig blockIdFlag + * @property {Uint8Array|null} [validatorAddress] CommitSig validatorAddress + * @property {google.protobuf.ITimestamp|null} [timestamp] CommitSig timestamp + * @property {Uint8Array|null} [signature] CommitSig signature + */ + + /** + * Constructs a new CommitSig. + * @memberof tendermint.types + * @classdesc Represents a CommitSig. + * @implements ICommitSig + * @constructor + * @param {tendermint.types.ICommitSig=} [properties] Properties to set + */ + function CommitSig(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CommitSig blockIdFlag. + * @member {tendermint.types.BlockIDFlag} blockIdFlag + * @memberof tendermint.types.CommitSig + * @instance + */ + CommitSig.prototype.blockIdFlag = 0; + + /** + * CommitSig validatorAddress. + * @member {Uint8Array} validatorAddress + * @memberof tendermint.types.CommitSig + * @instance + */ + CommitSig.prototype.validatorAddress = $util.newBuffer([]); + + /** + * CommitSig timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.CommitSig + * @instance + */ + CommitSig.prototype.timestamp = null; + + /** + * CommitSig signature. + * @member {Uint8Array} signature + * @memberof tendermint.types.CommitSig + * @instance + */ + CommitSig.prototype.signature = $util.newBuffer([]); + + /** + * Creates a new CommitSig instance using the specified properties. + * @function create + * @memberof tendermint.types.CommitSig + * @static + * @param {tendermint.types.ICommitSig=} [properties] Properties to set + * @returns {tendermint.types.CommitSig} CommitSig instance + */ + CommitSig.create = function create(properties) { + return new CommitSig(properties); + }; + + /** + * Encodes the specified CommitSig message. Does not implicitly {@link tendermint.types.CommitSig.verify|verify} messages. + * @function encode + * @memberof tendermint.types.CommitSig + * @static + * @param {tendermint.types.ICommitSig} message CommitSig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommitSig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.blockIdFlag != null && Object.hasOwnProperty.call(message, "blockIdFlag")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.blockIdFlag); + if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.validatorAddress); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.signature); + return writer; + }; + + /** + * Encodes the specified CommitSig message, length delimited. Does not implicitly {@link tendermint.types.CommitSig.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.CommitSig + * @static + * @param {tendermint.types.ICommitSig} message CommitSig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommitSig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CommitSig message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.CommitSig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.CommitSig} CommitSig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommitSig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.CommitSig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockIdFlag = reader.int32(); + break; + case 2: + message.validatorAddress = reader.bytes(); + break; + case 3: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CommitSig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.CommitSig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.CommitSig} CommitSig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommitSig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CommitSig message. + * @function verify + * @memberof tendermint.types.CommitSig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CommitSig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.blockIdFlag != null && message.hasOwnProperty("blockIdFlag")) + switch (message.blockIdFlag) { + default: + return "blockIdFlag: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) + if (!(message.validatorAddress && typeof message.validatorAddress.length === "number" || $util.isString(message.validatorAddress))) + return "validatorAddress: buffer expected"; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.signature != null && message.hasOwnProperty("signature")) + if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) + return "signature: buffer expected"; + return null; + }; + + /** + * Creates a CommitSig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.CommitSig + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.CommitSig} CommitSig + */ + CommitSig.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.CommitSig) + return object; + var message = new $root.tendermint.types.CommitSig(); + switch (object.blockIdFlag) { + case "BLOCK_ID_FLAG_UNKNOWN": + case 0: + message.blockIdFlag = 0; + break; + case "BLOCK_ID_FLAG_ABSENT": + case 1: + message.blockIdFlag = 1; + break; + case "BLOCK_ID_FLAG_COMMIT": + case 2: + message.blockIdFlag = 2; + break; + case "BLOCK_ID_FLAG_NIL": + case 3: + message.blockIdFlag = 3; + break; + } + if (object.validatorAddress != null) + if (typeof object.validatorAddress === "string") + $util.base64.decode(object.validatorAddress, message.validatorAddress = $util.newBuffer($util.base64.length(object.validatorAddress)), 0); + else if (object.validatorAddress.length) + message.validatorAddress = object.validatorAddress; + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.CommitSig.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.signature != null) + if (typeof object.signature === "string") + $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); + else if (object.signature.length) + message.signature = object.signature; + return message; + }; + + /** + * Creates a plain object from a CommitSig message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.CommitSig + * @static + * @param {tendermint.types.CommitSig} message CommitSig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CommitSig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.blockIdFlag = options.enums === String ? "BLOCK_ID_FLAG_UNKNOWN" : 0; + if (options.bytes === String) + object.validatorAddress = ""; + else { + object.validatorAddress = []; + if (options.bytes !== Array) + object.validatorAddress = $util.newBuffer(object.validatorAddress); + } + object.timestamp = null; + if (options.bytes === String) + object.signature = ""; + else { + object.signature = []; + if (options.bytes !== Array) + object.signature = $util.newBuffer(object.signature); + } + } + if (message.blockIdFlag != null && message.hasOwnProperty("blockIdFlag")) + object.blockIdFlag = options.enums === String ? $root.tendermint.types.BlockIDFlag[message.blockIdFlag] : message.blockIdFlag; + if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) + object.validatorAddress = options.bytes === String ? $util.base64.encode(message.validatorAddress, 0, message.validatorAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorAddress) : message.validatorAddress; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.signature != null && message.hasOwnProperty("signature")) + object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; + return object; + }; + + /** + * Converts this CommitSig to JSON. + * @function toJSON + * @memberof tendermint.types.CommitSig + * @instance + * @returns {Object.} JSON object + */ + CommitSig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CommitSig; + })(); + + types.Proposal = (function() { + + /** + * Properties of a Proposal. + * @memberof tendermint.types + * @interface IProposal + * @property {tendermint.types.SignedMsgType|null} [type] Proposal type + * @property {number|Long|null} [height] Proposal height + * @property {number|null} [round] Proposal round + * @property {number|null} [polRound] Proposal polRound + * @property {tendermint.types.IBlockID|null} [blockId] Proposal blockId + * @property {google.protobuf.ITimestamp|null} [timestamp] Proposal timestamp + * @property {Uint8Array|null} [signature] Proposal signature + */ + + /** + * Constructs a new Proposal. + * @memberof tendermint.types + * @classdesc Represents a Proposal. + * @implements IProposal + * @constructor + * @param {tendermint.types.IProposal=} [properties] Properties to set + */ + function Proposal(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Proposal type. + * @member {tendermint.types.SignedMsgType} type + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.type = 0; + + /** + * Proposal height. + * @member {number|Long} height + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Proposal round. + * @member {number} round + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.round = 0; + + /** + * Proposal polRound. + * @member {number} polRound + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.polRound = 0; + + /** + * Proposal blockId. + * @member {tendermint.types.IBlockID|null|undefined} blockId + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.blockId = null; + + /** + * Proposal timestamp. + * @member {google.protobuf.ITimestamp|null|undefined} timestamp + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.timestamp = null; + + /** + * Proposal signature. + * @member {Uint8Array} signature + * @memberof tendermint.types.Proposal + * @instance + */ + Proposal.prototype.signature = $util.newBuffer([]); + + /** + * Creates a new Proposal instance using the specified properties. + * @function create + * @memberof tendermint.types.Proposal + * @static + * @param {tendermint.types.IProposal=} [properties] Properties to set + * @returns {tendermint.types.Proposal} Proposal instance + */ + Proposal.create = function create(properties) { + return new Proposal(properties); + }; + + /** + * Encodes the specified Proposal message. Does not implicitly {@link tendermint.types.Proposal.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Proposal + * @static + * @param {tendermint.types.IProposal} message Proposal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Proposal.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.height != null && Object.hasOwnProperty.call(message, "height")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.height); + if (message.round != null && Object.hasOwnProperty.call(message, "round")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.round); + if (message.polRound != null && Object.hasOwnProperty.call(message, "polRound")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.polRound); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.signature); + return writer; + }; + + /** + * Encodes the specified Proposal message, length delimited. Does not implicitly {@link tendermint.types.Proposal.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Proposal + * @static + * @param {tendermint.types.IProposal} message Proposal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Proposal.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Proposal message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Proposal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Proposal} Proposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Proposal.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Proposal(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.height = reader.int64(); + break; + case 3: + message.round = reader.int32(); + break; + case 4: + message.polRound = reader.int32(); + break; + case 5: + message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 6: + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 7: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Proposal message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Proposal + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Proposal} Proposal + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Proposal.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Proposal message. + * @function verify + * @memberof tendermint.types.Proposal + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Proposal.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 32: + break; + } + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) + return "height: integer|Long expected"; + if (message.round != null && message.hasOwnProperty("round")) + if (!$util.isInteger(message.round)) + return "round: integer expected"; + if (message.polRound != null && message.hasOwnProperty("polRound")) + if (!$util.isInteger(message.polRound)) + return "polRound: integer expected"; + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.BlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) { + var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + if (error) + return "timestamp." + error; + } + if (message.signature != null && message.hasOwnProperty("signature")) + if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) + return "signature: buffer expected"; + return null; + }; + + /** + * Creates a Proposal message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Proposal + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Proposal} Proposal + */ + Proposal.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Proposal) + return object; + var message = new $root.tendermint.types.Proposal(); + switch (object.type) { + case "SIGNED_MSG_TYPE_UNKNOWN": + case 0: + message.type = 0; + break; + case "SIGNED_MSG_TYPE_PREVOTE": + case 1: + message.type = 1; + break; + case "SIGNED_MSG_TYPE_PRECOMMIT": + case 2: + message.type = 2; + break; + case "SIGNED_MSG_TYPE_PROPOSAL": + case 32: + message.type = 32; + break; + } + if (object.height != null) + if ($util.Long) + (message.height = $util.Long.fromValue(object.height)).unsigned = false; + else if (typeof object.height === "string") + message.height = parseInt(object.height, 10); + else if (typeof object.height === "number") + message.height = object.height; + else if (typeof object.height === "object") + message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); + if (object.round != null) + message.round = object.round | 0; + if (object.polRound != null) + message.polRound = object.polRound | 0; + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.types.Proposal.blockId: object expected"); + message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); + } + if (object.timestamp != null) { + if (typeof object.timestamp !== "object") + throw TypeError(".tendermint.types.Proposal.timestamp: object expected"); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + } + if (object.signature != null) + if (typeof object.signature === "string") + $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); + else if (object.signature.length) + message.signature = object.signature; + return message; + }; + + /** + * Creates a plain object from a Proposal message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Proposal + * @static + * @param {tendermint.types.Proposal} message Proposal + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Proposal.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.height = options.longs === String ? "0" : 0; + object.round = 0; + object.polRound = 0; + object.blockId = null; + object.timestamp = null; + if (options.bytes === String) + object.signature = ""; + else { + object.signature = []; + if (options.bytes !== Array) + object.signature = $util.newBuffer(object.signature); + } + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; + if (message.height != null && message.hasOwnProperty("height")) + if (typeof message.height === "number") + object.height = options.longs === String ? String(message.height) : message.height; + else + object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; + if (message.round != null && message.hasOwnProperty("round")) + object.round = message.round; + if (message.polRound != null && message.hasOwnProperty("polRound")) + object.polRound = message.polRound; + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); + if (message.signature != null && message.hasOwnProperty("signature")) + object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; + return object; + }; + + /** + * Converts this Proposal to JSON. + * @function toJSON + * @memberof tendermint.types.Proposal + * @instance + * @returns {Object.} JSON object + */ + Proposal.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Proposal; + })(); + + types.SignedHeader = (function() { + + /** + * Properties of a SignedHeader. + * @memberof tendermint.types + * @interface ISignedHeader + * @property {tendermint.types.IHeader|null} [header] SignedHeader header + * @property {tendermint.types.ICommit|null} [commit] SignedHeader commit + */ + + /** + * Constructs a new SignedHeader. + * @memberof tendermint.types + * @classdesc Represents a SignedHeader. + * @implements ISignedHeader + * @constructor + * @param {tendermint.types.ISignedHeader=} [properties] Properties to set + */ + function SignedHeader(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SignedHeader header. + * @member {tendermint.types.IHeader|null|undefined} header + * @memberof tendermint.types.SignedHeader + * @instance + */ + SignedHeader.prototype.header = null; + + /** + * SignedHeader commit. + * @member {tendermint.types.ICommit|null|undefined} commit + * @memberof tendermint.types.SignedHeader + * @instance + */ + SignedHeader.prototype.commit = null; + + /** + * Creates a new SignedHeader instance using the specified properties. + * @function create + * @memberof tendermint.types.SignedHeader + * @static + * @param {tendermint.types.ISignedHeader=} [properties] Properties to set + * @returns {tendermint.types.SignedHeader} SignedHeader instance + */ + SignedHeader.create = function create(properties) { + return new SignedHeader(properties); + }; + + /** + * Encodes the specified SignedHeader message. Does not implicitly {@link tendermint.types.SignedHeader.verify|verify} messages. + * @function encode + * @memberof tendermint.types.SignedHeader + * @static + * @param {tendermint.types.ISignedHeader} message SignedHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedHeader.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.header != null && Object.hasOwnProperty.call(message, "header")) + $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.commit != null && Object.hasOwnProperty.call(message, "commit")) + $root.tendermint.types.Commit.encode(message.commit, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SignedHeader message, length delimited. Does not implicitly {@link tendermint.types.SignedHeader.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.SignedHeader + * @static + * @param {tendermint.types.ISignedHeader} message SignedHeader message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SignedHeader.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SignedHeader message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.SignedHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.SignedHeader} SignedHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedHeader.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.SignedHeader(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); + break; + case 2: + message.commit = $root.tendermint.types.Commit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SignedHeader message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.SignedHeader + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.SignedHeader} SignedHeader + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SignedHeader.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SignedHeader message. + * @function verify + * @memberof tendermint.types.SignedHeader + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SignedHeader.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.header != null && message.hasOwnProperty("header")) { + var error = $root.tendermint.types.Header.verify(message.header); + if (error) + return "header." + error; + } + if (message.commit != null && message.hasOwnProperty("commit")) { + var error = $root.tendermint.types.Commit.verify(message.commit); + if (error) + return "commit." + error; + } + return null; + }; + + /** + * Creates a SignedHeader message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.SignedHeader + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.SignedHeader} SignedHeader + */ + SignedHeader.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.SignedHeader) + return object; + var message = new $root.tendermint.types.SignedHeader(); + if (object.header != null) { + if (typeof object.header !== "object") + throw TypeError(".tendermint.types.SignedHeader.header: object expected"); + message.header = $root.tendermint.types.Header.fromObject(object.header); + } + if (object.commit != null) { + if (typeof object.commit !== "object") + throw TypeError(".tendermint.types.SignedHeader.commit: object expected"); + message.commit = $root.tendermint.types.Commit.fromObject(object.commit); + } + return message; + }; + + /** + * Creates a plain object from a SignedHeader message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.SignedHeader + * @static + * @param {tendermint.types.SignedHeader} message SignedHeader + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SignedHeader.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.header = null; + object.commit = null; + } + if (message.header != null && message.hasOwnProperty("header")) + object.header = $root.tendermint.types.Header.toObject(message.header, options); + if (message.commit != null && message.hasOwnProperty("commit")) + object.commit = $root.tendermint.types.Commit.toObject(message.commit, options); + return object; + }; + + /** + * Converts this SignedHeader to JSON. + * @function toJSON + * @memberof tendermint.types.SignedHeader + * @instance + * @returns {Object.} JSON object + */ + SignedHeader.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SignedHeader; + })(); + + types.LightBlock = (function() { + + /** + * Properties of a LightBlock. + * @memberof tendermint.types + * @interface ILightBlock + * @property {tendermint.types.ISignedHeader|null} [signedHeader] LightBlock signedHeader + * @property {tendermint.types.IValidatorSet|null} [validatorSet] LightBlock validatorSet + */ + + /** + * Constructs a new LightBlock. + * @memberof tendermint.types + * @classdesc Represents a LightBlock. + * @implements ILightBlock + * @constructor + * @param {tendermint.types.ILightBlock=} [properties] Properties to set + */ + function LightBlock(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LightBlock signedHeader. + * @member {tendermint.types.ISignedHeader|null|undefined} signedHeader + * @memberof tendermint.types.LightBlock + * @instance + */ + LightBlock.prototype.signedHeader = null; + + /** + * LightBlock validatorSet. + * @member {tendermint.types.IValidatorSet|null|undefined} validatorSet + * @memberof tendermint.types.LightBlock + * @instance + */ + LightBlock.prototype.validatorSet = null; + + /** + * Creates a new LightBlock instance using the specified properties. + * @function create + * @memberof tendermint.types.LightBlock + * @static + * @param {tendermint.types.ILightBlock=} [properties] Properties to set + * @returns {tendermint.types.LightBlock} LightBlock instance + */ + LightBlock.create = function create(properties) { + return new LightBlock(properties); + }; + + /** + * Encodes the specified LightBlock message. Does not implicitly {@link tendermint.types.LightBlock.verify|verify} messages. + * @function encode + * @memberof tendermint.types.LightBlock + * @static + * @param {tendermint.types.ILightBlock} message LightBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LightBlock.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.signedHeader != null && Object.hasOwnProperty.call(message, "signedHeader")) + $root.tendermint.types.SignedHeader.encode(message.signedHeader, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.validatorSet != null && Object.hasOwnProperty.call(message, "validatorSet")) + $root.tendermint.types.ValidatorSet.encode(message.validatorSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LightBlock message, length delimited. Does not implicitly {@link tendermint.types.LightBlock.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.LightBlock + * @static + * @param {tendermint.types.ILightBlock} message LightBlock message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LightBlock.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LightBlock message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.LightBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.LightBlock} LightBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LightBlock.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.LightBlock(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signedHeader = $root.tendermint.types.SignedHeader.decode(reader, reader.uint32()); + break; + case 2: + message.validatorSet = $root.tendermint.types.ValidatorSet.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LightBlock message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.LightBlock + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.LightBlock} LightBlock + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LightBlock.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LightBlock message. + * @function verify + * @memberof tendermint.types.LightBlock + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LightBlock.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.signedHeader != null && message.hasOwnProperty("signedHeader")) { + var error = $root.tendermint.types.SignedHeader.verify(message.signedHeader); + if (error) + return "signedHeader." + error; + } + if (message.validatorSet != null && message.hasOwnProperty("validatorSet")) { + var error = $root.tendermint.types.ValidatorSet.verify(message.validatorSet); + if (error) + return "validatorSet." + error; + } + return null; + }; + + /** + * Creates a LightBlock message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.LightBlock + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.LightBlock} LightBlock + */ + LightBlock.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.LightBlock) + return object; + var message = new $root.tendermint.types.LightBlock(); + if (object.signedHeader != null) { + if (typeof object.signedHeader !== "object") + throw TypeError(".tendermint.types.LightBlock.signedHeader: object expected"); + message.signedHeader = $root.tendermint.types.SignedHeader.fromObject(object.signedHeader); + } + if (object.validatorSet != null) { + if (typeof object.validatorSet !== "object") + throw TypeError(".tendermint.types.LightBlock.validatorSet: object expected"); + message.validatorSet = $root.tendermint.types.ValidatorSet.fromObject(object.validatorSet); + } + return message; + }; + + /** + * Creates a plain object from a LightBlock message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.LightBlock + * @static + * @param {tendermint.types.LightBlock} message LightBlock + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LightBlock.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.signedHeader = null; + object.validatorSet = null; + } + if (message.signedHeader != null && message.hasOwnProperty("signedHeader")) + object.signedHeader = $root.tendermint.types.SignedHeader.toObject(message.signedHeader, options); + if (message.validatorSet != null && message.hasOwnProperty("validatorSet")) + object.validatorSet = $root.tendermint.types.ValidatorSet.toObject(message.validatorSet, options); + return object; + }; + + /** + * Converts this LightBlock to JSON. + * @function toJSON + * @memberof tendermint.types.LightBlock + * @instance + * @returns {Object.} JSON object + */ + LightBlock.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LightBlock; + })(); + + types.BlockMeta = (function() { + + /** + * Properties of a BlockMeta. + * @memberof tendermint.types + * @interface IBlockMeta + * @property {tendermint.types.IBlockID|null} [blockId] BlockMeta blockId + * @property {number|Long|null} [blockSize] BlockMeta blockSize + * @property {tendermint.types.IHeader|null} [header] BlockMeta header + * @property {number|Long|null} [numTxs] BlockMeta numTxs + */ + + /** + * Constructs a new BlockMeta. + * @memberof tendermint.types + * @classdesc Represents a BlockMeta. + * @implements IBlockMeta + * @constructor + * @param {tendermint.types.IBlockMeta=} [properties] Properties to set + */ + function BlockMeta(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BlockMeta blockId. + * @member {tendermint.types.IBlockID|null|undefined} blockId + * @memberof tendermint.types.BlockMeta + * @instance + */ + BlockMeta.prototype.blockId = null; + + /** + * BlockMeta blockSize. + * @member {number|Long} blockSize + * @memberof tendermint.types.BlockMeta + * @instance + */ + BlockMeta.prototype.blockSize = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * BlockMeta header. + * @member {tendermint.types.IHeader|null|undefined} header + * @memberof tendermint.types.BlockMeta + * @instance + */ + BlockMeta.prototype.header = null; + + /** + * BlockMeta numTxs. + * @member {number|Long} numTxs + * @memberof tendermint.types.BlockMeta + * @instance + */ + BlockMeta.prototype.numTxs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new BlockMeta instance using the specified properties. + * @function create + * @memberof tendermint.types.BlockMeta + * @static + * @param {tendermint.types.IBlockMeta=} [properties] Properties to set + * @returns {tendermint.types.BlockMeta} BlockMeta instance + */ + BlockMeta.create = function create(properties) { + return new BlockMeta(properties); + }; + + /** + * Encodes the specified BlockMeta message. Does not implicitly {@link tendermint.types.BlockMeta.verify|verify} messages. + * @function encode + * @memberof tendermint.types.BlockMeta + * @static + * @param {tendermint.types.IBlockMeta} message BlockMeta message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockMeta.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) + $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.blockSize != null && Object.hasOwnProperty.call(message, "blockSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.blockSize); + if (message.header != null && Object.hasOwnProperty.call(message, "header")) + $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.numTxs != null && Object.hasOwnProperty.call(message, "numTxs")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.numTxs); + return writer; + }; + + /** + * Encodes the specified BlockMeta message, length delimited. Does not implicitly {@link tendermint.types.BlockMeta.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.BlockMeta + * @static + * @param {tendermint.types.IBlockMeta} message BlockMeta message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockMeta.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlockMeta message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.BlockMeta + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.BlockMeta} BlockMeta + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockMeta.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.BlockMeta(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); + break; + case 2: + message.blockSize = reader.int64(); + break; + case 3: + message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); + break; + case 4: + message.numTxs = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlockMeta message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.BlockMeta + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.BlockMeta} BlockMeta + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockMeta.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlockMeta message. + * @function verify + * @memberof tendermint.types.BlockMeta + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockMeta.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.blockId != null && message.hasOwnProperty("blockId")) { + var error = $root.tendermint.types.BlockID.verify(message.blockId); + if (error) + return "blockId." + error; + } + if (message.blockSize != null && message.hasOwnProperty("blockSize")) + if (!$util.isInteger(message.blockSize) && !(message.blockSize && $util.isInteger(message.blockSize.low) && $util.isInteger(message.blockSize.high))) + return "blockSize: integer|Long expected"; + if (message.header != null && message.hasOwnProperty("header")) { + var error = $root.tendermint.types.Header.verify(message.header); + if (error) + return "header." + error; + } + if (message.numTxs != null && message.hasOwnProperty("numTxs")) + if (!$util.isInteger(message.numTxs) && !(message.numTxs && $util.isInteger(message.numTxs.low) && $util.isInteger(message.numTxs.high))) + return "numTxs: integer|Long expected"; + return null; + }; + + /** + * Creates a BlockMeta message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.BlockMeta + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.BlockMeta} BlockMeta + */ + BlockMeta.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.BlockMeta) + return object; + var message = new $root.tendermint.types.BlockMeta(); + if (object.blockId != null) { + if (typeof object.blockId !== "object") + throw TypeError(".tendermint.types.BlockMeta.blockId: object expected"); + message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); + } + if (object.blockSize != null) + if ($util.Long) + (message.blockSize = $util.Long.fromValue(object.blockSize)).unsigned = false; + else if (typeof object.blockSize === "string") + message.blockSize = parseInt(object.blockSize, 10); + else if (typeof object.blockSize === "number") + message.blockSize = object.blockSize; + else if (typeof object.blockSize === "object") + message.blockSize = new $util.LongBits(object.blockSize.low >>> 0, object.blockSize.high >>> 0).toNumber(); + if (object.header != null) { + if (typeof object.header !== "object") + throw TypeError(".tendermint.types.BlockMeta.header: object expected"); + message.header = $root.tendermint.types.Header.fromObject(object.header); + } + if (object.numTxs != null) + if ($util.Long) + (message.numTxs = $util.Long.fromValue(object.numTxs)).unsigned = false; + else if (typeof object.numTxs === "string") + message.numTxs = parseInt(object.numTxs, 10); + else if (typeof object.numTxs === "number") + message.numTxs = object.numTxs; + else if (typeof object.numTxs === "object") + message.numTxs = new $util.LongBits(object.numTxs.low >>> 0, object.numTxs.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a BlockMeta message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.BlockMeta + * @static + * @param {tendermint.types.BlockMeta} message BlockMeta + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockMeta.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.blockId = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.blockSize = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.blockSize = options.longs === String ? "0" : 0; + object.header = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.numTxs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.numTxs = options.longs === String ? "0" : 0; + } + if (message.blockId != null && message.hasOwnProperty("blockId")) + object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); + if (message.blockSize != null && message.hasOwnProperty("blockSize")) + if (typeof message.blockSize === "number") + object.blockSize = options.longs === String ? String(message.blockSize) : message.blockSize; + else + object.blockSize = options.longs === String ? $util.Long.prototype.toString.call(message.blockSize) : options.longs === Number ? new $util.LongBits(message.blockSize.low >>> 0, message.blockSize.high >>> 0).toNumber() : message.blockSize; + if (message.header != null && message.hasOwnProperty("header")) + object.header = $root.tendermint.types.Header.toObject(message.header, options); + if (message.numTxs != null && message.hasOwnProperty("numTxs")) + if (typeof message.numTxs === "number") + object.numTxs = options.longs === String ? String(message.numTxs) : message.numTxs; + else + object.numTxs = options.longs === String ? $util.Long.prototype.toString.call(message.numTxs) : options.longs === Number ? new $util.LongBits(message.numTxs.low >>> 0, message.numTxs.high >>> 0).toNumber() : message.numTxs; + return object; + }; + + /** + * Converts this BlockMeta to JSON. + * @function toJSON + * @memberof tendermint.types.BlockMeta + * @instance + * @returns {Object.} JSON object + */ + BlockMeta.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BlockMeta; + })(); + + types.TxProof = (function() { + + /** + * Properties of a TxProof. + * @memberof tendermint.types + * @interface ITxProof + * @property {Uint8Array|null} [rootHash] TxProof rootHash + * @property {Uint8Array|null} [data] TxProof data + * @property {tendermint.crypto.IProof|null} [proof] TxProof proof + */ + + /** + * Constructs a new TxProof. + * @memberof tendermint.types + * @classdesc Represents a TxProof. + * @implements ITxProof + * @constructor + * @param {tendermint.types.ITxProof=} [properties] Properties to set + */ + function TxProof(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TxProof rootHash. + * @member {Uint8Array} rootHash + * @memberof tendermint.types.TxProof + * @instance + */ + TxProof.prototype.rootHash = $util.newBuffer([]); + + /** + * TxProof data. + * @member {Uint8Array} data + * @memberof tendermint.types.TxProof + * @instance + */ + TxProof.prototype.data = $util.newBuffer([]); + + /** + * TxProof proof. + * @member {tendermint.crypto.IProof|null|undefined} proof + * @memberof tendermint.types.TxProof + * @instance + */ + TxProof.prototype.proof = null; + + /** + * Creates a new TxProof instance using the specified properties. + * @function create + * @memberof tendermint.types.TxProof + * @static + * @param {tendermint.types.ITxProof=} [properties] Properties to set + * @returns {tendermint.types.TxProof} TxProof instance + */ + TxProof.create = function create(properties) { + return new TxProof(properties); + }; + + /** + * Encodes the specified TxProof message. Does not implicitly {@link tendermint.types.TxProof.verify|verify} messages. + * @function encode + * @memberof tendermint.types.TxProof + * @static + * @param {tendermint.types.ITxProof} message TxProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TxProof.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rootHash != null && Object.hasOwnProperty.call(message, "rootHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.rootHash); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); + if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) + $root.tendermint.crypto.Proof.encode(message.proof, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TxProof message, length delimited. Does not implicitly {@link tendermint.types.TxProof.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.TxProof + * @static + * @param {tendermint.types.ITxProof} message TxProof message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TxProof.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TxProof message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.TxProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.TxProof} TxProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TxProof.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.TxProof(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rootHash = reader.bytes(); + break; + case 2: + message.data = reader.bytes(); + break; + case 3: + message.proof = $root.tendermint.crypto.Proof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TxProof message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.TxProof + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.TxProof} TxProof + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TxProof.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TxProof message. + * @function verify + * @memberof tendermint.types.TxProof + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TxProof.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rootHash != null && message.hasOwnProperty("rootHash")) + if (!(message.rootHash && typeof message.rootHash.length === "number" || $util.isString(message.rootHash))) + return "rootHash: buffer expected"; + if (message.data != null && message.hasOwnProperty("data")) + if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) + return "data: buffer expected"; + if (message.proof != null && message.hasOwnProperty("proof")) { + var error = $root.tendermint.crypto.Proof.verify(message.proof); + if (error) + return "proof." + error; + } + return null; + }; + + /** + * Creates a TxProof message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.TxProof + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.TxProof} TxProof + */ + TxProof.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.TxProof) + return object; + var message = new $root.tendermint.types.TxProof(); + if (object.rootHash != null) + if (typeof object.rootHash === "string") + $util.base64.decode(object.rootHash, message.rootHash = $util.newBuffer($util.base64.length(object.rootHash)), 0); + else if (object.rootHash.length) + message.rootHash = object.rootHash; + if (object.data != null) + if (typeof object.data === "string") + $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); + else if (object.data.length) + message.data = object.data; + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".tendermint.types.TxProof.proof: object expected"); + message.proof = $root.tendermint.crypto.Proof.fromObject(object.proof); + } + return message; + }; + + /** + * Creates a plain object from a TxProof message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.TxProof + * @static + * @param {tendermint.types.TxProof} message TxProof + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TxProof.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.rootHash = ""; + else { + object.rootHash = []; + if (options.bytes !== Array) + object.rootHash = $util.newBuffer(object.rootHash); + } + if (options.bytes === String) + object.data = ""; + else { + object.data = []; + if (options.bytes !== Array) + object.data = $util.newBuffer(object.data); + } + object.proof = null; + } + if (message.rootHash != null && message.hasOwnProperty("rootHash")) + object.rootHash = options.bytes === String ? $util.base64.encode(message.rootHash, 0, message.rootHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.rootHash) : message.rootHash; + if (message.data != null && message.hasOwnProperty("data")) + object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.proof != null && message.hasOwnProperty("proof")) + object.proof = $root.tendermint.crypto.Proof.toObject(message.proof, options); + return object; + }; + + /** + * Converts this TxProof to JSON. + * @function toJSON + * @memberof tendermint.types.TxProof + * @instance + * @returns {Object.} JSON object + */ + TxProof.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TxProof; + })(); + + types.ValidatorSet = (function() { + + /** + * Properties of a ValidatorSet. + * @memberof tendermint.types + * @interface IValidatorSet + * @property {Array.|null} [validators] ValidatorSet validators + * @property {tendermint.types.IValidator|null} [proposer] ValidatorSet proposer + * @property {number|Long|null} [totalVotingPower] ValidatorSet totalVotingPower + */ + + /** + * Constructs a new ValidatorSet. + * @memberof tendermint.types + * @classdesc Represents a ValidatorSet. + * @implements IValidatorSet + * @constructor + * @param {tendermint.types.IValidatorSet=} [properties] Properties to set + */ + function ValidatorSet(properties) { + this.validators = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ValidatorSet validators. + * @member {Array.} validators + * @memberof tendermint.types.ValidatorSet + * @instance + */ + ValidatorSet.prototype.validators = $util.emptyArray; + + /** + * ValidatorSet proposer. + * @member {tendermint.types.IValidator|null|undefined} proposer + * @memberof tendermint.types.ValidatorSet + * @instance + */ + ValidatorSet.prototype.proposer = null; + + /** + * ValidatorSet totalVotingPower. + * @member {number|Long} totalVotingPower + * @memberof tendermint.types.ValidatorSet + * @instance + */ + ValidatorSet.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new ValidatorSet instance using the specified properties. + * @function create + * @memberof tendermint.types.ValidatorSet + * @static + * @param {tendermint.types.IValidatorSet=} [properties] Properties to set + * @returns {tendermint.types.ValidatorSet} ValidatorSet instance + */ + ValidatorSet.create = function create(properties) { + return new ValidatorSet(properties); + }; + + /** + * Encodes the specified ValidatorSet message. Does not implicitly {@link tendermint.types.ValidatorSet.verify|verify} messages. + * @function encode + * @memberof tendermint.types.ValidatorSet + * @static + * @param {tendermint.types.IValidatorSet} message ValidatorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.validators != null && message.validators.length) + for (var i = 0; i < message.validators.length; ++i) + $root.tendermint.types.Validator.encode(message.validators[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.proposer != null && Object.hasOwnProperty.call(message, "proposer")) + $root.tendermint.types.Validator.encode(message.proposer, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.totalVotingPower); + return writer; + }; + + /** + * Encodes the specified ValidatorSet message, length delimited. Does not implicitly {@link tendermint.types.ValidatorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.ValidatorSet + * @static + * @param {tendermint.types.IValidatorSet} message ValidatorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ValidatorSet message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.ValidatorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.ValidatorSet} ValidatorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.ValidatorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.validators && message.validators.length)) + message.validators = []; + message.validators.push($root.tendermint.types.Validator.decode(reader, reader.uint32())); + break; + case 2: + message.proposer = $root.tendermint.types.Validator.decode(reader, reader.uint32()); + break; + case 3: + message.totalVotingPower = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ValidatorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.ValidatorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.ValidatorSet} ValidatorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ValidatorSet message. + * @function verify + * @memberof tendermint.types.ValidatorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValidatorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.validators != null && message.hasOwnProperty("validators")) { + if (!Array.isArray(message.validators)) + return "validators: array expected"; + for (var i = 0; i < message.validators.length; ++i) { + var error = $root.tendermint.types.Validator.verify(message.validators[i]); + if (error) + return "validators." + error; + } + } + if (message.proposer != null && message.hasOwnProperty("proposer")) { + var error = $root.tendermint.types.Validator.verify(message.proposer); + if (error) + return "proposer." + error; + } + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) + return "totalVotingPower: integer|Long expected"; + return null; + }; + + /** + * Creates a ValidatorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.ValidatorSet + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.ValidatorSet} ValidatorSet + */ + ValidatorSet.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.ValidatorSet) + return object; + var message = new $root.tendermint.types.ValidatorSet(); + if (object.validators) { + if (!Array.isArray(object.validators)) + throw TypeError(".tendermint.types.ValidatorSet.validators: array expected"); + message.validators = []; + for (var i = 0; i < object.validators.length; ++i) { + if (typeof object.validators[i] !== "object") + throw TypeError(".tendermint.types.ValidatorSet.validators: object expected"); + message.validators[i] = $root.tendermint.types.Validator.fromObject(object.validators[i]); + } + } + if (object.proposer != null) { + if (typeof object.proposer !== "object") + throw TypeError(".tendermint.types.ValidatorSet.proposer: object expected"); + message.proposer = $root.tendermint.types.Validator.fromObject(object.proposer); + } + if (object.totalVotingPower != null) + if ($util.Long) + (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; + else if (typeof object.totalVotingPower === "string") + message.totalVotingPower = parseInt(object.totalVotingPower, 10); + else if (typeof object.totalVotingPower === "number") + message.totalVotingPower = object.totalVotingPower; + else if (typeof object.totalVotingPower === "object") + message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a ValidatorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.ValidatorSet + * @static + * @param {tendermint.types.ValidatorSet} message ValidatorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValidatorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.validators = []; + if (options.defaults) { + object.proposer = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalVotingPower = options.longs === String ? "0" : 0; + } + if (message.validators && message.validators.length) { + object.validators = []; + for (var j = 0; j < message.validators.length; ++j) + object.validators[j] = $root.tendermint.types.Validator.toObject(message.validators[j], options); + } + if (message.proposer != null && message.hasOwnProperty("proposer")) + object.proposer = $root.tendermint.types.Validator.toObject(message.proposer, options); + if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) + if (typeof message.totalVotingPower === "number") + object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; + else + object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; + return object; + }; + + /** + * Converts this ValidatorSet to JSON. + * @function toJSON + * @memberof tendermint.types.ValidatorSet + * @instance + * @returns {Object.} JSON object + */ + ValidatorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ValidatorSet; + })(); + + types.Validator = (function() { + + /** + * Properties of a Validator. + * @memberof tendermint.types + * @interface IValidator + * @property {Uint8Array|null} [address] Validator address + * @property {tendermint.crypto.IPublicKey|null} [pubKey] Validator pubKey + * @property {number|Long|null} [votingPower] Validator votingPower + * @property {number|Long|null} [proposerPriority] Validator proposerPriority + */ + + /** + * Constructs a new Validator. + * @memberof tendermint.types + * @classdesc Represents a Validator. + * @implements IValidator + * @constructor + * @param {tendermint.types.IValidator=} [properties] Properties to set + */ + function Validator(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Validator address. + * @member {Uint8Array} address + * @memberof tendermint.types.Validator + * @instance + */ + Validator.prototype.address = $util.newBuffer([]); + + /** + * Validator pubKey. + * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey + * @memberof tendermint.types.Validator + * @instance + */ + Validator.prototype.pubKey = null; + + /** + * Validator votingPower. + * @member {number|Long} votingPower + * @memberof tendermint.types.Validator + * @instance + */ + Validator.prototype.votingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Validator proposerPriority. + * @member {number|Long} proposerPriority + * @memberof tendermint.types.Validator + * @instance + */ + Validator.prototype.proposerPriority = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new Validator instance using the specified properties. + * @function create + * @memberof tendermint.types.Validator + * @static + * @param {tendermint.types.IValidator=} [properties] Properties to set + * @returns {tendermint.types.Validator} Validator instance + */ + Validator.create = function create(properties) { + return new Validator(properties); + }; + + /** + * Encodes the specified Validator message. Does not implicitly {@link tendermint.types.Validator.verify|verify} messages. + * @function encode + * @memberof tendermint.types.Validator + * @static + * @param {tendermint.types.IValidator} message Validator message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Validator.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.address != null && Object.hasOwnProperty.call(message, "address")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.address); + if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) + $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.votingPower != null && Object.hasOwnProperty.call(message, "votingPower")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.votingPower); + if (message.proposerPriority != null && Object.hasOwnProperty.call(message, "proposerPriority")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.proposerPriority); + return writer; + }; + + /** + * Encodes the specified Validator message, length delimited. Does not implicitly {@link tendermint.types.Validator.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.Validator + * @static + * @param {tendermint.types.IValidator} message Validator message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Validator.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Validator message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.Validator + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.Validator} Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Validator.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Validator(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.bytes(); + break; + case 2: + message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); + break; + case 3: + message.votingPower = reader.int64(); + break; + case 4: + message.proposerPriority = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Validator message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.Validator + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.Validator} Validator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Validator.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Validator message. + * @function verify + * @memberof tendermint.types.Validator + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Validator.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.address != null && message.hasOwnProperty("address")) + if (!(message.address && typeof message.address.length === "number" || $util.isString(message.address))) + return "address: buffer expected"; + if (message.pubKey != null && message.hasOwnProperty("pubKey")) { + var error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); + if (error) + return "pubKey." + error; + } + if (message.votingPower != null && message.hasOwnProperty("votingPower")) + if (!$util.isInteger(message.votingPower) && !(message.votingPower && $util.isInteger(message.votingPower.low) && $util.isInteger(message.votingPower.high))) + return "votingPower: integer|Long expected"; + if (message.proposerPriority != null && message.hasOwnProperty("proposerPriority")) + if (!$util.isInteger(message.proposerPriority) && !(message.proposerPriority && $util.isInteger(message.proposerPriority.low) && $util.isInteger(message.proposerPriority.high))) + return "proposerPriority: integer|Long expected"; + return null; + }; + + /** + * Creates a Validator message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.Validator + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.Validator} Validator + */ + Validator.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.Validator) + return object; + var message = new $root.tendermint.types.Validator(); + if (object.address != null) + if (typeof object.address === "string") + $util.base64.decode(object.address, message.address = $util.newBuffer($util.base64.length(object.address)), 0); + else if (object.address.length) + message.address = object.address; + if (object.pubKey != null) { + if (typeof object.pubKey !== "object") + throw TypeError(".tendermint.types.Validator.pubKey: object expected"); + message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); + } + if (object.votingPower != null) + if ($util.Long) + (message.votingPower = $util.Long.fromValue(object.votingPower)).unsigned = false; + else if (typeof object.votingPower === "string") + message.votingPower = parseInt(object.votingPower, 10); + else if (typeof object.votingPower === "number") + message.votingPower = object.votingPower; + else if (typeof object.votingPower === "object") + message.votingPower = new $util.LongBits(object.votingPower.low >>> 0, object.votingPower.high >>> 0).toNumber(); + if (object.proposerPriority != null) + if ($util.Long) + (message.proposerPriority = $util.Long.fromValue(object.proposerPriority)).unsigned = false; + else if (typeof object.proposerPriority === "string") + message.proposerPriority = parseInt(object.proposerPriority, 10); + else if (typeof object.proposerPriority === "number") + message.proposerPriority = object.proposerPriority; + else if (typeof object.proposerPriority === "object") + message.proposerPriority = new $util.LongBits(object.proposerPriority.low >>> 0, object.proposerPriority.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a Validator message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.Validator + * @static + * @param {tendermint.types.Validator} message Validator + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Validator.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.address = ""; + else { + object.address = []; + if (options.bytes !== Array) + object.address = $util.newBuffer(object.address); + } + object.pubKey = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.votingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.votingPower = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.proposerPriority = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.proposerPriority = options.longs === String ? "0" : 0; + } + if (message.address != null && message.hasOwnProperty("address")) + object.address = options.bytes === String ? $util.base64.encode(message.address, 0, message.address.length) : options.bytes === Array ? Array.prototype.slice.call(message.address) : message.address; + if (message.pubKey != null && message.hasOwnProperty("pubKey")) + object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); + if (message.votingPower != null && message.hasOwnProperty("votingPower")) + if (typeof message.votingPower === "number") + object.votingPower = options.longs === String ? String(message.votingPower) : message.votingPower; + else + object.votingPower = options.longs === String ? $util.Long.prototype.toString.call(message.votingPower) : options.longs === Number ? new $util.LongBits(message.votingPower.low >>> 0, message.votingPower.high >>> 0).toNumber() : message.votingPower; + if (message.proposerPriority != null && message.hasOwnProperty("proposerPriority")) + if (typeof message.proposerPriority === "number") + object.proposerPriority = options.longs === String ? String(message.proposerPriority) : message.proposerPriority; + else + object.proposerPriority = options.longs === String ? $util.Long.prototype.toString.call(message.proposerPriority) : options.longs === Number ? new $util.LongBits(message.proposerPriority.low >>> 0, message.proposerPriority.high >>> 0).toNumber() : message.proposerPriority; + return object; + }; + + /** + * Converts this Validator to JSON. + * @function toJSON + * @memberof tendermint.types.Validator + * @instance + * @returns {Object.} JSON object + */ + Validator.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Validator; + })(); + + types.SimpleValidator = (function() { + + /** + * Properties of a SimpleValidator. + * @memberof tendermint.types + * @interface ISimpleValidator + * @property {tendermint.crypto.IPublicKey|null} [pubKey] SimpleValidator pubKey + * @property {number|Long|null} [votingPower] SimpleValidator votingPower + */ + + /** + * Constructs a new SimpleValidator. + * @memberof tendermint.types + * @classdesc Represents a SimpleValidator. + * @implements ISimpleValidator + * @constructor + * @param {tendermint.types.ISimpleValidator=} [properties] Properties to set + */ + function SimpleValidator(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SimpleValidator pubKey. + * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey + * @memberof tendermint.types.SimpleValidator + * @instance + */ + SimpleValidator.prototype.pubKey = null; + + /** + * SimpleValidator votingPower. + * @member {number|Long} votingPower + * @memberof tendermint.types.SimpleValidator + * @instance + */ + SimpleValidator.prototype.votingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new SimpleValidator instance using the specified properties. + * @function create + * @memberof tendermint.types.SimpleValidator + * @static + * @param {tendermint.types.ISimpleValidator=} [properties] Properties to set + * @returns {tendermint.types.SimpleValidator} SimpleValidator instance + */ + SimpleValidator.create = function create(properties) { + return new SimpleValidator(properties); + }; + + /** + * Encodes the specified SimpleValidator message. Does not implicitly {@link tendermint.types.SimpleValidator.verify|verify} messages. + * @function encode + * @memberof tendermint.types.SimpleValidator + * @static + * @param {tendermint.types.ISimpleValidator} message SimpleValidator message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SimpleValidator.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) + $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.votingPower != null && Object.hasOwnProperty.call(message, "votingPower")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.votingPower); + return writer; + }; + + /** + * Encodes the specified SimpleValidator message, length delimited. Does not implicitly {@link tendermint.types.SimpleValidator.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.types.SimpleValidator + * @static + * @param {tendermint.types.ISimpleValidator} message SimpleValidator message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SimpleValidator.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SimpleValidator message from the specified reader or buffer. + * @function decode + * @memberof tendermint.types.SimpleValidator + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.types.SimpleValidator} SimpleValidator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SimpleValidator.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.SimpleValidator(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); + break; + case 2: + message.votingPower = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SimpleValidator message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.types.SimpleValidator + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.types.SimpleValidator} SimpleValidator + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SimpleValidator.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SimpleValidator message. + * @function verify + * @memberof tendermint.types.SimpleValidator + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SimpleValidator.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pubKey != null && message.hasOwnProperty("pubKey")) { + var error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); + if (error) + return "pubKey." + error; + } + if (message.votingPower != null && message.hasOwnProperty("votingPower")) + if (!$util.isInteger(message.votingPower) && !(message.votingPower && $util.isInteger(message.votingPower.low) && $util.isInteger(message.votingPower.high))) + return "votingPower: integer|Long expected"; + return null; + }; + + /** + * Creates a SimpleValidator message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.types.SimpleValidator + * @static + * @param {Object.} object Plain object + * @returns {tendermint.types.SimpleValidator} SimpleValidator + */ + SimpleValidator.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.types.SimpleValidator) + return object; + var message = new $root.tendermint.types.SimpleValidator(); + if (object.pubKey != null) { + if (typeof object.pubKey !== "object") + throw TypeError(".tendermint.types.SimpleValidator.pubKey: object expected"); + message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); + } + if (object.votingPower != null) + if ($util.Long) + (message.votingPower = $util.Long.fromValue(object.votingPower)).unsigned = false; + else if (typeof object.votingPower === "string") + message.votingPower = parseInt(object.votingPower, 10); + else if (typeof object.votingPower === "number") + message.votingPower = object.votingPower; + else if (typeof object.votingPower === "object") + message.votingPower = new $util.LongBits(object.votingPower.low >>> 0, object.votingPower.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a SimpleValidator message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.types.SimpleValidator + * @static + * @param {tendermint.types.SimpleValidator} message SimpleValidator + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SimpleValidator.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.pubKey = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.votingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.votingPower = options.longs === String ? "0" : 0; + } + if (message.pubKey != null && message.hasOwnProperty("pubKey")) + object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); + if (message.votingPower != null && message.hasOwnProperty("votingPower")) + if (typeof message.votingPower === "number") + object.votingPower = options.longs === String ? String(message.votingPower) : message.votingPower; + else + object.votingPower = options.longs === String ? $util.Long.prototype.toString.call(message.votingPower) : options.longs === Number ? new $util.LongBits(message.votingPower.low >>> 0, message.votingPower.high >>> 0).toNumber() : message.votingPower; + return object; + }; + + /** + * Converts this SimpleValidator to JSON. + * @function toJSON + * @memberof tendermint.types.SimpleValidator + * @instance + * @returns {Object.} JSON object + */ + SimpleValidator.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SimpleValidator; + })(); + + return types; + })(); + + tendermint.version = (function() { + + /** + * Namespace version. + * @memberof tendermint + * @namespace + */ + var version = {}; + + version.App = (function() { + + /** + * Properties of an App. + * @memberof tendermint.version + * @interface IApp + * @property {number|Long|null} [protocol] App protocol + * @property {string|null} [software] App software + */ + + /** + * Constructs a new App. + * @memberof tendermint.version + * @classdesc Represents an App. + * @implements IApp + * @constructor + * @param {tendermint.version.IApp=} [properties] Properties to set + */ + function App(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * App protocol. + * @member {number|Long} protocol + * @memberof tendermint.version.App + * @instance + */ + App.prototype.protocol = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * App software. + * @member {string} software + * @memberof tendermint.version.App + * @instance + */ + App.prototype.software = ""; + + /** + * Creates a new App instance using the specified properties. + * @function create + * @memberof tendermint.version.App + * @static + * @param {tendermint.version.IApp=} [properties] Properties to set + * @returns {tendermint.version.App} App instance + */ + App.create = function create(properties) { + return new App(properties); + }; + + /** + * Encodes the specified App message. Does not implicitly {@link tendermint.version.App.verify|verify} messages. + * @function encode + * @memberof tendermint.version.App + * @static + * @param {tendermint.version.IApp} message App message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + App.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.protocol); + if (message.software != null && Object.hasOwnProperty.call(message, "software")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.software); + return writer; + }; + + /** + * Encodes the specified App message, length delimited. Does not implicitly {@link tendermint.version.App.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.version.App + * @static + * @param {tendermint.version.IApp} message App message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + App.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an App message from the specified reader or buffer. + * @function decode + * @memberof tendermint.version.App + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.version.App} App + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + App.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.version.App(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.protocol = reader.uint64(); + break; + case 2: + message.software = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an App message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.version.App + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.version.App} App + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + App.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an App message. + * @function verify + * @memberof tendermint.version.App + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + App.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.protocol != null && message.hasOwnProperty("protocol")) + if (!$util.isInteger(message.protocol) && !(message.protocol && $util.isInteger(message.protocol.low) && $util.isInteger(message.protocol.high))) + return "protocol: integer|Long expected"; + if (message.software != null && message.hasOwnProperty("software")) + if (!$util.isString(message.software)) + return "software: string expected"; + return null; + }; + + /** + * Creates an App message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.version.App + * @static + * @param {Object.} object Plain object + * @returns {tendermint.version.App} App + */ + App.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.version.App) + return object; + var message = new $root.tendermint.version.App(); + if (object.protocol != null) + if ($util.Long) + (message.protocol = $util.Long.fromValue(object.protocol)).unsigned = true; + else if (typeof object.protocol === "string") + message.protocol = parseInt(object.protocol, 10); + else if (typeof object.protocol === "number") + message.protocol = object.protocol; + else if (typeof object.protocol === "object") + message.protocol = new $util.LongBits(object.protocol.low >>> 0, object.protocol.high >>> 0).toNumber(true); + if (object.software != null) + message.software = String(object.software); + return message; + }; + + /** + * Creates a plain object from an App message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.version.App + * @static + * @param {tendermint.version.App} message App + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + App.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.protocol = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.protocol = options.longs === String ? "0" : 0; + object.software = ""; + } + if (message.protocol != null && message.hasOwnProperty("protocol")) + if (typeof message.protocol === "number") + object.protocol = options.longs === String ? String(message.protocol) : message.protocol; + else + object.protocol = options.longs === String ? $util.Long.prototype.toString.call(message.protocol) : options.longs === Number ? new $util.LongBits(message.protocol.low >>> 0, message.protocol.high >>> 0).toNumber(true) : message.protocol; + if (message.software != null && message.hasOwnProperty("software")) + object.software = message.software; + return object; + }; + + /** + * Converts this App to JSON. + * @function toJSON + * @memberof tendermint.version.App + * @instance + * @returns {Object.} JSON object + */ + App.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return App; + })(); + + version.Consensus = (function() { + + /** + * Properties of a Consensus. + * @memberof tendermint.version + * @interface IConsensus + * @property {number|Long|null} [block] Consensus block + * @property {number|Long|null} [app] Consensus app + */ + + /** + * Constructs a new Consensus. + * @memberof tendermint.version + * @classdesc Represents a Consensus. + * @implements IConsensus + * @constructor + * @param {tendermint.version.IConsensus=} [properties] Properties to set + */ + function Consensus(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Consensus block. + * @member {number|Long} block + * @memberof tendermint.version.Consensus + * @instance + */ + Consensus.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Consensus app. + * @member {number|Long} app + * @memberof tendermint.version.Consensus + * @instance + */ + Consensus.prototype.app = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Consensus instance using the specified properties. + * @function create + * @memberof tendermint.version.Consensus + * @static + * @param {tendermint.version.IConsensus=} [properties] Properties to set + * @returns {tendermint.version.Consensus} Consensus instance + */ + Consensus.create = function create(properties) { + return new Consensus(properties); + }; + + /** + * Encodes the specified Consensus message. Does not implicitly {@link tendermint.version.Consensus.verify|verify} messages. + * @function encode + * @memberof tendermint.version.Consensus + * @static + * @param {tendermint.version.IConsensus} message Consensus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Consensus.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.block); + if (message.app != null && Object.hasOwnProperty.call(message, "app")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.app); + return writer; + }; + + /** + * Encodes the specified Consensus message, length delimited. Does not implicitly {@link tendermint.version.Consensus.verify|verify} messages. + * @function encodeDelimited + * @memberof tendermint.version.Consensus + * @static + * @param {tendermint.version.IConsensus} message Consensus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Consensus.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Consensus message from the specified reader or buffer. + * @function decode + * @memberof tendermint.version.Consensus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {tendermint.version.Consensus} Consensus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Consensus.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.version.Consensus(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = reader.uint64(); + break; + case 2: + message.app = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Consensus message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof tendermint.version.Consensus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {tendermint.version.Consensus} Consensus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Consensus.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Consensus message. + * @function verify + * @memberof tendermint.version.Consensus + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Consensus.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.block != null && message.hasOwnProperty("block")) + if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high))) + return "block: integer|Long expected"; + if (message.app != null && message.hasOwnProperty("app")) + if (!$util.isInteger(message.app) && !(message.app && $util.isInteger(message.app.low) && $util.isInteger(message.app.high))) + return "app: integer|Long expected"; + return null; + }; + + /** + * Creates a Consensus message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof tendermint.version.Consensus + * @static + * @param {Object.} object Plain object + * @returns {tendermint.version.Consensus} Consensus + */ + Consensus.fromObject = function fromObject(object) { + if (object instanceof $root.tendermint.version.Consensus) + return object; + var message = new $root.tendermint.version.Consensus(); + if (object.block != null) + if ($util.Long) + (message.block = $util.Long.fromValue(object.block)).unsigned = true; + else if (typeof object.block === "string") + message.block = parseInt(object.block, 10); + else if (typeof object.block === "number") + message.block = object.block; + else if (typeof object.block === "object") + message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true); + if (object.app != null) + if ($util.Long) + (message.app = $util.Long.fromValue(object.app)).unsigned = true; + else if (typeof object.app === "string") + message.app = parseInt(object.app, 10); + else if (typeof object.app === "number") + message.app = object.app; + else if (typeof object.app === "object") + message.app = new $util.LongBits(object.app.low >>> 0, object.app.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a Consensus message. Also converts values to other types if specified. + * @function toObject + * @memberof tendermint.version.Consensus + * @static + * @param {tendermint.version.Consensus} message Consensus + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Consensus.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.block = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.app = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.app = options.longs === String ? "0" : 0; + } + if (message.block != null && message.hasOwnProperty("block")) + if (typeof message.block === "number") + object.block = options.longs === String ? String(message.block) : message.block; + else + object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block; + if (message.app != null && message.hasOwnProperty("app")) + if (typeof message.app === "number") + object.app = options.longs === String ? String(message.app) : message.app; + else + object.app = options.longs === String ? $util.Long.prototype.toString.call(message.app) : options.longs === Number ? new $util.LongBits(message.app.low >>> 0, message.app.high >>> 0).toNumber(true) : message.app; + return object; + }; + + /** + * Converts this Consensus to JSON. + * @function toJSON + * @memberof tendermint.version.Consensus + * @instance + * @returns {Object.} JSON object + */ + Consensus.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Consensus; + })(); + + return version; + })(); + + return tendermint; +})(); + +$root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.Duration = (function() { + + /** + * Properties of a Duration. + * @memberof google.protobuf + * @interface IDuration + * @property {number|Long|null} [seconds] Duration seconds + * @property {number|null} [nanos] Duration nanos + */ + + /** + * Constructs a new Duration. + * @memberof google.protobuf + * @classdesc Represents a Duration. + * @implements IDuration + * @constructor + * @param {google.protobuf.IDuration=} [properties] Properties to set + */ + function Duration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Duration seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Duration nanos. + * @member {number} nanos + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.nanos = 0; + + /** + * Creates a new Duration instance using the specified properties. + * @function create + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration=} [properties] Properties to set + * @returns {google.protobuf.Duration} Duration instance + */ + Duration.create = function create(properties) { + return new Duration(properties); + }; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Duration message. + * @function verify + * @memberof google.protobuf.Duration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Duration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Duration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Duration} Duration + */ + Duration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Duration) + return object; + var message = new $root.google.protobuf.Duration(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.Duration} message Duration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Duration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Duration to JSON. + * @function toJSON + * @memberof google.protobuf.Duration + * @instance + * @returns {Object.} JSON object + */ + Duration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Duration; + })(); + + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long|null} [seconds] Timestamp seconds + * @property {number|null} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @implements ITimestamp + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Timestamp seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number} nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Timestamp; + })(); + + protobuf.FileDescriptorSet = (function() { + + /** + * Properties of a FileDescriptorSet. + * @memberof google.protobuf + * @interface IFileDescriptorSet + * @property {Array.|null} [file] FileDescriptorSet file + */ + + /** + * Constructs a new FileDescriptorSet. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorSet. + * @implements IFileDescriptorSet + * @constructor + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + */ + function FileDescriptorSet(properties) { + this.file = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorSet file. + * @member {Array.} file + * @memberof google.protobuf.FileDescriptorSet + * @instance + */ + FileDescriptorSet.prototype.file = $util.emptyArray; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + */ + FileDescriptorSet.create = function create(properties) { + return new FileDescriptorSet(properties); + }; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.file != null && message.file.length) + for (var i = 0; i < message.file.length; ++i) + $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorSet message. + * @function verify + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.file != null && message.hasOwnProperty("file")) { + if (!Array.isArray(message.file)) + return "file: array expected"; + for (var i = 0; i < message.file.length; ++i) { + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (error) + return "file." + error; + } + } + return null; + }; + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + */ + FileDescriptorSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorSet) + return object; + var message = new $root.google.protobuf.FileDescriptorSet(); + if (object.file) { + if (!Array.isArray(object.file)) + throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); + message.file = []; + for (var i = 0; i < object.file.length; ++i) { + if (typeof object.file[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.file = []; + if (message.file && message.file.length) { + object.file = []; + for (var j = 0; j < message.file.length; ++j) + object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + } + return object; + }; + + /** + * Converts this FileDescriptorSet to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorSet + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FileDescriptorSet; + })(); + + protobuf.FileDescriptorProto = (function() { + + /** + * Properties of a FileDescriptorProto. + * @memberof google.protobuf + * @interface IFileDescriptorProto + * @property {string|null} [name] FileDescriptorProto name + * @property {string|null} ["package"] FileDescriptorProto package + * @property {Array.|null} [dependency] FileDescriptorProto dependency + * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency + * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [messageType] FileDescriptorProto messageType + * @property {Array.|null} [enumType] FileDescriptorProto enumType + * @property {Array.|null} [service] FileDescriptorProto service + * @property {Array.|null} [extension] FileDescriptorProto extension + * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options + * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo + * @property {string|null} [syntax] FileDescriptorProto syntax + */ + + /** + * Constructs a new FileDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorProto. + * @implements IFileDescriptorProto + * @constructor + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + */ + function FileDescriptorProto(properties) { + this.dependency = []; + this.publicDependency = []; + this.weakDependency = []; + this.messageType = []; + this.enumType = []; + this.service = []; + this.extension = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.name = ""; + + /** + * FileDescriptorProto package. + * @member {string} package + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype["package"] = ""; + + /** + * FileDescriptorProto dependency. + * @member {Array.} dependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.dependency = $util.emptyArray; + + /** + * FileDescriptorProto publicDependency. + * @member {Array.} publicDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + + /** + * FileDescriptorProto weakDependency. + * @member {Array.} weakDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + + /** + * FileDescriptorProto messageType. + * @member {Array.} messageType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.messageType = $util.emptyArray; + + /** + * FileDescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * FileDescriptorProto service. + * @member {Array.} service + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.service = $util.emptyArray; + + /** + * FileDescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.extension = $util.emptyArray; + + /** + * FileDescriptorProto options. + * @member {google.protobuf.IFileOptions|null|undefined} options + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.options = null; + + /** + * FileDescriptorProto sourceCodeInfo. + * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.sourceCodeInfo = null; + + /** + * FileDescriptorProto syntax. + * @member {string} syntax + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.syntax = ""; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance + */ + FileDescriptorProto.create = function create(properties) { + return new FileDescriptorProto(properties); + }; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); + if (message.dependency != null && message.dependency.length) + for (var i = 0; i < message.dependency.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); + if (message.messageType != null && message.messageType.length) + for (var i = 0; i < message.messageType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.service != null && message.service.length) + for (var i = 0; i < message.service.length; ++i) + $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) + $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.publicDependency != null && message.publicDependency.length) + for (var i = 0; i < message.publicDependency.length; ++i) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); + if (message.weakDependency != null && message.weakDependency.length) + for (var i = 0; i < message.weakDependency.length; ++i) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + return writer; + }; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message["package"] = reader.string(); + break; + case 3: + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + case 10: + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else + message.publicDependency.push(reader.int32()); + break; + case 11: + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else + message.weakDependency.push(reader.int32()); + break; + case 4: + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + case 7: + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 8: + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + case 9: + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + case 12: + message.syntax = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorProto message. + * @function verify + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message["package"] != null && message.hasOwnProperty("package")) + if (!$util.isString(message["package"])) + return "package: string expected"; + if (message.dependency != null && message.hasOwnProperty("dependency")) { + if (!Array.isArray(message.dependency)) + return "dependency: array expected"; + for (var i = 0; i < message.dependency.length; ++i) + if (!$util.isString(message.dependency[i])) + return "dependency: string[] expected"; + } + if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { + if (!Array.isArray(message.publicDependency)) + return "publicDependency: array expected"; + for (var i = 0; i < message.publicDependency.length; ++i) + if (!$util.isInteger(message.publicDependency[i])) + return "publicDependency: integer[] expected"; + } + if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { + if (!Array.isArray(message.weakDependency)) + return "weakDependency: array expected"; + for (var i = 0; i < message.weakDependency.length; ++i) + if (!$util.isInteger(message.weakDependency[i])) + return "weakDependency: integer[] expected"; + } + if (message.messageType != null && message.hasOwnProperty("messageType")) { + if (!Array.isArray(message.messageType)) + return "messageType: array expected"; + for (var i = 0; i < message.messageType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + if (error) + return "messageType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.service != null && message.hasOwnProperty("service")) { + if (!Array.isArray(message.service)) + return "service: array expected"; + for (var i = 0; i < message.service.length; ++i) { + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + if (error) + return "service." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FileOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + if (error) + return "sourceCodeInfo." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + if (!$util.isString(message.syntax)) + return "syntax: string expected"; + return null; + }; + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + */ + FileDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorProto) + return object; + var message = new $root.google.protobuf.FileDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object["package"] != null) + message["package"] = String(object["package"]); + if (object.dependency) { + if (!Array.isArray(object.dependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); + message.dependency = []; + for (var i = 0; i < object.dependency.length; ++i) + message.dependency[i] = String(object.dependency[i]); + } + if (object.publicDependency) { + if (!Array.isArray(object.publicDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); + message.publicDependency = []; + for (var i = 0; i < object.publicDependency.length; ++i) + message.publicDependency[i] = object.publicDependency[i] | 0; + } + if (object.weakDependency) { + if (!Array.isArray(object.weakDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); + message.weakDependency = []; + for (var i = 0; i < object.weakDependency.length; ++i) + message.weakDependency[i] = object.weakDependency[i] | 0; + } + if (object.messageType) { + if (!Array.isArray(object.messageType)) + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); + message.messageType = []; + for (var i = 0; i < object.messageType.length; ++i) { + if (typeof object.messageType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.service) { + if (!Array.isArray(object.service)) + throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); + message.service = []; + for (var i = 0; i < object.service.length; ++i) { + if (typeof object.service[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + } + if (object.sourceCodeInfo != null) { + if (typeof object.sourceCodeInfo !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + } + if (object.syntax != null) + message.syntax = String(object.syntax); + return message; + }; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.dependency = []; + object.messageType = []; + object.enumType = []; + object.service = []; + object.extension = []; + object.publicDependency = []; + object.weakDependency = []; + } + if (options.defaults) { + object.name = ""; + object["package"] = ""; + object.options = null; + object.sourceCodeInfo = null; + object.syntax = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message["package"] != null && message.hasOwnProperty("package")) + object["package"] = message["package"]; + if (message.dependency && message.dependency.length) { + object.dependency = []; + for (var j = 0; j < message.dependency.length; ++j) + object.dependency[j] = message.dependency[j]; + } + if (message.messageType && message.messageType.length) { + object.messageType = []; + for (var j = 0; j < message.messageType.length; ++j) + object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.service && message.service.length) { + object.service = []; + for (var j = 0; j < message.service.length; ++j) + object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); + if (message.publicDependency && message.publicDependency.length) { + object.publicDependency = []; + for (var j = 0; j < message.publicDependency.length; ++j) + object.publicDependency[j] = message.publicDependency[j]; + } + if (message.weakDependency && message.weakDependency.length) { + object.weakDependency = []; + for (var j = 0; j < message.weakDependency.length; ++j) + object.weakDependency[j] = message.weakDependency[j]; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = message.syntax; + return object; + }; + + /** + * Converts this FileDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FileDescriptorProto; + })(); + + protobuf.DescriptorProto = (function() { + + /** + * Properties of a DescriptorProto. + * @memberof google.protobuf + * @interface IDescriptorProto + * @property {string|null} [name] DescriptorProto name + * @property {Array.|null} [field] DescriptorProto field + * @property {Array.|null} [extension] DescriptorProto extension + * @property {Array.|null} [nestedType] DescriptorProto nestedType + * @property {Array.|null} [enumType] DescriptorProto enumType + * @property {Array.|null} [extensionRange] DescriptorProto extensionRange + * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl + * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options + * @property {Array.|null} [reservedRange] DescriptorProto reservedRange + * @property {Array.|null} [reservedName] DescriptorProto reservedName + */ + + /** + * Constructs a new DescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a DescriptorProto. + * @implements IDescriptorProto + * @constructor + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + */ + function DescriptorProto(properties) { + this.field = []; + this.extension = []; + this.nestedType = []; + this.enumType = []; + this.extensionRange = []; + this.oneofDecl = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DescriptorProto name. + * @member {string} name + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.name = ""; + + /** + * DescriptorProto field. + * @member {Array.} field + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.field = $util.emptyArray; + + /** + * DescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extension = $util.emptyArray; + + /** + * DescriptorProto nestedType. + * @member {Array.} nestedType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.nestedType = $util.emptyArray; + + /** + * DescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * DescriptorProto extensionRange. + * @member {Array.} extensionRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extensionRange = $util.emptyArray; + + /** + * DescriptorProto oneofDecl. + * @member {Array.} oneofDecl + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.oneofDecl = $util.emptyArray; + + /** + * DescriptorProto options. + * @member {google.protobuf.IMessageOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.options = null; + + /** + * DescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * DescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto} DescriptorProto instance + */ + DescriptorProto.create = function create(properties) { + return new DescriptorProto(properties); + }; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.field != null && message.field.length) + for (var i = 0; i < message.field.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nestedType != null && message.nestedType.length) + for (var i = 0; i < message.nestedType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.extensionRange != null && message.extensionRange.length) + for (var i = 0; i < message.extensionRange.length; ++i) + $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.oneofDecl != null && message.oneofDecl.length) + for (var i = 0; i < message.oneofDecl.length; ++i) + $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + case 7: + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + case 9: + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + case 10: + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DescriptorProto message. + * @function verify + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.field != null && message.hasOwnProperty("field")) { + if (!Array.isArray(message.field)) + return "field: array expected"; + for (var i = 0; i < message.field.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + if (error) + return "field." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.nestedType != null && message.hasOwnProperty("nestedType")) { + if (!Array.isArray(message.nestedType)) + return "nestedType: array expected"; + for (var i = 0; i < message.nestedType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + if (error) + return "nestedType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { + if (!Array.isArray(message.extensionRange)) + return "extensionRange: array expected"; + for (var i = 0; i < message.extensionRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + if (error) + return "extensionRange." + error; + } + } + if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { + if (!Array.isArray(message.oneofDecl)) + return "oneofDecl: array expected"; + for (var i = 0; i < message.oneofDecl.length; ++i) { + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + if (error) + return "oneofDecl." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MessageOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto} DescriptorProto + */ + DescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto) + return object; + var message = new $root.google.protobuf.DescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.field) { + if (!Array.isArray(object.field)) + throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); + message.field = []; + for (var i = 0; i < object.field.length; ++i) { + if (typeof object.field[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.nestedType) { + if (!Array.isArray(object.nestedType)) + throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); + message.nestedType = []; + for (var i = 0; i < object.nestedType.length; ++i) { + if (typeof object.nestedType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.extensionRange) { + if (!Array.isArray(object.extensionRange)) + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); + message.extensionRange = []; + for (var i = 0; i < object.extensionRange.length; ++i) { + if (typeof object.extensionRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + } + } + if (object.oneofDecl) { + if (!Array.isArray(object.oneofDecl)) + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); + message.oneofDecl = []; + for (var i = 0; i < object.oneofDecl.length; ++i) { + if (typeof object.oneofDecl[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.DescriptorProto} message DescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.field = []; + object.nestedType = []; + object.enumType = []; + object.extensionRange = []; + object.extension = []; + object.oneofDecl = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.field && message.field.length) { + object.field = []; + for (var j = 0; j < message.field.length; ++j) + object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); + } + if (message.nestedType && message.nestedType.length) { + object.nestedType = []; + for (var j = 0; j < message.nestedType.length; ++j) + object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.extensionRange && message.extensionRange.length) { + object.extensionRange = []; + for (var j = 0; j < message.extensionRange.length; ++j) + object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); + if (message.oneofDecl && message.oneofDecl.length) { + object.oneofDecl = []; + for (var j = 0; j < message.oneofDecl.length; ++j) + object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); + } + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this DescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto + * @instance + * @returns {Object.} JSON object + */ + DescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + DescriptorProto.ExtensionRange = (function() { + + /** + * Properties of an ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @interface IExtensionRange + * @property {number|null} [start] ExtensionRange start + * @property {number|null} [end] ExtensionRange end + * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options + */ + + /** + * Constructs a new ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents an ExtensionRange. + * @implements IExtensionRange + * @constructor + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + */ + function ExtensionRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.start = 0; + + /** + * ExtensionRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.end = 0; + + /** + * ExtensionRange options. + * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.options = null; + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance + */ + ExtensionRange.create = function create(properties) { + return new ExtensionRange(properties); + }; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + case 3: + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + */ + ExtensionRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + object.options = null; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ExtensionRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + * @returns {Object.} JSON object + */ + ExtensionRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExtensionRange; + })(); + + DescriptorProto.ReservedRange = (function() { + + /** + * Properties of a ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @interface IReservedRange + * @property {number|null} [start] ReservedRange start + * @property {number|null} [end] ReservedRange end + */ + + /** + * Constructs a new ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents a ReservedRange. + * @implements IReservedRange + * @constructor + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + */ + function ReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReservedRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.start = 0; + + /** + * ReservedRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.end = 0; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance + */ + ReservedRange.create = function create(properties) { + return new ReservedRange(properties); + }; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReservedRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + */ + ReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this ReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + * @returns {Object.} JSON object + */ + ReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ReservedRange; + })(); + + return DescriptorProto; + })(); + + protobuf.ExtensionRangeOptions = (function() { + + /** + * Properties of an ExtensionRangeOptions. + * @memberof google.protobuf + * @interface IExtensionRangeOptions + * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption + */ + + /** + * Constructs a new ExtensionRangeOptions. + * @memberof google.protobuf + * @classdesc Represents an ExtensionRangeOptions. + * @implements IExtensionRangeOptions + * @constructor + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + */ + function ExtensionRangeOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRangeOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance + */ + ExtensionRangeOptions.create = function create(properties) { + return new ExtensionRangeOptions(properties); + }; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRangeOptions message. + * @function verify + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRangeOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + */ + ExtensionRangeOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ExtensionRangeOptions) + return object; + var message = new $root.google.protobuf.ExtensionRangeOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRangeOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + * @returns {Object.} JSON object + */ + ExtensionRangeOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExtensionRangeOptions; + })(); + + protobuf.FieldDescriptorProto = (function() { + + /** + * Properties of a FieldDescriptorProto. + * @memberof google.protobuf + * @interface IFieldDescriptorProto + * @property {string|null} [name] FieldDescriptorProto name + * @property {number|null} [number] FieldDescriptorProto number + * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label + * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type + * @property {string|null} [typeName] FieldDescriptorProto typeName + * @property {string|null} [extendee] FieldDescriptorProto extendee + * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue + * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex + * @property {string|null} [jsonName] FieldDescriptorProto jsonName + * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + */ + + /** + * Constructs a new FieldDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FieldDescriptorProto. + * @implements IFieldDescriptorProto + * @constructor + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + */ + function FieldDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.name = ""; + + /** + * FieldDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.number = 0; + + /** + * FieldDescriptorProto label. + * @member {google.protobuf.FieldDescriptorProto.Label} label + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.label = 1; + + /** + * FieldDescriptorProto type. + * @member {google.protobuf.FieldDescriptorProto.Type} type + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.type = 1; + + /** + * FieldDescriptorProto typeName. + * @member {string} typeName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.typeName = ""; + + /** + * FieldDescriptorProto extendee. + * @member {string} extendee + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.extendee = ""; + + /** + * FieldDescriptorProto defaultValue. + * @member {string} defaultValue + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.defaultValue = ""; + + /** + * FieldDescriptorProto oneofIndex. + * @member {number} oneofIndex + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.oneofIndex = 0; + + /** + * FieldDescriptorProto jsonName. + * @member {string} jsonName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.jsonName = ""; + + /** + * FieldDescriptorProto options. + * @member {google.protobuf.IFieldOptions|null|undefined} options + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.options = null; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance + */ + FieldDescriptorProto.create = function create(properties) { + return new FieldDescriptorProto(properties); + }; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); + if (message.label != null && Object.hasOwnProperty.call(message, "label")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + return writer; + }; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 3: + message.number = reader.int32(); + break; + case 4: + message.label = reader.int32(); + break; + case 5: + message.type = reader.int32(); + break; + case 6: + message.typeName = reader.string(); + break; + case 2: + message.extendee = reader.string(); + break; + case 7: + message.defaultValue = reader.string(); + break; + case 9: + message.oneofIndex = reader.int32(); + break; + case 10: + message.jsonName = reader.string(); + break; + case 8: + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldDescriptorProto message. + * @function verify + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.label != null && message.hasOwnProperty("label")) + switch (message.label) { + default: + return "label: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + break; + } + if (message.typeName != null && message.hasOwnProperty("typeName")) + if (!$util.isString(message.typeName)) + return "typeName: string expected"; + if (message.extendee != null && message.hasOwnProperty("extendee")) + if (!$util.isString(message.extendee)) + return "extendee: string expected"; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (!$util.isString(message.defaultValue)) + return "defaultValue: string expected"; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (!$util.isInteger(message.oneofIndex)) + return "oneofIndex: integer expected"; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (!$util.isString(message.jsonName)) + return "jsonName: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FieldOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + */ + FieldDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldDescriptorProto) + return object; + var message = new $root.google.protobuf.FieldDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + switch (object.label) { + case "LABEL_OPTIONAL": + case 1: + message.label = 1; + break; + case "LABEL_REQUIRED": + case 2: + message.label = 2; + break; + case "LABEL_REPEATED": + case 3: + message.label = 3; + break; + } + switch (object.type) { + case "TYPE_DOUBLE": + case 1: + message.type = 1; + break; + case "TYPE_FLOAT": + case 2: + message.type = 2; + break; + case "TYPE_INT64": + case 3: + message.type = 3; + break; + case "TYPE_UINT64": + case 4: + message.type = 4; + break; + case "TYPE_INT32": + case 5: + message.type = 5; + break; + case "TYPE_FIXED64": + case 6: + message.type = 6; + break; + case "TYPE_FIXED32": + case 7: + message.type = 7; + break; + case "TYPE_BOOL": + case 8: + message.type = 8; + break; + case "TYPE_STRING": + case 9: + message.type = 9; + break; + case "TYPE_GROUP": + case 10: + message.type = 10; + break; + case "TYPE_MESSAGE": + case 11: + message.type = 11; + break; + case "TYPE_BYTES": + case 12: + message.type = 12; + break; + case "TYPE_UINT32": + case 13: + message.type = 13; + break; + case "TYPE_ENUM": + case 14: + message.type = 14; + break; + case "TYPE_SFIXED32": + case 15: + message.type = 15; + break; + case "TYPE_SFIXED64": + case 16: + message.type = 16; + break; + case "TYPE_SINT32": + case 17: + message.type = 17; + break; + case "TYPE_SINT64": + case 18: + message.type = 18; + break; + } + if (object.typeName != null) + message.typeName = String(object.typeName); + if (object.extendee != null) + message.extendee = String(object.extendee); + if (object.defaultValue != null) + message.defaultValue = String(object.defaultValue); + if (object.oneofIndex != null) + message.oneofIndex = object.oneofIndex | 0; + if (object.jsonName != null) + message.jsonName = String(object.jsonName); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.extendee = ""; + object.number = 0; + object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; + object.type = options.enums === String ? "TYPE_DOUBLE" : 1; + object.typeName = ""; + object.defaultValue = ""; + object.options = null; + object.oneofIndex = 0; + object.jsonName = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.extendee != null && message.hasOwnProperty("extendee")) + object.extendee = message.extendee; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.label != null && message.hasOwnProperty("label")) + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + if (message.typeName != null && message.hasOwnProperty("typeName")) + object.typeName = message.typeName; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + object.defaultValue = message.defaultValue; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + object.oneofIndex = message.oneofIndex; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + object.jsonName = message.jsonName; + return object; + }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FieldDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FieldDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.protobuf.FieldDescriptorProto.Type + * @enum {number} + * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value + * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value + * @property {number} TYPE_INT64=3 TYPE_INT64 value + * @property {number} TYPE_UINT64=4 TYPE_UINT64 value + * @property {number} TYPE_INT32=5 TYPE_INT32 value + * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value + * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value + * @property {number} TYPE_BOOL=8 TYPE_BOOL value + * @property {number} TYPE_STRING=9 TYPE_STRING value + * @property {number} TYPE_GROUP=10 TYPE_GROUP value + * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value + * @property {number} TYPE_BYTES=12 TYPE_BYTES value + * @property {number} TYPE_UINT32=13 TYPE_UINT32 value + * @property {number} TYPE_ENUM=14 TYPE_ENUM value + * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value + * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value + * @property {number} TYPE_SINT32=17 TYPE_SINT32 value + * @property {number} TYPE_SINT64=18 TYPE_SINT64 value + */ + FieldDescriptorProto.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "TYPE_DOUBLE"] = 1; + values[valuesById[2] = "TYPE_FLOAT"] = 2; + values[valuesById[3] = "TYPE_INT64"] = 3; + values[valuesById[4] = "TYPE_UINT64"] = 4; + values[valuesById[5] = "TYPE_INT32"] = 5; + values[valuesById[6] = "TYPE_FIXED64"] = 6; + values[valuesById[7] = "TYPE_FIXED32"] = 7; + values[valuesById[8] = "TYPE_BOOL"] = 8; + values[valuesById[9] = "TYPE_STRING"] = 9; + values[valuesById[10] = "TYPE_GROUP"] = 10; + values[valuesById[11] = "TYPE_MESSAGE"] = 11; + values[valuesById[12] = "TYPE_BYTES"] = 12; + values[valuesById[13] = "TYPE_UINT32"] = 13; + values[valuesById[14] = "TYPE_ENUM"] = 14; + values[valuesById[15] = "TYPE_SFIXED32"] = 15; + values[valuesById[16] = "TYPE_SFIXED64"] = 16; + values[valuesById[17] = "TYPE_SINT32"] = 17; + values[valuesById[18] = "TYPE_SINT64"] = 18; + return values; + })(); + + /** + * Label enum. + * @name google.protobuf.FieldDescriptorProto.Label + * @enum {number} + * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value + * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value + * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value + */ + FieldDescriptorProto.Label = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "LABEL_OPTIONAL"] = 1; + values[valuesById[2] = "LABEL_REQUIRED"] = 2; + values[valuesById[3] = "LABEL_REPEATED"] = 3; + return values; + })(); + + return FieldDescriptorProto; + })(); + + protobuf.OneofDescriptorProto = (function() { + + /** + * Properties of an OneofDescriptorProto. + * @memberof google.protobuf + * @interface IOneofDescriptorProto + * @property {string|null} [name] OneofDescriptorProto name + * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options + */ + + /** + * Constructs a new OneofDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an OneofDescriptorProto. + * @implements IOneofDescriptorProto + * @constructor + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + */ + function OneofDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.name = ""; + + /** + * OneofDescriptorProto options. + * @member {google.protobuf.IOneofOptions|null|undefined} options + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.options = null; + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance + */ + OneofDescriptorProto.create = function create(properties) { + return new OneofDescriptorProto(properties); + }; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofDescriptorProto message. + * @function verify + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.OneofOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + */ + OneofDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofDescriptorProto) + return object; + var message = new $root.google.protobuf.OneofDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.OneofDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + OneofDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OneofDescriptorProto; + })(); + + protobuf.EnumDescriptorProto = (function() { + + /** + * Properties of an EnumDescriptorProto. + * @memberof google.protobuf + * @interface IEnumDescriptorProto + * @property {string|null} [name] EnumDescriptorProto name + * @property {Array.|null} [value] EnumDescriptorProto value + * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options + * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange + * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + */ + + /** + * Constructs a new EnumDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumDescriptorProto. + * @implements IEnumDescriptorProto + * @constructor + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + */ + function EnumDescriptorProto(properties) { + this.value = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.name = ""; + + /** + * EnumDescriptorProto value. + * @member {Array.} value + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.value = $util.emptyArray; + + /** + * EnumDescriptorProto options. + * @member {google.protobuf.IEnumOptions|null|undefined} options + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.options = null; + + /** + * EnumDescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * EnumDescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance + */ + EnumDescriptorProto.create = function create(properties) { + return new EnumDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.value.length) + for (var i = 0; i < message.value.length; ++i) + $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) { + if (!Array.isArray(message.value)) + return "value: array expected"; + for (var i = 0; i < message.value.length; ++i) { + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + if (error) + return "value." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + */ + EnumDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.value) { + if (!Array.isArray(object.value)) + throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); + message.value = []; + for (var i = 0; i < object.value.length; ++i) { + if (typeof object.value[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.value = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value && message.value.length) { + object.value = []; + for (var j = 0; j < message.value.length; ++j) + object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + EnumDescriptorProto.EnumReservedRange = (function() { + + /** + * Properties of an EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @interface IEnumReservedRange + * @property {number|null} [start] EnumReservedRange start + * @property {number|null} [end] EnumReservedRange end */ - Location.decode = function decode(reader, length) { + + /** + * Constructs a new EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @classdesc Represents an EnumReservedRange. + * @implements IEnumReservedRange + * @constructor + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + */ + function EnumReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumReservedRange start. + * @member {number} start + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.start = 0; + + /** + * EnumReservedRange end. + * @member {number} end + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.end = 0; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance + */ + EnumReservedRange.create = function create(properties) { + return new EnumReservedRange(properties); + }; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - case 2: - if (!(message.span && message.span.length)) - message.span = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.span.push(reader.int32()); - } else - message.span.push(reader.int32()); - break; - case 3: - message.leadingComments = reader.string(); - break; - case 4: - message.trailingComments = reader.string(); + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); break; - case 6: - if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) - message.leadingDetachedComments = []; - message.leadingDetachedComments.push(reader.string()); + case 2: + message.end = reader.int32(); break; default: reader.skipType(tag & 7); break; } } - return message; - }; - - /** - * Decodes a Location message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.SourceCodeInfo.Location} Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Location.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + return message; + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumReservedRange message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + */ + EnumReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this EnumReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + * @returns {Object.} JSON object + */ + EnumReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumReservedRange; + })(); + + return EnumDescriptorProto; + })(); + + protobuf.EnumValueDescriptorProto = (function() { + + /** + * Properties of an EnumValueDescriptorProto. + * @memberof google.protobuf + * @interface IEnumValueDescriptorProto + * @property {string|null} [name] EnumValueDescriptorProto name + * @property {number|null} [number] EnumValueDescriptorProto number + * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options + */ + + /** + * Constructs a new EnumValueDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumValueDescriptorProto. + * @implements IEnumValueDescriptorProto + * @constructor + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + */ + function EnumValueDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.name = ""; + + /** + * EnumValueDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.number = 0; + + /** + * EnumValueDescriptorProto options. + * @member {google.protobuf.IEnumValueOptions|null|undefined} options + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.options = null; + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance + */ + EnumValueDescriptorProto.create = function create(properties) { + return new EnumValueDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.number = reader.int32(); + break; + case 3: + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + */ + EnumValueDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumValueDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.number = 0; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumValueDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumValueDescriptorProto; + })(); + + protobuf.ServiceDescriptorProto = (function() { + + /** + * Properties of a ServiceDescriptorProto. + * @memberof google.protobuf + * @interface IServiceDescriptorProto + * @property {string|null} [name] ServiceDescriptorProto name + * @property {Array.|null} [method] ServiceDescriptorProto method + * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options + */ + + /** + * Constructs a new ServiceDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a ServiceDescriptorProto. + * @implements IServiceDescriptorProto + * @constructor + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + */ + function ServiceDescriptorProto(properties) { + this.method = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.name = ""; + + /** + * ServiceDescriptorProto method. + * @member {Array.} method + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.method = $util.emptyArray; + + /** + * ServiceDescriptorProto options. + * @member {google.protobuf.IServiceOptions|null|undefined} options + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.options = null; + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance + */ + ServiceDescriptorProto.create = function create(properties) { + return new ServiceDescriptorProto(properties); + }; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.method != null && message.method.length) + for (var i = 0; i < message.method.length; ++i) + $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceDescriptorProto message. + * @function verify + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.method != null && message.hasOwnProperty("method")) { + if (!Array.isArray(message.method)) + return "method: array expected"; + for (var i = 0; i < message.method.length; ++i) { + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + if (error) + return "method." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ServiceOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + */ + ServiceDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceDescriptorProto) + return object; + var message = new $root.google.protobuf.ServiceDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.method) { + if (!Array.isArray(object.method)) + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); + message.method = []; + for (var i = 0; i < object.method.length; ++i) { + if (typeof object.method[i] !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.method = []; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.method && message.method.length) { + object.method = []; + for (var j = 0; j < message.method.length; ++j) + object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + ServiceDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ServiceDescriptorProto; + })(); + + protobuf.MethodDescriptorProto = (function() { + + /** + * Properties of a MethodDescriptorProto. + * @memberof google.protobuf + * @interface IMethodDescriptorProto + * @property {string|null} [name] MethodDescriptorProto name + * @property {string|null} [inputType] MethodDescriptorProto inputType + * @property {string|null} [outputType] MethodDescriptorProto outputType + * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options + * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming + * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming + */ + + /** + * Constructs a new MethodDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a MethodDescriptorProto. + * @implements IMethodDescriptorProto + * @constructor + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + */ + function MethodDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.name = ""; + + /** + * MethodDescriptorProto inputType. + * @member {string} inputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.inputType = ""; + + /** + * MethodDescriptorProto outputType. + * @member {string} outputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.outputType = ""; + + /** + * MethodDescriptorProto options. + * @member {google.protobuf.IMethodOptions|null|undefined} options + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.options = null; + + /** + * MethodDescriptorProto clientStreaming. + * @member {boolean} clientStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.clientStreaming = false; + + /** + * MethodDescriptorProto serverStreaming. + * @member {boolean} serverStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.serverStreaming = false; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance + */ + MethodDescriptorProto.create = function create(properties) { + return new MethodDescriptorProto(properties); + }; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); + if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); + if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); + return writer; + }; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.inputType = reader.string(); + break; + case 3: + message.outputType = reader.string(); + break; + case 4: + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + case 5: + message.clientStreaming = reader.bool(); + break; + case 6: + message.serverStreaming = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodDescriptorProto message. + * @function verify + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.inputType != null && message.hasOwnProperty("inputType")) + if (!$util.isString(message.inputType)) + return "inputType: string expected"; + if (message.outputType != null && message.hasOwnProperty("outputType")) + if (!$util.isString(message.outputType)) + return "outputType: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MethodOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (typeof message.clientStreaming !== "boolean") + return "clientStreaming: boolean expected"; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (typeof message.serverStreaming !== "boolean") + return "serverStreaming: boolean expected"; + return null; + }; + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + */ + MethodDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodDescriptorProto) + return object; + var message = new $root.google.protobuf.MethodDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.inputType != null) + message.inputType = String(object.inputType); + if (object.outputType != null) + message.outputType = String(object.outputType); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + } + if (object.clientStreaming != null) + message.clientStreaming = Boolean(object.clientStreaming); + if (object.serverStreaming != null) + message.serverStreaming = Boolean(object.serverStreaming); + return message; + }; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.inputType = ""; + object.outputType = ""; + object.options = null; + object.clientStreaming = false; + object.serverStreaming = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.inputType != null && message.hasOwnProperty("inputType")) + object.inputType = message.inputType; + if (message.outputType != null && message.hasOwnProperty("outputType")) + object.outputType = message.outputType; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + object.clientStreaming = message.clientStreaming; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + object.serverStreaming = message.serverStreaming; + return object; + }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.MethodDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + MethodDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MethodDescriptorProto; + })(); + + protobuf.FileOptions = (function() { + + /** + * Properties of a FileOptions. + * @memberof google.protobuf + * @interface IFileOptions + * @property {string|null} [javaPackage] FileOptions javaPackage + * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname + * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles + * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash + * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 + * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor + * @property {string|null} [goPackage] FileOptions goPackage + * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices + * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices + * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices + * @property {boolean|null} [phpGenericServices] FileOptions phpGenericServices + * @property {boolean|null} [deprecated] FileOptions deprecated + * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas + * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix + * @property {string|null} [csharpNamespace] FileOptions csharpNamespace + * @property {string|null} [swiftPrefix] FileOptions swiftPrefix + * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix + * @property {string|null} [phpNamespace] FileOptions phpNamespace + * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption + * @property {boolean|null} [".gogoproto.goprotoGettersAll"] FileOptions .gogoproto.goprotoGettersAll + * @property {boolean|null} [".gogoproto.goprotoEnumPrefixAll"] FileOptions .gogoproto.goprotoEnumPrefixAll + * @property {boolean|null} [".gogoproto.goprotoStringerAll"] FileOptions .gogoproto.goprotoStringerAll + * @property {boolean|null} [".gogoproto.verboseEqualAll"] FileOptions .gogoproto.verboseEqualAll + * @property {boolean|null} [".gogoproto.faceAll"] FileOptions .gogoproto.faceAll + * @property {boolean|null} [".gogoproto.gostringAll"] FileOptions .gogoproto.gostringAll + * @property {boolean|null} [".gogoproto.populateAll"] FileOptions .gogoproto.populateAll + * @property {boolean|null} [".gogoproto.stringerAll"] FileOptions .gogoproto.stringerAll + * @property {boolean|null} [".gogoproto.onlyoneAll"] FileOptions .gogoproto.onlyoneAll + * @property {boolean|null} [".gogoproto.equalAll"] FileOptions .gogoproto.equalAll + * @property {boolean|null} [".gogoproto.descriptionAll"] FileOptions .gogoproto.descriptionAll + * @property {boolean|null} [".gogoproto.testgenAll"] FileOptions .gogoproto.testgenAll + * @property {boolean|null} [".gogoproto.benchgenAll"] FileOptions .gogoproto.benchgenAll + * @property {boolean|null} [".gogoproto.marshalerAll"] FileOptions .gogoproto.marshalerAll + * @property {boolean|null} [".gogoproto.unmarshalerAll"] FileOptions .gogoproto.unmarshalerAll + * @property {boolean|null} [".gogoproto.stableMarshalerAll"] FileOptions .gogoproto.stableMarshalerAll + * @property {boolean|null} [".gogoproto.sizerAll"] FileOptions .gogoproto.sizerAll + * @property {boolean|null} [".gogoproto.goprotoEnumStringerAll"] FileOptions .gogoproto.goprotoEnumStringerAll + * @property {boolean|null} [".gogoproto.enumStringerAll"] FileOptions .gogoproto.enumStringerAll + * @property {boolean|null} [".gogoproto.unsafeMarshalerAll"] FileOptions .gogoproto.unsafeMarshalerAll + * @property {boolean|null} [".gogoproto.unsafeUnmarshalerAll"] FileOptions .gogoproto.unsafeUnmarshalerAll + * @property {boolean|null} [".gogoproto.goprotoExtensionsMapAll"] FileOptions .gogoproto.goprotoExtensionsMapAll + * @property {boolean|null} [".gogoproto.goprotoUnrecognizedAll"] FileOptions .gogoproto.goprotoUnrecognizedAll + * @property {boolean|null} [".gogoproto.gogoprotoImport"] FileOptions .gogoproto.gogoprotoImport + * @property {boolean|null} [".gogoproto.protosizerAll"] FileOptions .gogoproto.protosizerAll + * @property {boolean|null} [".gogoproto.compareAll"] FileOptions .gogoproto.compareAll + * @property {boolean|null} [".gogoproto.typedeclAll"] FileOptions .gogoproto.typedeclAll + * @property {boolean|null} [".gogoproto.enumdeclAll"] FileOptions .gogoproto.enumdeclAll + * @property {boolean|null} [".gogoproto.goprotoRegistration"] FileOptions .gogoproto.goprotoRegistration + * @property {boolean|null} [".gogoproto.messagenameAll"] FileOptions .gogoproto.messagenameAll + * @property {boolean|null} [".gogoproto.goprotoSizecacheAll"] FileOptions .gogoproto.goprotoSizecacheAll + * @property {boolean|null} [".gogoproto.goprotoUnkeyedAll"] FileOptions .gogoproto.goprotoUnkeyedAll + */ + + /** + * Constructs a new FileOptions. + * @memberof google.protobuf + * @classdesc Represents a FileOptions. + * @implements IFileOptions + * @constructor + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + */ + function FileOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileOptions javaPackage. + * @member {string} javaPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaPackage = ""; + + /** + * FileOptions javaOuterClassname. + * @member {string} javaOuterClassname + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaOuterClassname = ""; + + /** + * FileOptions javaMultipleFiles. + * @member {boolean} javaMultipleFiles + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaMultipleFiles = false; + + /** + * FileOptions javaGenerateEqualsAndHash. + * @member {boolean} javaGenerateEqualsAndHash + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * FileOptions javaStringCheckUtf8. + * @member {boolean} javaStringCheckUtf8 + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * FileOptions optimizeFor. + * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.optimizeFor = 1; + + /** + * FileOptions goPackage. + * @member {string} goPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.goPackage = ""; + + /** + * FileOptions ccGenericServices. + * @member {boolean} ccGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccGenericServices = false; + + /** + * FileOptions javaGenericServices. + * @member {boolean} javaGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenericServices = false; + + /** + * FileOptions pyGenericServices. + * @member {boolean} pyGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.pyGenericServices = false; + + /** + * FileOptions phpGenericServices. + * @member {boolean} phpGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpGenericServices = false; + + /** + * FileOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.deprecated = false; + + /** + * FileOptions ccEnableArenas. + * @member {boolean} ccEnableArenas + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccEnableArenas = false; + + /** + * FileOptions objcClassPrefix. + * @member {string} objcClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.objcClassPrefix = ""; + + /** + * FileOptions csharpNamespace. + * @member {string} csharpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.csharpNamespace = ""; + + /** + * FileOptions swiftPrefix. + * @member {string} swiftPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.swiftPrefix = ""; + + /** + * FileOptions phpClassPrefix. + * @member {string} phpClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpClassPrefix = ""; + + /** + * FileOptions phpNamespace. + * @member {string} phpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpNamespace = ""; + + /** + * FileOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FileOptions .gogoproto.goprotoGettersAll. + * @member {boolean} .gogoproto.goprotoGettersAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoGettersAll"] = false; + + /** + * FileOptions .gogoproto.goprotoEnumPrefixAll. + * @member {boolean} .gogoproto.goprotoEnumPrefixAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoEnumPrefixAll"] = false; + + /** + * FileOptions .gogoproto.goprotoStringerAll. + * @member {boolean} .gogoproto.goprotoStringerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoStringerAll"] = false; + + /** + * FileOptions .gogoproto.verboseEqualAll. + * @member {boolean} .gogoproto.verboseEqualAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.verboseEqualAll"] = false; + + /** + * FileOptions .gogoproto.faceAll. + * @member {boolean} .gogoproto.faceAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.faceAll"] = false; + + /** + * FileOptions .gogoproto.gostringAll. + * @member {boolean} .gogoproto.gostringAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.gostringAll"] = false; + + /** + * FileOptions .gogoproto.populateAll. + * @member {boolean} .gogoproto.populateAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.populateAll"] = false; + + /** + * FileOptions .gogoproto.stringerAll. + * @member {boolean} .gogoproto.stringerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.stringerAll"] = false; + + /** + * FileOptions .gogoproto.onlyoneAll. + * @member {boolean} .gogoproto.onlyoneAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.onlyoneAll"] = false; + + /** + * FileOptions .gogoproto.equalAll. + * @member {boolean} .gogoproto.equalAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.equalAll"] = false; + + /** + * FileOptions .gogoproto.descriptionAll. + * @member {boolean} .gogoproto.descriptionAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.descriptionAll"] = false; + + /** + * FileOptions .gogoproto.testgenAll. + * @member {boolean} .gogoproto.testgenAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.testgenAll"] = false; + + /** + * FileOptions .gogoproto.benchgenAll. + * @member {boolean} .gogoproto.benchgenAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.benchgenAll"] = false; + + /** + * FileOptions .gogoproto.marshalerAll. + * @member {boolean} .gogoproto.marshalerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.marshalerAll"] = false; + + /** + * FileOptions .gogoproto.unmarshalerAll. + * @member {boolean} .gogoproto.unmarshalerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.unmarshalerAll"] = false; + + /** + * FileOptions .gogoproto.stableMarshalerAll. + * @member {boolean} .gogoproto.stableMarshalerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.stableMarshalerAll"] = false; + + /** + * FileOptions .gogoproto.sizerAll. + * @member {boolean} .gogoproto.sizerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.sizerAll"] = false; + + /** + * FileOptions .gogoproto.goprotoEnumStringerAll. + * @member {boolean} .gogoproto.goprotoEnumStringerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoEnumStringerAll"] = false; + + /** + * FileOptions .gogoproto.enumStringerAll. + * @member {boolean} .gogoproto.enumStringerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.enumStringerAll"] = false; + + /** + * FileOptions .gogoproto.unsafeMarshalerAll. + * @member {boolean} .gogoproto.unsafeMarshalerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.unsafeMarshalerAll"] = false; + + /** + * FileOptions .gogoproto.unsafeUnmarshalerAll. + * @member {boolean} .gogoproto.unsafeUnmarshalerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.unsafeUnmarshalerAll"] = false; + + /** + * FileOptions .gogoproto.goprotoExtensionsMapAll. + * @member {boolean} .gogoproto.goprotoExtensionsMapAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoExtensionsMapAll"] = false; + + /** + * FileOptions .gogoproto.goprotoUnrecognizedAll. + * @member {boolean} .gogoproto.goprotoUnrecognizedAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoUnrecognizedAll"] = false; + + /** + * FileOptions .gogoproto.gogoprotoImport. + * @member {boolean} .gogoproto.gogoprotoImport + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.gogoprotoImport"] = false; + + /** + * FileOptions .gogoproto.protosizerAll. + * @member {boolean} .gogoproto.protosizerAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.protosizerAll"] = false; + + /** + * FileOptions .gogoproto.compareAll. + * @member {boolean} .gogoproto.compareAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.compareAll"] = false; + + /** + * FileOptions .gogoproto.typedeclAll. + * @member {boolean} .gogoproto.typedeclAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.typedeclAll"] = false; + + /** + * FileOptions .gogoproto.enumdeclAll. + * @member {boolean} .gogoproto.enumdeclAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.enumdeclAll"] = false; + + /** + * FileOptions .gogoproto.goprotoRegistration. + * @member {boolean} .gogoproto.goprotoRegistration + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoRegistration"] = false; + + /** + * FileOptions .gogoproto.messagenameAll. + * @member {boolean} .gogoproto.messagenameAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.messagenameAll"] = false; + + /** + * FileOptions .gogoproto.goprotoSizecacheAll. + * @member {boolean} .gogoproto.goprotoSizecacheAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoSizecacheAll"] = false; + + /** + * FileOptions .gogoproto.goprotoUnkeyedAll. + * @member {boolean} .gogoproto.goprotoUnkeyedAll + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".gogoproto.goprotoUnkeyedAll"] = false; + + /** + * Creates a new FileOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @returns {google.protobuf.FileOptions} FileOptions instance + */ + FileOptions.create = function create(properties) { + return new FileOptions(properties); + }; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) + writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) + writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) + writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) + writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) + writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) + writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); + if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) + writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".gogoproto.goprotoGettersAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoGettersAll")) + writer.uint32(/* id 63001, wireType 0 =*/504008).bool(message[".gogoproto.goprotoGettersAll"]); + if (message[".gogoproto.goprotoEnumPrefixAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoEnumPrefixAll")) + writer.uint32(/* id 63002, wireType 0 =*/504016).bool(message[".gogoproto.goprotoEnumPrefixAll"]); + if (message[".gogoproto.goprotoStringerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoStringerAll")) + writer.uint32(/* id 63003, wireType 0 =*/504024).bool(message[".gogoproto.goprotoStringerAll"]); + if (message[".gogoproto.verboseEqualAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.verboseEqualAll")) + writer.uint32(/* id 63004, wireType 0 =*/504032).bool(message[".gogoproto.verboseEqualAll"]); + if (message[".gogoproto.faceAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.faceAll")) + writer.uint32(/* id 63005, wireType 0 =*/504040).bool(message[".gogoproto.faceAll"]); + if (message[".gogoproto.gostringAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.gostringAll")) + writer.uint32(/* id 63006, wireType 0 =*/504048).bool(message[".gogoproto.gostringAll"]); + if (message[".gogoproto.populateAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.populateAll")) + writer.uint32(/* id 63007, wireType 0 =*/504056).bool(message[".gogoproto.populateAll"]); + if (message[".gogoproto.stringerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.stringerAll")) + writer.uint32(/* id 63008, wireType 0 =*/504064).bool(message[".gogoproto.stringerAll"]); + if (message[".gogoproto.onlyoneAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.onlyoneAll")) + writer.uint32(/* id 63009, wireType 0 =*/504072).bool(message[".gogoproto.onlyoneAll"]); + if (message[".gogoproto.equalAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.equalAll")) + writer.uint32(/* id 63013, wireType 0 =*/504104).bool(message[".gogoproto.equalAll"]); + if (message[".gogoproto.descriptionAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.descriptionAll")) + writer.uint32(/* id 63014, wireType 0 =*/504112).bool(message[".gogoproto.descriptionAll"]); + if (message[".gogoproto.testgenAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.testgenAll")) + writer.uint32(/* id 63015, wireType 0 =*/504120).bool(message[".gogoproto.testgenAll"]); + if (message[".gogoproto.benchgenAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.benchgenAll")) + writer.uint32(/* id 63016, wireType 0 =*/504128).bool(message[".gogoproto.benchgenAll"]); + if (message[".gogoproto.marshalerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.marshalerAll")) + writer.uint32(/* id 63017, wireType 0 =*/504136).bool(message[".gogoproto.marshalerAll"]); + if (message[".gogoproto.unmarshalerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.unmarshalerAll")) + writer.uint32(/* id 63018, wireType 0 =*/504144).bool(message[".gogoproto.unmarshalerAll"]); + if (message[".gogoproto.stableMarshalerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.stableMarshalerAll")) + writer.uint32(/* id 63019, wireType 0 =*/504152).bool(message[".gogoproto.stableMarshalerAll"]); + if (message[".gogoproto.sizerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.sizerAll")) + writer.uint32(/* id 63020, wireType 0 =*/504160).bool(message[".gogoproto.sizerAll"]); + if (message[".gogoproto.goprotoEnumStringerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoEnumStringerAll")) + writer.uint32(/* id 63021, wireType 0 =*/504168).bool(message[".gogoproto.goprotoEnumStringerAll"]); + if (message[".gogoproto.enumStringerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.enumStringerAll")) + writer.uint32(/* id 63022, wireType 0 =*/504176).bool(message[".gogoproto.enumStringerAll"]); + if (message[".gogoproto.unsafeMarshalerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.unsafeMarshalerAll")) + writer.uint32(/* id 63023, wireType 0 =*/504184).bool(message[".gogoproto.unsafeMarshalerAll"]); + if (message[".gogoproto.unsafeUnmarshalerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.unsafeUnmarshalerAll")) + writer.uint32(/* id 63024, wireType 0 =*/504192).bool(message[".gogoproto.unsafeUnmarshalerAll"]); + if (message[".gogoproto.goprotoExtensionsMapAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoExtensionsMapAll")) + writer.uint32(/* id 63025, wireType 0 =*/504200).bool(message[".gogoproto.goprotoExtensionsMapAll"]); + if (message[".gogoproto.goprotoUnrecognizedAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoUnrecognizedAll")) + writer.uint32(/* id 63026, wireType 0 =*/504208).bool(message[".gogoproto.goprotoUnrecognizedAll"]); + if (message[".gogoproto.gogoprotoImport"] != null && Object.hasOwnProperty.call(message, ".gogoproto.gogoprotoImport")) + writer.uint32(/* id 63027, wireType 0 =*/504216).bool(message[".gogoproto.gogoprotoImport"]); + if (message[".gogoproto.protosizerAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.protosizerAll")) + writer.uint32(/* id 63028, wireType 0 =*/504224).bool(message[".gogoproto.protosizerAll"]); + if (message[".gogoproto.compareAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.compareAll")) + writer.uint32(/* id 63029, wireType 0 =*/504232).bool(message[".gogoproto.compareAll"]); + if (message[".gogoproto.typedeclAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.typedeclAll")) + writer.uint32(/* id 63030, wireType 0 =*/504240).bool(message[".gogoproto.typedeclAll"]); + if (message[".gogoproto.enumdeclAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.enumdeclAll")) + writer.uint32(/* id 63031, wireType 0 =*/504248).bool(message[".gogoproto.enumdeclAll"]); + if (message[".gogoproto.goprotoRegistration"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoRegistration")) + writer.uint32(/* id 63032, wireType 0 =*/504256).bool(message[".gogoproto.goprotoRegistration"]); + if (message[".gogoproto.messagenameAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.messagenameAll")) + writer.uint32(/* id 63033, wireType 0 =*/504264).bool(message[".gogoproto.messagenameAll"]); + if (message[".gogoproto.goprotoSizecacheAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoSizecacheAll")) + writer.uint32(/* id 63034, wireType 0 =*/504272).bool(message[".gogoproto.goprotoSizecacheAll"]); + if (message[".gogoproto.goprotoUnkeyedAll"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoUnkeyedAll")) + writer.uint32(/* id 63035, wireType 0 =*/504280).bool(message[".gogoproto.goprotoUnkeyedAll"]); + return writer; + }; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.javaPackage = reader.string(); + break; + case 8: + message.javaOuterClassname = reader.string(); + break; + case 10: + message.javaMultipleFiles = reader.bool(); + break; + case 20: + message.javaGenerateEqualsAndHash = reader.bool(); + break; + case 27: + message.javaStringCheckUtf8 = reader.bool(); + break; + case 9: + message.optimizeFor = reader.int32(); + break; + case 11: + message.goPackage = reader.string(); + break; + case 16: + message.ccGenericServices = reader.bool(); + break; + case 17: + message.javaGenericServices = reader.bool(); + break; + case 18: + message.pyGenericServices = reader.bool(); + break; + case 42: + message.phpGenericServices = reader.bool(); + break; + case 23: + message.deprecated = reader.bool(); + break; + case 31: + message.ccEnableArenas = reader.bool(); + break; + case 36: + message.objcClassPrefix = reader.string(); + break; + case 37: + message.csharpNamespace = reader.string(); + break; + case 39: + message.swiftPrefix = reader.string(); + break; + case 40: + message.phpClassPrefix = reader.string(); + break; + case 41: + message.phpNamespace = reader.string(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 63001: + message[".gogoproto.goprotoGettersAll"] = reader.bool(); + break; + case 63002: + message[".gogoproto.goprotoEnumPrefixAll"] = reader.bool(); + break; + case 63003: + message[".gogoproto.goprotoStringerAll"] = reader.bool(); + break; + case 63004: + message[".gogoproto.verboseEqualAll"] = reader.bool(); + break; + case 63005: + message[".gogoproto.faceAll"] = reader.bool(); + break; + case 63006: + message[".gogoproto.gostringAll"] = reader.bool(); + break; + case 63007: + message[".gogoproto.populateAll"] = reader.bool(); + break; + case 63008: + message[".gogoproto.stringerAll"] = reader.bool(); + break; + case 63009: + message[".gogoproto.onlyoneAll"] = reader.bool(); + break; + case 63013: + message[".gogoproto.equalAll"] = reader.bool(); + break; + case 63014: + message[".gogoproto.descriptionAll"] = reader.bool(); + break; + case 63015: + message[".gogoproto.testgenAll"] = reader.bool(); + break; + case 63016: + message[".gogoproto.benchgenAll"] = reader.bool(); + break; + case 63017: + message[".gogoproto.marshalerAll"] = reader.bool(); + break; + case 63018: + message[".gogoproto.unmarshalerAll"] = reader.bool(); + break; + case 63019: + message[".gogoproto.stableMarshalerAll"] = reader.bool(); + break; + case 63020: + message[".gogoproto.sizerAll"] = reader.bool(); + break; + case 63021: + message[".gogoproto.goprotoEnumStringerAll"] = reader.bool(); + break; + case 63022: + message[".gogoproto.enumStringerAll"] = reader.bool(); + break; + case 63023: + message[".gogoproto.unsafeMarshalerAll"] = reader.bool(); + break; + case 63024: + message[".gogoproto.unsafeUnmarshalerAll"] = reader.bool(); + break; + case 63025: + message[".gogoproto.goprotoExtensionsMapAll"] = reader.bool(); + break; + case 63026: + message[".gogoproto.goprotoUnrecognizedAll"] = reader.bool(); + break; + case 63027: + message[".gogoproto.gogoprotoImport"] = reader.bool(); + break; + case 63028: + message[".gogoproto.protosizerAll"] = reader.bool(); + break; + case 63029: + message[".gogoproto.compareAll"] = reader.bool(); + break; + case 63030: + message[".gogoproto.typedeclAll"] = reader.bool(); + break; + case 63031: + message[".gogoproto.enumdeclAll"] = reader.bool(); + break; + case 63032: + message[".gogoproto.goprotoRegistration"] = reader.bool(); + break; + case 63033: + message[".gogoproto.messagenameAll"] = reader.bool(); + break; + case 63034: + message[".gogoproto.goprotoSizecacheAll"] = reader.bool(); + break; + case 63035: + message[".gogoproto.goprotoUnkeyedAll"] = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileOptions message. + * @function verify + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (!$util.isString(message.javaPackage)) + return "javaPackage: string expected"; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (!$util.isString(message.javaOuterClassname)) + return "javaOuterClassname: string expected"; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (typeof message.javaMultipleFiles !== "boolean") + return "javaMultipleFiles: boolean expected"; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (typeof message.javaGenerateEqualsAndHash !== "boolean") + return "javaGenerateEqualsAndHash: boolean expected"; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (typeof message.javaStringCheckUtf8 !== "boolean") + return "javaStringCheckUtf8: boolean expected"; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + switch (message.optimizeFor) { + default: + return "optimizeFor: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (!$util.isString(message.goPackage)) + return "goPackage: string expected"; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (typeof message.ccGenericServices !== "boolean") + return "ccGenericServices: boolean expected"; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (typeof message.javaGenericServices !== "boolean") + return "javaGenericServices: boolean expected"; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (typeof message.pyGenericServices !== "boolean") + return "pyGenericServices: boolean expected"; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (typeof message.phpGenericServices !== "boolean") + return "phpGenericServices: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (typeof message.ccEnableArenas !== "boolean") + return "ccEnableArenas: boolean expected"; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (!$util.isString(message.objcClassPrefix)) + return "objcClassPrefix: string expected"; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (!$util.isString(message.csharpNamespace)) + return "csharpNamespace: string expected"; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (!$util.isString(message.swiftPrefix)) + return "swiftPrefix: string expected"; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (!$util.isString(message.phpClassPrefix)) + return "phpClassPrefix: string expected"; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (!$util.isString(message.phpNamespace)) + return "phpNamespace: string expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".gogoproto.goprotoGettersAll"] != null && message.hasOwnProperty(".gogoproto.goprotoGettersAll")) + if (typeof message[".gogoproto.goprotoGettersAll"] !== "boolean") + return ".gogoproto.goprotoGettersAll: boolean expected"; + if (message[".gogoproto.goprotoEnumPrefixAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefixAll")) + if (typeof message[".gogoproto.goprotoEnumPrefixAll"] !== "boolean") + return ".gogoproto.goprotoEnumPrefixAll: boolean expected"; + if (message[".gogoproto.goprotoStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoStringerAll")) + if (typeof message[".gogoproto.goprotoStringerAll"] !== "boolean") + return ".gogoproto.goprotoStringerAll: boolean expected"; + if (message[".gogoproto.verboseEqualAll"] != null && message.hasOwnProperty(".gogoproto.verboseEqualAll")) + if (typeof message[".gogoproto.verboseEqualAll"] !== "boolean") + return ".gogoproto.verboseEqualAll: boolean expected"; + if (message[".gogoproto.faceAll"] != null && message.hasOwnProperty(".gogoproto.faceAll")) + if (typeof message[".gogoproto.faceAll"] !== "boolean") + return ".gogoproto.faceAll: boolean expected"; + if (message[".gogoproto.gostringAll"] != null && message.hasOwnProperty(".gogoproto.gostringAll")) + if (typeof message[".gogoproto.gostringAll"] !== "boolean") + return ".gogoproto.gostringAll: boolean expected"; + if (message[".gogoproto.populateAll"] != null && message.hasOwnProperty(".gogoproto.populateAll")) + if (typeof message[".gogoproto.populateAll"] !== "boolean") + return ".gogoproto.populateAll: boolean expected"; + if (message[".gogoproto.stringerAll"] != null && message.hasOwnProperty(".gogoproto.stringerAll")) + if (typeof message[".gogoproto.stringerAll"] !== "boolean") + return ".gogoproto.stringerAll: boolean expected"; + if (message[".gogoproto.onlyoneAll"] != null && message.hasOwnProperty(".gogoproto.onlyoneAll")) + if (typeof message[".gogoproto.onlyoneAll"] !== "boolean") + return ".gogoproto.onlyoneAll: boolean expected"; + if (message[".gogoproto.equalAll"] != null && message.hasOwnProperty(".gogoproto.equalAll")) + if (typeof message[".gogoproto.equalAll"] !== "boolean") + return ".gogoproto.equalAll: boolean expected"; + if (message[".gogoproto.descriptionAll"] != null && message.hasOwnProperty(".gogoproto.descriptionAll")) + if (typeof message[".gogoproto.descriptionAll"] !== "boolean") + return ".gogoproto.descriptionAll: boolean expected"; + if (message[".gogoproto.testgenAll"] != null && message.hasOwnProperty(".gogoproto.testgenAll")) + if (typeof message[".gogoproto.testgenAll"] !== "boolean") + return ".gogoproto.testgenAll: boolean expected"; + if (message[".gogoproto.benchgenAll"] != null && message.hasOwnProperty(".gogoproto.benchgenAll")) + if (typeof message[".gogoproto.benchgenAll"] !== "boolean") + return ".gogoproto.benchgenAll: boolean expected"; + if (message[".gogoproto.marshalerAll"] != null && message.hasOwnProperty(".gogoproto.marshalerAll")) + if (typeof message[".gogoproto.marshalerAll"] !== "boolean") + return ".gogoproto.marshalerAll: boolean expected"; + if (message[".gogoproto.unmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unmarshalerAll")) + if (typeof message[".gogoproto.unmarshalerAll"] !== "boolean") + return ".gogoproto.unmarshalerAll: boolean expected"; + if (message[".gogoproto.stableMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.stableMarshalerAll")) + if (typeof message[".gogoproto.stableMarshalerAll"] !== "boolean") + return ".gogoproto.stableMarshalerAll: boolean expected"; + if (message[".gogoproto.sizerAll"] != null && message.hasOwnProperty(".gogoproto.sizerAll")) + if (typeof message[".gogoproto.sizerAll"] !== "boolean") + return ".gogoproto.sizerAll: boolean expected"; + if (message[".gogoproto.goprotoEnumStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringerAll")) + if (typeof message[".gogoproto.goprotoEnumStringerAll"] !== "boolean") + return ".gogoproto.goprotoEnumStringerAll: boolean expected"; + if (message[".gogoproto.enumStringerAll"] != null && message.hasOwnProperty(".gogoproto.enumStringerAll")) + if (typeof message[".gogoproto.enumStringerAll"] !== "boolean") + return ".gogoproto.enumStringerAll: boolean expected"; + if (message[".gogoproto.unsafeMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshalerAll")) + if (typeof message[".gogoproto.unsafeMarshalerAll"] !== "boolean") + return ".gogoproto.unsafeMarshalerAll: boolean expected"; + if (message[".gogoproto.unsafeUnmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshalerAll")) + if (typeof message[".gogoproto.unsafeUnmarshalerAll"] !== "boolean") + return ".gogoproto.unsafeUnmarshalerAll: boolean expected"; + if (message[".gogoproto.goprotoExtensionsMapAll"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMapAll")) + if (typeof message[".gogoproto.goprotoExtensionsMapAll"] !== "boolean") + return ".gogoproto.goprotoExtensionsMapAll: boolean expected"; + if (message[".gogoproto.goprotoUnrecognizedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognizedAll")) + if (typeof message[".gogoproto.goprotoUnrecognizedAll"] !== "boolean") + return ".gogoproto.goprotoUnrecognizedAll: boolean expected"; + if (message[".gogoproto.gogoprotoImport"] != null && message.hasOwnProperty(".gogoproto.gogoprotoImport")) + if (typeof message[".gogoproto.gogoprotoImport"] !== "boolean") + return ".gogoproto.gogoprotoImport: boolean expected"; + if (message[".gogoproto.protosizerAll"] != null && message.hasOwnProperty(".gogoproto.protosizerAll")) + if (typeof message[".gogoproto.protosizerAll"] !== "boolean") + return ".gogoproto.protosizerAll: boolean expected"; + if (message[".gogoproto.compareAll"] != null && message.hasOwnProperty(".gogoproto.compareAll")) + if (typeof message[".gogoproto.compareAll"] !== "boolean") + return ".gogoproto.compareAll: boolean expected"; + if (message[".gogoproto.typedeclAll"] != null && message.hasOwnProperty(".gogoproto.typedeclAll")) + if (typeof message[".gogoproto.typedeclAll"] !== "boolean") + return ".gogoproto.typedeclAll: boolean expected"; + if (message[".gogoproto.enumdeclAll"] != null && message.hasOwnProperty(".gogoproto.enumdeclAll")) + if (typeof message[".gogoproto.enumdeclAll"] !== "boolean") + return ".gogoproto.enumdeclAll: boolean expected"; + if (message[".gogoproto.goprotoRegistration"] != null && message.hasOwnProperty(".gogoproto.goprotoRegistration")) + if (typeof message[".gogoproto.goprotoRegistration"] !== "boolean") + return ".gogoproto.goprotoRegistration: boolean expected"; + if (message[".gogoproto.messagenameAll"] != null && message.hasOwnProperty(".gogoproto.messagenameAll")) + if (typeof message[".gogoproto.messagenameAll"] !== "boolean") + return ".gogoproto.messagenameAll: boolean expected"; + if (message[".gogoproto.goprotoSizecacheAll"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecacheAll")) + if (typeof message[".gogoproto.goprotoSizecacheAll"] !== "boolean") + return ".gogoproto.goprotoSizecacheAll: boolean expected"; + if (message[".gogoproto.goprotoUnkeyedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyedAll")) + if (typeof message[".gogoproto.goprotoUnkeyedAll"] !== "boolean") + return ".gogoproto.goprotoUnkeyedAll: boolean expected"; + return null; + }; + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileOptions} FileOptions + */ + FileOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileOptions) + return object; + var message = new $root.google.protobuf.FileOptions(); + if (object.javaPackage != null) + message.javaPackage = String(object.javaPackage); + if (object.javaOuterClassname != null) + message.javaOuterClassname = String(object.javaOuterClassname); + if (object.javaMultipleFiles != null) + message.javaMultipleFiles = Boolean(object.javaMultipleFiles); + if (object.javaGenerateEqualsAndHash != null) + message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); + if (object.javaStringCheckUtf8 != null) + message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); + switch (object.optimizeFor) { + case "SPEED": + case 1: + message.optimizeFor = 1; + break; + case "CODE_SIZE": + case 2: + message.optimizeFor = 2; + break; + case "LITE_RUNTIME": + case 3: + message.optimizeFor = 3; + break; + } + if (object.goPackage != null) + message.goPackage = String(object.goPackage); + if (object.ccGenericServices != null) + message.ccGenericServices = Boolean(object.ccGenericServices); + if (object.javaGenericServices != null) + message.javaGenericServices = Boolean(object.javaGenericServices); + if (object.pyGenericServices != null) + message.pyGenericServices = Boolean(object.pyGenericServices); + if (object.phpGenericServices != null) + message.phpGenericServices = Boolean(object.phpGenericServices); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.ccEnableArenas != null) + message.ccEnableArenas = Boolean(object.ccEnableArenas); + if (object.objcClassPrefix != null) + message.objcClassPrefix = String(object.objcClassPrefix); + if (object.csharpNamespace != null) + message.csharpNamespace = String(object.csharpNamespace); + if (object.swiftPrefix != null) + message.swiftPrefix = String(object.swiftPrefix); + if (object.phpClassPrefix != null) + message.phpClassPrefix = String(object.phpClassPrefix); + if (object.phpNamespace != null) + message.phpNamespace = String(object.phpNamespace); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".gogoproto.goprotoGettersAll"] != null) + message[".gogoproto.goprotoGettersAll"] = Boolean(object[".gogoproto.goprotoGettersAll"]); + if (object[".gogoproto.goprotoEnumPrefixAll"] != null) + message[".gogoproto.goprotoEnumPrefixAll"] = Boolean(object[".gogoproto.goprotoEnumPrefixAll"]); + if (object[".gogoproto.goprotoStringerAll"] != null) + message[".gogoproto.goprotoStringerAll"] = Boolean(object[".gogoproto.goprotoStringerAll"]); + if (object[".gogoproto.verboseEqualAll"] != null) + message[".gogoproto.verboseEqualAll"] = Boolean(object[".gogoproto.verboseEqualAll"]); + if (object[".gogoproto.faceAll"] != null) + message[".gogoproto.faceAll"] = Boolean(object[".gogoproto.faceAll"]); + if (object[".gogoproto.gostringAll"] != null) + message[".gogoproto.gostringAll"] = Boolean(object[".gogoproto.gostringAll"]); + if (object[".gogoproto.populateAll"] != null) + message[".gogoproto.populateAll"] = Boolean(object[".gogoproto.populateAll"]); + if (object[".gogoproto.stringerAll"] != null) + message[".gogoproto.stringerAll"] = Boolean(object[".gogoproto.stringerAll"]); + if (object[".gogoproto.onlyoneAll"] != null) + message[".gogoproto.onlyoneAll"] = Boolean(object[".gogoproto.onlyoneAll"]); + if (object[".gogoproto.equalAll"] != null) + message[".gogoproto.equalAll"] = Boolean(object[".gogoproto.equalAll"]); + if (object[".gogoproto.descriptionAll"] != null) + message[".gogoproto.descriptionAll"] = Boolean(object[".gogoproto.descriptionAll"]); + if (object[".gogoproto.testgenAll"] != null) + message[".gogoproto.testgenAll"] = Boolean(object[".gogoproto.testgenAll"]); + if (object[".gogoproto.benchgenAll"] != null) + message[".gogoproto.benchgenAll"] = Boolean(object[".gogoproto.benchgenAll"]); + if (object[".gogoproto.marshalerAll"] != null) + message[".gogoproto.marshalerAll"] = Boolean(object[".gogoproto.marshalerAll"]); + if (object[".gogoproto.unmarshalerAll"] != null) + message[".gogoproto.unmarshalerAll"] = Boolean(object[".gogoproto.unmarshalerAll"]); + if (object[".gogoproto.stableMarshalerAll"] != null) + message[".gogoproto.stableMarshalerAll"] = Boolean(object[".gogoproto.stableMarshalerAll"]); + if (object[".gogoproto.sizerAll"] != null) + message[".gogoproto.sizerAll"] = Boolean(object[".gogoproto.sizerAll"]); + if (object[".gogoproto.goprotoEnumStringerAll"] != null) + message[".gogoproto.goprotoEnumStringerAll"] = Boolean(object[".gogoproto.goprotoEnumStringerAll"]); + if (object[".gogoproto.enumStringerAll"] != null) + message[".gogoproto.enumStringerAll"] = Boolean(object[".gogoproto.enumStringerAll"]); + if (object[".gogoproto.unsafeMarshalerAll"] != null) + message[".gogoproto.unsafeMarshalerAll"] = Boolean(object[".gogoproto.unsafeMarshalerAll"]); + if (object[".gogoproto.unsafeUnmarshalerAll"] != null) + message[".gogoproto.unsafeUnmarshalerAll"] = Boolean(object[".gogoproto.unsafeUnmarshalerAll"]); + if (object[".gogoproto.goprotoExtensionsMapAll"] != null) + message[".gogoproto.goprotoExtensionsMapAll"] = Boolean(object[".gogoproto.goprotoExtensionsMapAll"]); + if (object[".gogoproto.goprotoUnrecognizedAll"] != null) + message[".gogoproto.goprotoUnrecognizedAll"] = Boolean(object[".gogoproto.goprotoUnrecognizedAll"]); + if (object[".gogoproto.gogoprotoImport"] != null) + message[".gogoproto.gogoprotoImport"] = Boolean(object[".gogoproto.gogoprotoImport"]); + if (object[".gogoproto.protosizerAll"] != null) + message[".gogoproto.protosizerAll"] = Boolean(object[".gogoproto.protosizerAll"]); + if (object[".gogoproto.compareAll"] != null) + message[".gogoproto.compareAll"] = Boolean(object[".gogoproto.compareAll"]); + if (object[".gogoproto.typedeclAll"] != null) + message[".gogoproto.typedeclAll"] = Boolean(object[".gogoproto.typedeclAll"]); + if (object[".gogoproto.enumdeclAll"] != null) + message[".gogoproto.enumdeclAll"] = Boolean(object[".gogoproto.enumdeclAll"]); + if (object[".gogoproto.goprotoRegistration"] != null) + message[".gogoproto.goprotoRegistration"] = Boolean(object[".gogoproto.goprotoRegistration"]); + if (object[".gogoproto.messagenameAll"] != null) + message[".gogoproto.messagenameAll"] = Boolean(object[".gogoproto.messagenameAll"]); + if (object[".gogoproto.goprotoSizecacheAll"] != null) + message[".gogoproto.goprotoSizecacheAll"] = Boolean(object[".gogoproto.goprotoSizecacheAll"]); + if (object[".gogoproto.goprotoUnkeyedAll"] != null) + message[".gogoproto.goprotoUnkeyedAll"] = Boolean(object[".gogoproto.goprotoUnkeyedAll"]); + return message; + }; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.FileOptions} message FileOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.javaPackage = ""; + object.javaOuterClassname = ""; + object.optimizeFor = options.enums === String ? "SPEED" : 1; + object.javaMultipleFiles = false; + object.goPackage = ""; + object.ccGenericServices = false; + object.javaGenericServices = false; + object.pyGenericServices = false; + object.javaGenerateEqualsAndHash = false; + object.deprecated = false; + object.javaStringCheckUtf8 = false; + object.ccEnableArenas = false; + object.objcClassPrefix = ""; + object.csharpNamespace = ""; + object.swiftPrefix = ""; + object.phpClassPrefix = ""; + object.phpNamespace = ""; + object.phpGenericServices = false; + object[".gogoproto.goprotoGettersAll"] = false; + object[".gogoproto.goprotoEnumPrefixAll"] = false; + object[".gogoproto.goprotoStringerAll"] = false; + object[".gogoproto.verboseEqualAll"] = false; + object[".gogoproto.faceAll"] = false; + object[".gogoproto.gostringAll"] = false; + object[".gogoproto.populateAll"] = false; + object[".gogoproto.stringerAll"] = false; + object[".gogoproto.onlyoneAll"] = false; + object[".gogoproto.equalAll"] = false; + object[".gogoproto.descriptionAll"] = false; + object[".gogoproto.testgenAll"] = false; + object[".gogoproto.benchgenAll"] = false; + object[".gogoproto.marshalerAll"] = false; + object[".gogoproto.unmarshalerAll"] = false; + object[".gogoproto.stableMarshalerAll"] = false; + object[".gogoproto.sizerAll"] = false; + object[".gogoproto.goprotoEnumStringerAll"] = false; + object[".gogoproto.enumStringerAll"] = false; + object[".gogoproto.unsafeMarshalerAll"] = false; + object[".gogoproto.unsafeUnmarshalerAll"] = false; + object[".gogoproto.goprotoExtensionsMapAll"] = false; + object[".gogoproto.goprotoUnrecognizedAll"] = false; + object[".gogoproto.gogoprotoImport"] = false; + object[".gogoproto.protosizerAll"] = false; + object[".gogoproto.compareAll"] = false; + object[".gogoproto.typedeclAll"] = false; + object[".gogoproto.enumdeclAll"] = false; + object[".gogoproto.goprotoRegistration"] = false; + object[".gogoproto.messagenameAll"] = false; + object[".gogoproto.goprotoSizecacheAll"] = false; + object[".gogoproto.goprotoUnkeyedAll"] = false; + } + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + object.javaPackage = message.javaPackage; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + object.javaOuterClassname = message.javaOuterClassname; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + object.javaMultipleFiles = message.javaMultipleFiles; + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + object.goPackage = message.goPackage; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + object.ccGenericServices = message.ccGenericServices; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + object.javaGenericServices = message.javaGenericServices; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + object.pyGenericServices = message.pyGenericServices; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + object.javaStringCheckUtf8 = message.javaStringCheckUtf8; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + object.ccEnableArenas = message.ccEnableArenas; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + object.objcClassPrefix = message.objcClassPrefix; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + object.csharpNamespace = message.csharpNamespace; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + object.swiftPrefix = message.swiftPrefix; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + object.phpClassPrefix = message.phpClassPrefix; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + object.phpNamespace = message.phpNamespace; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + object.phpGenericServices = message.phpGenericServices; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".gogoproto.goprotoGettersAll"] != null && message.hasOwnProperty(".gogoproto.goprotoGettersAll")) + object[".gogoproto.goprotoGettersAll"] = message[".gogoproto.goprotoGettersAll"]; + if (message[".gogoproto.goprotoEnumPrefixAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefixAll")) + object[".gogoproto.goprotoEnumPrefixAll"] = message[".gogoproto.goprotoEnumPrefixAll"]; + if (message[".gogoproto.goprotoStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoStringerAll")) + object[".gogoproto.goprotoStringerAll"] = message[".gogoproto.goprotoStringerAll"]; + if (message[".gogoproto.verboseEqualAll"] != null && message.hasOwnProperty(".gogoproto.verboseEqualAll")) + object[".gogoproto.verboseEqualAll"] = message[".gogoproto.verboseEqualAll"]; + if (message[".gogoproto.faceAll"] != null && message.hasOwnProperty(".gogoproto.faceAll")) + object[".gogoproto.faceAll"] = message[".gogoproto.faceAll"]; + if (message[".gogoproto.gostringAll"] != null && message.hasOwnProperty(".gogoproto.gostringAll")) + object[".gogoproto.gostringAll"] = message[".gogoproto.gostringAll"]; + if (message[".gogoproto.populateAll"] != null && message.hasOwnProperty(".gogoproto.populateAll")) + object[".gogoproto.populateAll"] = message[".gogoproto.populateAll"]; + if (message[".gogoproto.stringerAll"] != null && message.hasOwnProperty(".gogoproto.stringerAll")) + object[".gogoproto.stringerAll"] = message[".gogoproto.stringerAll"]; + if (message[".gogoproto.onlyoneAll"] != null && message.hasOwnProperty(".gogoproto.onlyoneAll")) + object[".gogoproto.onlyoneAll"] = message[".gogoproto.onlyoneAll"]; + if (message[".gogoproto.equalAll"] != null && message.hasOwnProperty(".gogoproto.equalAll")) + object[".gogoproto.equalAll"] = message[".gogoproto.equalAll"]; + if (message[".gogoproto.descriptionAll"] != null && message.hasOwnProperty(".gogoproto.descriptionAll")) + object[".gogoproto.descriptionAll"] = message[".gogoproto.descriptionAll"]; + if (message[".gogoproto.testgenAll"] != null && message.hasOwnProperty(".gogoproto.testgenAll")) + object[".gogoproto.testgenAll"] = message[".gogoproto.testgenAll"]; + if (message[".gogoproto.benchgenAll"] != null && message.hasOwnProperty(".gogoproto.benchgenAll")) + object[".gogoproto.benchgenAll"] = message[".gogoproto.benchgenAll"]; + if (message[".gogoproto.marshalerAll"] != null && message.hasOwnProperty(".gogoproto.marshalerAll")) + object[".gogoproto.marshalerAll"] = message[".gogoproto.marshalerAll"]; + if (message[".gogoproto.unmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unmarshalerAll")) + object[".gogoproto.unmarshalerAll"] = message[".gogoproto.unmarshalerAll"]; + if (message[".gogoproto.stableMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.stableMarshalerAll")) + object[".gogoproto.stableMarshalerAll"] = message[".gogoproto.stableMarshalerAll"]; + if (message[".gogoproto.sizerAll"] != null && message.hasOwnProperty(".gogoproto.sizerAll")) + object[".gogoproto.sizerAll"] = message[".gogoproto.sizerAll"]; + if (message[".gogoproto.goprotoEnumStringerAll"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringerAll")) + object[".gogoproto.goprotoEnumStringerAll"] = message[".gogoproto.goprotoEnumStringerAll"]; + if (message[".gogoproto.enumStringerAll"] != null && message.hasOwnProperty(".gogoproto.enumStringerAll")) + object[".gogoproto.enumStringerAll"] = message[".gogoproto.enumStringerAll"]; + if (message[".gogoproto.unsafeMarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshalerAll")) + object[".gogoproto.unsafeMarshalerAll"] = message[".gogoproto.unsafeMarshalerAll"]; + if (message[".gogoproto.unsafeUnmarshalerAll"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshalerAll")) + object[".gogoproto.unsafeUnmarshalerAll"] = message[".gogoproto.unsafeUnmarshalerAll"]; + if (message[".gogoproto.goprotoExtensionsMapAll"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMapAll")) + object[".gogoproto.goprotoExtensionsMapAll"] = message[".gogoproto.goprotoExtensionsMapAll"]; + if (message[".gogoproto.goprotoUnrecognizedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognizedAll")) + object[".gogoproto.goprotoUnrecognizedAll"] = message[".gogoproto.goprotoUnrecognizedAll"]; + if (message[".gogoproto.gogoprotoImport"] != null && message.hasOwnProperty(".gogoproto.gogoprotoImport")) + object[".gogoproto.gogoprotoImport"] = message[".gogoproto.gogoprotoImport"]; + if (message[".gogoproto.protosizerAll"] != null && message.hasOwnProperty(".gogoproto.protosizerAll")) + object[".gogoproto.protosizerAll"] = message[".gogoproto.protosizerAll"]; + if (message[".gogoproto.compareAll"] != null && message.hasOwnProperty(".gogoproto.compareAll")) + object[".gogoproto.compareAll"] = message[".gogoproto.compareAll"]; + if (message[".gogoproto.typedeclAll"] != null && message.hasOwnProperty(".gogoproto.typedeclAll")) + object[".gogoproto.typedeclAll"] = message[".gogoproto.typedeclAll"]; + if (message[".gogoproto.enumdeclAll"] != null && message.hasOwnProperty(".gogoproto.enumdeclAll")) + object[".gogoproto.enumdeclAll"] = message[".gogoproto.enumdeclAll"]; + if (message[".gogoproto.goprotoRegistration"] != null && message.hasOwnProperty(".gogoproto.goprotoRegistration")) + object[".gogoproto.goprotoRegistration"] = message[".gogoproto.goprotoRegistration"]; + if (message[".gogoproto.messagenameAll"] != null && message.hasOwnProperty(".gogoproto.messagenameAll")) + object[".gogoproto.messagenameAll"] = message[".gogoproto.messagenameAll"]; + if (message[".gogoproto.goprotoSizecacheAll"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecacheAll")) + object[".gogoproto.goprotoSizecacheAll"] = message[".gogoproto.goprotoSizecacheAll"]; + if (message[".gogoproto.goprotoUnkeyedAll"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyedAll")) + object[".gogoproto.goprotoUnkeyedAll"] = message[".gogoproto.goprotoUnkeyedAll"]; + return object; + }; + + /** + * Converts this FileOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FileOptions + * @instance + * @returns {Object.} JSON object + */ + FileOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * OptimizeMode enum. + * @name google.protobuf.FileOptions.OptimizeMode + * @enum {number} + * @property {number} SPEED=1 SPEED value + * @property {number} CODE_SIZE=2 CODE_SIZE value + * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value + */ + FileOptions.OptimizeMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "SPEED"] = 1; + values[valuesById[2] = "CODE_SIZE"] = 2; + values[valuesById[3] = "LITE_RUNTIME"] = 3; + return values; + })(); + + return FileOptions; + })(); + + protobuf.MessageOptions = (function() { + + /** + * Properties of a MessageOptions. + * @memberof google.protobuf + * @interface IMessageOptions + * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat + * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor + * @property {boolean|null} [deprecated] MessageOptions deprecated + * @property {boolean|null} [mapEntry] MessageOptions mapEntry + * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption + * @property {boolean|null} [".gogoproto.goprotoGetters"] MessageOptions .gogoproto.goprotoGetters + * @property {boolean|null} [".gogoproto.goprotoStringer"] MessageOptions .gogoproto.goprotoStringer + * @property {boolean|null} [".gogoproto.verboseEqual"] MessageOptions .gogoproto.verboseEqual + * @property {boolean|null} [".gogoproto.face"] MessageOptions .gogoproto.face + * @property {boolean|null} [".gogoproto.gostring"] MessageOptions .gogoproto.gostring + * @property {boolean|null} [".gogoproto.populate"] MessageOptions .gogoproto.populate + * @property {boolean|null} [".gogoproto.stringer"] MessageOptions .gogoproto.stringer + * @property {boolean|null} [".gogoproto.onlyone"] MessageOptions .gogoproto.onlyone + * @property {boolean|null} [".gogoproto.equal"] MessageOptions .gogoproto.equal + * @property {boolean|null} [".gogoproto.description"] MessageOptions .gogoproto.description + * @property {boolean|null} [".gogoproto.testgen"] MessageOptions .gogoproto.testgen + * @property {boolean|null} [".gogoproto.benchgen"] MessageOptions .gogoproto.benchgen + * @property {boolean|null} [".gogoproto.marshaler"] MessageOptions .gogoproto.marshaler + * @property {boolean|null} [".gogoproto.unmarshaler"] MessageOptions .gogoproto.unmarshaler + * @property {boolean|null} [".gogoproto.stableMarshaler"] MessageOptions .gogoproto.stableMarshaler + * @property {boolean|null} [".gogoproto.sizer"] MessageOptions .gogoproto.sizer + * @property {boolean|null} [".gogoproto.unsafeMarshaler"] MessageOptions .gogoproto.unsafeMarshaler + * @property {boolean|null} [".gogoproto.unsafeUnmarshaler"] MessageOptions .gogoproto.unsafeUnmarshaler + * @property {boolean|null} [".gogoproto.goprotoExtensionsMap"] MessageOptions .gogoproto.goprotoExtensionsMap + * @property {boolean|null} [".gogoproto.goprotoUnrecognized"] MessageOptions .gogoproto.goprotoUnrecognized + * @property {boolean|null} [".gogoproto.protosizer"] MessageOptions .gogoproto.protosizer + * @property {boolean|null} [".gogoproto.compare"] MessageOptions .gogoproto.compare + * @property {boolean|null} [".gogoproto.typedecl"] MessageOptions .gogoproto.typedecl + * @property {boolean|null} [".gogoproto.messagename"] MessageOptions .gogoproto.messagename + * @property {boolean|null} [".gogoproto.goprotoSizecache"] MessageOptions .gogoproto.goprotoSizecache + * @property {boolean|null} [".gogoproto.goprotoUnkeyed"] MessageOptions .gogoproto.goprotoUnkeyed + */ + + /** + * Constructs a new MessageOptions. + * @memberof google.protobuf + * @classdesc Represents a MessageOptions. + * @implements IMessageOptions + * @constructor + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + */ + function MessageOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageOptions messageSetWireFormat. + * @member {boolean} messageSetWireFormat + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.messageSetWireFormat = false; + + /** + * MessageOptions noStandardDescriptorAccessor. + * @member {boolean} noStandardDescriptorAccessor + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * MessageOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecated = false; + + /** + * MessageOptions mapEntry. + * @member {boolean} mapEntry + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.mapEntry = false; + + /** + * MessageOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MessageOptions .gogoproto.goprotoGetters. + * @member {boolean} .gogoproto.goprotoGetters + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.goprotoGetters"] = false; + + /** + * MessageOptions .gogoproto.goprotoStringer. + * @member {boolean} .gogoproto.goprotoStringer + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.goprotoStringer"] = false; + + /** + * MessageOptions .gogoproto.verboseEqual. + * @member {boolean} .gogoproto.verboseEqual + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.verboseEqual"] = false; + + /** + * MessageOptions .gogoproto.face. + * @member {boolean} .gogoproto.face + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.face"] = false; + + /** + * MessageOptions .gogoproto.gostring. + * @member {boolean} .gogoproto.gostring + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.gostring"] = false; + + /** + * MessageOptions .gogoproto.populate. + * @member {boolean} .gogoproto.populate + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.populate"] = false; + + /** + * MessageOptions .gogoproto.stringer. + * @member {boolean} .gogoproto.stringer + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.stringer"] = false; + + /** + * MessageOptions .gogoproto.onlyone. + * @member {boolean} .gogoproto.onlyone + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.onlyone"] = false; + + /** + * MessageOptions .gogoproto.equal. + * @member {boolean} .gogoproto.equal + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.equal"] = false; + + /** + * MessageOptions .gogoproto.description. + * @member {boolean} .gogoproto.description + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.description"] = false; + + /** + * MessageOptions .gogoproto.testgen. + * @member {boolean} .gogoproto.testgen + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.testgen"] = false; + + /** + * MessageOptions .gogoproto.benchgen. + * @member {boolean} .gogoproto.benchgen + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.benchgen"] = false; + + /** + * MessageOptions .gogoproto.marshaler. + * @member {boolean} .gogoproto.marshaler + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.marshaler"] = false; + + /** + * MessageOptions .gogoproto.unmarshaler. + * @member {boolean} .gogoproto.unmarshaler + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.unmarshaler"] = false; + + /** + * MessageOptions .gogoproto.stableMarshaler. + * @member {boolean} .gogoproto.stableMarshaler + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.stableMarshaler"] = false; + + /** + * MessageOptions .gogoproto.sizer. + * @member {boolean} .gogoproto.sizer + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.sizer"] = false; + + /** + * MessageOptions .gogoproto.unsafeMarshaler. + * @member {boolean} .gogoproto.unsafeMarshaler + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.unsafeMarshaler"] = false; + + /** + * MessageOptions .gogoproto.unsafeUnmarshaler. + * @member {boolean} .gogoproto.unsafeUnmarshaler + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.unsafeUnmarshaler"] = false; + + /** + * MessageOptions .gogoproto.goprotoExtensionsMap. + * @member {boolean} .gogoproto.goprotoExtensionsMap + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.goprotoExtensionsMap"] = false; + + /** + * MessageOptions .gogoproto.goprotoUnrecognized. + * @member {boolean} .gogoproto.goprotoUnrecognized + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.goprotoUnrecognized"] = false; + + /** + * MessageOptions .gogoproto.protosizer. + * @member {boolean} .gogoproto.protosizer + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.protosizer"] = false; + + /** + * MessageOptions .gogoproto.compare. + * @member {boolean} .gogoproto.compare + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.compare"] = false; + + /** + * MessageOptions .gogoproto.typedecl. + * @member {boolean} .gogoproto.typedecl + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.typedecl"] = false; + + /** + * MessageOptions .gogoproto.messagename. + * @member {boolean} .gogoproto.messagename + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.messagename"] = false; + + /** + * MessageOptions .gogoproto.goprotoSizecache. + * @member {boolean} .gogoproto.goprotoSizecache + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.goprotoSizecache"] = false; + + /** + * MessageOptions .gogoproto.goprotoUnkeyed. + * @member {boolean} .gogoproto.goprotoUnkeyed + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".gogoproto.goprotoUnkeyed"] = false; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * @returns {google.protobuf.MessageOptions} MessageOptions instance + */ + MessageOptions.create = function create(properties) { + return new MessageOptions(properties); + }; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".gogoproto.goprotoGetters"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoGetters")) + writer.uint32(/* id 64001, wireType 0 =*/512008).bool(message[".gogoproto.goprotoGetters"]); + if (message[".gogoproto.goprotoStringer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoStringer")) + writer.uint32(/* id 64003, wireType 0 =*/512024).bool(message[".gogoproto.goprotoStringer"]); + if (message[".gogoproto.verboseEqual"] != null && Object.hasOwnProperty.call(message, ".gogoproto.verboseEqual")) + writer.uint32(/* id 64004, wireType 0 =*/512032).bool(message[".gogoproto.verboseEqual"]); + if (message[".gogoproto.face"] != null && Object.hasOwnProperty.call(message, ".gogoproto.face")) + writer.uint32(/* id 64005, wireType 0 =*/512040).bool(message[".gogoproto.face"]); + if (message[".gogoproto.gostring"] != null && Object.hasOwnProperty.call(message, ".gogoproto.gostring")) + writer.uint32(/* id 64006, wireType 0 =*/512048).bool(message[".gogoproto.gostring"]); + if (message[".gogoproto.populate"] != null && Object.hasOwnProperty.call(message, ".gogoproto.populate")) + writer.uint32(/* id 64007, wireType 0 =*/512056).bool(message[".gogoproto.populate"]); + if (message[".gogoproto.onlyone"] != null && Object.hasOwnProperty.call(message, ".gogoproto.onlyone")) + writer.uint32(/* id 64009, wireType 0 =*/512072).bool(message[".gogoproto.onlyone"]); + if (message[".gogoproto.equal"] != null && Object.hasOwnProperty.call(message, ".gogoproto.equal")) + writer.uint32(/* id 64013, wireType 0 =*/512104).bool(message[".gogoproto.equal"]); + if (message[".gogoproto.description"] != null && Object.hasOwnProperty.call(message, ".gogoproto.description")) + writer.uint32(/* id 64014, wireType 0 =*/512112).bool(message[".gogoproto.description"]); + if (message[".gogoproto.testgen"] != null && Object.hasOwnProperty.call(message, ".gogoproto.testgen")) + writer.uint32(/* id 64015, wireType 0 =*/512120).bool(message[".gogoproto.testgen"]); + if (message[".gogoproto.benchgen"] != null && Object.hasOwnProperty.call(message, ".gogoproto.benchgen")) + writer.uint32(/* id 64016, wireType 0 =*/512128).bool(message[".gogoproto.benchgen"]); + if (message[".gogoproto.marshaler"] != null && Object.hasOwnProperty.call(message, ".gogoproto.marshaler")) + writer.uint32(/* id 64017, wireType 0 =*/512136).bool(message[".gogoproto.marshaler"]); + if (message[".gogoproto.unmarshaler"] != null && Object.hasOwnProperty.call(message, ".gogoproto.unmarshaler")) + writer.uint32(/* id 64018, wireType 0 =*/512144).bool(message[".gogoproto.unmarshaler"]); + if (message[".gogoproto.stableMarshaler"] != null && Object.hasOwnProperty.call(message, ".gogoproto.stableMarshaler")) + writer.uint32(/* id 64019, wireType 0 =*/512152).bool(message[".gogoproto.stableMarshaler"]); + if (message[".gogoproto.sizer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.sizer")) + writer.uint32(/* id 64020, wireType 0 =*/512160).bool(message[".gogoproto.sizer"]); + if (message[".gogoproto.unsafeMarshaler"] != null && Object.hasOwnProperty.call(message, ".gogoproto.unsafeMarshaler")) + writer.uint32(/* id 64023, wireType 0 =*/512184).bool(message[".gogoproto.unsafeMarshaler"]); + if (message[".gogoproto.unsafeUnmarshaler"] != null && Object.hasOwnProperty.call(message, ".gogoproto.unsafeUnmarshaler")) + writer.uint32(/* id 64024, wireType 0 =*/512192).bool(message[".gogoproto.unsafeUnmarshaler"]); + if (message[".gogoproto.goprotoExtensionsMap"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoExtensionsMap")) + writer.uint32(/* id 64025, wireType 0 =*/512200).bool(message[".gogoproto.goprotoExtensionsMap"]); + if (message[".gogoproto.goprotoUnrecognized"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoUnrecognized")) + writer.uint32(/* id 64026, wireType 0 =*/512208).bool(message[".gogoproto.goprotoUnrecognized"]); + if (message[".gogoproto.protosizer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.protosizer")) + writer.uint32(/* id 64028, wireType 0 =*/512224).bool(message[".gogoproto.protosizer"]); + if (message[".gogoproto.compare"] != null && Object.hasOwnProperty.call(message, ".gogoproto.compare")) + writer.uint32(/* id 64029, wireType 0 =*/512232).bool(message[".gogoproto.compare"]); + if (message[".gogoproto.typedecl"] != null && Object.hasOwnProperty.call(message, ".gogoproto.typedecl")) + writer.uint32(/* id 64030, wireType 0 =*/512240).bool(message[".gogoproto.typedecl"]); + if (message[".gogoproto.messagename"] != null && Object.hasOwnProperty.call(message, ".gogoproto.messagename")) + writer.uint32(/* id 64033, wireType 0 =*/512264).bool(message[".gogoproto.messagename"]); + if (message[".gogoproto.goprotoSizecache"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoSizecache")) + writer.uint32(/* id 64034, wireType 0 =*/512272).bool(message[".gogoproto.goprotoSizecache"]); + if (message[".gogoproto.goprotoUnkeyed"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoUnkeyed")) + writer.uint32(/* id 64035, wireType 0 =*/512280).bool(message[".gogoproto.goprotoUnkeyed"]); + if (message[".gogoproto.stringer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.stringer")) + writer.uint32(/* id 67008, wireType 0 =*/536064).bool(message[".gogoproto.stringer"]); + return writer; + }; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messageSetWireFormat = reader.bool(); + break; + case 2: + message.noStandardDescriptorAccessor = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 7: + message.mapEntry = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 64001: + message[".gogoproto.goprotoGetters"] = reader.bool(); + break; + case 64003: + message[".gogoproto.goprotoStringer"] = reader.bool(); + break; + case 64004: + message[".gogoproto.verboseEqual"] = reader.bool(); + break; + case 64005: + message[".gogoproto.face"] = reader.bool(); + break; + case 64006: + message[".gogoproto.gostring"] = reader.bool(); + break; + case 64007: + message[".gogoproto.populate"] = reader.bool(); + break; + case 67008: + message[".gogoproto.stringer"] = reader.bool(); + break; + case 64009: + message[".gogoproto.onlyone"] = reader.bool(); + break; + case 64013: + message[".gogoproto.equal"] = reader.bool(); + break; + case 64014: + message[".gogoproto.description"] = reader.bool(); + break; + case 64015: + message[".gogoproto.testgen"] = reader.bool(); + break; + case 64016: + message[".gogoproto.benchgen"] = reader.bool(); + break; + case 64017: + message[".gogoproto.marshaler"] = reader.bool(); + break; + case 64018: + message[".gogoproto.unmarshaler"] = reader.bool(); + break; + case 64019: + message[".gogoproto.stableMarshaler"] = reader.bool(); + break; + case 64020: + message[".gogoproto.sizer"] = reader.bool(); + break; + case 64023: + message[".gogoproto.unsafeMarshaler"] = reader.bool(); + break; + case 64024: + message[".gogoproto.unsafeUnmarshaler"] = reader.bool(); + break; + case 64025: + message[".gogoproto.goprotoExtensionsMap"] = reader.bool(); + break; + case 64026: + message[".gogoproto.goprotoUnrecognized"] = reader.bool(); + break; + case 64028: + message[".gogoproto.protosizer"] = reader.bool(); + break; + case 64029: + message[".gogoproto.compare"] = reader.bool(); + break; + case 64030: + message[".gogoproto.typedecl"] = reader.bool(); + break; + case 64033: + message[".gogoproto.messagename"] = reader.bool(); + break; + case 64034: + message[".gogoproto.goprotoSizecache"] = reader.bool(); + break; + case 64035: + message[".gogoproto.goprotoUnkeyed"] = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageOptions message. + * @function verify + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (typeof message.messageSetWireFormat !== "boolean") + return "messageSetWireFormat: boolean expected"; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (typeof message.noStandardDescriptorAccessor !== "boolean") + return "noStandardDescriptorAccessor: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (typeof message.mapEntry !== "boolean") + return "mapEntry: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".gogoproto.goprotoGetters"] != null && message.hasOwnProperty(".gogoproto.goprotoGetters")) + if (typeof message[".gogoproto.goprotoGetters"] !== "boolean") + return ".gogoproto.goprotoGetters: boolean expected"; + if (message[".gogoproto.goprotoStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoStringer")) + if (typeof message[".gogoproto.goprotoStringer"] !== "boolean") + return ".gogoproto.goprotoStringer: boolean expected"; + if (message[".gogoproto.verboseEqual"] != null && message.hasOwnProperty(".gogoproto.verboseEqual")) + if (typeof message[".gogoproto.verboseEqual"] !== "boolean") + return ".gogoproto.verboseEqual: boolean expected"; + if (message[".gogoproto.face"] != null && message.hasOwnProperty(".gogoproto.face")) + if (typeof message[".gogoproto.face"] !== "boolean") + return ".gogoproto.face: boolean expected"; + if (message[".gogoproto.gostring"] != null && message.hasOwnProperty(".gogoproto.gostring")) + if (typeof message[".gogoproto.gostring"] !== "boolean") + return ".gogoproto.gostring: boolean expected"; + if (message[".gogoproto.populate"] != null && message.hasOwnProperty(".gogoproto.populate")) + if (typeof message[".gogoproto.populate"] !== "boolean") + return ".gogoproto.populate: boolean expected"; + if (message[".gogoproto.stringer"] != null && message.hasOwnProperty(".gogoproto.stringer")) + if (typeof message[".gogoproto.stringer"] !== "boolean") + return ".gogoproto.stringer: boolean expected"; + if (message[".gogoproto.onlyone"] != null && message.hasOwnProperty(".gogoproto.onlyone")) + if (typeof message[".gogoproto.onlyone"] !== "boolean") + return ".gogoproto.onlyone: boolean expected"; + if (message[".gogoproto.equal"] != null && message.hasOwnProperty(".gogoproto.equal")) + if (typeof message[".gogoproto.equal"] !== "boolean") + return ".gogoproto.equal: boolean expected"; + if (message[".gogoproto.description"] != null && message.hasOwnProperty(".gogoproto.description")) + if (typeof message[".gogoproto.description"] !== "boolean") + return ".gogoproto.description: boolean expected"; + if (message[".gogoproto.testgen"] != null && message.hasOwnProperty(".gogoproto.testgen")) + if (typeof message[".gogoproto.testgen"] !== "boolean") + return ".gogoproto.testgen: boolean expected"; + if (message[".gogoproto.benchgen"] != null && message.hasOwnProperty(".gogoproto.benchgen")) + if (typeof message[".gogoproto.benchgen"] !== "boolean") + return ".gogoproto.benchgen: boolean expected"; + if (message[".gogoproto.marshaler"] != null && message.hasOwnProperty(".gogoproto.marshaler")) + if (typeof message[".gogoproto.marshaler"] !== "boolean") + return ".gogoproto.marshaler: boolean expected"; + if (message[".gogoproto.unmarshaler"] != null && message.hasOwnProperty(".gogoproto.unmarshaler")) + if (typeof message[".gogoproto.unmarshaler"] !== "boolean") + return ".gogoproto.unmarshaler: boolean expected"; + if (message[".gogoproto.stableMarshaler"] != null && message.hasOwnProperty(".gogoproto.stableMarshaler")) + if (typeof message[".gogoproto.stableMarshaler"] !== "boolean") + return ".gogoproto.stableMarshaler: boolean expected"; + if (message[".gogoproto.sizer"] != null && message.hasOwnProperty(".gogoproto.sizer")) + if (typeof message[".gogoproto.sizer"] !== "boolean") + return ".gogoproto.sizer: boolean expected"; + if (message[".gogoproto.unsafeMarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshaler")) + if (typeof message[".gogoproto.unsafeMarshaler"] !== "boolean") + return ".gogoproto.unsafeMarshaler: boolean expected"; + if (message[".gogoproto.unsafeUnmarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshaler")) + if (typeof message[".gogoproto.unsafeUnmarshaler"] !== "boolean") + return ".gogoproto.unsafeUnmarshaler: boolean expected"; + if (message[".gogoproto.goprotoExtensionsMap"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMap")) + if (typeof message[".gogoproto.goprotoExtensionsMap"] !== "boolean") + return ".gogoproto.goprotoExtensionsMap: boolean expected"; + if (message[".gogoproto.goprotoUnrecognized"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognized")) + if (typeof message[".gogoproto.goprotoUnrecognized"] !== "boolean") + return ".gogoproto.goprotoUnrecognized: boolean expected"; + if (message[".gogoproto.protosizer"] != null && message.hasOwnProperty(".gogoproto.protosizer")) + if (typeof message[".gogoproto.protosizer"] !== "boolean") + return ".gogoproto.protosizer: boolean expected"; + if (message[".gogoproto.compare"] != null && message.hasOwnProperty(".gogoproto.compare")) + if (typeof message[".gogoproto.compare"] !== "boolean") + return ".gogoproto.compare: boolean expected"; + if (message[".gogoproto.typedecl"] != null && message.hasOwnProperty(".gogoproto.typedecl")) + if (typeof message[".gogoproto.typedecl"] !== "boolean") + return ".gogoproto.typedecl: boolean expected"; + if (message[".gogoproto.messagename"] != null && message.hasOwnProperty(".gogoproto.messagename")) + if (typeof message[".gogoproto.messagename"] !== "boolean") + return ".gogoproto.messagename: boolean expected"; + if (message[".gogoproto.goprotoSizecache"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecache")) + if (typeof message[".gogoproto.goprotoSizecache"] !== "boolean") + return ".gogoproto.goprotoSizecache: boolean expected"; + if (message[".gogoproto.goprotoUnkeyed"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyed")) + if (typeof message[".gogoproto.goprotoUnkeyed"] !== "boolean") + return ".gogoproto.goprotoUnkeyed: boolean expected"; + return null; + }; + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MessageOptions} MessageOptions + */ + MessageOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MessageOptions) + return object; + var message = new $root.google.protobuf.MessageOptions(); + if (object.messageSetWireFormat != null) + message.messageSetWireFormat = Boolean(object.messageSetWireFormat); + if (object.noStandardDescriptorAccessor != null) + message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.mapEntry != null) + message.mapEntry = Boolean(object.mapEntry); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".gogoproto.goprotoGetters"] != null) + message[".gogoproto.goprotoGetters"] = Boolean(object[".gogoproto.goprotoGetters"]); + if (object[".gogoproto.goprotoStringer"] != null) + message[".gogoproto.goprotoStringer"] = Boolean(object[".gogoproto.goprotoStringer"]); + if (object[".gogoproto.verboseEqual"] != null) + message[".gogoproto.verboseEqual"] = Boolean(object[".gogoproto.verboseEqual"]); + if (object[".gogoproto.face"] != null) + message[".gogoproto.face"] = Boolean(object[".gogoproto.face"]); + if (object[".gogoproto.gostring"] != null) + message[".gogoproto.gostring"] = Boolean(object[".gogoproto.gostring"]); + if (object[".gogoproto.populate"] != null) + message[".gogoproto.populate"] = Boolean(object[".gogoproto.populate"]); + if (object[".gogoproto.stringer"] != null) + message[".gogoproto.stringer"] = Boolean(object[".gogoproto.stringer"]); + if (object[".gogoproto.onlyone"] != null) + message[".gogoproto.onlyone"] = Boolean(object[".gogoproto.onlyone"]); + if (object[".gogoproto.equal"] != null) + message[".gogoproto.equal"] = Boolean(object[".gogoproto.equal"]); + if (object[".gogoproto.description"] != null) + message[".gogoproto.description"] = Boolean(object[".gogoproto.description"]); + if (object[".gogoproto.testgen"] != null) + message[".gogoproto.testgen"] = Boolean(object[".gogoproto.testgen"]); + if (object[".gogoproto.benchgen"] != null) + message[".gogoproto.benchgen"] = Boolean(object[".gogoproto.benchgen"]); + if (object[".gogoproto.marshaler"] != null) + message[".gogoproto.marshaler"] = Boolean(object[".gogoproto.marshaler"]); + if (object[".gogoproto.unmarshaler"] != null) + message[".gogoproto.unmarshaler"] = Boolean(object[".gogoproto.unmarshaler"]); + if (object[".gogoproto.stableMarshaler"] != null) + message[".gogoproto.stableMarshaler"] = Boolean(object[".gogoproto.stableMarshaler"]); + if (object[".gogoproto.sizer"] != null) + message[".gogoproto.sizer"] = Boolean(object[".gogoproto.sizer"]); + if (object[".gogoproto.unsafeMarshaler"] != null) + message[".gogoproto.unsafeMarshaler"] = Boolean(object[".gogoproto.unsafeMarshaler"]); + if (object[".gogoproto.unsafeUnmarshaler"] != null) + message[".gogoproto.unsafeUnmarshaler"] = Boolean(object[".gogoproto.unsafeUnmarshaler"]); + if (object[".gogoproto.goprotoExtensionsMap"] != null) + message[".gogoproto.goprotoExtensionsMap"] = Boolean(object[".gogoproto.goprotoExtensionsMap"]); + if (object[".gogoproto.goprotoUnrecognized"] != null) + message[".gogoproto.goprotoUnrecognized"] = Boolean(object[".gogoproto.goprotoUnrecognized"]); + if (object[".gogoproto.protosizer"] != null) + message[".gogoproto.protosizer"] = Boolean(object[".gogoproto.protosizer"]); + if (object[".gogoproto.compare"] != null) + message[".gogoproto.compare"] = Boolean(object[".gogoproto.compare"]); + if (object[".gogoproto.typedecl"] != null) + message[".gogoproto.typedecl"] = Boolean(object[".gogoproto.typedecl"]); + if (object[".gogoproto.messagename"] != null) + message[".gogoproto.messagename"] = Boolean(object[".gogoproto.messagename"]); + if (object[".gogoproto.goprotoSizecache"] != null) + message[".gogoproto.goprotoSizecache"] = Boolean(object[".gogoproto.goprotoSizecache"]); + if (object[".gogoproto.goprotoUnkeyed"] != null) + message[".gogoproto.goprotoUnkeyed"] = Boolean(object[".gogoproto.goprotoUnkeyed"]); + return message; + }; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.messageSetWireFormat = false; + object.noStandardDescriptorAccessor = false; + object.deprecated = false; + object.mapEntry = false; + object[".gogoproto.goprotoGetters"] = false; + object[".gogoproto.goprotoStringer"] = false; + object[".gogoproto.verboseEqual"] = false; + object[".gogoproto.face"] = false; + object[".gogoproto.gostring"] = false; + object[".gogoproto.populate"] = false; + object[".gogoproto.onlyone"] = false; + object[".gogoproto.equal"] = false; + object[".gogoproto.description"] = false; + object[".gogoproto.testgen"] = false; + object[".gogoproto.benchgen"] = false; + object[".gogoproto.marshaler"] = false; + object[".gogoproto.unmarshaler"] = false; + object[".gogoproto.stableMarshaler"] = false; + object[".gogoproto.sizer"] = false; + object[".gogoproto.unsafeMarshaler"] = false; + object[".gogoproto.unsafeUnmarshaler"] = false; + object[".gogoproto.goprotoExtensionsMap"] = false; + object[".gogoproto.goprotoUnrecognized"] = false; + object[".gogoproto.protosizer"] = false; + object[".gogoproto.compare"] = false; + object[".gogoproto.typedecl"] = false; + object[".gogoproto.messagename"] = false; + object[".gogoproto.goprotoSizecache"] = false; + object[".gogoproto.goprotoUnkeyed"] = false; + object[".gogoproto.stringer"] = false; + } + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + object.messageSetWireFormat = message.messageSetWireFormat; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + object.mapEntry = message.mapEntry; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".gogoproto.goprotoGetters"] != null && message.hasOwnProperty(".gogoproto.goprotoGetters")) + object[".gogoproto.goprotoGetters"] = message[".gogoproto.goprotoGetters"]; + if (message[".gogoproto.goprotoStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoStringer")) + object[".gogoproto.goprotoStringer"] = message[".gogoproto.goprotoStringer"]; + if (message[".gogoproto.verboseEqual"] != null && message.hasOwnProperty(".gogoproto.verboseEqual")) + object[".gogoproto.verboseEqual"] = message[".gogoproto.verboseEqual"]; + if (message[".gogoproto.face"] != null && message.hasOwnProperty(".gogoproto.face")) + object[".gogoproto.face"] = message[".gogoproto.face"]; + if (message[".gogoproto.gostring"] != null && message.hasOwnProperty(".gogoproto.gostring")) + object[".gogoproto.gostring"] = message[".gogoproto.gostring"]; + if (message[".gogoproto.populate"] != null && message.hasOwnProperty(".gogoproto.populate")) + object[".gogoproto.populate"] = message[".gogoproto.populate"]; + if (message[".gogoproto.onlyone"] != null && message.hasOwnProperty(".gogoproto.onlyone")) + object[".gogoproto.onlyone"] = message[".gogoproto.onlyone"]; + if (message[".gogoproto.equal"] != null && message.hasOwnProperty(".gogoproto.equal")) + object[".gogoproto.equal"] = message[".gogoproto.equal"]; + if (message[".gogoproto.description"] != null && message.hasOwnProperty(".gogoproto.description")) + object[".gogoproto.description"] = message[".gogoproto.description"]; + if (message[".gogoproto.testgen"] != null && message.hasOwnProperty(".gogoproto.testgen")) + object[".gogoproto.testgen"] = message[".gogoproto.testgen"]; + if (message[".gogoproto.benchgen"] != null && message.hasOwnProperty(".gogoproto.benchgen")) + object[".gogoproto.benchgen"] = message[".gogoproto.benchgen"]; + if (message[".gogoproto.marshaler"] != null && message.hasOwnProperty(".gogoproto.marshaler")) + object[".gogoproto.marshaler"] = message[".gogoproto.marshaler"]; + if (message[".gogoproto.unmarshaler"] != null && message.hasOwnProperty(".gogoproto.unmarshaler")) + object[".gogoproto.unmarshaler"] = message[".gogoproto.unmarshaler"]; + if (message[".gogoproto.stableMarshaler"] != null && message.hasOwnProperty(".gogoproto.stableMarshaler")) + object[".gogoproto.stableMarshaler"] = message[".gogoproto.stableMarshaler"]; + if (message[".gogoproto.sizer"] != null && message.hasOwnProperty(".gogoproto.sizer")) + object[".gogoproto.sizer"] = message[".gogoproto.sizer"]; + if (message[".gogoproto.unsafeMarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeMarshaler")) + object[".gogoproto.unsafeMarshaler"] = message[".gogoproto.unsafeMarshaler"]; + if (message[".gogoproto.unsafeUnmarshaler"] != null && message.hasOwnProperty(".gogoproto.unsafeUnmarshaler")) + object[".gogoproto.unsafeUnmarshaler"] = message[".gogoproto.unsafeUnmarshaler"]; + if (message[".gogoproto.goprotoExtensionsMap"] != null && message.hasOwnProperty(".gogoproto.goprotoExtensionsMap")) + object[".gogoproto.goprotoExtensionsMap"] = message[".gogoproto.goprotoExtensionsMap"]; + if (message[".gogoproto.goprotoUnrecognized"] != null && message.hasOwnProperty(".gogoproto.goprotoUnrecognized")) + object[".gogoproto.goprotoUnrecognized"] = message[".gogoproto.goprotoUnrecognized"]; + if (message[".gogoproto.protosizer"] != null && message.hasOwnProperty(".gogoproto.protosizer")) + object[".gogoproto.protosizer"] = message[".gogoproto.protosizer"]; + if (message[".gogoproto.compare"] != null && message.hasOwnProperty(".gogoproto.compare")) + object[".gogoproto.compare"] = message[".gogoproto.compare"]; + if (message[".gogoproto.typedecl"] != null && message.hasOwnProperty(".gogoproto.typedecl")) + object[".gogoproto.typedecl"] = message[".gogoproto.typedecl"]; + if (message[".gogoproto.messagename"] != null && message.hasOwnProperty(".gogoproto.messagename")) + object[".gogoproto.messagename"] = message[".gogoproto.messagename"]; + if (message[".gogoproto.goprotoSizecache"] != null && message.hasOwnProperty(".gogoproto.goprotoSizecache")) + object[".gogoproto.goprotoSizecache"] = message[".gogoproto.goprotoSizecache"]; + if (message[".gogoproto.goprotoUnkeyed"] != null && message.hasOwnProperty(".gogoproto.goprotoUnkeyed")) + object[".gogoproto.goprotoUnkeyed"] = message[".gogoproto.goprotoUnkeyed"]; + if (message[".gogoproto.stringer"] != null && message.hasOwnProperty(".gogoproto.stringer")) + object[".gogoproto.stringer"] = message[".gogoproto.stringer"]; + return object; + }; + + /** + * Converts this MessageOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MessageOptions + * @instance + * @returns {Object.} JSON object + */ + MessageOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MessageOptions; + })(); + + protobuf.FieldOptions = (function() { + + /** + * Properties of a FieldOptions. + * @memberof google.protobuf + * @interface IFieldOptions + * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype + * @property {boolean|null} [packed] FieldOptions packed + * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype + * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [deprecated] FieldOptions deprecated + * @property {boolean|null} [weak] FieldOptions weak + * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption + * @property {boolean|null} [".gogoproto.nullable"] FieldOptions .gogoproto.nullable + * @property {boolean|null} [".gogoproto.embed"] FieldOptions .gogoproto.embed + * @property {string|null} [".gogoproto.customtype"] FieldOptions .gogoproto.customtype + * @property {string|null} [".gogoproto.customname"] FieldOptions .gogoproto.customname + * @property {string|null} [".gogoproto.jsontag"] FieldOptions .gogoproto.jsontag + * @property {string|null} [".gogoproto.moretags"] FieldOptions .gogoproto.moretags + * @property {string|null} [".gogoproto.casttype"] FieldOptions .gogoproto.casttype + * @property {string|null} [".gogoproto.castkey"] FieldOptions .gogoproto.castkey + * @property {string|null} [".gogoproto.castvalue"] FieldOptions .gogoproto.castvalue + * @property {boolean|null} [".gogoproto.stdtime"] FieldOptions .gogoproto.stdtime + * @property {boolean|null} [".gogoproto.stdduration"] FieldOptions .gogoproto.stdduration + * @property {boolean|null} [".gogoproto.wktpointer"] FieldOptions .gogoproto.wktpointer + * @property {string|null} [".gogoproto.castrepeated"] FieldOptions .gogoproto.castrepeated + */ + + /** + * Constructs a new FieldOptions. + * @memberof google.protobuf + * @classdesc Represents a FieldOptions. + * @implements IFieldOptions + * @constructor + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + */ + function FieldOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldOptions ctype. + * @member {google.protobuf.FieldOptions.CType} ctype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.ctype = 0; + + /** + * FieldOptions packed. + * @member {boolean} packed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.packed = false; + + /** + * FieldOptions jstype. + * @member {google.protobuf.FieldOptions.JSType} jstype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.jstype = 0; + + /** + * FieldOptions lazy. + * @member {boolean} lazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.lazy = false; + + /** + * FieldOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.deprecated = false; + + /** + * FieldOptions weak. + * @member {boolean} weak + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.weak = false; + + /** + * FieldOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FieldOptions .gogoproto.nullable. + * @member {boolean} .gogoproto.nullable + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.nullable"] = false; + + /** + * FieldOptions .gogoproto.embed. + * @member {boolean} .gogoproto.embed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.embed"] = false; + + /** + * FieldOptions .gogoproto.customtype. + * @member {string} .gogoproto.customtype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.customtype"] = ""; + + /** + * FieldOptions .gogoproto.customname. + * @member {string} .gogoproto.customname + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.customname"] = ""; + + /** + * FieldOptions .gogoproto.jsontag. + * @member {string} .gogoproto.jsontag + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.jsontag"] = ""; + + /** + * FieldOptions .gogoproto.moretags. + * @member {string} .gogoproto.moretags + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.moretags"] = ""; + + /** + * FieldOptions .gogoproto.casttype. + * @member {string} .gogoproto.casttype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.casttype"] = ""; + + /** + * FieldOptions .gogoproto.castkey. + * @member {string} .gogoproto.castkey + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.castkey"] = ""; + + /** + * FieldOptions .gogoproto.castvalue. + * @member {string} .gogoproto.castvalue + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.castvalue"] = ""; + + /** + * FieldOptions .gogoproto.stdtime. + * @member {boolean} .gogoproto.stdtime + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.stdtime"] = false; + + /** + * FieldOptions .gogoproto.stdduration. + * @member {boolean} .gogoproto.stdduration + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.stdduration"] = false; + + /** + * FieldOptions .gogoproto.wktpointer. + * @member {boolean} .gogoproto.wktpointer + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.wktpointer"] = false; + + /** + * FieldOptions .gogoproto.castrepeated. + * @member {string} .gogoproto.castrepeated + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".gogoproto.castrepeated"] = ""; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions} FieldOptions instance + */ + FieldOptions.create = function create(properties) { + return new FieldOptions(properties); + }; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".gogoproto.nullable"] != null && Object.hasOwnProperty.call(message, ".gogoproto.nullable")) + writer.uint32(/* id 65001, wireType 0 =*/520008).bool(message[".gogoproto.nullable"]); + if (message[".gogoproto.embed"] != null && Object.hasOwnProperty.call(message, ".gogoproto.embed")) + writer.uint32(/* id 65002, wireType 0 =*/520016).bool(message[".gogoproto.embed"]); + if (message[".gogoproto.customtype"] != null && Object.hasOwnProperty.call(message, ".gogoproto.customtype")) + writer.uint32(/* id 65003, wireType 2 =*/520026).string(message[".gogoproto.customtype"]); + if (message[".gogoproto.customname"] != null && Object.hasOwnProperty.call(message, ".gogoproto.customname")) + writer.uint32(/* id 65004, wireType 2 =*/520034).string(message[".gogoproto.customname"]); + if (message[".gogoproto.jsontag"] != null && Object.hasOwnProperty.call(message, ".gogoproto.jsontag")) + writer.uint32(/* id 65005, wireType 2 =*/520042).string(message[".gogoproto.jsontag"]); + if (message[".gogoproto.moretags"] != null && Object.hasOwnProperty.call(message, ".gogoproto.moretags")) + writer.uint32(/* id 65006, wireType 2 =*/520050).string(message[".gogoproto.moretags"]); + if (message[".gogoproto.casttype"] != null && Object.hasOwnProperty.call(message, ".gogoproto.casttype")) + writer.uint32(/* id 65007, wireType 2 =*/520058).string(message[".gogoproto.casttype"]); + if (message[".gogoproto.castkey"] != null && Object.hasOwnProperty.call(message, ".gogoproto.castkey")) + writer.uint32(/* id 65008, wireType 2 =*/520066).string(message[".gogoproto.castkey"]); + if (message[".gogoproto.castvalue"] != null && Object.hasOwnProperty.call(message, ".gogoproto.castvalue")) + writer.uint32(/* id 65009, wireType 2 =*/520074).string(message[".gogoproto.castvalue"]); + if (message[".gogoproto.stdtime"] != null && Object.hasOwnProperty.call(message, ".gogoproto.stdtime")) + writer.uint32(/* id 65010, wireType 0 =*/520080).bool(message[".gogoproto.stdtime"]); + if (message[".gogoproto.stdduration"] != null && Object.hasOwnProperty.call(message, ".gogoproto.stdduration")) + writer.uint32(/* id 65011, wireType 0 =*/520088).bool(message[".gogoproto.stdduration"]); + if (message[".gogoproto.wktpointer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.wktpointer")) + writer.uint32(/* id 65012, wireType 0 =*/520096).bool(message[".gogoproto.wktpointer"]); + if (message[".gogoproto.castrepeated"] != null && Object.hasOwnProperty.call(message, ".gogoproto.castrepeated")) + writer.uint32(/* id 65013, wireType 2 =*/520106).string(message[".gogoproto.castrepeated"]); + return writer; + }; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ctype = reader.int32(); + break; + case 2: + message.packed = reader.bool(); + break; + case 6: + message.jstype = reader.int32(); + break; + case 5: + message.lazy = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 10: + message.weak = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 65001: + message[".gogoproto.nullable"] = reader.bool(); + break; + case 65002: + message[".gogoproto.embed"] = reader.bool(); + break; + case 65003: + message[".gogoproto.customtype"] = reader.string(); + break; + case 65004: + message[".gogoproto.customname"] = reader.string(); + break; + case 65005: + message[".gogoproto.jsontag"] = reader.string(); + break; + case 65006: + message[".gogoproto.moretags"] = reader.string(); + break; + case 65007: + message[".gogoproto.casttype"] = reader.string(); + break; + case 65008: + message[".gogoproto.castkey"] = reader.string(); + break; + case 65009: + message[".gogoproto.castvalue"] = reader.string(); + break; + case 65010: + message[".gogoproto.stdtime"] = reader.bool(); + break; + case 65011: + message[".gogoproto.stdduration"] = reader.bool(); + break; + case 65012: + message[".gogoproto.wktpointer"] = reader.bool(); + break; + case 65013: + message[".gogoproto.castrepeated"] = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldOptions message. + * @function verify + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ctype != null && message.hasOwnProperty("ctype")) + switch (message.ctype) { + default: + return "ctype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.jstype != null && message.hasOwnProperty("jstype")) + switch (message.jstype) { + default: + return "jstype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.lazy != null && message.hasOwnProperty("lazy")) + if (typeof message.lazy !== "boolean") + return "lazy: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.weak != null && message.hasOwnProperty("weak")) + if (typeof message.weak !== "boolean") + return "weak: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".gogoproto.nullable"] != null && message.hasOwnProperty(".gogoproto.nullable")) + if (typeof message[".gogoproto.nullable"] !== "boolean") + return ".gogoproto.nullable: boolean expected"; + if (message[".gogoproto.embed"] != null && message.hasOwnProperty(".gogoproto.embed")) + if (typeof message[".gogoproto.embed"] !== "boolean") + return ".gogoproto.embed: boolean expected"; + if (message[".gogoproto.customtype"] != null && message.hasOwnProperty(".gogoproto.customtype")) + if (!$util.isString(message[".gogoproto.customtype"])) + return ".gogoproto.customtype: string expected"; + if (message[".gogoproto.customname"] != null && message.hasOwnProperty(".gogoproto.customname")) + if (!$util.isString(message[".gogoproto.customname"])) + return ".gogoproto.customname: string expected"; + if (message[".gogoproto.jsontag"] != null && message.hasOwnProperty(".gogoproto.jsontag")) + if (!$util.isString(message[".gogoproto.jsontag"])) + return ".gogoproto.jsontag: string expected"; + if (message[".gogoproto.moretags"] != null && message.hasOwnProperty(".gogoproto.moretags")) + if (!$util.isString(message[".gogoproto.moretags"])) + return ".gogoproto.moretags: string expected"; + if (message[".gogoproto.casttype"] != null && message.hasOwnProperty(".gogoproto.casttype")) + if (!$util.isString(message[".gogoproto.casttype"])) + return ".gogoproto.casttype: string expected"; + if (message[".gogoproto.castkey"] != null && message.hasOwnProperty(".gogoproto.castkey")) + if (!$util.isString(message[".gogoproto.castkey"])) + return ".gogoproto.castkey: string expected"; + if (message[".gogoproto.castvalue"] != null && message.hasOwnProperty(".gogoproto.castvalue")) + if (!$util.isString(message[".gogoproto.castvalue"])) + return ".gogoproto.castvalue: string expected"; + if (message[".gogoproto.stdtime"] != null && message.hasOwnProperty(".gogoproto.stdtime")) + if (typeof message[".gogoproto.stdtime"] !== "boolean") + return ".gogoproto.stdtime: boolean expected"; + if (message[".gogoproto.stdduration"] != null && message.hasOwnProperty(".gogoproto.stdduration")) + if (typeof message[".gogoproto.stdduration"] !== "boolean") + return ".gogoproto.stdduration: boolean expected"; + if (message[".gogoproto.wktpointer"] != null && message.hasOwnProperty(".gogoproto.wktpointer")) + if (typeof message[".gogoproto.wktpointer"] !== "boolean") + return ".gogoproto.wktpointer: boolean expected"; + if (message[".gogoproto.castrepeated"] != null && message.hasOwnProperty(".gogoproto.castrepeated")) + if (!$util.isString(message[".gogoproto.castrepeated"])) + return ".gogoproto.castrepeated: string expected"; + return null; + }; + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions} FieldOptions + */ + FieldOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions) + return object; + var message = new $root.google.protobuf.FieldOptions(); + switch (object.ctype) { + case "STRING": + case 0: + message.ctype = 0; + break; + case "CORD": + case 1: + message.ctype = 1; + break; + case "STRING_PIECE": + case 2: + message.ctype = 2; + break; + } + if (object.packed != null) + message.packed = Boolean(object.packed); + switch (object.jstype) { + case "JS_NORMAL": + case 0: + message.jstype = 0; + break; + case "JS_STRING": + case 1: + message.jstype = 1; + break; + case "JS_NUMBER": + case 2: + message.jstype = 2; + break; + } + if (object.lazy != null) + message.lazy = Boolean(object.lazy); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.weak != null) + message.weak = Boolean(object.weak); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".gogoproto.nullable"] != null) + message[".gogoproto.nullable"] = Boolean(object[".gogoproto.nullable"]); + if (object[".gogoproto.embed"] != null) + message[".gogoproto.embed"] = Boolean(object[".gogoproto.embed"]); + if (object[".gogoproto.customtype"] != null) + message[".gogoproto.customtype"] = String(object[".gogoproto.customtype"]); + if (object[".gogoproto.customname"] != null) + message[".gogoproto.customname"] = String(object[".gogoproto.customname"]); + if (object[".gogoproto.jsontag"] != null) + message[".gogoproto.jsontag"] = String(object[".gogoproto.jsontag"]); + if (object[".gogoproto.moretags"] != null) + message[".gogoproto.moretags"] = String(object[".gogoproto.moretags"]); + if (object[".gogoproto.casttype"] != null) + message[".gogoproto.casttype"] = String(object[".gogoproto.casttype"]); + if (object[".gogoproto.castkey"] != null) + message[".gogoproto.castkey"] = String(object[".gogoproto.castkey"]); + if (object[".gogoproto.castvalue"] != null) + message[".gogoproto.castvalue"] = String(object[".gogoproto.castvalue"]); + if (object[".gogoproto.stdtime"] != null) + message[".gogoproto.stdtime"] = Boolean(object[".gogoproto.stdtime"]); + if (object[".gogoproto.stdduration"] != null) + message[".gogoproto.stdduration"] = Boolean(object[".gogoproto.stdduration"]); + if (object[".gogoproto.wktpointer"] != null) + message[".gogoproto.wktpointer"] = Boolean(object[".gogoproto.wktpointer"]); + if (object[".gogoproto.castrepeated"] != null) + message[".gogoproto.castrepeated"] = String(object[".gogoproto.castrepeated"]); + return message; + }; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.FieldOptions} message FieldOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.ctype = options.enums === String ? "STRING" : 0; + object.packed = false; + object.deprecated = false; + object.lazy = false; + object.jstype = options.enums === String ? "JS_NORMAL" : 0; + object.weak = false; + object[".gogoproto.nullable"] = false; + object[".gogoproto.embed"] = false; + object[".gogoproto.customtype"] = ""; + object[".gogoproto.customname"] = ""; + object[".gogoproto.jsontag"] = ""; + object[".gogoproto.moretags"] = ""; + object[".gogoproto.casttype"] = ""; + object[".gogoproto.castkey"] = ""; + object[".gogoproto.castvalue"] = ""; + object[".gogoproto.stdtime"] = false; + object[".gogoproto.stdduration"] = false; + object[".gogoproto.wktpointer"] = false; + object[".gogoproto.castrepeated"] = ""; + } + if (message.ctype != null && message.hasOwnProperty("ctype")) + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + if (message.packed != null && message.hasOwnProperty("packed")) + object.packed = message.packed; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.lazy != null && message.hasOwnProperty("lazy")) + object.lazy = message.lazy; + if (message.jstype != null && message.hasOwnProperty("jstype")) + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + if (message.weak != null && message.hasOwnProperty("weak")) + object.weak = message.weak; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".gogoproto.nullable"] != null && message.hasOwnProperty(".gogoproto.nullable")) + object[".gogoproto.nullable"] = message[".gogoproto.nullable"]; + if (message[".gogoproto.embed"] != null && message.hasOwnProperty(".gogoproto.embed")) + object[".gogoproto.embed"] = message[".gogoproto.embed"]; + if (message[".gogoproto.customtype"] != null && message.hasOwnProperty(".gogoproto.customtype")) + object[".gogoproto.customtype"] = message[".gogoproto.customtype"]; + if (message[".gogoproto.customname"] != null && message.hasOwnProperty(".gogoproto.customname")) + object[".gogoproto.customname"] = message[".gogoproto.customname"]; + if (message[".gogoproto.jsontag"] != null && message.hasOwnProperty(".gogoproto.jsontag")) + object[".gogoproto.jsontag"] = message[".gogoproto.jsontag"]; + if (message[".gogoproto.moretags"] != null && message.hasOwnProperty(".gogoproto.moretags")) + object[".gogoproto.moretags"] = message[".gogoproto.moretags"]; + if (message[".gogoproto.casttype"] != null && message.hasOwnProperty(".gogoproto.casttype")) + object[".gogoproto.casttype"] = message[".gogoproto.casttype"]; + if (message[".gogoproto.castkey"] != null && message.hasOwnProperty(".gogoproto.castkey")) + object[".gogoproto.castkey"] = message[".gogoproto.castkey"]; + if (message[".gogoproto.castvalue"] != null && message.hasOwnProperty(".gogoproto.castvalue")) + object[".gogoproto.castvalue"] = message[".gogoproto.castvalue"]; + if (message[".gogoproto.stdtime"] != null && message.hasOwnProperty(".gogoproto.stdtime")) + object[".gogoproto.stdtime"] = message[".gogoproto.stdtime"]; + if (message[".gogoproto.stdduration"] != null && message.hasOwnProperty(".gogoproto.stdduration")) + object[".gogoproto.stdduration"] = message[".gogoproto.stdduration"]; + if (message[".gogoproto.wktpointer"] != null && message.hasOwnProperty(".gogoproto.wktpointer")) + object[".gogoproto.wktpointer"] = message[".gogoproto.wktpointer"]; + if (message[".gogoproto.castrepeated"] != null && message.hasOwnProperty(".gogoproto.castrepeated")) + object[".gogoproto.castrepeated"] = message[".gogoproto.castrepeated"]; + return object; + }; + + /** + * Converts this FieldOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions + * @instance + * @returns {Object.} JSON object + */ + FieldOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * CType enum. + * @name google.protobuf.FieldOptions.CType + * @enum {number} + * @property {number} STRING=0 STRING value + * @property {number} CORD=1 CORD value + * @property {number} STRING_PIECE=2 STRING_PIECE value + */ + FieldOptions.CType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STRING"] = 0; + values[valuesById[1] = "CORD"] = 1; + values[valuesById[2] = "STRING_PIECE"] = 2; + return values; + })(); + + /** + * JSType enum. + * @name google.protobuf.FieldOptions.JSType + * @enum {number} + * @property {number} JS_NORMAL=0 JS_NORMAL value + * @property {number} JS_STRING=1 JS_STRING value + * @property {number} JS_NUMBER=2 JS_NUMBER value + */ + FieldOptions.JSType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "JS_NORMAL"] = 0; + values[valuesById[1] = "JS_STRING"] = 1; + values[valuesById[2] = "JS_NUMBER"] = 2; + return values; + })(); + + return FieldOptions; + })(); + + protobuf.OneofOptions = (function() { + + /** + * Properties of an OneofOptions. + * @memberof google.protobuf + * @interface IOneofOptions + * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption + */ + + /** + * Constructs a new OneofOptions. + * @memberof google.protobuf + * @classdesc Represents an OneofOptions. + * @implements IOneofOptions + * @constructor + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + */ + function OneofOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.OneofOptions + * @instance + */ + OneofOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + * @returns {google.protobuf.OneofOptions} OneofOptions instance + */ + OneofOptions.create = function create(properties) { + return new OneofOptions(properties); + }; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofOptions message. + * @function verify + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofOptions} OneofOptions + */ + OneofOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofOptions) + return object; + var message = new $root.google.protobuf.OneofOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.OneofOptions} message OneofOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this OneofOptions to JSON. + * @function toJSON + * @memberof google.protobuf.OneofOptions + * @instance + * @returns {Object.} JSON object + */ + OneofOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OneofOptions; + })(); + + protobuf.EnumOptions = (function() { + + /** + * Properties of an EnumOptions. + * @memberof google.protobuf + * @interface IEnumOptions + * @property {boolean|null} [allowAlias] EnumOptions allowAlias + * @property {boolean|null} [deprecated] EnumOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption + * @property {boolean|null} [".gogoproto.goprotoEnumPrefix"] EnumOptions .gogoproto.goprotoEnumPrefix + * @property {boolean|null} [".gogoproto.goprotoEnumStringer"] EnumOptions .gogoproto.goprotoEnumStringer + * @property {boolean|null} [".gogoproto.enumStringer"] EnumOptions .gogoproto.enumStringer + * @property {string|null} [".gogoproto.enumCustomname"] EnumOptions .gogoproto.enumCustomname + * @property {boolean|null} [".gogoproto.enumdecl"] EnumOptions .gogoproto.enumdecl + */ + + /** + * Constructs a new EnumOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumOptions. + * @implements IEnumOptions + * @constructor + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + */ + function EnumOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumOptions allowAlias. + * @member {boolean} allowAlias + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.allowAlias = false; + + /** + * EnumOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.deprecated = false; + + /** + * EnumOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * EnumOptions .gogoproto.goprotoEnumPrefix. + * @member {boolean} .gogoproto.goprotoEnumPrefix + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype[".gogoproto.goprotoEnumPrefix"] = false; + + /** + * EnumOptions .gogoproto.goprotoEnumStringer. + * @member {boolean} .gogoproto.goprotoEnumStringer + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype[".gogoproto.goprotoEnumStringer"] = false; + + /** + * EnumOptions .gogoproto.enumStringer. + * @member {boolean} .gogoproto.enumStringer + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype[".gogoproto.enumStringer"] = false; + + /** + * EnumOptions .gogoproto.enumCustomname. + * @member {string} .gogoproto.enumCustomname + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype[".gogoproto.enumCustomname"] = ""; + + /** + * EnumOptions .gogoproto.enumdecl. + * @member {boolean} .gogoproto.enumdecl + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype[".gogoproto.enumdecl"] = false; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumOptions} EnumOptions instance + */ + EnumOptions.create = function create(properties) { + return new EnumOptions(properties); + }; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".gogoproto.goprotoEnumPrefix"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoEnumPrefix")) + writer.uint32(/* id 62001, wireType 0 =*/496008).bool(message[".gogoproto.goprotoEnumPrefix"]); + if (message[".gogoproto.goprotoEnumStringer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.goprotoEnumStringer")) + writer.uint32(/* id 62021, wireType 0 =*/496168).bool(message[".gogoproto.goprotoEnumStringer"]); + if (message[".gogoproto.enumStringer"] != null && Object.hasOwnProperty.call(message, ".gogoproto.enumStringer")) + writer.uint32(/* id 62022, wireType 0 =*/496176).bool(message[".gogoproto.enumStringer"]); + if (message[".gogoproto.enumCustomname"] != null && Object.hasOwnProperty.call(message, ".gogoproto.enumCustomname")) + writer.uint32(/* id 62023, wireType 2 =*/496186).string(message[".gogoproto.enumCustomname"]); + if (message[".gogoproto.enumdecl"] != null && Object.hasOwnProperty.call(message, ".gogoproto.enumdecl")) + writer.uint32(/* id 62024, wireType 0 =*/496192).bool(message[".gogoproto.enumdecl"]); + return writer; + }; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.allowAlias = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 62001: + message[".gogoproto.goprotoEnumPrefix"] = reader.bool(); + break; + case 62021: + message[".gogoproto.goprotoEnumStringer"] = reader.bool(); + break; + case 62022: + message[".gogoproto.enumStringer"] = reader.bool(); + break; + case 62023: + message[".gogoproto.enumCustomname"] = reader.string(); + break; + case 62024: + message[".gogoproto.enumdecl"] = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Verifies a Location message. - * @function verify - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Location.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (var i = 0; i < message.path.length; ++i) - if (!$util.isInteger(message.path[i])) - return "path: integer[] expected"; - } - if (message.span != null && message.hasOwnProperty("span")) { - if (!Array.isArray(message.span)) - return "span: array expected"; - for (var i = 0; i < message.span.length; ++i) - if (!$util.isInteger(message.span[i])) - return "span: integer[] expected"; - } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) - if (!$util.isString(message.leadingComments)) - return "leadingComments: string expected"; - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) - if (!$util.isString(message.trailingComments)) - return "trailingComments: string expected"; - if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { - if (!Array.isArray(message.leadingDetachedComments)) - return "leadingDetachedComments: array expected"; - for (var i = 0; i < message.leadingDetachedComments.length; ++i) - if (!$util.isString(message.leadingDetachedComments[i])) - return "leadingDetachedComments: string[] expected"; - } - return null; - }; + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a Location message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.SourceCodeInfo.Location} Location - */ - Location.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) - return object; - var message = new $root.google.protobuf.SourceCodeInfo.Location(); - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); - message.path = []; - for (var i = 0; i < object.path.length; ++i) - message.path[i] = object.path[i] | 0; - } - if (object.span) { - if (!Array.isArray(object.span)) - throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); - message.span = []; - for (var i = 0; i < object.span.length; ++i) - message.span[i] = object.span[i] | 0; - } - if (object.leadingComments != null) - message.leadingComments = String(object.leadingComments); - if (object.trailingComments != null) - message.trailingComments = String(object.trailingComments); - if (object.leadingDetachedComments) { - if (!Array.isArray(object.leadingDetachedComments)) - throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); - message.leadingDetachedComments = []; - for (var i = 0; i < object.leadingDetachedComments.length; ++i) - message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); + /** + * Verifies an EnumOptions message. + * @function verify + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (typeof message.allowAlias !== "boolean") + return "allowAlias: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; } - return message; - }; + } + if (message[".gogoproto.goprotoEnumPrefix"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefix")) + if (typeof message[".gogoproto.goprotoEnumPrefix"] !== "boolean") + return ".gogoproto.goprotoEnumPrefix: boolean expected"; + if (message[".gogoproto.goprotoEnumStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringer")) + if (typeof message[".gogoproto.goprotoEnumStringer"] !== "boolean") + return ".gogoproto.goprotoEnumStringer: boolean expected"; + if (message[".gogoproto.enumStringer"] != null && message.hasOwnProperty(".gogoproto.enumStringer")) + if (typeof message[".gogoproto.enumStringer"] !== "boolean") + return ".gogoproto.enumStringer: boolean expected"; + if (message[".gogoproto.enumCustomname"] != null && message.hasOwnProperty(".gogoproto.enumCustomname")) + if (!$util.isString(message[".gogoproto.enumCustomname"])) + return ".gogoproto.enumCustomname: string expected"; + if (message[".gogoproto.enumdecl"] != null && message.hasOwnProperty(".gogoproto.enumdecl")) + if (typeof message[".gogoproto.enumdecl"] !== "boolean") + return ".gogoproto.enumdecl: boolean expected"; + return null; + }; - /** - * Creates a plain object from a Location message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.Location} message Location - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Location.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.path = []; - object.span = []; - object.leadingDetachedComments = []; - } - if (options.defaults) { - object.leadingComments = ""; - object.trailingComments = ""; - } - if (message.path && message.path.length) { - object.path = []; - for (var j = 0; j < message.path.length; ++j) - object.path[j] = message.path[j]; - } - if (message.span && message.span.length) { - object.span = []; - for (var j = 0; j < message.span.length; ++j) - object.span[j] = message.span[j]; - } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) - object.leadingComments = message.leadingComments; - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) - object.trailingComments = message.trailingComments; - if (message.leadingDetachedComments && message.leadingDetachedComments.length) { - object.leadingDetachedComments = []; - for (var j = 0; j < message.leadingDetachedComments.length; ++j) - object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; - } + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumOptions} EnumOptions + */ + EnumOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumOptions) return object; - }; - - /** - * Converts this Location to JSON. - * @function toJSON - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - * @returns {Object.} JSON object - */ - Location.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + var message = new $root.google.protobuf.EnumOptions(); + if (object.allowAlias != null) + message.allowAlias = Boolean(object.allowAlias); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".gogoproto.goprotoEnumPrefix"] != null) + message[".gogoproto.goprotoEnumPrefix"] = Boolean(object[".gogoproto.goprotoEnumPrefix"]); + if (object[".gogoproto.goprotoEnumStringer"] != null) + message[".gogoproto.goprotoEnumStringer"] = Boolean(object[".gogoproto.goprotoEnumStringer"]); + if (object[".gogoproto.enumStringer"] != null) + message[".gogoproto.enumStringer"] = Boolean(object[".gogoproto.enumStringer"]); + if (object[".gogoproto.enumCustomname"] != null) + message[".gogoproto.enumCustomname"] = String(object[".gogoproto.enumCustomname"]); + if (object[".gogoproto.enumdecl"] != null) + message[".gogoproto.enumdecl"] = Boolean(object[".gogoproto.enumdecl"]); + return message; + }; - return Location; - })(); + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.EnumOptions} message EnumOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.allowAlias = false; + object.deprecated = false; + object[".gogoproto.goprotoEnumPrefix"] = false; + object[".gogoproto.goprotoEnumStringer"] = false; + object[".gogoproto.enumStringer"] = false; + object[".gogoproto.enumCustomname"] = ""; + object[".gogoproto.enumdecl"] = false; + } + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + object.allowAlias = message.allowAlias; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".gogoproto.goprotoEnumPrefix"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumPrefix")) + object[".gogoproto.goprotoEnumPrefix"] = message[".gogoproto.goprotoEnumPrefix"]; + if (message[".gogoproto.goprotoEnumStringer"] != null && message.hasOwnProperty(".gogoproto.goprotoEnumStringer")) + object[".gogoproto.goprotoEnumStringer"] = message[".gogoproto.goprotoEnumStringer"]; + if (message[".gogoproto.enumStringer"] != null && message.hasOwnProperty(".gogoproto.enumStringer")) + object[".gogoproto.enumStringer"] = message[".gogoproto.enumStringer"]; + if (message[".gogoproto.enumCustomname"] != null && message.hasOwnProperty(".gogoproto.enumCustomname")) + object[".gogoproto.enumCustomname"] = message[".gogoproto.enumCustomname"]; + if (message[".gogoproto.enumdecl"] != null && message.hasOwnProperty(".gogoproto.enumdecl")) + object[".gogoproto.enumdecl"] = message[".gogoproto.enumdecl"]; + return object; + }; - return SourceCodeInfo; + /** + * Converts this EnumOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumOptions + * @instance + * @returns {Object.} JSON object + */ + EnumOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumOptions; })(); - protobuf.GeneratedCodeInfo = (function() { + protobuf.EnumValueOptions = (function() { /** - * Properties of a GeneratedCodeInfo. + * Properties of an EnumValueOptions. * @memberof google.protobuf - * @interface IGeneratedCodeInfo - * @property {Array.|null} [annotation] GeneratedCodeInfo annotation + * @interface IEnumValueOptions + * @property {boolean|null} [deprecated] EnumValueOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption + * @property {string|null} [".gogoproto.enumvalueCustomname"] EnumValueOptions .gogoproto.enumvalueCustomname */ /** - * Constructs a new GeneratedCodeInfo. + * Constructs a new EnumValueOptions. * @memberof google.protobuf - * @classdesc Represents a GeneratedCodeInfo. - * @implements IGeneratedCodeInfo + * @classdesc Represents an EnumValueOptions. + * @implements IEnumValueOptions * @constructor - * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set */ - function GeneratedCodeInfo(properties) { - this.annotation = []; + function EnumValueOptions(properties) { + this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -20741,78 +49157,104 @@ $root.google = (function() { } /** - * GeneratedCodeInfo annotation. - * @member {Array.} annotation - * @memberof google.protobuf.GeneratedCodeInfo + * EnumValueOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumValueOptions * @instance */ - GeneratedCodeInfo.prototype.annotation = $util.emptyArray; + EnumValueOptions.prototype.deprecated = false; /** - * Creates a new GeneratedCodeInfo instance using the specified properties. + * EnumValueOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * EnumValueOptions .gogoproto.enumvalueCustomname. + * @member {string} .gogoproto.enumvalueCustomname + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype[".gogoproto.enumvalueCustomname"] = ""; + + /** + * Creates a new EnumValueOptions instance using the specified properties. * @function create - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static - * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance */ - GeneratedCodeInfo.create = function create(properties) { - return new GeneratedCodeInfo(properties); + EnumValueOptions.create = function create(properties) { + return new EnumValueOptions(properties); }; /** - * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. * @function encode - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static - * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GeneratedCodeInfo.encode = function encode(message, writer) { + EnumValueOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.annotation != null && message.annotation.length) - for (var i = 0; i < message.annotation.length; ++i) - $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".gogoproto.enumvalueCustomname"] != null && Object.hasOwnProperty.call(message, ".gogoproto.enumvalueCustomname")) + writer.uint32(/* id 66001, wireType 2 =*/528010).string(message[".gogoproto.enumvalueCustomname"]); return writer; }; /** - * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static - * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * Decodes an EnumValueOptions message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length) { + EnumValueOptions.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.annotation && message.annotation.length)) - message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 66001: + message[".gogoproto.enumvalueCustomname"] = reader.string(); break; default: reader.skipType(tag & 7); @@ -20823,404 +49265,376 @@ $root.google = (function() { }; /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { + EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GeneratedCodeInfo message. + * Verifies an EnumValueOptions message. * @function verify - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + EnumValueOptions.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.annotation != null && message.hasOwnProperty("annotation")) { - if (!Array.isArray(message.annotation)) - return "annotation: array expected"; - for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); if (error) - return "annotation." + error; + return "uninterpretedOption." + error; } } + if (message[".gogoproto.enumvalueCustomname"] != null && message.hasOwnProperty(".gogoproto.enumvalueCustomname")) + if (!$util.isString(message[".gogoproto.enumvalueCustomname"])) + return ".gogoproto.enumvalueCustomname: string expected"; return null; }; /** - * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static * @param {Object.} object Plain object - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - GeneratedCodeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.GeneratedCodeInfo) + EnumValueOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueOptions) return object; - var message = new $root.google.protobuf.GeneratedCodeInfo(); - if (object.annotation) { - if (!Array.isArray(object.annotation)) - throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); - message.annotation = []; - for (var i = 0; i < object.annotation.length; ++i) { - if (typeof object.annotation[i] !== "object") - throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + var message = new $root.google.protobuf.EnumValueOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); } } + if (object[".gogoproto.enumvalueCustomname"] != null) + message[".gogoproto.enumvalueCustomname"] = String(object[".gogoproto.enumvalueCustomname"]); return message; }; /** - * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @static - * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo + * @param {google.protobuf.EnumValueOptions} message EnumValueOptions * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GeneratedCodeInfo.toObject = function toObject(message, options) { + EnumValueOptions.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.annotation = []; - if (message.annotation && message.annotation.length) { - object.annotation = []; - for (var j = 0; j < message.annotation.length; ++j) - object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); + object.uninterpretedOption = []; + if (options.defaults) { + object.deprecated = false; + object[".gogoproto.enumvalueCustomname"] = ""; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); } + if (message[".gogoproto.enumvalueCustomname"] != null && message.hasOwnProperty(".gogoproto.enumvalueCustomname")) + object[".gogoproto.enumvalueCustomname"] = message[".gogoproto.enumvalueCustomname"]; return object; }; /** - * Converts this GeneratedCodeInfo to JSON. + * Converts this EnumValueOptions to JSON. * @function toJSON - * @memberof google.protobuf.GeneratedCodeInfo + * @memberof google.protobuf.EnumValueOptions * @instance * @returns {Object.} JSON object */ - GeneratedCodeInfo.prototype.toJSON = function toJSON() { + EnumValueOptions.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GeneratedCodeInfo.Annotation = (function() { - - /** - * Properties of an Annotation. - * @memberof google.protobuf.GeneratedCodeInfo - * @interface IAnnotation - * @property {Array.|null} [path] Annotation path - * @property {string|null} [sourceFile] Annotation sourceFile - * @property {number|null} [begin] Annotation begin - * @property {number|null} [end] Annotation end - */ + return EnumValueOptions; + })(); - /** - * Constructs a new Annotation. - * @memberof google.protobuf.GeneratedCodeInfo - * @classdesc Represents an Annotation. - * @implements IAnnotation - * @constructor - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set - */ - function Annotation(properties) { - this.path = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + protobuf.ServiceOptions = (function() { - /** - * Annotation path. - * @member {Array.} path - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.path = $util.emptyArray; + /** + * Properties of a ServiceOptions. + * @memberof google.protobuf + * @interface IServiceOptions + * @property {boolean|null} [deprecated] ServiceOptions deprecated + * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption + */ - /** - * Annotation sourceFile. - * @member {string} sourceFile - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.sourceFile = ""; + /** + * Constructs a new ServiceOptions. + * @memberof google.protobuf + * @classdesc Represents a ServiceOptions. + * @implements IServiceOptions + * @constructor + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + */ + function ServiceOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Annotation begin. - * @member {number} begin - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.begin = 0; + /** + * ServiceOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.deprecated = false; - /** - * Annotation end. - * @member {number} end - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.end = 0; + /** + * ServiceOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; - /** - * Creates a new Annotation instance using the specified properties. - * @function create - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance - */ - Annotation.create = function create(properties) { - return new Annotation(properties); - }; + /** + * Creates a new ServiceOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + * @returns {google.protobuf.ServiceOptions} ServiceOptions instance + */ + ServiceOptions.create = function create(properties) { + return new ServiceOptions(properties); + }; - /** - * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @function encode - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Annotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && message.path.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.path.length; ++i) - writer.int32(message.path[i]); - writer.ldelim(); - } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); - if (message.begin != null && message.hasOwnProperty("begin")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); - if (message.end != null && message.hasOwnProperty("end")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); - return writer; - }; + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Annotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes an Annotation message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Annotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - case 2: - message.sourceFile = reader.string(); - break; - case 3: - message.begin = reader.int32(); - break; - case 4: - message.end = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; } - return message; - }; - - /** - * Decodes an Annotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Annotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + } + return message; + }; - /** - * Verifies an Annotation message. - * @function verify - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Annotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (var i = 0; i < message.path.length; ++i) - if (!$util.isInteger(message.path[i])) - return "path: integer[] expected"; - } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) - if (!$util.isString(message.sourceFile)) - return "sourceFile: string expected"; - if (message.begin != null && message.hasOwnProperty("begin")) - if (!$util.isInteger(message.begin)) - return "begin: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - return null; - }; + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates an Annotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation - */ - Annotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) - return object; - var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); - message.path = []; - for (var i = 0; i < object.path.length; ++i) - message.path[i] = object.path[i] | 0; + /** + * Verifies a ServiceOptions message. + * @function verify + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; } - if (object.sourceFile != null) - message.sourceFile = String(object.sourceFile); - if (object.begin != null) - message.begin = object.begin | 0; - if (object.end != null) - message.end = object.end | 0; - return message; - }; + } + return null; + }; - /** - * Creates a plain object from an Annotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Annotation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.path = []; - if (options.defaults) { - object.sourceFile = ""; - object.begin = 0; - object.end = 0; - } - if (message.path && message.path.length) { - object.path = []; - for (var j = 0; j < message.path.length; ++j) - object.path[j] = message.path[j]; - } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) - object.sourceFile = message.sourceFile; - if (message.begin != null && message.hasOwnProperty("begin")) - object.begin = message.begin; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceOptions} ServiceOptions + */ + ServiceOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceOptions) return object; - }; + var message = new $root.google.protobuf.ServiceOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; - /** - * Converts this Annotation to JSON. - * @function toJSON - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - * @returns {Object.} JSON object - */ - Annotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.ServiceOptions} message ServiceOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) + object.deprecated = false; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; - return Annotation; - })(); + /** + * Converts this ServiceOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceOptions + * @instance + * @returns {Object.} JSON object + */ + ServiceOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GeneratedCodeInfo; + return ServiceOptions; })(); - protobuf.Duration = (function() { + protobuf.MethodOptions = (function() { /** - * Properties of a Duration. + * Properties of a MethodOptions. * @memberof google.protobuf - * @interface IDuration - * @property {number|Long|null} [seconds] Duration seconds - * @property {number|null} [nanos] Duration nanos + * @interface IMethodOptions + * @property {boolean|null} [deprecated] MethodOptions deprecated + * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel + * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption */ /** - * Constructs a new Duration. + * Constructs a new MethodOptions. * @memberof google.protobuf - * @classdesc Represents a Duration. - * @implements IDuration + * @classdesc Represents a MethodOptions. + * @implements IMethodOptions * @constructor - * @param {google.protobuf.IDuration=} [properties] Properties to set + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set */ - function Duration(properties) { + function MethodOptions(properties) { + this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21228,88 +49642,104 @@ $root.google = (function() { } /** - * Duration seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Duration + * MethodOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.deprecated = false; + + /** + * MethodOptions idempotencyLevel. + * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel + * @memberof google.protobuf.MethodOptions * @instance */ - Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + MethodOptions.prototype.idempotencyLevel = 0; /** - * Duration nanos. - * @member {number} nanos - * @memberof google.protobuf.Duration + * MethodOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MethodOptions * @instance */ - Duration.prototype.nanos = 0; + MethodOptions.prototype.uninterpretedOption = $util.emptyArray; /** - * Creates a new Duration instance using the specified properties. + * Creates a new MethodOptions instance using the specified properties. * @function create - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static - * @param {google.protobuf.IDuration=} [properties] Properties to set - * @returns {google.protobuf.Duration} Duration instance + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + * @returns {google.protobuf.MethodOptions} MethodOptions instance */ - Duration.create = function create(properties) { - return new Duration(properties); + MethodOptions.create = function create(properties) { + return new MethodOptions(properties); }; /** - * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. * @function encode - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static - * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Duration.encode = function encode(message, writer) { + MethodOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) + writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); return writer; }; /** - * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static - * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Duration.encodeDelimited = function encodeDelimited(message, writer) { + MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Duration message from the specified reader or buffer. + * Decodes a MethodOptions message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Duration} Duration + * @returns {google.protobuf.MethodOptions} MethodOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length) { + MethodOptions.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); + case 33: + message.deprecated = reader.bool(); break; - case 2: - message.nanos = reader.int32(); + case 34: + message.idempotencyLevel = reader.int32(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -21320,220 +49750,340 @@ $root.google = (function() { }; /** - * Decodes a Duration message from the specified reader or buffer, length delimited. + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Duration} Duration + * @returns {google.protobuf.MethodOptions} MethodOptions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decodeDelimited = function decodeDelimited(reader) { + MethodOptions.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Duration message. + * Verifies a MethodOptions message. * @function verify - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + MethodOptions.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + switch (message.idempotencyLevel) { + default: + return "idempotencyLevel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } return null; }; /** - * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static * @param {Object.} object Plain object - * @returns {google.protobuf.Duration} Duration + * @returns {google.protobuf.MethodOptions} MethodOptions */ - Duration.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Duration) + MethodOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodOptions) return object; - var message = new $root.google.protobuf.Duration(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; + var message = new $root.google.protobuf.MethodOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + switch (object.idempotencyLevel) { + case "IDEMPOTENCY_UNKNOWN": + case 0: + message.idempotencyLevel = 0; + break; + case "NO_SIDE_EFFECTS": + case 1: + message.idempotencyLevel = 1; + break; + case "IDEMPOTENT": + case 2: + message.idempotencyLevel = 2; + break; + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } return message; }; /** - * Creates a plain object from a Duration message. Also converts values to other types if specified. + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.Duration + * @memberof google.protobuf.MethodOptions * @static - * @param {google.protobuf.Duration} message Duration + * @param {google.protobuf.MethodOptions} message MethodOptions * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Duration.toObject = function toObject(message, options) { + MethodOptions.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; + object.deprecated = false; + object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; return object; }; /** - * Converts this Duration to JSON. - * @function toJSON - * @memberof google.protobuf.Duration + * Converts this MethodOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MethodOptions + * @instance + * @returns {Object.} JSON object + */ + MethodOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * IdempotencyLevel enum. + * @name google.protobuf.MethodOptions.IdempotencyLevel + * @enum {number} + * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value + * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value + * @property {number} IDEMPOTENT=2 IDEMPOTENT value + */ + MethodOptions.IdempotencyLevel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; + values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; + values[valuesById[2] = "IDEMPOTENT"] = 2; + return values; + })(); + + return MethodOptions; + })(); + + protobuf.UninterpretedOption = (function() { + + /** + * Properties of an UninterpretedOption. + * @memberof google.protobuf + * @interface IUninterpretedOption + * @property {Array.|null} [name] UninterpretedOption name + * @property {string|null} [identifierValue] UninterpretedOption identifierValue + * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue + * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue + * @property {number|null} [doubleValue] UninterpretedOption doubleValue + * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue + * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue + */ + + /** + * Constructs a new UninterpretedOption. + * @memberof google.protobuf + * @classdesc Represents an UninterpretedOption. + * @implements IUninterpretedOption + * @constructor + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + */ + function UninterpretedOption(properties) { + this.name = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UninterpretedOption name. + * @member {Array.} name + * @memberof google.protobuf.UninterpretedOption * @instance - * @returns {Object.} JSON object */ - Duration.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + UninterpretedOption.prototype.name = $util.emptyArray; - return Duration; - })(); + /** + * UninterpretedOption identifierValue. + * @member {string} identifierValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.identifierValue = ""; - protobuf.Timestamp = (function() { + /** + * UninterpretedOption positiveIntValue. + * @member {number|Long} positiveIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Properties of a Timestamp. - * @memberof google.protobuf - * @interface ITimestamp - * @property {number|Long|null} [seconds] Timestamp seconds - * @property {number|null} [nanos] Timestamp nanos + * UninterpretedOption negativeIntValue. + * @member {number|Long} negativeIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance */ + UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** - * Constructs a new Timestamp. - * @memberof google.protobuf - * @classdesc Represents a Timestamp. - * @implements ITimestamp - * @constructor - * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * UninterpretedOption doubleValue. + * @member {number} doubleValue + * @memberof google.protobuf.UninterpretedOption + * @instance */ - function Timestamp(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + UninterpretedOption.prototype.doubleValue = 0; /** - * Timestamp seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Timestamp + * UninterpretedOption stringValue. + * @member {Uint8Array} stringValue + * @memberof google.protobuf.UninterpretedOption * @instance */ - Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + UninterpretedOption.prototype.stringValue = $util.newBuffer([]); /** - * Timestamp nanos. - * @member {number} nanos - * @memberof google.protobuf.Timestamp + * UninterpretedOption aggregateValue. + * @member {string} aggregateValue + * @memberof google.protobuf.UninterpretedOption * @instance */ - Timestamp.prototype.nanos = 0; + UninterpretedOption.prototype.aggregateValue = ""; /** - * Creates a new Timestamp instance using the specified properties. + * Creates a new UninterpretedOption instance using the specified properties. * @function create - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - * @returns {google.protobuf.Timestamp} Timestamp instance + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance */ - Timestamp.create = function create(properties) { - return new Timestamp(properties); + UninterpretedOption.create = function create(properties) { + return new UninterpretedOption(properties); }; /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. * @function encode - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Timestamp.encode = function encode(message, writer) { + UninterpretedOption.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + if (message.name != null && message.name.length) + for (var i = 0; i < message.name.length; ++i) + $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); + if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); + if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); + if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) + writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); + if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); return writer; }; /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. * @function encodeDelimited - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Timestamp message from the specified reader or buffer. + * Decodes an UninterpretedOption message from the specified reader or buffer. * @function decode - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Timestamp} Timestamp + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length) { + UninterpretedOption.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; case 2: - message.nanos = reader.int32(); + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + case 3: + message.identifierValue = reader.string(); + break; + case 4: + message.positiveIntValue = reader.uint64(); + break; + case 5: + message.negativeIntValue = reader.int64(); + break; + case 6: + message.doubleValue = reader.double(); + break; + case 7: + message.stringValue = reader.bytes(); + break; + case 8: + message.aggregateValue = reader.string(); break; default: reader.skipType(tag & 7); @@ -21544,177 +50094,209 @@ $root.google = (function() { }; /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Timestamp} Timestamp + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decodeDelimited = function decodeDelimited(reader) { + UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Timestamp message. + * Verifies an UninterpretedOption message. * @function verify - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + UninterpretedOption.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; + if (message.name != null && message.hasOwnProperty("name")) { + if (!Array.isArray(message.name)) + return "name: array expected"; + for (var i = 0; i < message.name.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + if (error) + return "name." + error; + } + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (!$util.isString(message.identifierValue)) + return "identifierValue: string expected"; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) + return "positiveIntValue: integer|Long expected"; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) + return "negativeIntValue: integer|Long expected"; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (typeof message.doubleValue !== "number") + return "doubleValue: number expected"; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) + return "stringValue: buffer expected"; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (!$util.isString(message.aggregateValue)) + return "aggregateValue: string expected"; return null; }; /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static * @param {Object.} object Plain object - * @returns {google.protobuf.Timestamp} Timestamp + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - Timestamp.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Timestamp) + UninterpretedOption.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption) return object; - var message = new $root.google.protobuf.Timestamp(); - if (object.seconds != null) + var message = new $root.google.protobuf.UninterpretedOption(); + if (object.name) { + if (!Array.isArray(object.name)) + throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); + message.name = []; + for (var i = 0; i < object.name.length; ++i) { + if (typeof object.name[i] !== "object") + throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + } + } + if (object.identifierValue != null) + message.identifierValue = String(object.identifierValue); + if (object.positiveIntValue != null) if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; + (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; + else if (typeof object.positiveIntValue === "string") + message.positiveIntValue = parseInt(object.positiveIntValue, 10); + else if (typeof object.positiveIntValue === "number") + message.positiveIntValue = object.positiveIntValue; + else if (typeof object.positiveIntValue === "object") + message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); + if (object.negativeIntValue != null) + if ($util.Long) + (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; + else if (typeof object.negativeIntValue === "string") + message.negativeIntValue = parseInt(object.negativeIntValue, 10); + else if (typeof object.negativeIntValue === "number") + message.negativeIntValue = object.negativeIntValue; + else if (typeof object.negativeIntValue === "object") + message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); + if (object.doubleValue != null) + message.doubleValue = Number(object.doubleValue); + if (object.stringValue != null) + if (typeof object.stringValue === "string") + $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); + else if (object.stringValue.length) + message.stringValue = object.stringValue; + if (object.aggregateValue != null) + message.aggregateValue = String(object.aggregateValue); return message; }; /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. * @function toObject - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @static - * @param {google.protobuf.Timestamp} message Timestamp + * @param {google.protobuf.UninterpretedOption} message UninterpretedOption * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Timestamp.toObject = function toObject(message, options) { + UninterpretedOption.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.name = []; if (options.defaults) { + object.identifierValue = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.positiveIntValue = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; + object.negativeIntValue = options.longs === String ? "0" : 0; + object.doubleValue = 0; + if (options.bytes === String) + object.stringValue = ""; + else { + object.stringValue = []; + if (options.bytes !== Array) + object.stringValue = $util.newBuffer(object.stringValue); + } + object.aggregateValue = ""; } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + if (message.name && message.name.length) { + object.name = []; + for (var j = 0; j < message.name.length; ++j) + object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + object.identifierValue = message.identifierValue; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (typeof message.positiveIntValue === "number") + object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; + object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (typeof message.negativeIntValue === "number") + object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; + else + object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + object.aggregateValue = message.aggregateValue; return object; }; /** - * Converts this Timestamp to JSON. + * Converts this UninterpretedOption to JSON. * @function toJSON - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.UninterpretedOption * @instance * @returns {Object.} JSON object */ - Timestamp.prototype.toJSON = function toJSON() { + UninterpretedOption.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Timestamp; - })(); - - return protobuf; - })(); - - return google; -})(); - -$root.gogoproto = (function() { - - /** - * Namespace gogoproto. - * @exports gogoproto - * @namespace - */ - var gogoproto = {}; - - return gogoproto; -})(); - -$root.tendermint = (function() { - - /** - * Namespace tendermint. - * @exports tendermint - * @namespace - */ - var tendermint = {}; - - tendermint.crypto = (function() { - - /** - * Namespace crypto. - * @memberof tendermint - * @namespace - */ - var crypto = {}; - - crypto.merkle = (function() { - - /** - * Namespace merkle. - * @memberof tendermint.crypto - * @namespace - */ - var merkle = {}; - - merkle.ProofOp = (function() { + UninterpretedOption.NamePart = (function() { /** - * Properties of a ProofOp. - * @memberof tendermint.crypto.merkle - * @interface IProofOp - * @property {string|null} [type] ProofOp type - * @property {Uint8Array|null} [key] ProofOp key - * @property {Uint8Array|null} [data] ProofOp data + * Properties of a NamePart. + * @memberof google.protobuf.UninterpretedOption + * @interface INamePart + * @property {string} namePart NamePart namePart + * @property {boolean} isExtension NamePart isExtension */ /** - * Constructs a new ProofOp. - * @memberof tendermint.crypto.merkle - * @classdesc Represents a ProofOp. - * @implements IProofOp + * Constructs a new NamePart. + * @memberof google.protobuf.UninterpretedOption + * @classdesc Represents a NamePart. + * @implements INamePart * @constructor - * @param {tendermint.crypto.merkle.IProofOp=} [properties] Properties to set + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set */ - function ProofOp(properties) { + function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21722,248 +50304,423 @@ $root.tendermint = (function() { } /** - * ProofOp type. - * @member {string} type - * @memberof tendermint.crypto.merkle.ProofOp - * @instance - */ - ProofOp.prototype.type = ""; - - /** - * ProofOp key. - * @member {Uint8Array} key - * @memberof tendermint.crypto.merkle.ProofOp + * NamePart namePart. + * @member {string} namePart + * @memberof google.protobuf.UninterpretedOption.NamePart * @instance */ - ProofOp.prototype.key = $util.newBuffer([]); + NamePart.prototype.namePart = ""; /** - * ProofOp data. - * @member {Uint8Array} data - * @memberof tendermint.crypto.merkle.ProofOp + * NamePart isExtension. + * @member {boolean} isExtension + * @memberof google.protobuf.UninterpretedOption.NamePart * @instance */ - ProofOp.prototype.data = $util.newBuffer([]); + NamePart.prototype.isExtension = false; /** - * Creates a new ProofOp instance using the specified properties. + * Creates a new NamePart instance using the specified properties. * @function create - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static - * @param {tendermint.crypto.merkle.IProofOp=} [properties] Properties to set - * @returns {tendermint.crypto.merkle.ProofOp} ProofOp instance + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance */ - ProofOp.create = function create(properties) { - return new ProofOp(properties); + NamePart.create = function create(properties) { + return new NamePart(properties); }; /** - * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. * @function encode - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static - * @param {tendermint.crypto.merkle.IProofOp} message ProofOp message or plain object to encode + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProofOp.encode = function encode(message, writer) { + NamePart.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.key != null && message.hasOwnProperty("key")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.key); - if (message.data != null && message.hasOwnProperty("data")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.data); + writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); return writer; }; /** - * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.ProofOp.verify|verify} messages. + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. * @function encodeDelimited - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static - * @param {tendermint.crypto.merkle.IProofOp} message ProofOp message or plain object to encode + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProofOp.encodeDelimited = function encodeDelimited(message, writer) { + NamePart.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ProofOp message from the specified reader or buffer. + * Decodes a NamePart message from the specified reader or buffer. * @function decode - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.merkle.ProofOp} ProofOp + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProofOp.decode = function decode(reader, length) { + NamePart.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.merkle.ProofOp(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.type = reader.string(); + message.namePart = reader.string(); break; case 2: - message.key = reader.bytes(); - break; - case 3: - message.data = reader.bytes(); + message.isExtension = reader.bool(); break; default: reader.skipType(tag & 7); break; } } + if (!message.hasOwnProperty("namePart")) + throw $util.ProtocolError("missing required 'namePart'", { instance: message }); + if (!message.hasOwnProperty("isExtension")) + throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); return message; }; /** - * Decodes a ProofOp message from the specified reader or buffer, length delimited. + * Decodes a NamePart message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.merkle.ProofOp} ProofOp + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProofOp.decodeDelimited = function decodeDelimited(reader) { + NamePart.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ProofOp message. + * Verifies a NamePart message. * @function verify - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProofOp.verify = function verify(message) { + NamePart.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; + if (!$util.isString(message.namePart)) + return "namePart: string expected"; + if (typeof message.isExtension !== "boolean") + return "isExtension: boolean expected"; return null; }; /** - * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static * @param {Object.} object Plain object - * @returns {tendermint.crypto.merkle.ProofOp} ProofOp + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - ProofOp.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.merkle.ProofOp) + NamePart.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; - var message = new $root.tendermint.crypto.merkle.ProofOp(); - if (object.type != null) - message.type = String(object.type); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; + var message = new $root.google.protobuf.UninterpretedOption.NamePart(); + if (object.namePart != null) + message.namePart = String(object.namePart); + if (object.isExtension != null) + message.isExtension = Boolean(object.isExtension); return message; }; /** - * Creates a plain object from a ProofOp message. Also converts values to other types if specified. + * Creates a plain object from a NamePart message. Also converts values to other types if specified. * @function toObject - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @static - * @param {tendermint.crypto.merkle.ProofOp} message ProofOp + * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ProofOp.toObject = function toObject(message, options) { + NamePart.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.type = ""; - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } + object.namePart = ""; + object.isExtension = false; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; + if (message.namePart != null && message.hasOwnProperty("namePart")) + object.namePart = message.namePart; + if (message.isExtension != null && message.hasOwnProperty("isExtension")) + object.isExtension = message.isExtension; return object; }; /** - * Converts this ProofOp to JSON. + * Converts this NamePart to JSON. * @function toJSON - * @memberof tendermint.crypto.merkle.ProofOp + * @memberof google.protobuf.UninterpretedOption.NamePart * @instance * @returns {Object.} JSON object */ - ProofOp.prototype.toJSON = function toJSON() { + NamePart.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ProofOp; - })(); + return NamePart; + })(); + + return UninterpretedOption; + })(); + + protobuf.SourceCodeInfo = (function() { + + /** + * Properties of a SourceCodeInfo. + * @memberof google.protobuf + * @interface ISourceCodeInfo + * @property {Array.|null} [location] SourceCodeInfo location + */ + + /** + * Constructs a new SourceCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a SourceCodeInfo. + * @implements ISourceCodeInfo + * @constructor + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + */ + function SourceCodeInfo(properties) { + this.location = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SourceCodeInfo location. + * @member {Array.} location + * @memberof google.protobuf.SourceCodeInfo + * @instance + */ + SourceCodeInfo.prototype.location = $util.emptyArray; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance + */ + SourceCodeInfo.create = function create(properties) { + return new SourceCodeInfo(properties); + }; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.location != null && message.location.length) + for (var i = 0; i < message.location.length; ++i) + $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SourceCodeInfo message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SourceCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.location != null && message.hasOwnProperty("location")) { + if (!Array.isArray(message.location)) + return "location: array expected"; + for (var i = 0; i < message.location.length; ++i) { + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + if (error) + return "location." + error; + } + } + return null; + }; + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + */ + SourceCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo) + return object; + var message = new $root.google.protobuf.SourceCodeInfo(); + if (object.location) { + if (!Array.isArray(object.location)) + throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); + message.location = []; + for (var i = 0; i < object.location.length; ++i) { + if (typeof object.location[i] !== "object") + throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SourceCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.location = []; + if (message.location && message.location.length) { + object.location = []; + for (var j = 0; j < message.location.length; ++j) + object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); + } + return object; + }; + + /** + * Converts this SourceCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo + * @instance + * @returns {Object.} JSON object + */ + SourceCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - merkle.Proof = (function() { + SourceCodeInfo.Location = (function() { /** - * Properties of a Proof. - * @memberof tendermint.crypto.merkle - * @interface IProof - * @property {Array.|null} [ops] Proof ops + * Properties of a Location. + * @memberof google.protobuf.SourceCodeInfo + * @interface ILocation + * @property {Array.|null} [path] Location path + * @property {Array.|null} [span] Location span + * @property {string|null} [leadingComments] Location leadingComments + * @property {string|null} [trailingComments] Location trailingComments + * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments */ /** - * Constructs a new Proof. - * @memberof tendermint.crypto.merkle - * @classdesc Represents a Proof. - * @implements IProof + * Constructs a new Location. + * @memberof google.protobuf.SourceCodeInfo + * @classdesc Represents a Location. + * @implements ILocation * @constructor - * @param {tendermint.crypto.merkle.IProof=} [properties] Properties to set + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set */ - function Proof(properties) { - this.ops = []; + function Location(properties) { + this.path = []; + this.span = []; + this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21971,320 +50728,152 @@ $root.tendermint = (function() { } /** - * Proof ops. - * @member {Array.} ops - * @memberof tendermint.crypto.merkle.Proof - * @instance - */ - Proof.prototype.ops = $util.emptyArray; - - /** - * Creates a new Proof instance using the specified properties. - * @function create - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {tendermint.crypto.merkle.IProof=} [properties] Properties to set - * @returns {tendermint.crypto.merkle.Proof} Proof instance - */ - Proof.create = function create(properties) { - return new Proof(properties); - }; - - /** - * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {tendermint.crypto.merkle.IProof} message Proof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.ops != null && message.ops.length) - for (var i = 0; i < message.ops.length; ++i) - $root.tendermint.crypto.merkle.ProofOp.encode(message.ops[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.merkle.Proof.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {tendermint.crypto.merkle.IProof} message Proof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Proof message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.merkle.Proof} Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.merkle.Proof(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.ops && message.ops.length)) - message.ops = []; - message.ops.push($root.tendermint.crypto.merkle.ProofOp.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Proof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.merkle.Proof} Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Proof message. - * @function verify - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Proof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.ops != null && message.hasOwnProperty("ops")) { - if (!Array.isArray(message.ops)) - return "ops: array expected"; - for (var i = 0; i < message.ops.length; ++i) { - var error = $root.tendermint.crypto.merkle.ProofOp.verify(message.ops[i]); - if (error) - return "ops." + error; - } - } - return null; - }; - - /** - * Creates a Proof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.merkle.Proof} Proof - */ - Proof.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.merkle.Proof) - return object; - var message = new $root.tendermint.crypto.merkle.Proof(); - if (object.ops) { - if (!Array.isArray(object.ops)) - throw TypeError(".tendermint.crypto.merkle.Proof.ops: array expected"); - message.ops = []; - for (var i = 0; i < object.ops.length; ++i) { - if (typeof object.ops[i] !== "object") - throw TypeError(".tendermint.crypto.merkle.Proof.ops: object expected"); - message.ops[i] = $root.tendermint.crypto.merkle.ProofOp.fromObject(object.ops[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Proof message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.merkle.Proof - * @static - * @param {tendermint.crypto.merkle.Proof} message Proof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Proof.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.ops = []; - if (message.ops && message.ops.length) { - object.ops = []; - for (var j = 0; j < message.ops.length; ++j) - object.ops[j] = $root.tendermint.crypto.merkle.ProofOp.toObject(message.ops[j], options); - } - return object; - }; - - /** - * Converts this Proof to JSON. - * @function toJSON - * @memberof tendermint.crypto.merkle.Proof + * Location path. + * @member {Array.} path + * @memberof google.protobuf.SourceCodeInfo.Location * @instance - * @returns {Object.} JSON object */ - Proof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Proof; - })(); - - return merkle; - })(); - - return crypto; - })(); - - tendermint.libs = (function() { - - /** - * Namespace libs. - * @memberof tendermint - * @namespace - */ - var libs = {}; - - libs.kv = (function() { - - /** - * Namespace kv. - * @memberof tendermint.libs - * @namespace - */ - var kv = {}; - - kv.Pair = (function() { + Location.prototype.path = $util.emptyArray; /** - * Properties of a Pair. - * @memberof tendermint.libs.kv - * @interface IPair - * @property {Uint8Array|null} [key] Pair key - * @property {Uint8Array|null} [value] Pair value + * Location span. + * @member {Array.} span + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance */ + Location.prototype.span = $util.emptyArray; /** - * Constructs a new Pair. - * @memberof tendermint.libs.kv - * @classdesc Represents a Pair. - * @implements IPair - * @constructor - * @param {tendermint.libs.kv.IPair=} [properties] Properties to set + * Location leadingComments. + * @member {string} leadingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance */ - function Pair(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + Location.prototype.leadingComments = ""; /** - * Pair key. - * @member {Uint8Array} key - * @memberof tendermint.libs.kv.Pair + * Location trailingComments. + * @member {string} trailingComments + * @memberof google.protobuf.SourceCodeInfo.Location * @instance */ - Pair.prototype.key = $util.newBuffer([]); + Location.prototype.trailingComments = ""; /** - * Pair value. - * @member {Uint8Array} value - * @memberof tendermint.libs.kv.Pair + * Location leadingDetachedComments. + * @member {Array.} leadingDetachedComments + * @memberof google.protobuf.SourceCodeInfo.Location * @instance */ - Pair.prototype.value = $util.newBuffer([]); + Location.prototype.leadingDetachedComments = $util.emptyArray; /** - * Creates a new Pair instance using the specified properties. + * Creates a new Location instance using the specified properties. * @function create - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static - * @param {tendermint.libs.kv.IPair=} [properties] Properties to set - * @returns {tendermint.libs.kv.Pair} Pair instance + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo.Location} Location instance */ - Pair.create = function create(properties) { - return new Pair(properties); + Location.create = function create(properties) { + return new Location(properties); }; /** - * Encodes the specified Pair message. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. * @function encode - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static - * @param {tendermint.libs.kv.IPair} message Pair message or plain object to encode + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Pair.encode = function encode(message, writer) { + Location.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.span != null && message.span.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.span.length; ++i) + writer.int32(message.span[i]); + writer.ldelim(); + } + if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); + if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); + if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); return writer; }; /** - * Encodes the specified Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.Pair.verify|verify} messages. + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. * @function encodeDelimited - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static - * @param {tendermint.libs.kv.IPair} message Pair message or plain object to encode + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Pair.encodeDelimited = function encodeDelimited(message, writer) { + Location.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Pair message from the specified reader or buffer. + * Decodes a Location message from the specified reader or buffer. * @function decode - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tendermint.libs.kv.Pair} Pair + * @returns {google.protobuf.SourceCodeInfo.Location} Location * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Pair.decode = function decode(reader, length) { + Location.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.libs.kv.Pair(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.key = reader.bytes(); + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); break; case 2: - message.value = reader.bytes(); + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else + message.span.push(reader.int32()); + break; + case 3: + message.leadingComments = reader.string(); + break; + case 4: + message.trailingComments = reader.string(); + break; + case 6: + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); break; default: reader.skipType(tag & 7); @@ -22295,135 +50884,390 @@ $root.tendermint = (function() { }; /** - * Decodes a Pair message from the specified reader or buffer, length delimited. + * Decodes a Location message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.libs.kv.Pair} Pair + * @returns {google.protobuf.SourceCodeInfo.Location} Location * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Pair.decodeDelimited = function decodeDelimited(reader) { + Location.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Pair message. + * Verifies a Location message. * @function verify - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Pair.verify = function verify(message) { + Location.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.span != null && message.hasOwnProperty("span")) { + if (!Array.isArray(message.span)) + return "span: array expected"; + for (var i = 0; i < message.span.length; ++i) + if (!$util.isInteger(message.span[i])) + return "span: integer[] expected"; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (!$util.isString(message.leadingComments)) + return "leadingComments: string expected"; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (!$util.isString(message.trailingComments)) + return "trailingComments: string expected"; + if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { + if (!Array.isArray(message.leadingDetachedComments)) + return "leadingDetachedComments: array expected"; + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + if (!$util.isString(message.leadingDetachedComments[i])) + return "leadingDetachedComments: string[] expected"; + } return null; }; /** - * Creates a Pair message from a plain object. Also converts values to their respective internal types. + * Creates a Location message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static * @param {Object.} object Plain object - * @returns {tendermint.libs.kv.Pair} Pair + * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Pair.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.libs.kv.Pair) + Location.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; - var message = new $root.tendermint.libs.kv.Pair(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; + var message = new $root.google.protobuf.SourceCodeInfo.Location(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.span) { + if (!Array.isArray(object.span)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); + message.span = []; + for (var i = 0; i < object.span.length; ++i) + message.span[i] = object.span[i] | 0; + } + if (object.leadingComments != null) + message.leadingComments = String(object.leadingComments); + if (object.trailingComments != null) + message.trailingComments = String(object.trailingComments); + if (object.leadingDetachedComments) { + if (!Array.isArray(object.leadingDetachedComments)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); + message.leadingDetachedComments = []; + for (var i = 0; i < object.leadingDetachedComments.length; ++i) + message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); + } return message; }; /** - * Creates a plain object from a Pair message. Also converts values to other types if specified. + * Creates a plain object from a Location message. Also converts values to other types if specified. * @function toObject - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @static - * @param {tendermint.libs.kv.Pair} message Pair + * @param {google.protobuf.SourceCodeInfo.Location} message Location * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Pair.toObject = function toObject(message, options) { + Location.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.path = []; + object.span = []; + object.leadingDetachedComments = []; + } if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } + object.leadingComments = ""; + object.trailingComments = ""; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.span && message.span.length) { + object.span = []; + for (var j = 0; j < message.span.length; ++j) + object.span[j] = message.span[j]; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + object.leadingComments = message.leadingComments; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + object.trailingComments = message.trailingComments; + if (message.leadingDetachedComments && message.leadingDetachedComments.length) { + object.leadingDetachedComments = []; + for (var j = 0; j < message.leadingDetachedComments.length; ++j) + object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; return object; }; /** - * Converts this Pair to JSON. + * Converts this Location to JSON. * @function toJSON - * @memberof tendermint.libs.kv.Pair + * @memberof google.protobuf.SourceCodeInfo.Location * @instance * @returns {Object.} JSON object */ - Pair.prototype.toJSON = function toJSON() { + Location.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Pair; + return Location; })(); - kv.KI64Pair = (function() { + return SourceCodeInfo; + })(); - /** - * Properties of a KI64Pair. - * @memberof tendermint.libs.kv - * @interface IKI64Pair - * @property {Uint8Array|null} [key] KI64Pair key - * @property {number|Long|null} [value] KI64Pair value - */ + protobuf.GeneratedCodeInfo = (function() { + + /** + * Properties of a GeneratedCodeInfo. + * @memberof google.protobuf + * @interface IGeneratedCodeInfo + * @property {Array.|null} [annotation] GeneratedCodeInfo annotation + */ + + /** + * Constructs a new GeneratedCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a GeneratedCodeInfo. + * @implements IGeneratedCodeInfo + * @constructor + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + */ + function GeneratedCodeInfo(properties) { + this.annotation = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GeneratedCodeInfo annotation. + * @member {Array.} annotation + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + */ + GeneratedCodeInfo.prototype.annotation = $util.emptyArray; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance + */ + GeneratedCodeInfo.create = function create(properties) { + return new GeneratedCodeInfo(properties); + }; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotation != null && message.annotation.length) + for (var i = 0; i < message.annotation.length; ++i) + $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GeneratedCodeInfo message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GeneratedCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotation != null && message.hasOwnProperty("annotation")) { + if (!Array.isArray(message.annotation)) + return "annotation: array expected"; + for (var i = 0; i < message.annotation.length; ++i) { + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + if (error) + return "annotation." + error; + } + } + return null; + }; + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + */ + GeneratedCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo(); + if (object.annotation) { + if (!Array.isArray(object.annotation)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); + message.annotation = []; + for (var i = 0; i < object.annotation.length; ++i) { + if (typeof object.annotation[i] !== "object") + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GeneratedCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotation = []; + if (message.annotation && message.annotation.length) { + object.annotation = []; + for (var j = 0; j < message.annotation.length; ++j) + object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); + } + return object; + }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + * @returns {Object.} JSON object + */ + GeneratedCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GeneratedCodeInfo.Annotation = (function() { /** - * Constructs a new KI64Pair. - * @memberof tendermint.libs.kv - * @classdesc Represents a KI64Pair. - * @implements IKI64Pair + * Properties of an Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @interface IAnnotation + * @property {Array.|null} [path] Annotation path + * @property {string|null} [sourceFile] Annotation sourceFile + * @property {number|null} [begin] Annotation begin + * @property {number|null} [end] Annotation end + */ + + /** + * Constructs a new Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @classdesc Represents an Annotation. + * @implements IAnnotation * @constructor - * @param {tendermint.libs.kv.IKI64Pair=} [properties] Properties to set + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set */ - function KI64Pair(properties) { + function Annotation(properties) { + this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22431,88 +51275,125 @@ $root.tendermint = (function() { } /** - * KI64Pair key. - * @member {Uint8Array} key - * @memberof tendermint.libs.kv.KI64Pair + * Annotation path. + * @member {Array.} path + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @instance */ - KI64Pair.prototype.key = $util.newBuffer([]); + Annotation.prototype.path = $util.emptyArray; /** - * KI64Pair value. - * @member {number|Long} value - * @memberof tendermint.libs.kv.KI64Pair + * Annotation sourceFile. + * @member {string} sourceFile + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @instance */ - KI64Pair.prototype.value = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + Annotation.prototype.sourceFile = ""; /** - * Creates a new KI64Pair instance using the specified properties. + * Annotation begin. + * @member {number} begin + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.begin = 0; + + /** + * Annotation end. + * @member {number} end + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.end = 0; + + /** + * Creates a new Annotation instance using the specified properties. * @function create - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static - * @param {tendermint.libs.kv.IKI64Pair=} [properties] Properties to set - * @returns {tendermint.libs.kv.KI64Pair} KI64Pair instance + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance */ - KI64Pair.create = function create(properties) { - return new KI64Pair(properties); + Annotation.create = function create(properties) { + return new Annotation(properties); }; /** - * Encodes the specified KI64Pair message. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. * @function encode - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static - * @param {tendermint.libs.kv.IKI64Pair} message KI64Pair message or plain object to encode + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - KI64Pair.encode = function encode(message, writer) { + Annotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.value); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); + if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); return writer; }; /** - * Encodes the specified KI64Pair message, length delimited. Does not implicitly {@link tendermint.libs.kv.KI64Pair.verify|verify} messages. + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. * @function encodeDelimited - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static - * @param {tendermint.libs.kv.IKI64Pair} message KI64Pair message or plain object to encode + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - KI64Pair.encodeDelimited = function encodeDelimited(message, writer) { + Annotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a KI64Pair message from the specified reader or buffer. + * Decodes an Annotation message from the specified reader or buffer. * @function decode - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {tendermint.libs.kv.KI64Pair} KI64Pair + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KI64Pair.decode = function decode(reader, length) { + Annotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.libs.kv.KI64Pair(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.key = reader.bytes(); + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); break; case 2: - message.value = reader.int64(); + message.sourceFile = reader.string(); + break; + case 3: + message.begin = reader.int32(); + break; + case 4: + message.end = reader.int32(); break; default: reader.skipType(tag & 7); @@ -22523,128 +51404,146 @@ $root.tendermint = (function() { }; /** - * Decodes a KI64Pair message from the specified reader or buffer, length delimited. + * Decodes an Annotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.libs.kv.KI64Pair} KI64Pair + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KI64Pair.decodeDelimited = function decodeDelimited(reader) { + Annotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a KI64Pair message. + * Verifies an Annotation message. * @function verify - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KI64Pair.verify = function verify(message) { + Annotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) - return "value: integer|Long expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (!$util.isString(message.sourceFile)) + return "sourceFile: string expected"; + if (message.begin != null && message.hasOwnProperty("begin")) + if (!$util.isInteger(message.begin)) + return "begin: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; return null; }; /** - * Creates a KI64Pair message from a plain object. Also converts values to their respective internal types. + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static * @param {Object.} object Plain object - * @returns {tendermint.libs.kv.KI64Pair} KI64Pair + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - KI64Pair.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.libs.kv.KI64Pair) + Annotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; - var message = new $root.tendermint.libs.kv.KI64Pair(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if ($util.Long) - (message.value = $util.Long.fromValue(object.value)).unsigned = false; - else if (typeof object.value === "string") - message.value = parseInt(object.value, 10); - else if (typeof object.value === "number") - message.value = object.value; - else if (typeof object.value === "object") - message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(); + var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.sourceFile != null) + message.sourceFile = String(object.sourceFile); + if (object.begin != null) + message.begin = object.begin | 0; + if (object.end != null) + message.end = object.end | 0; return message; }; /** - * Creates a plain object from a KI64Pair message. Also converts values to other types if specified. + * Creates a plain object from an Annotation message. Also converts values to other types if specified. * @function toObject - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @static - * @param {tendermint.libs.kv.KI64Pair} message KI64Pair + * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - KI64Pair.toObject = function toObject(message, options) { + Annotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.path = []; if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.value = options.longs === String ? "0" : 0; + object.sourceFile = ""; + object.begin = 0; + object.end = 0; } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value === "number") - object.value = options.longs === String ? String(message.value) : message.value; - else - object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber() : message.value; + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + object.sourceFile = message.sourceFile; + if (message.begin != null && message.hasOwnProperty("begin")) + object.begin = message.begin; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; return object; }; /** - * Converts this KI64Pair to JSON. + * Converts this Annotation to JSON. * @function toJSON - * @memberof tendermint.libs.kv.KI64Pair + * @memberof google.protobuf.GeneratedCodeInfo.Annotation * @instance * @returns {Object.} JSON object */ - KI64Pair.prototype.toJSON = function toJSON() { + Annotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return KI64Pair; + return Annotation; })(); - return kv; + return GeneratedCodeInfo; })(); - return libs; + return protobuf; })(); - return tendermint; + return google; +})(); + +$root.gogoproto = (function() { + + /** + * Namespace gogoproto. + * @exports gogoproto + * @namespace + */ + var gogoproto = {}; + + return gogoproto; })(); module.exports = $root;