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)) }