@@ -74,55 +74,62 @@ export class RewardsService {
74
74
}
75
75
76
76
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
+ } ;
89
82
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
+ }
93
92
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 ) ;
100
96
101
- let minCL = rewards [ 0 ] . clRewards ;
102
- let minEL = rewards [ 0 ] . elRewards ;
97
+ return {
98
+ clRewards,
99
+ elRewards,
100
+ } ;
101
+ } ) ,
102
+ ) ;
103
103
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 ;
109
106
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
+ }
114
112
115
- const allRewards = minEL . add ( minCL ) ;
113
+ if ( minEL . lt ( r . elRewards ) ) {
114
+ minEL = r . elRewards ;
115
+ }
116
+ } ) ;
116
117
117
- this . logger . log ( `rewardsPerFrame are updated to ${ allRewards . toString ( ) } ` , {
118
- service : RewardsService . SERVICE_LOG_NAME ,
119
- } ) ;
118
+ const allRewards = minEL . add ( minCL ) ;
120
119
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
+ }
126
133
}
127
134
128
135
protected async getRewardsByBlockNumber ( blockNumber : number , framesPassed : BigNumber ) {
0 commit comments