GlueLiquidity on Monad

Uniswap v4 Hook Contract 0xb216070c3509047ea597e2e626a29cea427a60c8 on Monad · Liquidity management · Verified contract

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
$0.11
Pools using this hook
2
Swaps (24h)
0 (0 traders)
Total swaps
4

What it does

On each swap the hook collects the program position's accrued fees and splits them so that part is re-minted as liquidity, part buys back or burns, and the rest goes to configured recipients, so traders pay the pool's normal fee while LPs gain auto-compounding, with the exact direction of any trade-specific cost not determinable from the input.

This read was written for the hook 0xb216…60c8 on BNB Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Holds a single concentrated-liquidity program position per pool at a fixed tick range, with its own owner and operator roles
  • On each swap, collects accrued LP fees from the position via a zero-delta modifyLiquidity and takes them to the hook
  • Splits harvested fees between a compound share re-minted into the program position, a buyback share credited to a pot, and recipient remainders paid to configured addresses
  • Re-mints a compound budget (harvest slice plus carry) into the same position at the live price, carrying any unplaced remainder forward
  • Delivers pot output on the main side to a live recipient or runs a burn cascade (token burn, dead address, or permanent hold on the hook)
Swap behaviour
beforeSwap and afterSwap run the fee collect and split logic inside the swap frame, and beforeSwapReturnDelta is enabled so the hook can take or deliver currency as part of the swap; the swap's own pricing is not described as altered, and which trades pay more or less is not determinable from the input.
Liquidity behaviour
beforeInitialize is used to register the pool's admin; liquidity added through the hook is minted into the program's fixed-range position with the pot admin gating creation, and removals and fee collection go through the hook's own unlock callbacks.
Fee behaviour
The pool's LP fee is collected from the program position on swaps and split by the configured compoundShareWad, buybackShareWad, burnShareWad and recipient shares, all expressed as fractions of gross fees; the pool's swap fee itself is not shown to change.
Owner & admin controls
A pot admin declares main and recipient once and can move the recipient; a program owner can transfer ownership or surrender it (which forces public harvesting); a program operator sets split rules and can hand off or freeze them; the proxy implementation is upgradeable by its admin, which was not verified from the input.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta

beforeInitialize registers the pool's admin and roles; beforeSwap collects and splits program fees before the swap; afterSwap runs the pot's buyback and placement logic after the swap; beforeSwapReturnDelta lets the hook settle currency deltas during swaps.

Security & trust assessment

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

Who controls it: A privileged admin, owner or operator key can redirect recipients, change split shares and, through the proxy admin, replace the implementation; this could divert fees and pot output from LPs and the configured beneficiaries.

Risk to user funds: The hook holds position-derived fees, carry balances and parked or held tokens, and can move pool currency during swaps through return deltas; funds in the program and the hook are exposed to admin-controlled logic and to the upgrade path.

Security findings

  • [high] Hook takes currency via return deltas: beforeSwapReturnDelta is enabled and swaps trigger collect and take calls, so the hook moves pool currency as part of trades, which the trader does not directly control.
  • [high] Upgradeable proxy: The hook delegates all calls to an implementation at 0x26cd66adec6176c11f894a9de5bc504235c90241, so its logic can be replaced by whoever controls the proxy admin.
  • [medium] Operator can rewrite split rules: The program operator can change compound, buyback, burn and recipient shares and minimums, redirecting fee flows for future harvests.
  • [medium] Recipients can be changed by admin: The pot admin can change the delivery recipient, and the owner can transfer program ownership, so privileged keys can redirect future proceeds.
  • [info] Permanent hold on the hook: When burn and dead-address transfers fail, the amount is held on the hook with no withdrawal path, which is an intentional terminal sink.

Contract details

Verified source
Yes (GlueLiquidity)
Compiler
solc 0.8.35+commit.47b9dedd
Bytecode size
23,465 bytes
Upgradeable proxy
Yes
Detected patterns
erc20, liquidity-management, moves-currency, return-delta, self-unlock, upgradeable

Pools using GlueLiquidity