Commit graph

92 commits

Author SHA1 Message Date
Chris Stewart
29e439d202
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
4d9692f61e
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
556f713589
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
4723dce744
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
Chris Stewart
14dfc92e34
Remove compile for dlc.md as we don't have schnorr in master (#1378) 2020-04-26 21:04:16 -05:00
Chris Stewart
e49bb86e47
Add fixed dlc doc instructions (#1376) 2020-04-26 18:18:27 -05:00
Ben Carman
20c6e43df2
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
64b13846d9
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
5881aff186
Rescan from account (#1348) 2020-04-24 09:37:12 -05:00
Ben Carman
be37fda2e3
Add sendrawtransaction CLI and Api commands 2020-04-21 13:14:02 -05:00
Chris Stewart
7b6c6c75e6
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
Nadav Kohen
abec5acccd
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
Chris Stewart
934b7319a8
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
abd28f9962
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
Nadav Kohen
81b8ac7027
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
d6b4ac07a3
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
Nadav Kohen
19afc6be2c
Removed SingleSigner abstraction and replaced with a simple signSingle method in SignerUtils (#1308) 2020-04-07 14:26:07 -05:00
Ben Carman
aa2d88f396
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
717434dcaa
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
Nadav Kohen
920199cf9e
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
Chris Stewart
7c30ecc391
Add new GPG key (#1263) 2020-03-23 09:46:56 -05:00
Chris Stewart
4559edde07
Actually add all files for 0.3.0 on the website so they show up (#1256) 2020-03-19 07:32:02 -05:00
Chris Stewart
ad84ad9fd7
Create v0.3.0 of the website (#1253)
* Create v0.3.0 of the website

* Add section on how to generate a new version
2020-03-18 18:48:05 -05:00
Chris Stewart
67a4955bad
Add trusted peer caveat in node.md (#1250) 2020-03-18 10:11:26 -05:00
Chris Stewart
f9ef6e5a89
Add a philsophy section on getting-started.md, add missing libraries (#1251) 2020-03-18 10:11:06 -05:00
Chris Stewart
7f54b0954b
2020 03 17 secp256k1jni md (#1248)
* First draft secp256k1.md

Fix imports/names

Fix nits

* Address nadav's code review
2020-03-18 05:51:54 -05:00
Chris Stewart
dfeebf69e2
Add headings for both Node and cofiguration on the sidebar (#1241) 2020-03-15 15:52:58 -05:00
Chris Stewart
5e4d5fb002
Add testkit md (#1234)
* Add testkit md

* Address ben's code review

* Fix links
2020-03-15 12:39:43 -05:00
Chris Stewart
87c768e0cc
Add disclaimers to the wallet/key-manager around API breaking changes… (#1237)
* Add disclaimers to the wallet/key-manager around API breaking changes and limitations of the current iteration of the wallet

* Reword as Ben suggests
2020-03-15 12:39:01 -05:00
Chris Stewart
e598d4c37e
2020 03 13 node md (#1229)
* Implement example of starting a neutrino node and example of adding a callback to node.md

Fix port number

* Clean up some names in the example

* Make sure we get the correct bitcoind binary with neutrino p2p support in the example
2020-03-14 08:49:39 -05:00
Chris Stewart
c7f8ab72cf
2020 03 06 wallet rescan test (#1218)
* Add wallet rescan tests

* Create FilterSync, which gives us an API inside of the chain project to sync filters with

Add another unit test to filter sync

Add more unit tests for ChainSync and FilterSync

Clean up some docs, remove some extra lines of code

Run scalafmt

Add filter-sync.md

Cleanup some nits

Add more information of how FilterSync.syncFilters() works

Add 'FilterWithHeaderHash' type so that we can actually validate/verify block headers that are being fed into the chain project

Run scalafmt, hide imports in filter-sync.md so code appears cleaner

Move implicits out of invisible block as it seems to cause errors

Make it so FilterSync processes filters in batches rather than fetching them all at once

Fix compile error

* WIP bitcoind implement ChainQueryApi

* rework fixtures to be able to support injecting ChainQueryApi implemented by bitcoind into our fixture infrastructure for creating wallets

* Fix rebase problem

* Implement getFiltersBetweenHeight() with ben's solution

* WIP Start implementing NodeApi against bitcoind

* Actually inject the bitcoind backed nodeApi into our fixture

* Get first rescan test working for rescanning the entire blockchain

* Implement test case for rescanning from a specific height

* Fix NeutrinoNodeWalletTest test case that uses a experimental version of bitcoind, for now i believe our experimental binary is on v18

* Add wallet-rescan.md, add helper method to WalletApi that allows you to clear out the wallet's utxos/addresses

* Add another log to try to debug CI

* Address code review

* Fix wrong ordering of deletion of tables in clearUtxosAndAddresses()

* reset logging level
2020-03-13 16:11:02 -05:00
Ben Carman
69783f9ed8
Order website sidebar by project, fix capitalization (#1226) 2020-03-13 09:54:07 -05:00
Ben Carman
47665a28dc
Remove unused imports in docs 2020-03-12 17:30:59 -05:00
Ben Carman
6b5b70c2f8
Fix error, add await to psbt doc (#1220) 2020-03-12 14:02:14 -05:00
Ben Carman
0a6a4753dd
Merge pull request #1202 from benthecarman/psbt-single-docs
Docs for PSBT signing with BitcoinUTXOSpendingInfoSingle
2020-03-12 09:55:35 -05:00
Nadav Kohen
674ba24950
Added hash types to scriptsignature generators (#1219) 2020-03-11 22:25:21 -05:00
Ben Carman
190f49aad7
NodeApi doc (#1205)
* NodeApi doc

* Add example

* make imports invis, add example

* Fix invis imports
2020-03-11 11:07:30 -05:00
Ben Carman
3ba658b750 fix compile issues 2020-03-11 09:48:53 -05:00
Ben Carman
c8dde77421 fix compile issue 2020-03-11 09:48:12 -05:00
Ben Carman
81ad5bb322 PSBT signing with BitcoinUTXOSpendingInfoSingle 2020-03-11 09:48:09 -05:00
Ben Carman
e3cbfdad5c
ChainQueryApi doc (#1204)
* ChainQueryApi doc

* Add example

* make imports invis, add example

* Fix invis imports
2020-03-11 08:56:37 -05:00
Chris Stewart
6d6b1023c5
2020 03 08 filter sync (#1209)
* Create FilterSync, which gives us an API inside of the chain project to sync filters with

Add another unit test to filter sync

Add more unit tests for ChainSync and FilterSync

Clean up some docs, remove some extra lines of code

Run scalafmt

Add filter-sync.md

Cleanup some nits

Add more information of how FilterSync.syncFilters() works

Add 'FilterWithHeaderHash' type so that we can actually validate/verify block headers that are being fed into the chain project

Run scalafmt, hide imports in filter-sync.md so code appears cleaner

Move implicits out of invisible block as it seems to cause errors

Make it so FilterSync processes filters in batches rather than fetching them all at once

Fix compile error

* Add comment about trust model

* Run scalafmt
2020-03-10 18:01:14 -05:00
Nadav Kohen
3bfabe7bd5
Adding new SPK doc (#1208)
* Added a document explaining how to add new script types.

* built website

* Added a doc explaining the differences between full and single signing

* Added design philosophy section

* Responded to review

* mdoc now compiles the code within adding-spks.md, with some caveats surrounding sealed traits

* Added explanitory comment
2020-03-10 14:30:16 -05:00
Chris Stewart
89f1db6ca7
Make imports in chain.md invisible (#1213)
* Make imports in chain.md invisible

* Hide imports in wallet.md

* Make all core module md files imports hidden

* Cleanup imports on rpc markdown docs

* Try and figure weird travis behavior

* Get rid of uneeded nest qualifiers on mdoc
2020-03-10 12:49:22 -05:00
Ben Carman
d9881dd153
Fix typo in docs (#1203) 2020-03-06 09:24:06 -06:00
Chris Stewart
963752cbd2
Update eclair.md, also add code example (#1192) 2020-03-04 09:41:21 -06:00
Chris Stewart
267d5eb138
Update website configuraiton.md with migrations information (#1189) 2020-03-04 09:40:50 -06:00
Nadav Kohen
a3150d26a9
Added a getting-setup markdown doc for the website (#1167)
* Added a getting-setup markdown doc for the website

* Responded to Ben's review

* Added testnet section

* Added DLC doc

* Got the website working locally

* Fixed linking

* Responded to review
2020-02-26 13:09:44 -07:00
Chris Stewart
2896fd9c66
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
Chris Stewart
fa0e0d1470
Add section to contributing.md for when travis ci won't run for new contributors (#1135) 2020-02-19 06:51:28 -06:00