From 6e46f25bd48c58c37607f097f5e8cad1d34b62f0 Mon Sep 17 00:00:00 2001 From: Moody Salem Date: Fri, 21 May 2021 19:55:44 -0500 Subject: [PATCH] improvement: use the block number in receipts to update the app state (#1681) --- src/state/transactions/updater.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/state/transactions/updater.tsx b/src/state/transactions/updater.tsx index ad30ae661..8e35fb905 100644 --- a/src/state/transactions/updater.tsx +++ b/src/state/transactions/updater.tsx @@ -1,6 +1,7 @@ import { useEffect, useMemo } from 'react' import { useDispatch, useSelector } from 'react-redux' import { useActiveWeb3React } from '../../hooks/web3' +import { updateBlockNumber } from '../application/actions' import { useAddPopup, useBlockNumber } from '../application/hooks' import { AppDispatch, AppState } from '../index' import { checkedTransaction, finalizeTransaction } from './actions' @@ -79,6 +80,11 @@ export default function Updater(): null { }, hash ) + + // the receipt was fetched before the block, fast forward to that block to trigger balance updates + if (receipt.blockNumber > lastBlockNumber) { + dispatch(updateBlockNumber({ chainId, blockNumber: receipt.blockNumber })) + } } else { dispatch(checkedTransaction({ chainId, hash, blockNumber: lastBlockNumber })) }