抵押品新报价
抵押品支付是永续-应用程序业务逻辑的一部分。 简而言之,抵押品是一种根据预先定义的逻辑贷记或借记用户仓位的机制,以激励某些策略。
由于StarkEx已经支持定期修改用户的余额,因此可以轻松地将此特性扩展到不同的目的,例如债务管理或定期奖励。

第一步:应用程序发出抵押品新报价到StarkEx

抵押品新报价拥有以下参数:
● ‌新的系统_时间
● 系统中每个资产ID的新全球_指数

‌第二步:StarkEx验证抵押品新报价的有效性

StarkEx检验以下条件
● 新的系统_时间大于先前的系统_时间
● 对于每个assetId,以下条件成立:
config.max_funding_rate 是一个链上配置参数,有关更多详细信息,请参见此处.。 current_price ( 目前-价格)是根据上一个Oracle Price Tick(中介价格新报价)设置的,更多详细信息请参阅此处.
在上面的公式(第二个项目符号)中,您可以看到自上一个抵押品新报价以来的时间直接影响资金变动所允许的更改。为了限制允许范围内的更改,StarkEx在每笔交易开始时都会验证以下内容:system_time - prev_funding_time <= funding_valdity_period系统-时间-先前-抵押品-时间<=抵押品-有效性-期限

第三步:抵押品新报价影响

抵押品新报价被接受后,将使用每个assetId(资产ID)的新值更新名为global_indices(全球-指数)的数组。
‌涉及仓位(存款提款,交易,转账强制提款强制交易)的每笔交易执行都可对该仓位进行抵押品操作。 为此,每个仓位都存储一个名为position_cached_indices per assetId(仓位-缓存数据-每资产ld指数)的值,该值表示受到最后一个抵押品新报价影响的仓位。 交易的执行包括两个步骤:
  1. 1.
    对于每种资产ID,从余额中扣除抵押品借记款项并更新仓位指数,如下所述:
仓位_余额[抵押品]−=仓位_余额[资产Id]⋅
(全球_指数[资产Id]−仓位_缓存数据_指数[资产Id])
仓位_缓存_指数[资产Id])=全球_指数[资产Id]
2. 执行该交易特定的逻辑
这两个步骤是原子的,这意味着,如果交易无效,那么这两个步骤都不会被执行。

‌第四步:抵押品新报价-批处理中的有效性检查

‌如果抵押品新报价证明有效,则将其与有效性证明一起打包在批处理中,待提交到链上。 有关链上状态更新的完整详细信息,请参见此处
作为批处理中的有效性检查的一部分,StarkEx合约将检查批次中的最后的那个抵押品时间戳是在上周之内。 这限制了两次抵押品新报价之间的时间,从而限制了抵押品借方。
Last modified 6mo ago