lisk-framework
Version:
Lisk blockchain application platform
29 lines (28 loc) • 2.03 kB
TypeScript
/// <reference types="node" />
import { BaseMethod } from '../base_method';
import { MethodContext, ImmutableMethodContext } from '../../state_machine';
import { MethodInitArgs, ValidatorAddress } from './types';
import { ValidatorKeys } from './stores/validator_keys';
import { ValidatorsParams } from './stores/validators_params';
import { NextValidatorsSetter, Validator } from '../../state_machine/types';
export type ValidatorArgs = {
validatorAddress?: Buffer;
blsKey?: Buffer;
proofOfPossession?: Buffer;
generatorKey?: Buffer;
};
export declare class ValidatorsMethod extends BaseMethod {
private _blockTime;
init(args: MethodInitArgs): void;
registerValidatorKeys(methodContext: MethodContext, validatorAddress: Buffer, blsKey: Buffer, generatorKey: Buffer, proofOfPossession: Buffer): Promise<void>;
registerValidatorWithoutBLSKey(methodContext: MethodContext, validatorAddress: Buffer, generatorKey: Buffer): Promise<boolean>;
getAddressFromBLSKey(methodContext: MethodContext, blsKey: Buffer): Promise<ValidatorAddress>;
getValidatorKeys(methodContext: ImmutableMethodContext, address: Buffer): Promise<ValidatorKeys>;
setValidatorBLSKey(methodContext: MethodContext, validatorAddress: Buffer, blsKey: Buffer, proofOfPossession: Buffer): Promise<boolean>;
setValidatorGeneratorKey(methodContext: MethodContext, validatorAddress: Buffer, generatorKey: Buffer): Promise<boolean>;
isKeyRegistered(methodContext: ImmutableMethodContext, blsKey: Buffer): Promise<boolean>;
getGeneratorsBetweenTimestamps(methodContext: ImmutableMethodContext, startTimestamp: number, endTimestamp: number): Promise<Record<string, number>>;
getValidatorsParams(methodContext: ImmutableMethodContext): Promise<ValidatorsParams>;
setValidatorsParams(methodContext: MethodContext, validatorSetter: NextValidatorsSetter, preCommitThreshold: bigint, certificateThreshold: bigint, validators: Pick<Validator, 'address' | 'bftWeight'>[]): Promise<void>;
private _validateLengths;
}