lisk-framework
Version:
Lisk blockchain application platform
31 lines (30 loc) • 1.23 kB
TypeScript
/// <reference types="node" />
import { Schema } from '@liskhq/lisk-codec';
import { IterateOptions } from '@liskhq/lisk-db';
import { ImmutableSubStore, SubStore } from '../state_machine/types';
export interface ImmutableStoreGetter {
getStore: (moduleID: Buffer, storePrefix: Buffer) => ImmutableSubStore;
}
export interface StoreGetter {
getStore: (moduleID: Buffer, storePrefix: Buffer) => SubStore;
}
export declare const computeStorePrefix: (name: string) => Buffer;
export declare const computeSubstorePrefix: (index: number) => Buffer;
export declare abstract class BaseStore<T> {
private readonly _storePrefix;
private readonly _subStorePrefix;
schema: Schema;
get storePrefix(): Buffer;
get subStorePrefix(): Buffer;
get key(): Buffer;
get name(): string;
constructor(moduleName: string, index: number);
get(ctx: ImmutableStoreGetter, key: Buffer): Promise<T>;
has(ctx: ImmutableStoreGetter, key: Buffer): Promise<boolean>;
iterate(ctx: ImmutableStoreGetter, options: IterateOptions): Promise<{
key: Buffer;
value: T;
}[]>;
set(ctx: StoreGetter, key: Buffer, value: T): Promise<void>;
del(ctx: StoreGetter, key: Buffer): Promise<void>;
}