From 10e0ff2e0151ca54affb072ca0939e4651908f1a Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 22 Nov 2016 07:06:00 +0900 Subject: [PATCH 1/4] Update REL-NOTES --- docs/RELEASE-NOTES | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/RELEASE-NOTES b/docs/RELEASE-NOTES index b653ad2..6c1616a 100644 --- a/docs/RELEASE-NOTES +++ b/docs/RELEASE-NOTES @@ -1,3 +1,11 @@ +version 0.7.2 +------------- + +- don't log message decoding errors. Cut off a connection after it has sent + 10 ill-formed requests. +- doc improvements (cluelessperson) +- RPC ports for Dash (TheLazier) + version 0.7.1 ------------- From 67bb01bf2cd31f97c57d51163d71958562a87f88 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 22 Nov 2016 07:50:01 +0900 Subject: [PATCH 2/4] Fix reorgs with unspendable TXOs --- server/block_processor.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server/block_processor.py b/server/block_processor.py index 05b0031..6730253 100644 --- a/server/block_processor.py +++ b/server/block_processor.py @@ -669,15 +669,19 @@ class BlockProcessor(server.db.DB): s_pack = pack put_utxo = self.utxo_cache.__setitem__ spend_utxo = self.spend_utxo + script_hash168 = self.coin.hash168_from_script() rtxs = reversed(txs) rtx_hashes = reversed(tx_hashes) for tx_hash, tx in zip(rtx_hashes, rtxs): - # Spend the outputs for idx, txout in enumerate(tx.outputs): - cache_value = spend_utxo(tx_hash, idx) - touched.add(cache_value[:21]) + # Spend the TX outputs. Be careful with unspendable + # outputs - we didn't save those in the first place. + hash168 = script_hash168(txout.pk_script) + if hash168: + cache_value = spend_utxo(tx_hash, idx) + touched.add(cache_value[:21]) # Restore the inputs if not tx.is_coinbase: From d1ba4b1a76f8979aaae908655bbe63d379c91c34 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 22 Nov 2016 08:09:43 +0900 Subject: [PATCH 3/4] Reset fs_height when backing up --- server/block_processor.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server/block_processor.py b/server/block_processor.py index 6730253..be31643 100644 --- a/server/block_processor.py +++ b/server/block_processor.py @@ -650,6 +650,7 @@ class BlockProcessor(server.db.DB): assert self.height >= 0 self.height -= 1 + self.fs_height = self.height assert not self.headers assert not self.tx_hashes From 39021792cabd3579dd0cda7507af4ec2b1bf0261 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 22 Nov 2016 08:11:05 +0900 Subject: [PATCH 4/4] Prepare 0.7.3 --- docs/RELEASE-NOTES | 5 +++++ server/version.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/RELEASE-NOTES b/docs/RELEASE-NOTES index 6c1616a..147e359 100644 --- a/docs/RELEASE-NOTES +++ b/docs/RELEASE-NOTES @@ -1,3 +1,8 @@ +version 0.7.3 +------------- + +- fix reorgs - broken since 0.6 I think + version 0.7.2 ------------- diff --git a/server/version.py b/server/version.py index 7a2a82f..7fab096 100644 --- a/server/version.py +++ b/server/version.py @@ -1 +1 @@ -VERSION = "ElectrumX 0.7.2" +VERSION = "ElectrumX 0.7.3"