锚定稳定模块
概述
锚定稳定模块 (PSM) 是 金星协议 的关键组件,旨在将 VAI 稳定币的价值维持在 1 美元。其功能类似于 MakerDAO 为 DAI 提供的系统。PSM 合约使用两种稳定币:VAI(目标稳定币)和 USDT(用于帮助维持锚定)。
功能
兑换功能:
用户可以使用 1 VAI = 1 美元的固定汇率兑换 VAI 和 USDT。
如果 PSM 中有足够的 USDT,用户可以向 PSM 发送 VAI 并接收 USDT。
如果 PSM 的 VAI 发行量未达到上限,用户可以向 PSM 发送 USDT 并接收 VAI。
无稳定费
通过 PSM 发行的 VAI 不产生任何利息或稳定费。
可配置参数:
PSM 合约有三个可配置变量,可通过 Venus 改进提案 (VIP) 设置:
feeIn:用户向 PSM 发送 USDT 时收取的手续费。feeOut:用户向 PSM 发送 VAI 时收取的手续费。maxMintedVAI:PSM 可分发的 VAI 最大数量。超过此限制的转换将被撤销。
费用发送至金库:每次操作收取的手续费将发送至 金星协议 金库合约。
与预言机价格集成:PSM 会考虑稳定币的美元价值,以准确地将 VAI 与其价值挂钩。
转换函数
函数 swapStableForVAI
swapStableForVAI此函数允许用户将配对的稳定币 (USDT) 兑换为 VAI。
预期参数:
receiver:接收 VAI 的用户地址。amount:发送方希望兑换的稳定币 (USDT) 数量。
收到的稳定币将由 PSM 持有,并且 feeIn 指定的手续费将发送到国库合约。
此函数返回已转账给接收方的 VAI 数量。
函数 swapVAIForStable
swapVAIForStable此函数允许用户将 VAI 兑换为配对的稳定币 (USDT)。
预期参数:
receiver:接收稳定币的用户地址。amount:用户预期收到的稳定币 (USDT) 数量。
收到的 VAI 将被销毁,并且 feeOut 指定的手续费将发送到国库合约。
此函数返回从发送方转出的 VAI 金额(已销毁金额 + 手续费)。
预览功能
PSM 还提供预览功能,帮助用户预估转换操作的结果:
previewSwapVAIForStable(uint256 stableTknAmount)
previewSwapVAIForStable(uint256 stableTknAmount)返回发送方为接收指定数量的稳定币而转移的 VAI 数量(已销毁 + 手续费)。
previewSwapStableForVAI(uint256 stableTknAmount)
previewSwapStableForVAI(uint256 stableTknAmount)返回接收方在执行 swapVAIForStable 函数并使用指定数量的稳定币后将收到的 VAI 数量。
集成预言机价格
为了保护 VAI 的价值并考虑配对稳定币的美元价值,PSM 集成了 Resilient Oracle。以下规则适用:
swapVAIForStable(用户发送 VAI 并接收 USDT)
如果配对稳定币的预言机价格低于 1 美元,则兑换率为 1 个稳定币 = 1 美元。
如果配对稳定币的预言机价格高于 1 美元,则转换率为 1 稳定币 = 预言机价格。
swapStableForVAI(用户发送 USDT 并接收 VAI)
如果配对稳定币的预言机价格低于 1 美元,则兑换率为 1 个稳定币 = 预言机价格。
如果配对稳定币的预言机价格高于 1 美元,则兑换率为 1 个稳定币 = 1 美元。
本文档旨在方便用户使用,并未涵盖锚定稳定性模块的技术实现细节。有关技术信息,开发人员和智能合约审计人员可以参考[智能合约代码]。(https://github.com/VenusProtocol/venus-protocol/blob/develop/contracts/PegStability/PegStability.sol).
Last updated