fix(mining): add null safety to MiningConfigUpdated event payload

Prevent TypeError when config properties are undefined by using
optional chaining and default values in publishMiningConfigUpdated.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-17 00:10:28 -08:00
parent 22702e898b
commit aee64d9be8
1 changed files with 8 additions and 8 deletions

View File

@ -721,14 +721,14 @@ export class MiningDistributionService {
aggregateId: config.id, aggregateId: config.id,
eventType: 'MiningConfigUpdated', eventType: 'MiningConfigUpdated',
payload: { payload: {
totalShares: config.totalShares.toString(), totalShares: config.totalShares?.toString() || '0',
distributionPool: config.distributionPool.toString(), distributionPool: config.distributionPool?.toString() || '0',
remainingDistribution: newRemaining.toString(), remainingDistribution: newRemaining?.toString() || '0',
halvingPeriodYears: config.halvingPeriodYears, halvingPeriodYears: config.halvingPeriodYears || 2,
currentEra: config.currentEra, currentEra: config.currentEra || 1,
secondDistribution: config.secondDistribution.toString(), secondDistribution: config.secondDistribution?.toString() || '0',
isActive: config.isActive, isActive: config.isActive || false,
activatedAt: config.activatedAt?.toISOString(), activatedAt: config.activatedAt?.toISOString() || null,
}, },
}); });
this.logger.debug('Published MiningConfigUpdated event'); this.logger.debug('Published MiningConfigUpdated event');