Commit graph

178 commits

Author SHA1 Message Date
Chris Stewart
40c4af93a7 Modify gui background color to be same as our website (#1404) 2020-05-09 08:03:29 -05:00
Chris Stewart
83b6a74b18 Add rpcport configuration options in both bitcoin-s.conf and as a command line parameter (#1387)
Implement ability to specify rpcport with bitcoin-s-cli
2020-05-04 19:09:32 -05:00
Nadav Kohen
a503441619 Crypto Project Refactor (#1380)
* Added crypto project and decoupled BitcoinSLogger from NetworkElement

Decoupled BitcoinSLogger from Factory

Moved NetworkElement into crypto project

Moved Factory and BitcoinSUtil (renamed to BytesUtil) to crypto project

Moved MaskedToString to crypto project

Added BytesUtil to imports and cleaned up CryptoUtil.recoverPoint

Moved the rest of crypto stuff to the crypto project

Moved crypto tests to crypto-test project

* Added documentation for crypto project
2020-04-30 12:34:53 -05:00
Ben Carman
90030719e5 Log correct type of node sync (#1384)
* Log correct type of node sync

* Fix stopped node logs
2020-04-30 12:10:48 -05:00
Ben Carman
6d7685b76e Add wallet creation time for rescans (#1353)
* Add wallet creation time for rescans

* Fix docs

* Clean up and add test

* Remove account bday

* Fix compile issue and docs

* Add more chain handler tests

* Use Instant over Long, add docs

* Fix docs
2020-04-29 09:49:41 -05:00
Ben Carman
4234561db9 Remove Unlocked vs Locked Wallet distinction (#1379)
* Remove Unlocked vs Locked Wallet distinction

* Add back TODO comment
2020-04-28 13:58:14 -05:00
Ben Carman
37c62369eb Batch processing compact filters (#1363)
* Batch processing compact filters

* Use one vector, rename param

* Fix compile issue on older versions

* Process sequentially
2020-04-26 09:34:41 -05:00
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
3d26ad8f34 Rescan from account (#1348) 2020-04-24 09:37:12 -05:00
Ben Carman
b83d447e67 Fix sendrawtransaction output again woops 2020-04-22 11:45:56 -05:00
Ben Carman
5ff9bf7839 Change sendrawtransaction return to be just txId (#1354) 2020-04-22 08:01:56 -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
Nadav Kohen
ea4a5e0c42 Increased test coverage by 0.97% (#1343) 2020-04-20 12:53:51 -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
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
172eef84ca Set statusLabel.text 2020-04-09 12:06:29 -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
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
29eb6c2e05 Wallet Transaction Tracking (#1197)
* Incoming and Outgoing Transaction Tables

* Remove script sigs for witness txs

* Create parent tx_table for incoming and outgoing txs

* Response to review

* Use isCloseEnough

* Fix test

* Fix rebase error

* Test that tx is tracking all sats correctly
2020-04-02 06:55:09 -05:00
Nadav Kohen
c31a4a3f8a Constructed simple Bitcoin-S wallet GUI (#1285)
* Constructed simple Bitcoin-S wallet GUI

* Added note about bitcoin-s server in doc

* Removed wallet dep from gui

* Replaced lambdas with constructors for compatibility with scala 2.11

* Fixed after rebase
2020-03-31 14:30:24 -05:00
Ben Carman
47c2bc08c4 Merge pull request #1268 from benthecarman/cli-stop
CLI command to stop node
2020-03-30 12:43:00 -05:00
Ben Carman
0bf4d2b51b Merge pull request #1273 from benthecarman/custom-fee-rate-sendtoaddr
Custom fee rate for wallet sends
2020-03-30 12:31:52 -05:00
Ben Carman
e9d261382d Fix CLI commands (#1271) 2020-03-28 08:53:31 -05:00
Ben Carman
2e5c3f1866 Terminate not reliant on node.stop 2020-03-25 13:48:13 -05:00
Ben Carman
5e4d23d562 Custom fee rate for wallet sends 2020-03-25 11:23:12 -05:00
Ben Carman
318c3a83df CLI command to stop node 2020-03-23 16:57:47 -05:00
Ben Carman
a286283aa4 CLI help message include commands and their arguments (#1254) 2020-03-19 08:04:56 -05:00
Ben Carman
fb4bf84891 Remove requirement for sats parameter (#1190) 2020-03-03 08:59:25 -06:00
Ben Carman
77674a3ca8 Allow getbalance to return in sats 2020-02-27 14:18:38 -06:00
Chris Stewart
03cfbc0803 2020 02 21 datadir configurable (#1156)
* Make it so that you can pass in the datadir from the command line

* Add example on website

* implement ben's solution
2020-02-24 09:50:40 -06:00
Nadav Kohen
7169455eff Got rid of warning messages! (#1133)
* Got rid of warning messages!

* Reverted collection conversion changes because scala 2.11 is dumb
2020-02-19 08:02:33 -06:00
Nadav Kohen
099465f72a Multiple Logger Fix (#1086)
* An attempt to fix logging to file using MDC

* Responded to review
2020-02-11 11:35:28 -06:00
Nadav Kohen
90c56fff7e Added server handling for empty account tables while a seed exists (#1094)
* Added server handling for empty account tables while a seed exists

* Add test coverage to key-manager

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2020-02-09 11:14:53 -06:00
Nadav Kohen
da1aecaab5 Console CLI (#1095)
* Moved Cli code to an object called ConsoleCli which can be called from sbt console

* Add --allow-incomplete-classpath to cli.sbt

Co-authored-by: Ben Carman <benthecarman@live.com>
2020-02-04 08:05:38 -06:00
Ben Carman
5276beac6e Simplify txReads 2020-01-28 22:13:50 -06:00
Ben Carman
964fcbc064 Replace null values with EmptyTransaction and PSBT.empty 2020-01-28 10:37:16 -06:00
Ben Carman
d2ed88067b CLI Commands for PSBTs 2020-01-28 00:06:15 -06:00
Ben Carman
0c2d324258 CLI command for filter and filter header counts (#1063) 2020-01-23 14:45:33 -06:00
Chris Stewart
b8c59b4c93 2020 1 11 accounts (#1022)
* Create 'fundRawTransaction' and 'fundRawTransactionInternal'

* Move TransactionTestUtil to testkit, begin writing tests for fundrawtransaction

* Add FundTransactionTests

* Move things to 'FundTransactionHandling' trait

* Start segregating things by HDAccount in the wallet, this gives us the ability to query for balances based on account, fund a transaction based on an account, generate a new address based on an account etc. All old api calls are now based on the default account, i.e. getBalance() returns the balance for account 0, fundRawTransaction funds the transaction from account 0 etc.

* Fix compile issue with 2.11.x

* Bump address generation Thread.sleep() to 500ms

* Address ben code review

* Address code review
2020-01-21 14:20:58 -06:00
Chris Stewart
55f168f920 Implement abililty to use BIP39 password. This means this password ne… (#990)
* Implement abililty to use BIP39 password. This means this password needs to be password through our various projects to be able to correctly generate the key that controls the wallet. This also renames 'CreateKeyManagerApi' -> 'BIP39CreateKeymanagerApi' as the bip39 password is needed when creating the KeyManager

* Add bip39 password to BIP39KeyManager.fromParams(), fix mdocs

* Fix bug in unit test were whe weren't specifying password

* Fix rebase issues
2020-01-03 11:03:45 -06:00
rorp
93c02f02d0 Automated wallet recovery (#985)
* Automated wallet recovery

* responded to the PR comments

* some more changes

* fix docs

* cleanup
2020-01-02 13:18:41 -06:00
Chris Stewart
c3fb7c9a67 This creates a subtype BIP39KeyManager and moves all existing KeyMana… (#988)
* This creates a subtype BIP39KeyManager and moves all existing KeyManager functionality to that subtype. We leave a empty 'KeyManager' trait for now

* Fix website docs
2019-12-27 10:09:04 -06:00