Skip to content

Commit

Permalink
add warnings for inaccurate intervals
Browse files Browse the repository at this point in the history
  • Loading branch information
rolandpo committed Oct 10, 2023
1 parent 069036c commit 08d84be
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions eagleproject/core/blockchain/harvest/transaction_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,17 @@
from core.coingecko import get_coin_history
from core.defillama import get_stablecoin_market_cap

from core.logging import get_logger

import simplejson as json

from django.core.exceptions import ObjectDoesNotExist

from eth_abi import decode_single
from eth_utils import decode_hex

log = get_logger(__name__)

ACCOUNT_ANALYZE_PARALLELISM=30

class rebase_log:
Expand Down Expand Up @@ -1621,7 +1625,6 @@ def _daily_rows(steps, latest_block_number, project, start_at=0):
block.block_time - timedelta(seconds=24 * 60 * 60)
).replace(tzinfo=timezone.utc)
if last_snapshot:

contract_address = OUSD_VAULT if project == OriginTokens.OUSD else OETH_VAULT

rebase_logs = get_rebase_logs(last_snapshot.block_number, block_number, project)
Expand Down Expand Up @@ -1657,7 +1660,15 @@ def _daily_rows(steps, latest_block_number, project, start_at=0):
# other_change = 1 - (s.rebasing_credits_per_token / last_snapshot.rebasing_credits_per_token)
change = Decimal(sum(event['amount'] for event in s.rebase_events)) / (s.computed_supply - s.non_rebasing_supply)


if change:
interval = block.block_time - last_snapshot.block_time
if (interval.total_seconds() > 90000):
log.warning("{}: daily stats interval too long ({})".format(last_snapshot.block_time, interval))
elif (interval.total_seconds() < 82800):
log.warning("{}: daily stats interval too short ({})".format(last_snapshot.block_time, interval))

# apr based on cumulative yield from yield events taken after block.block_time, and before next snapshot
# the number of blocks in this period doesn't matter, as calculation includes all yield events in 24h period
s.apr = (
Decimal(100) * change * Decimal(365)
)
Expand Down

0 comments on commit 08d84be

Please sign in to comment.