@@ -90,14 +90,15 @@ def __init__(self, w3: Web3, interrupt_handler: InterruptHandler) -> None:
90
90
self .total_rewards_update_period : timedelta = timedelta (
91
91
seconds = self .oracles .functions .totalRewardsUpdatePeriod ().call ()
92
92
)
93
- logger .debug (f"Total rewards update period: { self .total_rewards_update_period } " )
94
- if self .last_update_at < self .genesis_time :
93
+ logger .info (f"Total rewards update period: { self .total_rewards_update_period } " )
94
+
95
+ next_update_at = self .last_update_at + self .total_rewards_update_period
96
+ while next_update_at <= datetime .now (tz = timezone .utc ):
97
+ self .last_update_at = next_update_at
95
98
next_update_at = self .last_update_at + self .total_rewards_update_period
96
- while next_update_at <= datetime .now (tz = timezone .utc ):
97
- self .last_update_at = next_update_at
98
- next_update_at = self .last_update_at + self .total_rewards_update_period
99
99
100
100
self .next_update_at = self .last_update_at + self .total_rewards_update_period
101
+ logger .info (f"Next rewards update time: { self .next_update_at } " )
101
102
102
103
def process (self ) -> None :
103
104
"""Records new pool validators, updates total rewards."""
@@ -106,18 +107,24 @@ def process(self) -> None:
106
107
)
107
108
if total_rewards_update_period != self .total_rewards_update_period :
108
109
# adjust next update time based on new period
109
- self . next_update_at = (
110
+ next_update_at = (
110
111
self .next_update_at
111
112
- self .total_rewards_update_period
112
113
+ total_rewards_update_period
113
114
)
115
+ self .total_rewards_update_period = total_rewards_update_period
114
116
logger .info (
115
117
f"Updated total rewards update period:"
116
118
f" previous={ self .total_rewards_update_period } ,"
117
119
f" new={ total_rewards_update_period } "
118
120
)
121
+
122
+ while next_update_at <= datetime .now (tz = timezone .utc ):
123
+ self .last_update_at = next_update_at
124
+ next_update_at = self .last_update_at + self .total_rewards_update_period
125
+
126
+ self .next_update_at = self .last_update_at + self .total_rewards_update_period
119
127
logger .info (f"Scheduling next rewards update at { self .next_update_at } " )
120
- self .total_rewards_update_period = total_rewards_update_period
121
128
122
129
if self .next_update_at > datetime .now (tz = timezone .utc ):
123
130
# it's not the time to update yet
@@ -165,7 +172,7 @@ def process(self) -> None:
165
172
)
166
173
return
167
174
168
- logger .debug (
175
+ logger .info (
169
176
f"Retrieving balances for { len (active_public_keys )} / { len (public_keys )} "
170
177
f" validators at epoch={ epoch } "
171
178
)
0 commit comments