协议算法设计

总体流程说明

BoC目前提供 USD耕种理财ETH耕种理财

USD理财:

    • 存入deposit:BoC协议支持用户将手中的三大稳定币(USDT、USDC、DAI)以任意组合、任意数量的形式存入,并mint出相应价值的USDi返回给用户。

    • 取出withdraw:用户可以随时将USDi通过BoC协议换回三大稳定币,BoC将按照当时Vault中三大稳定币的比例进行返回,也可以指定返回某一种币,并burn相应价值USDi。

  1. Vault接收到稳定币后通过外部预言机queryTokenPrice查询用户转入稳定币的价格(预言机返回的价格高于1USD时按1USD算,低于1USD时按预言机价格算)。

  2. 根据计算出来的价值,mint/burn铸造/销毁等量价值的USDi。

  3. Keeper模块到达doHardWork触发条件,触发doHardWork

  4. 在 keeper 触发 doHardWork 之后,vault 将进行资金调配,接着将 USDi Ticket (销毁)兑换成 USDi(铸造)。

  5. Vault调用聚合兑换模块swapTokenToWants

  6. 聚合兑换模块swapTokens完成兑换。

  7. Vault接收到聚合兑换模块兑换出的目标币种。

  8. Vault按照策略需要的币种将稳定币deposit投入策略中。

  9. 策略将稳定币deposit投入到第三方协议。

  10. Keeper模块到达harvest触发条件,触发harvest

  11. Harvester触发各个策略执行harvest

  12. 各策略执行claimRewards收矿。

  13. 各策略将矿币transferRewards转移到Harvester。

  14. Harvester通过聚合兑换将矿币sellRewards卖成稳定币。

  15. HarvestersendProfitToVault将稳定币转移到Vault中。

  16. Keeper模块到达rebase触发条件,触发rebase

  17. Vault调用changeTotalSupply增发USDi。

  18. Vault收取20%收益,转移到国库Treasury

  19. 国库将收益用户buyback回购BOC治理代币。

ETH理财

USD稳定币耕种的抵押凭证为USDi;EHT理财耕种的抵押凭证则为EHTi。

总的来说,ETH 耕种理财机制与 USD 稳定币耕种理财机制大致相同。但是有一些细微的差异,如下所示:

  1. ETHi不是由Harvester进行统一收矿、复投,而是各个策略单独卖矿复投的。

  2. queryTokenPrice时,虽然币种都会依据Chainlink上的价格,但部分币种并没有chainlink的报价。在这种情况下,用的则是Uniswap-V3的TWAP的1小时的加权平均价格。

Last updated