* 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 small optimization to not query for DLCDb twice
* Optimize findDLCStatusAction to use a single db query to fetch offers,contracts
* Make findDLCStatusesAction to batch fetch statuses for a set of dlcDbs
* Add querying acceptDb to the sql query
* Implement sql query for getDLCOfferDataAction
* Fix rescan batch boundary bug
* Make arguments for rescan required to avoid bugs
* WIP: Debug rescan batches
* Add forceGenerateSpks to fix one bug
* Remove addressCount != 0 check now that we have forceGenerateSpks
* Remove comment
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Embedded Pg v1.0.1
* fix GitHub action evironment
* fix Windows CI tests
* test db-commons in different environments
* remove dbCommontTest from Windows and Mac Github actions
* cleanup
* configurable postgres startup wait
* Empty commit to run CI
* Bump default timeout to 60
* Empty commit
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Replace BoundedSourceQueueWithComplete with SourceQueueWithComplete so we can use the returned Future
* Recover the expected exceptions in CallBackUtilTest
* Implement RescanTerminatedEarly exception to terminate the stream, implement ArgumentSource to understand where arguments passed into bitcoin-s are coming from
* Bump timeout
* add P2PClientSupervisor
* changes from comments: made P2PClient Future
* empty commit to see if mac failures are consistent on ci
* changes from comments
* changes from comments
* 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
* Fix multiple batch unit test so it fails
* Fix compile
* Move generateScriptPubKeys into buildFilterMatchFlow()
* Rename param to filterBatchSize
* Rename to buildRescanFlow
* Remove println
* Cleanup
* Refactor to not use filterThenSum() when calculating balances
* Add await for balance as blocks are processed async
* Add more assertions, fix bad assertions I introduced
* 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