lisk-framework
Version:
Lisk blockchain application platform
81 lines (80 loc) • 2.71 kB
TypeScript
/// <reference types="node" />
import { BaseStore, ImmutableStoreGetter, StoreGetter } from '../../base_store';
import { TokenID } from '../types';
export interface UserStoreData {
availableBalance: bigint;
lockedBalances: {
module: string;
amount: bigint;
}[];
}
export declare const userStoreSchema: {
$id: string;
type: string;
required: string[];
properties: {
availableBalance: {
dataType: string;
fieldNumber: number;
};
lockedBalances: {
type: string;
fieldNumber: number;
items: {
type: string;
required: string[];
properties: {
module: {
dataType: string;
fieldNumber: number;
minLength: number;
maxLength: number;
};
amount: {
dataType: string;
fieldNumber: number;
};
};
};
};
};
};
export declare class UserStore extends BaseStore<UserStoreData> {
schema: {
$id: string;
type: string;
required: string[];
properties: {
availableBalance: {
dataType: string;
fieldNumber: number;
};
lockedBalances: {
type: string;
fieldNumber: number;
items: {
type: string;
required: string[];
properties: {
module: {
dataType: string;
fieldNumber: number;
minLength: number;
maxLength: number;
};
amount: {
dataType: string;
fieldNumber: number;
};
};
};
};
};
};
accountExist(context: ImmutableStoreGetter, address: Buffer): Promise<boolean>;
createDefaultAccount(context: StoreGetter, address: Buffer, tokenID: Buffer): Promise<void>;
addAvailableBalanceWithCreate(context: StoreGetter, address: Buffer, tokenID: Buffer, amount: bigint): Promise<void>;
getKey(address: Buffer, tokenID: TokenID): Buffer;
save(context: StoreGetter, address: Buffer, tokenID: Buffer, data: UserStoreData): Promise<void>;
addAvailableBalance(context: StoreGetter, address: Buffer, tokenID: Buffer, amount: bigint): Promise<void>;
}