Likely custom pricing hook on Robinhood Chain

Uniswap v4 Hook Contract 0xfce40e01fd8d6545d8128cca4360f477d5828088 on Robinhood Chain · Custom pricing

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

This hook runs custom logic on every swap, takes currency through the PoolManager and adjusts swap amounts, but from decoded bytecode alone it is not possible to say which trades pay more or less.

How it works step by step

  • Exposes a beforeSwap callback that runs before every swap routed through the pool it is attached to
  • Calls take(address,address,uint256) on the PoolManager, which moves tokens out of the pool's accounting
  • Returns a before-swap delta, so the hook can alter the amounts the swapper pays or receives
  • Maintains two per-address uint256 mappings (storage slots 0 and 1) that are read and written during swaps
  • Exposes a view function 0x17dcf204 that returns an address, and calls an external lum() function (0x80dd1397) that is not verified
Swap behaviour
beforeSwap reads and writes two per-address mappings, may call take on the PoolManager to move currency, and returns a delta that changes swap amounts. Exactly which trades pay more or less cannot be determined from decoded bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
No fee logic is identifiable from decoded bytecode; the hook appears to take or adjust amounts through return deltas rather than a named fee setting, so the effective fee cannot be determined.
Owner & admin controls
No admin controls found in decoded bytecode; no owner or pause selectors were identified, but the lum() external call and the address view suggest configuration by an external contract that cannot be verified.

Enabled Uniswap v4 callbacks

beforeSwap, beforeSwapReturnDelta

beforeSwap is used to run custom logic and take currency before each swap; beforeSwapReturnDelta lets the hook adjust the swap amounts it returns, which can take or give value on each swap.

Security & trust assessment

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

Who controls it: Without source or visible admin functions, the ability of any privileged key to change behaviour cannot be confirmed; the external lum() call may point to a controllable dependency.

Risk to user funds: The hook can take currency from the pool via take and alter swap amounts through return deltas, so user and pool funds are exposed to whatever logic the unverified beforeSwap runs.

Security findings

  • [high] Return delta with currency movement: The hook has beforeSwapReturnDelta enabled and calls take on the PoolManager, so it can move pool currency and alter swap amounts on every swap.
  • [medium] Unverified source: No verified source is available, so the logic of beforeSwap and the lum() dependency cannot be audited and its intent is inferred from selectors only.
  • [info] Per-address state mappings: Two per-address uint256 mappings are read and written in beforeSwap, which suggests per-user accounting that affects later swaps.

Contract details

Verified source
No
Bytecode size
1,140 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using Likely custom pricing hook