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

查询池子在一段tick区间内的流动性分布,按段给出流动性和两种代币的数量。

exchange.IO(k, poolId, tickLower, tickUpper)
exchange.IO(k, poolId, tickLower, tickUpper, step)

示例

查看现价附近上下各10个tick间距的流动性。

javascript
function main() { var p = exchange.IO("lp.select", "ETH", 1000, {quote: "USDC"}) var pool = exchange.IO("lp.pool", p.id) var w = pool.tickSpacing * 10 var r = exchange.IO("lp.ticks", p.id, pool.tick - w, pool.tick + w, pool.tickSpacing * 2) r.segments.forEach(function (s) { Log(s.tickLower, s.tickUpper, s.current ? "<- 现价" : "", pool.token0.symbol, s.amount0, pool.token1.symbol, s.amount1) }) }

返回值

类型描述

object / 空值

{pool, tick, token0, token1, segments},segments为各段{tickLower, tickUpper, price0Lower, price0Upper, liquidity, amount0, amount1, current},字段说明见备注。区间太宽时返回空值并报错。

参数

名称类型必填描述

k

string

是

固定为lp.ticks,用于查询流动性分布。

poolId

string

是

池子ID,同exchange.IO("lp.pool", ...);基础池子没有tick,不适用。

tickLower

number

是

区间下沿(tick)。

tickUpper

number

是

区间上沿(tick)。

step

number

否

每段的宽度(tick),默认等于池子的tick间距。

参考

备注

每段的liquidity为该段内的流动性,amount0、amount1为该段内两种代币的数量(按已初始化的tick细分求和,可读单位);price0Lower、price0Upper为段两端1个token0值多少token1;current为true的一段包含当前tick,只有这一段同时有两种代币。代币顺序同lp.pool。

区间按tick位图读取,跨度超过120个位图字(每个字覆盖256个tick间距)时报错,请缩小区间或分段查询。