From a64a6a07689e6a80aa443190b26b85e209cb985a Mon Sep 17 00:00:00 2001 From: apanizo Date: Thu, 5 Jul 2018 14:28:23 +0200 Subject: [PATCH] WA-232 Improving speed --- src/routes/safe/component/Safe/BalanceInfo.jsx | 14 ++++++++------ src/routes/safe/container/index.jsx | 2 +- src/routes/safe/store/actions/fetchBalances.js | 15 +++++++-------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/routes/safe/component/Safe/BalanceInfo.jsx b/src/routes/safe/component/Safe/BalanceInfo.jsx index 96d9c87c..10054326 100644 --- a/src/routes/safe/component/Safe/BalanceInfo.jsx +++ b/src/routes/safe/component/Safe/BalanceInfo.jsx @@ -41,12 +41,14 @@ const BalanceComponent = openHoc(({ - - {open - ? - : - } - + { balances.count() > 0 && + + {open + ? + : + } + + } diff --git a/src/routes/safe/container/index.jsx b/src/routes/safe/container/index.jsx index f92184c9..5d719293 100644 --- a/src/routes/safe/container/index.jsx +++ b/src/routes/safe/container/index.jsx @@ -21,7 +21,7 @@ class SafeView extends React.PureComponent { const safeAddress = safe.get('address') fetchBalances(safeAddress) fetchSafe(safe) - }, 1500) + }, 15000) } componentDidUpdate(prevProps) { diff --git a/src/routes/safe/store/actions/fetchBalances.js b/src/routes/safe/store/actions/fetchBalances.js index fdba5095..76f2705a 100644 --- a/src/routes/safe/store/actions/fetchBalances.js +++ b/src/routes/safe/store/actions/fetchBalances.js @@ -9,7 +9,6 @@ import { makeBalance, type Balance, type BalanceProps } from '~/routes/safe/stor import logo from '~/assets/icons/icon_etherTokens.svg' import addBalances from './addBalances' - export const getStandardTokenContract = async () => { const web3 = getWeb3() const erc20Token = await contract(StandardToken) @@ -52,15 +51,15 @@ export const fetchBalances = (safeAddress: string) => async (dispatch: ReduxDisp } const json = await response.json() - const balancesRecords = await Promise.all(json.map(async (item: BalanceProps) => { + return Promise.all(json.map(async (item: BalanceProps) => { const funds = await calculateBalanceOf(item.address, safeAddress, item.decimals) return makeBalance({ ...item, funds }) - })) + })).then((balancesRecords) => { + const balances: Map = Map().withMutations((map) => { + balancesRecords.forEach(record => map.set(record.get('symbol'), record)) + map.set('ETH', ethBalance) + }) - const balances: Map = Map().withMutations((map) => { - balancesRecords.forEach(record => map.set(record.get('symbol'), record)) - map.set('ETH', ethBalance) + return dispatch(addBalances(safeAddress, balances)) }) - - return dispatch(addBalances(safeAddress, balances)) }