* config: global instance
* fix: cli tests
* fix: owner api tests
* config: save tor config
* fix: owner rpc tests
* fix: set config file path on init and owner api call
* tor: store launched services, get global config at command loop, remove unused listen args, check for empty global config to set default, do not save empty tor config at owner
* api: update config in memory after successful file write
* arti: restart proxy in loop
* fix: comment for tor config save
* config: set or init, update without error
* config: scoped tor config
* build: update lock file
* config: ability to store multiple configurations at memory from config path
* tor: restart service on config change
* fix: owner api test
* foreign: pass tor config from args, stop service, error handling
* arti: move runtime wrapper to single file
* config: read existing config from file at create_config
* config: handle error on read
* arti: single dir for cache
* foreign: register config listener before launch
* config: save temp
* config: remove unused error type
* config: make path and members not optional, return an error on config creation if it exists, pass default tor config to send if not set
* arti: non public runtime wrapper
* config: migrate comments
* fix: rpc tests
* config: return from cache if exists
* config: save disabled tor config when null provided at owner and tor section was not set
* config: update tor with args at listener
* config: pass pathbuf directly on creation
* config: unique tmp file name, setting permissions and providing config version
* fix global config handling
* fix config persistence
* fix tor service restart
* fix config synchronization
* require wallet close before changing data directory
* unify global config updates
---------
Co-authored-by: wiesche <wiesche89@googlemail.com>
* updated util and libwallet with thiserror
* update impl crate to thiserror
* api crate converted to thiserror
* update of controller crate to thiserror
* update final bin + tests to thiserror
* update unused import
* remove failure derive
* reset import of grin to master
* update cargo lock
* update from master
* remove grin libs re-export from util crate :(
* temp local
* point code at bleeding edge grin master branch
* updated util and libwallet with thiserror
* update impl crate to thiserror
* api crate converted to thiserror
* update of controller crate to thiserror
* update final bin + tests to thiserror
* update unused import
* remove failure derive
* reset import of grin to master
* update cargo lock
* update from master
* Change versioning on master to 4.1.x development
* Remove SlateV3, V3 References from command-line code
* continue to remove pre HF3 functionality, remove participant_id from slate, remove is_compact, derive slate state based on slate state field
* slate no longer needs explicit compact step
* version/build coinbase doctest cleanup
* don't attempt to store transaction during tx lock if it doesn't exist
* repair incorrectly removed logic
* last test fixes (hopefully)
* debugging tor sends
* use fixed yeast version of hyper-socks2
* send command working according to slatepack
* changes to handling proof address
* modifications of recieve command to work with slatepack and to attempt to return to sender via TOR
* finalize command tested
* attempting to add invoice processing
* fixes to tests, propagation of test mode where needed
* modify return values of api functions that can send as sync
* cleanup, testing and post_tx function
* revert changes to API, many test fixes
* deprecate http on the command-line warning
* change all user-facing instances of addresses to a SlatepackAddress
* finish renaming get_slatepack_address + documentation
* get_slatepack_secret_key OwnerRPC implementation and test
* add owner api functions
* OwnerRPC functions + doctests
* add explicit slatepack API tests to exercise encryption
* update api function names to better reflect RFC
* addition of SlatepackAddress type
* complete conversion of ed25519 keys to x25519 and isolate conversion within libwallet
* refactor packing/unpacking of slates logic into libwallet and out of slate adapters
* println
* recreate PR from #400
* first tests with slate encryption
* simplify slatepack model to contain encryption header in payload, and add de/ser tests
* update tests and confirm slatepack encryption working
* remove recipient list, add version check warning