lisk-framework
Version:
Lisk blockchain application platform
44 lines (43 loc) • 1.51 kB
TypeScript
/// <reference types="node" />
import { Schema } from '@liskhq/lisk-codec';
import { IterateOptions } from '@liskhq/lisk-db';
export interface StateDBReadWriter {
get(key: Buffer): Promise<Buffer>;
has(key: Buffer): Promise<boolean>;
set(key: Buffer, value: Buffer): Promise<void>;
del(key: Buffer): Promise<void>;
range(options?: IterateOptions): Promise<{
key: Buffer;
value: Buffer;
}[]>;
snapshot(): number;
restoreSnapshot(snapshotID: number): void;
close(): void;
}
interface KeyValue {
key: Buffer;
value: Buffer;
}
interface DecodedKeyValue<T> {
key: Buffer;
value: T;
}
export declare class PrefixedStateReadWriter {
private readonly _readWriter;
private readonly _prefix;
constructor(stateDB: StateDBReadWriter, prefix?: Buffer);
get inner(): StateDBReadWriter;
getStore(moduleID: Buffer, prefixBytes: Buffer): PrefixedStateReadWriter;
get(key: Buffer): Promise<Buffer>;
getWithSchema<T>(key: Buffer, schema: Schema): Promise<T>;
has(key: Buffer): Promise<boolean>;
set(key: Buffer, value: Buffer): Promise<void>;
setWithSchema(key: Buffer, value: object, schema: Schema): Promise<void>;
del(key: Buffer): Promise<void>;
iterate(options: IterateOptions): Promise<KeyValue[]>;
iterateWithSchema<T>(options: IterateOptions, schema: Schema): Promise<DecodedKeyValue<T>[]>;
createSnapshot(): number;
restoreSnapshot(snapshotID: number): void;
private _getKey;
}
export {};