Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ch09-08 通过 DeepBook Pool 执行杠杆卖出

返回本章

先看用户路径

这里先从用户动作往回看。“通过 DeepBook Pool 执行杠杆卖出”在应用里通常是一组 PTB 和状态刷新,不是一条孤立 move call;每一步都要同时考虑余额、债务和风险率。

源码入口

重点阅读:

源码旁白:先定位结构体、入口函数和事件,再回到本节的资金路径或应用流程。不要从 helper 函数开始读。

把 PTB 串起来

杠杆卖出常见路径:

  1. 用户存入 base 或 quote 抵押。
  2. borrow_base 借入 base。
  3. pool_proxy.place_market_order 卖出 base 得到 quote。
  4. 结算成交资产。
  5. 展示 debt asset 为 base 的风险率。

开空的风险方向和开多相反。base 价格上涨会增加用 quote 折算的 base 债务价值,风险率下降。风控面板要明确显示 debt asset,避免用户只看 quote 余额误判安全。

当 Pool 被禁用常规 Margin 交易时,应用应改用 reduce-only 入口帮助用户降风险:

  • place_reduce_only_limit_order
  • place_reduce_only_market_order

这些入口只允许减少净债务方向的交易,不能扩大仓位。

工程旁白

杠杆卖出后,用户通常持有 quote 资产但欠 base。base 价格上涨会让还款成本变高,风险率下降;仅显示 quote 余额会掩盖真实风险。

当 Pool 禁用常规 Margin 交易时,reduce-only 卖出/买回入口是用户自救路径。应用应根据当前 debt asset 和订单方向判断是否可 reduce-only,而不是简单隐藏交易模块。

Margin 应用判断

  • 做空确认页把 debt asset 用醒目字段展示,并显示 base 上涨时的清算距离。
  • reduce-only 入口单独构造,不复用普通下单参数后端静默切换。
  • 平空时通常需要买回 base 后 repay_base,流程要和卖出开仓分开。

动手检查

  • 卖出后用户欠的是哪种资产,价格上涨还是下跌更危险?
  • 当前订单是否真的减少 base debt 风险,而不是扩大空头?
  • quote 余额足够时,是否还需要先买回 base 才能还款?