Venus 借款上限还有余额,为何仍有清算风险?核对 Core 与隔离池
链小知 · 进阶 · 核验 · 依官方文档整理
从 Comptroller、抵押因子与清算阈值检查仓位,识别强制清算标记的例外。
开始前准备
- 准备仓位所属链、池/Comptroller、vToken 地址及现有查询记录。
- 函数必须对应 Core 或隔离池版本;操作仓位会涉及授权与网络 gas,只读核对不改变仓位。
1. 先确认池而不是只记代币
在 Dashboard/仓位记录中确认所选池和 Comptroller,再列出抵押品、债务与 vToken。相同代币在不同池不共享借款能力;vToken 表示供应份额,不能把它的数量直接当作底层资产数量。
检查结果:表内有网络、池、Comptroller 和对应 vToken。
2. Core Pool 对照 account liquidity
Core Pool 的抵押因子与清算阈值采用同一数值;getAccountLiquidity 的流动性/shortfall 才是相关检查。记录返回值单位和时点,不把 Supply cap 当作用户仍可借额度。
检查结果:Core 身份与返回字段明确,余额和上限分列。
3. 隔离池分别检查借款与清算口径
隔离池用 getBorrowingPower 计算抵押因子口径的借款能力,用 getAccountLiquidity 对照清算阈值。两者回答不同问题;不能用“还能借多少”直接证明不会清算。把两个结果并排保留。
检查结果:隔离池记录具有两个口径,没有互相代用。
4. 检查强制清算的例外标记
即使通常健康指标看似安全,治理设置也可能启用市场级强制清算。核对 isForcedLiquidationEnabled(vToken);Core 还支持用户级 isForcedLiquidationEnabledForUser(borrower,vToken),不能向隔离池强行调用后者。
检查结果:市场标记已核对,用户标记标明适用版本或未知。
5. 归纳失败与剩余风险
查询报错先看网络、ABI 和池版本,返回空数据不能当作无债务。价格、利息和治理参数变化会改变判断;记录观察时点。若已发生清算,保留事件、债务与抵押物变化,不执行 liquidation/heal 函数来诊断。
检查结果:报告能区分正常阈值、强制清算和查询失败。
怎样确认完成
- 形成带池版本和时点的借款/清算对照。
- 强制清算标记取得状态明确,未知不写为关闭。
常见错误与边界
- 借款能力与清算阈值混算。
- 将 Core 的用户级函数推广到隔离池。
- 把 vToken 份额当作可以直接转出的全部抵押品。