UNPKG

@bsv/wallet-toolbox

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

59 lines 2.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const TestUtilsWalletStorage_1 = require("../../../../../test/utils/TestUtilsWalletStorage"); const utilityHelpers_1 = require("../../../../utility/utilityHelpers"); const createIdbChaintracks_1 = require("../createIdbChaintracks"); require("fake-indexeddb/auto"); describe('createIdbChaintracks tests', () => { jest.setTimeout(99999999); let logSpy, capturedLogs = []; beforeAll(async () => { logSpy = jest.spyOn(console, 'log').mockImplementation((...args) => { capturedLogs.push(args.map(String).join(' ')); }); }); test('0', async () => { const target = 'main'; if (TestUtilsWalletStorage_1._tu.noEnv(target)) return; // Test runs over two minutes long... return; const env = TestUtilsWalletStorage_1._tu.getEnv(target); const { chain, chaintracks, storage, available } = await (0, createIdbChaintracks_1.createIdbChaintracks)(env.chain, env.whatsonchainApiKey); await available; const headerListener = (header) => { console.log(`headerListener: height: ${header.height} hash: ${header.hash} ${new Date().toISOString()}`); }; chaintracks.subscribeHeaders(headerListener); expect(countDatas(storage.bulkManager)).toBeLessThanOrEqual(3); const tipHash = await chaintracks.findChainTipHash(); const tip = await chaintracks.findChainTipHeader(); chaintracks.log(`tip: height: ${tip.height} hash: ${tip.hash}`); expect(tip.hash).toBe(tipHash); const forHash = await chaintracks.findHeaderForBlockHash(tip.hash); expect(forHash === null || forHash === void 0 ? void 0 : forHash.hash).toBe(tip.hash); const forHashLive = await chaintracks.findLiveHeaderForBlockHash(tip.hash); expect(forHashLive === null || forHashLive === void 0 ? void 0 : forHashLive.hash).toBe(tip.hash); const chainwork = await chaintracks.findChainWorkForBlockHash(tip.hash); expect(forHashLive === null || forHashLive === void 0 ? void 0 : forHashLive.chainWork).toBe(chainwork); const forHeight = await chaintracks.findHeaderForHeight(tip.height); expect(forHeight === null || forHeight === void 0 ? void 0 : forHeight.hash).toBe(tip.hash); const listening = await chaintracks.isListening(); expect(listening).toBe(true); // console.log('validating...') // const validated = await chaintracks.validate() // expect(validated).toBe(true) // console.log('validated') for (;;) await (0, utilityHelpers_1.wait)(120000); }); }); function countDatas(manager) { let count = 0; for (const file of manager['bfds']) { if (file.data) count += 1; } return count; } //# sourceMappingURL=createIdbChaintracks.test.js.map