From bed1244c28519ce9f444d0d26deaa9e982ca0a8b Mon Sep 17 00:00:00 2001 From: Adamantios Date: Tue, 21 Nov 2023 11:43:55 +0200 Subject: [PATCH] fix: db update after the first redeeming period --- packages/valory/skills/decision_maker_abci/states/base.py | 6 ++++-- packages/valory/skills/decision_maker_abci/states/redeem.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/valory/skills/decision_maker_abci/states/base.py b/packages/valory/skills/decision_maker_abci/states/base.py index b53026a23..41b0ebbd6 100644 --- a/packages/valory/skills/decision_maker_abci/states/base.py +++ b/packages/valory/skills/decision_maker_abci/states/base.py @@ -117,7 +117,9 @@ def utilized_tools(self) -> Dict[str, int]: @property def redeemed_condition_ids(self) -> Set[str]: """Get the condition ids of all the redeemed positions.""" - ids = str(self.db.get("redeemed_condition_ids", "[]")) + ids = self.db.get("redeemed_condition_ids", None) + if ids is None: + return set() return set(json.loads(ids)) @property @@ -125,7 +127,7 @@ def payout_so_far(self) -> int: """Get the payout of all the redeemed positions so far.""" payout = self.db.get("payout_so_far", None) if payout is None: - payout = 0 + return 0 return int(payout) @property diff --git a/packages/valory/skills/decision_maker_abci/states/redeem.py b/packages/valory/skills/decision_maker_abci/states/redeem.py index 897469ada..017eb78ba 100644 --- a/packages/valory/skills/decision_maker_abci/states/redeem.py +++ b/packages/valory/skills/decision_maker_abci/states/redeem.py @@ -60,7 +60,7 @@ def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Enum]]: if synced_data.period_count == 0: # necessary for persisted keys to function properly and not raise an exception when the first period ends update = { - db_key: getattr(synced_data, db_key) + db_key: getattr(synced_data.db, db_key, None) for db_key in RedeemRound.selection_key } synced_data.db.update(**update)