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.
Overview of Changes
This PR introduces a new adapter integration for GT3 Finance into the DeFiLlama Yield Server. The adapter fetches on-chain yield data from GT3's GraphQL API, processes it, and formats it into the standard DeFiLlama yield format.
Details
feat: Add helper utilities for GT3 Finance
helpers.js
with functions for GraphQL requests, chain name resolution, TVL calculations, token extraction, pool validation, and pool URL generation.fetch
fallback usingsuperagent
for environments wherefetch
is not available.feat: Implement main adapter logic in
index.js
apy
function which fetches project configuration and pool stats, transforms them into DeFiLlama format, and filters/sorts valid pools.helpers.js
for modularity and reusability.feat: Add GraphQL queries in
queries.js
PROJECT_CONFIG_QUERY
to fetch GT3’s full project config.createPoolStatsQuery(offset, limit)
to support paginated retrieval of pool stats.Motivation
The integration of GT3 Finance enables DeFiLlama to track additional yield farming opportunities from a decentralized protocol on Polygon. This improves coverage and data accuracy for users interested in GT3's pools and APYs.
Impact
Testing
fetch
works as expected in non-browser environments.Additional Notes
timetravel: false
is set, as historical data isn't supported by the current GraphQL API.