> For the complete documentation index, see [llms.txt](https://docs.dragonswap.app/dragonswap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dragonswap.app/dragonswap/resources/developer-resources/smart-contracts/dragonswapv2/periphery/libraries/callbackvalidation.md).

# CallbackValidation

Provides validation for callbacks from DragonswapV2 Pools

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

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

```solidity
  function verifyCallback(
    address factory,
    address tokenA,
    address tokenB,
    uint24 fee
  ) internal returns (contract IDragonswapV2Pool pool)
```

Returns the address of a valid DragonswapV2 Pool

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

| Name      | Type    | Description                                                                       |
| --------- | ------- | --------------------------------------------------------------------------------- |
| `factory` | address | The contract address of the DragonswapV2 factory                                  |
| `tokenA`  | address | The contract address of either token0 or token1                                   |
| `tokenB`  | address | The contract address of the other token                                           |
| `fee`     | uint24  | The fee collected upon every swap in the pool, denominated in hundredths of a bip |

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

| Name   | Type              | Description                  |
| ------ | ----------------- | ---------------------------- |
| `pool` | IDragonswapV2Pool | The V2 pool contract address |

#### verifyCallback[​](https://docs.uniswap.org/contracts/v3/reference/periphery/libraries/CallbackValidation#verifycallback-1) <a href="#verifycallback-1" id="verifycallback-1"></a>

```solidity
  function verifyCallback(
    address factory,
    struct PoolAddress.PoolKey poolKey
  ) internal returns (contract IDragonswapV2Pool pool)
```

Returns the address of a valid DragonswapV2 Pool

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

| Name      | Type                       | Description                                     |
| --------- | -------------------------- | ----------------------------------------------- |
| `factory` | address                    | The contract address of the DragonswapV2factory |
| `poolKey` | struct PoolAddress.PoolKey | The identifying key of the V2 pool              |

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

| Name   | Type              | Description                  |
| ------ | ----------------- | ---------------------------- |
| `pool` | IDragonswapV2Pool | The V2 pool contract address |
