(feat) price Gateway DEX tokens via GeckoTerminal, fall back to Gateway - #189
Closed
cardosofede wants to merge 1 commit into
Closed
(feat) price Gateway DEX tokens via GeckoTerminal, fall back to Gateway#189cardosofede wants to merge 1 commit into
cardosofede wants to merge 1 commit into
Conversation
Add a GeckoTerminal price source that batch-fetches USD prices for on-chain tokens by contract address (up to 30 per call) instead of one Gateway quote_swap per token, so DEX holdings can be priced at a polling cadence like CEX tickers. Maps the Gateway chain-network id to GeckoTerminal's network id, resolves held symbols to addresses via the Gateway token list (cached per network), and maps results back to symbols (handling both Solana and EVM address casing). _fetch_gateway_prices_immediate now tries GeckoTerminal first and publishes covered prices into the shared pool, falling back to Gateway get_price only for tokens GeckoTerminal cannot price. The dependency is imported lazily so the app still runs (Gateway-only) if geckoterminal-py is not installed, and the HTTP client is closed on shutdown. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a GeckoTerminal price source that batch-fetches USD prices for on-chain tokens by contract address (up to 30 per call) instead of one Gateway quote_swap per token, so DEX holdings can be priced at a polling cadence like CEX tickers. Maps the Gateway chain-network id to GeckoTerminal's network id, resolves held symbols to addresses via the Gateway token list (cached per network), and maps results back to symbols (handling both Solana and EVM address casing).
_fetch_gateway_prices_immediate now tries GeckoTerminal first and publishes covered prices into the shared pool, falling back to Gateway get_price only for tokens GeckoTerminal cannot price. The dependency is imported lazily so the app still runs (Gateway-only) if geckoterminal-py is not installed, and the HTTP client is closed on shutdown.