* Squashing all the changes
initial router
started expanding the API
initial empty openapi/swagger
populated build-info endpoint
wip: populating rest of swagger
missing swagger data + using closure capture for immutable state
running the api as a proper task in gateway 'run'
fixing some version/feature clashes
refactored routes structures
initial host information endpoint
expanded on gateway-related endpoints
signing host information
moved all models to separate crate
unified http api client
routes unification + node api client
new generic cache and refresher
nym-api caching node self described information
removed old cache type
temporarily wired up NymContractCache to NodeDescriptionProvider
caching self reported host info
clients using self-described gateway information
fixed request timeouts for wasm
fixed wasm builds
post rebase fixes
cargo fmt
brought in wg routes into nym-node router
added ErrorResponse for wireguard routes
basic swagger support for wg endpoints
turns out swagger can be happy with strongly typed requests
output type support for wg routes
using concrete error type for nym node request error
fixed the registration test
landing page configurability
increased configurability
fixed build and lints of other crates
added default user-agent to http-api-client
reduced severity of gateway details lookup failure
changed default http port from 80 to 8080
nym-api using new default port for queries
added health endpoint
nym-api trying multiple ports for the client
using camelcase for node status
corrected health endpoint description
restored and revamped 'force_tls' flag to filter all gateways that support the wss protocol
fixed 'pub_key' path param in open api schema
derived Debug on 'NymNodeDescription'
ensuring valid public ips
added init and run flags to set hostname and public ips
fixed listening address being pushed to public ip
fixed the positional local flag
logging remote ip address of the request
updated helper function to query for described gateways
enabled tls in gateway client
removed hack-opts from mix fetch
additional changes after rebasing against origin/develop
* clippy
* wasm-related target locking
* more clippy, but this time in tests
* always using port 443 for tls gateway connection
* bumping up rc version
* hack: additional hardcoded gateways
it disables topology refresh
* Add NPM packages to tool for bumping versions
* Bump RC versions of SDK packages
* Use manual gateway details
* Add progress to `publish.sh` script
* Add docs for WSS workaround
---------
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
* Squashing commits
added forceTls argument to 'MixFetchOptsSimple'
made forceTls flag optional in mix fetch opts
whacking those moles
* GitHub Actions: install node
---------
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
* changed NymConfigTemplate trait to call 'template' by reference
* network requester lib
* introduced generic parameter to 'MixTrafficController' to allow non-remote gateways
* allowing for custom gateway sender
* types cleanup
* minor gateway cmds refactor + initial NR work
* wip
* running a NR inside gateway
note: this NR isnt tied to the gateway yet
* rebase fixes
* propagating same shutdown handle
* wip
* starting NR with appropriate local transceiver
* fixed premature shutdown
* wiring up PacketRouter
* both ends wired together
* actually working
so much cleanup to do now
* started removing dead code
* wip
* temp: hardcode gateway
* further cleanup
* fixed build of other binaries
* setup-network-requester subcmd
* overriding NR config in gateway init/run
* wip making it wasm-compatible [again]
* refactored 'GatewaySetup'
* clippy and friends
* removed debug code
* rust 1.72 lints
* ensuring local gateway is available + some comments
* correctly putting network requester data in the same underlying details struct
* improved gateway errors
* changed 'network_requester_config' deserialization
* missing clap annotation for 'enabled' flag in 'setup-network-requester' command
* saving config file after 'setup-network-requester'
* removed dead code
* review comments
* make embedded NR wait for gateway to come online (for at most 70min)
* fixed shutdown on successful gateway wait
* updated NR config override
* wip
* post-cherry pick fixes
* wip
* wip
* using sqlite-based indexeddb shim
* running nymClient in worker thread
* improved received handling
* building node mix-fetch
* fixed mix fetch request constructor if args[1] == undefined
* fixed build target
* nodejs origin bypass
* mix fetch in node
but I dont think anyone should use it over normal client...
* target locking
* fixed post-rebasing issues
* wasm-compatible reqwest-based rpc client
* better constructors for the reqwest based client
* fixed usages of the client
* introduced /network/details endpoint to nym-api to return used network information (#3758)
* introduced /network/details endpoint to nym-api to return used network information
* introduced endpoints for nym contract information
* 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
* Don't fully turn off background task when cover traffic is disabled
* Leave no_cover function alone
* Add methods on config struct instead of explicitly setting options
* Add medium toggle to network-requester run command
* clippy
* rustfmt
* Unused
* 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
* create_payload and call from nym-cli
* Remove some commented out code
* wip
* Service announce now compiles
* Fix other compilation issues
* Move ServiceDetails into Service
* Move service_id inside Service type
* wip: start sorting out tests
* wip: sorting out testing
* wip: first announce test now works
* wip: more work on announce test
* Move nonce
* Add check for nonce
* Extract out some helpers to separate files
* reenable state::services tests
* wip: start going through the integration tests
* All integration tests reenabled
* Remove some unused stuff
* Iterate on integration tests
* More iteration on test setup
* Rename to test_setup.rs
* Add more tests specific to signing
* Tweak
* Another nonce test and reorg
* Rename to announce.rs and delete.rs
* Tidy
* Make some inner modules private
* Use IdentityKey alias
* Update nym-api contract cache
* Fix that nym-cli was asking for signing nonce from wrong contract
* Add sign comment to network-requester
* Uploaded updated service provider contract to qwerty
* Allow large enum variant
* lock files
* Remove dbg
* Move error.rs to service-provider common
* Update code for moving errors.rs to common crate
* Rename to SpContractError
* constants module not pub
* lock file
* rustfmt
* Move IdentityKey type to contract-common
* clippy