4fcb98e839ddeec00a0301c70854f918a1d1dffb
17 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
a7d8613c9d |
Multi-surbs (#2667)
* Feature/multi surbs (#1796) * bunch of wip with focus on serialization * Being able to send normal data (NO SURBS yet) to yourself again * Fixed RepliableMessage deserialization * Recovering data from surb messages * Extracted common code in sphinx payload construction * Cleanup within received buffer * requesting, sending and using additional reply surbs * Following discussion with @simonwicky, removing sender proof and decreasing size of sender tag * Made sender tag more easily configurable * Refactoring of message creation * Propagating reply surb acks but not retransmitting them yet * Surb retransmissions * requesting additional surbs from the retransmission flow * correctly determining the point of requesting additional surbs * Ability to use socks5 (and network requester) with surbs * Improved surbs retranmsission reliability * naive way of not over-requesting surbs * wip on tag storage * Improved error propagation for message construction * Requesting more surbs for stale entries * Better controlling the point of having to request additional surbs * Using pseudorandom sender tag instead of a hardcoded one * First cleanup round in MessageHandler * Error cleanup and if simplification * Assigned a more permanent name to the ReplyController * Removed PendingReply redundant type * Made socks5 client less eager to over-send reply surbs * 'anonymous' field on socks5 client to decide whether to use surbs or attach address * Dead code and import removal in client-core * Updating ClientRequest variants * Adjusted decision threshold for requesting more surbs * Native client cleanup * Made socks5 client usage of surbs configurable * Restored statistics in network requester * Validator-api compiles once again * Further improved surb request logic * boxing the recipient in controller requests * Removal of hardcoded values in favour of propagating them from the config * more validation during surb requests * Fixed ClientRequest::Send deserialization * Added length checks for request deserialization * post-merge formatting * Unit tests once again compile and pass * controlling retransmission_reply_surb_request_size from config * More Recipient boxing action * Requesting additional reply surbs for retransmission BEFORE dipping below the threshold * Making clippy generally happier * Wasm client compiles (but might not yet work correctly) * Feature/use expect instead of panicking (#1797) * Implementation of 'Debug' on 'RealMessage' * expect with failed channel name instead of throwing empty panics * Introduced Debug trait constraint in ProxyRunner * Derive Debug for socks5_requests::Message * Fix decrypting stored received msg (#1786) * Fix decrypting stored received msg * rustfmt * Moving binary message recovery to separate function Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com> * real_traffic_stream: reduce frequency of status print (#1794) * Properly defined unnamed errors * Dealing with previously ignored errors * logging improvements * Removed old example code Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com> * Missing changelog entry for multi-surbs (#1802) * Making anonymous sender tag human readable (#1801) * Created wrapper with string serialization for AnonymousSenderTag * Using Display implementation of AnonymousSenderTag for logs * Using Display implementation of MessageRecoveryError when logging (#1803) * Using Display implementation of MessageRecoveryError when logging * Updated changelog * Defined socks5 client startup flag to enable reply-surb communication (#1804) * Feature/persistent surbs data (#1835) * prototyping wip * Implemented ReplyStorageBackend trait for the sql-backed storage * Storing correct surb threshold * using correct database path * Starting surb persistent storage in native and socks5 clients * loading or creating fresh surb storage in socks5 and native clients * making clippy happier + fixing config templates * Creating status table on database rotation * Completed the 'Empty' ReplyStorageBackend * feature locking wasm-incompatible bits and pieces * Feature/develop resync (#1844) * Network-requester: throttle inbound connections (#1789) * Return and handle ClientRequest::LaneQueueLenghts * Pass lane queue lengths to inbound future * Remove unused self reference * Request lane queue lengths periodically for all open connections * Add timeouts * Rename to ConnectionCommandSender and Receiver * Rename to client_connection_tx/rx * Fix wasm build * Replace bool with enum * rust: bump required version to 1.65 in some crates that need it * Add step to release GH actions (#1792) * feat: add a release step to nym contracts GH action * feat: add shrinking the size of wasm * Possibilty to change gateway ws listener (#1779) * add: set gatewayListener * Update types.ts * Update worker.ts * Update contracts-build.yml * real_traffic_stream: reduce frequency of status print (#1794) * Update wallet and connect lock files (#1793) * client-core: add warning when delay multiplier is larger than 1 * Fix decrypting stored received msg (#1786) * Fix decrypting stored received msg * rustfmt * Moving binary message recovery to separate function Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com> * Feature/use expect instead of panicking (#1797) * Implementation of 'Debug' on 'RealMessage' * expect with failed channel name instead of throwing empty panics * Introduced Debug trait constraint in ProxyRunner * Derive Debug for socks5_requests::Message * Make connection_id optional in ClientRequest::Send (#1798) * changelog: add missing entry for fixing message decrypt in gateway-client * websocket-requests: fix length check before deserialize (#1799) * Fix export dkg contract addr (#1800) * Export dkg contract for mainnet when no config file present * Remove redundant env files * nym-cli: improve error reporting/handling and changed `vesting-schedule` queries to use query client instead of signing client * Feature/gateway client protocol version (#1795) * Introducing concept of gateway protocol version * Remove version-based gateway filtering * Fixed the unit test * grammar * Set build on latest release on schedule event * Added nightly build workflow on second latest release * socks5: if any task panics, signal all other tasks to shutdown (#1805) * socks5: signal shutdown on error * Mark as success * Tidy * Reduce wait to 5 sec * Replace unwrap with expect * Two more unwraps * Update changelog * client-core: less frequent status logging (#1806) * Feature/nym connect UI updates (#1784) * create custom titlebar * create help page * create generic modal component * create separate connection time component * link to shipyard docs * move timer to separate component and update connection status component usage * use separate component for copying ip and port details * only show infomodal once after connection * set service provider on tauri side * Emit events when stopped * listen and unlisten for tauri events * connect: add trace log to get_services * Add back CI notifications * Update README Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com> Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> * Use default serde value for upgrade (#1807) * fix ui overflow bug (#1808) * update nym connect error text (#1809) * set flag to false * Fix wait_for_signal_and_error on win (#1811) * Add socks5-client changes to nym-connect changelog * Fix links in nym-connect changelog * More entries in nym-connect CHANGELOG * Fix typo in changelog * Update CHANGELOG.md * Experiment/client refactoring (#1814) * experimenting with extracting more common client code * drying up the wasm client * allowing some dead code for the time being * fixed formatting in nym-connect * made socks5 client inside nym-connect immutable * made clippy a bit happier * hidden away target locking for recv timeout * New transactions for increasing amount of pledged tokens * unit tests * Added an option to pledge extra tokens through the vesting contract * Introduced wallet endpoints for new operations * Using updated pledge cap in the vesting contract * Bumping version numbers * Changelog for v1.1.1 * Bumping final version numbers for 1.1.1 * Bumping nym-cli version, missed it last time * socks5-client: SOCKS4a support (#1822) * socks5-client: SOCKS4a support * Tidy * Fix a few errors in socks5 client and network-requester (#1823) * Fix two unwraps in socks5 and network-requester * Make sure client task never sends shutdown signal * Fix panic on getting socks version * wip * connecting to the back and making the requests work * display details modal * logs removal * Feature/pledge more (#1679) * New transactions for increasing amount of pledged tokens * unit tests * Added an option to pledge extra tokens through the vesting contract * Introduced wallet endpoints for new operations * Using updated pledge cap in the vesting contract * Changelog update * nym-connect: update lock file * avoid mix tokens pools * amount error * envs/mainnet: update to latest mixnet contract and nymd validator url * validator-api: add missing shortform for --config-env-file (#1830) * gateway-client: handle shutdown listener (#1829) * WIP * WIP: try another approach * WIP * Reworked * Tidy * fix * validator-api: remove storage dependency in contract cache (#1685) * validator-api: remove storage dependency in contract cache * validator-client: update detailed routes * contract_cache: forward to new endpoints for compat * Move reward_estimate * client: add --no-cover and update --fastmode (#1831) * adding a oversaturaded bonding more modal * common/task: extract out spawn_with_report_error (#1837) * stop panic on failed buffer request * Compilable wasm client * Enabled hard error on lack of gateway-client protocol version * Missing generic parameter for ClientCoreError in BackendError * Removed unused imports * Additional wasm feature locking Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com> Co-authored-by: Fran Arbanas <arbanasfran@gmail.com> Co-authored-by: cgi-bin/ <6095048+sven-hash@users.noreply.github.com> Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> Co-authored-by: Bogdan-Ștefan Neacşu <bogdan@nymtech.net> Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com> Co-authored-by: Raphaël Walther <raphael@nymtech.net> Co-authored-by: Fouad <fmtabbara@hotmail.co.uk> Co-authored-by: Gala <calero.vg@gmail.com> Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> * Making native client wait for shutdown * Marking dead test code * Feature/multi surbs invalidation (#1858) * Cleaned up RealMessagesController constructor * introduced config field for maximum_reply_surb_age * Handling edge-case reply-surb failures * invalidating old reply surbs * Removing old reply keys from cache * Invalidating old reply keys * missing config changes * logging created tag details * Fixed clippy warning in test code * Saving reply key timestamp on data flush (#1867) * Remove panic if ReconstructedMessagesReceiver is closed (#1868) Instead log error and return because presumably the shutdown procedure has started * Feature/multi surbs basic wasm interface (#1846) * Added builder to wasm client * missing wasm_bindgen macros * Added constructor macro on GatewayEndpointConfig * Attempting to use updated wasm client api * Removing dead code * Exposed other messages types in wasm client * cleanup in js-example * Changed 'self_address' to be a method call * Removed needless borrow when cloning an Arc * Improving arguments in 'on_message' callback * fixed wasm-client dependency/features * Reverted hard requirement for gateway protocol presence (#1875) * Feature/prioritise surb retransmission (#1883) * Improved error messages + removed redundant variants * Improved estimation of 'expected_forward_delay' * Removed old wasm-specific startup code * Removed old unused reply-related code * hacky and temporary way of buffering retransmission data * offloading retransmission reply handling to ReplyController * fixed linter errors + rebuffering retransmission data on failure * Removed unused fields from wasm client debug config * Chore/v1.2.0 update (#2666) * Network-requester: throttle inbound connections (#1789) * Return and handle ClientRequest::LaneQueueLenghts * Pass lane queue lengths to inbound future * Remove unused self reference * Request lane queue lengths periodically for all open connections * Add timeouts * Rename to ConnectionCommandSender and Receiver * Rename to client_connection_tx/rx * Fix wasm build * Replace bool with enum * rust: bump required version to 1.65 in some crates that need it * Add step to release GH actions (#1792) * feat: add a release step to nym contracts GH action * feat: add shrinking the size of wasm * Possibilty to change gateway ws listener (#1779) * add: set gatewayListener * Update types.ts * Update worker.ts * Update contracts-build.yml * real_traffic_stream: reduce frequency of status print (#1794) * Update wallet and connect lock files (#1793) * client-core: add warning when delay multiplier is larger than 1 * Fix decrypting stored received msg (#1786) * Fix decrypting stored received msg * rustfmt * Moving binary message recovery to separate function Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com> * Feature/use expect instead of panicking (#1797) * Implementation of 'Debug' on 'RealMessage' * expect with failed channel name instead of throwing empty panics * Introduced Debug trait constraint in ProxyRunner * Derive Debug for socks5_requests::Message * Make connection_id optional in ClientRequest::Send (#1798) * changelog: add missing entry for fixing message decrypt in gateway-client * websocket-requests: fix length check before deserialize (#1799) * Fix export dkg contract addr (#1800) * Export dkg contract for mainnet when no config file present * Remove redundant env files * nym-cli: improve error reporting/handling and changed `vesting-schedule` queries to use query client instead of signing client * Feature/gateway client protocol version (#1795) * Introducing concept of gateway protocol version * Remove version-based gateway filtering * Fixed the unit test * grammar * Set build on latest release on schedule event * feat(wallet): buy page bootstrap * feat(wallet-buy): tutorial * feat(explorer-api): add route to fetch nym terms&cdts * Revert "feat(explorer-api): add route to fetch nym terms&cdts" This reverts commit 876f752697d89061b1904e1ddd1d5bcb7045dc5c. * feat(wallet-buy-nym): buy page new ui * fix(wallet-buy-nym): signature output * feat(wallet-buy-nym): update signature modal ui * Added nightly build workflow on second latest release * socks5: if any task panics, signal all other tasks to shutdown (#1805) * socks5: signal shutdown on error * Mark as success * Tidy * Reduce wait to 5 sec * Replace unwrap with expect * Two more unwraps * Update changelog * client-core: less frequent status logging (#1806) * Feature/nym connect UI updates (#1784) * create custom titlebar * create help page * create generic modal component * create separate connection time component * link to shipyard docs * move timer to separate component and update connection status component usage * use separate component for copying ip and port details * only show infomodal once after connection * set service provider on tauri side * Emit events when stopped * listen and unlisten for tauri events * connect: add trace log to get_services * Add back CI notifications * Update README Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com> Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> * Use default serde value for upgrade (#1807) * fix ui overflow bug (#1808) * feat(wallet): add link to nym exchange interface * update nym connect error text (#1809) * refactor(wallet): clean code * set flag to false * Fix wait_for_signal_and_error on win (#1811) * Use config URLs in clients before the env values (#1813) * Add socks5-client changes to nym-connect changelog * Fix links in nym-connect changelog * More entries in nym-connect CHANGELOG * Fix typo in changelog * Update CHANGELOG.md * Experiment/client refactoring (#1814) * experimenting with extracting more common client code * drying up the wasm client * allowing some dead code for the time being * fixed formatting in nym-connect * made socks5 client inside nym-connect immutable * made clippy a bit happier * hidden away target locking for recv timeout * New transactions for increasing amount of pledged tokens * unit tests * Added an option to pledge extra tokens through the vesting contract * Introduced wallet endpoints for new operations * Using updated pledge cap in the vesting contract * Feature/dkg integration tests (#1815) * DKG contract e2e test * Refactor to the same format as other contracts * Vk share tests * State tests * Dealings tests * Dealer tests * Api dkg tests * Fix path to contract after refactor * Fix test target clippy * Bumping version numbers * Changelog for v1.1.1 * Bumping final version numbers for 1.1.1 * Bumping nym-cli version, missed it last time * socks5-client: SOCKS4a support (#1822) * socks5-client: SOCKS4a support * Tidy * Fix a few errors in socks5 client and network-requester (#1823) * Fix two unwraps in socks5 and network-requester * Make sure client task never sends shutdown signal * Fix panic on getting socks version * wip * connecting to the back and making the requests work * display details modal * logs removal * Feature/pledge more (#1679) * New transactions for increasing amount of pledged tokens * unit tests * Added an option to pledge extra tokens through the vesting contract * Introduced wallet endpoints for new operations * Using updated pledge cap in the vesting contract * Changelog update * Feature/pledge more (#1679) * New transactions for increasing amount of pledged tokens * unit tests * Added an option to pledge extra tokens through the vesting contract * Introduced wallet endpoints for new operations * Using updated pledge cap in the vesting contract * Changelog update * Fix a few errors in socks5 client and network-requester (backport) (#1824) * Fix two unwraps in socks5 and network-requester * Make sure client task never sends shutdown signal * nym-connect: update lock file * fix(wallet): typo * avoid mix tokens pools * fix(wallet): typo * fix(wallet): buy tutorial ui responsivness * amount error * envs/mainnet: update to latest mixnet contract and nymd validator url * validator-api: add missing shortform for --config-env-file (#1830) * gateway-client: handle shutdown listener (#1829) * WIP * WIP: try another approach * WIP * Reworked * Tidy * fix * validator-api: remove storage dependency in contract cache (#1685) * validator-api: remove storage dependency in contract cache * validator-client: update detailed routes * contract_cache: forward to new endpoints for compat * Move reward_estimate * Node family management (#1670) * Family management messages * Add family queries * Add queries to client * Layer assignment message * Paged family queries, annotate mixnodes with family * Add layer assignments to epoch operations * Remove family layer peristence * Add NotImplemented error for kick Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com> * Fixed layer distribution skewness check (#1766) * client: add --no-cover and update --fastmode (#1831) * adding a oversaturaded bonding more modal * Use better naming on gateway credential handling (#1834) * Fix comment in configuration file (#1836) * common/task: extract out spawn_with_report_error (#1837) * nym-connect/changelog: add note about disconnect fix * Feature/simplify credential binary (#1841) * Expose name of standard directories * Use one command instead of two * nym-connect: append error to failed message (#1839) * nym-connect: append error to failed message * changelog: add note * Fix clippy * remove extra checks to display vesting schedule(#1826) * Set explorer to use rpc.nymtech.net * update versions for platfrom, nym-connect and nym-wallet to v1.1.2 * changed nym-connect version to 1.1.1 * Modifying changelog for v1.1.2 * changed nym-connect version to 1.1.2 * update nym-connect CHANGELOG * Updated changelog for wallet * Feature/wallet content updates (#1825) * fix up balance screen * fix up app bar and nym logo alignment * fix up delegation action icon font weight * fix up bond page * Corrected env variable name in workflows * Use config URLs in clients before the env values (#1813) * Feature/dkg integration tests (#1815) * DKG contract e2e test * Refactor to the same format as other contracts * Vk share tests * State tests * Dealings tests * Dealer tests * Api dkg tests * Fix path to contract after refactor * Fix test target clippy * Node family management (#1670) * Family management messages * Add family queries * Add queries to client * Layer assignment message * Paged family queries, annotate mixnodes with family * Add layer assignments to epoch operations * Remove family layer peristence * Add NotImplemented error for kick Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com> * Fixed layer distribution skewness check (#1766) * Use better naming on gateway credential handling (#1834) * Fix comment in configuration file (#1836) * nym-connect/changelog: add note about disconnect fix * Feature/simplify credential binary (#1841) * Expose name of standard directories * Use one command instead of two * Fix clippy * feat(wallet): buy page bootstrap * feat(wallet-buy): tutorial * feat(explorer-api): add route to fetch nym terms&cdts * Revert "feat(explorer-api): add route to fetch nym terms&cdts" This reverts commit 876f752697d89061b1904e1ddd1d5bcb7045dc5c. * feat(wallet-buy-nym): buy page new ui * fix(wallet-buy-nym): signature output * feat(wallet-buy-nym): update signature modal ui * feat(wallet): add link to nym exchange interface * refactor(wallet): clean code * fix(wallet): typo * fix(wallet): typo * fix(wallet): buy tutorial ui responsivness * update versions for platfrom, nym-connect and nym-wallet to v1.1.2 * changed nym-connect version to 1.1.1 * Modifying changelog for v1.1.2 * changed nym-connect version to 1.1.2 * update nym-connect CHANGELOG * Updated changelog for wallet * Resolve merge conflicts * Update qa-qwerty.env * Fixed URL to branch * changed ubuntu-latest on GH actions to ubuntu-20.04 * docs: updated changelog for contracts release v1.1.2 and updated versions of mixnet and vesting contracts as well * Add ignore to dkg expensive tests (#1856) * introduce minimize button in custom title bar (#1843) * refresh balance after sending tokens (#1857) * Feature/fix client multi cred consume (#1859) * Mark consumed credentials in the db * Add signature log * Fix wasm mock Storage trait * Fix clippy * Feature/verify bte proof (#1866) * Update lock file * Include bte public key verification * Wallet - Buy, copy changes (#1855) * use mix_id for account to get correct pending cost event (#1869) * use mix_id for account to get correct pending cost event * Properly add consumed to table (#1870) * nym-connect: update Cargo.lock to 1.1.2 * Clients: save init results to JSON (#1865) * clients: output results of init to json * Remove leftover dbg * Tidy * Fix nym-connect * Client: dedup setup gateway during init (#1871) * clients: dedup gateway setup logic * nym-connect: extract out print_save_config * Feature/dkg state to disk (#1872) * Add PersistentState * Save and load state to/from disk * If in progress, don't continually write the same state * Fix tests and add serde one * Update changelog * Fix clippy * network-requester: return error on socket close (#1876) * network-requester: return error when the socket closes * changelog: add note * clients: further deduplicate init code (#1873) * client-core: move init helpers to module * WIP * socks5: return error instead of terminate in init * Extract out reuse_existing_gateway_config * rustfmt * Remove comment out code * nym-connect: use setup_gateway * Linebreak * changelog: update * Tweak log * rustfmt * client: pick from old lanes probabilisticlly (#1877) * Pick from old lanes probabilisticly * changelog: update * clients: dont panic in base client gateway client handling (#1878) * client-core: fix some panics related to gateway-client * changelog: update * fix * changelog: fix wording * Use default mainnet values when nothing is specified (#1884) Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com> Co-authored-by: Fran Arbanas <arbanasfran@gmail.com> Co-authored-by: cgi-bin/ <6095048+sven-hash@users.noreply.github.com> Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> Co-authored-by: Bogdan-Ștefan Neacşu <bogdan@nymtech.net> Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com> Co-authored-by: Raphaël Walther <raphael@nymtech.net> Co-authored-by: pierre <dommerc.pierre@gmail.com> Co-authored-by: Fouad <fmtabbara@hotmail.co.uk> Co-authored-by: Gala <calero.vg@gmail.com> Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> Co-authored-by: Drazen Urch <drazen@urch.eu> Co-authored-by: durch <durch@users.noreply.github.com> Co-authored-by: Tommy Verrall <60836166+tommyv1987@users.noreply.github.com> Co-authored-by: Jon Häggblad <jon.haggblad@gmail.com> Co-authored-by: Fran Arbanas <arbanasfran@gmail.com> Co-authored-by: cgi-bin/ <6095048+sven-hash@users.noreply.github.com> Co-authored-by: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> Co-authored-by: Bogdan-Ștefan Neacşu <bogdan@nymtech.net> Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com> Co-authored-by: Raphaël Walther <raphael@nymtech.net> Co-authored-by: Fouad <fmtabbara@hotmail.co.uk> Co-authored-by: Gala <calero.vg@gmail.com> Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> Co-authored-by: pierre <dommerc.pierre@gmail.com> Co-authored-by: Drazen Urch <drazen@urch.eu> Co-authored-by: durch <durch@users.noreply.github.com> Co-authored-by: Tommy Verrall <60836166+tommyv1987@users.noreply.github.com> |
||
|
|
a43d183b4f |
Feature/wasm client updates (#1673)
* Compiles but runtime time fails * wip * Beginning of clean-up - creation of config to keep things together * Removed unused module * Removed hardcoded constants * Easier way of sending binary messages * WIP cleanup before machine switch * Upgrade wasm-bindgen to 0.2.83 * Fixed compilation warnings for wasm client * all clients compiling without warnings * disabling topology refresh in wasm * Added a config option to disable loop cover traffic stream * config changes * Make webassembly work in a web worker - `wasm-timer` modified to work in web worker - add worker target to webpack - add client to call from HTML - update README to build WASM for bundling (this does not build ES modules) * Restored topology refreshing * correctly polling items in the wasm delay_queue * Allow client to read up to 8 messages at once from gateway connection (#1669) * Allow client to read up to 8 messages at once from gateway connection * Importing tokio::select in wasm32 target * Updated changelog * missing imports * Introduced disable_main_poisson_packet_distribution to force real_traffic_stream to disable poisson sending (#1664) * Introduced disable_main_poisson_packet_distribution to force real_traffic_stream to disable poisson sending * Updated changelog * Adjusting default settings * Introduced a client-configurable option to force it to use extended packet size * local adjustments * Removed warning associated with receiving extended packets * Minimal v2-required changes * Updated changelog * explicitly allowing clippy drop_non_drop Co-authored-by: Mark Sinclair <mmsinclair@gmail.com> |
||
|
|
7b76beab76 | Switch from deprecated substr() to slice() | ||
|
|
33ae43b86d | Removing commented code | ||
|
|
2c1ad1388d | removing surb noise display | ||
|
|
2f53e40355 | Switching to mainnet validator API | ||
|
|
6746514317 |
Fixed up most JS dependency warnings
Resolved dependency issues in testnet-faucet Removed the outdated react example Updated js example dependencies Using sandbox in js example Feature locking imports Running wasm client in testnet mode by default Allow using `None` BandwidthController in testnet mode Reverted endianness change and left it for others to deal with Fixed up websocket js-example Changed endianness of aes counter |
||
|
|
2fa5c3c3b7 |
Release/v0.9.0 (#453)
* Feature/wasm update (#341) * Split text and binary client apis * Very initial attempt at new serialization * Defined ser+de for Recipient and ReplySURB * Response errors * builds with changes * Working WS API + moved to separate crate * updated python examples * Fixed parsing bug * Updated go examples * Updated rust examples * formatting * Removed unused imports * dependency updates * Further dependency changes * nymsphinx exposingn framing only if not in wasm32 * Cargo lock changes before develop merge * Pending work * Actually sending and receiving websocket from rust! * more WIP * Initial wasm client + establishing shared key with gateway! * Splitting and sending a message! * WIP * WIP * Initial wasm-ification of the gateway client * Passing reconstruction result to js callback! * Initial WASM cleaning pass * Dependency pruning * Moved processing loop to received_processor + at least ack unwrappingn * Post merge fix * Kinda updated react example * Old print statement removed * Removed yarn.lock * Fixed building issue for other clients * Fixed travis test command * Updated wasm publishing instructions * Feature/instant sending (#359) * Ability to set client in vpn mode * Connection handler for mixnode * Initial vpn mode for mixes * Updated SphinxCodec to contain more metadata * Renaming * Removed handle from mixnet client and introduced forwarder * Mixnode using new forwarder * Mixnode common module containing shared packet processing * ibid. incorporated inside mixnode * New processing for gateway * Type cleanup * Wasm fix * Fixed client config * Fixed mixnode runtime issues * Formatting * Client re-using secret on 'normal' packets * Using the same key for acks * WIP * vpn key manager cleanup * wasm fix * VPN_KEY_REUSE_LIMIT moved to config * Moved AckDelayQueue to separate common crate * Key cache invalidator * Updated dashmap used in gateway * Old typo * Additional comment * Cargo fmt * Fixed tests * Sphinx update * cache ttl as config option * Cargo fmt * Feature/network monitor (#369) * WIP commit * Further into errors (WIP) * WIP commit, more stuff compiling, but now we switch to sneaky Jedrzej trick * Websocket connections starting to work * WIP * Constructing the socket stream in one go * Nicer connections. Getting topology now works. * Fixing startup message * Injecting directory uri * Injecting good mixndodes * Deleting old healthcheck * Starting to wrap gateway client * Splitting out good topology contstruction * Starting to breathe finally * Fixed layer assignment error * Starting gateway client in a better spot * Cleanup * Renamed construct() to new() * Injected channels, removed websockets * Added a MixnetListener to deal with returned packet traffic * Simplification * Renaming and commenting a few things * Renamed temp variables * Fixed variable names * Made errors a bit more explicit on message reconstruction * Added the mixmining route / object to the directory server client * Recipient is always "me", a bit easier to understand what's going on * Subbing in test nodes works * Using QA directory * Noting which directory server we're using at monitor start * Adding Debug to MixStatus so we can print it more easily * Prettification of startup messages * Notifying directory of successful packet receipt * All nodes now being tested * Now able to do timer-based test runs and detect the last node tested * Renamed mixnet_listener to notifier * Moved message chunking into its own home * Starting to pull out packet sends * Basic functionality working! * Enabled timer runs forever * License notices * Depdendency cleanup * Import cleanup * Moved to implicit tokio runtime * Removed some unnecessary data clones * Fixed monitor doing two runs at startup rather than one * dalek version updates * This should have been split but got carried away * Initial ipv6 support * Don't test outdated nodes * Added network monitor to default workspace members * Actually sending reports * Batch-sending mix status * Cargo fmt * Minor cleanup * Malformed Cargo.lock * Post-merge fixes * Defined constant in main.rs for enabling detailed reporting * Updated package versions of the system * Checking version compatibility on startup Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> * Added sphinx socks to default workspace members (#358) * Feature/version in config (#376) * Added version field to config files * Removed built dependency * Missing non-removed call to built * Corrected version on client-core (#377) * Feature/remove validator (#380) * Replacing Rust validator sketch with Cosmos-based code. * Removing old build instructions * go fmt on generated code * Removing build files for github and pi * Starting transplant surgery * Directory now running in validator, sans metrics * Updating go sum * A partly-working directory startup integrated into the nymcli app. * Removing the Swagger docs header from nymcli, it can live in server.go * Working swagger docs. * Updating test title on Swagger docs * Directory server now integrated into validator (primitive but working) * Noted location of mixmining reports database. * Bumped golang version * Removing validator cargo files. * Moving directory API init method into the nymd module * Ditching a test which is causing tooling problems - presence will go away soon anyway * Removing the validator and merging develop * Update README.md * Update README.md * Feature/upgrade command (#381) * Exposed version parsing from version checker * Ability to upgrade mixnode from 0.8.X to 0.9.0 * Ability to upgrade gateway from 0.8.X to 0.9.0 * Ability to upgrade native client from 0.8.X to 0.9.0 * Ability to upgrade socks5 client from 0.8.X to 0.9.0 * Typo * Minor renaming * Preventing upgrade if current is not a release version * Additional upgrade restrictions * Corrected version bound * Feature/mix ed25519 identity (#388) * Introduced identity keypair to mixnode * Updated upgrade 0.9.0 mix upgrade instructions * Printing failed upgrade notice when it failed * Moved printing upgrade start notice to beginning of function * Feature/double init prevention (#386) * Updated NymConfig trait making id always obligatory. Also added extra default method implementations * Preventing init on mixnodes that were initialised before * Quotes before mix id * Preventing init on gateways that were initialised before * Preventing init on native clients that were initialised before * Preventing init on socks5 clients that were initialised before * Feature/duration cleanup (#391) * Mixnode using Duration for time intervals + human readable config fields for them * Removed old comment * Native client using Duration for time intervals + human readable config fields for them * Socks5 client using Duration for time intervals + human readable config fields for them * Gateway using Duration for time intervals + human readable config fields for them * Config compatibility with 0.8.0 debug values * Fixed previous merge issue * Moving subsidiary functions down below main so we can see where thing start * Feature/fix dependabot alerts (#393) * Fixing a dependabot alert * Fixing npm audit failures in js example for webassembly client * Fixed some more npm audit problems * Explicitly handling base58 key recovery errors (#396) * Fix compiler warnings for unneeded mut (#398) * moved new_v4_with_node to test only section (#392) * moved new_v4_with_node to test only section * cargo fmt * Feature/directory server transition (#401) * Initial changes to validator client API * Updated models * GatewayRegistrationInfo constructor * Change validator topology to convert into NymTopology without failure * Mixnode registering and unregistering presence * Directory -> Validator renamings + adjustments * Updated upgrade command for mixnode * Extracted metrics part of directory client into separate library * Removed no longer needed traits * Integrated new metrics client into mixnode * Introduced the same set of changes to the gateway * Getting active topology in client core via validator client * Updated clients to get correct topology * Introduced mix mining endpoints to validator client * Network monitor using validator client * Removed directory client * Updated wasm client * Temporarily disabled the test * Checking ok status for validator client response * Updated upgrade command for clients * Allowing using old presence directory as new validator endpoint for mixnodes and gateways * Fixed tests in non-default crates * Feature/validator api update (#402) * Updated validator API routes * missing comment * Feature/wasm client fix (#399) * Disabling wasm optimization for the moment, it isn't working on my machine * Updating the React example back to a working state, 0.8.1 npm package is published. * Merging develop into bugfix * Upgrading react-scripts to fix a major vulnerability * Using metrics interval received from server (#403) * Using metrics interval received from server * Test fix * Feature/error on noninit (#404) * More graceful shutdown in case of uninitialised client/node * Performing version check on binary `run` * Feature/no run config flag (#405) * Removed `--config` parameter in `run` commands * Removed old tests that were doing disk IO * Renamed directory arguments to validator (#408) * Feature/max retry (#409) * Maximum number of allowed reconnection attempts * Requiring initial internode connection to be successful * Decreased logging level for failing to establish initial connection * Feature/controlled reinit (#410) * Allowing init with existing id but keeps existing keys * Removed unused imports * Removed debug print statement (#411) * Updated upgrade commands to set new default validator (#413) * Feature/network monitor file topology (#412) * Network monitor loading 'good' topology from files instead * Update .gitignore * Passing address of validator as an argument * Made detailed report const flag into an argument * Flag to start network requester in open proxy mode (#418) * Renamed 'sphinx-socks' to 'network-requester' (#417) * Added option to set incentives address during mix and gateway init (#419) * Updated validator topology (#420) * Bugfix/upgrade fix (#421) * Added default for incentives address when deserializing * Ability to optionally pass incentives address during upgrade * Feature/socks improvements (#423) * Changed AvailableReader from Future to Stream * comment formatting * WIP * Maximum number of bytes read per poll * More detailed socks5 printing * Split up socks5 service provider runner * Fixed closing proxy too soon on one side * Additional log information * Printing connection id in log target * Adjusted some constants * Target field in log * Removed dead code * Decreased logging level * Explicitly seperated 'Send' and 'Connect' request + data buffering * Temporarily commented out test that fails due to not understanding limitations of tokio test io builder * Fixed socks5 tests * Starting cover traffic stream under correct condition (#422) * Fixed bunch of clippy warnings (#427) * Updated default sending rates (#430) * Feature/explorer (#431) * Initial commit of the new dashboard code. * Periodically grabbing topology json * Pulling file saving out into its own module * Ignoring downloaded topology file * Moved everything public into a public folder * Refreshing the mixmining report * Mounting static files from /public * Including mixminiming report grabber * Leaving the route in place to pick up later. It's not used right now. * Removing json download from git * Ignoring topology download * Moving recurrent jobs in to a jobs module * Adding websocket dependencies * Starting to get client/server websocket functionality running. * Fixing unused imports * Separating client and server functionality a bit more cleanly * WIP to sketch out the ws client and server a bit more * Initial metrics broadcaster * Import fixup * Spawning rocket in tokio task * Removed outdated comment * removed the js file Co-authored-by: Dave <futurechimp@users.noreply.github.com> * Bugfix/metrics fixes (#434) * Updated dashboard html file * Changed explorer to listen on the same port as old dashboard * Using correct field names in js file * Sending correct key in metrics * Added nym prefix to binary names (#436) * Passing validator base url as an argument (#439) * Spawning rocket as a blocking task (#440) * Update main.js (#441) * Update main.js * Changed websocket port to 1648 * Changing default validator location to make it clear we're testnet (#437) * Changing default validator location to make it clear we're on a testnet here. * Updated validator url * Updated metrics url Co-authored-by: jstuczyn <jedrzej.stuczynski@gmail.com> * Adding keybase to allowed.list.sample (#442) * Updated nym-run gateway id (#445) * Adjusted 'fastmode' settings (#444) * Added validators to dashboard + validator and block count (#443) * Slightly friendlier upgrade argument description (#446) * Slightly friendlier upgrade argument description * Added right format examples * Explorer public folder being relative to the binary (#447) * Explorer public folder being relative to the binary * Qualifying the public mounting path Co-authored-by: Dave <futurechimp@users.noreply.github.com> * Extra argument to specify metrics websocket + long attribute (#448) * Extra argument to specify metrics websocket + long attribute * Default testnet values * Fixed the URL of the websocket (#449) * Removed hardcoded 'good gateways' in favour of pseusorandom choice from the active set (#450) * Adding graceful de-registration to service * Removed incentives form url (#451) * Updated version numbers * Updated generate changelog script * Updated changelog * wasm examples fixes Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> Co-authored-by: Ethan Frey <ethanfrey@users.noreply.github.com> |
||
|
|
d05b313a99 |
Hotfix/0.8.1 (#357)
* Feature/wasm update (#341) * Split text and binary client apis * Very initial attempt at new serialization * Defined ser+de for Recipient and ReplySURB * Response errors * builds with changes * Working WS API + moved to separate crate * updated python examples * Fixed parsing bug * Updated go examples * Updated rust examples * formatting * Removed unused imports * dependency updates * Further dependency changes * nymsphinx exposingn framing only if not in wasm32 * Cargo lock changes before develop merge * Pending work * Actually sending and receiving websocket from rust! * more WIP * Initial wasm client + establishing shared key with gateway! * Splitting and sending a message! * WIP * WIP * Initial wasm-ification of the gateway client * Passing reconstruction result to js callback! * Initial WASM cleaning pass * Dependency pruning * Moved processing loop to received_processor + at least ack unwrappingn * Post merge fix * Kinda updated react example * Old print statement removed * Removed yarn.lock * Fixed building issue for other clients * Fixed travis test command * Updated wasm publishing instructions * Increased default presence and metrics sending interval (#354) * Defaulting to mix layer with fewest node if no argument provided (#353) * Defaulting to mix layer with fewest node if no argument provided * cargo fmt * Selecting the gateway randomly from 2 known good ones. (#355) * Selecting the gateway randomly from 2 known good ones. There's a problem with the config file in this commit though. * Saving value of chosen gateway * Removed duplicate printing of gateway being used Co-authored-by: jstuczyn <jedrzej.stuczynski@gmail.com> * More detailed error response on authentication/registration failure (#356) * Updated changelog * Updated version numbers Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> |
||
|
|
29074723c3 |
Feature/temp wasm example removal (#324)
* Removed yarn.lock file * wasm js-example dependency updates * Disabled wasm js-example * Disabled wasm react example |
||
|
|
88eb1fce25 | Using testnet directory in jsexample | ||
|
|
5ef2a22cc7 |
Adding some documentation to the webassembly client (#244)
* Adding some documentation to the webassembly client * Noting that binary is unsupported for now |
||
|
|
1f749df59d | Simplified some names and used the published npm package (#242) | ||
|
|
54114f03b5 |
Feature/explicit gateway addressing (#239)
* validator: fixing a warning, untestify this when you need it for real code * webassembly: minor readme changes. * README changes in wasm * Updated wasm version * clients/webassembly: security vuln updates * typo fix * WIP commit * Significantly simplified the API * Changed switch to have default branch * Managed to get rid of `this` bind * Moved 'Recipient' definition * Examples update * Slightly more generalised 'try_from_string' for recipient * Updated to use client@gateway addressing * Updated tests Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> |
||
|
|
8745fb4230 |
Feature/clean up (#238)
* validator: fixing a warning, untestify this when you need it for real code * webassembly: minor readme changes. * README changes in wasm * Updated wasm version * clients/webassembly: security vuln updates * typo fix * WIP commit * Significantly simplified the API * Changed switch to have default branch * Managed to get rid of `this` bind * Filled in a missing word Co-authored-by: jstuczyn <jedrzej.stuczynski@gmail.com> |
||
|
|
f47b7cfb13 | Updated js-example to get gateway from topology (#225) | ||
|
|
97a944a33e |
Updated wasm code to work with new gateway and updated the example (#219)
* Updated wasm code to work with new gateway and updated the example * cargo fmt * Fixed test by ensuring destination is present at a gateway * Updated hardcoded default port * ibid. to correct value |