From 0572c83b6a363a6ced91db836698b72334ea9cb3 Mon Sep 17 00:00:00 2001 From: Shahul Hameed <10547529+shahthepro@users.noreply.github.com> Date: Fri, 25 Aug 2023 13:17:54 +0400 Subject: [PATCH] Make script more robust --- .../scripts/compute_boost_multiplier.py | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/eagleproject/scripts/compute_boost_multiplier.py b/eagleproject/scripts/compute_boost_multiplier.py index d3bf776..f528312 100644 --- a/eagleproject/scripts/compute_boost_multiplier.py +++ b/eagleproject/scripts/compute_boost_multiplier.py @@ -10,25 +10,34 @@ def run(*script_args): print("Found {} Supply snapshots".format(len(snapshots))) for s in snapshots: + if s.computed_supply == 0 or s.computed_supply == s.non_rebasing_supply: + continue + if s.project == OriginTokens.OETH: print("Computing OETH Boost multiplier at block {}".format(s.block_number)) - try: - oeth = ensure_asset("OETH", s.block_number, project=OriginTokens.OETH) - amo_supply = oeth.get_strat_holdings("oeth_curve_amo") - except Exception as e: - print(e) - print("Reading from on-chain for block {}".format(s.block_number)) - amo_supply = OETHCurveAMOStrategy.get_underlying_balance(s.block_number).get("OETH", Decimal(0)) + if s.block_number < 17249902: # block when AMO strategy was deployed + amo_supply = 0 + else: + try: + oeth = ensure_asset("OETH", s.block_number, project=OriginTokens.OETH) + amo_supply = oeth.get_strat_holdings("oeth_curve_amo") + except Exception as e: + print(e) + print("Reading from on-chain for block {}".format(s.block_number)) + amo_supply = OETHCurveAMOStrategy.get_underlying_balance(s.block_number).get("OETH", Decimal(0)) elif s.project == OriginTokens.OUSD: print("Computing OUSD Boost multiplier at block {}".format(s.block_number)) - try: - ousd = ensure_asset("OUSD", s.block_number, project=OriginTokens.OUSD) - amo_supply = ousd.get_strat_holdings("ousd_metastrat") - except Exception as e: - print(e) - print("Reading from on-chain for block {}".format(s.block_number)) - amo_supply = OUSDMetaStrategy.get_underlying_balance(s.block_number).get("OUSD", Decimal(0)) - + if s.block_number < 15896478: + amo_supply = 0 + else: + try: + ousd = ensure_asset("OUSD", s.block_number, project=OriginTokens.OUSD) + amo_supply = ousd.get_strat_holdings("ousd_metastrat") + except Exception as e: + print(e) + print("Reading from on-chain for block {}".format(s.block_number)) + amo_supply = OUSDMetaStrategy.get_underlying_balance(s.block_number).get("OUSD", Decimal(0)) + s.non_rebasing_boost_multiplier = (s.computed_supply - amo_supply) / (s.computed_supply - s.non_rebasing_supply) s.save()