Hook 管理价格
Hook 使用代币自己的
poolId 状态计算买入和卖出结果。官方 Router
用户和集成通过 Swap Router 执行交易,而不是任意第三方池。
卖出受地板价保护
有效卖出价格不能低于当前协议地板价。
可索引状态
价格、储备、地板价、ATH、成交量和活动可以从协议状态和事件读取。
买入流程
用户买入官方 V5 代币时:1
BNB 进入 Swap Router
用户使用该代币对应的 PoolKey,把 BNB 发送到
buy(key, minTokensOut)。2
Router 进入 Uniswap V4 流程
Router 使用 Pool Manager 的 unlock/callback 流程。
3
Pool Manager 调用 Hook
Hook 接收 pool 上下文,并应用 LFG.RICH 协议逻辑。
4
Hook 读取 poolId 状态
Hook 读取该代币的
poolId 状态,用于价格、地板价、储备、费用和推荐规则。5
扣除费用并计算曲线输出
先扣除 V5 交易手续费,然后联合曲线根据净 BNB 计算代币输出。
6
铸造代币并更新状态
代币被铸造给买家,价格、储备、地板价、ATH、成交量和交易历史可以从事件和状态中索引。
卖出流程
用户卖出官方 V5 代币时:1
授权 Swap Router
卖家授权官方 Swap Router 花费要卖出的代币数量。
2
使用 PoolKey 调用 sell
用户调用
sell(key, tokenAmount, minEthOut)。3
Router 通过 Uniswap V4 路由
Router 进入相同的 Pool Manager 和 Hook 流程。
4
Hook 计算 BNB 输出
Hook 根据联合曲线计算总 BNB 返回值,并应用 V5 费用。
5
代币销毁,BNB 支付给卖家
代币被销毁,卖家收到扣除费用后的 BNB。
6
应用地板保护
卖出价格不能低于协议地板价。
V5 估算函数
V5 的估算函数包含钱包地址,因为推荐状态会影响手续费接收方的分配。价格与地板价的关系
有效卖出价格不允许低于代币的地板价。当前有效价格可通过以下函数读取:原生 BNB 命名
一些合约字段和事件名称中使用ETH,例如 realETH、virtualETH 或 borrowedETH。在 BNB Smart Chain 上,这些值代表原生 BNB。命名来自合约习惯,但经济资产是 BNB。
