0xPlaygrounds / 0xPlaygrounds/subgrounds

Immediate single entity query

Aperta
#5 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Python
Stelle
73
Fork
12
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**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*

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
graphql, python
Ambito
api, backend
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.