Commit graph

1857 commits

Author SHA1 Message Date
Chris Stewart
039722aedc
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
d776e1c952 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
Scala Steward
80b5c4c25b Update sbt-ci-release to 1.5.0 (#992) 2020-01-02 06:58:30 -06:00
Chris Stewart
25916ac6f2
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
Scala Steward
55d3048981 Update scalacheck-1-14 to 3.1.0.1 (#987) 2019-12-27 05:54:10 -06:00
Scala Steward
98101e3668 Update sbt-mdoc to 2.1.0 (#986) 2019-12-27 05:52:13 -06:00
Scala Steward
8a64ca4190 Update sbt to 1.3.6 (#984) 2019-12-26 19:13:29 -06:00
Chris Stewart
8fb1716b1c
Move initialization of wallet entropy into the key manager (#966)
* 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
Chris Stewart
6b0f499ff7
Remove standalone node ci matrix and add it to the chain ci matrix to hopefully speed up CI time (#983) 2019-12-25 09:31:42 -06:00
Scala Steward
4ce9a11ce5 Update sqlite-jdbc to 3.30.1 (#982) 2019-12-25 07:33:24 -06:00
Ben Carman
34a3efdcf9 Change ScriptPubKey to RawScriptPubKey in ScriptWitness (#975) 2019-12-24 07:45:55 -06:00
rorp
a31066d17e
Move rescan logic from node to wallet (#974)
* Move rescan logic from node to wallet
2019-12-23 08:57:55 -08:00
Chris Stewart
af4744dcd9
Add server to sidebar.json so that it shows up (#981) 2019-12-22 10:47:15 -06:00
Chris Stewart
56f203930c
Bump binary download timeout for bitcoind (#980) 2019-12-21 17:52:33 -06:00
Scala Steward
629d2b52eb Update sourcecode to 0.1.9 (#979) 2019-12-21 17:06:50 -06:00
Chris Stewart
f280103e47
2019 12 17 sign ext key (#959)
* Create ExtSign, use it on ExtPrivateKey

* Add documentation on how to Sign things with ExtSign

* Add ExtSign.sign for a bip32 path

* Make sign(bytes,path) not return a Future, add documentation

* Address nadav's code review

* Fix mdoc sign.md
2019-12-20 12:47:10 -06:00
Nadav Kohen
d1007b4907
Fixed nLockTime setting when spending a P2PKWithTimeoutSpendingInfo (#973) 2019-12-19 12:48:41 -07:00
Nadav Kohen
74f7f73797 P2PKWithTimeoutSPK (#967)
* Introduced P2PKWithTimeoutSPK

* Responded to review

* Added some testing for cltv and p2pkWithTimeout SPKs

* Responded to more review
2019-12-19 09:48:00 -06:00
Ben Carman
d78bcaaae3 Docs: update Security.md and fix edit button (#965) 2019-12-18 13:07:17 -06:00
Chris Stewart
9916783863
Remove Sign trait from ECPublicKey, move signing functionality into ECPrivateKey (#962) 2019-12-17 15:15:20 -06:00
Chris Stewart
caf9b7d22c
Add invariant to WitnessTransaction that says inputs.length == witnes… (#954)
* Add invariant to WitnessTransaction that says inputs.length == witnesses.length

* Remove println

* Address code review
2019-12-17 13:42:58 -06:00
Ben Carman
115b714fb0
Merge pull request #958 from benthecarman/bitcoind-doc-version-update
Update bitcoind docs to have correct versions
2019-12-17 08:57:20 -06:00
Ben Carman
31f10735a6
Update bitcoind docs to have correct versions 2019-12-17 08:47:08 -06:00
Scala Steward
03064087d5 Update slf4j-api to 1.7.30 (#953) 2019-12-17 05:55:15 -06:00
Chris Stewart
8ff59aaf51
Add version 0.2.0 of the website (#948) 2019-12-16 05:57:14 -06:00
Scala Steward
4c5c997f6a Update scalacheck to 1.14.3 (#946) 2019-12-15 18:29:30 -06:00
Scala Steward
7e6708b6e5 Update sbt to 1.3.5 (#945) 2019-12-15 18:26:56 -06:00
Chris Stewart
62f2b19515
Refactor make dependent fixtures to use built in scalatest helper met… (#939)
* Refactor make dependent fixtures to use built in scalatest helper methods

* Avoid unit return warning
2019-12-15 18:25:51 -06:00
rorp
b92fc1cb8f
Compute confirmations dynamically (#938)
* Compute confirmations dynamically
2019-12-14 12:06:22 -08:00
Chris Stewart
04b4aa49ea
Update website following https://bitcoin-s.org/docs/contributing-website and running 'yarn upgrade' (#943) 2019-12-14 07:47:04 -06:00
Chris Stewart
107cec2657
Bump scalac version to 2.13.1 (#747)
* Bump scalac version to 2.13.1

* bump travis scalac version

* Bump scoverage to supposedly work with 2.13.1

* Bump other scalac versions

* upgrade mdoc plugin version

* Bump missing scala 2.13.1 version in travis
2019-12-12 09:00:15 -06:00
Ben Carman
2f2870013f Implement CurrencyUnit as Numeric (#932)
* Implement CurrencyUnit as Numberic

* Simplify expressions

* Implict ordering

* Move implicit to package

* Fix compiler issue for older version

* scalafmt
2019-12-11 15:34:34 -06:00
rorp
fd64c42b69
Add a reference to ChainQueryApi to the wallet (#936)
* Add reference to ChainQueryApi to wallet
2019-12-10 14:22:33 -08:00
Scala Steward
c762a9fed7 Update akka-actor, akka-stream, ... to 2.5.27 (#937) 2019-12-10 15:32:30 -06:00
Chris Stewart
ade8bea831
2019 12 10 scalatest 3.1.0 (#933)
* Update scalatest to 3.1.0

* Modify code to support scalatest 3.1.0
2019-12-10 09:12:47 -06:00
Ben Carman
69077f8d08 Add little endian functionality to Network Element and Factory (#931) 2019-12-10 08:46:39 -06:00
Ben Carman
971de61004 BIP32Path Factory and new tests (#928) 2019-12-10 07:34:00 -06:00
rorp
7cfd33b753 ChainQueryApi (#926)
* ChainQueryApi

* cleanup
2019-12-09 09:39:35 -06:00
rorp
a752c5301f
Neutrino Wallet: OnCompactFilter handler (#905)
* Neutrino Wallet: OnCompactFilter handler
2019-12-06 13:10:33 -08:00
Nadav Kohen
d2bdf273fc Timelock bug fix (#920)
* Fix CLTV bug where timestamps using seconds are not allowed in TxBuilder

* Added test for CLTV second timestamp and ran scalafmt

* Fixed another bug

* Fixed bug where calcLockTime was not looking past first CLTV tx
2019-12-06 10:57:56 -06:00
Ben Carman
858138fa85 Bitcoind v19 RPC (#910)
* bitcoind v19 new RPC calls and tests (#863)

* bitcoind v19 new RPC calls and tests

* Code review changes

* Review part 2

* Rename variable to be more descriptive

* Explanitory comment

* Ignore broken test cases

* Add missing signing functions

* Add test to check avoid_reuse flag is on (#870)

* Add test to check avoid_reuse flag is on

* Add test to make sure flags weren't set

* bitcoind v19 Update mempool RPCs and tests (#868)

* Update mempool RPC calls to bitcoind v19 compatibility

* Typo fix

* Add parameter name to calls

* Fix remaining rpc calls

* Formatting

* scaladoc for param

* Change param to correct type

* Clarify on scaladoc

* Add missing fees parmater to mempool rpcs (#875)

* Add weight field to mempool entries after v19 (#876)

* Move DescriptorRpc to be able to be used by future versions of bitcoind (#878)

* Add window_final_block_height to GetChainTxStatsResult (#880)

* Add passphrase argument to createwallet for later versions (#883)

* Add passphrase argument to createwallet for later versions

* Scaladoc + empty passphrase requirement

* Error message

* Add new services names parameter to P2P rpcs (#874)

* Add new services names parameter to P2P rpcs

* Add ServiceIdentifier Reads

* Add fallback case

* Address review

* Change to Try

* Move PsbtRpc to be able to be used by future versions of bitcoind (#877)

* Move PsbtRpc to be able to be used by future versions of bitcoind

* Add test

* Address comment

* Enable bloom filters for v19

* Enable bip 61 for tests

* Change to official binaries

* Force v18 for Spv Tests

* Remove unused config line
2019-12-04 07:44:44 -06:00
Chris Stewart
72097e31bd
2019 11 30 key manager (#904)
* 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 (#903)
* 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
Chris Stewart
0f9c349d51
Add documentation on env variable SBT_OPTS and add documentation about it (#914) 2019-12-03 19:01:34 -06:00
Scala Steward
1a9cf577db Update akka-http, akka-http-testkit to 10.1.11 (#908) 2019-12-03 10:07:02 -06:00
Nadav Kohen
3183f17ce2 BitcoinTxBuilderTest Hang (#901)
* Fix hanging bug in BitcoinTxBuilderTest

* Added forAllAsync to BitcoinSAsyncTest
2019-12-02 13:04:58 -06:00
Ben Carman
c7a8a8eadf Add descriptors as toString for script pubkeys (#902) 2019-12-02 09:05:41 -06:00
Chris Stewart
9ae15037d8
Make 'downloadBitcoind' command async, which reduces task time by 3x (#906) 2019-12-02 09:01:21 -06:00
rorp
9e677b602d [Neutrino] Update balances (#888)
* [Neutrino] Update balances

* responded to the comments

* some more changes
2019-11-27 16:00:19 -06:00
Nadav Kohen
b89d20e9a8 Moved BitcoinTxBuilder property tests into ScalaTest context, fixed bug where opPushData was marking valid short P2SH scripts as invalid (#900) 2019-11-27 13:51:49 -06:00