Likely launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0x7cb9325786449a256824936a0d9b7ad6151128cc on Robinhood Chain · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 4
- Swaps (24h)
- 15 (2 traders)
- Total swaps
- 15
What it does
This hook takes a fee from swaps through return deltas and uses it for buybacks, burns and holder or creator accruals, but the exact fee rate and which trades pay more or less cannot be determined without verified source.
How it works step by step
- Hook has no verified source; behaviour inferred from decoded selectors and permissions only
- Enables beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta and afterSwapReturnDelta, so it can alter swap amounts and take or settle currency
- Exposes pool bookkeeping getters (poolIdOf, keyOf, configOf, tokenOf) and per-pool accruals (pendingBuyback, pendingBurn, pendingHolders, creatorAccrued)
- Storage and calls suggest a token launch flow that mints or burns an ERC20 supply, with buyback, burn and holder distribution steps executed from unlockCallback
- Calls back into the pool manager via unlock, take, settle and sync, and uses ERC6909 claims
- Gas constants (BURN_GAS, BUYBACK_GAS) suggest fee-funded buyback and burn executed inside the hook
- Swap behaviour
- beforeSwap and afterSwap run on every swap and can return deltas, so the hook can take a portion of swap amounts; the exact split between traders and the buyback/burn/creator accruals cannot be confirmed without source.
- Liquidity behaviour
- beforeAddLiquidity is gated by the hook; beforeRemoveLiquidity and afterRemoveLiquidity selectors exist in the ABI but are not enabled in the permissions, so removals are not hooked.
- Fee behaviour
- Fees appear to be taken by the hook through return deltas on swaps and routed into pending buyback, burn, holder and creator accruals; the precise rate and recipients are not determinable from the bytecode.
- Owner & admin controls
- No owner or admin functions were clearly identified; the selector 0x31f6121c with five uint16 arguments looks like a configuration setter whose access control cannot be verified. Creator-related reverts (NotCreator, OnlyViaCreatePool) suggest creator-restricted actions.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: validates and records pool setup on pool creation. beforeAddLiquidity: gates liquidity additions to the hook's pools. beforeSwap: adjusts swap amounts via return delta. afterSwap: records fee accrual and triggers buyback or burn logic after the swap. beforeSwapReturnDelta: lets the hook take a specified delta from the swap. afterSwapReturnDelta: lets the hook take an unspecified delta after the swap.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: A privileged creator or owner may be able to change configuration values that affect fee and accrual handling, but without source the scope of this power is unconfirmed.
Risk to user funds: The hook can hold and move pool currency through take, settle and return deltas and can mint or burn tokens, so user swap proceeds and LP deposits pass through hook-controlled accounting.
Security findings
- [medium] Return-delta fee capture: beforeSwapReturnDelta and afterSwapReturnDelta are enabled, so the hook can take currency from every swap; the take rate is not visible without source.
- [high] Unverified configuration setter: Selector 0x31f6121c takes five uint16 values and writes to storage slot 0, which may let a privileged key change fee or split parameters; access control is unknown.
- [medium] Token mint and burn logic: Calls to mint, burn, transferFrom and a SupplyNotReceived error suggest the hook controls token supply, which could be abused if its pricing or accounting is manipulated.
- [medium] Self-unlock and reentrancy surface: The hook calls unlock and has an unlockCallback entry point along with a Reentrancy error, so ordering of settlement inside the callback is a sensitive area.
Contract details
- Verified source
- No
- Bytecode size
- 15,786 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, erc6909-claims, moves-currency, return-delta, self-unlock