Changed `amount` base type to allow negative amounts.

Negative amounts are legit (i.e. credit card charges).