diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2018-11-08 15:36:00 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2018-11-08 15:41:25 +0800 |
commit | cde192df0d48bb45f57c319179dbd9f64abd13e9 (patch) | |
tree | 010893e4f4e993e668d26bf049a446a27e4a48fc /packages/instant/src/redux/async_data.ts | |
parent | d0c009adff53d94414cf51028eff490e0452a3c9 (diff) | |
download | dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.tar dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.tar.gz dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.tar.bz2 dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.tar.lz dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.tar.xz dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.tar.zst dexon-sol-tools-cde192df0d48bb45f57c319179dbd9f64abd13e9.zip |
feat(instant): fetch balance at startup
Diffstat (limited to 'packages/instant/src/redux/async_data.ts')
-rw-r--r-- | packages/instant/src/redux/async_data.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/instant/src/redux/async_data.ts b/packages/instant/src/redux/async_data.ts index e27ec1dc3..862f60e78 100644 --- a/packages/instant/src/redux/async_data.ts +++ b/packages/instant/src/redux/async_data.ts @@ -50,8 +50,24 @@ export const asyncData = { if (!_.isEmpty(availableAddresses)) { const activeAddress = availableAddresses[0]; store.dispatch(actions.setAccountStateReady(activeAddress)); + await asyncData.fetchAccountBalanceAndDispatchToStore(store); } else { store.dispatch(actions.setAccountStateLocked()); } }, + fetchAccountBalanceAndDispatchToStore: async (store: Store) => { + const { providerState } = store.getState(); + const web3Wrapper = providerState.web3Wrapper; + const account = providerState.account; + if (account.state !== AccountState.Ready) { + return; + } + try { + const ethBalanceInWei = await web3Wrapper.getBalanceInWeiAsync(account.address); + store.dispatch(actions.updateAccountEthBalance(ethBalanceInWei)); + } catch (e) { + // leave balance as is + return; + } + }, }; |