* Upgrade clightning to 24.02.2
* Fix download hash
* Fix version
* Change CLightningInfo.fees_collected_msat from String -> Long
* Fix channels parsing, add support for p2tr address type and remove nested-segwit for clightning
* Revert version
* amount_msats -> amount_msat
* Fix more json parsing
* Try commenting out asserts for midChannelsA being completed in CLightningChannelOpenerTest
* scalafmt
* msatoshi -> amount_msat
* Change assertion to check assert the channel is not active in CLightningChannelOpenerTest
* Fix CLightningPayResult
* Ignore test case that uses sendtoaddress until we upgrade to psbt v2
* 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>
* Get dependencies resolving, get tor module compiling
* Get everything compiling with pekko
* Rework configs/logging to use pekko namespace
* Rename AkkaUtil -> PekkoUtil, BitcoinSAkkaAsyncTest -> BitcoinSPekkoAsyncTest
* WIP: Implement future chaining for recursive rescans
* Fix deadlock by segregating RescanStarted.doneF into two different methods, one tracking the single pass rescan and one tracking the entire rescan
* scalafmt, add comment
* Fix bug where we were completing Promise twice
* Fix unit test
* Cleanup logs
* Cleanup comment
* Bump timeout
* Empty commit to run CI
* Empty commit to re-run CI
* Empty commit to re-run CI
* 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
* Fix bug where compact filters weren't being processed in order of block height during IBD
* Use sorted compact filter messages in chainApi.processFilters()
* 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
* removed logger parameter from where it's used with callbacks
* removed logger from onTXRecived... and onBlockRecived...
* removed unused imports
* removed logger from walletCallbacks
* 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>
* 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
* 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
* 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
* Create a helper case class called FundRawTxHelper to encapsulate the values returned by fundRawTransactionInternal
* Return FundRawTxHelper[ShufflingNonInteractiveFinalizer]
* make FundRawTxHelper.signedTx be a lazy val
* Implement rescan with akka streams
Get basic stream working with rescan
Fix bug where we weren't using rescan specific threadpool
Implement killswitch for rescan
* WIP: Expose promise to allow external completion of rescan stream
* Rework RescanStarted.RescanStarted to contain a promise to complete the stream early, and a future that represents the completed streams materialized value
* Comment cleanup
* Fix compile errors, remove killswitch
* Fix 2.12.x compile
* Introduce ActorSystem into wallet, refactor rescans to use that ActorSystem
* Fix import
* Fix bug where we were prepending instead appending to batched Vector
* Propogate RescanState upwards into WalletRoutes
* Refactor fetching of filters to be a Flow
* Fee rate WS notification
* make the test more CI friendly
* fix the default config
* always return errors
* fix build
* scalafmt
* send notifications every time