{ "abi": [
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "tokenId",
				"type": "uint256"
			}
		],
		"name": "burn",
		"outputs": [],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"components": [
					{
						"internalType": "uint256",
						"name": "tokenId",
						"type": "uint256"
					},
					{
						"internalType": "address",
						"name": "recipient",
						"type": "address"
					},
					{
						"internalType": "uint128",
						"name": "amount0Max",
						"type": "uint128"
					},
					{
						"internalType": "uint128",
						"name": "amount1Max",
						"type": "uint128"
					}
				],
				"internalType": "struct IVelodromeNonfungiblePositionManager.CollectParams",
				"name": "params",
				"type": "tuple"
			}
		],
		"name": "collect",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "amount0",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "amount1",
				"type": "uint256"
			}
		],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"components": [
					{
						"internalType": "uint256",
						"name": "tokenId",
						"type": "uint256"
					},
					{
						"internalType": "uint128",
						"name": "liquidity",
						"type": "uint128"
					},
					{
						"internalType": "uint256",
						"name": "amount0Min",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount1Min",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "deadline",
						"type": "uint256"
					}
				],
				"internalType": "struct IVelodromeNonfungiblePositionManager.DecreaseLiquidityParams",
				"name": "params",
				"type": "tuple"
			}
		],
		"name": "decreaseLiquidity",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "amount0",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "amount1",
				"type": "uint256"
			}
		],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [],
		"name": "factory",
		"outputs": [
			{
				"internalType": "address",
				"name": "",
				"type": "address"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"components": [
					{
						"internalType": "uint256",
						"name": "tokenId",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount0Desired",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount1Desired",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount0Min",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount1Min",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "deadline",
						"type": "uint256"
					}
				],
				"internalType": "struct IVelodromeNonfungiblePositionManager.IncreaseLiquidityParams",
				"name": "params",
				"type": "tuple"
			}
		],
		"name": "increaseLiquidity",
		"outputs": [
			{
				"internalType": "uint128",
				"name": "liquidity",
				"type": "uint128"
			},
			{
				"internalType": "uint256",
				"name": "amount0",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "amount1",
				"type": "uint256"
			}
		],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"components": [
					{
						"internalType": "address",
						"name": "token0",
						"type": "address"
					},
					{
						"internalType": "address",
						"name": "token1",
						"type": "address"
					},
					{
						"internalType": "int24",
						"name": "tickSpacing",
						"type": "int24"
					},
					{
						"internalType": "int24",
						"name": "tickLower",
						"type": "int24"
					},
					{
						"internalType": "int24",
						"name": "tickUpper",
						"type": "int24"
					},
					{
						"internalType": "uint256",
						"name": "amount0Desired",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount1Desired",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount0Min",
						"type": "uint256"
					},
					{
						"internalType": "uint256",
						"name": "amount1Min",
						"type": "uint256"
					},
					{
						"internalType": "address",
						"name": "recipient",
						"type": "address"
					},
					{
						"internalType": "uint256",
						"name": "deadline",
						"type": "uint256"
					},
					{
						"internalType": "uint160",
						"name": "sqrtPriceX96",
						"type": "uint160"
					}
				],
				"internalType": "struct IVelodromeNonfungiblePositionManager.MintParams",
				"name": "params",
				"type": "tuple"
			}
		],
		"name": "mint",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "tokenId",
				"type": "uint256"
			},
			{
				"internalType": "uint128",
				"name": "liquidity",
				"type": "uint128"
			},
			{
				"internalType": "uint256",
				"name": "amount0",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "amount1",
				"type": "uint256"
			}
		],
		"stateMutability": "payable",
		"type": "function"
	},
	{
		"inputs": [],
		"name": "owner",
		"outputs": [
			{
				"internalType": "address",
				"name": "",
				"type": "address"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "tokenId",
				"type": "uint256"
			}
		],
		"name": "positions",
		"outputs": [
			{
				"internalType": "uint96",
				"name": "nonce",
				"type": "uint96"
			},
			{
				"internalType": "address",
				"name": "operator",
				"type": "address"
			},
			{
				"internalType": "address",
				"name": "token0",
				"type": "address"
			},
			{
				"internalType": "address",
				"name": "token1",
				"type": "address"
			},
			{
				"internalType": "int24",
				"name": "tickSpacing",
				"type": "int24"
			},
			{
				"internalType": "int24",
				"name": "tickLower",
				"type": "int24"
			},
			{
				"internalType": "int24",
				"name": "tickUpper",
				"type": "int24"
			},
			{
				"internalType": "uint128",
				"name": "liquidity",
				"type": "uint128"
			},
			{
				"internalType": "uint256",
				"name": "feeGrowthInside0LastX128",
				"type": "uint256"
			},
			{
				"internalType": "uint256",
				"name": "feeGrowthInside1LastX128",
				"type": "uint256"
			},
			{
				"internalType": "uint128",
				"name": "tokensOwed0",
				"type": "uint128"
			},
			{
				"internalType": "uint128",
				"name": "tokensOwed1",
				"type": "uint128"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_owner",
				"type": "address"
			}
		],
		"name": "setOwner",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "address",
				"name": "_tokenDescriptor",
				"type": "address"
			}
		],
		"name": "setTokenDescriptor",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	},
	{
		"inputs": [],
		"name": "tokenDescriptor",
		"outputs": [
			{
				"internalType": "address",
				"name": "",
				"type": "address"
			}
		],
		"stateMutability": "view",
		"type": "function"
	}
]}