Launchpad hook on Arbitrum

Uniswap v4 Hook Contract 0x4f5b3e5114b8121857c30ea2519376780b69f000 on Arbitrum · Launchpad

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

What it does

This hook gates pool setup and possibly swaps behind an owner-controlled flag, with no fee override identified, so trades pay the pool's static fee and the exact trade direction affected by the flag cannot be determined from the bytecode.

How it works step by step

  • Implements beforeInitialize and afterInitialize hooks, so it runs when a pool using it is created.
  • Stores an owner address in storage slot 0 with OpenZeppelin-style Ownable controls (renounceOwnership, transferOwnership, owner).
  • Keeps a boolean flag packed in slot 0 at byte offset 20 that is toggled by selector 0x73d4b549 and read by initialization and swap-related functions.
  • Reverts with OwnableUnauthorizedAccount or OwnableInvalidOwner on unauthorized or invalid ownership changes.
  • Exposes beforeSwap as a view function, but its exact effect on swap pricing cannot be determined from the decoded bytecode.
Swap behaviour
beforeSwap (selector 0x575e24b4) is present and reads the owner-set boolean flag, but its logic cannot be fully determined from decoded bytecode; it does not return a fee override or delta based on the decoded permissions alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Uses the pool's static fee as far as can be determined; no fee override selector was identified.
Owner & admin controls
Owner can transfer or renounce ownership and toggle the boolean flag via selector 0x73d4b549, which may control whether pool initialization or swaps are permitted.

Enabled Uniswap v4 callbacks

beforeInitialize, afterInitialize

beforeInitialize: gates or configures pool creation using stored state. afterInitialize: runs post-creation setup and reads the owner-controlled flag. beforeSwap: present as a view function, likely a read-only check of the flag.

Security & trust assessment

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

Who controls it: The owner key can toggle the flag that gates initialization and possibly swaps, so a privileged key could freeze activity for users of pools using this hook.

Risk to user funds: No return deltas, currency movement or token transfers were identified in the decoded selectors, so the hook does not appear to hold or move user funds directly, but it could block trades if the flag is set to reject them.

Security findings

  • [medium] Owner-controlled boolean flag: The owner can toggle a boolean stored in slot 0 via selector 0x73d4b549, and this flag is read during initialization and beforeSwap, so the owner may be able to block pool creation or swaps.
  • [medium] Single owner key: Ownership is held by one address that can be transferred or renounced, so compromise of that key would give an attacker control over the flag.
  • [info] Source not verified: Without verified source, the exact conditions under which the flag blocks or alters behaviour cannot be confirmed from bytecode alone.

Contract details

Verified source
No
Bytecode size
3,177 bytes
Upgradeable proxy
No
Detected patterns
ownable

Pools using Launchpad hook