The erratic life of a struggling roofing contractor suspected of trying to shoot Donald Trump swerved from bounced checks to a gun felony conviction and a quixotic plan to help Ukraine fight Russia's invasion, before culminating in what appears to be a foiled assassination plot.

Ryan Routh, 58, was charged with two gun-related crimes in a federal court in Florida on Monday, a day after he was spotted with a rifle hiding in shrubbery on the property line of Trump's golf course.

More charges are expected.