From 6c03369ca2d1b4c484911a8f4d7b888c2cef966b Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Thu, 21 May 2020 14:52:41 -0400 Subject: [PATCH] refactor/extract saveAccountAndLogin method --- src/models/accounts.nim | 33 +++--------------------- src/status/accounts.nim | 55 ++++++++++++++++++++++------------------ ui/onboarding/GenKey.qml | 2 +- 3 files changed, 35 insertions(+), 55 deletions(-) diff --git a/src/models/accounts.nim b/src/models/accounts.nim index 14d6561eec..b13d4d9b87 100644 --- a/src/models/accounts.nim +++ b/src/models/accounts.nim @@ -38,10 +38,7 @@ proc delete*(self: AccountModel) = proc generateAddresses*(self: AccountModel): seq[GeneratedAccount] = let accounts = parseJson(status_accounts.generateAddresses()) - - echo "----- generating accounts" for account in accounts: - echo account var generatedAccount = GeneratedAccount() generatedAccount.publicKey = account["publicKey"].str @@ -56,7 +53,6 @@ proc generateAddresses*(self: AccountModel): seq[GeneratedAccount] = generatedAccount.key = account["address"].str self.generatedAddresses.add(generatedAccount) - self.generatedAddresses # TODO: this is temporary and will be removed once accounts import and creation is working @@ -112,30 +108,7 @@ proc storeAccountAndLogin*(self: AccountModel, selectedAccountIndex: int, passwo "installation-id": $genUUID() } - let subaccountData = %* [ - { - "public-key": multiAccounts[constants.PATH_DEFAULT_WALLET]["publicKey"], - "address": multiAccounts[constants.PATH_DEFAULT_WALLET]["address"], - "color": "#4360df", - "wallet": true, - "path": constants.PATH_DEFAULT_WALLET, - "name": "Status account" - }, - { - "public-key": multiAccounts[constants.PATH_WHISPER]["publicKey"], - "address": multiAccounts[constants.PATH_WHISPER]["address"], - "name": alias, - "photo-path": identicon, - "path": constants.PATH_WHISPER, - "chat": true - } - ] + discard saveAccountAndLogin(multiAccounts, alias, identicon, $accountData, password, $nodeConfig, $settingsJSON) - result = $libstatus.saveAccountAndLogin($accountData, password, $settingsJSON, - $nodeConfig, $subaccountData) - - let saveResult = result.parseJson - - if saveResult["error"].getStr == "": - self.events.emit("accountsReady", Args()) - echo "Account saved succesfully" + self.events.emit("accountsReady", Args()) + "" diff --git a/src/status/accounts.nim b/src/status/accounts.nim index ddaea3cdea..e8c9a8e4e8 100644 --- a/src/status/accounts.nim +++ b/src/status/accounts.nim @@ -2,6 +2,7 @@ import libstatus import core import json import utils +import accounts/constants import os proc queryAccounts*(): string = @@ -56,6 +57,33 @@ proc initNodeAccounts*() = # 2 discard $libstatus.openAccounts(datadir); +proc saveAccountAndLogin*(multiAccounts: JsonNode, alias: string, identicon: string, accountData: string, password: string, configJSON: string, settingsJSON: string): JsonNode = + let subaccountData = %* [ + { + "public-key": multiAccounts[constants.PATH_DEFAULT_WALLET]["publicKey"], + "address": multiAccounts[constants.PATH_DEFAULT_WALLET]["address"], + "color": "#4360df", + "wallet": true, + "path": constants.PATH_DEFAULT_WALLET, + "name": "Status account" + }, + { + "public-key": multiAccounts[constants.PATH_WHISPER]["publicKey"], + "address": multiAccounts[constants.PATH_WHISPER]["address"], + "name": alias, + "photo-path": identicon, + "path": constants.PATH_WHISPER, + "chat": true + } + ] + + var savedResult = $libstatus.saveAccountAndLogin(accountData, password, settingsJSON, configJSON, $subaccountData) + let parsedSavedResult = savedResult.parseJson + + if parsedSavedResult["error"].getStr == "": + echo "Account saved succesfully" + subaccountData + proc setupRandomTestAccount*(): string = var result: string # 3 @@ -287,30 +315,9 @@ proc setupRandomTestAccount*(): string = } } - let subaccountData = %* [ - { - "public-key": multiAccounts["m/44'/60'/0'/0/0"]["publicKey"], - "address": multiAccounts["m/44'/60'/0'/0/0"]["address"], - "color": "#4360df", - "wallet": true, - "path": "m/44'/60'/0'/0/0", - "name": "Status account" - }, - { - "public-key": multiAccounts["m/43'/60'/1581'/0'/0"]["publicKey"], - "address": multiAccounts["m/43'/60'/1581'/0'/0"]["address"], - "name": "Delectable Overjoyed Nauplius", - "photo-path": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAmElEQVR4nOzX4QmAIBBA4Yp2aY52aox2ao6mqf+SoajwON73M0J4HBy6TEEYQmMIjSE0htCECVlbDziv+/n6fuzb3OP/UmEmYgiNITRNm+LPqO2UE2YihtAYQlN818ptoZzau1btOakwEzGExhCa5hdi7d2p1zZLhZmIITSG0PhCpDGExhANEmYihtAYQmMIjSE0bwAAAP//kHQdRIWYzToAAAAASUVORK5CYII=", - "path": "m/43'/60'/1581'/0'/0", - "chat": true - } - ] + var alias = "Delectable Overjoyed Nauplius" + var identicon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAmElEQVR4nOzX4QmAIBBA4Yp2aY52aox2ao6mqf+SoajwON73M0J4HBy6TEEYQmMIjSE0htCECVlbDziv+/n6fuzb3OP/UmEmYgiNITRNm+LPqO2UE2YihtAYQlN818ptoZzau1btOakwEzGExhCa5hdi7d2p1zZLhZmIITSG0PhCpDGExhANEmYihtAYQmMIjSE0bwAAAP//kHQdRIWYzToAAAAASUVORK5CYII=" - var savedResult = $libstatus.saveAccountAndLogin($accountData, password, $settingsJSON, - $configJSON, $subaccountData) - let parsedSavedResult = savedResult.parseJson - - if parsedSavedResult["error"].getStr == "": - echo "Account saved succesfully" + var subaccountdata = saveAccountAndLogin(multiAccounts, alias, identicon, $accountData, password, $configJSON, $settingsJSON) $subaccountData diff --git a/ui/onboarding/GenKey.qml b/ui/onboarding/GenKey.qml index a53a5f573e..8ea59684cb 100644 --- a/ui/onboarding/GenKey.qml +++ b/ui/onboarding/GenKey.qml @@ -253,7 +253,7 @@ SwipeView { const storeResponse = onboardingModel.storeAccountAndLogin(selectedAccountIndex, txtPassword.text) - const response = JSON.parse(storeResponse); + // const response = JSON.parse(storeResponse); // if (response.error) { // storeAccountAndLoginError.text += response.error; // return storeAccountAndLoginError.open();