selectedMinerIndexes = {
let miners = []
const recentMinerSet = new Set()
const recentAveragesMinerSet = new Set()
for (const miner of Object.keys(minerPowerLatestReport.miners)) {
if (d3.isoParse(minerPowerLatestReport.miners[miner].timestamp) > minTimestamp) {
recentMinerSet.add(miner)
recentAveragesMinerSet.add(miner)
}
}
for (const miner of Object.keys(minerPowerDailyAverageReport.miners)) {
recentAveragesMinerSet.add(miner)
}
for (const miner of Object.keys(minerPowerMultidayAverageReport.miners)) {
recentAveragesMinerSet.add(miner)
}
if (subsetToScan === 'Recents') {
miners = [...recentMinerSet]
} else if (subsetToScan === 'Recents, Averages') {
miners = [...recentAveragesMinerSet]
} else if (subsetToScan === 'Newest miners, not recent') {
miners = allMiners.slice(-10000).filter(miner => !recentMinerSet.has(miner))
} else if (subsetToScan === 'All miners, not recent') {
miners = allMiners.filter(miner => !recentMinerSet.has(miner))
} else if (subsetToScan === 'All miners') {
miners = allMiners
}
return d3.shuffle(miners)
}