add support for the client for locking into a given amount and participanting in coinjoins of arbitrary amounts.
make sure we use decimal arithmetic.