Merge branch 'release/v1.1.15' into feature/add-docs-to-monorepo

This commit is contained in:
mx
2023-04-18 09:02:59 +00:00
committed by GitHub
34 changed files with 171 additions and 80 deletions
+21 -7
View File
@@ -4,15 +4,29 @@ Post 1.0.0 release, the changelog format is based on [Keep a Changelog](https://
## [Unreleased]
- nym-network-statistics properly handles signals ([#3209])
- add socks5 support for Rust SDK ([#3226], [#3255])
- add docs and dev-portal to monorepo ([#3291])
## [v1.1.15] (2023-04-18)
[#3209]: https://github.com/nymtech/nym/issues/3209
[#3226]: https://github.com/nymtech/nym/pull/3226
[#3255]: https://github.com/nymtech/nym/pull/3255
[#3291]: https://github.com/nymtech/nym/pull/3291
- Fix verloc being stuck waiting for shutdown signal ([#3250])
- Introduce `--output json` flag to `sign` command to allow to more easily capture the output ([#3249])
- Explorer - Dont fetch Service Provider list on Testnet ([#3245])
- When determining active set, rather than weighting the nodes by just the `stake`, use `stake * performance` ([#3234])
- Introduce dual packet sizes to our clients (as in use two packet sizes at the same time depending on message size) ([#3189])
- Experiment with offline signing in our validator client ([#3174])
- Modify network requester binary to reload `allowed.list` periodically to pull in any changes made upstream without having to restart the service ([#3149])
- Standardise all `--output json` on binary inits, we pass the output json at different points for different binaries. ([#3080])
- Service provider directory contract: initial version ([#2759])
- Fix issue where network-requester run failed on fresh init due to missing allow file ([#3316])
[#3250]: https://github.com/nymtech/nym/issues/3250
[#3249]: https://github.com/nymtech/nym/issues/3249
[#3245]: https://github.com/nymtech/nym/issues/3245
[#3234]: https://github.com/nymtech/nym/issues/3234
[#3189]: https://github.com/nymtech/nym/issues/3189
[#3174]: https://github.com/nymtech/nym/issues/3174
[#3149]: https://github.com/nymtech/nym/issues/3149
[#3080]: https://github.com/nymtech/nym/issues/3080
[#2759]: https://github.com/nymtech/nym/issues/2759
[#3316]: https://github.com/nymtech/nym/pull/3316
## [v1.1.14] (2023-04-04)
Generated
+10 -10
View File
@@ -1576,7 +1576,7 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "explorer-api"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"chrono",
"clap 4.1.11",
@@ -3011,7 +3011,7 @@ dependencies = [
[[package]]
name = "nym-api"
version = "1.1.15"
version = "1.1.16"
dependencies = [
"anyhow",
"async-trait",
@@ -3091,7 +3091,7 @@ dependencies = [
[[package]]
name = "nym-bin-common"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"atty",
"clap 4.1.11",
@@ -3125,7 +3125,7 @@ dependencies = [
[[package]]
name = "nym-cli"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"anyhow",
"base64 0.13.1",
@@ -3186,7 +3186,7 @@ dependencies = [
[[package]]
name = "nym-client"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"clap 4.1.11",
"dirs",
@@ -3456,7 +3456,7 @@ dependencies = [
[[package]]
name = "nym-gateway"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"anyhow",
"async-trait",
@@ -3606,7 +3606,7 @@ dependencies = [
[[package]]
name = "nym-mixnode"
version = "1.1.15"
version = "1.1.16"
dependencies = [
"anyhow",
"bs58",
@@ -3716,7 +3716,7 @@ dependencies = [
[[package]]
name = "nym-network-requester"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"async-file-watcher",
"async-trait",
@@ -3757,7 +3757,7 @@ dependencies = [
[[package]]
name = "nym-network-statistics"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"dirs",
"log",
@@ -3868,7 +3868,7 @@ dependencies = [
[[package]]
name = "nym-socks5-client"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"clap 4.1.11",
"lazy_static",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nym-client"
version = "1.1.14"
version = "1.1.15"
authors = ["Dave Hrycyszyn <futurechimp@users.noreply.github.com>", "Jędrzej Stuczyński <andrew@nymtech.net>"]
description = "Implementation of the Nym Client"
edition = "2021"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nym-socks5-client"
version = "1.1.14"
version = "1.1.15"
authors = ["Dave Hrycyszyn <futurechimp@users.noreply.github.com>"]
description = "A SOCKS5 localhost proxy that converts incoming messages to Sphinx and sends them to a Nym address"
edition = "2021"
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nym-bin-common"
version = "0.4.0"
version = "0.5.0"
description = "Common code for nym binaries"
edition = { workspace = true }
authors = { workspace = true }
@@ -1,6 +1,6 @@
[package]
name = "nym-vesting-contract-common"
version = "0.4.0"
version = "0.5.0"
description = "Common library for the Nym vesting contract"
edition = { workspace = true }
authors = { workspace = true }
+5
View File
@@ -2,6 +2,11 @@
## Unreleased
## [v1.3.1] (2023-04-18)
- Add a query to the vesting contract for the amount of delegated tokens towards a particular `mix_id` (might be needed by NG) ([#3228])
[#3228]: https://github.com/nymtech/nym/issues/3228
## [v1.3.0] (2023-04-04)
- change in-contract signatures to include nonces and to sign entire payloads for family-related operations ([#3125])
- change in-contract signatures to include nonces and to sign entire payloads for node bonding (will require wallet changes) ([#3067])
+3 -3
View File
@@ -1052,7 +1052,7 @@ dependencies = [
[[package]]
name = "nym-mixnet-contract"
version = "1.3.0"
version = "1.3.1"
dependencies = [
"bs58",
"cosmwasm-derive",
@@ -1148,7 +1148,7 @@ dependencies = [
[[package]]
name = "nym-vesting-contract"
version = "1.3.0"
version = "1.3.1"
dependencies = [
"base64 0.21.0",
"cosmwasm-crypto",
@@ -1171,7 +1171,7 @@ dependencies = [
[[package]]
name = "nym-vesting-contract-common"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"cosmwasm-std",
"nym-contracts-common",
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "nym-mixnet-contract"
version = "1.3.0"
version = "1.3.1"
description = "Nym mixnet contract"
edition = { workspace = true }
authors = { workspace = true }
@@ -23,7 +23,7 @@ crate-type = ["cdylib", "rlib"]
[dependencies]
mixnet-contract-common = { path = "../../common/cosmwasm-smart-contracts/mixnet-contract", package = "nym-mixnet-contract-common", version = "0.4.0" }
vesting-contract-common = { path = "../../common/cosmwasm-smart-contracts/vesting-contract", package = "nym-vesting-contract-common", version = "0.4.0" }
vesting-contract-common = { path = "../../common/cosmwasm-smart-contracts/vesting-contract", package = "nym-vesting-contract-common", version = "0.5.0" }
nym-contracts-common = { path = "../../common/cosmwasm-smart-contracts/contracts-common", version = "0.4.0" }
cosmwasm-std = { workspace = true }
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "nym-vesting-contract"
version = "1.3.0"
version = "1.3.1"
description = "Nym vesting contract"
edition = { workspace = true }
authors = { workspace = true }
@@ -22,7 +22,7 @@ crate-type = ["cdylib", "rlib"]
[dependencies]
mixnet-contract-common = { path = "../../common/cosmwasm-smart-contracts/mixnet-contract", package = "nym-mixnet-contract-common", version = "0.4.0" }
contracts-common = { path = "../../common/cosmwasm-smart-contracts/contracts-common", package = "nym-contracts-common", version = "0.4.0" }
vesting-contract-common = { path = "../../common/cosmwasm-smart-contracts/vesting-contract", package = "nym-vesting-contract-common", version = "0.4.0" }
vesting-contract-common = { path = "../../common/cosmwasm-smart-contracts/vesting-contract", package = "nym-vesting-contract-common", version = "0.5.0" }
cosmwasm-std = { workspace = true }
cosmwasm-derive = { workspace = true }
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "explorer-api"
version = "1.1.14"
version = "1.1.15"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+1 -1
View File
@@ -3,7 +3,7 @@
[package]
name = "nym-gateway"
version = "1.1.14"
version = "1.1.15"
authors = [
"Dave Hrycyszyn <futurechimp@users.noreply.github.com>",
"Jędrzej Stuczyński <andrew@nymtech.net>",
+1 -1
View File
@@ -3,7 +3,7 @@
[package]
name = "nym-mixnode"
version = "1.1.15"
version = "1.1.16"
authors = [
"Dave Hrycyszyn <futurechimp@users.noreply.github.com>",
"Jędrzej Stuczyński <andrew@nymtech.net>",
+1 -1
View File
@@ -3,7 +3,7 @@
[package]
name = "nym-api"
version = "1.1.15"
version = "1.1.16"
authors = [
"Dave Hrycyszyn <futurechimp@users.noreply.github.com>",
"Jędrzej Stuczyński <andrew@nymtech.net>",
@@ -86,4 +86,4 @@
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'"
}
}
}
}
+20
View File
@@ -2,6 +2,26 @@
## [Unreleased]
## [v1.1.15] (2023-04-18)
- [bug] bonding signature with vesting account ([#3315])
- Wallet - settings: fix version check ([#3306])
- Wallet - add new tauri command to fetch app version info ([#3305])
- Wallet - backend support to change password in file ([#3285])
- Wallet - add missing tooltips ([#3275])
- Wallet - global settings part 1 general and advanced 🟢 ([#2181])
- Wallet - global settings part 2 Security - Add&Change Password 🟢 ([#2275])
- feat(wallet): app version check (#3308) ([#3319])
[#3315]: https://github.com/nymtech/nym/issues/3315
[#3306]: https://github.com/nymtech/nym/issues/3306
[#3305]: https://github.com/nymtech/nym/issues/3305
[#3285]: https://github.com/nymtech/nym/issues/3285
[#3275]: https://github.com/nymtech/nym/issues/3275
[#2181]: https://github.com/nymtech/nym/issues/2181
[#2275]: https://github.com/nymtech/nym/issues/2275
[#3319]: https://github.com/nymtech/nym/pull/3319
## [v1.2.0] (2023-04-04)
- Add Version and Location to gateway settings ([#3266])
+12
View File
@@ -12,3 +12,15 @@ pub struct AppEnv {
pub SHOW_TERMINAL: Option<String>,
pub ENABLE_QA_MODE: Option<String>,
}
#[cfg_attr(feature = "generate-ts", derive(ts_rs::TS))]
#[cfg_attr(
feature = "generate-ts",
ts(export, export_to = "nym-wallet/src/types/rust/AppVersion.ts")
)]
#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, Debug)]
pub struct AppVersion {
pub current_version: String,
pub latest_version: String,
pub is_update_available: bool,
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@nymproject/nym-wallet-app",
"version": "1.2.0",
"version": "1.2.1",
"main": "index.js",
"license": "MIT",
"scripts": {
@@ -122,4 +122,4 @@
"webpack-favicons": "^1.3.8",
"webpack-merge": "^5.8.0"
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nym_wallet"
version = "1.2.0"
version = "1.2.1"
description = "Nym Native Wallet"
authors = ["Nym Technologies SA"]
license = ""
+2
View File
@@ -124,6 +124,8 @@ pub enum BackendError {
SignatureError(String),
#[error("Unable to open a new window")]
NewWindowError,
#[error("Failed to check for application update")]
CheckAppVersionError,
#[error(transparent)]
WalletError {
+2
View File
@@ -8,6 +8,7 @@ use tauri::{Manager, Menu};
use nym_mixnet_contract_common::{Gateway, MixNode};
use crate::menu::AddDefaultSubmenus;
use crate::operations::app;
use crate::operations::help;
use crate::operations::mixnet;
use crate::operations::nym_api;
@@ -35,6 +36,7 @@ fn main() {
tauri::Builder::default()
.manage(WalletState::default())
.invoke_handler(tauri::generate_handler![
app::version::check_version,
mixnet::account::add_account_for_password,
mixnet::account::archive_wallet_file,
mixnet::account::connect_with_mnemonic,
@@ -0,0 +1 @@
pub mod version;
@@ -0,0 +1,29 @@
// Copyright 2022 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::error::BackendError;
use nym_wallet_types::app::AppVersion;
#[tauri::command]
pub async fn check_version(handle: tauri::AppHandle) -> Result<AppVersion, BackendError> {
log::info!(">>> Getting app version info");
let res = tauri::updater::builder(handle)
.check()
.await
.map(|u| AppVersion {
current_version: u.current_version().to_string(),
latest_version: u.latest_version().to_owned(),
is_update_available: u.is_update_available(),
})
.map_err(|e| {
log::error!("An error ocurred while checking for app update {}", e);
BackendError::CheckAppVersionError
})?;
log::debug!(
"<<< update available: [{}], current version {}, latest version {}",
res.is_update_available,
res.current_version,
res.latest_version
);
Ok(res)
}
@@ -1,6 +1,7 @@
// Copyright 2021-2023 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
pub mod app;
pub mod help;
pub(crate) mod helpers;
pub mod mixnet;
+7 -30
View File
@@ -762,14 +762,7 @@ mod tests {
let wrong_password = UserPassword::new("wrong_password".to_string());
let id1 = LoginId::new("first".to_string());
store_login_at_file(
&wallet_file,
account1.clone(),
hd_path.clone(),
id1.clone(),
&password,
)
.unwrap();
store_login_at_file(&wallet_file, account1, hd_path, id1, &password).unwrap();
let err = update_encrypted_logins_at_file(&wallet_file, &wrong_password, &new_password)
.unwrap_err();
@@ -786,14 +779,7 @@ mod tests {
let new_password = UserPassword::new("new_password".to_string());
let id1 = LoginId::new("first".to_string());
store_login_at_file(
&wallet_file,
account1.clone(),
hd_path.clone(),
id1.clone(),
&password,
)
.unwrap();
store_login_at_file(&wallet_file, account1, hd_path, id1.clone(), &password).unwrap();
update_encrypted_logins_at_file(&wallet_file, &password, &new_password).unwrap();
@@ -873,14 +859,8 @@ mod tests {
let wrong_password = UserPassword::new("wrong_password".to_string());
let id1 = LoginId::new("first".to_string());
store_login_with_multiple_accounts_at_file(
&wallet_file,
acc1.clone(),
hd_path.clone(),
id1.clone(),
&password,
)
.unwrap();
store_login_with_multiple_accounts_at_file(&wallet_file, acc1, hd_path, id1, &password)
.unwrap();
let err = update_encrypted_logins_at_file(&wallet_file, &wrong_password, &new_password)
.unwrap_err();
@@ -899,8 +879,8 @@ mod tests {
store_login_with_multiple_accounts_at_file(
&wallet_file,
acc1.clone(),
hd_path.clone(),
acc1,
hd_path,
id1.clone(),
&password,
)
@@ -1503,10 +1483,7 @@ mod tests {
DEFAULT_FIRST_ACCOUNT_NAME.into(),
MnemonicAccount::new(account1, hd_path.clone()),
),
WalletAccount::new(
appended_account,
MnemonicAccount::new(account2, hd_path.clone()),
),
WalletAccount::new(appended_account, MnemonicAccount::new(account2, hd_path)),
]
.into();
assert_eq!(loaded_accounts, &expected);
+2 -2
View File
@@ -1,7 +1,7 @@
{
"package": {
"productName": "nym-wallet",
"version": "1.2.0"
"version": "1.2.1"
},
"build": {
"distDir": "../dist",
@@ -74,4 +74,4 @@
"csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'"
}
}
}
}
@@ -1,18 +1,22 @@
import React, { useContext, useEffect, useState } from 'react';
import { Stack, Typography } from '@mui/material';
import { Button, Stack, Typography } from '@mui/material';
import { checkUpdate } from '@tauri-apps/api/updater';
import { AppContext } from '../../context';
import { checkVersion } from '../../requests';
import { Console } from '../../utils/console';
const AppVersion = () => {
const [updateAvailable, setUpdateAvailable] = useState(false);
const { appVersion } = useContext(AppContext);
const updateCheck = async () => {
const update = await checkUpdate();
if (update.shouldUpdate && update.manifest) {
setUpdateAvailable(true);
} else {
setUpdateAvailable(false);
try {
const res = await checkVersion();
if (res.is_update_available) {
setUpdateAvailable(true);
}
} catch (e) {
Console.error(e);
}
};
@@ -20,6 +24,16 @@ const AppVersion = () => {
updateCheck();
}, [appVersion]);
const updateHandler = async () => {
try {
// despite the name, this will spawn an external native window with
// an embedded "download and update the Wallet" flow
checkUpdate();
} catch (e) {
Console.error(e);
}
};
return (
<Stack direction="column" alignItems="flex-end" gap={1}>
<Stack direction="row" gap={1} alignItems="center">
@@ -29,9 +43,9 @@ const AppVersion = () => {
<Typography>{`Nym Wallet ${appVersion}`}</Typography>
</Stack>
{updateAvailable && (
<Typography color="primary" fontWeight={600}>
<Button variant="text" onClick={() => updateHandler()}>
Update available
</Typography>
</Button>
)}
</Stack>
);
+4
View File
@@ -0,0 +1,4 @@
import { invokeWrapper } from './wrapper';
import { AppVersion } from '../types/rust/AppVersion';
export const checkVersion = async () => invokeWrapper<AppVersion>('check_version');
+1
View File
@@ -1,3 +1,4 @@
export * from './app';
export * from './account';
export * from './actions';
export * from './contract';
+7
View File
@@ -0,0 +1,7 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export interface AppVersion {
current_version: string;
latest_version: string;
is_update_available: boolean;
}
@@ -3,7 +3,7 @@
[package]
name = "nym-network-requester"
version = "1.1.14"
version = "1.1.15"
authors.workspace = true
edition.workspace = true
rust-version = "1.65"
@@ -49,4 +49,4 @@ nym-task = { path = "../../common/task" }
nym-client-websocket-requests = { path = "../../clients/native/websocket-requests" }
[dev-dependencies]
tempfile = "3.5.0"
tempfile = "3.5.0"
@@ -1,6 +1,6 @@
[package]
name = "nym-network-statistics"
version = "1.1.14"
version = "1.1.15"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "nym-cli"
version = "1.1.14"
version = "1.1.15"
authors.workspace = true
edition = "2021"
+2
View File
@@ -29,6 +29,7 @@ use nym_types::vesting::{OriginalVestingResponse, PledgeData, VestingAccountInfo
use nym_vesting_contract_common::Period;
use nym_wallet_types::admin::TauriContractStateParams;
use nym_wallet_types::app::AppEnv;
use nym_wallet_types::app::AppVersion;
use nym_wallet_types::interval::Interval;
use nym_wallet_types::network::Network;
use nym_wallet_types::network_config::{Validator, ValidatorUrl, ValidatorUrls};
@@ -126,6 +127,7 @@ fn main() {
// nym-wallet
do_export!(AppEnv);
do_export!(AppVersion);
do_export!(Interval);
do_export!(Network);
do_export!(TauriContractStateParams);