UNPKG

lisk-framework

Version:

Lisk blockchain application platform

31 lines (30 loc) 1.23 kB
/// <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>; }