fix(mining): return totalDistributed (sum of totalMined) in admin status
The dashboard was incorrectly calculating distributed shares using distributionPool - remainingDistribution. The correct value is the sum of all users' totalMined balances. Updated mining-service to return totalDistributed directly, and mining-admin-service to use it. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
b645621c81
commit
c84341be37
|
|
@ -536,16 +536,8 @@ export class DashboardService {
|
|||
if (miningResponse.ok) {
|
||||
const miningResult = await miningResponse.json();
|
||||
const miningData = miningResult.data || miningResult;
|
||||
// 使用 distributionPool - remainingDistribution 计算已分配
|
||||
// 分配池是 200万(不是100亿),remainingDistribution 是剩余待分配量
|
||||
// 已分配 = 分配池 - 剩余
|
||||
const distributionPool = new Decimal(
|
||||
miningData.distributionPool || '2000000',
|
||||
);
|
||||
const remaining = new Decimal(
|
||||
miningData.remainingDistribution || '2000000',
|
||||
);
|
||||
totalDistributed = distributionPool.minus(remaining).toString();
|
||||
// 直接使用 totalDistributed(所有用户 totalMined 的总和)
|
||||
totalDistributed = miningData.totalDistributed || '0';
|
||||
}
|
||||
} catch (error) {
|
||||
this.logger.warn(`Failed to fetch mining service data: ${error.message}`);
|
||||
|
|
|
|||
|
|
@ -51,9 +51,12 @@ export class AdminController {
|
|||
const config = await this.prisma.miningConfig.findFirst();
|
||||
const accountCount = await this.prisma.miningAccount.count();
|
||||
|
||||
// 用户有效算力
|
||||
const userContribution = await this.prisma.miningAccount.aggregate({
|
||||
_sum: { totalContribution: true },
|
||||
// 用户挖矿账户统计
|
||||
const userMiningStats = await this.prisma.miningAccount.aggregate({
|
||||
_sum: {
|
||||
totalContribution: true,
|
||||
totalMined: true,
|
||||
},
|
||||
});
|
||||
|
||||
// 系统账户算力
|
||||
|
|
@ -72,11 +75,14 @@ export class AdminController {
|
|||
isActive: config?.isActive || false,
|
||||
activatedAt: config?.activatedAt,
|
||||
currentEra: config?.currentEra || 0,
|
||||
distributionPool: config?.distributionPool?.toString() || '0',
|
||||
remainingDistribution: config?.remainingDistribution?.toString() || '0',
|
||||
secondDistribution: config?.secondDistribution?.toString() || '0',
|
||||
accountCount,
|
||||
// 用户有效算力
|
||||
totalContribution: userContribution._sum.totalContribution?.toString() || '0',
|
||||
totalContribution: userMiningStats._sum.totalContribution?.toString() || '0',
|
||||
// 已分配积分股(所有用户的 totalMined 总和)
|
||||
totalDistributed: userMiningStats._sum.totalMined?.toString() || '0',
|
||||
// 全网理论算力(从 contribution-service 同步)
|
||||
networkTotalContribution: config?.networkTotalContribution?.toString() || '0',
|
||||
totalTreeCount: config?.totalTreeCount || 0,
|
||||
|
|
|
|||
Loading…
Reference in New Issue