跳到正文
← 使用教程

Ekubo 仓位为什么单币或费用变少:核对 NFT 管理合约、区间与净领取

链小知 · 进阶 · 核验 · 依官方文档整理

按原仓位链/manager/tokenId查身份与价格方向,区分本金、累计grossfees、协议费、collect/withdraw及实际接收,不把API图片当资产凭证。

开始前准备

  • 准备已有仓位页面/脱敏记录:网络、Positions manager地址、完整tokenId字符串、poolKey/token0/token1/decimals、fee/extension、tick范围及原持有人/授权/费用/退出记录。
  • 价格/区间说明适用于匹配产品;固定de94c77 v3.2.0 BasePositions方法只用于对应EVM实现,不能推旧3.1.1ID盐编码或StarknetABI。仅查看已有记录,不mint、转NFT、collect/withdraw或调metadata/业务API/RPC。

1. 先固定 NFT 的链、manager 和完整 ID

Ekubo流动性仓位为Positions发行的ERC721,NFT本身代表underlying权益,不能当无价值纪念图片出售。记录原网络、manager与tokenId完整整数文本,避免表格/Number截断大ID。

官方表有3.1.1原manager与3.2.0 192bit manager;两代无迁移、已有仓位仍可有效,Robinhood仅原版。旧NFT不会自动换新地址,前端canonical地址不是所有历史仓位;tokenURI/API图片正常也不能证明持有权或余额。

检查结果:链/manager/完整ID及代际明确,metadata未替代资产或所有权。

2. 核 pool 身份和价格显示方向

对原仓位抄tokenpair、fee、tickspacing和extension;同两种token但费用/间距/扩展不同就是不同pool配置。界面base/quote选择只改变价格展示,quote是分子,不能因ETH/USDC与USDC/ETH显示不同直接称仓位错误。

原tick/sqrtRatio要按部署和token精度解释:Starknet sqrt64.128与EVM浮点96bit不同,fee分别除2^128/2^64。若只有原整数不知版本,保留未知,不直接把fee当bps或把sqrtRatio当美元价格。

检查结果:pool配置、价格方向和二进制单位有依据,未知未默认换算。

3. 比较原区间与同一时点价格

保存原价格上下界/tick和同一读取时点市场价;官方AddLiquidity说明越出区间不再actively赚费用,上边界全quote、下边界全base。原deposit两币比例不是当前保证,单币不自动等丢失一种币。

窄区间会改变资产组合并有divergence loss,不按页面APR估计承诺本金或收益。价格方向倒置、旧快照/读取失败不能用“out of range”替代具体原因;先核区间和价格是否采用相同表示。

检查结果:区间/价格同方向同时点,单币原因有证据或明确待核。

4. 把 principal、liquidity 和 gross fees 分列

匹配3.2.0已有方法结果时,getPositionFeesAndLiquidity返回liquidity、principal0/1、fees0/1;liquidity不是token金额,两币principal/fees各用自身精度。该读取结果费用还未在Positions collect阶段扣协议fee,不能把gross当钱包净领取。

canonical Positions正文EVM扣所collect swapfees的10%,Starknet20%;本金退出费canonical为0而代码另有withdraw配置。第三方manager可自设费,不能用Core免费或10%去扣全部本金。缺部署/构造参数证据时保留真实净费未知,不给精确到账数。

检查结果:本金、流动性指标、grossfees、协议费用与两币精度分开。

5. 核原 collect/withdraw 的目标和费用选项

固定3.2.0 collectFees实际调用withdraw(liquidity0,recipient,withFees=true):0liquidity是只收费用,不是无操作或全部退本金。withdraw可单列recipient/withFees;核原请求到底退出多少liquidity、是否同时collect,以及原接收地址。

源码先收费用并扣swap协议fee,再取本金/相应withdrawfee,最后合并两币转recipient。函数有authorizedForNft,NFT持有人/已批准主体与manager的owner管理角色不能混同;没有原授权/回执不猜可以领取,更不要转NFT来测试。

检查结果:collect与本金退出、原recipient和授权身份清楚,合计返回未当实收。

6. 分开核扩展奖励和实际接收

普通pool swapfees、MEV附加、激励和Ve33排放不同:当前Trading说MEV额外费在后续timestamp首次交互按当时activeLP归属,不保证被收费那笔经过的所有仓位等分;Ve33 LP可赚排放而voters赚swapfees,不能统一按普通费用期待。

对已有成功领取/退出回执核同token/recipient实际金额并单列Gas,失败/未确认/空数据各自保存;WithdrawOverflow仅对匹配固定原请求liquidity超int128max的错误解释,不能用费用变少推失败。完成对账仍需原接收证据,NFT图或函数读值不足。

检查结果:池费、扩展/奖励、本金及实际收款分开,缺回执结论止于待核。

怎样确认完成

  • 形成链/manager/ID、pool与区间、principal/gross/net费用、原collect/withdraw及接收对照。
  • documentation;不读取实际用户NFT/余额或调用API/SDK/钱包/领取,当前部署和资金结果未验收。

常见错误与边界

  • manager代际、完整ID、poolconfig与区间一起定位;新canonical并不要求所有旧仓位迁移。
  • 累计费用查询可能是gross,10%/20%扣的是所收swapfees而不是全部本金或交易额。
  • NFT为资金权益;不为排错转移、出售或批准NFT,不把元数据服务当余额证明。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据