·Remove POD_CLASS macro and pointless pack pragmas POD_CLASS is always just 'struct'.The pack pragmas here do nothing because every type defined inside them only has char array members which are already guaranteed by C++ alignment rules to have byte alignment. ·DRY transaction fetching wallet2 does nearly identical tx fetching in several places; We DRYs out the code a bit
·Refactor get_transfers hoist down to wallet2 and use it in simplewallet and wallet_rpc ·Simplify serialization code and drop unsupported versions judecoin started life with transfer details serialization version 12, so we can drop the stuff to handle earlier versions. Also this code structure that repeats a call to 'initialize_transfer_details' 100 times is gross,so fix it. ·The specific parameters of POS will be gradually disclosed in the coming weeks.
Remove redundant RPC invocation arguments Replace 'invoke_http_{bin,json,json_rpc}' with a 'invoke_http<T>', where T is the RPC type from which we can figure out binary or JSON or JSON RPC or light wallet RPC, and thus figure out the URL.Also remove superfluous arguments: neither timeout or http_method arguments ever actually differ, so just eliminate them.