Feature/wallet login with password (#1074)

* create nymlogo component

* start scaffolding

* set up mnemonic check pages

* start on guess words components

* mnemonic verification work

* more mnemonic verification

* hard code number of words to generate

* mnemonic verification section 2

* add password strength indicator

* add password confirmation

* update text

* disable word tiles on selection

* add exisiting account page

* finish exisiting account login

* add back buttons to return to the initial screen

* update button size

* create network selection component

* implement network selector component

* update page types

* make currency and network dynamic variables

* remove unused env  values

* [ci skip] Generate TS types

* lighten subtext

* display network name in app

* create network selector component

* remove old network display component

* update state in response to network selection

* state updates

* implement logout

* refresh delegations on network change

* Initial implementation of data encryption/decryption with provided password

* Removing milhon network.

* Removing more milhon references.

* Adding in mainnet constants for network defaults. Contracts are not yet defined.

* Allow encryption of EncryptedData<T>, where T: Serialize + Deserialize

It uses serde_json for representation of T

* Making contract addresses optional

* [ci skip] Generate TS types

* Add mainnet as implicit network

* Fix unreachable code warning

* Using zeroize for encrypted data + password

* Get denom dynamically

* initialize network to undefined before login

* Fix str parse to dynamic denom

* Pass network in config all the way to hd wallet generation

* Fixed encrypted data deserialization

* Storing and loading accounts from the disk

* Additional error variants

* Fix clippy in wallet

* Simplified contract address parsing

* display error

* fix typo

* uncomment code

* Use sandbox as backend default again

* Reorganised wallet storage for easier testing + unit test

* Fix denom showing

* to_major call only on printable balance

* fix up state changes

Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com>
Co-authored-by: fmtabbara <fmtabbara@users.noreply.github.com>
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Co-authored-by: Bogdan-Ștefan Neacșu <bogdan@nymtech.net>
This commit is contained in:
Fouad
2022-02-02 19:25:02 +01:00
committed by GitHub
parent 8bc8671678
commit de864fe828
82 changed files with 1868 additions and 381 deletions
+5 -3
View File
@@ -3,7 +3,7 @@
use crate::config::Config;
use crate::rewarding::{error::RewardingError, IntervalRewardParams, MixnodeToReward};
use config::defaults::DEFAULT_VALIDATOR_API_PORT;
use config::defaults::{default_network, DEFAULT_VALIDATOR_API_PORT};
use mixnet_contract_common::{
ContractStateParams, Delegation, ExecuteMsg, GatewayBond, IdentityKey, Interval, MixNodeBond,
MixnodeRewardingStatusResponse, RewardedSetNodeStatus, RewardedSetUpdateDetails,
@@ -37,6 +37,7 @@ impl Client<QueryNymdClient> {
.parse()
.unwrap();
let nymd_url = config.get_nymd_validator_url();
let network = default_network();
let mixnet_contract = config
.get_mixnet_contract_address()
@@ -44,7 +45,7 @@ impl Client<QueryNymdClient> {
.expect("the mixnet contract address is invalid!");
let client_config =
validator_client::Config::new(nymd_url, api_url, Some(mixnet_contract), None);
validator_client::Config::new(network, nymd_url, api_url, Some(mixnet_contract), None);
let inner =
validator_client::Client::new_query(client_config).expect("Failed to connect to nymd!");
@@ -60,6 +61,7 @@ impl Client<SigningNymdClient> {
.parse()
.unwrap();
let nymd_url = config.get_nymd_validator_url();
let network = default_network();
let mixnet_contract = config
.get_mixnet_contract_address()
@@ -71,7 +73,7 @@ impl Client<SigningNymdClient> {
.expect("the mnemonic is invalid!");
let client_config =
validator_client::Config::new(nymd_url, api_url, Some(mixnet_contract), None);
validator_client::Config::new(network, nymd_url, api_url, Some(mixnet_contract), None);
let inner = validator_client::Client::new_signing(client_config, mnemonic)
.expect("Failed to connect to nymd!");