# migratePositions()

### Function migratePositions()

{% code title="LiquidityProtection.sol" %}

```javascript
function migratePositions(PositionList[] calldata positionLists) external

struct PositionList {
        IDSToken poolToken; // pool token address
        IReserveToken reserveToken; // reserve token address
        uint256[] positionIds; // position ids
    }
```

{% endcode %}

This function migrates **Bancor v2.1** pool tokens to Bancor v3. Use this function for whitelisted pools on the Bancor network.&#x20;

### Function Arguments

| Name         | Type          | Description                               |
| ------------ | ------------- | ----------------------------------------- |
| poolToken    | IDSToken      | The token being migrated from Bancor v2.1 |
| reserveToken | IReserveToken | The token being reserved on Bancor v3     |
| positionIds  | uint256       | Identify which token is at which position |


---

# 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://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-bancor-positions-to-v3/migratepositions.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.
