@ocap/statedb-fs
Version:
OCAP statedb adapter that uses fs as backend
98 lines (96 loc) • 2.55 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
const require_package = require('./package.cjs');
const require_table_base = require('./table/base.cjs');
const require_table_account = require('./table/account.cjs');
const require_table_balance = require('./table/balance.cjs');
const require_table_rollup = require('./table/rollup.cjs');
const require_table_token = require('./table/token.cjs');
let _ocap_statedb = require("@ocap/statedb");
//#region src/db.ts
/**
* 文件系统 StateDB 实现
* 使用 LokiJS + FSAdapter 作为文件存储引擎
*/
var FsStateDB = class extends _ocap_statedb.StateDB {
constructor(dataDir) {
super();
this.name = require_package.name;
this.version = require_package.version;
this.balance = new require_table_balance.default({
name: "balance",
dataDir,
uniqIndex: ["address", "tokenAddress"]
});
this.account = new require_table_account.default({
name: "account",
dataDir,
uniqIndex: "address",
balanceTable: this.balance,
syncBalance: true
});
this.factory = new require_table_base.default({
name: "factory",
dataDir,
uniqIndex: "address",
syncBalance: true,
balanceTable: this.balance
});
this.stake = new require_table_base.default({
name: "stake",
dataDir,
uniqIndex: "address",
syncBalance: true,
balanceTable: this.balance
});
this.asset = new require_table_base.default({
name: "asset",
dataDir,
uniqIndex: "address"
});
this.delegation = new require_table_base.default({
name: "delegation",
dataDir,
uniqIndex: "address"
});
this.tx = new require_table_base.default({
name: "tx",
dataDir,
uniqIndex: "hash"
});
this.token = new require_table_token.default({
name: "token",
dataDir,
uniqIndex: "address"
});
this.chain = new require_table_base.default({
name: "chain",
dataDir,
uniqIndex: "address"
});
this.rollup = new require_table_rollup.default({
name: "rollup",
dataDir,
uniqIndex: "address"
});
this.rollupBlock = new require_table_base.default({
name: "rollupBlock",
dataDir,
uniqIndex: "hash"
});
this.evidence = new require_table_base.default({
name: "evidence",
dataDir,
uniqIndex: "hash"
});
this.tokenFactory = new require_table_base.default({
name: "tokenFactory",
dataDir,
uniqIndex: "address"
});
this.attachReadyListeners();
}
};
var db_default = FsStateDB;
//#endregion
exports.default = db_default;