Skip to main content

概述

GeodeHook.sol 是整个 Geode 协议的单一合约(约 1,190 行)。它实现了 Uniswap v4 IHooks 接口和 IUnlockCallback,通过 beforeSwap 拦截交换,并通过 geodeSettleBatch() 提供批量结算。 Hook 标志BEFORE_SWAP | BEFORE_SWAP_RETURNS_DELTA

不可变量

常量

状态变量

外部入口

geodeSettleBatch()

主结算函数。无许可——任何人都可以调用并赚取奖励。

beforeSwap()

Hook 回调,拦截配置池上的每次交换。
行为
  • sender == address(this)(Hook 路由剩余):无费用,直通
  • 活跃曲线池:_curveDirectSwap() — Hook 计算联合曲线输出,收取 0.3% 三方分配费用,返回完整 delta
  • 标准池:收取 directSwapFeeBps,约 1/3 → 金库,约 2/3 → 盈余

geodeInitializePool()

一次性池配置。曲线池(设置了 deployer)需要工厂作为调用者。

registerLaunch()

由工厂调用以注册永久曲线状态。

视图函数

事件

源代码

GeodeHook.sol

在 GitHub 上查看完整源代码(约 1,190 行)。