From cf268ffcd59f7a6c65d6bf96c154b62cc0c97fab Mon Sep 17 00:00:00 2001 From: durch Date: Wed, 9 Nov 2022 10:19:21 +0100 Subject: [PATCH 01/12] Actually save updated pledge cap --- contracts/vesting/src/contract.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/vesting/src/contract.rs b/contracts/vesting/src/contract.rs index da293349bf..ff6970d7a1 100644 --- a/contracts/vesting/src/contract.rs +++ b/contracts/vesting/src/contract.rs @@ -2,7 +2,7 @@ use crate::errors::ContractError; use crate::queued_migrations::migrate_to_v2_mixnet_contract; use crate::storage::{ account_from_address, BlockTimestampSecs, ADMIN, DELEGATIONS, MIXNET_CONTRACT_ADDRESS, - MIX_DENOM, + MIX_DENOM, save_account, }; use crate::traits::{ DelegatingAccount, GatewayBondingAccount, MixnodeBondingAccount, VestingAccount, @@ -158,7 +158,7 @@ pub fn try_update_locked_pledge_cap( let mut account = account_from_address(&address, deps.storage, deps.api)?; account.pledge_cap = Some(cap); - // update_locked_pledge_cap(amount, deps.storage)?; + save_account(&account, deps.storage)?; Ok(Response::default()) } From 65a9320d356fd757c36ad48b0fc3cea296e8efdb Mon Sep 17 00:00:00 2001 From: Drazen Urch Date: Mon, 7 Nov 2022 14:40:52 +0100 Subject: [PATCH 02/12] Set default pledge cap to 10% (#1739) * Set default pledge cap to 10% * fix clippy beta lints --- common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs b/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs index 20da138074..647352861a 100644 --- a/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs +++ b/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs @@ -85,7 +85,7 @@ impl FromStr for PledgeCap { impl Default for PledgeCap { fn default() -> Self { - PledgeCap::Absolute(Uint128::from(100_000_000_000u128)) + PledgeCap::Percent(Percent::from_percentage_value(10).expect("This can never fail!")) } } From e3c02dc80afde20f9d7a51903aa3c776c67c23b7 Mon Sep 17 00:00:00 2001 From: durch Date: Wed, 9 Nov 2022 10:19:21 +0100 Subject: [PATCH 03/12] Actually save updated pledge cap --- contracts/vesting/src/contract.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/vesting/src/contract.rs b/contracts/vesting/src/contract.rs index 71829c76cf..ce1546ca14 100644 --- a/contracts/vesting/src/contract.rs +++ b/contracts/vesting/src/contract.rs @@ -2,7 +2,7 @@ use crate::errors::ContractError; use crate::queued_migrations::migrate_to_v2_mixnet_contract; use crate::storage::{ account_from_address, BlockTimestampSecs, ADMIN, DELEGATIONS, MIXNET_CONTRACT_ADDRESS, - MIX_DENOM, + MIX_DENOM, save_account, }; use crate::traits::{ DelegatingAccount, GatewayBondingAccount, MixnodeBondingAccount, VestingAccount, @@ -158,7 +158,7 @@ pub fn try_update_locked_pledge_cap( let mut account = account_from_address(&address, deps.storage, deps.api)?; account.pledge_cap = Some(cap); - // update_locked_pledge_cap(amount, deps.storage)?; + save_account(&account, deps.storage)?; Ok(Response::default()) } From 269f50bdd481f69ad627c0722f280ce86920897e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20H=C3=A4ggblad?= Date: Wed, 9 Nov 2022 10:25:39 +0100 Subject: [PATCH 04/12] rustfmt --- contracts/vesting/src/contract.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/vesting/src/contract.rs b/contracts/vesting/src/contract.rs index ce1546ca14..5efb3d750a 100644 --- a/contracts/vesting/src/contract.rs +++ b/contracts/vesting/src/contract.rs @@ -1,8 +1,8 @@ use crate::errors::ContractError; use crate::queued_migrations::migrate_to_v2_mixnet_contract; use crate::storage::{ - account_from_address, BlockTimestampSecs, ADMIN, DELEGATIONS, MIXNET_CONTRACT_ADDRESS, - MIX_DENOM, save_account, + account_from_address, save_account, BlockTimestampSecs, ADMIN, DELEGATIONS, + MIXNET_CONTRACT_ADDRESS, MIX_DENOM, }; use crate::traits::{ DelegatingAccount, GatewayBondingAccount, MixnodeBondingAccount, VestingAccount, From b89ec2e0be55c0fa9260c239b44147b1de673d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20H=C3=A4ggblad?= Date: Wed, 9 Nov 2022 10:43:53 +0100 Subject: [PATCH 05/12] clippy --- common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs b/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs index 647352861a..3915b73fb1 100644 --- a/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs +++ b/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs @@ -85,6 +85,7 @@ impl FromStr for PledgeCap { impl Default for PledgeCap { fn default() -> Self { + #[allow(clippy::expect_used)] PledgeCap::Percent(Percent::from_percentage_value(10).expect("This can never fail!")) } } From 62e9c8236a2ac410885bd375b2f73ab746c03d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20H=C3=A4ggblad?= Date: Wed, 9 Nov 2022 11:04:32 +0100 Subject: [PATCH 06/12] Remove log from vesting-contract (#1745) * Remove log from vesting-contract * rustfmt --- Cargo.lock | 1 - .../vesting-contract/Cargo.toml | 1 - .../vesting-contract/src/lib.rs | 23 ++++--------------- contracts/Cargo.lock | 1 - contracts/vesting/src/contract.rs | 4 ++-- 5 files changed, 7 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 207872c863..c0ad7c504d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6514,7 +6514,6 @@ version = "0.1.0" dependencies = [ "contracts-common", "cosmwasm-std", - "log", "mixnet-contract-common", "schemars", "serde", diff --git a/common/cosmwasm-smart-contracts/vesting-contract/Cargo.toml b/common/cosmwasm-smart-contracts/vesting-contract/Cargo.toml index c2fa50a159..c4a51aff9d 100644 --- a/common/cosmwasm-smart-contracts/vesting-contract/Cargo.toml +++ b/common/cosmwasm-smart-contracts/vesting-contract/Cargo.toml @@ -9,7 +9,6 @@ mixnet-contract-common = { path = "../mixnet-contract" } contracts-common = { path = "../contracts-common" } serde = { version = "1.0", features = ["derive"] } schemars = "0.8" -log = "0.4" ts-rs = {version = "6.1.2", optional = true} [features] diff --git a/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs b/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs index 7e0e90d852..0b89f1aa52 100644 --- a/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs +++ b/common/cosmwasm-smart-contracts/vesting-contract/src/lib.rs @@ -4,7 +4,6 @@ use std::str::FromStr; // SPDX-License-Identifier: Apache-2.0 use contracts_common::Percent; use cosmwasm_std::{Addr, Coin, Timestamp, Uint128}; -use log::warn; use mixnet_contract_common::MixId; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; @@ -59,23 +58,11 @@ impl FromStr for PledgeCap { fn from_str(cap: &str) -> Result { let cap = cap.replace('_', "").replace(',', "."); match Percent::from_str(&cap) { - Ok(p) => { - if p.is_zero() { - warn!("Pledge cap set to 0%, are you sure this is right?") - } - Ok(PledgeCap::Percent(p)) - } - Err(_) => { - match cap.parse::() { - Ok(i) => { - if i < 100_000_000_000 { - warn!("PledgeCap set to less then 100_000 NYM, are you sure this is right?"); - } - Ok(PledgeCap::Absolute(Uint128::from(i))) - } - Err(_e) => Err(format!("Could not parse {} as Percent or Uint128", cap)), - } - } + Ok(p) => Ok(PledgeCap::Percent(p)), + Err(_) => match cap.parse::() { + Ok(i) => Ok(PledgeCap::Absolute(Uint128::from(i))), + Err(_e) => Err(format!("Could not parse {} as Percent or Uint128", cap)), + }, } } } diff --git a/contracts/Cargo.lock b/contracts/Cargo.lock index 706a7c5e36..09bc8adff2 100644 --- a/contracts/Cargo.lock +++ b/contracts/Cargo.lock @@ -1625,7 +1625,6 @@ version = "0.1.0" dependencies = [ "contracts-common", "cosmwasm-std", - "log", "mixnet-contract-common", "schemars", "serde", diff --git a/contracts/vesting/src/contract.rs b/contracts/vesting/src/contract.rs index ff6970d7a1..6c67db1b27 100644 --- a/contracts/vesting/src/contract.rs +++ b/contracts/vesting/src/contract.rs @@ -1,8 +1,8 @@ use crate::errors::ContractError; use crate::queued_migrations::migrate_to_v2_mixnet_contract; use crate::storage::{ - account_from_address, BlockTimestampSecs, ADMIN, DELEGATIONS, MIXNET_CONTRACT_ADDRESS, - MIX_DENOM, save_account, + account_from_address, save_account, BlockTimestampSecs, ADMIN, DELEGATIONS, + MIXNET_CONTRACT_ADDRESS, MIX_DENOM, }; use crate::traits::{ DelegatingAccount, GatewayBondingAccount, MixnodeBondingAccount, VestingAccount, From b8cb683da0ec6f8acd096e7ddd1f4a5559687909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20H=C3=A4ggblad?= Date: Wed, 9 Nov 2022 11:27:28 +0100 Subject: [PATCH 07/12] Add qwerty qa net env file --- envs/qa-qwerty.env | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 envs/qa-qwerty.env diff --git a/envs/qa-qwerty.env b/envs/qa-qwerty.env new file mode 100644 index 0000000000..26e5b0fe1f --- /dev/null +++ b/envs/qa-qwerty.env @@ -0,0 +1,20 @@ +CONFIGURED=true + +RUST_LOG=info +RUST_BACKTRACE=1 + +BECH32_PREFIX=n +MIX_DENOM=unym +MIX_DENOM_DISPLAY=nym +STAKE_DENOM=unyx +STAKE_DENOM_DISPLAY=nyx +DENOMS_EXPONENT=6 +MIXNET_CONTRACT_ADDRESS=n14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sjyvg3g +VESTING_CONTRACT_ADDRESS=n1nc5tatafv6eyq7llkr2gv50ff9e22mnf70qgjlv737ktmt4eswrq73f2nw +BANDWIDTH_CLAIM_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 +COCONUT_BANDWIDTH_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 +MULTISIG_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 +REWARDING_VALIDATOR_ADDRESS=n10yyd98e2tuwu0f7ypz9dy3hhjw7v772q6287gy +STATISTICS_SERVICE_DOMAIN_ADDRESS="https://mainnet-stats.nymte.ch:8090" +NYMD_VALIDATOR="https://qwerty-validator.qa.nymte.ch/" +API_VALIDATOR="https://qwerty-validator-api.qa.nymte.ch/api" From baa61c07d5dd7e0485d8fae5ea95fe353fb14874 Mon Sep 17 00:00:00 2001 From: Fouad Date: Wed, 9 Nov 2022 12:39:14 +0000 Subject: [PATCH 08/12] Bug fix/ne snag list (#1741) * use uncapped saturation * display uncapped saturation update profit margin tooltip update operating cost update rewards tooltip update stake saturation tooltip update reward tooltips update profit margin tooltip * allow full gateway field to be clickable use uncapped saturation on mixnode details page --- explorer-api/src/mix_node/econ_stats.rs | 2 ++ explorer-api/src/mix_node/models.rs | 2 ++ explorer-api/src/mix_nodes/models.rs | 2 ++ .../components/MixNodes/Economics/Columns.ts | 10 +++--- .../src/components/MixNodes/Economics/Rows.ts | 21 ++---------- explorer/src/components/MixNodes/index.ts | 6 ++-- explorer/src/pages/Gateways/index.tsx | 33 ++++++++++++++----- explorer/src/pages/MixnodeDetail/index.tsx | 2 +- explorer/src/pages/Mixnodes/index.tsx | 8 ++--- explorer/src/typeDefs/explorer-api.ts | 4 ++- .../Bonding/forms/BondGatewayForm.tsx | 2 +- .../src/pages/settings/system-variables.tsx | 2 +- 12 files changed, 53 insertions(+), 41 deletions(-) diff --git a/explorer-api/src/mix_node/econ_stats.rs b/explorer-api/src/mix_node/econ_stats.rs index 22f106b1aa..cde29d3a86 100644 --- a/explorer-api/src/mix_node/econ_stats.rs +++ b/explorer-api/src/mix_node/econ_stats.rs @@ -41,6 +41,8 @@ pub(crate) async fn retrieve_mixnode_econ_stats( Some(EconomicDynamicsStats { stake_saturation: best_effort_small_dec_to_f64(stake_saturation.saturation) as f32, + uncapped_saturation: best_effort_small_dec_to_f64(stake_saturation.uncapped_saturation) + as f32, active_set_inclusion_probability: inclusion_probability.in_active, reserve_set_inclusion_probability: inclusion_probability.in_reserve, // drop precision for compatibility sake diff --git a/explorer-api/src/mix_node/models.rs b/explorer-api/src/mix_node/models.rs index 1d709433b1..ef894e4b40 100644 --- a/explorer-api/src/mix_node/models.rs +++ b/explorer-api/src/mix_node/models.rs @@ -34,6 +34,7 @@ pub(crate) struct PrettyDetailedMixNodeBond { pub layer: Layer, pub mix_node: MixNode, pub stake_saturation: f32, + pub uncapped_saturation: f32, pub avg_uptime: u8, pub estimated_operator_apy: f64, pub estimated_delegators_apy: f64, @@ -153,6 +154,7 @@ pub(crate) struct NodeStats { #[derive(Clone, Serialize, Deserialize, JsonSchema)] pub(crate) struct EconomicDynamicsStats { pub(crate) stake_saturation: f32, + pub(crate) uncapped_saturation: f32, pub(crate) active_set_inclusion_probability: SelectionChance, pub(crate) reserve_set_inclusion_probability: SelectionChance, diff --git a/explorer-api/src/mix_nodes/models.rs b/explorer-api/src/mix_nodes/models.rs index 07899742c9..8dc9c96ac3 100644 --- a/explorer-api/src/mix_nodes/models.rs +++ b/explorer-api/src/mix_nodes/models.rs @@ -151,6 +151,8 @@ impl ThreadsafeMixNodesCache { mix_node: node.mixnode_details.bond_information.mix_node.clone(), avg_uptime: node.performance.round_to_integer(), stake_saturation: best_effort_small_dec_to_f64(node.stake_saturation) as f32, + uncapped_saturation: best_effort_small_dec_to_f64(node.uncapped_stake_saturation) + as f32, estimated_operator_apy: best_effort_small_dec_to_f64(node.estimated_operator_apy), estimated_delegators_apy: best_effort_small_dec_to_f64(node.estimated_delegators_apy), operating_cost: rewarding_info.cost_params.interval_operating_cost.clone(), diff --git a/explorer/src/components/MixNodes/Economics/Columns.ts b/explorer/src/components/MixNodes/Economics/Columns.ts index 40fef70b68..133551bcc6 100644 --- a/explorer/src/components/MixNodes/Economics/Columns.ts +++ b/explorer/src/components/MixNodes/Economics/Columns.ts @@ -6,14 +6,16 @@ export const EconomicsInfoColumns: ColumnsType[] = [ title: 'Estimated Total Reward', flex: 1, headerAlign: 'left', - tooltipInfo: 'Estimated reward per epoch for this profit margin if your node is selected in the active set.', + tooltipInfo: + 'Estimated node reward (total for the operator and delegators) in the current epoch. There are roughly 24 epochs in a day.', }, { field: 'estimatedOperatorReward', title: 'Estimated Operator Reward', flex: 1, headerAlign: 'left', - tooltipInfo: 'Estimated reward per epoch for this profit margin if your node is selected in the active set.', + tooltipInfo: + "Estimated operator's reward (including PM and Operating Cost) in the current epoch. There are roughly 24 epochs in a day.", }, { field: 'selectionChance', @@ -29,7 +31,7 @@ export const EconomicsInfoColumns: ColumnsType[] = [ flex: 1, headerAlign: 'left', tooltipInfo: - 'Level of stake saturation for this node. Nodes receive more rewards the higher their saturation level, up to 100%. Beyond 100% no additional rewards are granted. The current stake saturation level is: 1 million NYM, computed as S/K where S is total amount of tokens available to stakeholders and K is the number of nodes in the reward set.', + 'Level of stake saturation for this node. Nodes receive more rewards the higher their saturation level, up to 100%. Beyond 100% no additional rewards are granted. The current stake saturation level is: 750k NYM, computed as S/K where S is total amount of tokens available to stakeholders and K is the number of nodes in the reward set.', }, { field: 'profitMargin', @@ -37,7 +39,7 @@ export const EconomicsInfoColumns: ColumnsType[] = [ flex: 1, headerAlign: 'left', tooltipInfo: - 'Percentage of the delegates rewards that the operator takes as fee before rewards are distributed to the delegates.', + 'Percentage of the delegators rewards that the operator takes as fee before rewards are distributed to the delegators.', }, { field: 'operatingCost', diff --git a/explorer/src/components/MixNodes/Economics/Rows.ts b/explorer/src/components/MixNodes/Economics/Rows.ts index a4f998a1f0..61049a5ca3 100644 --- a/explorer/src/components/MixNodes/Economics/Rows.ts +++ b/explorer/src/components/MixNodes/Economics/Rows.ts @@ -4,23 +4,8 @@ import { ApiState, MixNodeEconomicDynamicsStatsResponse } from '../../../typeDef import { EconomicsInfoRowWithIndex } from './types'; import { toPercentIntegerString } from '../../../utils'; -const selectionChance = (economicDynamicsStats: ApiState | undefined) => { - const inclusionProbability = economicDynamicsStats?.data?.active_set_inclusion_probability; - // TODO: when v2 will be deployed, remove cases: VeryHigh, Moderate and VeryLow - switch (inclusionProbability) { - case 'VeryLow': - return 'Very Low'; - case 'VeryHigh': - return 'Very High'; - case 'High': - case 'Good': - case 'Low': - case 'Moderate': - return inclusionProbability; - default: - return '-'; - } -}; +const selectionChance = (economicDynamicsStats: ApiState | undefined) => + economicDynamicsStats?.data?.active_set_inclusion_probability || '-'; export const EconomicsInfoRows = (): EconomicsInfoRowWithIndex => { const { economicDynamicsStats, mixNode } = useMixnodeContext(); @@ -29,7 +14,7 @@ export const EconomicsInfoRows = (): EconomicsInfoRowWithIndex => { currencyToString((economicDynamicsStats?.data?.estimated_total_node_reward || '').toString()) || '-'; const estimatedOperatorRewards = currencyToString((economicDynamicsStats?.data?.estimated_operator_reward || '').toString()) || '-'; - const stakeSaturation = economicDynamicsStats?.data?.stake_saturation || '-'; + const stakeSaturation = economicDynamicsStats?.data?.uncapped_saturation || '-'; const profitMargin = mixNode?.data?.profit_margin_percent ? toPercentIntegerString(mixNode?.data?.profit_margin_percent) : '-'; diff --git a/explorer/src/components/MixNodes/index.ts b/explorer/src/components/MixNodes/index.ts index 3435c3bf3f..6c41fb206d 100644 --- a/explorer/src/components/MixNodes/index.ts +++ b/explorer/src/components/MixNodes/index.ts @@ -31,7 +31,7 @@ export function mixNodeResponseItemToMixnodeRowType(item: MixNodeResponseItem): const totalBond = pledge + delegations; const selfPercentage = ((pledge * 100) / totalBond).toFixed(2); const profitPercentage = toPercentIntegerString(item.profit_margin_percent) || 0; - const stakeSaturation = typeof item.stake_saturation === 'number' ? item.stake_saturation * 100 : 0; + const uncappedSaturation = typeof item.uncapped_saturation === 'number' ? item.uncapped_saturation * 100 : 0; return { mix_id: item.mix_id, @@ -47,7 +47,7 @@ export function mixNodeResponseItemToMixnodeRowType(item: MixNodeResponseItem): layer: item?.layer || '', profit_percentage: `${profitPercentage}%`, avg_uptime: `${item.avg_uptime}%` || '-', - stake_saturation: stakeSaturation, - operating_cost: `${unymToNym(item.operating_cost.amount, 6)} NYM`, + stake_saturation: uncappedSaturation, + operating_cost: `${unymToNym(item.operating_cost?.amount, 6)} NYM`, }; } diff --git a/explorer/src/pages/Gateways/index.tsx b/explorer/src/pages/Gateways/index.tsx index 6b557d593f..2430e4f9a5 100644 --- a/explorer/src/pages/Gateways/index.tsx +++ b/explorer/src/pages/Gateways/index.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { Link as RRDLink } from 'react-router-dom'; -import { Box, Button, Card, Grid, Typography, Link as MuiLink } from '@mui/material'; +import { Box, Button, Card, Grid, Link as MuiLink } from '@mui/material'; import { GridColDef, GridRenderCellParams } from '@mui/x-data-grid'; import { SelectChangeEvent } from '@mui/material/Select'; import { useMainContext } from '../../context/main'; @@ -12,6 +12,8 @@ import { Title } from '../../components/Title'; import { cellStyles, UniversalDataGrid } from '../../components/Universal-DataGrid'; import { currencyToString } from '../../utils/currency'; import { Tooltip } from '../../components/Tooltip'; +import { BIG_DIPPER } from '../../api/constants'; +import { splice } from '../../utils'; export const PageGateways: React.FC = () => { const { gateways } = useMainContext(); @@ -69,9 +71,14 @@ export const PageGateways: React.FC = () => { headerClassName: 'MuiDataGrid-header-override', headerAlign: 'left', renderCell: (params: GridRenderCellParams) => ( - + {currencyToString(params.value)} - + ), }, { @@ -81,9 +88,14 @@ export const PageGateways: React.FC = () => { headerAlign: 'left', headerClassName: 'MuiDataGrid-header-override', renderCell: (params: GridRenderCellParams) => ( - + {params.value} - + ), }, { @@ -120,9 +132,14 @@ export const PageGateways: React.FC = () => { headerAlign: 'left', headerClassName: 'MuiDataGrid-header-override', renderCell: (params: GridRenderCellParams) => ( - - {params.value} - + + {splice(7, 29, params.value)} + ), }, ]; diff --git a/explorer/src/pages/MixnodeDetail/index.tsx b/explorer/src/pages/MixnodeDetail/index.tsx index ac53ebebf0..266c13be3a 100644 --- a/explorer/src/pages/MixnodeDetail/index.tsx +++ b/explorer/src/pages/MixnodeDetail/index.tsx @@ -35,7 +35,7 @@ const columns: ColumnsType[] = [ }, { field: 'self_percentage', - title: 'Self %', + title: 'Bond %', headerAlign: 'left', width: 99, }, diff --git a/explorer/src/pages/Mixnodes/index.tsx b/explorer/src/pages/Mixnodes/index.tsx index f37707c134..c502799c54 100644 --- a/explorer/src/pages/Mixnodes/index.tsx +++ b/explorer/src/pages/Mixnodes/index.tsx @@ -149,7 +149,7 @@ export const PageMixnodes: React.FC = () => { renderHeader: () => ( ), headerClassName: 'MuiDataGrid-header-override', @@ -192,7 +192,7 @@ export const PageMixnodes: React.FC = () => { renderHeader: () => ( ), headerClassName: 'MuiDataGrid-header-override', @@ -210,10 +210,10 @@ export const PageMixnodes: React.FC = () => { }, { field: 'operating_cost', - headerName: 'Operating cost', + headerName: 'Operating Cost', renderHeader: () => ( ), diff --git a/explorer/src/typeDefs/explorer-api.ts b/explorer/src/typeDefs/explorer-api.ts index a01b87a1a9..f8350775c4 100644 --- a/explorer/src/typeDefs/explorer-api.ts +++ b/explorer/src/typeDefs/explorer-api.ts @@ -85,6 +85,7 @@ export interface MixNodeResponseItem { mix_node: MixNode; avg_uptime: number; stake_saturation: number; + uncapped_saturation: number; operating_cost: Amount; profit_margin_percent: string; } @@ -214,8 +215,9 @@ export type UptimeStoryResponse = { export type MixNodeEconomicDynamicsStatsResponse = { stake_saturation: number; + uncapped_saturation: number; // TODO: when v2 will be deployed, remove cases: VeryHigh, Moderate and VeryLow - active_set_inclusion_probability: 'High' | 'Good' | 'Low' | 'VeryLow' | 'Moderate' | 'VeryHigh'; + active_set_inclusion_probability: 'High' | 'Good' | 'Low'; reserve_set_inclusion_probability: 'High' | 'Good' | 'Low'; estimated_total_node_reward: number; estimated_operator_reward: number; diff --git a/nym-wallet/src/components/Bonding/forms/BondGatewayForm.tsx b/nym-wallet/src/components/Bonding/forms/BondGatewayForm.tsx index bf0511d51a..4ac0e47aaf 100644 --- a/nym-wallet/src/components/Bonding/forms/BondGatewayForm.tsx +++ b/nym-wallet/src/components/Bonding/forms/BondGatewayForm.tsx @@ -179,7 +179,7 @@ const AmountFormData = ({ setValue('operatorCost', newValue, { shouldValidate: true })} validationError={errors.operatorCost?.amount?.message} diff --git a/nym-wallet/src/pages/settings/system-variables.tsx b/nym-wallet/src/pages/settings/system-variables.tsx index 015034f76e..761d98444c 100644 --- a/nym-wallet/src/pages/settings/system-variables.tsx +++ b/nym-wallet/src/pages/settings/system-variables.tsx @@ -152,7 +152,7 @@ export const SystemVariables = ({ = 100} />} /> From 9874daa061392c58c5d6ebc2745b90709bb89e47 Mon Sep 17 00:00:00 2001 From: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> Date: Wed, 9 Nov 2022 15:04:41 +0000 Subject: [PATCH 09/12] Release v1.1.0: bump versions and update CHANGELOGs (#1746) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 Co-authored-by: Fouad Co-authored-by: Pierre Dommerc Co-authored-by: Jędrzej Stuczyński Co-authored-by: Jess <31625607+jessgess@users.noreply.github.com> --- CHANGELOG.md | 42 ++++++++++--------- Cargo.lock | 16 +++---- clients/native/Cargo.toml | 2 +- clients/socks5/Cargo.toml | 2 +- contracts/CHANGELOG.md | 33 ++++++++++++--- contracts/Cargo.lock | 2 +- contracts/mixnet/Cargo.toml | 2 +- explorer-api/Cargo.toml | 2 +- gateway/Cargo.toml | 2 +- mixnode/Cargo.toml | 2 +- nym-connect/CHANGELOG.md | 17 ++++++++ nym-connect/Cargo.lock | 5 +-- nym-connect/src-tauri/Cargo.toml | 2 +- nym-connect/src-tauri/tauri.conf.json | 2 +- nym-wallet/CHANGELOG.md | 18 ++++++-- nym-wallet/Cargo.lock | 3 +- nym-wallet/src-tauri/Cargo.toml | 2 +- nym-wallet/src-tauri/tauri.conf.json | 2 +- .../network-requester/Cargo.toml | 2 +- tools/nym-cli/CHANGELOG.md | 12 ++++++ tools/nym-cli/Cargo.toml | 2 +- validator-api/Cargo.toml | 2 +- 22 files changed, 119 insertions(+), 55 deletions(-) create mode 100644 tools/nym-cli/CHANGELOG.md 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 ", From 89925e49e8bd371a4f29baf4185c91eee2bee69f Mon Sep 17 00:00:00 2001 From: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> Date: Wed, 9 Nov 2022 18:20:45 +0000 Subject: [PATCH 10/12] GH Actions: Install same dependencies as build..yml --- .github/workflows/nym-release-publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/nym-release-publish.yml b/.github/workflows/nym-release-publish.yml index 7fd455dd46..700f1d697f 100644 --- a/.github/workflows/nym-release-publish.yml +++ b/.github/workflows/nym-release-publish.yml @@ -25,6 +25,9 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Install Dependencies (Linux) + run: sudo apt-get update && sudo apt-get -y install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libudev-dev squashfs-tools + - name: Check the release tag starts with `nym-binaries-` if: startsWith(github.ref, 'refs/tags/nym-binaries-') == false && github.event_name != 'workflow_dispatch' uses: actions/github-script@v3 From 2a1dd138e0e7d1bdf62dd4abd30f3622899c6a1b Mon Sep 17 00:00:00 2001 From: Mark Sinclair <14054343+mmsinclair@users.noreply.github.com> Date: Wed, 9 Nov 2022 18:20:45 +0000 Subject: [PATCH 11/12] GH Actions: Install same dependencies as build..yml --- .github/workflows/nym-release-publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/nym-release-publish.yml b/.github/workflows/nym-release-publish.yml index 7fd455dd46..700f1d697f 100644 --- a/.github/workflows/nym-release-publish.yml +++ b/.github/workflows/nym-release-publish.yml @@ -25,6 +25,9 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Install Dependencies (Linux) + run: sudo apt-get update && sudo apt-get -y install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libudev-dev squashfs-tools + - name: Check the release tag starts with `nym-binaries-` if: startsWith(github.ref, 'refs/tags/nym-binaries-') == false && github.event_name != 'workflow_dispatch' uses: actions/github-script@v3 From 09b9601c7e81c2d208f6a366208bde8776ad5c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20H=C3=A4ggblad?= Date: Thu, 10 Nov 2022 09:38:38 +0100 Subject: [PATCH 12/12] Update client-core to 1.1.0 --- Cargo.lock | 2 +- clients/client-core/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 396c7dff72..108dd30382 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -578,7 +578,7 @@ dependencies = [ [[package]] name = "client-core" -version = "1.0.1" +version = "1.1.0" dependencies = [ "config", "crypto", diff --git a/clients/client-core/Cargo.toml b/clients/client-core/Cargo.toml index 0f279f4425..075c46fd29 100644 --- a/clients/client-core/Cargo.toml +++ b/clients/client-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "client-core" -version = "1.0.1" +version = "1.1.0" authors = ["Dave Hrycyszyn "] edition = "2021"