* 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
* Refactor syncWalletToBitcoind impl to be completely stream based
* Add getParallelism, refactor usages in BitcoindRpcBackendUtil to use it
* Fix compile
* Replace usages of 'WalletApi with NeutrinoWalletApi' with NeutrinoHDWalletApi
* Revert wallet sync height logic
* Refactor to make things cleaner
* Move MockChainQueryApi/NodeApi out of BaseWalletTest
* refactor BitcoinSServerMain.start() to return WalletHolder
* Add walletConfig to WalletWithBitcoind
* Move findOutputsBeingSpent into WalletApi
* Add WalletApi.clearAllAddresses(), HDWalletApi.{findAccount, getnewaddress(account)}
* Add HDWalletApi.fundRawTransaction() with an account as parameter
* Add WalletApi.findByScriptPubKey()
* Fix lots of tests in WalletIntegrationTest
* Create WalletApi.processOurTransaction()
* Get things compiling
* Fix tag integration test
* Refactor AnyDLCHDWalletApi -> DLCNeutrinoHDWalletApi
* Fix docs
* Get postgres tests passing locally
* Move initBalance map before calling callback in CallBackUtilTest
* Get compile working, rename to destroyOnlyWalletWithBitcoindCached
* Fix docs
* Fix missing destroyWalletAppConfig
* Fix scalafmt
* Fix bug in dlcWalletTest where wallet db thread pools weren't being shutdown after unit test completes
* Empty commit