* create 2.0.0 branch
* V0/V1 Slate Removal + Grin Header Version Bump (#140)
* Remove V0 and V1 Slates from Wallet
* rustfmt
* V1 API + V2 wallet to wallet impl (#144)
* remove v1 API
* rustfmt
* convert http adapter to use V2 api
* rustfmt
* V2 API conversion Pt2 - Check version (#146)
* call check_version on wallet before http send
* rustfmt
* Support new Bulletproof rewind scheme (#122)
* Restore with LegacyProofBuilder
* Switch to ProofBuilder at HF block
* Switch proof builder for coinbase outputs at hard fork
* Use valid_header_version to switch proof builder
* Fix compilation errors
* Use legacy proof builder for AutomatedTesting chain type
* Add macro to avoid duplicate code
* Read version info from server, react accordingly (#154)
* read and parse version, bump hf
* rustfmt
* add foreign api middleware check
* rustfmt
* add middleware checks
* rustfmt
* add check for incoming pre-hf slates
* api tests
* Add double rewind period (#155)
* Add double rewind period
* Simplify restore
* Fix comment
* bump imported version for beta release
* version bump for next (potential) release
* Provide more specific error when other wallet is outdated (#162)
* add appropriate error message when other wallet is out of date
* rustfmt
* missing cargo.lock
* make slate v0 the default for regular sends
* add block_header_version to slate
* update doc tests for latest grin version
* rustfmt
* HACF if HF height detected
* rustfmt
* add issue_invoice_tx command
* rustfmt
* add first pass at process_invoice command
* start of process_invoice fn
* rustfmt
* rename issue invoice and process invoice to invoice and pay
* add prompting and display information to pay invoice command
* rustfmt
* support invoice transactions in finalize command
* rustfmt
* basic invoiced tx working
* rustfmt
* teardown
* rustfmt
* rename, new struct for invoice args, begin to add new functions to RPC apis
* rustfmt
* add fns to rpc api
* rustfmt
* owner api functions RPC documentation in place
* rustfmt
* doctests for new invoicing functions
* rustfmt
* test fixes
* update documentation and doctests
* rustfmt
* invoice testing verification of tx log output
* rustfmt
* move api deser types into separate types mod
* rustfmt
* missing types file
* make all exports from libwallet more explicit
* rustfmt
* add version check function to foreign api
* rustfmt
* change check_version return value to result, for consistency
* fix for command line listener port override
* reduce parameter query size
* Add slate versioning
* rustfmt
* bump version number
* Add tests for slate version conversion
* rustfmt
* Updates and test addition based on bdap's review
* rustfmt
* store receiver's output into the sender's database
* rustfmt
* payment output refresh
* fix the test code in libwallet
* rustfmt
* fix wallet_command_line test
* modify the warning message for self sending
* a bit of unit test according to review comments
* display unknown value for the case of multiple outputs on single receiver, normally it's not the case of this wallet implementation
* rustfmt
* fix merge missing parts
* rustfmt
* use PaymentCommitMapping struct instead of a tuple
* rustfmt
* fix the test
* fix the owner api rpc test