The Arizona Diamondbacks agreed to a $40 million, four-year contract with Martin Prado just a week after acquiring the former All-Star infielder in the trade that sent Justin Upton to Atlanta.Prado made the All-Star team as the Braves' second baseman in 2010 but is slated to play at third base for the Diamondbacks.The 29-year-old infielder, who will play for Venezuela in this year's World Baseball Classic, is a career .295 hitter.Arizona sent two-time All-Star Upton and third baseman Chris Johnson to the Braves for Prado, right-hander Randall Delgado and three minor leaguers.Prado said in a conference call on Thursday that the trade took him by surprise.But, after a week, he said, "Now I see everything more clear, and I'm happy to be aboard with the Arizona Diamondbacks."He will earn $7 million this season, then $11 million each of the following three years. He could have gone through arbitration and become a free agent after this season."Since I got to the big leagues I've been looking to be more secure," Prado said."To be in the right spot and not have to worry about going through free agency. The way I am right now, I'm happy. I'm going to play more relaxed. I think I needed it."Briefly Pirates: Second baseman Neil Walker and right-handed pitcher James McDonald agreed to contracts, avoiding arbitration. Terms were not disclosed. Reds: Outfielder Chris Heisey and right-hander Alfredo Simon avoided arbitration. Heisey will make $1,325,000 and Simon will earn $890,000.