7 个版本 (3 个稳定版)

1.3.0 2024年6月25日
1.1.0 2024年5月18日
1.0.0 2024年3月26日
0.8.3 2024年1月30日
0.8.0 2023年4月15日

#5 in #kujira

Download history 145/week @ 2024-04-18 292/week @ 2024-04-25 311/week @ 2024-05-02 100/week @ 2024-05-09 314/week @ 2024-05-16 110/week @ 2024-05-23 156/week @ 2024-05-30 433/week @ 2024-06-06 300/week @ 2024-06-13 300/week @ 2024-06-20 246/week @ 2024-06-27 219/week @ 2024-07-04 261/week @ 2024-07-11 215/week @ 2024-07-18 251/week @ 2024-07-25 66/week @ 2024-08-01

837 每月下载量
5 个crate中使用 (直接使用2个)

Apache-2.0

59KB
1.5K SLoC

Kujira 的适用于所有 CosmWASM 兼容区块链的即插即用清算队列合约。

旨在为您的协议中的清算提供偿付能力保障,清算队列提供了一种以社区为中心且去中心化的方式来对有风险的抵押品进行出价。同时,出价过程的游戏化在出价者之间创造了竞争,允许市场力量决定折扣百分比。

如果您对部署清算队列并在 Orca 上将其列在 50,000 多个出价者面前感兴趣,请通过我们的 Telegram 群组 联系我们。

功能

直接 Orca 集成

任何使用此接口初始化的合约都可以集成到 https://orca.kujira.app/ 上的 Orca UI。

这样做最简单的方法是使用下面部署合约列表中的一个 Code ID。

可配置的池

完全控制出价者可用的折扣。设置池的数量,以及每个池的增量折扣金额。

可关闭的池

可选关闭特定池以接受新出价。这在为新的清算队列启动流动性时可能很有用,例如,您可以将较低百分比池关闭固定时间,确保出价者在该时间段内清算的最小折扣百分比。

自定义交换者

允许出价者使用与您的协议要求的还款资产不同的资产进行出价。例如,在 Terra 上,我们使用这些来支持原生 aUST 出价,其中市场要求以 UST 还款。出价可以以产生收益的 aUST 计价,直到清算发生和市场偿还为止。

委托激活

不再错过清算!当您提交出价时,您可以可选地包括一个委托地址,该地址被允许代表您激活出价。Kujira 将有一个机器人,清算队列可以将其注册,以便出价者可以在等待期结束后自动激活他们的出价。

入门

部署合约

最快的方法是实例化我们自己的经过审计的合约,以下是代码ID。这是一个示例JSON编码的初始化消息,其中出价面额是Terra的aUST,所出价的抵押品是原生Luna,以及与Kujira的sKUJI协议收益池相关的费用。

 {
   "owner": "terra123...",
   "market": "terra123...",
   "bid_denom": {
     "cw20": "terra1ajt556dpzvjwl0kl5tzku3fc3p3knkg9mkv8jl"
   },
   "collateral_denom": {
     "native": "uluna"
   },
   "bid_threshold": "10000000",
   "max_slot": 15,
   "premium_rate_per_slot": "0.01",
   "waiting_period": 600,
   "liquidation_fee": "0.01",
   "withdrawal_fee": "0.005",
   "fee_address": "terra1vvj874nwtmxk0u0spj83d364xyhqk2e652jrck"
 }

集成您的市场

  1. 将包添加到Cargo.toml

kujira= "0.2.1"

  1. 扩展您的合约配置以存储您新的清算队列地址
pub struct Config {
  liquidation_contract: Addr,
  ..,
}
  1. 在清算点向清算队列转账资金
fn liquidate_collateral(deps: DepsMut, ..) -> StdResult<Response> {
  // ..
  let msg = CosmosMsg::Wasm(WasmMsg::Execute {
    contract: config.liquidation_contract,
    msg: to_json_binary(&kujira::orca::ExecuteMsg::ExecuteLiquidation {
      exchange_rate,
      repay_denom: Denom::Cw20("terra1ajt556dpzvjwl0kl5tzku3fc3p3knkg9mkv8jl"),
    }),
    funds: coins(collateral_amount, "uluna")
  });

  Ok(Response::default().add_message(msg))
}

Terra

  • 主网:代码ID 3541
  • 测试网:代码ID 52750

依赖项

~4–7.5MB
~152K SLoC