We use the same proto message types everywhere for these kinds
of fields:
- absolute amounts (sats): uint64
- fee rates (sat/kWU): uint64
- fee rates (ppm): uint32
- blocks (absolute and relative): uint32
Additionally we unify the comments and remove the [ json_name = "" ]
declarations in the trader proto as they aren't needed with the
jsonpb marshaller that we use.
Then we align the naming of the account key to be called trader key
everywhere instead of user's sub key.
Traders are now able to close their accounts, whether or not they have
already expired, to arbitrary outputs or to a wallet output by default.
If an account hasn't expired, then the auctioneer's signature of the
closing transaction is required to successfully close the account.
Now that we have the ability to create new accounts, it is also useful
to expose them over the RPC interface to provide digestible account
information to users.
The auctioneer.Client to satisfy the account.Auctioneer dependency
required by the account.Manager. It provides wrappers around the
server-related RPCs with better type usage.
In this commit, we add a persistent store backed by bolt for the client
portion of CLM in which we'll store critical information required for
its proper operation.