Likely custom pricing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x7b17312d649b30523498a1647e447fa14a994088 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 before each swap and can take tokens and adjust swap amounts, but from the bytecode alone it is not clear which trades pay more or less.
How it works step by step
- Implements beforeSwap, which runs before each swap on pools using this hook and can return a delta that changes the swap amounts
- Calls take(address,address,uint256) on the pool manager, so the hook moves tokens itself as part of the swap
- Keeps a mapping from address to uint32 and several uint32/uint256 state variables, which are read and written in beforeSwap
- Exposes a view function taking an address (0xda4fd33c) that reads the address-keyed mapping
- Exposes a no-argument view function (0xc6684a79) that reads the uint32 and uint256 state slots
- Contains a Panic(uint256) revert path, indicating compiler-generated checked arithmetic or bounds checks
- Swap behaviour
- Before each swap, beforeSwap reads and updates the hook's storage, may return a delta that alters the amounts exchanged, and may take tokens through the pool manager; the exact pricing logic cannot be determined from the decoded bytecode alone.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Uses the pool's static fee as far as the permissions show; no fee-setting callback is enabled, though beforeSwap could alter effective amounts through its return delta.
- Owner & admin controls
- No admin controls found in the decoded functions; no owner or pause selectors were observed, but the bytecode was not checked for upgrade or ownership patterns in detail.
Enabled Uniswap v4 callbacks
beforeSwap, beforeSwapReturnDelta
beforeSwap is used to run custom logic on each swap and return a delta that changes the swap amounts; beforeSwapReturnDelta allows the hook to take or give currency, which is how the custom pricing or fee is applied.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: The decoded bytecode shows no owner or admin selectors, so no privileged key was identified; hidden privileged functions cannot be ruled out without source.
Risk to user funds: The hook can take tokens from the pool during swaps via take() and return deltas, so it touches pool and trader funds on every swap.
Security findings
- [high] Hook takes currency via return delta: beforeSwapReturnDelta is enabled and the bytecode calls take(address,address,uint256), so the hook can move pool tokens during swaps. Its amounts depend on storage it reads and writes, so their correctness cannot be verified without source.
- [medium] Swap-time state writes: beforeSwap writes to several storage slots, including an address-keyed mapping, on every swap. A bug in that logic could misprice or drain swaps.
- [medium] No source available: The contract is unverified, so the swap logic, arithmetic and any hidden admin paths cannot be reviewed directly from source.
Contract details
- Verified source
- No
- Bytecode size
- 1,523 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta