UNPKG

lisk-framework

Version:

Lisk blockchain application platform

206 lines (205 loc) 6.16 kB
/// <reference types="node" /> import { BaseStore, ImmutableStoreGetter } from '../../base_store'; export declare const enum ChainStatus { REGISTERED = 0, ACTIVE = 1, TERMINATED = 2 } export interface LastCertificate { height: number; timestamp: number; stateRoot: Buffer; validatorsHash: Buffer; } export interface LastCertificateJSON { height: number; timestamp: number; stateRoot: string; validatorsHash: string; } export interface ChainAccount { name: string; lastCertificate: LastCertificate; status: ChainStatus; } export declare const chainDataJSONSchema: { type: string; required: string[]; properties: { name: { dataType: string; fieldNumber: number; }; lastCertificate: { type: string; fieldNumber: number; required: string[]; properties: { height: { dataType: string; fieldNumber: number; }; timestamp: { dataType: string; fieldNumber: number; }; stateRoot: { dataType: string; format: string; fieldNumber: number; }; validatorsHash: { dataType: string; format: string; fieldNumber: number; }; }; }; status: { dataType: string; fieldNumber: number; }; }; }; export declare const chainDataSchema: { $id: string; type: string; required: string[]; properties: { name: { dataType: string; minLength: number; maxLength: number; fieldNumber: number; }; lastCertificate: { type: string; fieldNumber: number; required: string[]; properties: { height: { dataType: string; fieldNumber: number; }; timestamp: { dataType: string; fieldNumber: number; }; stateRoot: { dataType: string; minLength: number; maxLength: number; fieldNumber: number; }; validatorsHash: { dataType: string; minLength: number; maxLength: number; fieldNumber: number; }; }; }; status: { dataType: string; fieldNumber: number; }; }; }; export declare const allChainAccountsSchema: { $id: string; type: string; required: string[]; properties: { chains: { type: string; items: { type: string; required: string[]; properties: { name: { dataType: string; fieldNumber: number; }; lastCertificate: { type: string; fieldNumber: number; required: string[]; properties: { height: { dataType: string; fieldNumber: number; }; timestamp: { dataType: string; fieldNumber: number; }; stateRoot: { dataType: string; format: string; fieldNumber: number; }; validatorsHash: { dataType: string; format: string; fieldNumber: number; }; }; }; status: { dataType: string; fieldNumber: number; }; }; }; }; }; }; export declare class ChainAccountStore extends BaseStore<ChainAccount> { schema: { $id: string; type: string; required: string[]; properties: { name: { dataType: string; minLength: number; maxLength: number; fieldNumber: number; }; lastCertificate: { type: string; fieldNumber: number; required: string[]; properties: { height: { dataType: string; fieldNumber: number; }; timestamp: { dataType: string; fieldNumber: number; }; stateRoot: { dataType: string; minLength: number; maxLength: number; fieldNumber: number; }; validatorsHash: { dataType: string; minLength: number; maxLength: number; fieldNumber: number; }; }; }; status: { dataType: string; fieldNumber: number; }; }; }; get storePrefix(): Buffer; getAllAccounts(context: ImmutableStoreGetter, startChainID: Buffer): Promise<ChainAccount[]>; getOrUndefined(context: ImmutableStoreGetter, key: Buffer): Promise<ChainAccount | undefined>; }