Updated

The Diamondbacks are close on a new contract for right fielder Justin Upton, according to major league sources.

The deal is believed to be for six years in the $50 million range.

Under those terms, the contract would cover all three of Upton's arbitration years and his first two free-agent years. He still would be eligible for free agency at 28.

Upton, at 22 considered one of the game's rising stars, batted .300 last season with 26 home runs, 86 RBIs and an .899 OPS.

The Diamondbacks also have been negotiating a long-term deal with third baseman Mark Reynolds. With no new deal, Upton would be eligible for arbitration after this season. Reynolds, 26, is in the same service class.