const logger = require('winston'); const db = require('../models'); let blockList = new Set(); const setupBlockList = (intervalInSeconds = 60) => { const fetchList = () => { return new Promise((resolve, reject) => { db.Blocked.getBlockList() .then((result) => { blockList.clear(); if (result.length > 0) { result.map((item) => { blockList.add(item.dataValues.outpoint) }); resolve(); } else reject(); }) .catch(e => { console.error('list was empty', e) }); }); }; setInterval(() => { fetchList() }, intervalInSeconds * 1000); return fetchList(); }; module.exports = { isBlocked: (outpoint) => { return blockList.has(outpoint) }, setupBlockList, };