# PoolAddress

### Functions[​](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#functions) <a href="#functions" id="functions"></a>

#### getPoolKey[​](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#getpoolkey) <a href="#getpoolkey" id="getpoolkey"></a>

```solidity
  function getPoolKey(
    address tokenA,
    address tokenB,
    uint24 fee
  ) internal returns (struct PoolAddress.PoolKey)
```

Returns PoolKey: the ordered tokens with the matched fee levels

**Parameters:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#parameters)

| Name     | Type    | Description                          |
| -------- | ------- | ------------------------------------ |
| `tokenA` | address | The first token of a pool, unsorted  |
| `tokenB` | address | The second token of a pool, unsorted |
| `fee`    | uint24  | The fee level of the pool            |

**Return Values:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#return-values)

| Name      | Type                | Description                                                 |
| --------- | ------------------- | ----------------------------------------------------------- |
| `Poolkey` | PoolAddress.PoolKey | The pool details with ordered token0 and token1 assignments |

#### computeAddress[​](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#computeaddress) <a href="#computeaddress" id="computeaddress"></a>

```solidity
  function computeAddress(
    address factory,
    struct PoolAddress.PoolKey key
  ) internal returns (address pool)
```

Deterministically computes the pool address given the factory and PoolKey

**Parameters:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#parameters-1)

| Name      | Type                       | Description                                |
| --------- | -------------------------- | ------------------------------------------ |
| `factory` | address                    | The Bonsaiswap V3 factory contract address |
| `key`     | struct PoolAddress.PoolKey | The PoolKey                                |

**Return Values:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/PoolAddress#return-values-1)

| Name   | Type    | Description                         |
| ------ | ------- | ----------------------------------- |
| `pool` | address | The contract address of the V3 pool |
