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
- WPENDLE / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WLDO / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / WGRT (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WGMX / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / WAAVE (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WUSDC / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WDAI / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / WLINK (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / WARB (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / WUSD₮0 (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / WDWRAP (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today
- DWRAP / WETH (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today