From e7993890cbfa3f7ab11132eb04000047cfd51972 Mon Sep 17 00:00:00 2001 From: Chris Stewart Date: Mon, 31 Aug 2020 06:32:01 -0500 Subject: [PATCH] =?UTF-8?q?Make=20sure=20both=20filter=20ehaders=20and=20f?= =?UTF-8?q?ilters=20are=20empty=20before=20sending=20fi=E2=80=A6=20(#1936)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Make sure both filter ehaders and filters are empty before sending first filterheader sync message * Address nit --- .../org/bitcoins/core/protocol/blockchain/BlockHeader.scala | 2 +- .../bitcoins/node/networking/peer/DataMessageHandler.scala | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/bitcoins/core/protocol/blockchain/BlockHeader.scala b/core/src/main/scala/org/bitcoins/core/protocol/blockchain/BlockHeader.scala index 0d79867a6a..c3f0ddbdbe 100644 --- a/core/src/main/scala/org/bitcoins/core/protocol/blockchain/BlockHeader.scala +++ b/core/src/main/scala/org/bitcoins/core/protocol/blockchain/BlockHeader.scala @@ -125,7 +125,7 @@ sealed trait BlockHeader extends NetworkElement { * [[https://bitcoin.stackexchange.com/questions/2063/why-does-the-bitcoin-protocol-use-the-little-endian-notation]] * @return */ - def hashBE: DoubleSha256DigestBE = hash.flip + lazy val hashBE: DoubleSha256DigestBE = hash.flip override def bytes: ByteVector = RawBlockHeaderSerializer.write(this) diff --git a/node/src/main/scala/org/bitcoins/node/networking/peer/DataMessageHandler.scala b/node/src/main/scala/org/bitcoins/node/networking/peer/DataMessageHandler.scala index 679c5b5505..5cbf10ade5 100644 --- a/node/src/main/scala/org/bitcoins/node/networking/peer/DataMessageHandler.scala +++ b/node/src/main/scala/org/bitcoins/node/networking/peer/DataMessageHandler.scala @@ -214,7 +214,9 @@ case class DataMessageHandler( // so we also check if our cached filter heights have been set as well, if they haven't then // we probably need to sync filters if ( - appConfig.nodeType == NodeType.NeutrinoNode && (!syncing || filterHeaderHeightOpt.isEmpty || filterHeightOpt.isEmpty) + appConfig.nodeType == NodeType.NeutrinoNode && (!syncing || + (filterHeaderHeightOpt.isEmpty && + filterHeightOpt.isEmpty)) ) sendFirstGetCompactFilterHeadersCommand(peerMsgSender) else