* Add invariant to spendingInfoDb to that requires if the spendinginfodb is in a TxoState.spentStates, the SpendingInfoDb.spendingTxIdOpt is defined
* Remove unused SpendingInfoDAO.updateTxoState()
* Fix bug that doesn't revert TxoState to TxoState.BroadcastSpent when overwriting the spendingTxId
* Remove unecessary transition from TxoState.Reserved -> TxoState.PendingConfirmationsReceived inside of processSpentUtxos()
* Update TransactionProcessing.markAsSpent() to treat TxoState.PendingConfirmationsSpent and TxoState.ConfirmedSpent the same way
* Remove unecessary comment
* Initial implementation of wallet sync with bitcoind with akka streams
* Make BitcoindRpcBackendUtil.startBitcoindBlockPolling use akka streams
* rework BitcoindRpcBackendUtil.syncWalletToBitcoind() to use akka streams
* Fix missing database shutdown on WalletAppConfig.stop()
* Cleanup BitcoindBlockPollingTest
* Cleanup ProcessBlockTest and all tests that use CachedBitcoind
* Cleanup BitcoindBackendTest
* Cache rescan thread pool rather than creating a new one everytime
* Add invariant to spendingInfoDb to that requires if the spendinginfodb is in a TxoState.spentStates, the SpendingInfoDb.spendingTxIdOpt is defined
* Remove unused SpendingInfoDAO.updateTxoState()
* Tighten up TxoState -> ReceivedState types we are using in the wallet. The ensures we are talking specific class of states (receiving a txo) rather than accounting for the case of spending and receiving since there is different information required for the spending states
* Add TxoState.ImmatureCoinbase to ReceivedStates
* Add invariant to spendingInfoDb to that requires if the spendinginfodb is in a TxoState.spentStates, the SpendingInfoDb.spendingTxIdOpt is defined
* Remove unused SpendingInfoDAO.updateTxoState()
* Remove comment
* Make TxoState and explicit parameter for test methods. Most test methods depend on a sample utxo state, so make the caller of the method specify what state they want the txo to be in
* Fix github actions config
* Fix RoutesSpec test
* Implement BIP32Path.fromHardenedString(). This will throw exceptions a non hardened path in the string exists
* Do what ben says rather than re-implementing BIP32Path.fromString
* Wallet Rebroadcast Logic
* Use wallet scheduler for address queue rather than it's own thread
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Bump default
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Rework the website scaladoc aggregation and website publishing to do what the mdoc documentation says
* Add jvm specific projects for asyncUtils & testkitCoreJVM
* WIP
* Get POSt working for creating an announcement
* Add ability POST oracle attestations
* Add docs
* Remove ExplorerMain
* Update workflows to add oracleExplorerClient/test
* Switch to test so it passes on CI
* Add unit test, switch env to ExplorerEnv.Test
* Remove extra comments
* Add StringFactory to ExplorerEnv