import Long from "long"; import _m0 from "protobufjs/minimal"; import { Duration } from "../../google/protobuf/duration"; export declare const protobufPackage = "tendermint.types"; /** * ConsensusParams contains consensus critical parameters that determine the * validity of blocks. */ export interface ConsensusParams { block: BlockParams | undefined; evidence: EvidenceParams | undefined; validator: ValidatorParams | undefined; version: VersionParams | undefined; abci: ABCIParams | undefined; } /** BlockParams contains limits on the block size. */ export interface BlockParams { /** * Max block size, in bytes. * Note: must be greater than 0 */ maxBytes: Long; /** * Max gas per block. * Note: must be greater or equal to -1 */ maxGas: Long; } /** EvidenceParams determine how we handle evidence of malfeasance. */ export interface EvidenceParams { /** * Max age of evidence, in blocks. * * The basic formula for calculating this is: MaxAgeDuration / {average block * time}. */ maxAgeNumBlocks: Long; /** * 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). */ maxAgeDuration: Duration | undefined; /** * 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 */ maxBytes: Long; } /** * ValidatorParams restrict the public key types validators can use. * NOTE: uses ABCI pubkey naming, not Amino names. */ export interface ValidatorParams { pubKeyTypes: string[]; } /** VersionParams contains the ABCI application version. */ export interface VersionParams { app: Long; } /** * HashedParams is a subset of ConsensusParams. * * It is hashed into the Header.ConsensusHash. */ export interface HashedParams { blockMaxBytes: Long; blockMaxGas: Long; } /** ABCIParams configure functionality specific to the Application Blockchain Interface. */ export interface ABCIParams { /** * vote_extensions_enable_height configures the first height during which * vote extensions will be enabled. During this specified height, and for all * subsequent heights, precommit messages that do not contain valid extension data * will be considered invalid. Prior to this height, vote extensions will not * be used or accepted by validators on the network. * * Once enabled, vote extensions will be created by the application in ExtendVote, * passed to the application for validation in VerifyVoteExtension and given * to the application to use when proposing a block during PrepareProposal. */ voteExtensionsEnableHeight: Long; } export declare const ConsensusParams: { encode(message: ConsensusParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ConsensusParams; fromJSON(object: any): ConsensusParams; toJSON(message: ConsensusParams): unknown; create(base?: DeepPartial): ConsensusParams; fromPartial(object: DeepPartial): ConsensusParams; }; export declare const BlockParams: { encode(message: BlockParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): BlockParams; fromJSON(object: any): BlockParams; toJSON(message: BlockParams): unknown; create(base?: DeepPartial): BlockParams; fromPartial(object: DeepPartial): BlockParams; }; export declare const EvidenceParams: { encode(message: EvidenceParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): EvidenceParams; fromJSON(object: any): EvidenceParams; toJSON(message: EvidenceParams): unknown; create(base?: DeepPartial): EvidenceParams; fromPartial(object: DeepPartial): EvidenceParams; }; export declare const ValidatorParams: { encode(message: ValidatorParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorParams; fromJSON(object: any): ValidatorParams; toJSON(message: ValidatorParams): unknown; create(base?: DeepPartial): ValidatorParams; fromPartial(object: DeepPartial): ValidatorParams; }; export declare const VersionParams: { encode(message: VersionParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): VersionParams; fromJSON(object: any): VersionParams; toJSON(message: VersionParams): unknown; create(base?: DeepPartial): VersionParams; fromPartial(object: DeepPartial): VersionParams; }; export declare const HashedParams: { encode(message: HashedParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): HashedParams; fromJSON(object: any): HashedParams; toJSON(message: HashedParams): unknown; create(base?: DeepPartial): HashedParams; fromPartial(object: DeepPartial): HashedParams; }; export declare const ABCIParams: { encode(message: ABCIParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ABCIParams; fromJSON(object: any): ABCIParams; toJSON(message: ABCIParams): unknown; create(base?: DeepPartial): ABCIParams; fromPartial(object: DeepPartial): ABCIParams; }; 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 {};