UNPKG

@ocap/statedb-fs

Version:
96 lines (94 loc) 2.12 kB
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 };