Likely dynamic fee hook on Robinhood Chain

Uniswap v4 Hook Contract 0x340113c80df9b8c647fc08a2612632f51ce0c0c0 on Robinhood Chain · Dynamic fee

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

A Uniswap v4 hook that runs custom logic before and after swaps on its pool, though its exact purpose cannot be determined without verified source.

This read was written for the hook 0xce17…80c0 on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Enables beforeSwap and afterSwap callbacks from the pool manager
  • Exposes a manager() getter and a config() getter
  • Dispatches standard v4 hook callbacks, reverting on unimplemented ones
  • No storage variables were identified in the inferred layout
Swap behaviour
Runs custom logic in beforeSwap and afterSwap on each swap; the specific behaviour cannot be determined from the decoded bytecode.
Liquidity behaviour
Liquidity callbacks are present as stubs in the dispatcher (beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity) but the hook permissions only enable swap callbacks, so these are not expected to run.
Fee behaviour
Fee handling is not determinable from the decoded selectors; the hook has beforeSwap and afterSwap but no visible fee override or return-delta logic was identified.
Owner & admin controls
No admin controls found. The decoded selectors include only a manager() and config() getter with no owner, pause or setter functions visible.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap

beforeSwap and afterSwap are enabled, which lets the hook run custom logic before and after each swap on the pool it is attached to.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: No privileged role was identified from the decoded functions, so there is no clear key that could alter behaviour. This cannot be confirmed without source.

Risk to user funds: Unknown without source. The swap hooks could in principle take tokens via return deltas, but no such mechanism is confirmed from the bytecode, and the storage layout is empty so no stored state was identified.

Security findings

  • [medium] Unverified swap logic: Source is not verified, so the actual logic of beforeSwap and afterSwap cannot be audited and their effects on pricing or fees are unknown.
  • [info] Unimplemented callbacks revert: The bytecode references a HookNotImplemented error selector, suggesting a dispatcher that reverts for unimplemented callbacks. This is a neutral observation.
  • [info] Dispatcher exposes extra callbacks: Only beforeSwap and afterSwap are enabled by the address permissions, while the dispatcher exposes many other callbacks. Those extra entry points are not expected to be reachable through the pool manager.

Contract details

Verified source
No
Bytecode size
1,213 bytes
Upgradeable proxy
No

Pools using Likely dynamic fee hook