Senegalese international Iliman Ndiaye has signed a contract with Manchester City that runs through 2031.