* Remove AsyncRead/Write traits from native client - moving them to
stream/
* Substream model first push
* Update / add examples
* Update lockfile
* Clippy
* clippy examples
* remove codecs
* Remove unused bincode setup
* Revert a lot of changes when SDK client itself implemented
AsyncRead/Write
* Remove unnecessary mut
* Use local PollSender in MixnetStream instead of client_input.input_sender
Now that client-core's input_sender is back to mpsc::Sender (reverted
PollSender migration), MixnetStream creates its own PollSender wrapper
for the AsyncWrite impl's poll_ready/start_send calls.
* Remove now-unnecessary parameter
* Clippy
* Cleanup more stragglers from previous setup (Async traits on
MixnetClient)
* Rename files (remove module inception)
* - Shrink StreamId from 16 bytes to u64, add version byte to wire format
- Introduce MixStreamHeader/MixStreamFrame structs for decode
- Replace StreamMap type alias with struct using tokio::sync::Mutex
- Add StreamMap helper methods, eliminate lock().expect() panics
- Rename stream.rs -> mixnet_stream.rs to avoid module inception
- Document irrevocable stream mode, add LP integration TODO
* - Remove dummy channel
- Add err variant for reciever alredy taken
- Remove panics
* add timeout to stream
* clippy
dont build netstack in CI
additional rust 2024 fixes
fixes
removed temp.rs
first round of cleanup
removed duplicated NS types
moved gateway probe to the monorepo
* 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
* removed support for legacy packet types from NymCodec
I think nodes had plenty of time to upgrade given versioned variant was introduced in 2022
* temp: use local sphinx packet for development
* introduce new messages that use more efficient reply surbs encoding
* checks for incorrect encoding
* generate correct message depending on config value
* fixed current packet version
* made packet type selection configurable
* updated sphinx packet crate to the published version
* fixed wasm build
* fixes in outfox due to sphinx api changes
* additional tests
* clippy
* fixed log/tracing import
* Move monitor code to a struct
- to store state in a struct
* explorer deprecation wip
* Replace explorer with ipinfo calls
* PR feedback
* Fix clippy
* Bump package version
* Remove ipinfo crate due to openssl dep
* Add remaining bandwidth log
* Lock files
* Add flag to disable cover traffic
* Add flag to disable per hop delays
* Add flag to enable mixed size packets
* Add meta flag to set medium speed
* Special case zero averge hop delay to be exactly zero
* Extract out generate_hop_delays function
* 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>
* Update hmac and blake3
* Remain paranoid for `0.*` crates
* Most paranoid versions :)
* Updated aes and using published version of blake3
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* Basic storage stub
* New models for new node status api
* Route handling
* Mounting new routes
* Missing selective commit
* Moved network monitor related files to separate package
* Starting to see some sqlx action
* Schema updates
* Log statement upon finished migration
* Removed old diesel related imports
* Converted mixnode cache initialisation into a fairing
* Moved cache related functionalities to separate package
Also defined staging there
* Created run method for validator cache + removed unwrap
* Removed old node-status-api types and left bunch of todo placeholders in their place
* Fixed managing validatorcache
* Status reports are starting to get constructed
* Submitting some dummy results to the database
* Removing duplicate code for generating reports
* Removed statuses older than 48h
* Initial attempt at trying to obtain reports for all active nodes
* Removed duplicates from the full report
* Grabbing uptime history
* Updating historical uptimes of active nodes
* Updated sqlx-data.json
* Removed all placeholder foomp owner values
* Changed Layer serde behaviour for easier usage
* Extended validator api config
* Initial (seems working !) integration with network monitor
* Added database path configuration to config
* Using ValidatorCache in NetworkMonitor
* Flag indicating whether validator cache has been initialised
* Introduced a locla-only route for reward script to perform daily chores
* Flag to save config to a file
* Moved spawning of receiving future to run method rather than new
* Removed arguments that dont make sense to be configured via CLI
* Removed dead code from config file
* More dead code removal
* Added validator API to CI
* Corrected manifest-path arguments
* Constructing network monitor by passing config
* Combined validator API CI with the main CI file
* Using query_as for NodeStatus
* Checking if historical uptimes were already calculated on particular day
* Making id field NOT NULL
* More query_as! action
* Updated sqlx-data.json
* Removed unused chrono feature
* Renamed the migration file
* Changed default validator endpoint to point to local validator
* Removing unnecessary clone
* More appropriate naming
* Removed dead code
* Lock file updates
* Updated network monitor address in contract code
* Don't stage node status api if network monitor is disabled
* cargo fmt
* Updated all license notices to SPDX
* Running CI also on windows and macOS
* Rust 2021 formatting
* clippy::upper_case_acronyms where appropriate
* Allowing unknown clippy lints
* Further clippy updates
* Building wasm client during CI
* wasm actions update
* added working directory to cargo jobs
* Temporarily disabled wasm test and clippy
* 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
* Removed accidentally left panic call
* Changed identity keypair to use ed25519
* Encryption key is now x25519 based + compatibiltiy with sphinx
* Pathing and import fixes
* Moved all asymmetric keys to sub-module in crypto
* Extracted aes to separate module
* kdf module in crypto
* Ability to perform diffie hellman on encryption keys
* ecdsa on identity keys
* Extremely rough and incomplete registration handshake
* Authentication primitives
* Creating new random authenticationIV
* Wrapper type for the derived shared key
* Removed AuthToken in favour of using SharedKey for authentication
* Gateway identity keys
* Registration handshake without error mapping
* Gateway address in client config
* Added extra key for gateway presence
* Updated pemstore to work on borrows instead
* Gateway client trying to perform the handshake
* Gateway changes to allow for handshake and shared key
* Debug trait on sharedkey
* native client using updated gateway client
* Slightly updated gateway API
* Minor cleanup
* Fixed pemstore to correctly save multiple keypairs
* Gateway actually deriving shared key during handshake
* Gateway sending correct mid-handshake message
* Missing quotation mark in client config template
* Fixed template for correct shared key serialization
* Fixed gateway authentication
* Fixed tests
* Using correct gateway key when converting to sphinx node
* "get_all_clients" takes them from gateways as opposed to providers now
* cargo fmt
* Renamed pemstore methods
* Unused import
* Encryption of forward requests between client and gateway
* Updated sphinx dependency to use public revision
* Sending 'error' on handshake processing error
* Removed some dead code
* Dead code I forgot to remove before
* Extracted AckAes128Key into a struct
* Slight pemstore revamp allowing for symmetric key store
* ibid.
* PemStorableKey for SharedKey
* Introduced single location responsible for key management for client
* WIP
* Sphinx version update
* Stop using NodeAddressBytes for two distinct and confusing purposes
* Abstracting away SocketAddr from sphinx forwarding
* Passing the bool for reply surbs
* Attack plan for replies + encryption
* Comment + removed variable binding
* ReplySURB usage
* Topology import in nymsphinx
* Sphinx version update
* Changed 'Recipient' to contain client's encryption key
* Message preparation taking shape!
* reply surb also containing the encryption key
* Very initial message receiver
* Sphinx version update
* A possibly working way of receiving surbs
* Fixed incorrect field name in client config template
* camel casing all request arguments
* Renamed and moved `MessageMode` to more appropriate file
* Restored reconstruction tests
* Removed dead code from chunking
* Made rust examples compilable
* reply SURB key storage
* Replies as an InputMessage
* Forgotten commented code
* No retransmission processing for cover or replies
* Received reply processing
* Renamed client pathfinder to something more appropriate
* Made HasherOutputSize public
* Added key store path to config
* Reply surb attaching key digest when used
* Changes due to previous renaming
* Removed comment
* Fixed insert_encryption_key
* Assigning initial value of key store path
* Computing key digest with correct algorithm
* Initial and presumably temporary request serialization
* hacky way of introducing 'FragmentIdentifier' for replies
* Moved responsibility of reply encryption, padding, etc, to message preparer
* Optional recipient in try_get_valid_topology_ref
* Handling new reply surbs with acks and padding
* Updated go and python examples to include replies in text and binary cases
* Updated rust examples + binaryserverresponse
* Helpers in rust examples
* And updated JS example
* Moved shared key generation function to crypto crate
* Cover traffic encryption!
* hmac computation in crypto
* Updated aes imports due to new dependencies
* hkdf made more generic
* crypto cleanup + algorithms in params
* Clippy cleanup pass
* Generating encryption+mac shared keys between client and gateway
* MACs attached to forward requests to gateway
* Gateway messages encrypted and mac'd
* Lowered logging level
* compiler warning cleanup
* Some minor cleanup
* Generic stream cipher
* Generic shared key derivation + algorithm definitions
* Project-wide AES clean-up
* Comment fix
* Removed commented imports
* Updated comments
* Fixed topology test fixture