1
0
Fork 0
mirror of https://github.com/bitcoin-s/bitcoin-s.git synced 2025-03-26 21:42:48 +01:00
Commit graph

167 commits

Author SHA1 Message Date
Ben Carman
3e323ce18e
Fee Rate Api Support ()
* Fee Rate Api Support

* FeeRateProvider Tests

* Rename folder

* Fix docs
2020-05-29 13:01:20 -05:00
Ben Carman
c811ccc62a
Add option to correctly use logback config ()
* Logger now uses correct parent logger for all, names appenders correctly

* Set logback to true for tests, rename file

* Fix docs
2020-05-20 15:46:24 -05:00
Ben Carman
9172aa3206
Add ability to make OP_RETURN commitments () 2020-05-18 14:27:05 -05:00
Ben Carman
c4382cddb6
Wallet Send with coin selection algorithim () 2020-05-18 11:26:39 -05:00
Nadav Kohen
aee88684f2
InputInfo Refactor ()
Added OutputReference and introduced public key computation on SPKs

Made InputInfo into an ADT

Made UTXOSpendingInfo use InputInfo

Replaced UTXOSpendingInfo with NewSpendingInfo and got non-test things compiling

Made aliases for (NewSpendingInfo/NewSpendingInfoFull/NewSpendingInfoSingle)[InputInfo]

Got rid of source code mention of UTXOSpendingInfo

sbt compile passes

tests compile

Fixed all coreTest tests

Renamed to UTXOInfo

Some cleanup

Moved redeem script and script witness accessors to companion object

Responded to code review

Added OutputReference and scaladocs

Moved p2pkhPreImageOpt downstream and generalized to hashPreImages

Fixed adding-spks.md

Fixed psbts.md and txbuilder.md

Renamed UTXOInfo

Apply renaming to docs
2020-05-15 11:14:15 -05:00
Ben Carman
a9cd4450da
Add list unused addresses call () 2020-05-12 09:29:02 -05:00
Ben Carman
8f5c845a06
Add listFundedAddresses call () 2020-05-12 07:33:22 -05:00
Ben Carman
bf6d90acfb
Add listSpentAddresses call () 2020-05-12 07:24:52 -05:00
Ben Carman
1454bf6552
Wallet send from outpoints () 2020-05-12 07:24:36 -05:00
Chris Stewart
29e439d202
Add rpcport configuration options in both bitcoin-s.conf and as a command line parameter ()
Implement ability to specify rpcport with bitcoin-s-cli
2020-05-04 19:09:32 -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
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
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
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
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
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
70fef65c86
Merge pull request from benthecarman/cli-stop
CLI command to stop node
2020-03-30 12:43:00 -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
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
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
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
rorp
b92fc1cb8f
Compute confirmations dynamically ()
* Compute confirmations dynamically
2019-12-14 12:06:22 -08:00
rorp
fd64c42b69
Add a reference to ChainQueryApi to the wallet ()
* Add reference to ChainQueryApi to wallet
2019-12-10 14:22:33 -08:00
rorp
7cfd33b753 ChainQueryApi ()
* ChainQueryApi

* cleanup
2019-12-09 09:39:35 -06:00
rorp
a752c5301f
Neutrino Wallet: OnCompactFilter handler ()
* Neutrino Wallet: OnCompactFilter handler
2019-12-06 13:10:33 -08:00
Chris Stewart
72097e31bd
2019 11 30 key manager ()
* Segregate key manager from wallet

* More consistent naming in build.sbt, run scalafmt

* Add test case making sure we don't overwrite a mnemonic seed

* Add key-manager.md

* Fix compile issues with older scala versions

* Address code review
2019-12-04 07:43:29 -06:00
Chris Stewart
7e6f489fee
2019 11 28 cli native image doc ()
* Add documentation about how the cli can be built with a native image

* Finish rest of documentation on building command line client for bitcoin-s

* Add missing akka actor on walletServer classpath, add plugins to be able to build the walletServer as a standalone jar

* Add server.md

* Rename walletServer -> appServer

* Address code review, add missing main class in server project

* Address code review
2019-12-04 07:25:03 -06:00
rorp
9e677b602d [Neutrino] Update balances ()
* [Neutrino] Update balances

* responded to the comments

* some more changes
2019-11-27 16:00:19 -06:00