mirror of https://github.com/status-im/nim-eth.git
make block numbers out of sequence a CatchableError
and check the Option objects from peer.getBlockBodies(hashes)
This commit is contained in:
parent
69691f56d2
commit
88ded1b7c6
|
@ -192,17 +192,21 @@ proc obtainBlocksFromPeer(syncCtx: SyncContext, peer: Peer) {.async.} =
|
||||||
var nextIndex = workItem.startIndex
|
var nextIndex = workItem.startIndex
|
||||||
for i in workItem.headers:
|
for i in workItem.headers:
|
||||||
if i.blockNumber != nextIndex:
|
if i.blockNumber != nextIndex:
|
||||||
raise newException(Exception, "The block numbers are not in sequence. Not processing this workItem.")
|
raise newException(CatchableError, "The block numbers are not in sequence. Not processing this workItem.")
|
||||||
else:
|
else:
|
||||||
nextIndex = nextIndex + 1
|
nextIndex = nextIndex + 1
|
||||||
hashes.add(blockHash(i))
|
hashes.add(blockHash(i))
|
||||||
if hashes.len == maxBodiesFetch:
|
if hashes.len == maxBodiesFetch:
|
||||||
let b = await peer.getBlockBodies(hashes)
|
let b = await peer.getBlockBodies(hashes)
|
||||||
|
if b.isNone:
|
||||||
|
raise newException(CatchableError, "Was not able to get the block bodies.")
|
||||||
hashes.setLen(0)
|
hashes.setLen(0)
|
||||||
bodies.add(b.get.blocks)
|
bodies.add(b.get.blocks)
|
||||||
|
|
||||||
if hashes.len != 0:
|
if hashes.len != 0:
|
||||||
let b = await peer.getBlockBodies(hashes)
|
let b = await peer.getBlockBodies(hashes)
|
||||||
|
if b.isNone:
|
||||||
|
raise newException(CatchableError, "Was not able to get the block bodies.")
|
||||||
bodies.add(b.get.blocks)
|
bodies.add(b.get.blocks)
|
||||||
|
|
||||||
if bodies.len == workItem.headers.len:
|
if bodies.len == workItem.headers.len:
|
||||||
|
|
Loading…
Reference in New Issue