ETH / TENSORA
fee 4%- Swap ETH → TENSORAnothing taken
- Swap TENSORA → ETHnothing taken
- Add, then remove liquiditydeposit refused: NotLocker
pool 0x67828f7df214c658b6a1b6dc7346ccfdde41f561c55f5bb1ae2185d44edbff5c
Reading the hook.
The address, the bytecode, then a swap each way through its pool. A few seconds.
16 pools use this hook, the first one 25 d ago.
The address enables before remove liquidity. The hook is allowed to take; the next two checks measure whether it does.
A swap through it pays the pool fee and nothing else.
Closed to outside LPs: only the hook's own liquidity is in the pool.
A fixed fee, but a high one: 4%.
No owner() but it has setLocker, setFactory, setSwapsPaused.
Not a proxy, no DELEGATECALL, no SELFDESTRUCT.
Each callback refused a call that did not come from the PoolManager.
16 pools over 25 days.
Measured at block 93,035,102. 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 0x67828f7df214c658b6a1b6dc7346ccfdde41f561c55f5bb1ae2185d44edbff5c
pool 0x944e11234e03b7a8e0eb7ba078abe6e558bdf22260744c9b0b54757753e0aa66
Selectors found in the dispatcher, named from the public signature database. Red ones are what an owner usually keeps for itself.