import Long from "long"; import _m0 from "protobufjs/minimal"; import { Proof } from "../crypto/proof"; import { Consensus } from "../version/types"; import { BlockIDFlag, ValidatorSet } from "./validator"; export declare const protobufPackage = "tendermint.types"; /** SignedMsgType is a type of signed message in the consensus. */ export declare enum SignedMsgType { SIGNED_MSG_TYPE_UNKNOWN = 0, /** SIGNED_MSG_TYPE_PREVOTE - Votes */ SIGNED_MSG_TYPE_PREVOTE = 1, SIGNED_MSG_TYPE_PRECOMMIT = 2, /** SIGNED_MSG_TYPE_PROPOSAL - Proposals */ SIGNED_MSG_TYPE_PROPOSAL = 32, UNRECOGNIZED = -1 } export declare function signedMsgTypeFromJSON(object: any): SignedMsgType; export declare function signedMsgTypeToJSON(object: SignedMsgType): string; /** PartsetHeader */ export interface PartSetHeader { total: number; hash: Uint8Array; } export interface Part { index: number; bytes: Uint8Array; proof: Proof | undefined; } /** BlockID */ export interface BlockID { hash: Uint8Array; partSetHeader: PartSetHeader | undefined; } /** Header defines the structure of a block header. */ export interface Header { /** basic block info */ version: Consensus | undefined; chainId: string; height: Long; time: Date | undefined; /** prev block info */ lastBlockId: BlockID | undefined; /** hashes of block data */ lastCommitHash: Uint8Array; /** transactions */ dataHash: Uint8Array; /** hashes from the app output from the prev block */ validatorsHash: Uint8Array; /** validators for the next block */ nextValidatorsHash: Uint8Array; /** consensus params for current block */ consensusHash: Uint8Array; /** state after txs from the previous block */ appHash: Uint8Array; /** root hash of all results from the txs from the previous block */ lastResultsHash: Uint8Array; /** consensus info */ evidenceHash: Uint8Array; /** original proposer of the block */ proposerAddress: Uint8Array; } /** Data contains the set of transactions included in the block */ export interface 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. */ txs: Uint8Array[]; } /** * Vote represents a prevote or precommit vote from validators for * consensus. */ export interface Vote { type: SignedMsgType; height: Long; round: number; /** zero if vote is nil. */ blockId: BlockID | undefined; timestamp: Date | undefined; validatorAddress: Uint8Array; validatorIndex: number; /** * Vote signature by the validator if they participated in consensus for the * associated block. */ signature: Uint8Array; /** * Vote extension provided by the application. Only valid for precommit * messages. */ extension: Uint8Array; /** * Vote extension signature by the validator if they participated in * consensus for the associated block. * Only valid for precommit messages. */ extensionSignature: Uint8Array; } /** Commit contains the evidence that a block was committed by a set of validators. */ export interface Commit { height: Long; round: number; blockId: BlockID | undefined; signatures: CommitSig[]; } /** CommitSig is a part of the Vote included in a Commit. */ export interface CommitSig { blockIdFlag: BlockIDFlag; validatorAddress: Uint8Array; timestamp: Date | undefined; signature: Uint8Array; } export interface ExtendedCommit { height: Long; round: number; blockId: BlockID | undefined; extendedSignatures: ExtendedCommitSig[]; } /** * ExtendedCommitSig retains all the same fields as CommitSig but adds vote * extension-related fields. We use two signatures to ensure backwards compatibility. * That is the digest of the original signature is still the same in prior versions */ export interface ExtendedCommitSig { blockIdFlag: BlockIDFlag; validatorAddress: Uint8Array; timestamp: Date | undefined; signature: Uint8Array; /** Vote extension data */ extension: Uint8Array; /** Vote extension signature */ extensionSignature: Uint8Array; } export interface Proposal { type: SignedMsgType; height: Long; round: number; polRound: number; blockId: BlockID | undefined; timestamp: Date | undefined; signature: Uint8Array; } export interface SignedHeader { header: Header | undefined; commit: Commit | undefined; } export interface LightBlock { signedHeader: SignedHeader | undefined; validatorSet: ValidatorSet | undefined; } export interface BlockMeta { blockId: BlockID | undefined; blockSize: Long; header: Header | undefined; numTxs: Long; } /** TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. */ export interface TxProof { rootHash: Uint8Array; data: Uint8Array; proof: Proof | undefined; } export declare const PartSetHeader: { encode(message: PartSetHeader, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PartSetHeader; fromJSON(object: any): PartSetHeader; toJSON(message: PartSetHeader): unknown; create(base?: DeepPartial): PartSetHeader; fromPartial(object: DeepPartial): PartSetHeader; }; export declare const Part: { encode(message: Part, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Part; fromJSON(object: any): Part; toJSON(message: Part): unknown; create(base?: DeepPartial): Part; fromPartial(object: DeepPartial): Part; }; export declare const BlockID: { encode(message: BlockID, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): BlockID; fromJSON(object: any): BlockID; toJSON(message: BlockID): unknown; create(base?: DeepPartial): BlockID; fromPartial(object: DeepPartial): BlockID; }; export declare const Header: { encode(message: Header, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Header; fromJSON(object: any): Header; toJSON(message: Header): unknown; create(base?: DeepPartial
): Header; fromPartial(object: DeepPartial
): Header; }; export declare const Data: { encode(message: Data, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Data; fromJSON(object: any): Data; toJSON(message: Data): unknown; create(base?: DeepPartial): Data; fromPartial(object: DeepPartial): Data; }; export declare const Vote: { encode(message: Vote, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Vote; fromJSON(object: any): Vote; toJSON(message: Vote): unknown; create(base?: DeepPartial): Vote; fromPartial(object: DeepPartial): Vote; }; export declare const Commit: { encode(message: Commit, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Commit; fromJSON(object: any): Commit; toJSON(message: Commit): unknown; create(base?: DeepPartial): Commit; fromPartial(object: DeepPartial): Commit; }; export declare const CommitSig: { encode(message: CommitSig, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CommitSig; fromJSON(object: any): CommitSig; toJSON(message: CommitSig): unknown; create(base?: DeepPartial): CommitSig; fromPartial(object: DeepPartial): CommitSig; }; export declare const ExtendedCommit: { encode(message: ExtendedCommit, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ExtendedCommit; fromJSON(object: any): ExtendedCommit; toJSON(message: ExtendedCommit): unknown; create(base?: DeepPartial): ExtendedCommit; fromPartial(object: DeepPartial): ExtendedCommit; }; export declare const ExtendedCommitSig: { encode(message: ExtendedCommitSig, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ExtendedCommitSig; fromJSON(object: any): ExtendedCommitSig; toJSON(message: ExtendedCommitSig): unknown; create(base?: DeepPartial): ExtendedCommitSig; fromPartial(object: DeepPartial): ExtendedCommitSig; }; export declare const Proposal: { encode(message: Proposal, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Proposal; fromJSON(object: any): Proposal; toJSON(message: Proposal): unknown; create(base?: DeepPartial): Proposal; fromPartial(object: DeepPartial): Proposal; }; export declare const SignedHeader: { encode(message: SignedHeader, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SignedHeader; fromJSON(object: any): SignedHeader; toJSON(message: SignedHeader): unknown; create(base?: DeepPartial): SignedHeader; fromPartial(object: DeepPartial): SignedHeader; }; export declare const LightBlock: { encode(message: LightBlock, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): LightBlock; fromJSON(object: any): LightBlock; toJSON(message: LightBlock): unknown; create(base?: DeepPartial): LightBlock; fromPartial(object: DeepPartial): LightBlock; }; export declare const BlockMeta: { encode(message: BlockMeta, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): BlockMeta; fromJSON(object: any): BlockMeta; toJSON(message: BlockMeta): unknown; create(base?: DeepPartial): BlockMeta; fromPartial(object: DeepPartial): BlockMeta; }; export declare const TxProof: { encode(message: TxProof, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TxProof; fromJSON(object: any): TxProof; toJSON(message: TxProof): unknown; create(base?: DeepPartial): TxProof; fromPartial(object: DeepPartial): TxProof; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; export {};