UNPKG

@ocap/statedb-fs

Version:
98 lines (96 loc) 2.55 kB
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;