Skip to Content

PoolId

type PoolId is bytes32;

The PoolId is a unique identifier for a pool. It is a 32-byte hash of the PoolKey. You can compute the PoolId from the pool key using the PoolIdLibrary library function toId.

/// @notice Library for computing the ID of a pool library PoolIdLibrary { /// @notice Returns value equal to keccak256(abi.encode(poolKey)) function toId(PoolKey memory poolKey) internal pure returns (PoolId poolId) { assembly ("memory-safe") { // 0xa0 represents the total size of the poolKey struct (5 slots of 32 bytes) poolId := keccak256(poolKey, 0xa0) } } }

Example:

using PoolIdLibrary for PoolKey; PoolKey memory poolKey = PoolKey({ currency0: Currency.wrap(someAddress0), currency1: Currency.wrap(someAddress1), fee: someFee, tickSpacing: someTickSpacing, hooks: someHookContractAddress }); PoolId poolId = poolKey.toId(); // This will be a 32-byte hash of the pool key
Last updated on