Commit Graph

1863 Commits

Author SHA1 Message Date
Chris Stewart
4c3f6f8e67 2020 04 08 multi db dao (#1355)
* Implement Slick's multi database support via our DAOs

WIP2 work on chain project

WIP make JdbcProfieComponent so we have a common JdbcProfile

WIP2

Clean up a few things

WIP got CRUDAutoInc compiling

Get closer to everything compiling in the chain project

Begin moving database code into JdbcProfileComponent

WIP source compiling

Get dbCommonsTest/ test cases passing

Get rest of tests compiling and passing

* Rebase onto master, fix conflicts

* Run scalafmt

* Run scalafmt again

* Cleanup a few compiler warnings by adding type annotations to thigns

* Explicitly cast tables where they are needed in the wallet project where we need TableQuery for foreignkey / joins in slick

* Redo definition of 'table' to use the profile.api.TableQuery in scope

* Rename all *Table.scala files to *Db.scala

* First crack at address ben's code review

* Fix docs compile issue

* Fixed casting (#30)

* Fixed AppConfig casting

* Fixed TableQuery casting in DbManagement subtypes

* Fixed casts in DAOs relating to internal types

* Address nadav's code review, move JdbcProfileComponent into it's own file

* Remove unused listTables() method

Co-authored-by: Nadav Kohen <nadavk25@gmail.com>
2020-04-25 11:28:58 -05:00
Ben Carman
3f14add2d0 Ignore immature coinbase outputs when funding a transaction (#1365)
* Ignore immature coinbase outputs when funding a transaction

* Create Consensus.coinbaseMaturity
2020-04-24 18:04:42 -05:00
Ben Carman
e1bd6a158b Make fundWalletWithBitcoind have the same utxo amounts as FundedWallet (#1364) 2020-04-24 09:43:19 -05:00
Ben Carman
dd479afae1 Fix isMinimalPush to not look for OP_1Negate when pushing 0x4f(79) (#1367) 2020-04-24 09:42:49 -05:00
Ben Carman
3d26ad8f34 Rescan from account (#1348) 2020-04-24 09:37:12 -05:00
Chris Stewart
5d3066b21f Remove redundant logic that computes an HDAccount. We don't need this because we are explicitly passing in the account we want to create (#1359) 2020-04-23 09:30:07 -05:00
Chris Stewart
cb88b78540 Bump scala version to 2.13.2 (#1360) 2020-04-23 07:38:20 -05:00
Ben Carman
001124a045 Merge pull request #1356 from benthecarman/oops 2020-04-22 11:53:31 -05:00
Ben Carman
b83d447e67 Fix sendrawtransaction output again woops 2020-04-22 11:45:56 -05:00
Scala Steward
2f868f9d77 Update sbt-ci-release to 1.5.3 (#1352) 2020-04-22 08:29:03 -05:00
Scala Steward
214ebfa368 Update flyway-core to 6.4.0 (#1349) 2020-04-22 08:28:52 -05:00
Ben Carman
5ff9bf7839 Change sendrawtransaction return to be just txId (#1354) 2020-04-22 08:01:56 -05:00
Ben Carman
3d58c66b79 Merge pull request #1351 from benthecarman/sendrawtx 2020-04-21 17:59:44 -05:00
Ben Carman
56babfd083 Fix test 2020-04-21 14:38:57 -05:00
Ben Carman
b16b44bb8d Past tense 2020-04-21 13:23:07 -05:00
Ben Carman
39088475e3 Add sendrawtransaction CLI and Api commands 2020-04-21 13:14:02 -05:00
Chris Stewart
af4b6648b9 Use FutureUtil.foldLeftAsync() to process messages we parsed on the p2p network. This moves the blocking with Await.result() from inside of each message we process, to after the entire batch of messages is processed (#1326) 2020-04-20 15:34:14 -05:00
Nadav Kohen
8ab4a912b2 Added appCommons to project aggregate so that it can get published (#1347) 2020-04-20 15:07:40 -05:00
Scala Steward
58b974e21e Update javafx-base, javafx-controls, ... to 14.0.1 (#1346) 2020-04-20 13:17:14 -05:00
Nadav Kohen
ea4a5e0c42 Increased test coverage by 0.97% (#1343) 2020-04-20 12:53:51 -05:00
Chris Stewart
8f4702cce8 Add information on how to build libsecp256k1 to the secp README (#1318)
* Add information on how to build libsecp256k1 to the secp README

* Rebase and add link to internal docs
2020-04-20 12:25:31 -05:00
Ben Carman
00e4cf4c95 TransactionSignatureChecker bug fix and tests (#1341)
* TransactionSignatureChecker bug fix and tests

* Add new tests
2020-04-20 08:57:36 -05:00
Scala Steward
fcc7e5ac52 Update sbt to 1.3.10 (#1337) 2020-04-15 06:24:19 -05:00
Nadav Kohen
c46a96b6e7 Update Secp256k1 (#1310)
* Rebased secp onto bitcoin-core's master (see https://github.com/bitcoin-s/secp256k1/pull/3) and built linux binaries

* Wrote a doc on adding to jni

* Built for website

* Added build instructions for other OSs

* Added table of contents using doctoc

* Edited .gitmodules

* Added windows binaries

* Updated secp branch

* Added osx binaries

* Added make check-java to doc

* Fixed typo
2020-04-14 15:42:58 -05:00
Ben Carman
c696a7306b Require that addresses are the correct network when sending (#1332)
* Require that addresses are the correct network when sending

* Compare network bytes so typed addresses work

* Use isSameNetworkBytes
2020-04-13 13:58:41 -05:00
Ben Carman
b0150f006d Merge pull request #1316 from benthecarman/dark-mode-gui
Dark mode GUI
2020-04-13 11:42:17 -05:00
Chris Stewart
142c5c8a30 Add JsonParseException catch clause in the isStartedF method (#1334) 2020-04-13 09:43:30 -05:00
Chris Stewart
3f71216eb3 Bump number of addresses generated in negative test case for AddressHandling where we expect a illegal state exception to be thrown (#1333) 2020-04-11 19:10:35 -05:00
Ben Carman
aa8a2e14a6 Move Json Reader, Writers, and Serializers to App Commons (#1328)
* Move Json Reader, Writers, and Serializers to App Commons

* Move app-commons outside of app/
2020-04-10 14:33:37 -05:00
Chris Stewart
76a3edd0af 2020 04 02 get new address queue (#1299)
* WIP: Build queue for getnewaddress

* Implement background thread to process requests to getNewAddress so that we fix issue 1009 with it's async issues

* Run scalafmt

* Replace the mutable.ArrayBuffer in AddressHandling with ConcurrentLinkedQueue

* Put FundTransactionhandling.fundRawTransactionInternal's call to getNewChangeAddress() into the for expression so we don't generate an address when the funding of the transaction fails when selecting utxos

* Move thread initialization out of method

* Switch to using ArrayBlockingQueue, which will block thread with .take() so we don't need to loop constantly, add 'addressQueueSize' and 'addressQueueTimeout' configurations

* Update wallet-test/src/test/scala/org/bitcoins/wallet/AddressHandlingTest.scala

Co-Authored-By: rorp <rorp@users.noreply.github.com>

* Add error handling to return the failed future if the queue is full, add a unit test for when the queue is full

* Run scalafmt

* Rebase

* Add scaladoc for throwing an exception

* Run scalafmt again

Co-authored-by: rorp <rorp@users.noreply.github.com>
2020-04-10 14:19:39 -05:00
Ben Carman
0532d97ae5 Fix Block Header Callback (#1331) 2020-04-10 13:47:23 -05:00
Ben Carman
91e5bfa176 Fix MerkleBuffers test to be async (#1329) 2020-04-09 18:16:36 -05:00
Ben Carman
891e6da11d GetAddress Wallet API call (#1287)
* GetAddress Wallet API call

* Add ability to get unfunded address

* Generate new address if no unfunded addresses

* Add test

* Add wallet get address documentation
2020-04-09 15:33:11 -05:00
Ben Carman
ea20f394e8 Add wallet pay to many (#1317)
* Add wallet pay to many

* Create sendToOutputs

* Add sendToAddresses Unit Test

* Send to addresses can reserve utxos
2020-04-09 15:00:26 -05:00
Chris Stewart
4f644a2143 Make 'maxHeightQuery' vals inside of BlockHeaderDAO, CompactFilterHeaderDAO, CompactFilterDAO (#1325) 2020-04-09 14:56:45 -05:00
Chris Stewart
bb347890c0 Call getFilterHeaderCount async inside of nextFilterHeaderBatchRange while we are fetching our start height for fetching filters (#1327) 2020-04-09 14:56:03 -05:00
Ben Carman
8a079d25d7 getNewAddressHelper Refactor (#1322) 2020-04-09 12:54:28 -05:00
Ben Carman
172eef84ca Set statusLabel.text 2020-04-09 12:06:29 -05:00
Nadav Kohen
8ffd2d11ae Added Tables of Content to the bigger docs using doctoc, updated signing-transactions.md (#1319) 2020-04-08 16:51:37 -05:00
Ben Carman
b3250dcfba Update TxoState for transactions after they've been confirmed (#1178)
* Add onBlockHeadersReceived NodeCallback

* Add requiredConfirmations config option

* Update TxoState for transactions after they've been confirmed

* Response to review

* Fix compile issue
2020-04-08 16:51:17 -05:00
Ben Carman
09399f1349 Respond to review 2020-04-07 17:16:14 -05:00
Ben Carman
70d29050f8 Dark mode GUI 2020-04-07 16:06:55 -05:00
Nadav Kohen
ec0af42ce4 Removed SingleSigner abstraction and replaced with a simple signSingle method in SignerUtils (#1308) 2020-04-07 14:26:07 -05:00
Scala Steward
d25e8eb8fb Update flyway-core to 6.3.3 (#1309) 2020-04-06 19:06:48 -05:00
Chris Stewart
1db6bd059a Remove flaky gcs test that times out (#1301) 2020-04-06 10:54:32 -05:00
Ben Carman
774e03a0f5 P2WSH Signer fix + tests (#1300)
* P2WSH Signer fix + tests

* Respond to review
2020-04-05 07:42:57 -05:00
Ben Carman
c2a0051411 Network specific filterHeaderBatchSize (#1286)
* Network specific filterHeaderBatchSize

* Catch correct exceptions

* Add filter-header-batch-size-regtest to example configs
2020-04-03 17:36:29 -05:00
Ben Carman
402b9c9f3a Add CLI commands for current wallet apis (#1291) 2020-04-03 17:18:34 -05:00
Ben Carman
7326fd5035 Change NodeCallbacks to Future[Unit] s (#1206)
* Change NodeCallbacks to Future[Unit] s

* Fix compile issue

* Change try to future

* Change Future.sucessful(()) to FutureUtil.unit

* Callback failure handling, callback docs

* Create functions for executing callbacks, make merkleblock a future

* Convert MerkleBuffersTest to BitcoinSAsyncTest

* Fix compiler errors

* Reorder UpdateBloomFilter tests so that txFromWalletP is a success for both calls and the other test does not wait on the promise to complete
2020-04-03 08:57:41 -05:00
Ben Carman
e2b4309317 Add google analytics key for bitcoin-s site (#1292) 2020-04-02 07:26:45 -05:00