> 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 |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dragonswap.app/dragonswap/resources/developer-resources/smart-contracts/dragonswapv2/periphery/libraries/callbackvalidation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
