* Clippy in wallet & sdk
* Clippy in wallet
* Pin rust to 1.86 in builder
* apply changes from b7da75a18c
* missing nym-node features
* Box all the things
* additional boxes in the wallet
* post rebasing clippy
---------
Co-authored-by: dynco-nym <173912580+dynco-nym@users.noreply.github.com>
* move SessionType into statsitcis common crate
* add RememberMe to clients config
* change stats collection logic to handle remember me
* set up sdk client to send remember me message
* bump NS API version
* introduced v2 authentication request between clients and gateways
* client to send v2 auth when possible
* added persistence to last used authentication timestamp
* added clients identity to signed plaintext
* Upgrade to thiserror 2.0
* Remove line macros in vesting contract error type
* Name positional arguments in GatewayRequestsError
* Named positional argument
* Revert "Remove line macros in vesting contract error type"
This reverts commit 49f937da3f.
* Use positional arguments for line
* add timestamp to stored client messages
* removed dead code
* starting node task to remove old messages
* added log for number of removed messages
* debug log on task finishing
* fixed bearer auth for prometheus route
* basic prometheus metrics
* added rates on global values
* improved structure on the prometheus metrics
* added additional metrics for ingress websockets and egress mixnet connections
* some channel business metrics
* fixed metrics registration and added additional variants
* added counter for number of disk persisted packets
* counter for pending egress packets
* counter for pending egress forward packets
* clippy
* removed mnemonic from gateway config struct
scaffolding for common mixnet listener
running verloc unconditionally in a nym-node
remove filtering by mixnode
extracted verloc to separate crate
integrated nym-node-http-server more tightly with the binary
most logic for handling forward packets
running all mixnode-related tasks natively inside nymnode
removed gateway storage trait in favour of the only concrete implementation
most logic for handling final hop packets
using nym-node owned socket listener for gateways
utility for sending plain message through mixnet + gateway fix
using common packet forwarding in both modes
nifying nym-node metrics
reproduce behaviour of the console logger
cleaned up cli args
redesigned gateway tasks startup procedure
removing dead code
scaffolding for old config v6
config migration
implemented MixnetMetricsCleaner
* clippy
* require entry/exit for wireguard
* removed dead code in migration code
* updated config template
* use custom user agent for verloc queries
* fixed premature shutdown of gateway tasks
* hidden nym-api flag to allow illegal node ips
* experiment: final hop handing with wireguard
* added additional startup logs
* typo
* fixed legacy stats endpoint data
* additional logs
* apply review comments
* fixed local testnet manager
* draft of client data collection
* refactor gateway stats collection to fit client stats collection in same common crate
* moved client stats event and reporter to common crate
* basic os reporting
* add stats reporting address in sdk
* integrate stats scaffolding changes
* remove tokio spawn to potentially accomodate wasm32
* fmt
* fix typo
* add client_stats_id
* unify stats reporting
* avoid shutdown handle drop
* add client_type to stats reporting
* better way to build statsReportingconfig
* disarm shutdown on sink
* remove sink reporter and env dev-dependency
* cherrypick from jon/send-packet-stats
* uncoditionally start controller + licensing
* improve ClientStatsReport serialization
* better time handling
* reintroduce proper local reporting
* Let task wait for shutdown when exiting
* Log tweak
---------
Co-authored-by: jmwample <jmwample@users.noreply.github.com>
Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com>
* add stats storage to gateways
* config fix
* add stats storage model and logic
* adapt stats collection to new storage
* stats cleanup on start
* change to linux only code
* tweaks
* modified stats cleanup + change session started
* change wrong table name
* store crashed session as 0 duration
* adapt for sqlx 0.7
* remove unused dependencies
* revert changes from gateway config, as it is broken anyway
* copyright and misc stuff
---------
Co-authored-by: Simon Wicky <simon@linode2-2.net>
* added explicit SP suffix to started tasks
* added 'GatewayTopologyProvider' that always injects itself into the network
* use the new topology provider to bypass described bootstrapping problem
* add session type based on ecash ticket collection
* avoid setting session type if already set
* change duration type to duration
* add a cap for finished sessions
* add stats model
* add stats collection
* add stats route
* propagate stuff and run stuff
* cargo stuff
* sqlx unused what?
* add sessions started stat
* session durations in miliseconds
* apply Jon's comments
* [Product Data] Second step in gateway usage data collection (#4964)
* turn stats collection into event based
* move events into a common crate for future use elsewhere
* apply Jon's comments
* Create credential verifier in authenticator
* Add new version of peer storage with client id
* Fix v1 to what it was before
* Compact storage into ecash verifier
* Fix non-linux build
* Less overlapping conditions
* Remove moved code
* Use handler thread for each peer
* Re-spawn stored handles at startup
* Keep new function without async & Result
* Put query peer in function too
* Query bandwidth
* Fix clippy
* Replace tap with inspect_err
* Fix copyright year
* Handle version 2 on the reqeust deser
* Add protocol type in req/resp messages
* Use ecash credential type for bandwidth value
* Fill explicit default value for args
* Use up-to-date values for tickets
* Fix sdk example default value
* Another default
* Fix sdk test
* Fix TicketTypeRepr default