兑换与流动性
兑换在外部的 Subfrost 恒定乘积 AMM 资金池(Uniswap-V2 风格)上进行。DOHM App 只是这些资金池的客户端;协议既不控制它们,也不从兑换手续费中抽成。
可用性: 兑换页面在生产环境中默认关闭,只有在部署启用时才会出现——在外部 AMM 集成被固定并完成审计之前,它会一直被保留不放出。如果你在 App 中看不到"兑换",说明该部署尚未启用它。
兑换输出
采用资金池自定的手续费的定输入兑换(fee 以 1/1000 为单位——例如 10 = 1%):
in_after_fee = amount_in × (1000 − fee)
amount_out = in_after_fee × reserve_out / (reserve_in × 1000 + in_after_fee)
手续费留在资金池储备中,归 LP 持有者所有。手续费从资金池实时读取——它按每个池各自设定,并非协议常量。
你的交易携带一个最小输出;如果在交易确认之前,池价向不利方向变动、超出你的滑点容忍度,交易会回滚,而不会以糟糕的价格成交。
添加流动性
你按资金池当前的比例存入两种代币,换取 LP 代币——即对池内储备(外加已累积手续费)的按比例兑付权。提取时按当时的比例销毁 LP 代币,换回两种代币:
amount_0_out = lp × reserve_0 / total_lp
amount_1_out = lp × reserve_1 / total_lp
风险
- 无常损失:当两种代币的相对价格变动时,一个 LP 仓位的表现会逊于单纯持有这两种代币。
- 池内现货价不是预言机。协议本身从不在无防护的情况下信任它(债券要求签名区间;LP 估值采用兑换下不变的 √k 折算)——对任何价格敏感的用途,你也不应信任它。