我正在尝试使用 Uniswap v3 获取包含令牌符号的所有池的列表,以获取套利机会。例如,如果我想查找所有包含“WETH”的池。
使用子图,
{
tokens(first: 10, where:{symbol:"WETH"}){
id
name
symbol
}
}
回报:
{
"data": {
"tokens": [
{
"id": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"name": "Wrapped Ether",
"symbol": "WETH"
}
]
}
}
一旦我有一个选定的池,我将拥有token0
并token1
稍后在factory.getPool()
.
现在要查找包含 WETH 的池,我使用图表来检查token0
OR是否token1
包含 WETH ID,0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
.
// search token0
{
pools(first:10, where: {
token0:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
}){
token0{
name
symbol
id
}
token1{
name
symbol
id
}
}
}
// search token1
{
pools(first:10, where: {
token1:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
}){
token0{
name
symbol
id
}
token1{
name
symbol
id
}
}
}
现在我有一个包含“WETH”的所有池的列表,以及在工厂中使用的池 ID 来执行交换。
所以,我想知道是否有更简单的方法可以做到这一点!?