UNPKG

@bsv/wallet-toolbox

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

56 lines 3.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@bsv/sdk"); const ChaintracksFetch_1 = require("../ChaintracksFetch"); const utilityHelpers_noBuffer_1 = require("../../../../../utility/utilityHelpers.noBuffer"); const validBulkHeaderFilesByFileHash_1 = require("../validBulkHeaderFilesByFileHash"); describe('ChaintracksFetch tests', () => { jest.setTimeout(99999999); test('0 fetchJson', async () => { const fetch = new ChaintracksFetch_1.ChaintracksFetch(); const cdnUrl = 'https://cdn.projectbabbage.com/blockheaders/'; //const jsonResource = `${cdnUrl}/testNetV2.json` const jsonResource = `${cdnUrl}/testNetBlockHeaders.json`; const info = await fetch.fetchJson(jsonResource); expect(info).toBeDefined(); expect(info.files.length).toBeGreaterThan(4); }); test('1 download', async () => { const fetch = new ChaintracksFetch_1.ChaintracksFetch(); const cdnUrl = 'https://cdn.projectbabbage.com/blockheaders/'; const url = `${cdnUrl}/testNet_0.headers`; const data = await fetch.download(url); expect(data.length).toBe(8000000); const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_1.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(data)), 'base64'); expect((0, validBulkHeaderFilesByFileHash_1.validBulkHeaderFilesByFileHash)()[fileHash]).toBeDefined(); }); test.skip('2 download faster crypto.subtle sha256', async () => { const fetch = new ChaintracksFetch_1.ChaintracksFetch(); const cdnUrl = 'https://cdn.projectbabbage.com/blockheaders/'; const url = `${cdnUrl}/testNet_0.headers`; const data = await fetch.download(url); expect(data.length).toBe(8000000); const hash = new Uint8Array(await crypto.subtle.digest('SHA-256', Uint8Array.from(data))); const fileHash = (0, utilityHelpers_noBuffer_1.asString)(hash, 'base64'); expect((0, validBulkHeaderFilesByFileHash_1.validBulkHeaderFilesByFileHash)()[fileHash]).toBeDefined(); }); test('3 download', async () => { const fetch = new ChaintracksFetch_1.ChaintracksFetch(); const cdnUrl = 'https://cdn.projectbabbage.com/blockheaders/'; const url = `${cdnUrl}/testNet_4.headers`; const data = await fetch.download(url); expect(data.length).toBe(80 * 100000); const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_1.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(data)), 'base64'); expect((0, validBulkHeaderFilesByFileHash_1.validBulkHeaderFilesByFileHash)()[fileHash]).toBeDefined(); }); test('4 download', async () => { const fetch = new ChaintracksFetch_1.ChaintracksFetch(); const cdnUrl = 'https://cdn.projectbabbage.com/blockheaders/'; const url = `${cdnUrl}/mainNet_2.headers`; const data = await fetch.download(url); expect(data.length).toBe(80 * 100000); const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_1.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(data)), 'base64'); expect((0, validBulkHeaderFilesByFileHash_1.validBulkHeaderFilesByFileHash)()[fileHash]).toBeDefined(); }); }); //# sourceMappingURL=ChaintracksFetch.test.js.map