Skip to content

Release: develop -> main#111

Merged
TaprootFreak merged 2 commits into
mainfrom
develop
May 14, 2026
Merged

Release: develop -> main#111
TaprootFreak merged 2 commits into
mainfrom
develop

Conversation

@github-actions
Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

updatePrices() fetched the tether/eur reference on every block tick,
bypassing the existing 60s in-memory cache that getEuroPrice() and
getDepsPrice() already respected. With block intervals of 6-12s this
generated ~5-10x more upstream calls than the cache was designed to
allow, exhausting the monthly CoinGecko quota.

Route the call through refreshEuroPriceIfStale() so the same TTL
applies to all entry points.
When fetchPrice() returns null/undefined (e.g. CoinGecko returns {}
for an unlisted collateral token), updatePrices() left the cache
entry untouched and the 5-minute staleness check (timestamp +
300_000 < now) was still true on the next block tick. Combined
with the 6-12s block polling that drives updatePrices(), this
made the same handful of unlisted tokens generate ~50 upstream
calls per hour per API instance — the dominant CoinGecko quota
consumer after #110.

Bump the entry's timestamp on a failed fetch too, so the retry
honours the same 5-minute window as a successful fetch.
@TaprootFreak TaprootFreak merged commit 2d8a7c7 into main May 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant