From 58fec9181fb1175e99ff6baa8d99d8ae91342ad8 Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Tue, 25 Jul 2017 08:39:41 +0200 Subject: [PATCH] Filter tokens logs from current block, not genesis (#6128) * Filter tokens logs from current block, not genesis * Fix linting --- js/src/redux/providers/balancesActions.js | 49 ++++++++++++----------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/js/src/redux/providers/balancesActions.js b/js/src/redux/providers/balancesActions.js index 73726e825..edfa7d2d3 100644 --- a/js/src/redux/providers/balancesActions.js +++ b/js/src/redux/providers/balancesActions.js @@ -144,34 +144,37 @@ export function updateTokensFilter (_addresses, _tokens, options = {}) { promises.push(api.eth.uninstallFilter(tokensFilter.filterToId)); } - const promise = Promise.all(promises); + Promise + .all([ + api.eth.blockNumber() + ].concat(promises)) + .then(([ block ]) => { + const topicsFrom = [ TRANSFER_SIGNATURE, addresses, null ]; + const topicsTo = [ TRANSFER_SIGNATURE, null, addresses ]; - const topicsFrom = [ TRANSFER_SIGNATURE, addresses, null ]; - const topicsTo = [ TRANSFER_SIGNATURE, null, addresses ]; + const filterOptions = { + fromBlock: block, + toBlock: 'pending', + address: tokenAddresses + }; - const filterOptions = { - fromBlock: 0, - toBlock: 'pending', - address: tokenAddresses - }; + const optionsFrom = { + ...filterOptions, + topics: topicsFrom + }; - const optionsFrom = { - ...filterOptions, - topics: topicsFrom - }; + const optionsTo = { + ...filterOptions, + topics: topicsTo + }; - const optionsTo = { - ...filterOptions, - topics: topicsTo - }; + const newFilters = Promise.all([ + api.eth.newFilter(optionsFrom), + api.eth.newFilter(optionsTo) + ]); - const newFilters = Promise.all([ - api.eth.newFilter(optionsFrom), - api.eth.newFilter(optionsTo) - ]); - - promise - .then(() => newFilters) + return newFilters; + }) .then(([ filterFromId, filterToId ]) => { const nextTokensFilter = { filterFromId, filterToId,