diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ed0ebe379..ca8fe50967 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,38 +2,40 @@ Post 1.0.0 release, the changelog format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## [v1.1.0](https://github.com/nymtech/nym/tree/v1.1.0) (2022-11-09) ### Added -- nym-cli: added CLI tool for interacting with the Nyx blockchain and Nym mixnet smart contracts ([#1577]) -- validator-client: added `query_contract_smart` and `query_contract_raw` on `NymdClient` ([#1558]) -- network-requester: added additional Blockstream Green wallet endpoint to `example.allowed.list` ([#1611](https://github.com/nymtech/nym/pull/1611)) -- common/ledger: new library for communicating with a Ledger device ([#1640]) -- native-client/socks5-client: `disable_loop_cover_traffic_stream` Debug config option to disable the separate loop cover traffic stream ([#1666]) -- native-client/socks5-client: `disable_main_poisson_packet_distribution` Debug config option to make the client ignore poisson distribution in the main packet stream and ONLY send real message (and as fast as they come) ([#1664]) -- native-client/socks5-client: `use_extended_packet_size` Debug config option to make the client use 'ExtendedPacketSize' for its traffic (32kB as opposed to 2kB in 1.0.2) ([#1671]) -- wasm-client: uses updated wasm-compatible `client-core` so that it's now capable of packet retransmission, cover traffic and poisson delay (among other things!) ([#1673]) -- validator-api: add `interval_operating_cost` and `profit_margin_percent` to cmpute reward estimation endpoint -- vesting-contract: optional locked token pledge cap per account ([#1687]), defaults to 100_000 NYM - clients: add testing-only support for two more extended packet sizes (8kb and 16kb). +- common/ledger: new library for communicating with a Ledger device ([#1640]) +- native-client/socks5-client/wasm-client: `disable_loop_cover_traffic_stream` Debug config option to disable the separate loop cover traffic stream ([#1666]) +- native-client/socks5-client/wasm-client: `disable_main_poisson_packet_distribution` Debug config option to make the client ignore poisson distribution in the main packet stream and ONLY send real message (and as fast as they come) ([#1664]) +- native-client/socks5-client/wasm-client: `use_extended_packet_size` Debug config option to make the client use 'ExtendedPacketSize' for its traffic (32kB as opposed to 2kB in 1.0.2) ([#1671]) +- network-requester: added additional Blockstream Green wallet endpoint to `example.allowed.list` ([#1611]) +- validator-api: add `interval_operating_cost` and `profit_margin_percent` to compute reward estimation endpoint +- validator-client: added `query_contract_smart` and `query_contract_raw` on `NymdClient` ([#1558]) +- wasm-client: uses updated wasm-compatible `client-core` so that it's now capable of packet retransmission, cover traffic and poisson delay (among other things!) ([#1673]) ### Fixed -- validator-api, mixnode, gateway should now prefer values in config.toml over mainnet defaults ([#1645]) -- validator-api should now correctly update historical uptimes for all mixnodes and gateways every 24h ([#1721]) - socks5-client: fix bug where in some cases packet reordering could trigger a connection being closed too early ([#1702],[#1724]) +- validator-api: mixnode, gateway should now prefer values in config.toml over mainnet defaults ([#1645]) +- validator-api: should now correctly update historical uptimes for all mixnodes and gateways every 24h ([#1721]) ### Changed -- validator-client: made `fee` argument optional for `execute` and `execute_multiple` ([#1541]) -- socks5 client: graceful shutdown should fix error on disconnect in nym-connect ([#1591]) -- wasm-client: fixed build errors on MacOS and changed example JS code to use mainnet ([#1585]) -- gateway-client: will attempt to read now as many as 8 websocket messages at once, assuming they're already available on the socket ([#1669]) -- validator-api: changed error serialization on `inclusion_probability`, `stake-saturation` and `reward-estimation` endpoints to provide more accurate information ([#1681]) -- moved `Percent` struct to to `contracts-common`, change affects explorer-api - clients: bound the sphinx packet channel and reduce sending rate if gateway can't keep up ([#1703],[#1725]) +- gateway-client: will attempt to read now as many as 8 websocket messages at once, assuming they're already available on the socket ([#1669]) +- moved `Percent` struct to `contracts-common`, change affects explorer-api +- socks5 client: graceful shutdown should fix error on disconnect in nym-connect ([#1591]) +- validator-api: changed error serialization on `inclusion_probability`, `stake-saturation` and `reward-estimation` endpoints to provide more accurate information ([#1681]) +- validator-client: made `fee` argument optional for `execute` and `execute_multiple` ([#1541]) +- wasm-client: fixed build errors on MacOS and changed example JS code to use mainnet ([#1585]) +- validator-api: changes to internal SQL schema due to the mixnet contract revamp ([#1472]) +- validator-api: changes to internal data structures due to the mixnet contract revamp ([#1472]) +- validator-api: split epoch-operations into multiple separate transactions ([#1472]) +[#1472]: https://github.com/nymtech/nym/pull/1472 [#1541]: https://github.com/nymtech/nym/pull/1541 [#1558]: https://github.com/nymtech/nym/pull/1558 [#1577]: https://github.com/nymtech/nym/pull/1577 @@ -41,13 +43,13 @@ Post 1.0.0 release, the changelog format is based on [Keep a Changelog](https:// [#1591]: https://github.com/nymtech/nym/pull/1591 [#1640]: https://github.com/nymtech/nym/pull/1640 [#1645]: https://github.com/nymtech/nym/pull/1645 +[#1611]: https://github.com/nymtech/nym/pull/1611 [#1664]: https://github.com/nymtech/nym/pull/1664 [#1666]: https://github.com/nymtech/nym/pull/1645 [#1669]: https://github.com/nymtech/nym/pull/1669 [#1671]: https://github.com/nymtech/nym/pull/1671 [#1673]: https://github.com/nymtech/nym/pull/1673 [#1681]: https://github.com/nymtech/nym/pull/1681 -[#1687]: https://github.com/nymtech/nym/pull/1687 [#1702]: https://github.com/nymtech/nym/pull/1702 [#1703]: https://github.com/nymtech/nym/pull/1703 [#1721]: https://github.com/nymtech/nym/pull/1721 diff --git a/Cargo.lock b/Cargo.lock index c0ad7c504d..396c7dff72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1582,7 +1582,7 @@ dependencies = [ [[package]] name = "explorer-api" -version = "1.0.1" +version = "1.1.0" dependencies = [ "chrono", "clap 3.2.8", @@ -3070,7 +3070,7 @@ dependencies = [ [[package]] name = "nym-cli" -version = "1.0.0" +version = "1.1.0" dependencies = [ "anyhow", "base64", @@ -3122,7 +3122,7 @@ dependencies = [ [[package]] name = "nym-client" -version = "1.0.2" +version = "1.1.0" dependencies = [ "clap 3.2.8", "client-core", @@ -3159,7 +3159,7 @@ dependencies = [ [[package]] name = "nym-gateway" -version = "1.0.2" +version = "1.1.0" dependencies = [ "anyhow", "async-trait", @@ -3206,7 +3206,7 @@ dependencies = [ [[package]] name = "nym-mixnode" -version = "1.0.2" +version = "1.1.0" dependencies = [ "anyhow", "bs58", @@ -3248,7 +3248,7 @@ dependencies = [ [[package]] name = "nym-network-requester" -version = "1.0.2" +version = "1.1.0" dependencies = [ "async-trait", "clap 3.2.8", @@ -3295,7 +3295,7 @@ dependencies = [ [[package]] name = "nym-socks5-client" -version = "1.0.2" +version = "1.1.0" dependencies = [ "clap 3.2.8", "client-core", @@ -3359,7 +3359,7 @@ dependencies = [ [[package]] name = "nym-validator-api" -version = "1.0.2" +version = "1.1.0" dependencies = [ "anyhow", "async-trait", diff --git a/clients/native/Cargo.toml b/clients/native/Cargo.toml index 476ffec29a..6244cb6d3d 100644 --- a/clients/native/Cargo.toml +++ b/clients/native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nym-client" -version = "1.0.2" +version = "1.1.0" authors = ["Dave Hrycyszyn ", "Jędrzej Stuczyński "] description = "Implementation of the Nym Client" edition = "2021" diff --git a/clients/socks5/Cargo.toml b/clients/socks5/Cargo.toml index 6aa35d14eb..82c3bc807e 100644 --- a/clients/socks5/Cargo.toml +++ b/clients/socks5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nym-socks5-client" -version = "1.0.2" +version = "1.1.0" authors = ["Dave Hrycyszyn "] description = "A SOCKS5 localhost proxy that converts incoming messages to Sphinx and sends them to a Nym address" edition = "2021" diff --git a/contracts/CHANGELOG.md b/contracts/CHANGELOG.md index 361ceec70e..3de60bd6f4 100644 --- a/contracts/CHANGELOG.md +++ b/contracts/CHANGELOG.md @@ -1,8 +1,34 @@ -## Unreleased +## [nym-contracts-v1.1.0](https://github.com/nymtech/nym/tree/nym-contracts-v1.1.0) (2022-11-09) + +### Changed +- mixnet-contract: rework of rewarding ([#1472]), which includes, but is not limited to: + - internal reward accounting was modified to be similar to the ideas presented in Cosmos' F1 paper, which results in throughput gains and no storage or gas cost bloat over time, + - introduced internal queues for pending epoch and interval events that only get resolved once relevant epoch/interval rolls over + - the contract no longer stores any historical information regarding past epochs/parameters/stake state for the purposes of rewarding + - a lot of queries got renamed to keep naming more consistent, + - introduced new utility-based queries such as a query for reward estimation for the current epoch, + - mixnodes are now identified by a monotonously increasing `mix_id` + - bonding now results in getting fresh `mix_id` and thus if given node decides to unbond and rebond, it will lose all its delegations, + - mixnode operators are now allowed to set their operating costs as opposed to having fixed value of 40nym/interval + - rewarding parameters are now correctly updated at an **interval** end + - rewarding parameters now include a staking supply scale factor attribute (beta in the tokenomics paper) + - node performance can now be more granular with internal `Decimal` representation as opposed to an `u8` + - node profit margin can now be more granular with internal `Decimal` representation as opposed to an `u8` + - mixnode operators are now allowed to change their configuration options, such as port information, without having to unbond + - mixnode unbonding is no longer instantaneous, instead it happens once an epoch rolls over + - it is now possible to query for operator and node history to see how often (and with what parameters) they rebonded + - other minor bugfixes and changes + - ... + - new exciting bugs to find and squash + +- vesting-contract: optional locked token pledge cap per account ([#1687]), defaults to 10% +- vesting-contract: updated internal delegation storage due to mixnet contract revamp ([#1472]) ### Added - vesting-contract: added query for obtaining contract build information ([#1726]) +[#1472]: https://github.com/nymtech/nym/pull/1472 +[#1687]: https://github.com/nymtech/nym/pull/1687 [#1726]: https://github.com/nymtech/nym/pull/1726 @@ -11,12 +37,10 @@ ### Added - vesting-contract: added queries for delegation timestamps and paged query for all vesting delegations in the contract ([#1569]) -- all binaries: added shell completion and [Fig](fig.io) spec generation ([#1638]) ### Changed - mixnet-contract: compounding delegator rewards now happens instantaneously as opposed to having to wait for the current epoch to finish ([#1571]) -- network-requester: updated CLI to use `clap` macros ([#1638]) ### Fixed @@ -26,9 +50,8 @@ [#1544]: https://github.com/nymtech/nym/pull/1544 [#1569]: https://github.com/nymtech/nym/pull/1569 -[#1569]: https://github.com/nymtech/nym/pull/1571 +[#1571]: https://github.com/nymtech/nym/pull/1571 [#1613]: https://github.com/nymtech/nym/pull/1613 -[#1638]: https://github.com/nymtech/nym/pull/1638 ## [nym-contracts-v1.0.1](https://github.com/nymtech/nym/tree/nym-contracts-v1.0.1) (2022-06-22) diff --git a/contracts/Cargo.lock b/contracts/Cargo.lock index 09bc8adff2..ac852c6398 100644 --- a/contracts/Cargo.lock +++ b/contracts/Cargo.lock @@ -930,7 +930,7 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "mixnet-contract" -version = "1.0.2" +version = "1.1.0" dependencies = [ "bs58", "cosmwasm-schema", diff --git a/contracts/mixnet/Cargo.toml b/contracts/mixnet/Cargo.toml index f8e0780d87..d4d0ac43a5 100644 --- a/contracts/mixnet/Cargo.toml +++ b/contracts/mixnet/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mixnet-contract" -version = "1.0.2" +version = "1.1.0" authors = ["Dave Hrycyszyn "] edition = "2021" diff --git a/explorer-api/Cargo.toml b/explorer-api/Cargo.toml index 217433d4e5..ab442f466f 100644 --- a/explorer-api/Cargo.toml +++ b/explorer-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "explorer-api" -version = "1.0.1" +version = "1.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/gateway/Cargo.toml b/gateway/Cargo.toml index 3cf8112ff9..6d1dbf3f07 100644 --- a/gateway/Cargo.toml +++ b/gateway/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-gateway" -version = "1.0.2" +version = "1.1.0" authors = [ "Dave Hrycyszyn ", "Jędrzej Stuczyński ", diff --git a/mixnode/Cargo.toml b/mixnode/Cargo.toml index 2fbe6bd5c6..ea2dc207a0 100644 --- a/mixnode/Cargo.toml +++ b/mixnode/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-mixnode" -version = "1.0.2" +version = "1.1.0" authors = [ "Dave Hrycyszyn ", "Jędrzej Stuczyński ", diff --git a/nym-connect/CHANGELOG.md b/nym-connect/CHANGELOG.md index 4fc097fc77..a273afb9ed 100644 --- a/nym-connect/CHANGELOG.md +++ b/nym-connect/CHANGELOG.md @@ -1,3 +1,20 @@ +## [nym-connect-v1.1.0](https://github.com/nymtech/nym/tree/nym-connect-v1.1.0) (2022-11-09) + +- nym-connect: rework of rewarding changes the directory data structures that describe the mixnet topology ([#1472]) +- clients: add testing-only support for two more extended packet sizes (8kb and 16kb). +- native-client/socks5-client: `disable_loop_cover_traffic_stream` Debug config option to disable the separate loop cover traffic stream ([#1666]) +- native-client/socks5-client: `disable_main_poisson_packet_distribution` Debug config option to make the client ignore poisson distribution in the main packet stream and ONLY send real message (and as fast as they come) ([#1664]) +- native-client/socks5-client: `use_extended_packet_size` Debug config option to make the client use 'ExtendedPacketSize' for its traffic (32kB as opposed to 2kB in 1.0.2) ([#1671]) +- network-requester: added additional Blockstream Green wallet endpoint to `example.allowed.list` ([#1611]) +- validator-client: added `query_contract_smart` and `query_contract_raw` on `NymdClient` ([#1558]) + +[#1472]: https://github.com/nymtech/nym/pull/1472 +[#1558]: https://github.com/nymtech/nym/pull/1558 +[#1611]: https://github.com/nymtech/nym/pull/1611 +[#1664]: https://github.com/nymtech/nym/pull/1664 +[#1666]: https://github.com/nymtech/nym/pull/1666 +[#1671]: https://github.com/nymtech/nym/pull/1671 + ## [nym-connect-v1.0.2](https://github.com/nymtech/nym/tree/nym-connect-v1.0.2) (2022-08-18) ### Changed diff --git a/nym-connect/Cargo.lock b/nym-connect/Cargo.lock index 2674eae1fa..73f322f581 100644 --- a/nym-connect/Cargo.lock +++ b/nym-connect/Cargo.lock @@ -3214,7 +3214,7 @@ dependencies = [ [[package]] name = "nym-connect" -version = "1.0.2" +version = "1.1.0" dependencies = [ "bip39", "client-core", @@ -3247,7 +3247,7 @@ dependencies = [ [[package]] name = "nym-socks5-client" -version = "1.0.2" +version = "1.1.0" dependencies = [ "clap", "client-core", @@ -6188,7 +6188,6 @@ version = "0.1.0" dependencies = [ "contracts-common", "cosmwasm-std", - "log", "mixnet-contract-common", "schemars", "serde", diff --git a/nym-connect/src-tauri/Cargo.toml b/nym-connect/src-tauri/Cargo.toml index b7ee99f14c..11f79849b7 100644 --- a/nym-connect/src-tauri/Cargo.toml +++ b/nym-connect/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nym-connect" -version = "1.0.2" +version = "1.1.0" description = "nym-connect" authors = ["Nym Technologies SA"] license = "" diff --git a/nym-connect/src-tauri/tauri.conf.json b/nym-connect/src-tauri/tauri.conf.json index 3a4be90432..c4fce76f06 100644 --- a/nym-connect/src-tauri/tauri.conf.json +++ b/nym-connect/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "package": { "productName": "nym-connect", - "version": "1.0.2" + "version": "1.1.0" }, "build": { "distDir": "../dist", diff --git a/nym-wallet/CHANGELOG.md b/nym-wallet/CHANGELOG.md index d3bd1b2f14..6c6395a903 100644 --- a/nym-wallet/CHANGELOG.md +++ b/nym-wallet/CHANGELOG.md @@ -1,8 +1,21 @@ # Changelog -## Unreleased +## [nym-wallet-v1.1.0](https://github.com/nymtech/nym/releases/tag/nym-wallet-v1.1.0) (2022-11-09) -- Add window for showing logs for when the terminal is not available. +- wallet: Add window for showing logs for when the terminal is not available. +- wallet: Rework of rewarding ([#1472]) +- wallet: Highlight delegations on an unbonded node to notify the delegator to undelegate stake +- wallet: Group delegations on unbonded nodes at the top of the list +- wallet: Simplified delegation screen when user has no delegations +- wallet: Update "create password" howto guide +- wallet: Allow setting of operatoring cost when node is bonded +- wallet: Allow update of operatoring cost on bonded node +- wallet: New bond settings area +- wallet: Display pending unbonds +- wallet: Display routing score and average score for gateways +- wallet: Improve dialogs for account creation + +[#1472]: https://github.com/nymtech/nym/pull/1472 ## [nym-wallet-v1.0.9](https://github.com/nymtech/nym/releases/tag/nym-wallet-v1.0.8) (2022-09-08) @@ -14,7 +27,6 @@ - wallet: compound and redeem functionalities for operator rewards - wallet: a few minor touch ups and bug fixes - ## [nym-wallet-v1.0.7](https://github.com/nymtech/nym/tree/nym-wallet-v1.0.7) (2022-07-11) - wallet: dark mode diff --git a/nym-wallet/Cargo.lock b/nym-wallet/Cargo.lock index dfbfe63531..49faf27034 100644 --- a/nym-wallet/Cargo.lock +++ b/nym-wallet/Cargo.lock @@ -2877,7 +2877,7 @@ dependencies = [ [[package]] name = "nym_wallet" -version = "1.0.9" +version = "1.1.0" dependencies = [ "aes-gcm", "argon2 0.3.4", @@ -5423,7 +5423,6 @@ version = "0.1.0" dependencies = [ "contracts-common", "cosmwasm-std", - "log", "mixnet-contract-common", "schemars", "serde", diff --git a/nym-wallet/src-tauri/Cargo.toml b/nym-wallet/src-tauri/Cargo.toml index 44bde03d68..21dfa19030 100644 --- a/nym-wallet/src-tauri/Cargo.toml +++ b/nym-wallet/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nym_wallet" -version = "1.0.9" +version = "1.1.0" description = "Nym Native Wallet" authors = ["Nym Technologies SA"] license = "" diff --git a/nym-wallet/src-tauri/tauri.conf.json b/nym-wallet/src-tauri/tauri.conf.json index 035117f5d8..11af64d0a0 100644 --- a/nym-wallet/src-tauri/tauri.conf.json +++ b/nym-wallet/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "package": { "productName": "nym-wallet", - "version": "1.0.9" + "version": "1.1.0" }, "build": { "distDir": "../dist", diff --git a/service-providers/network-requester/Cargo.toml b/service-providers/network-requester/Cargo.toml index b0a113e0ab..7ea81c1aa3 100644 --- a/service-providers/network-requester/Cargo.toml +++ b/service-providers/network-requester/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-network-requester" -version = "1.0.2" +version = "1.1.0" authors = ["Dave Hrycyszyn ", "Jędrzej Stuczyński "] edition = "2021" diff --git a/tools/nym-cli/CHANGELOG.md b/tools/nym-cli/CHANGELOG.md new file mode 100644 index 0000000000..66dcf5c9ec --- /dev/null +++ b/tools/nym-cli/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +## [nym-cli-1.1.0](https://github.com/nymtech/nym/tree/nym-cli-1.1.0) (2022-11-09) + +### Changed +- nym-cli: rework of rewarding ([#1472]) + +[#1472]: https://github.com/nymtech/nym/pull/1472 + +## [nym-cli-1.0.0](https://github.com/nymtech/nym/tree/nym-cli-1.0.0) + +- nym-cli: added CLI tool for interacting with the Nyx blockchain and Nym mixnet smart contracts ([#1577]) diff --git a/tools/nym-cli/Cargo.toml b/tools/nym-cli/Cargo.toml index b4bdb9222a..2ec5af6404 100644 --- a/tools/nym-cli/Cargo.toml +++ b/tools/nym-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nym-cli" -version = "1.0.0" +version = "1.1.0" authors = ["Nym Technologies SA"] edition = "2021" diff --git a/validator-api/Cargo.toml b/validator-api/Cargo.toml index 90be5aa060..9b07010edc 100644 --- a/validator-api/Cargo.toml +++ b/validator-api/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-validator-api" -version = "1.0.2" +version = "1.1.0" authors = [ "Dave Hrycyszyn ", "Jędrzej Stuczyński ",