You don't have to sell players who want a new contract. It's called running down a contract.
He moved because he didn't get the new contract man! His agent is the same as Allardyce's, you're trying to tell me he didn't know what he had to fall back on at West Ham when he was in negotiations?