* WIP: initial work
* wupwup
* WIP: experiments
* Move topology provider and requests to own crate
* Make sure we use the new crate everywhere
* Sort Cargo.toml
* Extract out some functions in geo_aware_provider
* rustfmt
* Add CountryGroup type
* Assign unknown as well
* wipwip
* Add command line flag to socks5-client
* Use geo-aware mixnode selection in nym-connect when in medium mode
* rustfmt
* clippy
* Fix nym-connect build
* wasm fix
* Spelling
* added a global flag to disable the printed out banner inside tty
* added a 'build-info' command to our binaries
* added binary name to BinaryBuildInformation
* clippy
* wip client core
* hashing shared key in persisted details
* native client using on-disk gateway details
* ibid for socks5
* ibid for NR
* nym sdk
* non-wasm fixes
* wasm
* missed cargo fmt
* fixed nym-connect build
* changed serialization of the key hash to be more human readable
* allowing some dead code
* fixed gateway details deserializtion
* removed needless borrow in wasm client
* removed deadcode
* exhaustive match on GatewaySetup after having loaded the keys
* initial crate
* foomp
* Make it work for x86_64-linux-android
* remove unused stuff
* Add header
* another layer of hacks
* additional target os locking
* cleanup
* bootstrap android app
* android jni function
* instructions + xcode project
* update jni name
* add native socks5 class
* typo
* gitkeep android native lib path
* add native socks5 class
* add socks5 native lib in java
* add build script
* fix jni dependency declaration
* wip
* Update build.sh
* Move build.sh to new subdir
* rename to build-android.sh
* fix typo in FFI function name
* use a good SP
* wip not crashing state
* add android network permissions
* android_logging
* starting client on button in swift + safer ffi
* set tag for libnyms5 logs
* testing callbacks
* android: start socks5 process in a separated thread
* non-blocking client with callbacks
* Remove the old non-working logger
* Restore commented out functionality in socks5 client
* basic file write/load + possible android fix
* Fully working state (minus task manager)
* Remove unused function
* data persistence + cb with address
* Remove stray old MyClass file from the merge
* Make storage_dir and Option
* Fix char_p for android
* Android now works with the new branch
* Tidy up a little in the jni code
* Move android mod to seperate file
* jni wrap start/stop
* Add android build to Makefile
* android: add basic UI and start/stop actions
* typo
* add nym word
* dirty persistence restored
* dirty android fixes
* even dirtier workaround
* Move rust crate to sdk/lib
* Update cargo.toml
* Strip release binary
* Update lib name in android project
* Move ios project to nym-connect directory
* remove old gitignore file
* Move ios client one step deeper
* fixed xcode lib paths
* removed old tracked file
* move android app under new path
* a bit of cleanup
* hopefully fixing the CI issues (🤞)
* Update Makefile
* android: add better support for persistent state
* updating ios UI on ffi callbacks
* missing dead code
* Added toggle button (wip)
* swapped connect and disconnect methods around
* icon
* fixed android build
* reset button + reuse service provider
* disabling reset button
* android: run proxy in a worker as foreground service
* todo user cancel action
* android build script: add aarch64
* add stop action from notification
* add simple callbacks to the socks5 bridge
* pick a sp randomly
* pass stop cb to lib call
* add loading state support
* refactor(android): base connection state on callback calls
* android: add optimistic ui
* android: unique instance of libnym
* removing deadcode
---------
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Co-authored-by: pierre <dommerc.pierre@gmail.com>
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
* wip
* semi-hacky way of persisting wasm-client gateway config
a better way shall be introduced after config refactoring
* cargo fmt
* wasm client clippy
* removed artifacts from other branches
* Reduce logging of warnings associated with Poisson process throttling
* More granularity when logging about slow gateway
* Refine logging of elevated delay multiplier
* clippy
* Tweak output when printing address
* rustfmt
* Fix initial delay
* Replace expect with error
* Move PersistentStorage in separate file
* Add in-memory cred manager
* Make wasm and mobile build
* Unify wasm and mobile cred storage
* Network defaults has mainnet default
* Add network_details to SDK
* Move BandwidthController in its own crate
* Move out credential into lib crate
* Remove nyxd arg in credential binary
* Use acquire cred in sdk
* Add example file, in sandbox
* Mobile lock file
* Update changelog
* Clearer builder methods and more documentation for them
* Sign only amount, without denom
* Toggle credentials mode on when enabled
* Use full socks5 config when setting client config
Also move socks5 setup sleep inside the sdk function
* SDK Socks5 Mixnet Client
* Remove NymClientConfig from sdk
* Update changelog
* Remove pub modifier
* Replace sleep with waiting on the control channel
* Add error on simple connect if socks5 configured
* Move client-core to common dir
* Factor out socks5-client in its own crate
* Possible sdk-socks5 integration
* Update changelog
* Remove socks5 client lib
* Rename crate to include nym- prefix
* Trim the socks5 wrapped message so that it's printable
* Fix intellij auto refactoring
* Post merge fixes
* renamed secp265k1 to secp256k1
* added optional 'explicit_signer_data' argument for sign method
* wip
* made client signer generic
which required to undertake an adventure into coconut bandwidth trait bounds...
* separate wrapper for TxSigner
* moves signing-related features to separate module
* fixed build of binaries from outside default workspace
* offline signing example
* fixed wallet build
* post rebasing formatting
* fixed bity integration build
* making clippy happier
* fixed post-rebase bip39 dependency version
* ability to specify custom TopologyProvider in TopologyRefresher
* topology provider builder method for base client
* ability to take manual control over topology
* wasm fixes
* added topology injection to nym-sdk API
* added examples to nym-sdk and exposed additional helper methods
* wip
* new option to select gateways based on latency
* further changes for wasm-compatibility
* post rebase fixes + clippy
I know, I should have probably included them properly during rebasing ¯\_(ツ)_/¯
* android change
* wasm: the gift that keeps on giving
* Rename to nym-task
* Update imports to use nym_task
* Update to nym_task in explicit module prefix
* Touchups and rustfmt
* rustfmt
* crate metadata
* fix nym-connect-android
* network-requester: replace websocket with mixnet client
* network-requester: mini tidy
* network-requester: add info line about own address
* network-requester: update to nym-crypto rename
* feat(nc-android): fit the design to mobile
* refactor(nc-android): resync with nc desktop
* fix(nc-android): tauri version
* refactor(nc-android): resync with nc desktop (rust)
* chore(nc-android): format code
* chore(nc-android): bump version
* added additional workspace-wide dependencies
* Added conditional serialization on 'BinaryBuildInformationOwned'
* initial framework for service provider messages
* updated request/response tags to account for existing variants of Socks5Message
* handling legacy deserialization
* another serialization revamp to account for legacy version
* legacy client working with versioned network requester
* socks5 client deserializing responses into updated structures
* using new structures for sending in socks5 client
* SendRequest wrapper for Request::Send variant
* created named fields for all variants of 'ControllerCommand'
* Versioning socks5 requests + moving to proper Socks5Request struct
* Updated backwards compatible Socks5Response
* unused imports
* poc ServiceProvider trait
* wip
* implemented 'ServiceProvider' trait on the Network Requester
* Socks5RequestError
* added properly serialized ErrorResponse to ControlResponse
* fixed version serialization + feature selection
* handling of version control requests
* improved SocksProxyError by providing more concrete variants and removing generic case
* got rid of ServiceProviderClient trait and wrote simple example showing control requests
* tests for serialisation backwards compatibility
* post-merge fixes due to method renaming
* enum boxing to make clippy happier
* making sure to not drop buffer channel when starting `DirectClient`
* Using nym-sdk in the example
* Replaced printing version to stdout with proper log call