输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入

查询单个池子的实时状态,包括两种代币、费率、tick间距、当前tick、价格与流动性。

exchange.IO(k, poolId)

示例

查看所选池子的代币顺序和价格。

javascript
function main() { var p = exchange.IO("lp.select", "ETH", 1000, {quote: "USDC"}) var pool = exchange.IO("lp.pool", p.id) if (!pool) { Log("查询失败:", GetLastError()) return } Log(pool.token0.symbol, "/", pool.token1.symbol, "tick:", pool.tick, "tick间距:", pool.tickSpacing) Log("1", pool.token0.symbol, "=", pool.price0, pool.token1.symbol) }

返回值

类型描述

object / 空值

{id, protocol, currency0, currency1, token0, token1, fee, tickSpacing, tick, sqrtPriceX96, price0, price1, liquidity},各字段说明见备注。池子不存在时返回空值并报错。

参数

名称类型必填描述

k

string

是

固定为lp.pool,表示查询池子。

poolId

string

是

池子ID:V3、Slipstream与基础池子为池子合约地址,V4/Infinity CL为PoolId(0x加64位十六进制字符);可取自lp.pools、lp.select返回结果中的id。

参考

备注

池子按合约中的token0、token1排列(地址较小者为token0),不一定与交易对的基础币、计价币对应:token0、token1为{address, decimals, symbol},currency0、currency1为两种代币的地址(V4/Infinity CL池子中原生币为零地址);price0表示1个token0可兑换的token1数量,price1表示1个token1可兑换的token0数量;sqrtPriceX96、liquidity为池子原始数值的十进制字符串。

Uniswap、PancakeSwap:V3仅支持由本交易所工厂合约创建的池子,地址上不存在池子时报pool … not found;V4/Infinity CL仅支持不带hook的池子。

Uniswap V4:池子无需出现在lp.pools中。由于V4的PoolManager不保存PoolKey,按PoolId查询时会通过PositionManager的poolKeys反查,因此可查到在PositionManager上有过仓位或曾被lp.pools列出的池子;从未有人通过PositionManager建仓的池子无法查到,报pool … not found。手续费不设上限(V4的静态手续费最高可达100%),2%这类高费率池子同样可以查询和建仓。

PancakeSwap Infinity CL:任何已初始化的池子都能按PoolId查到,但仅支持手续费不超过1%的池子,超过时报is not initialized or its fee is above 1%。

Aerodrome、Velodrome:结果中额外包含gauge信息(与lp.pools相同:gauge、gaugeAlive、stakedShare、rewardsPerDay、rewardsPerDayUsd、rewardAprPct;rewardAprPct采用与lp.pools相同的TVL计算,同样是可能大幅波动的瞬时值,详见lp.pools页面);基础池子还额外包含储备量reserve0、reserve1及LP代币总量lpSupply。