* 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
* WIP
* Get basic websocket working (sort of)
* Push websocket fixes
* WIP: Implementing SpendingInfoDb json serializer
* Implement onreserved callbacks, add json serializers for SpendingInfoDb
* Get first unit test working for websockets when a address is generated
* Rework WalletNotification to have case classes, get unit test working for receiving addresses over the websocket
* WIP
* Add websocket callback for when a wallet processes a block
* Cleanup
* basic updates to unit test
* Fix compile
* Fix submodule
* Fix compile
* Get both unit tests passing when run by themselves
* Fix so both test cases can be run
* Implement unit tests for blockpressed and reservedutxos websockets
* Fix RoutesSpec get a block header test
* Implement configuration for wsbind and wsport via bitcoin-s.conf
* Add some nonblocking sleeps on all WebsocketTests
* Add documentation
* Properly close the server with .terminate() rather than .unbind()
* Add BitcoinSServerMainBitcoindFixture.afterAll()
* Add println
* Add more println
* Try to downgrade bitcoind version
* Fix datadir bug
* Cleanup callbacks so they don't have nested futures
* Fix SpendingInfoDb.apply() pattern match
* Add spendingInfoDb json serializer test, does not pass
* Fix SpendingInfoDb json serializer
* Make small refactors
* Fix compile
* Add maxBufferSize, change overflow strategy to OverflowStrategy.dropHead
* Address Nadav's code review
* Address ben's code review
* Implement DLC wallet callbacks
Add callbacks and tests for Claimed/RemoteClaimed
Add unit test for confirmed state
* Add some docs
* Address ben's code review
* Fix scalafmt
* WIP
* Fix sql queries, fix up unit tests that were implicitly using wallet.processOurTransaction()
* Remove default parameter markAsReserved=false on FundTransactionHandling.fundRawTransactionInternal()
* Fix submodule
* Add test to make sure if we fail to reserve utxos, we roll the database transaction back
* Add some clarifying comments
* address ben's code review for failures in finishSend()
* Scalafmt
* Add some logs to indicate how long startup time is
* Parallelize submodule configuration startup between modules dependent on tor and modules not dependent on tor
* Start tor dependent modules in parallel too
* Make Wallet.initialize() use DBIOAction
* Scalafmt
* Make Wallet.initialize() use .transasctionally
* Add CRUDAction.{updateAllAction, updateAction}
* Move updateDLCOracleSigs into DLCActionBuilder and make it an action
* Update DLCTransactionProcessing.calculateAndSetOutcome() to use actions
* WIP
* Finish implementing {CRUD,CRUDAction}.createAllAction()
* Try to make database inserts more atomic
* Consolidate more database calls in DLCWallet.initDLCForAccept()
* WIP2
* More refactor and using actions
* Add DLCIdDaoUtilNoPK for querying when dlcId is not a primary key
* Add DLCDataManagement.deleteDLC()
* make DLCWalletApi.createDLCOffer() use actions
* Rework DLCWallet.createNewDLCAccept() to use DBIOAction
* Use actions in DLCWallet.registerDLCAccept() a bit
* Create DLCActionBuilder, move actions to there
* Move more actions into ActionBuilder
* Implement transactionally on database writes for actions
* Implement MasterXPubDAO
* Fix nits
* Add postgres migrations
* Make sure tables are getting cleaned on postgres
* Get dlcOracleTest test cases passing with validation of the master xpub in the database on startup
* Fix test case
* Fix more tests
* Move things around so keymanager does not need to depend on dbCommons
* Get all walletTest passing
* Add unit test for wallet startup
* Fix rebase
* Get all sqlite tests passing
* Get postgres test cases passing locally
* Remove early call to walletAppConfig.start() in node project
* Make KeyManagerAppConfig.externalEntropy private
* Fix MasterXpubDAO.existsOneXpub()
* Fix bug in migrating database for oralce project
* Encapsulate initialization of DLCOracle.start() method
* Use internal WalletAppConfig.kmConf rather than passing in custom key manager parameters
* Add KeyManagerAppConfig.defaultAccountType
* Get all tests passing besides TrezorAddressTest
* Get TrezorAddressTest passing with provided entropy
* Add unit test to make sure we can always derive the seed
* Get docs compiling
* Fix dlcWalletTest test cases
* Add more test cases to keymanager
* Add the new configuration to the example configuration
* Add more test cases
* Remove coverage on 2.12 as it isn't accurate
* Rework DLCOracleAppConfig.start() to call kmConf.start() so the oracle can use entropy provided via bitcoin-s.conf
* Write unit test for SpendingInfoDAO.upsert(), match on outpoint rather than id
* Add more explicit error message for failing to clear utxos and addresses
* Get both bundle and app server logging working, oracleServer does not compile
* Get everythig compiling
* Fix bug where bundle wouldn't use command line param rpc port for ConsoleCli
* Add unit tests to make sure we are translating to config properly
* Fix bug where app config wasn't re-created after parsing bundle args
* Fix datadir resolution in BundleGUI
* Implement force-recalc-chainwork
* fix bug
* Try not using tilde on windows
* Try to print datadir on CI
* Try using stackoverflow answer
* Try escaping windows path
* Take ben's suggestion of using AppConfig.safePathToString
* Just check the paths are equal
* Fix nullpointerexceptions on startup
* Fix bug where bitcoin-s-bundle.conf was not being read
* Remove usage of --conf flag in bundle when starting backend server
* Fix compile
* Rename usedDir -> networkDir
* Fix passing in datadir
* Add mark as spent optimization to batch writes rather than write inside the method
* Scaladoc refactor
* Refactor received spendingInfoDbs to be cached outside of processTransactionImpl()
* Implement processBlockCachedUtxos() to improve performance
* Fix typo