Browse Source

Merge branch 'release-0.07'

master
Neil Booth 8 years ago
parent
commit
3a35228187
  1. 5
      RELEASE-NOTES
  2. 26
      server/block_processor.py
  3. 2
      server/version.py

5
RELEASE-NOTES

@ -1,3 +1,8 @@
Version 0.07
------------
- fixed a bug introduced in 0.06 at the last minute
Version 0.06
------------

26
server/block_processor.py

@ -138,8 +138,14 @@ class Prefetcher(LoggedClass):
return blocks, size
class MissingUTXOError(Exception):
pass
'''Raised if a mempool tx input UTXO couldn't be found.'''
class ChainReorg(Exception):
'''Raised on a blockchain reorganisation.'''
class MemPool(LoggedClass):
'''Representation of the daemon's mempool.
@ -374,14 +380,14 @@ class BlockProcessor(LoggedClass):
'''
blocks, mempool_hashes = await self.prefetcher.get_blocks()
caught_up = mempool_hashes is not None
for block in blocks:
if self.advance_block(block, caught_up):
await self.handle_chain_reorg()
return
await asyncio.sleep(0) # Yield
if caught_up:
await self.caught_up(mempool_hashes)
try:
for block in blocks:
self.advance_block(block, caught_up)
await asyncio.sleep(0) # Yield
if caught_up:
await self.caught_up(mempool_hashes)
except ChainReorg:
await self.handle_chain_reorg()
async def caught_up(self, mempool_hashes):
'''Called after each deamon poll if caught up.'''
@ -711,7 +717,7 @@ class BlockProcessor(LoggedClass):
header, tx_hashes, txs = self.coin.read_block(block)
prev_hash, header_hash = self.coin.header_hashes(header)
if prev_hash != self.tip:
return None
raise ChainReorg
touched = set()
self.fs_cache.advance_block(header, tx_hashes, txs)

2
server/version.py

@ -1 +1 @@
VERSION = "ElectrumX 0.06"
VERSION = "ElectrumX 0.07"

Loading…
Cancel
Save