# IntegrationRegistry

The IntegrationRegistry holds state relating to the Modules and the integrations they are connected with. The state is combined into a single Registry to allow governance updates to be aggregated to one contract.

The current adapters registered in the IntegrationRegistry are:

| Integration Name                    | Module      | Description                                                               |
| ----------------------------------- | ----------- | ------------------------------------------------------------------------- |
| "ZeroExApiAdapterV5"                | TradeModule | Trade adapter that returns data for 0x trades                             |
| "UniswapV3ExchangeAdapter"          | TradeModule | Exchange adapter for Uniswap V3 that returns data for trades              |
| "PancakeswapV2ExchangeAdapter"      | TradeModule | Exchange adapter for Pancakeswap V2 that returns data for trades          |
| "PancakeswapV3ExchangeAdapter"      | TradeModule | Exchange adapter for Pancakeswap V3 that returns data for trades          |
| "PancakeswapV3SmartExchangeAdapter" | TradeModule | Exchange adapter for returning optimised Pancakeswap V3 and V2 trade data |
| "VswapExchangeAdapter"              | TradeModule | Exchange adapter for V-swap that returns data for trade                   |

### Select View Methods <a href="#select-view-methods" id="select-view-methods"></a>

#### getIntegrationAdapter() <a href="#getintegrationadapter" id="getintegrationadapter"></a>

`function getIntegrationAdapter(address _module, string memory _name) external view returns (address)`Get integration adapter address associated with passed human readable name.

| Parameter Name | Type    | Description                 |
| -------------- | ------- | --------------------------- |
| \_module       | address | Address of module           |
| \_name         | string  | Human readable adapter name |

| Return Name        | Type    | Description        |
| ------------------ | ------- | ------------------ |
| integrationAdapter | address | Address of adapter |

#### isValidIntegration() <a href="#isvalidintegration" id="isvalidintegration"></a>

`function isValidIntegration(address _module, string memory _name) external view returns (bool)`Check if adapter name is valid

| Return Name        | Type | Description                 |
| ------------------ | ---- | --------------------------- |
| isValidIntegration | bool | Boolean indicating if valid |


---

# Agent Instructions: 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:

```
GET https://vingt-io.gitbook.io/vingt.io/technical-guide/visp-technical-foundation/contract-functions/integrationregistry.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
