> For the complete documentation index, see [llms.txt](https://docs.uncx.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uncx.network/guides/for-developers/liquidity-lockers/lockers-v3/technical-reference/nft-migrator-v3.md).

# NFT Migrator V3

## Functions Write <a href="#functions-write" id="functions-write"></a>

### Migrate <a href="#migrate" id="migrate"></a>

```
function migrate (    uint256 _lockId,     INonfungiblePositionManager _nftPositionManager,     uint256 _tokenId)     external returns (bool)
```

Enables migration of liqudity from Uniswap Locker V2 into Locker V3.

Parameters:

| Name                 | Type                        | Description                                                                            |
| -------------------- | --------------------------- | -------------------------------------------------------------------------------------- |
| \_lockId             | uint256                     | ID of the lock to be migrated from the older contract.                                 |
| \_nftPositionManager | INonfungiblePositionManager | The position manager for the NFT.                                                      |
| \_tokenId            | uint256                     | ID of the NFT token to be transferred and then approved for the new reserves contract. |

Return Values:

| Type | Description                                                          |
| ---- | -------------------------------------------------------------------- |
| bool | Returns `true` once the migration process is successfully completed. |

## Functions Wiew <a href="#functions-wiew" id="functions-wiew"></a>

### OnERC721Received <a href="#onerc721received" id="onerc721received"></a>

Parameters:

| Name     | Type    | Description                                                                                 |
| -------- | ------- | ------------------------------------------------------------------------------------------- |
| operator | address | Address initiating the transfer or creation. This could be an external or contract address. |
| from     | address | Address from which the token was sent.                                                      |
| tokenId  | uint256 | Unique identifier for the token being transferred.                                          |
| data     | bytes   | Additional data accompanying the transfer or minting call.                                  |

Return Values:

| Type   | Description                                                                                 |
| ------ | ------------------------------------------------------------------------------------------- |
| bytes4 | Function selector for the `onERC721Received` function, confirming successful token receipt. |
