1
0
Fork 0
mirror of https://github.com/bitcoin-s/bitcoin-s.git synced 2025-03-19 13:35:17 +01:00
Commit graph

77 commits

Author SHA1 Message Date
Nadav Kohen
4d9692f61e
Crypto Project Refactor ()
* 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
4284f3e2a2
Log correct type of node sync ()
* Log correct type of node sync

* Fix stopped node logs
2020-04-30 12:10:48 -05:00
Ben Carman
556f713589
Add wallet creation time for rescans ()
* 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
4723dce744
Remove Unlocked vs Locked Wallet distinction ()
* Remove Unlocked vs Locked Wallet distinction

* Add back TODO comment
2020-04-28 13:58:14 -05:00
Ben Carman
20c6e43df2
Batch processing compact filters ()
* 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
64b13846d9
2020 04 08 multi db dao ()
* 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 ()

* 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
5881aff186
Rescan from account () 2020-04-24 09:37:12 -05:00
Ben Carman
347625bdbc
Fix sendrawtransaction output again woops 2020-04-22 11:45:56 -05:00
Ben Carman
ee2d74b272
Change sendrawtransaction return to be just txId () 2020-04-22 08:01:56 -05:00
Ben Carman
d83641b677
Fix test 2020-04-21 14:38:57 -05:00
Ben Carman
bd95d86bcb
Past tense 2020-04-21 13:23:07 -05:00
Ben Carman
be37fda2e3
Add sendrawtransaction CLI and Api commands 2020-04-21 13:14:02 -05:00
Nadav Kohen
28aea46e33
Increased test coverage by 0.97% () 2020-04-20 12:53:51 -05:00
Ben Carman
719f17621b
Merge pull request from benthecarman/dark-mode-gui
Dark mode GUI
2020-04-13 11:42:17 -05:00
Ben Carman
e5ef17f020
Move Json Reader, Writers, and Serializers to App Commons ()
* 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
934b7319a8
2020 04 02 get new address queue ()
* 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
c347fb5beb
Fix Block Header Callback () 2020-04-10 13:47:23 -05:00
Ben Carman
e935439ba9
Set statusLabel.text 2020-04-09 12:06:29 -05:00
Ben Carman
d6b4ac07a3
Update TxoState for transactions after they've been confirmed ()
* 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
f36ed65c35
Respond to review 2020-04-07 17:16:14 -05:00
Ben Carman
55e3d2d6ce
Dark mode GUI 2020-04-07 16:06:55 -05:00
Ben Carman
aa2d88f396
Network specific filterHeaderBatchSize ()
* 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
c7a350d8f3
Add CLI commands for current wallet apis () 2020-04-03 17:18:34 -05:00
Ben Carman
717434dcaa
Change NodeCallbacks to Future[Unit] s ()
* 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
80882bf649
Wallet Transaction Tracking ()
* 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
920199cf9e
Constructed simple Bitcoin-S wallet GUI ()
* 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
70fef65c86
Merge pull request from benthecarman/cli-stop
CLI command to stop node
2020-03-30 12:43:00 -05:00
Ben Carman
5d85907870
Merge pull request from benthecarman/custom-fee-rate-sendtoaddr
Custom fee rate for wallet sends
2020-03-30 12:31:52 -05:00
Ben Carman
380ef24d9e
Fix CLI commands () 2020-03-28 08:53:31 -05:00
Ben Carman
afd8d93721
Terminate not reliant on node.stop 2020-03-25 13:48:13 -05:00
Ben Carman
90e4ca1cf3
Custom fee rate for wallet sends 2020-03-25 11:23:12 -05:00
Ben Carman
a7af3cd81d
CLI command to stop node 2020-03-23 16:57:47 -05:00
Ben Carman
bbe7b78c4c
CLI help message include commands and their arguments () 2020-03-19 08:04:56 -05:00
Ben Carman
a043d3858e
Remove requirement for sats parameter () 2020-03-03 08:59:25 -06:00
Ben Carman
980d532b22
Allow getbalance to return in sats 2020-02-27 14:18:38 -06:00
Chris Stewart
2896fd9c66
2020 02 21 datadir configurable ()
* 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
d215680e74
Got rid of warning messages! ()
* 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
a6e21fe43b
Multiple Logger Fix ()
* An attempt to fix logging to file using MDC

* Responded to review
2020-02-11 11:35:28 -06:00
Nadav Kohen
30f5850860
Added server handling for empty account tables while a seed exists ()
* 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
61dfa35d1e
Console CLI ()
* 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
a13feef57a
Simplify txReads 2020-01-28 22:13:50 -06:00
Ben Carman
5692a7da77
Replace null values with EmptyTransaction and PSBT.empty 2020-01-28 10:37:16 -06:00
Ben Carman
5f1716b630
CLI Commands for PSBTs 2020-01-28 00:06:15 -06:00
Ben Carman
c968e79c80 CLI command for filter and filter header counts () 2020-01-23 14:45:33 -06:00
Chris Stewart
bc9a25b47f
2020 1 11 accounts ()
* 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
039722aedc
Implement abililty to use BIP39 password. This means this password ne… ()
* 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
d776e1c952 Automated wallet recovery ()
* Automated wallet recovery

* responded to the PR comments

* some more changes

* fix docs

* cleanup
2020-01-02 13:18:41 -06:00
Chris Stewart
25916ac6f2
This creates a subtype BIP39KeyManager and moves all existing KeyMana… ()
* 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
Chris Stewart
8fb1716b1c
Move initialization of wallet entropy into the key manager ()
* Move initialization of wallet entropy into the key manager

* Enable key-manager in ci, add coverage minimum

* Add coverage minimum for key manager, add KeyManagerParams, start adding KeyManager test harness

* Remove success cases on ADTs, start using Either

* fix import

* Get test coverage to 90%

* Add documentation for key-manager.md, add side bar for key-manager

* Fix wallet.md

* Make seedPath default to baseDatadir, so we don't have a unique seed for every network. Add more documentation

* Address code review

* Address code review from Ben

* Add missing import

* Add more tests for coverage
2019-12-26 19:12:08 -06:00
rorp
a31066d17e
Move rescan logic from node to wallet ()
* Move rescan logic from node to wallet
2019-12-23 08:57:55 -08:00