PoolInitializationGuard
BasePoolInitializationGuard is a Uniswap v4 hook on Base. Runs at pool creation.
- Contract name
- PoolInitializationGuard
How this hook works
Pool guardA very small hook whose only job is to make sure pools with it can only be created by one launch platform’s factory. It doesn’t touch trades, fees or liquidity.
Only the factory can create pools
When someone tries to create a pool with this hook, it checks who is asking. Anyone except the launch platform’s factory is refused, so nobody can set up a fake copy of a project’s pool with it.
The code that does this (beforeInitialize):function beforeInitialize(address sender, PoolKey calldata, uint160) external view returns (bytes4) { if (msg.sender != address(poolManager) || sender != factory) revert NotFactoryInitialization(); return IHooks.beforeInitialize.selector; }Nothing else changes
It runs only once, when the pool is created. After that, trades, fees and liquidity work exactly like a normal Uniswap pool, and nobody can take a cut.
Who controls it: Nobody can change it: the factory is fixed when the hook is deployed and there are no admin settings. The code itself can’t be changed.
Based on the hook’s published code.
What it can do
It runs when a pool is created, often to lock in that pool’s settings.
Hook history
This hook has been quiet, so its past history hasn’t been read yet. New activity shows up here as it happens.
Counted from token transfers in and out of the hook. Its published code records no actions of its own. Still reading older history, so totals will grow.