Rewards hook on Robinhood Chain

Uniswap v4 Hook Contract 0xa20c04ae37f2ba67ac6a05f1dc7ecd9a61ef00c0 on Robinhood Chain · Rewards

Volume (24h)
$75
Value locked (TVL)
$0
All-time volume
$75
Pools using this hook
1
Swaps (24h)
3 (1 traders)
Total swaps
3

What it does

This hook gates swaps through a stored flag set after each swap, but its effect on fees or prices cannot be determined from the decoded bytecode alone.

How it works step by step

  • Exposes beforeSwap and afterSwap callbacks, plus a register function that takes a pool key and an address, storing the address in a mapping keyed by uint256 at slot 0.
  • beforeSwap reads a uint8 flag from slot 1 and may gate or adjust the swap based on it.
  • afterSwap writes slot 1, suggesting it updates a state flag or counter after each swap.
  • Exposes manager(), WINDOW() and getHookPermissions() as view functions, and calls extsload on the pool manager, which points to reading transient or pool state from the manager.
  • Its precise pricing or fee logic cannot be fully determined from decoded bytecode alone.
Swap behaviour
beforeSwap reads state and afterSwap updates a flag; exact effect on swap amounts or fees could not be determined from decoded bytecode.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap

beforeSwap is used to read a stored flag before a swap executes; afterSwap is used to update that flag after the swap completes.

Security & trust assessment

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

Who controls it: No owner or admin functions were identified, but without source it is unclear whether register or the flag can be changed by a privileged party.

Risk to user funds: The hook declares only beforeSwap and afterSwap without return-delta permissions, so it does not appear to take or hold tokens directly; any effect on user funds would come through gating swaps.

Security findings

  • [medium] Unverified source: No verified source is available, so the exact logic of beforeSwap and afterSwap, including any gating or return deltas, cannot be confirmed.
  • [low] Swap-gating potential: beforeSwap reads a stored uint8 flag that afterSwap writes, so the hook may block or alter swaps depending on that state.
  • [low] Registration accepts arbitrary address: register stores an address in a mapping keyed by uint256 with no visible access control in the decoded selectors, so any caller may be able to register a value.

Contract details

Verified source
No
Bytecode size
5,421 bytes
Upgradeable proxy
No

Pools using Rewards hook