InkypumpHook on Ink

Uniswap v4 Hook Contract 0x115f272ac83a77c6214f97e1d34cd3fa7ee540cc on Ink · Launchpad · Verified contract

Volume (24h)
$0
Value locked (TVL)
$1.17
All-time volume
$43.70K
Pools using this hook
4
Swaps (24h)
0 (0 traders)
Total swaps
281

What it does

A fee engine for Inkypump launch pools that charges a fixed pair-side fee on every swap, with a decaying anti-snipe surcharge in the first 20 seconds, and forwards fees to the coin contract.

How it works step by step

  • Charges a fixed fee in the pair asset on each swap of registered pools, set once at registration.
  • Applies an anti-snipe surcharge starting at 99% decaying linearly to the base fee over 20 seconds after launch; the factory's own buys pay only the base fee.
  • Delivers collected fees to the coin contract and calls sync() so holders are credited.
  • Holds fees as ERC-6909 claims when the PoolManager lacks the pair balance, delivering them on a later swap or via permissionless flush.
  • Reports every swap to a leaderboard ledger attributed to the signing wallet or a router-supplied address, without ever reverting the swap.
Swap behaviour
On every swap in a registered pool, beforeSwap or afterSwap takes a fee in the pair asset (WETH or a tokenized stock), depending on whether the pair is the specified or unspecified currency. The fee goes to the coin contract and sync is called to credit holders; the swap is also reported to the ledger.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Each swap pays a fixed fee in bps of the pair asset (taxBps set at registration, must be below 9900 bps and above 0). For the first 20 seconds after launch an anti-snipe surcharge starts at 9900 bps and decays linearly to the fixed fee; the factory's own buys pay only the base fee. Fees are sent to the coin contract, which is then synced to credit holders.
Owner & admin controls
No owner or pause. Deployer can wire the factory and the ledger once each at deployment (setFactory, setLedger, both one-shot). Fee is fixed per pool at registration and cannot be changed. Factory can register pools once per pool.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap: returns a specified-currency delta to charge the fee when the pair is the specified currency. afterSwap: reports the trade to the ledger, takes the fee (or returns it as an unspecified delta when the pair is unspecified), delivers or holds it, and calls sync() on the coin. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take fee amounts out of swap settlement.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: No privileged key can change fees, pause swaps, or move funds. Only the one-time deployer wiring of factory and ledger exists. Fee rates are immutable per pool.

Risk to user funds: The hook can take a fee from swaps on its registered pools and can hold fee amounts as ERC-6909 claims until delivered. It cannot block swaps or withdraw pool liquidity; the fee is bounded by the configured tax and the anti-snipe schedule.

Security findings

  • [medium] Very high anti-snipe fee at launch: Fee is charged via return deltas, so the hook takes a share of every swap on registered pools; a launch-time surcharge of up to 99% applies for 20 seconds after launch.
  • [low] Fees may be held as claims: If the PoolManager lacks the pair balance, the fee is minted as ERC-6909 claims and held in the owed mapping until flush or the next swap delivers it; flush is permissionless.
  • [low] Silent failure of external calls: Coin sync is called in a try/catch and the ledger record is wrapped in try/catch, so failures there do not revert swaps; a reverting coin or ledger silently drops reporting or crediting until next sync.
  • [info] Attribution uses tx.origin fallback: Ledger attribution uses tx.origin when hook data is not 20 bytes, so wallet attribution for contract-initiated swaps is approximate.

Contract details

Verified source
Yes (InkypumpHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
6,843 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta, self-unlock, tax

Pools using InkypumpHook