Oracle hook on Robinhood Chain

Uniswap v4 Hook Contract 0xf28a89af20fabdb89af9d033bb0a98d17212c880 on Robinhood Chain · Oracle

Volume (24h)
$26.74K
Value locked (TVL)
$82.03K
All-time volume
$2.01M
Pools using this hook
14
Swaps (24h)
813 (168 traders)
Total swaps
23,805

What it does

A Uniswap v4 hook that checks liquidity additions and swaps against an external oracle and controller, likely gating pool activity tied to a USDG token.

How it works step by step

  • Runs a validation step before liquidity is added to a pool via beforeAddLiquidity
  • Runs a validation step before each swap via beforeSwap
  • References an oracle contract for price or state data
  • References a controller contract that governs the hook's configuration
  • Associates the hook with a USDG token address
  • Reverts with Panic-style errors on failed internal assertions
Swap behaviour
beforeSwap runs a pre-swap check that may consult the oracle and controller; the specific accept or reject logic is not determinable from bytecode alone.
Liquidity behaviour
beforeAddLiquidity is dispatched and performs a check before liquidity is added; the exact condition (for example, a whitelist or oracle-based gate) cannot be determined from bytecode alone.
Fee behaviour
Uses the pool's static fee; no fee-setting logic was identified in the decoded functions.
Owner & admin controls
Exposes controller() and usdg() getters, suggesting a privileged controller address configured at deployment; no setter selectors were found in the dispatch table, so admin control is not evident from the decoded functions.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, beforeSwap

beforeAddLiquidity: runs a pre-check on liquidity additions. beforeSwap: runs a pre-check on swaps, which may gate or adjust trades using the oracle or controller.

Security & trust assessment

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

Who controls it: The controller and oracle addresses are referenced by the hook, so whoever controls those contracts may influence whether liquidity additions and swaps are permitted, though this cannot be confirmed without source.

Risk to user funds: Based on decoded selectors, the hook does not clearly hold or move tokens itself, but it can gate liquidity additions and swaps through its controller and oracle dependencies, which could block user operations.

Security findings

  • [info] Source not verified: Without verified source, the logic of beforeAddLiquidity and beforeSwap cannot be fully inspected; the bytecode is small (1189 bytes) and references an oracle, controller and USDG token.
  • [medium] Dependence on external controller and oracle: The hook calls out to external oracle and controller contracts; if these are upgradeable or owner-controlled, hook behaviour can change or block operations.
  • [medium] Possible swap blocking: beforeSwap is non-view and can revert on conditions set by the controller or oracle, which could block swaps for a pool.
  • [low] No direct fund movement identified: Only a Panic(uint256) selector is visible among external calls, so no transfer or token-moving calls were identified in the decoded bytecode.

Contract details

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

Pools using Oracle hook