lisk-framework
Version:
Lisk blockchain application platform
215 lines (214 loc) • 6.07 kB
TypeScript
/// <reference types="node" />
import { Validator } from '../../abi';
export interface BFTParameters {
prevoteThreshold: bigint;
precommitThreshold: bigint;
certificateThreshold: bigint;
validators: Validator[];
validatorsHash: Buffer;
}
export declare const bftParametersSchema: {
$id: string;
type: string;
required: string[];
properties: {
prevoteThreshold: {
dataType: string;
fieldNumber: number;
};
precommitThreshold: {
dataType: string;
fieldNumber: number;
};
certificateThreshold: {
dataType: string;
fieldNumber: number;
};
validators: {
type: string;
fieldNumber: number;
items: {
type: string;
required: string[];
properties: {
address: {
dataType: string;
format: string;
fieldNumber: number;
};
bftWeight: {
dataType: string;
fieldNumber: number;
};
generatorKey: {
dataType: string;
fieldNumber: number;
minLength: number;
maxLength: number;
};
blsKey: {
dataType: string;
fieldNumber: number;
minLength: number;
maxLength: number;
};
};
};
};
validatorsHash: {
dataType: string;
fieldNumber: number;
};
};
};
export interface BFTVotesBlockInfo {
height: number;
generatorAddress: Buffer;
maxHeightGenerated: number;
maxHeightPrevoted: number;
prevoteWeight: bigint;
precommitWeight: bigint;
}
export interface BFTVotesActiveValidatorsVoteInfo {
address: Buffer;
minActiveHeight: number;
largestHeightPrecommit: number;
}
export interface BFTVotes {
maxHeightPrevoted: number;
maxHeightPrecommitted: number;
maxHeightCertified: number;
blockBFTInfos: BFTVotesBlockInfo[];
activeValidatorsVoteInfo: BFTVotesActiveValidatorsVoteInfo[];
}
export declare const bftVotesSchema: {
$id: string;
type: string;
required: string[];
properties: {
maxHeightPrevoted: {
dataType: string;
fieldNumber: number;
};
maxHeightPrecommitted: {
dataType: string;
fieldNumber: number;
};
maxHeightCertified: {
dataType: string;
fieldNumber: number;
};
blockBFTInfos: {
type: string;
fieldNumber: number;
items: {
type: string;
required: string[];
properties: {
height: {
dataType: string;
fieldNumber: number;
};
generatorAddress: {
dataType: string;
fieldNumber: number;
};
maxHeightGenerated: {
dataType: string;
fieldNumber: number;
};
maxHeightPrevoted: {
dataType: string;
fieldNumber: number;
};
prevoteWeight: {
dataType: string;
fieldNumber: number;
};
precommitWeight: {
dataType: string;
fieldNumber: number;
};
};
};
};
activeValidatorsVoteInfo: {
type: string;
fieldNumber: number;
items: {
type: string;
required: string[];
properties: {
address: {
dataType: string;
fieldNumber: number;
};
minActiveHeight: {
dataType: string;
fieldNumber: number;
};
largestHeightPrecommit: {
dataType: string;
fieldNumber: number;
};
};
};
};
};
};
export interface ValidatorsHashInfo {
blsKey: Buffer;
bftWeight: bigint;
}
export interface ValidatorsHashInput {
activeValidators: ValidatorsHashInfo[];
certificateThreshold: bigint;
}
export declare const validatorsHashInputSchema: {
$id: string;
type: string;
required: string[];
properties: {
activeValidators: {
type: string;
fieldNumber: number;
items: {
type: string;
required: string[];
properties: {
blsKey: {
dataType: string;
fieldNumber: number;
};
bftWeight: {
dataType: string;
fieldNumber: number;
};
};
};
};
certificateThreshold: {
dataType: string;
fieldNumber: number;
};
};
};
export interface AreHeadersContradictingRequest {
header1: string;
header2: string;
}
export declare const areHeadersContradictingRequestSchema: {
$id: string;
type: string;
required: string[];
properties: {
header1: {
type: string;
format: string;
};
header2: {
type: string;
format: string;
};
};
};