From 031e7d270d8155e2f79875fb5366a7a7475b1291 Mon Sep 17 00:00:00 2001
From: fragosti <francesco.agosti93@gmail.com>
Date: Mon, 18 Jun 2018 18:08:38 -0700
Subject: Fix bug where we do fetch balances on wallet login

---
 packages/website/ts/components/portal/portal.tsx | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

(limited to 'packages/website/ts/components/portal/portal.tsx')

diff --git a/packages/website/ts/components/portal/portal.tsx b/packages/website/ts/components/portal/portal.tsx
index 28a303793..8de5a62ec 100644
--- a/packages/website/ts/components/portal/portal.tsx
+++ b/packages/website/ts/components/portal/portal.tsx
@@ -155,9 +155,6 @@ export class Portal extends React.Component<PortalProps, PortalState> {
     }
     public componentWillMount(): void {
         this._blockchain = new Blockchain(this.props.dispatcher);
-        const trackedTokenAddresses = _.keys(this.state.trackedTokenStateByAddress);
-        // tslint:disable-next-line:no-floating-promises
-        this._fetchBalancesAndAllowancesAsync(trackedTokenAddresses);
     }
     public componentWillUnmount(): void {
         this._blockchain.destroy();
@@ -168,6 +165,13 @@ export class Portal extends React.Component<PortalProps, PortalState> {
         // become disconnected from their backing Ethereum node, changed user accounts, etc...)
         this.props.dispatcher.resetState();
     }
+    public componentDidUpdate(prevProps: PortalProps): void {
+        if (!prevProps.blockchainIsLoaded && this.props.blockchainIsLoaded) {
+            // tslint:disable-next-line:no-floating-promises
+            const trackedTokenAddresses = _.keys(this.state.trackedTokenStateByAddress);
+            this._fetchBalancesAndAllowancesAsync(trackedTokenAddresses);
+        }
+    }
     public componentWillReceiveProps(nextProps: PortalProps): void {
         if (nextProps.networkId !== this.state.prevNetworkId) {
             // tslint:disable-next-line:no-floating-promises
-- 
cgit v1.2.3

