清算

‌第一步: Alice发送限价单,应用程序将其匹配到Bob的抵押债仓

让我们看下面的例子。 Alice想以30000 USDC的价格出售1个合成BTC,并最多支付5 USDC作为交易费用。 Bob有一个-1 BTC和+31000 USDC的保险库。 注意,Bob的仓位可以与Alice的订单相匹配。 如果根据系统参数Bob的仓位低于维持保证金,应用程序无需得到Bob的签名或征得他的同意,就可以在Alice的限价单和Bob的仓位之间进行匹配。
具体来说,在Alice发送了限价单(此处有详述)之后,应用程序会向StarkEx发送清算请求,该请求包括Alice的限价单和以下内容:
● ‌Bob的vaultId(保险库ID)
● 实际转移的抵押品金额
● 实际转移的合成品金额
● Alice实际支付的费用(Bob无需支付费用因为他已清算)

第二步:StarkEx检验请求的有效性

StarkEx检验以下约束条件:
● 转移的金额和费用与Alice的订单兼容,如此处所述
● Bob的仓位确实可以清算,即总账户价值/总维持保证金要求比率低于1
● 由于清算,Bob仓位的总账户价值/总维持保证金要求比率得到改善
● 由于交易,Bob的合成品持股量减少了

第三步:批处理中的清算

如果清算请求有效,则将其与有效性证明一起打包到批处理中,待提交到链上。有关链上状态更新的详细信息,请参见此处