@bsv/wallet-toolbox-client
Version:
Client only Wallet Storage
68 lines • 2.69 kB
JavaScript
;
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