/// import { ServiceContext } from "root-ts" import { TopologyService } from "../../src/service/topologyService" import { MongodbBackendProvider, MemoryBackendProvider } from "../../src/logic/backend" import { TestTopology, AccountTopology } from "./topology" import { MongodbService } from "root-ts" export const context = new ServiceContext let Settings = { database: { host: "localhost", port: 27017, name: "poc", }, minerWallet: { host: "192.168.0.221", port: 5001, username: "NStal", password: "ee52abd1ba814f99", address: "2N73AbwHNApwJLZmntTVePCUcPAiurQdAiS", pubkey: "02ebe9d300837855cb88bd04c9f3a2d0c4c1adec5364c7eef7f69dbdd58d5df8d2", syncInterval: 1000 * 60 * 5, maxDeadline: 60 * 60 * 24, startHeight: 95177, } } class TestTopologyService extends TopologyService { services: { MongodbService: MongodbService } initialize(done) { let db = this.services.MongodbService.db let mongodb = new MongodbBackendProvider(db) let memoryProvider = new MemoryBackendProvider(this.mem) this.topology.registerBackendProvider(mongodb) this.topology.registerBackendProvider(memoryProvider) this.topology.include(AccountTopology) this.topology.include(TestTopology) db.dropDatabase(() => { done() }) } mem = { map: { Pool: { master: { name: "master", displayName: "合作池", type: "private", coin: "BHD", plotterCount: 0, // test0 mineAddress: Settings.minerWallet.address, pubkey: Settings.minerWallet.pubkey, capacityDescription: "15 PB", maxDeadline: Settings.minerWallet.maxDeadline, startHeight: Settings.minerWallet.startHeight, share: { miner: 43, coin: 50, pool: 7, } }, } } } } context.register(new TestTopologyService(Settings))