* Add payload to query timeout log
* scalafmt
* Add first header we are requesting to invalid headers query log
* Remove noisy max headers received log
* Remove noisy max filter headers / filters received log
* Make WebsocketTests rescan test more robust
* Bump timeout on WebsocketTests address generated unit test
* Rework importseed endpoint to return a bool indicating if the import was successful
* Reduce Server.httpBadRequest() log level from ERROR -> INFO
* Remove adhoc json for walletinfo
* Add NodeApiCallbacks
* Add BitcoindCallbacks
* Add BitcoindRpcAppConfig
* fix docs
* Add helper method for construction
* Add helper constructor method to avoid explicitly passing BitcoindRpcAppConfig parameter to BitcoindRpcClient when we have a BitcoindInstanceLocal
* Fix docs
* Update scalafmt-core to 3.8.1
* Update .scalafmt.conf settings to be factory default settings
* Fix typo
* scalafmt
* Empty commit to re-run CI
* Revert some scalafmt back to original scalafmt.conf
---------
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Rework DataMessageHandler to consider syncing filterheaders if we receive a headers message with 0 block headers
* scalafmt
* Remove syncfilter job
* Cleanup
* Reduce received headers log to DEBUG
* Rework SyncNodeState.toString()
* Call PeerManager.startFilterSync() in DataMessageHandler
* Don't test MTP in unrelated test
* Add sentQuery Instant to SyncNodeState subclasses, add logic in DataMessageHandler.handlePayload() to detect if a query has timed out
* Refactor to use NodeTestUtil.disconnectNode()
* Cleanup comments
* Refactor syncHelper() to return SyncNodeState rather than Unit
* Add FilterOrFilterHeaderSync, rework various methods in PeerManager to return Option[FilterOrFilterHeaderSyncState] to indicate if we are syncing rather than Future[Unit]
* Don't use getPeerMessageSender() if we can use syncPeerMessageSender()
* Fix case where syncpeer and new peer are different when creating a filter sync job
* Adjust createFilterSyncJob() return type, throw exception when we try to sync but PeerManager is not started
* Refactor to use SyncNodeState.{toFilterHeaderSync,toFilterSync}
* Cleanup comments
* Reduce reliance of PeerManager._peerDataMap in favor of NodeState.peerDataMap
* Fix bug where we weren't removing peers from NodeState
* Remove invariants
* Empty commit to run CI
* Empty commit to re-run CI
* Add NodeRunningState.removePeer(), add helper method onDisconnectNodeStateUpdate() to consolidate disconnect logic
* Remove duplicate logic
* Add bitcoin-s.node.maxConnectedPeers test
* Clean up resources in test case
* Remove unecessary replacePeers()
* Add NodeState.addPeer()
* Add NodeRunningState.connectedPeerCount, separate handling of connection slots and filter slots
* Use NodeCallbackStreamManager when calling NodeCallbacks constructors to avoid dropping messages
* Fix handling of CallBackHandler.empty and names
* Empty commit to re-run CI
* Empty commit to re-run CI
* Disconnect from bitcoind side rather than bitcoin-s side to make sure we don't run into a race condition for updating lastSeen
* Remove usage of CachedAppConfig, switch implicit param args for PeerDAO to be consistent with rest of code base
* Fix bug in getNodeURIFromBitcoind(), disconnect from bitcoind side in PeerManagerTest
* Add println to see why still fialing
* Add PeerConnection.getLocalAddress, add parameter localAddressBitcoinS to NodeTestUtil.getNodeURIFromBitcoind() to make sure we are getting the correct URI
* Empty commit to run CI
* Fix bug where we weren't removing peer from NodeRunningState.waitingForDisconnection
* Empty commit to re-run CI
* Remove _peerDataMap.remove(i.peer)
* Empty commit to re-run CI
* Replace state even if client.stop() results in a failed Future
* Remove duplicate disconnect() call
* Remove log for case where we haven't set PeerConnection.connectionGraphOpt but call PeerConnection.stop()
* Remove bitcoin-s.node.initialization-timeout