mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 09:05:06 -07:00
Online device list compaction
This commit is contained in:
+26
-23
@@ -41,9 +41,33 @@ export class AppController {
|
|||||||
|
|
||||||
|
|
||||||
const blockData = await this.blocksService.getFoundBlocks();
|
const blockData = await this.blocksService.getFoundBlocks();
|
||||||
const userAgents = await this.userAgentReportService.getReport();
|
|
||||||
const highScores = await this.addressSettingsService.getHighScores();
|
const highScores = await this.addressSettingsService.getHighScores();
|
||||||
|
|
||||||
|
const other: {
|
||||||
|
count: number,
|
||||||
|
bestDifficulty: number,
|
||||||
|
totalHashRate: number;
|
||||||
|
} = {
|
||||||
|
count: 0,
|
||||||
|
bestDifficulty: 0,
|
||||||
|
totalHashRate: 0
|
||||||
|
};
|
||||||
|
const userAgents: UserAgentReportView[] = (await this.userAgentReportService.getReport()).reduce((pre, cur, idx, arr) => {
|
||||||
|
// If less than 1Th/s and less than 100 devices, add to 'other'
|
||||||
|
if (parseInt(cur.totalHashRate) < 1000000000000 && parseInt(cur.count) < 200) {
|
||||||
|
other.totalHashRate += parseFloat(cur.totalHashRate);
|
||||||
|
other.count += parseInt(cur.count);
|
||||||
|
if (other.bestDifficulty < cur.bestDifficulty) {
|
||||||
|
other.bestDifficulty = cur.bestDifficulty;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pre.push(cur);
|
||||||
|
}
|
||||||
|
return pre;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
userAgents.push({ userAgent: 'Other', count: other.count.toString(), bestDifficulty: other.bestDifficulty, totalHashRate: other.totalHashRate.toString() })
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
blockData,
|
blockData,
|
||||||
userAgents,
|
userAgents,
|
||||||
@@ -68,28 +92,7 @@ export class AppController {
|
|||||||
return cachedResult;
|
return cachedResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
const other: {
|
const userAgents = await this.userAgentReportService.getReport();
|
||||||
count: number,
|
|
||||||
bestDifficulty: number,
|
|
||||||
totalHashRate: number;
|
|
||||||
} = {
|
|
||||||
count: 0,
|
|
||||||
bestDifficulty: 0,
|
|
||||||
totalHashRate: 0
|
|
||||||
};
|
|
||||||
const userAgents: UserAgentReportView[] = (await this.userAgentReportService.getReport()).reduce((pre, cur, idx, arr) => {
|
|
||||||
if (parseInt(cur.totalHashRate) < 100000000000 && parseInt(cur.count) < 12) {
|
|
||||||
other.totalHashRate += parseFloat(cur.totalHashRate);
|
|
||||||
other.count += parseInt(cur.count);
|
|
||||||
if (other.bestDifficulty < cur.bestDifficulty) {
|
|
||||||
other.bestDifficulty = cur.bestDifficulty;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
arr.push(cur);
|
|
||||||
}
|
|
||||||
return arr;
|
|
||||||
}, []);
|
|
||||||
userAgents.push({ userAgent: 'Other', count: other.count.toString(), bestDifficulty: other.bestDifficulty, totalHashRate: other.totalHashRate.toString() })
|
|
||||||
|
|
||||||
const totalHashRate = userAgents.reduce((acc, userAgent) => acc + parseFloat(userAgent.totalHashRate), 0);
|
const totalHashRate = userAgents.reduce((acc, userAgent) => acc + parseFloat(userAgent.totalHashRate), 0);
|
||||||
const totalMiners = userAgents.reduce((acc, userAgent) => acc + parseFloat(userAgent.count), 0);
|
const totalMiners = userAgents.reduce((acc, userAgent) => acc + parseFloat(userAgent.count), 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user