Auction hook on Robinhood Chain
Uniswap v4 Hook Contract 0xea8f6de7e68499e9cc89d07f6291bbf98c820088 on Robinhood Chain · Auction
- 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 takes over pricing during swaps and can take currency out of the pool, but from the decoded bytecode alone it is not clear which trades pay more or less, so treat its effect on traders as unconfirmed.
How it works step by step
- Implements beforeSwap with beforeSwapReturnDelta, so it can alter the swap amounts and take currency from the swap via return deltas
- Calls take(address,address,uint256) on the PoolManager to move tokens out of the pool during swaps
- Tracks several uint256 state slots that are updated on swap and by two state-changing selectors (0x6e86f484, 0xa06c99f6, 0xabdab5e7)
- Calls abacus() on an external contract, suggesting it delegates pricing or auction math to a separate contract
- Exposes view functions 0xad7ba0dd(bool,uint256) and 0xe6760a62 that read the stored state
- Swap behaviour
- On each swap beforeSwap runs and can return a delta that changes the swap amounts, and the hook takes currency through take(); the exact pricing rule cannot be fully 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, beforeSwapReturnDelta
beforeSwap: runs before each swap and computes the custom swap logic; beforeSwapReturnDelta: lets the hook return a delta that modifies the swap amounts and the currency it takes.
Security & trust assessment
Risk level: high, estimated (decoded bytecode, low confidence).
Who controls it: Cannot be determined from bytecode alone; no owner or admin selector was identified, but the external abacus() dependency may be controlled by a privileged party.
Risk to user funds: The hook can hold and move pool currency through take() and return deltas during swaps, so user swap proceeds depend on its pricing logic.
Security findings
- [high] Hook takes currency via return deltas: The hook has beforeSwapReturnDelta and calls take(address,address,uint256), so it can remove tokens from the pool during swaps and alter the amounts users receive.
- [medium] Unverified source: No verified source is available, so the logic behind the state-changing selectors and the abacus() call cannot be reviewed for correctness.
- [medium] External dependency on abacus(): The hook calls abacus() on an external contract; if that contract is upgradeable or controlled by a privileged key, pricing could change without notice.
- [info] Panic path present: Panic(uint256) is referenced, indicating explicit assertion or overflow checks in the bytecode.
Contract details
- Verified source
- No
- Bytecode size
- 1,882 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta