Oracle hook on Robinhood Chain
Uniswap v4 Hook Contract 0x57869786bed8665cbb767b3fada842be05b8d0c0 on Robinhood Chain · Oracle
- 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 records a TWAP price oracle on every swap and applies an owner-set swap fee, with an unverified cap, that one exempt address may avoid, while LPs keep full freedom to add and withdraw.
How it works step by step
- Records a time-weighted price (TWAP) history of the pool's tick on initialization and after each swap, which others can read through a consult function.
- Appears to set a swap fee in beforeSwap from an owner-set fee value, with certain addresses (a fee-exempt address) possibly paying less or nothing.
- Tracks bounds such as a floor tick, a maximum tick move and a staleness window, likely used to sanity-check prices.
- The owner can register the tracked pool, set a fee value (guarded by a FeeTooHigh check), set a fee-exempt address and adjust a small configuration value.
- Swap behaviour
- Before each swap the hook reads its stored fee settings and may return a fee override, with an exempt address possibly treated differently; after each swap it records the new tick into its price history. It cannot take tokens from swaps because return-delta permissions are disabled.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- The swap fee appears to be an owner-set value that may be applied as a dynamic fee override, and a FeeTooHigh check suggests a cap exists, but the exact cap cannot be confirmed from bytecode. Fees go to LPs through the normal pool fee mechanism, since the hook cannot take tokens.
- Owner & admin controls
- The owner, using two-step ownership transfer, can set the tracked pool, the swap fee (bounded by an unverified cap), the fee-exempt address and a 16-bit config value. The owner cannot touch LP withdrawals or take tokens from swaps.
Enabled Uniswap v4 callbacks
afterInitialize, beforeSwap, afterSwap
afterInitialize: starts the price history for the pool; beforeSwap: applies the configured fee and exemption logic; afterSwap: writes a new price observation.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: A single owner controls the fee setting, the fee-exempt address and the tracked pool. At worst they can raise swap fees up to an unverified cap or favor one exempt address.
Risk to user funds: The hook holds no user funds and cannot deduct tokens from swaps or liquidity; its only influence is the swap fee level, whose exact maximum is unverified. LP principal cannot be locked or drained.
Security findings
- [low] Owner-set swap fee with unverified cap: The owner can change the fee, and a FeeTooHigh error shows a cap check exists, but the exact maximum cannot be read from the unverified bytecode.
- [info] Fee exemption address: One owner-chosen address may get a different fee on swaps than other traders.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block withdrawals or take tokens.
Contract details
- Verified source
- No
- Bytecode size
- 9,151 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, ownable
Pools using Oracle hook
- ETH / MERRY (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today