A former Russian MP who fled to Ukraine last year has been shot dead outside a hotel in the capital, Kiev.
Denis Voronenkov and his bodyguard were attacked as they left the Premier Palace hotel in the centre of the city, reports say.
The bodyguard fired back at the attacker and both were wounded, according to local media.
Mr Voronenkov was a controversial figure, who left Russia amid accusations of fraud.
Witnesses say they heard seven shots fired outside the hotel. The attack was most likely a contract killing, Kiev police chief Andriy Kryshchenko told 112 Ukrayina TV.
President Petro Poroshenko went further, accusing Russia of "state terrorism". He also linked the shooting to the series of explosions at a munitions dump near Kharkiv, in Ukraine's north-east, describing it as the "signature style of Russian special services"
Denis Voronenkov was elected as a Communist MP in 2011, married an MP from another party and backed a law limiting foreign ownership in Russian media.
But he left for Kiev late last year with his young son and wife, United Russia MP and opera singer Maria Maksakova.
Investigators were reportedly preparing a corruption case against him but were waiting for his parliamentary immunity to run out in December.
Russian opposition leader Alexei Navalny had also questioned how he had managed to build a fortune including two luxury flats on his salary.
In recent months Mr Voronenkov had given evidence to Kiev prosecutors in a high treason case against deposed Ukrainian President Viktor Yanukovych and had condemned Russia's annexation of Crimea as illegal.
Although he had earlier backed the annexation in a vote in 2014, he said later that he had not been present at the time of the vote and another MP had used his card.
Russian opposition activist Ilya Ponomarev said Mr Voronenkov had been on his way to meet him and he insisted he was not a criminal.
"I'm speechless," he said. "Voronenkov was no crook but an investigator who was deadly dangerous for the Russian siloviki [security services]."
The deputy head of Ukrainian police, Oleksandr Vakulenko, also suggested Russian involvement because the ex-MP had "important information". Chief prosecutor Yuri Lutsenko said he had provided "very important" testimony in the Yanukovych treason case.