狂暴模式是核心合约中的一个发行选项。带狂暴模式标志发行的代币,会在普通市场活动之外,由协议自己的交易程序(狂暴模式钻石合约)在限定时间内交易。程序受上限、时间窗与结束时的销毁约束,全部在链上强制执行。
狂暴模式代币有何不同#
| 方面 | 普通代币 | 狂暴模式代币 |
|---|---|---|
| 发行时铸造的供应量 | 10 亿枚给曲线 | 10 亿枚给曲线,另有 10 亿枚由狂暴模式钻石合约的金库持有 |
| 市值计算 | 实际供应量 | 按曲线固定的 10 亿枚计算,第二份供应量从不抬高显示的市值 |
| 协议费中的回购份额 | 按配置 | 无 |
| 社区接管、多跳路由 | 可用 | 拒绝 |
| 程序结束 | 不适用 | 金库中剩余的代币被销毁(burnTokens,任何人可调用) |
销毁后,代币供应量为 10 亿枚减去程序净卖出的数量,所以狂暴模式代币最终的供应量只会等于或低于普通代币。
交易程序#
狂暴模式钻石合约的交易员是由狂暴模式管理员设置的单一签名者。它的每笔交易都要通过合约中的以下检查:
| 检查 | 上线配置 |
|---|---|
| 交易未被管理员暂停 | |
| 代币的时间窗尚未结束 | 发行起 24 小时 |
| 达到激活门槛 | 程序首笔交易前,曲线须持有至少 1 BNB 的真实储备 |
| 价格区间 | 每笔交易携带参考价与容差,场所价格超出区间则回退 |
| 单笔上限 | 2 BNB |
| 单币净投入上限 | 100 BNB |
| 总净投入上限 | 全部狂暴模式代币合计 1,000 BNB |
| 保留储备 | 一笔买入最多只能消耗场所真实 BNB 储备中配置的比例 |
程序的 frenzyBuy 与 frenzySell 调用走核心合约的普通交易路径,因此它的交易表现为普通的 Trade 事件(并伴随 FrenzyTrade 事件),进入相同的储备,遵守相同的数学。协议的免费用白名单只能指定狂暴模式钻石合约或无人(WhitelistAccountNotFrenzyModule),且狂暴模式交易员永远不能成为完成曲线的买家。
划转与提取#
程序在某枚代币上赚取的 BNB 划给协议的狂暴模式费用接收方(八个接收方槽位,与核心合约相同的模式),单次上限 50 BNB,间隔由管理员设置。狂暴模式管理员提取已投入 BNB 受相同参数限速。这一切都可在狂暴模式钻石合约的事件中看到(FrenzyFeesSwept、FrenzyVaultWithdrawn、FrenzyParamsUpdated)。
在应用中#
| 界面 | 显示内容 |
|---|---|
| 发行页 | 标志开启时提供狂暴模式选项及其说明;确认步骤会注明第二份供应 |
| 代币页 | 狂暴面板:窗口状态(进行中并倒计时、已结束等待销毁、已销毁)、窗口起止时间、程序在该代币上的净投入与单币上限、金库仍持有或已销毁的数量、程序交易次数、程序是否已启动、最近的程序交易,以及窗口结束后的销毁按钮 |
| 发现、看板、列表 | 代币阶段旁的狂暴标记 |
狂暴模式页(/app/frenzy) |
从链上读取的程序参数与金库 BNB;来自索引器的总览、进行中的窗口、等待销毁的窗口、最近的程序交易与金库账本 |
程序自己的交易由其交易员密钥发送,绝不会从应用发出。应用提供的唯一操作是销毁,任何钱包都可以在窗口结束后发送。程序状态直接读取狂暴模式钻石合约(frenzyState、params、trackedCoinBalance、vaultBalance);历史由索引器通过 /v1/frenzy/summary、/v1/frenzy/coins、/v1/frenzy/coins/{coin}、/v1/frenzy/trades 与 /v1/frenzy/ledger 提供(见 索引器 API)。
它不是什么#
- 它不是价格保证。程序在参考价附近的区间内、在上限之内交易;它可能亏钱,也可能随时停止。
- 除了通过白名单免除费用之外,它不给程序任何曲线上的特权。它不能增发、暂停、拉黑或拿走任何人的代币。
- 它不会超过时间窗。24 小时后剩下的唯一操作是销毁,任何人都可以调用。
生成的接口见 狂暴模式参考。