0xPlaygrounds / 0xPlaygrounds/subgrounds

Immediate single entity query

Open
#5 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
73
Forks
12
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
Subgrounds should allow developers to query a single entity from an id. The query (and returned object) should only have scalar, non-list values.

For nested fields returning non-scalar (i.e.: other entities) or list values, they should be queried at read time.

**Describe the solution you'd like**
```py
sg = Subgrounds()
uniswapV2 = sg.load_subgraph('https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2')

# Fetch the pair and all its non-list scalar values with the id '0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc'
some_pair = uniswapV2.Pair('0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc')

# Since txCount is a non-list scalar, the field's value would be prefetched
# and reading it would not send a new query
num_tx = some_pair.txCount

# Since token0 is not a scalar value, then it would be fetched at read
# time and reading it would imply sengin a new query (all handled in the background)
token0_symbol = some_pair.token0.symbol
```

*Originally from: cvauclair*

Contributor guide

Open the contributing guide

Research direction

Look at the Subgrounds codebase for how queries are built and executed, likely in query modules. Understand the GraphQL schema handling for entities and scalar fields. The change involves modifying the query generation to fetch only scalar fields initially and defer nested entity queries. Check existing tests for query patterns to ensure compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, python
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.