Token hook on Ink
Uniswap v4 Hook Contract 0x7694de2e5182e7d4e2e86b167a3cc761abb5a0cc on Ink · Token
- 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
A token-and-hook contract that takes a levy of unknown size on swaps in its home pool and splits it between a developer and a jar, while leaving LP deposits and withdrawals untouched.
How it works step by step
- The hook contract is also an ERC-20 token with a fixed supply, and it attaches itself to one home pool when that pool is created.
- On swaps in its pool it appears to levy a tax using swap return deltas and records the collected amount.
- Collected tax is tracked in two buckets, a developer share that the developer can withdraw and a 'jar' share that can be poured out by calling pour().
- Includes an incinerate function that burns tokens, reducing total supply.
- LP deposits and withdrawals are not touched by the hook.
- Swap behaviour
- During swaps in its home pool, the hook can change swap amounts through return deltas, most likely taking a tax from the swap and pulling it from the PoolManager. The exact tax rate cannot be read from the bytecode alone.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- A swap levy of unknown size is collected through return deltas and split between a developer balance (withdraw) and a jar balance (pour). The rate and split are not visible in unverified bytecode.
- Owner & admin controls
- There is a standard owner with transfer and renounce ownership functions, but no fee-setting or pause functions appear in the dispatcher. A developer address can withdraw its accrued share.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: binds the hook to a single home pool; beforeSwap: computes and may take a levy before the swap; afterSwap: settles or records the levy after the swap; beforeSwapReturnDelta and afterSwapReturnDelta: let the hook adjust swap amounts to collect the levy.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: An owner and a developer address exist. The developer can withdraw its accrued levy share, and no functions to change fees or block trading were found.
Risk to user funds: Traders in the home pool pay a swap levy of unverified size taken through return deltas. LP principal cannot be locked or charged by the hook.
Security findings
- [medium] Unverified swap levy: The hook uses swap return deltas to take tokens from swaps, but the exact tax rate and any limits cannot be confirmed without source code.
- [info] No visible fee or pause setters: The functions found include no fee-setting, allowlist, or pause controls. The owner functions appear limited to ownership management.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
Contract details
- Verified source
- No
- Bytecode size
- 7,033 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using Token hook
- ETH / test (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today