@ocap/statedb-fs
Version:
OCAP statedb adapter that uses fs as backend
96 lines (94 loc) • 2.12 kB
JavaScript
import { name, version } from "./package.mjs";
import base_default from "./table/base.mjs";
import account_default from "./table/account.mjs";
import balance_default from "./table/balance.mjs";
import rollup_default from "./table/rollup.mjs";
import token_default from "./table/token.mjs";
import { StateDB } from "@ocap/statedb";
//#region src/db.ts
/**
* 文件系统 StateDB 实现
* 使用 LokiJS + FSAdapter 作为文件存储引擎
*/
var FsStateDB = class extends StateDB {
constructor(dataDir) {
super();
this.name = name;
this.version = version;
this.balance = new balance_default({
name: "balance",
dataDir,
uniqIndex: ["address", "tokenAddress"]
});
this.account = new account_default({
name: "account",
dataDir,
uniqIndex: "address",
balanceTable: this.balance,
syncBalance: true
});
this.factory = new base_default({
name: "factory",
dataDir,
uniqIndex: "address",
syncBalance: true,
balanceTable: this.balance
});
this.stake = new base_default({
name: "stake",
dataDir,
uniqIndex: "address",
syncBalance: true,
balanceTable: this.balance
});
this.asset = new base_default({
name: "asset",
dataDir,
uniqIndex: "address"
});
this.delegation = new base_default({
name: "delegation",
dataDir,
uniqIndex: "address"
});
this.tx = new base_default({
name: "tx",
dataDir,
uniqIndex: "hash"
});
this.token = new token_default({
name: "token",
dataDir,
uniqIndex: "address"
});
this.chain = new base_default({
name: "chain",
dataDir,
uniqIndex: "address"
});
this.rollup = new rollup_default({
name: "rollup",
dataDir,
uniqIndex: "address"
});
this.rollupBlock = new base_default({
name: "rollupBlock",
dataDir,
uniqIndex: "hash"
});
this.evidence = new base_default({
name: "evidence",
dataDir,
uniqIndex: "hash"
});
this.tokenFactory = new base_default({
name: "tokenFactory",
dataDir,
uniqIndex: "address"
});
this.attachReadyListeners();
}
};
var db_default = FsStateDB;
//#endregion
export { db_default as default };