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

按比例减仓,同时领取仓位的全部手续费;仓位保留(比例为1时流动性清零但不销毁NFT)。

exchange.IO(k, positionId, ratio)
exchange.IO(k, positionId, ratio, options)

示例

减掉一半流动性并把拿回的ETH卖成USDC。

javascript
function main() { var id = "1381183" // 仓位ID,取自lp.add或lp.positions var r = exchange.IO("lp.decrease", id, 0.5, {sell: true}) if (!r) { Log("减仓失败:", GetLastError()) return } var p = r.positions[0] Log("本金:", p.principalBase, "ETH +", p.principalQuote, "USDC") Log("手续费:", p.feesBase, "ETH +", p.feesQuote, "USDC") Log("卖出:", r.sells) }

返回值

类型描述

object / 空值

{txHash, positions: [{id, symbol, principalBase, principalQuote, feesBase, feesQuote, receivedBase, receivedQuote}], sells},字段说明见备注。失败时返回空值并报错。

参数

名称类型必填描述

k

string

是

固定为lp.decrease,用于减仓。

positionId

string / number

是

仓位ID。

ratio

number

是

减掉的比例,大于0且不超过1。

options

object

否

{slippage, sell},都可以不写:slippage为价格保护(默认0.01),sell为true时把拿回的基础币按市价卖成计价币。

参考

备注

返回字段:txHash为交易哈希;positions逐个仓位给出撤出的本金principalBase、principalQuote,领到的手续费feesBase、feesQuote,以及实际到账receivedBase、receivedQuote(本金加手续费);sells为卖回计价币的市价单[{symbol, qty, txHash}],某笔卖出失败时该项为{symbol, qty, error},不影响其它;不卖时为空数组。数量都是可读单位,朝向按仓位的交易对(默认稳定币为计价币)。

与exchange.IO("lp.remove", ...)的区别:lp.decrease一次一个仓位、可以带价格保护,仓位NFT一直保留;lp.remove可以一次撤多个仓位,全部撤出时销毁NFT。只领手续费不动本金用lp.collect。

V3、Slipstream池子里原生币以包装币参与,拿回来的是包装币(如WETH),需要原生币时用exchange.IO("unwrap", ...)。Aerodrome、Velodrome:质押着的仓位要先用exchange.IO("lp.unstake")取回(基础池子只要钱包里未质押的LP代币够就可以);基础池子按比例取回LP代币对应的两种代币。