PoolManager
0xcf491b341b67e3b8b131c25d9302ce85f77482a4 on HyperEVM ↗
This contract runs the same code as 0x5c54…37da, which is verified. Source and ABI below are from there.
contract
PoolManager
compiler
v0.8.26+commit.8a97fa7a
optimizer
on, 44,444,444 runs · via IR
evm version
cancun
license
BUSL-1.1
match
full: bytecode and metadata hash equal
verified
2026-10-30 23:10:48 UTC
constructor arguments
initialOwner address0x9531…6330
interface
functions (33)
allowance(address owner, address spender, uint256 id)returns (uint256)view
approve(address spender, uint256 id, uint256 amount)returns (bool)
balanceOf(address owner, uint256 id)returns (uint256)view
burn(address from, uint256 id, uint256 amount)
clear(address currency, uint256 amount)
collectProtocolFees(address recipient, address currency, uint256 amount)returns (uint256)
donate(tuple key, uint256 amount0, uint256 amount1, bytes hookData)returns (int256)
extsload(bytes32 slot)returns (bytes32)view
extsload(bytes32 startSlot, uint256 nSlots)returns (bytes32[])view
extsload(bytes32[] slots)returns (bytes32[])view
exttload(bytes32[] slots)returns (bytes32[])view
exttload(bytes32 slot)returns (bytes32)view
initialize(tuple key, uint160 sqrtPriceX96)returns (int24)
isOperator(address owner, address operator)returns (bool)view
mint(address to, uint256 id, uint256 amount)
modifyLiquidity(tuple key, tuple params, bytes hookData)returns (int256, int256)
owner()returns (address)view
protocolFeeController()returns (address)view
protocolFeesAccrued(address currency)returns (uint256)view
setOperator(address operator, bool approved)returns (bool)
setProtocolFee(tuple key, uint24 newProtocolFee)
setProtocolFeeController(address controller)
settle()returns (uint256)payable
settleFor(address recipient)returns (uint256)payable
supportsInterface(bytes4 interfaceId)returns (bool)view
swap(tuple key, tuple params, bytes hookData)returns (int256)
sync(address currency)
take(address currency, address to, uint256 amount)
transfer(address receiver, uint256 id, uint256 amount)returns (bool)
transferFrom(address sender, address receiver, uint256 id, uint256 amount)returns (bool)
transferOwnership(address newOwner)
unlock(bytes data)returns (bytes)
updateDynamicLPFee(tuple key, uint24 newDynamicLPFee)
events (10)
Approval(address indexed owner, address indexed spender, uint256 indexed id, uint256 amount)
Donate(bytes32 indexed id, address indexed sender, uint256 amount0, uint256 amount1)
Initialize(bytes32 indexed id, address indexed currency0, address indexed currency1, uint24 fee, int24 tickSpacing, address hooks, uint160 sqrtPriceX96, int24 tick)
ModifyLiquidity(bytes32 indexed id, address indexed sender, int24 tickLower, int24 tickUpper, int256 liquidityDelta, bytes32 salt)
OperatorSet(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred(address indexed user, address indexed newOwner)
ProtocolFeeControllerUpdated(address indexed protocolFeeController)
ProtocolFeeUpdated(bytes32 indexed id, uint24 protocolFee)
Swap(bytes32 indexed id, address indexed sender, int128 amount0, int128 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick, uint24 fee)
Transfer(address caller, address indexed from, address indexed to, uint256 indexed id, uint256 amount)
errors (15)
AlreadyUnlocked()
CurrenciesOutOfOrderOrEqual(address currency0, address currency1)
CurrencyNotSettled()
DelegateCallNotAllowed()
InvalidCaller()
ManagerLocked()
MustClearExactPositiveDelta()
NonzeroNativeValue()
PoolNotInitialized()
ProtocolFeeCurrencySynced()
ProtocolFeeTooLarge(uint24 fee)
SwapAmountCannotBeZero()
TickSpacingTooLarge(int24 tickSpacing)
TickSpacingTooSmall(int24 tickSpacing)
UnauthorizedDynamicLPFeeUpdate()
other (1)
constructor(address initialOwner)