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

撤出仓位的流动性并领取手续费,全部撤出时销毁仓位NFT;多个仓位合成一笔交易。

exchange.IO(k, positionIds)
exchange.IO(k, positionIds, ratio)
exchange.IO(k, positionIds, ratio, sell)

示例

撤出全部仓位,拿回的ETH卖成USDC。

javascript
function main() { var ids = exchange.IO("lp.positions", "ETH_USDC").filter(function (p) { return !p.closed }).map(function (p) { return p.id }) if (ids.length == 0) { Log("没有仓位") return } var r = exchange.IO("lp.remove", ids, 1, true) if (!r) { Log("撤出失败:", GetLastError()) return } r.positions.forEach(function (p) { Log(p.id, "到账:", p.receivedBase, "ETH +", p.receivedQuote, "USDC") }) Log("卖出:", r.sells) }

返回值

类型描述

object / 空值

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

参数

名称类型必填描述

k

string

是

固定为lp.remove,用于撤出流动性。

positionIds

string / number / array

是

仓位ID:单个ID(字符串或数字)或ID数组,如"1381183"、["v4:123", "456"];多个仓位也可以连着写在前面几个参数里。

ratio

number

否

撤出的比例,大于0且不超过1,默认1(全部撤出并销毁NFT)。

sell

bool

否

为true时把拿回的基础币按市价卖成计价币,默认false。

参考

备注

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

多个仓位尽量合成一笔交易;分几笔交易时(如V3与V4/Infinity CL仓位一起传,两者的PositionManager不同)txHash为最后一笔,另有txHashes列出全部。全部撤出时同一笔交易里领取手续费并销毁NFT,之后lp.positions不再列出该仓位。

参数写法:ID后面第一个在0到1之间的数是ratio,布尔值是sell。数字写的V3仓位ID(如1)会被当成比例,ID请写成字符串或数组,如exchange.IO("lp.remove", ["1381183", "1381190"], 1, true)。

Aerodrome、Velodrome:质押着的仓位先从gauge取回(同时领走奖励,见exchange.IO("lp.unstake"))再撤;基础池子全部撤出时另发一笔claimFees领手续费。