* Handle duplicate UTXOs
* Add logging
* Add log for exception in handleDuplicateSpendingInfoDb
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* WIP
Try and debug
WIP
Fix bug for incomingAmount
Clean up logs
more cleanups on logs
Remove another uncessary log
Don't process tx if we don't have a relevant received output for that specific tx
* Group hashes in batches of 1,000 before querying the db
* Rename existing getaddresslabels -> getaddresslabel
* Fix missing rename of GetAddressLabel
* Modify pk constraint on wallet_address_tags to be tag_name rather than tag_type
* Add dropaddresslabel for a specific address
* Fix migrations
* Add unit tests and fix existing tests
* Add docs
* Refactor receive flow to use the same utxo state transitions as the rest of the wallet
Get tests passing again with refactored utxos
Remove unecessary wallet methods
Fix test cases
* Remove fixture on UTXOHandlingTest
* Fix bug where funding happens in parallel in fixture and can lead to blockchain reorgs
* Fix bug where we prune unused addreses on rescan. This doesn't let us discover funds for addresses sent that were not paid to until after the rescan was completed
* Add test case
* Fix neutrino node test case
* Some cleanup
* Get things compiling and tests passing
* Fix bug where we weren't using filter height correctly
* Fix docs
* Move creationTime into KeyManagerAppConfig
* Fix nodeTest/test test fixtures
* Fix UTXOHandlingTest cases
* Reduce log level
* Add comments, fix bugs so that we can transition from TxoState.ConfirmedReceived -> TxoState.PendingConfirmationsReceived
* Fix BroadcastSpent/BroadcastReceive bugs
* Add scaladoc to updateUtxoStates()
* Break receive and spent tests into two test cases
* Remove unneeded database write
* Fix rebase
* Support for big SPKs
* Support for big SPKs
* Bump number of migrations
* Fix other test case
* cleanup
* cleanup
* fix psql migrations
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Reduce allocations in parameters to processTransactionImpl parameters for Some
* Move cachedReceivedOptF map out of the hot path on processBlockCachedUtxos
* Move spentSpendingInfoDbs out of the hot path on processBlockCachedUtxos
* Cache all inputs in block earlier to avoid looping over them over and over
* Call correctly processTransactionImpl on accumulated wallet
* Fix compile
* Fix bug where we didn't set spendingTxId when transitioning from Reserved -> PendingConfirmationsSpent
* Try to add unit test
* WIP
* WIP2
* Get reserved state working
* Fix assertion, cleanup logs
* Cleanup test case
* Refactor testkit tests to use same nodeCallbacks that BitcoinSServerMain uses for neutrino
* Add test case
* Add logs for callbacks
* Cleanup
* Add test case for when funds are spent when we are offline
* Turn off logging again
* Cleanup more logs and comments