Comb on Robinhood Chain
Uniswap v4 Hook Contract 0x347e0d9a59c12dc4e8b121c7fbde44e4fb26a0cc on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
Every swap in the Comb/ETH pool pays a flat 0.5% of its ETH side, taken by the hook and split between keeper, meadow and queen cells, with no direction-based difference, while liquidity providers are not hooked and no owner remains to change the terms.
How it works step by step
- Hiving: constructor mints the entire 1,000,000,000 supply to the deployer, validates the brief strings and payee addresses, and renounces ownership in the same constructor
- Hook permissions: beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta; no liquidity hooks are enabled
- Home pool: beforeInitialize accepts exactly one pool, with ETH as currency0, this contract as currency1, zero static fee and tick spacing 1
- Honey: a flat 0.5% of the ETH side of every swap is booked as an ERC-6909 claim on the PoolManager and split 80% keeper, 10% meadow, 10% plus rounding queen
- Harvest: each payee can withdraw their own cell in ETH through manager.unlock; no other party can move cell balances
- Listing: contractURI assembles ERC-7572 metadata on-chain from immutable-by-convention strings written at hiving
- Swap behaviour
- Every swap in the home pool pays honey of 0.5% of the ETH side. For ETH-specified exact-in legs the honey is carved off the ETH input in beforeSwap; for ETH-specified exact-out legs the pool is asked for a grossed-up ETH amount so honey is a slice of it. For comb-specified legs the honey is computed in afterSwap from the ETH that actually moved and is taken via afterSwap return delta. Buyers paying ETH and sellers receiving ETH both pay the same 0.5%; the fee is uniform, not directional.
- Liquidity behaviour
- No liquidity callbacks. Liquidity providers add and remove through Uniswap normally and are not hooked.
- Fee behaviour
- Fixed 0.5% honey on the ETH side of every swap, booked to keeper (80%), meadow (10%) and queen (10% plus rounding) cells. The pool itself uses a static fee of zero; the honey is taken via return deltas, not through the LP fee.
- Owner & admin controls
- No admin controls found. Ownership is renounced in the constructor so owner() returns the zero address. No pause, upgrade, blocklist or parameter-change function exists. Payee addresses are immutable and only the payee can harvest its cell.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool creation to the home pool with exact canonical key. beforeSwap computes honey for ETH-specified legs and returns a before-swap delta. afterSwap validates ETH-specified legs were fully filled, computes honey for comb-specified legs and returns an after-swap delta. beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can take a share of the swap.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged key remains after renounceOwnership; the constructor-set payees can only withdraw their own cell and cannot alter parameters.
Risk to user funds: The hook holds ETH-denominated ERC-6909 claims on the PoolManager equal to accumulated honey in the three cells. Honey is booked from swap deltas; users' LP principal is not held by the hook. Comb transfers are standard ERC-20 with no tax or blocklist.
Security findings
- [info] Hook takes honey through return deltas: beforeSwap and afterSwap return deltas take 0.5% of the ETH side of every swap in the home pool into ERC-6909 claims held by the hook, so traders pay this on every swap regardless of direction.
- [low] Swaps revert when legs are not filled exactly: afterSwap reverts with Unfilled if an ETH-specified leg does not move the expected ETH amount, so partial fills in the home pool are refused rather than settled.
- [info] Payee addresses fixed at hiving: keeper, meadow and queen are immutable; if one is a contract that cannot receive ETH, harvest for that cell would fail, locking its honey.
- [info] Harvest reentrancy guarded: harvest sets a _harvesting flag around manager.unlock and unlockCallback requires it, limiting entry to the harvest path.
Contract details
- Verified source
- Yes (Comb)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 11,326 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, moves-currency, ownable, return-delta, self-unlock
Pools using Comb
- ETH / CLOVER (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today