Hook 0x7b7a…8840 on Robinhood Chain
Uniswap v4 Hook Contract 0x7b7a3e4b5c4f43a2c7f78eae9a6c984c0ac28840 on Robinhood Chain · Other
- Volume (24h)
- $0
- Value locked (TVL)
- <$0.01
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 13 (8 traders)
- Total swaps
- 13
What it does
An unverified Uniswap v4 hook that gates liquidity additions with whitelist and pause controls and runs post-swap logic that appears to take a share of pool flows for a treasury.
How it works step by step
- Restricts liquidity additions in beforeAddLiquidity using whitelist, operator and pause checks
- Runs afterSwap logic that uses take() to move tokens from the pool to a treasury or handler
- Tracks thresholds and tick ranges (bid bounds, spacing, dynamic fee) for the bound pool
- Provides a treasury address and privileged setters for parameters
- Includes rescue and sweep functions for recovering tokens held by the hook
- Swap behaviour
- afterSwap is enabled and appears to perform post-swap accounting and token take() calls, likely routing a portion of swap flow to a treasury; exact amounts could not be determined.
- Liquidity behaviour
- beforeAddLiquidity is enabled and gated by whitelist/operator checks and a pause flag, so liquidity additions may be restricted to approved addresses; the hook also appears to manage positions via position() and a bid/tick range (bidLower/bidUpper, tick setters).
- Fee behaviour
- A setDynamicFee function is present and a fee-related parameter is writable by a privileged caller, indicating the hook may override the pool fee; exact fee computation could not be determined from decoded bytecode alone.
- Owner & admin controls
- Owner-style privileged roles: setPaused(bool) toggles a pause flag checked in the add-liquidity and swap paths; setTreasury(address) changes the treasury (guarded by NotTreasury); setWhitelist/setWhitelistBatch and setOperator/setRuleExempt manage access mappings; setThreshold(uint256), setDynamicFee, setPool and setting tick-range functions change pool parameters; rescue(address,uint256) and sweep move tokens out of the hook to a privileged address. Upgradeability was not observed in the decoded selectors.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, afterSwap
beforeAddLiquidity: gates or validates liquidity additions against whitelist, pause and range checks. afterSwap: runs post-swap logic, likely updating state, thresholds or taking a share via take(), and is the only swap-related callback.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: A privileged key can pause the hook, change the treasury, add or remove whitelisted operators and rule exemptions, adjust thresholds, fees and tick parameters, and rescue or sweep tokens held by the hook, which could redirect or block user flows.
Risk to user funds: The hook takes tokens via take() in afterSwap and can transfer tokens out through rescue/sweep, so funds held by the hook can be moved by privileged roles; the pause and whitelist controls can block users from adding liquidity or swapping.
Security findings
- [medium] Privileged token withdrawal: The owner-controlled rescue and sweep functions can transfer tokens held by the hook contract to an address chosen by the privileged role.
- [medium] Pausable by admin: setPaused and the paused flag gate liquidity addition and swap-related logic, so a privileged key can halt the hook.
- [medium] Adjustable fee and range parameters: setDynamicFee and tick setters let a privileged role change fee and range parameters that affect pool economics; bounds could not be verified without source.
- [low] Access-restricted liquidity: Whitelist, operator and rule-exempt mappings gate who can add liquidity, which can restrict LP access.
- [info] Unverified source: Source is unverified and behaviour was inferred from selectors and storage writes, so exact logic is uncertain.
Contract details
- Verified source
- No
- Bytecode size
- 17,315 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, pausable
Pools using Hook 0x7b7a…8840
- USDG / NVDA (0.00% fee) — 24h volume $0, TVL <$0.01, 13 swaps today