subgrounds icon indicating copy to clipboard operation
subgrounds copied to clipboard

Immediate single entity query

Open cvauclair opened this issue 3 years ago • 0 comments

Description

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.

Example

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

cvauclair avatar Jan 23 '22 15:01 cvauclair