Skip to content

Commit 7ce7bf3

Browse files
authored
Merge pull request #287 from lidofinance/develop
Develop to main
2 parents 4cb7ff4 + 2a29cbf commit 7ce7bf3

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

src/jobs/validators/validators.service.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,19 @@ export class ValidatorsService {
126126
this.validatorsStorageService.setMaxExitEpoch(latestEpoch);
127127
await this.findAndSetLidoValidatorsWithdrawableBalances(indexedValidators);
128128
await this.validatorsCacheService.saveDataToCache();
129-
this.logAnalyticsAboutWithdrawableBalances(activeValidatorCount, latestEpoch);
130129
this.validatorsStorageService.setLastUpdate(Math.floor(Date.now() / 1000));
130+
131+
this.logAnalyticsAboutFrameBalances();
132+
133+
const currentFrame = this.genesisTimeService.getFrameOfEpoch(this.genesisTimeService.getCurrentEpoch());
134+
const frameBalances = this.validatorsStorageService.getFrameBalances();
135+
this.logger.log('End update validators', {
136+
service: ValidatorsService.SERVICE_LOG_NAME,
137+
activeValidatorCount,
138+
latestEpoch,
139+
frameBalances: stringifyFrameBalances(frameBalances),
140+
currentFrame,
141+
});
131142
},
132143
);
133144
}
@@ -219,6 +230,7 @@ export class ValidatorsService {
219230
service: ValidatorsService.SERVICE_LOG_NAME,
220231
frameBalances: stringifyFrameBalances(frameBalances),
221232
});
233+
this.logAnalyticsAboutFrameBalances();
222234
},
223235
);
224236
}
@@ -231,17 +243,21 @@ export class ValidatorsService {
231243
return BigNumber.from(lastWithdrawal ? lastWithdrawal.validatorIndex : 0);
232244
}
233245

234-
protected logAnalyticsAboutWithdrawableBalances(activeValidatorCount: number, latestEpoch: string) {
246+
protected logAnalyticsAboutFrameBalances() {
235247
const currentFrame = this.genesisTimeService.getFrameOfEpoch(this.genesisTimeService.getCurrentEpoch());
236248
const frameBalances = this.validatorsStorageService.getFrameBalances();
237-
this.logger.log('End update validators', {
238-
service: ValidatorsService.SERVICE_LOG_NAME,
239-
activeValidatorCount,
240-
latestEpoch,
241-
frameBalances: stringifyFrameBalances(frameBalances),
242-
currentFrame,
249+
250+
const someFrame = Object.keys(frameBalances).some((frame) => {
251+
return +frame < currentFrame;
243252
});
244253

254+
if (someFrame) {
255+
this.logger.warn('frameBalances contains frames in past', {
256+
frameBalances: stringifyFrameBalances(frameBalances),
257+
currentFrame,
258+
});
259+
}
260+
245261
const sum = Object.keys(frameBalances).reduce((acc, item) => {
246262
return acc.add(frameBalances[item]);
247263
}, BigNumber.from(0));

src/waiting-time/waiting-time.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,8 +357,9 @@ export class WaitingTimeService {
357357
currentType = recalculatedResult.type;
358358
}
359359

360+
const isInPastFallback = requestTimestamp + ms - Date.now() < 0;
360361
// temporary fallback for negative results, can be deleted after validator balances computation improvements
361-
if (ms < 0) {
362+
if (isInPastFallback) {
362363
this.logger.warn(
363364
`Request with id ${request.id} was recalculated and finalisation still in past (recalculated finalizationIn=${ms}). Fallback to next frame`,
364365
);

0 commit comments

Comments
 (0)