* add header sync validation
* fix docs, minor fixes
* Refactor to us InvalidBlockHeader ChainException, also refactor recovery to private helper method
* changes from comments
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* 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
* Add more JSON serializers
* use PicklerKeys for consistent field names across codebase
* scalafmt
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Get rid of standalone scalajs, mdoc CI matrix. Consolidate with other jobs for faster performance
* Adjust CI matrix name
* Address review, bump heap size
* 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
* Fix bug where we were not generating change addresses during a rescan with a fresh address pool
* Turn logging level down
* Add awaitRescanDone before checking addresses
* Alternate order we clear addresses and utxos
* 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