RPC: add updatePriceTableRPC
Add the UpdatePriceTableRPC
to the host.
The goal for this RPC is to hand out copies of the host's RPC price table, which are linked to a unique identifier. These 'copies' or 'snapshots' are kept on the host, indexed by their UUID. The renter will communicate these UUIDs to the host when making an RPC call, thus identifying themselves and their version of the prices. This allows hosts to deny the RPC call if the renter's price table is out of date, but also allows the host to calculate the RPC cost and process payment.
This system is necessary because host's pricing can be highly dynamic. At the same time the renter needs a certain price guarantee period to avoid too much back and forth on payment negotiations. Using this system of UUIDs and price table snapshots, the renter is basically guaranteed prices for a certain amount of time. It is his responsibility to update these prices in due time.
Interface: func (h *Host) managedRPCUpdatePriceTable(stream siamux.Stream) error
For now:
- this RPC is not hooked up
- is covered by unit tests
- ignores payment