* Bump version of nym-cli to 1.1.0 and move CHANGELOG to standalone file
* Bump version of nym-connect to v1.1.0 and update CHANGELOG
* Bump version of nym-wallet to v1.1.0 and update CHANGELOG
* Bump version of explorer-api to v1.1.0
* Bump versions of binaries (native-client, socks5-client, mixnode, gateway, network-requester) to v1.1.0
* Bump version of validator-api to v1.1.0
* Bump version of mixnet contract to v1.1.0 (vesting contract already v1.1.0 from #1472)
* Bump Nym Platform version to v1.1.0 and update CHANGELOG
* Update CHANGELOG.md
* Update CHANGELOG.md
* Updated changelog with v2-related changes
* Update CHANGELOG.md
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
Co-authored-by: Fouad <fmtabbara@hotmail.co.uk>
Co-authored-by: Pierre Dommerc <dommerc.pierre@gmail.com>
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Co-authored-by: Jess <31625607+jessgess@users.noreply.github.com>
* 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>
* Made config.toml values in validator-api take precedence over mainnet defaults
* Updated mixnode and gateway configs with similar priority adjustments
* Changelog
* Query for node stake saturation
* Queries for currently pending events
* Rewarded set query
* Moved ContractState to common types
since it's being returned as a result of one of the queries on the mixnet contract and thus it needs to be accessible outside the contract itself
* Cleaend up storage initialisation
* started restoring unit tests
* Removed attached 1ucoin for cross-contract execute msgs
* wip
* query for rewarding details of a mix node
* Changes for mixnodes and gateways
* Furher progress on v2 changelog(-ish) description
* wip
* first version of the description
* mixnode bonding queries tests and fixes
* ibid for storage
* MixnodeEventType enum + created events for missing mixnode txs
* tests for adding new mixnode
* Additional mixnode-related tests + bug fixes
* Display for Percent
* Bunch of tests for try_reward_mixnode
* More tests and fixes
* ibid
* tests for updating rewarding params + important bug fix
* Started removing unused imports
* rewarding queries tests + undelegation bugfix
* A lot of todo()-ing and commenting out unimplemented code
* implements https://github.com/nymtech/team-core/issues/113
* Delegation tests + fixes
* Emiting events by top level interval txs + incorporating limit
* question
* Missing events emissions
* removed some code duplication
* wip
* pending delegation tests
* Vesting contract update
* More tests (and fixes) for pending events txs
* Restored gateway tx tests
* Another cleanup iteration
* removed redundant comment
* Unit tests, fixes and simplifcations for interval-related txs
* Unit tests for helper functions
* Interval queries unit tests
* Test for correct contract initialisation
* Another round of cleanup
* Work on mixnet_query_client trait
* mixnet_signing_client trait
* Removed redundant methods
* Slowly restoring validator client functionality
* Added deprecated query for mix details by identity
* wip restoration of validator-api
* Work on deprecating validator API routes
* Further validator-api routes
* Restored rest of status api routes
* Resolved all todos in ValidatorApiStorage
There's still bunch left in StorageManager though
* Changed NodeId from u64 to u32
* Updating sql code
* Network monitor internals
* Changed behaviour of full_epoch_id and updated epoch operations
* Fixed sql queries
* [most likely] finished updating rest of the validator API
* Post rebasing fixes
* Feature/rewarding revamp explorer api changes (#1511)
* Changed cache to allow for non-string keys
* Helper method for best-effort conversion of pubkey to nodeid
* Updated validator-api client routes
* Updated routes to use mix-id indexing
* Introduction of deprecated routes callable by identity key
* Fixed mixnode compatibility by changing read node details fields (#1512)
* Fixed bond to topology conversion for client compatibility (#1513)
* Updated 'verify_gateway_owner' to use correct nymd_client method for obtaining gateway details (#1515)
* Updated constructor for ValidatorCacheInner
* Fixed wasm client topology construction
* Run cargo fmt on the entire codebase
* Feature/rewarding revamp wallet backend changes (#1529)
* Updated mixnode-related ts types
* Updated nym-wallet-types
* Updated 'get_contract_settings' and commented out code of other tauri commands
* 'update_contract_settings'
* 'bond_gateway'
* unbond_gateway'
* Utility commands for the transition period
* 'bond_mixnode'
* 'unbond_mixnode'
* Ability to update mixnode cost paramaters
* Mixnode config update
* Updated mixnode_bond_details
It also returns a different underlying type now
* Updated 'gateway_bond_details'
* Obtaining pending operator rewards
* Improved way of obtaining number of mixnode delegators
* simplified error handling in 'fetch_mix_node_description'
* mixnode and gateway ownership queries
* updated get_number_of_mixnode_delegators to use mix_id since we have the conversion utils helper
* mixnode delegation
* undelegating
* Obtaining pending delegator rewards
* Command for obtaining current interval details
* Queries to handle paging for pending events
* Additional level of indirection to pending events to incorporate event id into response
* Wallet compatible pending event types
* Commands fo obtaining pending events
* Re-implemented pending delegation events
* Further work on delegation
* Removed unused imports
* Commands for withdrawing rewards
* Admin-related simulations
* mixnet-related simulation commands
* Validator-api related routes
* Bond-related vesting operations
* Vesting simulations
* Vesting handler for UpdateMixnodeCostParams
* Vesting reward claiming
* Vesting queries
* claim_locked_and_unlocked_delegator_reward
* The massive delegation query
* cleanup
* updated typescript requests
* sorted the new type exports in ts-rs-cli
* Regenerated typescript types
* temporarily ignoring unreachable code in vesting migration
* Updated missed test fixture
* Fixed missing coconut-specific import
* cargo fmt
* Exporting reward-related types
* utility to convert stringified decimal to cosmjs Decimal
* deriving Eq alongside PartialEq
* wip - typescript fixes
* using default operating cost when bonding mixnode
* Using default operating cost when updating mixnode cost params
* most delegation fixes
* Wrapping delegation with node identity
* Added MultiIndex on owner and identity key to unbonded mixnodes
* Support for queries for unbonded nodes by owner or by identity key
* Cargo fmt + ts types update
* feature locking unused imports
* fix(nym-wallet): typing and error (#1548)
* post-rebase fixes
* Changed storage key for new delegations map in vesting contract
* fix(wallet): typing issues (#1562)
* fix(wallet): error UI feedback (#1565)
* clean(wallet): remove useless files (with flamethrowers 🔥) (#1567)
* Changed default_mixnode_cost_params to allow accepting f32 instead
* Revert "Changed default_mixnode_cost_params to allow accepting f32 instead"
This reverts commit fb62a0014f.
* Fixed APY calculation for 0 pledge value
* Don't send rewarding transactions for empty rewarded set
* Fixed mixnode rewarding in validator API
* fix(nym-wallet): profit margin (#1574)
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Removed todo!() from vesting contract migration since its going to be dealt with differently
* fix(nym-wallet): stake saturation and delegations (#1578)
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* fix(nym-wallet): get rid of delegation history
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): get rid of delegation history
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): fix clippy
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* Updated vesting contract migration to update the mixnet contract address
* feat(wallet): add confirmation/warning modal for unbonding
* Post rebasing fixes
* commented out all code
* Bunch of work in progres, but working simulator
* Removing redundant fields + increased precision to 9decimal places
* deserialization of Percent with value validation
* wip
* Further moving things around + mixnode bonding
* Mixnode unbonding
* Starting restoration on contract state
* Revamping interval
* More work on epoch/interval
* progress on mixnode rewarding
* Moved MixNodeRewarding to rewards storage
* wip on delegations
* Removed concept of periods and historical records and moved cummulative reward ratio directly to delegation
* more wip delegation
* Full delegation flow
* mixnode config updates
* Mixnode cost function updates
* Work on moving mixnode unbonding to post-epoch actions
* Unbonding
* Processing undelegation
* changing cost params
* Uncommented existing gateways features
without much changes so far, however, things like unbonding should probably also go to epoch queue
* ExecuteMsg cleanup
* unit tests for withdrawing rewards against known values
* Transactions for withdrawing rewards
* Transactions for updating various parameters
* First round of post-tx cleanup
* Moved all storage keys to constants.rs
* Using correct initial gateway pledge amount
* Renamed sybil_resistance_percent to sybil_resistance with percent being implicit from the typ
* Starting with contract queries
* Keeping minimal details of unbonded mixnoces
* Checking for owner address rather than rewarding validator when updating rewarding params
* Mixnode-related queries
* Gateway-related queries
* Query for paged unbonded mixnodes
* Delegations queries
* Query for current interval details
* Removed 'fixed' dependency from the mixnet common
* wip on implementing rewards-related queries
* Pending rewards queries
* Query for node stake saturation
* Queries for currently pending events
* Rewarded set query
* Moved ContractState to common types
since it's being returned as a result of one of the queries on the mixnet contract and thus it needs to be accessible outside the contract itself
* Cleaend up storage initialisation
* started restoring unit tests
* Removed attached 1ucoin for cross-contract execute msgs
* wip
* query for rewarding details of a mix node
* Changes for mixnodes and gateways
* Furher progress on v2 changelog(-ish) description
* wip
* first version of the description
* mixnode bonding queries tests and fixes
* ibid for storage
* MixnodeEventType enum + created events for missing mixnode txs
* tests for adding new mixnode
* Additional mixnode-related tests + bug fixes
* Display for Percent
* Bunch of tests for try_reward_mixnode
* More tests and fixes
* ibid
* tests for updating rewarding params + important bug fix
* Started removing unused imports
* rewarding queries tests + undelegation bugfix
* A lot of todo()-ing and commenting out unimplemented code
* implements https://github.com/nymtech/team-core/issues/113
* Delegation tests + fixes
* Emiting events by top level interval txs + incorporating limit
* question
* Missing events emissions
* removed some code duplication
* wip
* pending delegation tests
* Vesting contract update
* More tests (and fixes) for pending events txs
* Restored gateway tx tests
* Another cleanup iteration
* removed redundant comment
* Unit tests, fixes and simplifcations for interval-related txs
* Unit tests for helper functions
* Interval queries unit tests
* Test for correct contract initialisation
* Another round of cleanup
* Work on mixnet_query_client trait
* mixnet_signing_client trait
* Removed redundant methods
* Slowly restoring validator client functionality
* Added deprecated query for mix details by identity
* wip restoration of validator-api
* Work on deprecating validator API routes
* Further validator-api routes
* Restored rest of status api routes
* Resolved all todos in ValidatorApiStorage
There's still bunch left in StorageManager though
* Changed NodeId from u64 to u32
* Updating sql code
* Network monitor internals
* Changed behaviour of full_epoch_id and updated epoch operations
* Fixed sql queries
* [most likely] finished updating rest of the validator API
* Post rebasing fixes
* Feature/rewarding revamp explorer api changes (#1511)
* Changed cache to allow for non-string keys
* Helper method for best-effort conversion of pubkey to nodeid
* Updated validator-api client routes
* Updated routes to use mix-id indexing
* Introduction of deprecated routes callable by identity key
* Fixed mixnode compatibility by changing read node details fields (#1512)
* Fixed bond to topology conversion for client compatibility (#1513)
* Updated 'verify_gateway_owner' to use correct nymd_client method for obtaining gateway details (#1515)
* Updated constructor for ValidatorCacheInner
* Fixed wasm client topology construction
* Run cargo fmt on the entire codebase
* Feature/rewarding revamp wallet backend changes (#1529)
* Updated mixnode-related ts types
* Updated nym-wallet-types
* Updated 'get_contract_settings' and commented out code of other tauri commands
* 'update_contract_settings'
* 'bond_gateway'
* unbond_gateway'
* Utility commands for the transition period
* 'bond_mixnode'
* 'unbond_mixnode'
* Ability to update mixnode cost paramaters
* Mixnode config update
* Updated mixnode_bond_details
It also returns a different underlying type now
* Updated 'gateway_bond_details'
* Obtaining pending operator rewards
* Improved way of obtaining number of mixnode delegators
* simplified error handling in 'fetch_mix_node_description'
* mixnode and gateway ownership queries
* updated get_number_of_mixnode_delegators to use mix_id since we have the conversion utils helper
* mixnode delegation
* undelegating
* Obtaining pending delegator rewards
* Command for obtaining current interval details
* Queries to handle paging for pending events
* Additional level of indirection to pending events to incorporate event id into response
* Wallet compatible pending event types
* Commands fo obtaining pending events
* Re-implemented pending delegation events
* Further work on delegation
* Removed unused imports
* Commands for withdrawing rewards
* Admin-related simulations
* mixnet-related simulation commands
* Validator-api related routes
* Bond-related vesting operations
* Vesting simulations
* Vesting handler for UpdateMixnodeCostParams
* Vesting reward claiming
* Vesting queries
* claim_locked_and_unlocked_delegator_reward
* The massive delegation query
* cleanup
* updated typescript requests
* sorted the new type exports in ts-rs-cli
* Regenerated typescript types
* temporarily ignoring unreachable code in vesting migration
* Updated missed test fixture
* Fixed missing coconut-specific import
* cargo fmt
* Exporting reward-related types
* utility to convert stringified decimal to cosmjs Decimal
* deriving Eq alongside PartialEq
* wip - typescript fixes
* using default operating cost when bonding mixnode
* Using default operating cost when updating mixnode cost params
* most delegation fixes
* Wrapping delegation with node identity
* Added MultiIndex on owner and identity key to unbonded mixnodes
* Support for queries for unbonded nodes by owner or by identity key
* Cargo fmt + ts types update
* feature locking unused imports
* fix(nym-wallet): typing and error (#1548)
* post-rebase fixes
* Changed storage key for new delegations map in vesting contract
* fix(wallet): typing issues (#1562)
* fix(wallet): error UI feedback (#1565)
* clean(wallet): remove useless files (with flamethrowers 🔥) (#1567)
* Changed default_mixnode_cost_params to allow accepting f32 instead
* Revert "Changed default_mixnode_cost_params to allow accepting f32 instead"
This reverts commit fb62a0014f.
* Fixed APY calculation for 0 pledge value
* Don't send rewarding transactions for empty rewarded set
* Fixed mixnode rewarding in validator API
* fix(nym-wallet): profit margin (#1574)
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Removed todo!() from vesting contract migration since its going to be dealt with differently
* fix(nym-wallet): stake saturation and delegations (#1578)
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* fix(nym-wallet): get rid of delegation history
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): get rid of delegation history
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): fix clippy
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* Updated vesting contract migration to update the mixnet contract address
* feat(wallet): add confirmation/warning modal for unbonding
* Post rebasing fixes
* Removed deprecation on GetMixnodeDetailsByIdentity
* Fixed nym-cli
* Removed needless borrow
* Updated colorMap and textMap
Co-authored-by: durch <durch@users.noreply.github.com>
Co-authored-by: Mark Sinclair <mmsinclair@gmail.com>
Co-authored-by: Pierre Dommerc <dommerc.pierre@gmail.com>
* Clients use env
* Explorer api uses env
* Mainnet and qa env files
* Set CONFIGURED on the mainnet defaulting
* Gateway uses env
* Mixnode uses env
* Wallet error simplification
* Network requester takes only mainnet client address
* Validator api uses env
* Mixnet contract uses denom from instantiate
* Vesting contract uses denom from instantiate
* More contract test refactoring
* Coconut bandwidth contract uses denom from instantiate
* Bandwidth claim contract uses denom from instantiate and remove from Cargos
* More remove from Cargos and one missed DEFAULT_NETWORK
* Refactor some other missed places
* Minor fixes
* Test and clippy fixes
* Update CHANGELOG
* Adding simple hardware info reporting to the mixnode HTTP API
* Adding sgx availability as another example field
* Added sysinfo crate for addtitional simple hardware reporting
* Added reporting on number of cpu cores and available ram
* Cleanup of unused struct
* Fixing merge conflict
* Checking for supported system before using sysinfo
* Breaking commit containing additional types
...and a painfully wrong implementation of the SMT processor cores type.
* Handling unavailable brand string
* Fixed getting SMT logical processor count
* Rebase with develop + cleaned up changelog
* unused import
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* mixnode: add graceful notification to most tasks
* Add note about remaining work
* task/shutdown: add shutdown timer
* changelog: add entry for shutdown
* mixnode: revert some temp changes
* common/task: make sure to use latest tokio
* Add coconut verifier structure for coconut protocol in gateway
* Add endpoint for validator-api cred verification
* Remove unused signature field
* Register new endpoint
* Improve validator-api config handling
* Aggregate verif result from all apis
* Simplify aggregate functions
* Verify cred on apis correctly
* Introduced coconut bandwidth contract to validator client
* Fix rebase double import
* Fix clippy on non-coconut
* Add multisig contract address to validator client
* Refactor Credential struct
* Do bincode magic in the coconut interface
* Implement serialization for credential and remove bindcode
* Fix clippy and don't remove dkg
* Client release funds proposal
* Add wrapper for blinded serial number
Also compare theta with a blinded serial number (in base 58 form)
for future double spend protection.
* Only post blinded serial number to blockchain
* Validator api propose credential spending
* Fix wallet
* Gateway calls proposal creation
* Query for proposal in verify coconut
* Remove db from git
* Verify against proposal description
* Validator apis vote based on verification of cred
* Fix wallet fmt
* Execute the release of funds
* Fix translation between token and bytes
* Update CHANGELOG
* mixnode: add basic test for node_statistics
* mixnode: rename to SharedNodeStats
* mixnode: add some comments
* mixnode: formatting
* mixnode: fix test
* mixnode: fix test
* mixnode: remove unreliable assert
* mixnode: switch from sleep to advance in test
* workspace: use resolver 2
* mixnode: formatting
* mixnode: make command modules private
* mixnode: make some node modules private
* mixnode: make config structs private
* mixnode: restore accidentally moved function
* Include version check in sign command
* Ask for wallet address the same way as mixnode
The reason for this is that the cosmos mnemonic that is asked at
init is for the address that gets rewarded for gateway usage.
Since that address is not necessarly set now and it can take a
default value, we won't be using that to derive the address in the
signing process.
* Moving sign_text method into common/crypto to dry it up
* Moved bech32 address validation into common/crypto
* ibid
* Gateway now requires a --wallet-address arg on init
* Add a --wallet-adress parameter to init
* Rearranging signing code locations
* A bit more refactoring
* ibid
* Exiting if the stored bech32 address isn't valid at node start
* A few docs comments
* Moved crypto crate up to root src level
* Friendlier startup messages for node verification code
* Switching punk and nymt addresses in test