From c1186fa346cdfd3f988a3e89af7ac23fd357ab8e Mon Sep 17 00:00:00 2001 From: Vadim Arasev Date: Thu, 14 Jun 2018 12:06:22 +0300 Subject: [PATCH] (Fix) Light optimization #2 --- src/components/BallotKeysCard.jsx | 32 ++++++++++++------------------- src/index.js | 6 +++--- src/stores/ContractsStore.js | 13 +++++++------ 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/src/components/BallotKeysCard.jsx b/src/components/BallotKeysCard.jsx index 6550263..f0bf70c 100644 --- a/src/components/BallotKeysCard.jsx +++ b/src/components/BallotKeysCard.jsx @@ -50,16 +50,11 @@ export class BallotKeysCard extends React.Component { this.miningKey = votingState.miningKey; if (this.miningKey && this.miningKey !== '0x0000000000000000000000000000000000000000') { - let metadata; - try { - metadata = await contractsStore.getValidatorMetadata(this.miningKey); - } catch(e) { - console.log(e.message); - } - if (metadata) { - this.miningKey = `${metadata.lastName} ${this.miningKey}`; - } else { - this.miningKey = `${this.miningKey}`; + for (let i = 0; i < contractsStore.validatorsMetadata.length; i++) { + if (contractsStore.validatorsMetadata[i].value.toLowerCase() === this.miningKey.toLowerCase()) { + this.miningKey = contractsStore.validatorsMetadata[i].labelInvers; + break; + } } } } else { @@ -140,22 +135,19 @@ export class BallotKeysCard extends React.Component { @action("Get mining key of keys ballot") getMiningKey = async () => { const { contractsStore, id } = this.props; - let miningKey, metadata; + let miningKey; try { miningKey = await contractsStore.votingToChangeKeys.getMiningKey(id); } catch(e) { console.log(e.message); } if (miningKey && miningKey !== '0x0000000000000000000000000000000000000000') { - try { - metadata = await contractsStore.getValidatorMetadata(miningKey); - } catch(e) { - console.log(e.message); - } - if (metadata) { - this.miningKey = `${metadata.lastName} ${miningKey}`; - } else { - this.miningKey = `${miningKey}`; + this.miningKey = miningKey; + for (let i = 0; i < contractsStore.validatorsMetadata.length; i++) { + if (contractsStore.validatorsMetadata[i].value.toLowerCase() === this.miningKey.toLowerCase()) { + this.miningKey = contractsStore.validatorsMetadata[i].labelInvers; + break; + } } } } diff --git a/src/index.js b/src/index.js index e770c7b..f6b68e1 100644 --- a/src/index.js +++ b/src/index.js @@ -59,14 +59,14 @@ class AppMainRouter extends Component { await contractsStore.setMiningKey(web3Config); await contractsStore.setVotingKey(web3Config); + + await contractsStore.getAllValidatorMetadata(); await contractsStore.getAllBallots(); - contractsStore.getValidatorsLength(); contractsStore.getKeysBallotThreshold(); contractsStore.getMinThresholdBallotThreshold(); contractsStore.getProxyBallotThreshold(); - contractsStore.getValidatorActiveBallots(); - contractsStore.getAllValidatorMetadata(); + contractsStore.getBallotsLimits(); console.log("votingKey", contractsStore.votingKey); console.log("miningKey", contractsStore.miningKey); commonStore.hideLoading(); diff --git a/src/stores/ContractsStore.js b/src/stores/ContractsStore.js index bb6de38..ab1a674 100644 --- a/src/stores/ContractsStore.js +++ b/src/stores/ContractsStore.js @@ -229,7 +229,7 @@ class ContractsStore { } @action - async getValidatorActiveBallots() { + async getBallotsLimits() { if(this.web3Instance && this.netId){ let setVotingToChangeKeys = this.setVotingToChangeKeys({web3Instance: this.web3Instance, netId: this.netId}) let setVotingToChangeMinThreshold = this.setVotingToChangeMinThreshold({web3Instance: this.web3Instance, netId: this.netId}) @@ -254,15 +254,16 @@ class ContractsStore { async getAllValidatorMetadata() { this.validatorsMetadata.push(constants.NEW_MINING_KEY); const keys = await this.poaConsensus.getValidators(); + this.validatorsLength = keys.length; keys.forEach(async (key) => { const metadata = await this.validatorMetadata.getValidatorData({miningKey: key}) - this.validatorsMetadata.push({label: `${key} ${metadata.lastName}`, value: key}) + this.validatorsMetadata.push({ + label: `${key} ${metadata.lastName}`, + labelInvers: `${metadata.lastName} ${key}`, + value: key + }) }) } - @action - async getValidatorMetadata(miningKey) { - return await this.validatorMetadata.getValidatorData({miningKey}) - } } const contractsStore = new ContractsStore();