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

1901 commits

Author SHA1 Message Date
Chris Stewart
372a19e9ff
Attempt to keep GCSTest for timing out on CI ()
* Attempt to keep GCSTest for timing out on CI

* Move more stuff out of generator loop
2020-01-29 20:51:39 +01:00
Scala Steward
94ae919a00 Update akka-actor, akka-stream, ... to 2.5.29 () 2020-01-28 18:42:20 +01:00
Scala Steward
ec543bbbf7 Update akka-actor, akka-stream, ... to 2.5.28 () 2020-01-28 06:16:02 -06:00
rorp
8f70996f65
LnInvoice must ignore unknown LN tag fields () 2020-01-27 08:48:49 -08:00
Ben Carman
a8a17d8793 Example config on in documentation () 2020-01-27 07:04:53 -06:00
Scala Steward
b8b4b4a817 Update flyway-sbt to 6.2.0 () 2020-01-27 07:03:37 -06:00
rorp
d84c926aca Fix the order of LN tag fields in serialized invoces () 2020-01-23 15:13:29 -06:00
Chris Stewart
754aa77617
Run test:scalafmt, and enforce it on CI ()
* Run test:scalafmt, and enforce it on CI

* Run test:scalafmt
2020-01-23 14:46:57 -06:00
Ben Carman
c968e79c80 CLI command for filter and filter header counts () 2020-01-23 14:45:33 -06:00
Chris Stewart
7045fdb099
Add peers section to the example configuration () 2020-01-23 14:45:18 -06:00
Scala Steward
96b1515086 Update flyway-core to 6.2.0 () 2020-01-23 13:59:50 -06:00
Chris Stewart
ea555c5705
If migrations fail, attempt to baseline the database and apply migrations again () 2020-01-23 13:28:50 -06:00
Nadav Kohen
d858df743d
PSBT Support ()
* PSBT Serialization/Deserialization ()

* PSBT Serialization and Deserialization

* Remove debug code

* Create PSBTParseResult, Add more psbt test cases, and various small nits

* PSBT version checking

* Remove PSBTHelper, give PSBTRecord and PSBTMap a fromBytes

* Fix compile issue, preserve ADT

* PSBT Combiner

* PSBT Updater

* Fix PSBT version number to be read as little endian

* Make function names more clear, add scaladoc, require not finalized

* Combiner scaladocs

* Test case from BIP

* Make compatible with older versions

* PSBT: Fix for EmptyWitness changes ()

* PSBTInputMap to UTXOSigningInfo

* Remove vars

* Add missing param

* Fix byteVectorOrdering for when x == y

* getUTXOSpendingInfo Tests

* Fix formatting errors

* Give conditional path default value

* formatting fix

* Fixed InputPSBTRecord.FinalizedScriptSig using asmBytes ()

* Fixed PSBTTest after rebasing onto master

* PSBT Constructors and Extraction ()

* Added PSBT constructors

* Revived option to use signers in toUTXOSpendingInfo

* Added transaction extraction

* Responded to code review

* Added extraction test from BIP

* Added validation (option) to PSBT extraction

* Added property based test for PSBT.extractTransactionAndValidate

* Marked PSBT as new code for PropertyCheckConfiguration

* PSBT Finalizer ()

* Added finalizing functionality to PSBTs

* Cleaned things up

* Added finalizer test, fails

* Check that PSBT is not already finalized when finalizing PSBT

* Added P2PKWithTimeout cases

* Formatting fix

* PSBT Generators ()

* Introduced non-finalized constructor

* Added property based test comparing finalized and un-finalized construction, it currently fails due to EmptyScriptPubKey not being supported in various ways. Also fixed a ton of bugs!

* Fixed easy bugs relating to EmptyScriptPubKey, one is left

* Fixed the last bugs (multisig order and 0-of-n stuff) and now tests pass!

* Separated out direct finalized PSBT construction from non-finalized PSBT construction

* Translated construction work in tests into PSBT generators

* Added serialization symmetry test

* Made PSBT fee generation dependent on other generators to ensure low enough fees for signing

* Responded to code review

* Added scaladocs

* Fixed arbitraryPSBT to work with older scala versions

* Fixed PSBT compilation breakages from rebase

* Fixed test breakages from rebase

* Validate the PSBT unknown is not a known field

* Increase code coverage on PSBT tests

* Address review

* formatting

* Add error messages, rename function

* Psbt Signer ()

* PSBT Signer

* Create addSignature function for PSBTs

* Use PartialSignature instead of Tuple

* Create extra util functions

* scaladoc and simplify case

* Formatting fix for psbt scaladocs

* Clean up code, add error messages, and scaladoc

* add type hints

* Change InputPSBTMap.fromUTXOSpendingInfo to use BitcoinSingleSigner

* optimize import

* Define separator byte for psbt map

* getRecords simplification

* remove braces, add error message

* PSBT stuff assigned to nkohen ()

* Responded to psbt review assigned to me

* Moved separatorByte to a place where all can use it

* PSBT independent record calls ()

* PSBT independent record calls

* move logic to super class

Co-authored-by: Nadav Kohen <nadavk25@gmail.com>

* Reworked PSBT finalization to return a Try[PSBT] rather than an Option[PSBT] ()

* PSBT signer property based tests ()

* PSBT property based tests

* Address review

* PSBT Combiner property based tests ()

* PSBT Combiner property based tests

* Create pruneGlobal util function

* Switch to arbitrary gen

* Use BaseTransaction instead of Transaction

* Fix transaction witness to work from base transactions

* PSBTs response to Chris's review ()

* PSBT chris's review

* Rename val, give master fingerprint a val

* Formatting fix

* Responded to code review from chris assigned to nkohen

* Split PSBT.scala into many files

* PSBT Docs ()

* PSBT docs

* Fix compiler error, remove nesting

* PSBT output updater tests

* Validate psbt outputs

* Clean up code

* Remove P2WPKHWitnessV0 addition

* format

* PSBT Updater property based tests

* Move code to match block

* EmptyScriptWitness check

* Address nadav review

* Remove unnecessary code, make utxo adder better

* Move require and add error message

* Move require

* PSBT unit tests by Ben

* Change to EmptyScriptPubKey

* Added unit tests to increase code coverage

* responded to review

* Move PSBT unit test to separate file

* Make unknown generator only generate distinct records

* Use groupBy key instead of distinct

* use only first element

* Combine distinctness by key

Co-authored-by: Ben Carman <benthecarman@live.com>
2020-01-23 11:36:42 -07:00
Ben Carman
8941ea02cc Bech32 weakness test vectors ()
* Bech32 weakness test vectors

* bech32 weakness test for ln invoices
2020-01-23 08:53:32 -06:00
Chris Stewart
f263f5c2a0
Add build config to skip publishing the new db-commons-test library () 2020-01-23 07:00:30 -06:00
Ben Carman
c4ade3ba3c Txo state flyway ()
* Add flyway migrations

* Make different project's migrations independent of each other

* Rework all AppConfig.initialize() to use migrations rather than what we were doing before

* TXO State migration

* Move to new file, drop old column

* Add block hash column

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2020-01-22 15:34:36 -06:00
Nadav Kohen
fcaa96665c
Added PubKey addition functionality () 2020-01-21 14:30:28 -07:00
rorp
fd6503ef8d
Eclair performance tests ()
* Eclair performance tests

* some more changes

* fix unit tests

* scaladoc

* limit number of payment requests

* fix build errors
2020-01-21 12:54:15 -08: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
Nadav Kohen
7512ca35d1
Updated P2PKWithTimeout to use CSV instead of CLTV () 2020-01-21 12:43:09 -07:00
rorp
3124a1afc5 Merge branch 'master' into eclair_bench 2020-01-21 10:17:20 -08:00
rorp
8582e4bb62 fix build errors 2020-01-21 10:15:39 -08:00
Chris Stewart
cd4a354620
Try bumping the Thread.sleep() to get CI to pass on slow mac osx () 2020-01-19 09:41:54 -06:00
Scala Steward
3a5af7e3eb Update sbt to 1.3.7 () 2020-01-18 15:42:28 -06:00
rorp
c7c935d682 limit number of payment requests 2020-01-16 13:01:54 -08:00
Nadav Kohen
3ffd9888ed
Single Signing ()
* Introduced UTXOSpendingInfoSingle

* Implemented constructors for UTXOSpendingInfoSingle

* Introduced BitcoinSignerSingle

* Implemented SingleSigner

* Added property-based test for SingleSigner, it fails

* Fixed SignerTest :)

* Responded to code review

* Added scaladocs

* Fixed p2sh(p2wsh) signing

* Responded to code review and separated UTXOSpendingInfoSingle from UTXOSpendingInfoFull

* Fixed outputGen after rebase

* Fixed txbuilder.md to show this branch's changes
2020-01-15 10:00:55 -07:00
rorp
7e77499087 scaladoc 2020-01-14 14:10:19 -08:00
rorp
9c4965e43b fix unit tests 2020-01-14 14:02:50 -08:00
rorp
bc9f09972a some more changes 2020-01-14 13:53:12 -08:00
Scala Steward
d95ccd7dee Update sourcecode to 0.2.0 () 2020-01-14 07:16:27 -06:00
Chris Stewart
bf3a89bfdd
2020 1 04 fund raw tx ()
* Create 'fundRawTransaction' and 'fundRawTransactionInternal'

* Move TransactionTestUtil to testkit, begin writing tests for fundrawtransaction

* Add FundTransactionTests

* Move things to 'FundTransactionHandling' trait

* Address code review

* Run scalafmt
2020-01-13 13:45:33 -06:00
Nadav Kohen
d75f75c0e7 Fixed BitcoinTxBuilderTest which was broken in () 2020-01-12 08:48:20 -06:00
Ben Carman
d373f1c6cd
Increase core test coverage ()
Increase core test coverage
2020-01-08 17:54:49 -06:00
Ben Carman
7ba1865d0a
Increase core test coverage 2020-01-08 16:15:55 -06:00
rorp
6205d9110a Merge branch 'master' into eclair_bench 2020-01-07 16:52:58 -08:00
rorp
b83884e6f8 Eclair Web Socket client ()
* Eclair Web Socket client

* fix build error

* unit test
2020-01-07 18:25:35 -06:00
rorp
3d1b109ea5 Merge branch 'master' into eclair_bench 2020-01-07 14:23:11 -08:00
Chris Stewart
82ef36e2a6
Create MaskedToString, implement it in ECPrivateKey, ExtPrivateKey, M… ()
* Create MaskedToString, implement it in ECPrivateKey, ExtPrivateKey, MnemonicCode

* Add MaskedToString to AesPassword, AesKey, and BIP39Seed

* Add final to MaskedToString.toString() so it can't be overriden
2020-01-07 12:31:13 -06:00
rorp
c738bb3b6d
Support for payment secret and features LN invoice tags () 2020-01-07 10:27:45 -08:00
rorp
e1acac05eb Eclair performance tests 2020-01-07 10:02:08 -08:00
Ben Carman
6d0bceb833 P2SH Signing ()
* P2SH Signing

* Clean code, give P2SHTxSigCompenent implicit type

* fix infinite loops

* Correctly use nested spending info for p2sh

* P2SHP2WSH Support

* Create actual sigs, incoroparte in tests

* Simplify code, make P2SHTxSigComponent ADT

* Fix test issues
2020-01-07 09:53:09 -06:00
Scala Steward
6651c606fa Update sbt-mdoc to 2.1.1 () 2020-01-06 08:04:47 -06:00
Chris Stewart
1ad402ea56
Add more expressive txo states for the wallet ()
* Add more expressive txo states for the wallet

* Rename 'PendingReceived/PendingSpent' -> 'UnconfirmedReceived/UnconfirmedSent'

* Address code review

* Fix posInt implementation to work with older scala versions

* Rename to PendingConfirmationReceived/PendingConfirmationSpent
2020-01-05 18:42:20 -06:00
Chris Stewart
0c917e0b0f
Wallet tests are already incorporated in a CI matrix, remove the standalone matrix to speed up CI () 2020-01-03 13:26:41 -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
Scala Steward
80b5c4c25b Update sbt-ci-release to 1.5.0 () 2020-01-02 06:58:30 -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
Scala Steward
55d3048981 Update scalacheck-1-14 to 3.1.0.1 () 2019-12-27 05:54:10 -06:00
Scala Steward
98101e3668 Update sbt-mdoc to 2.1.0 () 2019-12-27 05:52:13 -06:00