* 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
* Rename PeerMessageSender -> PeerConnection
* WIP: Move gossip methods into PeerManagerApi, keep single peer methods in PeerMessageSenderApi, but remove peer parameter
* PeerData.peerMessaageSender -> PeerData.peerConnection
* Remove DataMessageHandler.queue as it is redundant
* Get most test cases passing in nodeTest
* Fix ReConnectionTest
* Fix NeutrinoNodeWithUncachedBitcoindTest test case
* Rename PeerManager.{randomPeerMsgSender, getPeerMessageSender} -> PeerManager.{randomPeerConnection,getPeerConnection}
* Refactor PeerManager.getPeerMessageSender to return the new PeerMessageSender
* Rename param
* scalafmt
* Remove unused method
* Revert onInitialization
* Move methods out of PeerManager.onInitialization()
* Add PersistentPeerData, QueriedPeerData
* Segregate PeerData -> {AttemptToConnectPeerData, PersistentPeerData}, handle the cases differently in managePeerAfterInitialization()
* Remove call to sync() in BitcoinSServerMain
* Fix bug where we were attempting to stop peers that had already had their connections fail
* reduce log level for peer discovery failures
* Network notifications
* add more tests
* don't drop futures on the floor
* Improve logging, don't drop futures on floor
* scalafmt
* add error messages to the failure notifications
* update unit tests
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* implement chain callbacks for compact filter headers / compact filters
* Wire it up through the websocket
* Fix type for compactfilterprocessed
* Fix bug to write json rather than write a string
* Fix Tor hidden service config
* default the target list to an empty list
* Scala 2.12 compatibility
* update docs
* Fix typo
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Allow LnMessage(tlv) & raw tlv to be used in DLCRoutes from when reading binary files
* Implement actual fix with test case
* Fix try deserializing to tlv in a few more places
* Turn logging off
* Implement isinitialblockdownload flag in databaes
* Change to IsInitialBlockDownload to be less confusing
* Fix missing refactors, add ChainApi.isIBD()
* Implement logic for ChainApi.isIBD(), add configuration flag to toggle whether to emit websocket events while IBD is ongoing or not, add isinitialblockdownload field to getinfo endpoint
* Remove confusing ChainApi.isIBD() that didn't accurately account for the case where IBD wasn't set in the database
* Fix bug around emitting the websocket events
* Add some documentation
* Fix bug where it prevented us from rescanning an empty wallet with a seed to try and recover funds
* Fix unit test to not expect isEmpty() wallet calls
* Check if bitcoind is syncing before running scheduled job to poll bitcoind
* Set syncing flag to true if initialblockdownload is true
* Implement logic so we only emit websocket events when state is changed, rather than everytime we poll bitcoind
* Implement logic to only emit websocket event when descriptor flag changes rather than when it is set
* removed logger parameter from where it's used with callbacks
* removed logger from onTXRecived... and onBlockRecived...
* removed unused imports
* removed logger from walletCallbacks
* Implement RescanTerminatedEarly exception to terminate the stream, implement ArgumentSource to understand where arguments passed into bitcoin-s are coming from
* Bump timeout
* Refactor WalletRoutes to take DLCWalletLoaderApi as a parameter, use the walletHolder inside of DLCWalletLoaderApi to fulfill requests
Fix rebase
Reduce parallelism in fetchFiltersFlow to 1 to reduce chance of hitting akka's max open requests
* Try fix loader test by catching RejectedExecutionException
* Add println to see if catching excpetion gets hit
* WIP: Try to fix recursive rescan
* Don't map on recursiveRescan so we don't block on it
* duplicate data structures in (ConsoleCli.scala) and (ServerJsonModels.scala) moved to (Command.scala)
* removed unused imports
* rebase for merge conflitcts
* change output type for Accept DLC
* more error fixes
* error fixes
* fixed destintaion error
* scala reformatting
* send from outpoints test runs and passes
* removed unnecessary braces, removed incorrect extensions on objects
* scala reformatting
* removed commented out code
* Move pollBitcoind out of startBitcoindBlockPolling
* Rework startBitcoindBlockPolling to not return Future[Cancellable]
* Stop NodeCallbacksStreamManager inside of NodeAppConfig.stop()
* Make BitcoindSyncState which encapsulates syncing with bitcoind and polling of mempool
* Fix bug where processingBitcoindBlocks cannot be top level val as that method may be used by different parts of the codebase
* Rename isPolling -> processingBitcoindBlocks
* Cleanup more resources in appServerTest/test
* Complete polling stream regardless if we synced blocks are not to complete the Future returned by pollBitcoind
* Empty commit to run CI