Fablecat / USDG
fee 0%- Swap Fablecat → USDGrefused: PartialFill
- Swap USDG → Fablecathook takes 1.00%
- Add, then remove liquiditycame back whole
pool 0xcd6320d62898462a043f89cb7cf85aeaa2ee69e16d7b5cdc447bfec418451841
Reading the hook.
The address, the bytecode, then a swap each way through its pool. A few seconds.
12 pools use this hook, the first one 39 d ago.
The address enables before swap returns delta. The hook is allowed to take; the next two checks measure whether it does.
One direction works and the other is refused (PartialFill). You may be able to buy and not sell.
Liquidity added and removed in the same block came back whole.
A fixed fee of 0%, written in the pool key.
No owner and no admin functions found.
Not a proxy, no DELEGATECALL, no SELFDESTRUCT.
Each callback refused a call that did not come from the PoolManager.
12 pools over 39 days.
Measured at block 93,033,889. A hook with an owner or a dynamic fee can behave differently later; scan again before a large trade.
A v4 hook's permissions are the last fourteen bits of its address. The PoolManager calls only what they switch on.
A small swap each way and a liquidity round trip, run through the PoolManager and this hook inside a call that is never sent. The pool fee is expected; anything else missing is the hook.
pool 0xcd6320d62898462a043f89cb7cf85aeaa2ee69e16d7b5cdc447bfec418451841
pool 0xa5820c75582d0e7396f47eab883d3a092ded369f362ab9be44d8b1aab2d4127a
Selectors found in the dispatcher, named from the public signature database. Red ones are what an owner usually keeps for itself.