Skip to content

Commit e32a989

Browse files
committed
fix: fixed errors on start app when rewards calc failed
1 parent 8b1bab2 commit e32a989

File tree

1 file changed

+48
-41
lines changed

1 file changed

+48
-41
lines changed

src/events/rewards/rewards.service.ts

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -74,55 +74,62 @@ export class RewardsService {
7474
}
7575

7676
public async getMinLastTotalRewardsPerFrame() {
77-
const framesFromLastReports = await this.getFramesFromLastReports();
78-
if (framesFromLastReports === null) {
79-
this.logger.warn(
80-
'last reward reports were not found because last TokenRebase events were not found during last week.',
81-
{ service: RewardsService.SERVICE_LOG_NAME },
82-
);
83-
return {
84-
clRewards: BigNumber.from(0),
85-
elRewards: BigNumber.from(0),
86-
allRewards: BigNumber.from(0),
87-
};
88-
}
77+
const zeroRewardsFallback = {
78+
clRewards: BigNumber.from(0),
79+
elRewards: BigNumber.from(0),
80+
allRewards: BigNumber.from(0),
81+
};
8982

90-
const rewards = await Promise.all(
91-
framesFromLastReports.map(async ({ blockNumber, frames }) => {
92-
const { clRewards, elRewards } = await this.getRewardsByBlockNumber(blockNumber, frames);
83+
try {
84+
const framesFromLastReports = await this.getFramesFromLastReports();
85+
if (framesFromLastReports === null) {
86+
this.logger.warn(
87+
'last reward reports were not found because last TokenRebase events were not found during last week.',
88+
{ service: RewardsService.SERVICE_LOG_NAME },
89+
);
90+
return zeroRewardsFallback;
91+
}
9392

94-
return {
95-
clRewards,
96-
elRewards,
97-
};
98-
}),
99-
);
93+
const rewards = await Promise.all(
94+
framesFromLastReports.map(async ({ blockNumber, frames }) => {
95+
const { clRewards, elRewards } = await this.getRewardsByBlockNumber(blockNumber, frames);
10096

101-
let minCL = rewards[0].clRewards;
102-
let minEL = rewards[0].elRewards;
97+
return {
98+
clRewards,
99+
elRewards,
100+
};
101+
}),
102+
);
103103

104-
// find minimum for last week
105-
rewards.forEach((r) => {
106-
if (minCL.lt(r.clRewards)) {
107-
minCL = r.clRewards;
108-
}
104+
let minCL = rewards[0].clRewards;
105+
let minEL = rewards[0].elRewards;
109106

110-
if (minEL.lt(r.elRewards)) {
111-
minEL = r.elRewards;
112-
}
113-
});
107+
// find minimum for last week
108+
rewards.forEach((r) => {
109+
if (minCL.lt(r.clRewards)) {
110+
minCL = r.clRewards;
111+
}
114112

115-
const allRewards = minEL.add(minCL);
113+
if (minEL.lt(r.elRewards)) {
114+
minEL = r.elRewards;
115+
}
116+
});
116117

117-
this.logger.log(`rewardsPerFrame are updated to ${allRewards.toString()}`, {
118-
service: RewardsService.SERVICE_LOG_NAME,
119-
});
118+
const allRewards = minEL.add(minCL);
120119

121-
return {
122-
clRewards: minCL,
123-
elRewards: minEL,
124-
allRewards,
125-
};
120+
this.logger.log(`rewardsPerFrame are updated to ${allRewards.toString()}`, {
121+
service: RewardsService.SERVICE_LOG_NAME,
122+
});
123+
124+
return {
125+
clRewards: minCL,
126+
elRewards: minEL,
127+
allRewards,
128+
};
129+
} catch (error) {
130+
this.logger.error('error during calculation rewards per frame', error);
131+
return zeroRewardsFallback;
132+
}
126133
}
127134

128135
protected async getRewardsByBlockNumber(blockNumber: number, framesPassed: BigNumber) {

0 commit comments

Comments
 (0)