shadowpaper文档交易 ↗
打开 App交易 ↗
底层机制

偿付与队列

LP 无法足额支付盈利时,未付利润进入先进先出队列,由后续亏损按顺序偿付。

记账#

Exchange 将其持有的每一枚 USDT 分配至具名科目:用户余额、锁定保证金、排队赔付、累计费用与 LP。LP 数值可以为负。协议在设计上允许总体暂时资不抵债,同时严格按顺序支付赢家。

支付赢家#

盈利仓位平仓时:

  • 队列为空: 以 LP 可用现金支付,不足部分排至队尾。
  • 队列非空: 整笔利润排至队尾。

任何情况下,保证金均立即退回交易余额。

补充#

队列非空期间,亏损与爆仓所得专款用于支付排队赢家,2% LP 侧费用豁免。公开函数 harvest 从队首依次支付,现金不足时对队首条目部分支付。只要同时存在队列与可付现金,keeper 即会调用;任何账户亦可调用。

示例#

LP 有 30 USDT 可用现金,队列为空。Alice 盈利平仓,净利润 86.38 USDT;随后 Bob 亏损平仓 60 USDT。

事件规则结果
Alice 平仓:利润 86.38,保证金 100队列为空:以可用现金支付,余额排队支付 30.00,排队 56.38;100 保证金立即退回
Bob 亏损 60队列非空:专款留给队列,不收 LP 侧费用60.00 专款用于队列
调用 harvest先付队首Alice 获得 56.38,队列清空
剩余未用完的专款留在 LPLP 现金增加 3.62
立即支付  = min(86.38, 30)      = 30.00
排队      = 86.38 − 30.00       = 56.38
harvest   = min(60, 56.38)      = 56.38   → Alice 全额收讫
计入 LP   = 60 − 56.38          = 3.62
Bob 费用  = 0                   (队列非空)

← 公式过长时可横向滑动

排队赢家在任何后来的赢家之前、也在任何 LP 盈余分给质押者之前得到全额支付。

整理#

公开函数可移除空条目、合并灰尘条目,避免阻塞支付。

分红让路#

只要仍有赢家排队,LP 盈余不分配给质押者;手续费分红不受影响。

排队余额作保证金#

交易者可以用自己的排队余额开仓,最多扫描 50 个队列条目。该仓位盈利时,新的债权排至队尾;亏损时,相应的排队金额被注销;被清算时,相应金额没收且不收费。

在 GitHub 上编辑此页 ↗更新于 2026-10-29