* wip
* wip: wrap node's sphinx key with a manager
* wip: choosing correct key for packet processing
* further propagation of key rotation information
* attaching key rotation information to reply surbs
* added basic key rotation information to mixnet contract
* wip: introducing cached queries for key rotation info from nym api
* unified nym-api contract cache refreshing
* finish packet decoding
* multi api client + retrieving rotation id
* rotating sphinx key files
* logic for migrating config file
* wip: putting new sphinx keys to self described endpoints
* processing loop of KeyRotationController
* fixed sphinx key loading
* rotating bloomfilters
* wired up KeyRotationController
* flushing bloomfilters to disk and loading
* most of nym-node changes
* post rebase fixes
* fixes due to backwards compatible hostkeys
* split http state.rs file
* dont use deprecated fields
* fixed backwards compatible deserialisation of host information
* split up node describe cache
* added a dedicated CacheRefresher listener to perform full refresh outside the set interval
* controlling announced sphinx keys within nym-api
* retrieving rotation id when pulling topology
* split nym-nodes http handlers
* v2 nym-api endpoints to retrieve nodes with additional metadata information
* bug fixes...
* additional bugfixes and guards against stuck epoch
* testnet manager: set first nym-api as the rewarder
* fixed host information deserialisation
* fixed panic during first key rotation
* post rebase fixes
* clippy
* more guards against stuck epochs
* added helper method to reset node's sphinx key
* instantiate mixnet contract with custom key rotation validity
* additional bugfixes and debugging nym-api deadlock
* passing shutdown to nym apis client
* remove dead test
* post rebasing fixes
* missing MixnetQueryClient variants
* remove usage of deprecated methods in sdk example
* fix: incorrect method signature
* post rebasing fixes
* attempt to retrieve key rotation id before doing any config migration work
* ignore tests relying on networking behaviour
* allow networking failures in certain tests
* remove old packettype + fix: apply routing filter BEFORE delaying
* updated sphinx crate for allow usage of reply tags
* full pipeline for placeholder checking of packet replay
* replay protection with batched insertion
* running background task for clearing/flushing the BF
* allow disabling the replay detection + cleanup
* allow unwrap in bench code
* 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
* Stop ActionController only after both incoming channels closed
* Downgrade task getting dropped message to debug level
* The warning to the user is not a warning that things didn't work
* rustfmt
* fix channel close logic
* Don't close real traffic stream and sent notification listener too aggressively
* [wasm-client] keeping ownership over 'ReceivedBufferRequestSender' channel when spawning 'ResponsePusher'
* Bump version of Typescript SDK to RC.10
* GitHub Actions workflow to publish SDK to NPM
* Bump package version manually
---------
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
* js error message
* Ability to explicitly disconnect mixfetch
* removed unused import
* added disconnect method directly to sdk package
* simplifying error throw
Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com>
* added onunload event listener handler
* Using global instance of mixfetch to disconnect
Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com>
* Bump RC versions
* MixFetch, move unload handler to creation and check for undefined `window`
* Bump RC version
* Force TLS on mixFetch demo
* Add info about working around mixed content errors for mixFetch
---------
Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com>
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
* 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
* Ability to disconnect and reconnect GatewayClient
* usage of ibid. inside NodeTester
* example
* wasm-compatible `wait_for_shutdown` (for the future)
* added cargo config file to explicitly specify build target
* wip
* Config option to disable topology refreshing
* extracted common parsing code
* helper trait for working on wasm topology
* wasm topology parsing
* restored (slightly modified) old js-example
* wip
* Moved message preparation into a trait
* wip
* long-winded way of sending test packet
* standalone NymNodeTester
* finishing the test upon receiving all packets even if timeout wasnt reached
* initial round of cleanup
* sending multiple test packets in normal NymClient
* javascript-side cleanup
* starting mixnode test on btn click
* Improved NymNodeTester constructors
* improved error handling and constructors
* tester utils error handling
* further cleanup + using BTreeMap for NymTopology mixnodes
* handling missed errors
* splitting up 'test_node'
* split up and cleaned up generation of test result
* clippy + fixed example
* post rebase fixes
* another broken test
* prevent running multiple parallel tests
* cargo fmt
* Added nym- prefix to node tester utils
* 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
* task dependency
* unifying some startup code and passing TaskClient around
* graceful shutdown handling for mix socket listener
* graceful shutdown handling for clients listener
* graceful shutdown handling for packet forwarding
* unified waiting for interrupt across binaries
* made 'validate_bech32_address_or_exit' into a function that returns proper Result
* printing formatted message on main error
* fixed failing test
* removed duplicate code that should have been gone ages ago
* ibid
* removed biased selection for authenticated handler
* minor refactoring to 'ensure_config_version_compatibility'
* socks5: send network-requester error in status channel
* Minor tidy
* task-manager: send status msg to indicate ready
* changelog: add note
* coconut/tests: fix clippy for rustc 1.66