From 26b7202af339b9b6a55fa1f8416362bfc2188f05 Mon Sep 17 00:00:00 2001 From: Zahary Karadjov Date: Wed, 1 Jul 2020 21:54:20 +0300 Subject: [PATCH] Fix #1266 --- beacon_chain/mainchain_monitor.nim | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/beacon_chain/mainchain_monitor.nim b/beacon_chain/mainchain_monitor.nim index 89d52ac85..2f3750be6 100644 --- a/beacon_chain/mainchain_monitor.nim +++ b/beacon_chain/mainchain_monitor.nim @@ -712,11 +712,13 @@ proc processDeposits(m: MainchainMonitor, # properly by the web3 provider. Since this should be an extremely # rare event we can afford to handle it in a relatively inefficient # manner. Let's delete half of our non-finalized chain and try again. - let blocksToPop = max(1, m.eth1Chain.totalNonFinalizedBlocks div 2) - warn "Web3 provider responded with a non-continous chain of deposits.", - backtrackedDeposits = blocksToPop - for i in 0 ..< blocksToPop: - m.eth1Chain.popBlock() + var blocksToPop = 0 + if m.eth1Chain.blocks.len > 0: + blocksToPop = max(1, m.eth1Chain.totalNonFinalizedBlocks div 2) + for i in 0 ..< blocksToPop: + m.eth1Chain.popBlock() + warn "Web3 provider responded with a non-continous chain of deposits", + backtrackedDeposits = blocksToPop m.depositQueue.addFirstNoWait blk proc isRunning*(m: MainchainMonitor): bool =