Skip to content

Commit f6a38a5

Browse files
authoredJan 31, 2021
Merge pull request stakewise#7 from stakewise/fix-reward-token-sync
Fix reward token sync
2 parents 961ce04 + 4578382 commit f6a38a5

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed
 

‎requirements/prod.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ notifiers==1.2.1
33
web3==5.15.0
44
grpcio==1.35.0
55
protobuf==3.14.0
6-
google-api-core==1.24.1
6+
google-api-core==1.25.1

‎requirements/prod.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ eth-utils==1.10.0 \
8686
# eth-rlp
8787
# rlp
8888
# web3
89-
google-api-core==1.24.1 \
90-
--hash=sha256:0f1dee446db2685863c3c493a90fefa5fc7f4defaf8e1a320b50ccaddfb5d469 \
91-
--hash=sha256:a7f5794446a22ff7d36764959ba5f319f37628faf4da04fdc0dedf1598b556c1
89+
google-api-core==1.25.1 \
90+
--hash=sha256:0e152ec37b8481d1be1258d95844a5a7031cd3d83d7c7046d9e9b2d807042440 \
91+
--hash=sha256:292dd636ed381098d24b7093ccb826b2278a12d886a3fc982084069aa24a8fbb
9292
# via -r requirements/prod.in
9393
google-auth==1.24.0 \
9494
--hash=sha256:0b0e026b412a0ad096e753907559e4bdb180d9ba9f68dd9036164db4fdc4ad2e \

‎src/reward_token.py

+15-8
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,15 @@ def __init__(self, w3: Web3, interrupt_handler: InterruptHandler) -> None:
9090
self.total_rewards_update_period: timedelta = timedelta(
9191
seconds=self.oracles.functions.totalRewardsUpdatePeriod().call()
9292
)
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
9598
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
9999

100100
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}")
101102

102103
def process(self) -> None:
103104
"""Records new pool validators, updates total rewards."""
@@ -106,18 +107,24 @@ def process(self) -> None:
106107
)
107108
if total_rewards_update_period != self.total_rewards_update_period:
108109
# adjust next update time based on new period
109-
self.next_update_at = (
110+
next_update_at = (
110111
self.next_update_at
111112
- self.total_rewards_update_period
112113
+ total_rewards_update_period
113114
)
115+
self.total_rewards_update_period = total_rewards_update_period
114116
logger.info(
115117
f"Updated total rewards update period:"
116118
f" previous={self.total_rewards_update_period},"
117119
f" new={total_rewards_update_period}"
118120
)
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
119127
logger.info(f"Scheduling next rewards update at {self.next_update_at}")
120-
self.total_rewards_update_period = total_rewards_update_period
121128

122129
if self.next_update_at > datetime.now(tz=timezone.utc):
123130
# it's not the time to update yet
@@ -165,7 +172,7 @@ def process(self) -> None:
165172
)
166173
return
167174

168-
logger.debug(
175+
logger.info(
169176
f"Retrieving balances for {len(active_public_keys)} / {len(public_keys)}"
170177
f" validators at epoch={epoch}"
171178
)

0 commit comments

Comments
 (0)