* Fix another bug with isFiltersSynced()
* Fix compile
* Cleanup uncessary checks
* Empty commit to re-run CI
* Empty commit to re-run CI
* Empty commit to re-run CI
* Rework randomPeerWithServices() to be inside of NodeState, try to move more state into NodeState
* Don't try to sync from peer waitingForDisconnection
* Add PeerWithServices, keep track of ServiceIdentifier in PeerManager and NodeState
* Try to make reorg test more reliable
* Empty commit to run CI
* Rework ChainApi.nextBlockHeaderBatchRange() to take stopHash parameter, get chainTest/test passing
* WIP: Refactor ChainApi.nextFilterHeaderBatchRange()
* Finish ChainApi.nextFilterHeaderBatchRange() refactor, get all tests passing except reorg related tests in nodeTest
* Get NeutrinoNodeTest reorg test case working
* Improve flaky test
* Cleanup
* Switch sync check to bitcoinds(1)
* Empty commit to run CI
* Implement batchSize tests in ChainHandlerTest
* Rework ChainHandlerTest to not assume we have the genesis filter header / filter inserted into the database already
* Cleanup println
* Fix bug with nextFilterHeaderBatchRange() wrt to startHeightOpt parameter
* Fix off by one bug with compact filter sync
* Add check for connectionCount
* Add longer timeout
* scalafmt
* Make GossipMessage use PeerManager queue to avoid gossiping messages to peers that are being disconnected
* Remove isIBD check for gossiping getheaders after filter sync is complete
* Add log warning when NodeState has a peer, but peerDataMap doesn't when gossiping messages
* Rework various private methods in DataMessagehandler to return NodeState rather than DataMessageHandler
* Refactor compact filter header handling into private helper method
* Refactor handling of headersmsg in case where the headermsg came from a different peer than our current syncPeer
* Add DEBUG log
* Remove unecessary helper method in PeerFinder
* scalafmt
* Empty commit to re-run CI
* Empty commit to re-run CI
* Empty commit to re-run CI
* Empty commit to run CI
* Empty commit to re-run CI
* Rework ConnectionGraph.stop() to return Future[Done] that represents the stream being completed
* Empty commit to re-run CI
* Fix bug in handleStreamComplete()
* Revert log levels
* Empty commit to run CI
* Remove calls to PeerData.stop() inside of PeerManager.onDisconnect(), now call PeerConnection.disconnect() when stream is complete
* Empty commit to re-run CI
* Empty commit to re-run CI
* Empty commit to re-run CI
* Empty commit to re-run CI
* Make PeerFinder.removePeer() return Option[PeerData]
* Move socks5 greeting into Socks5Connection.socks5Handler() so each individual uage doesn't have to roll its own greeting
* Implement socks5Handler() to return a materialized stream
Get something working
Cleanup
* Remove connection parameter
* Add scaladoc
* Pull queue, PeerFinder into NeutrinoNode and out of PeerManager
* Remove ControlMessageHandler param from PeerData
* Make ControlMessageHandle.handleControlPayload() take PeerMessageSenderApi as a param instead of just a Peer
* move construction of akka stream from PeerManager to NeutrinoNode
* Move inactivity checks out of PeerManager and into NeutrinoNode
* Move queue initialization into NeutrinoNode
* cleanup
* Set NeutrinoNode.isStarted to true when NeutrinoNode.start() is called
* Empty commit to re-run CI
* Modify FilterSync.toString()
* scalafmt
* Fix bug where we weren't checking if connection is timed out on activity checks
* Empty commit to run CI
* reset log level
* Reset PeerConnection.connectionGraphOpt = None when connection is disconnected
* Move resetting connectionGraphOpt into PeerConnection.disconnect()
* Call PeerData.stop() inside of PeerManager.onDisconnect()
* Empty commit to run CI
* Empty commit to re-run CI
* WIP: Implement future chaining for recursive rescans
* Fix deadlock by segregating RescanStarted.doneF into two different methods, one tracking the single pass rescan and one tracking the entire rescan
* scalafmt, add comment
* Fix bug where we were completing Promise twice
* Fix unit test
* Cleanup logs
* Cleanup comment
* Bump timeout
* Empty commit to run CI
* Empty commit to re-run CI
* Empty commit to re-run CI
* WIP: Implement WalletCallbackStreamManager
* Implement stopping of WalletCallbackStreamManager in WalletAppConfig
* WIP: DLCWalletCallbackStreamManager
* Refactor DLCWalletCallbacks to be a trait
* Integrate DLCWalletCallbackStreamManager into WebsocketUtil
* Use java.util.concurrent.atomic.AtomicBoolean rather than monix
* Remove logger param from dlc callbacks
* fix docs
* Call super.stop() in DLCappConfig
* Empty commit to run CI
* Try to debug
* Empty commit to run CI
* Revert things