lisk-framework
Version:
Lisk blockchain application platform
206 lines (205 loc) • 6.16 kB
TypeScript
/// <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>;
}