UNPKG

@bsv/wallet-toolbox-client

Version:
68 lines 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDefaultNoDbChaintracksOptions = createDefaultNoDbChaintracksOptions; const BulkIngestorCDNBabbage_1 = require("./Ingest/BulkIngestorCDNBabbage"); const ChaintracksFetch_1 = require("./util/ChaintracksFetch"); const LiveIngestorWhatsOnChainPoll_1 = require("./Ingest/LiveIngestorWhatsOnChainPoll"); const BulkIngestorWhatsOnChainCdn_1 = require("./Ingest/BulkIngestorWhatsOnChainCdn"); const ChaintracksStorageNoDb_1 = require("./Storage/ChaintracksStorageNoDb"); const BulkFileDataManager_1 = require("./util/BulkFileDataManager"); function createDefaultNoDbChaintracksOptions(chain, whatsonchainApiKey = '', maxPerFile = 100000, maxRetained = 2, fetch, cdnUrl = 'https://cdn.projectbabbage.com/blockheaders/', liveHeightThreshold = 2000, reorgHeightThreshold = 400, bulkMigrationChunkSize = 500, batchInsertLimit = 400, addLiveRecursionLimit = 36) { fetch || (fetch = new ChaintracksFetch_1.ChaintracksFetch()); const bfo = { chain, fetch, maxPerFile, maxRetained, fromKnownSourceUrl: cdnUrl }; const bulkFileDataManager = new BulkFileDataManager_1.BulkFileDataManager(bfo); const so = { chain, bulkFileDataManager, liveHeightThreshold, reorgHeightThreshold, bulkMigrationChunkSize, batchInsertLimit }; const storage = new ChaintracksStorageNoDb_1.ChaintracksStorageNoDb(so); const co = { chain, storage, bulkIngestors: [], liveIngestors: [], addLiveRecursionLimit, logging: (...args) => console.log(new Date().toISOString(), ...args), readonly: false }; const jsonResource = `${chain}NetBlockHeaders.json`; const bulkCdnOptions = { chain, jsonResource, fetch, cdnUrl, maxPerFile }; co.bulkIngestors.push(new BulkIngestorCDNBabbage_1.BulkIngestorCDNBabbage(bulkCdnOptions)); const wocOptions = { chain, apiKey: whatsonchainApiKey, timeout: 30000, userAgent: 'BabbageWhatsOnChainServices', enableCache: true, chainInfoMsecs: 5000 }; const bulkOptions = { ...wocOptions, jsonResource, idleWait: 5000 }; co.bulkIngestors.push(new BulkIngestorWhatsOnChainCdn_1.BulkIngestorWhatsOnChainCdn(bulkOptions)); const liveOptions = { ...wocOptions, idleWait: 100000 }; co.liveIngestors.push(new LiveIngestorWhatsOnChainPoll_1.LiveIngestorWhatsOnChainPoll(liveOptions)); return co; } //# sourceMappingURL=createDefaultNoDbChaintracksOptions.js.map