Erling Haaland has signed a new contract at Manchester City that ties him to the Premier League champions until 2034.