Commit Graph

1928 Commits

Author SHA1 Message Date
Nadav Kohen
4f2c8f73f1 CryptoContext Refactor (#1469)
* Moved logic to disable use of secp256k1 library into crypto project

* Fixed secp doc
2020-05-26 13:05:21 -05:00
Nadav Kohen
99459745db Fixed sequence computation for P2PKWithTimeout and RawTxFinalizer composition discovered during DLC rebase (#1461) 2020-05-26 07:54:54 -05:00
Ben Carman
040730cd31 Increase Key Manager test coverage (#1465) 2020-05-26 06:13:01 -05:00
Ben Carman
f2d98514b7 Implement FeeUnit SatoshisPerKW (#1455) 2020-05-26 06:11:49 -05:00
Chris Stewart
c6aae0dbf9 Create a simplified version of the WalletApi.unmarkUTXOsAsReserved() that just takes in a tx and scans outpoints if they are in our wallet, also move the mark/unmark methods out of Wallet.scala and into UtxoHandling.scala (#1463) 2020-05-25 14:45:38 -05:00
Chris Stewart
d8170f319a Implement AppConfigFactory (#1462)
* Implement AppConfigFactory

* Fix docs
2020-05-25 14:43:37 -05:00
Ben Carman
192cd49974 Fix fee rate calculation bugs, add tests (#1454)
* Fix fee rate calculation bugs, add tests

* Rounding issues

* Add link

* Change error message
2020-05-25 08:06:37 -05:00
Chris Stewart
40160d9c5f Attempt to optimize block tests more to avoid timeouts (#1459)
* Attempt to optimize block tests more to avoid timeouts

* Fix asm.tail bug

* Make parseRedeemScript just return a ScriptPubKey rather than a Try[ScriptPubKey]

* Make encoding a UInt64 to hex more efficient

* Cache Transaction.bytesSize so we don't need to serialize everything again to estimate the byteSize

* Refactor CryptoBytesUtil.addPadding() and it's usage in UInt64

* Use StringBuilder.append() rather than StringBuilder.addAll() which is not supported in scala 2.11 & 2.12

* Address nadav's code review
2020-05-22 11:15:17 -05:00
Ben Carman
0668e2f39d Fix balance by account (#1457) 2020-05-22 06:40:23 -05:00
Ben Carman
c4c660158e Add ability to unreserve utxos (#1458) 2020-05-22 06:29:11 -05:00
Nadav Kohen
14f2ae793a Implemented (lax) signature parsing in Bitcoin-S (#1446)
* Implemented parseDERLax signature parsing and bumped bouncy castle version to most recent

* implemented using iterators

* Factored out common functionality and added comments, it is readable now! Deleted C-like version in place of this one after property based tests showed them to be equivalent

* Made compatible with scala 2.12

* Make compatible with scala 2.11

* Added tests for lax DER signatures
2020-05-21 15:13:17 -05:00
Nadav Kohen
dfd3353cc4 TxBuilder Refactor (#1426)
* Refactored Transaction

Created RawTxBuilder

Created RawTxFinalizer as layer on top of RawTxBuilder

Introduced RawTxSigner and replaced TxBuilder!

Deleted TxBuilder!

* fixed things after rebase

* Made RawTxBuilder compatible with older versions of scala

* Began responding to review

* Made Finalizer take a Builder rather than the other way around

* Added composition for finalizers

* Ran scalafmt

* Updated txbuilder example documentation

* Moved tests from old TxBuilderTest files to relevant new test files

* Added scaladocs
2020-05-21 09:47:08 -05:00
Chris Stewart
f8c60cc72f Update stable version in doc.sbt, add getting started link to README.md (#1453) 2020-05-21 06:17:05 -05:00
Ben Carman
47787d6765 Add bitcoind and zmq config options to EclairInstance (#1428) 2020-05-20 15:55:20 -05:00
Ben Carman
99db9062ac Add option to correctly use logback config (#1398)
* 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
11255390d2 Small optimization for ScriptOperationFactory.operations (#1450)
* Small optimization for ScriptOperationFactory.operations

* Make operations a val
2020-05-20 10:26:00 -05:00
Chris Stewart
05a411ccab Add hardcoded jvmopts file that starts with a 2g heap (#1436)
* Add hardcoded sbtopts file that starts with a 2g heap

* Use .jvmopts instead of .sbtopts

* Use .jvmopts rather than .sbtopts
2020-05-20 07:31:58 -05:00
Chris Stewart
c26ef26d57 2020 05 19 improve test performance (#1449)
* Reduce number of property based tests on BIP32PathTest and add a Future to NetworkPayloadTest's property based tests so it hopefully runs faster on CI

* Run scalafmt

* Make a few more property based tests async

* Make forAllParallel, refactor some test cases to use it

* Make BlockMessageTest async

* Bump timeout
2020-05-20 06:55:36 -05:00
Ben Carman
4942315c9f Fix allowing BytesToPushOntoStack(0) (#1448) 2020-05-19 16:52:58 -05:00
Chris Stewart
4eb22932ae Reduce number of property based tests from 200 -> 100 so we don't time out on CI (#1447) 2020-05-19 07:25:34 -05:00
Ben Carman
bef756985a Fix spacing in README.md (#1444) 2020-05-18 20:26:09 -05:00
Chris Stewart
bc600c230e 2020 05 17 optimizations (#1435)
* Make ScriptOperationFactory subclasses use a val to cache operaetions rather than operations

* Make ScriptOperation's use a Vector rather than Seq. Seq is a trait that can sometimes be backed by a List which can have some O(n) behavior

* Remove BlockTest benchamarking test case

* Put popular opcodes at beginning of ScriptOperations.operations for an optimization

* Remove Try() allocation on ECPublicKey.isFullyValid()

* Fix how CompactSizeUInt was serialized to be more efficient, move isMultiSig() and isLocktimeSPK() to be inline so we don't evaluate it unless we absolutely need to

* Use Map inside of ScriptOperation.fromByte()

* Update map to look up script operation rather than iterating
2020-05-18 20:23:12 -05:00
Ben Carman
bfa9637156 Add DLC GUI Docs (#1438) 2020-05-18 19:04:31 -05:00
Nadav Kohen
f2fb27dbe3 Fixed buggy type inference on Gen.frequency by explicitly passing in type parameter (#1439) 2020-05-18 14:56:57 -05:00
Ben Carman
b240130c76 Remove GUI unused imports (#1440) 2020-05-18 14:36:45 -05:00
Chris Stewart
0ac3328d4b Remove the clause in Transction.fromHex() where we throw in the case … (#1431)
* Remove the clause in Transction.fromHex() where we throw in the case of a witness transaction, do something smarter and look at bytes in the byte vector

* WIP add test case

* Add back try/catch as it's still necessary for cases of unsigned base transactions

* Add permalink to example test case
2020-05-18 14:28:00 -05:00
Ben Carman
51fcb793be Add ability to make OP_RETURN commitments (#1417) 2020-05-18 14:27:05 -05:00
Chris Stewart
cec29e6894 Try and improve reliability of UpdateBloomFilterTest, also add getMem… (#1434)
* Try and improve reliability of UpdateBloomFilterTest, also add getMemPoolEntryOpt() that returns an Option indicating if a tx was in the mempool

* Fix nits
2020-05-18 13:01:25 -05:00
Scala Steward
b416a5eddf Update flyway-core to 6.4.2 (#1418) 2020-05-18 11:55:48 -05:00
Scala Steward
6c5d14f779 Update flyway-sbt to 6.4.2 (#1424) 2020-05-18 11:31:32 -05:00
Ben Carman
e44a08bd39 Wallet Send with coin selection algorithim (#1409) 2020-05-18 11:26:39 -05:00
Ben Carman
6067991e02 Add bitcoin-s icon, add dark theme to dialogs (#1425) 2020-05-18 11:16:41 -05:00
Scala Steward
e6ea2e0fb1 Update scalacheck-1-14 to 3.1.2.0 (#1423) 2020-05-18 11:16:16 -05:00
Nadav Kohen
4eb9980d6b InputInfo Refactor (#1400)
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
Scala Steward
af35c511d6 Update sbt-bloop to 1.4.1 (#1430) 2020-05-15 09:48:50 -05:00
Ben Carman
65968573cc Fix Warning in TransactionDb (#1427) 2020-05-15 06:43:57 -05:00
Scala Steward
23e476d837 Update sbt-bloop to 1.4.0 (#1414) 2020-05-13 07:40:29 -05:00
Ben Carman
867e2a9755 Add list unused addresses call (#1408) 2020-05-12 09:29:02 -05:00
Ben Carman
711f5cb99c Add listFundedAddresses call (#1407) 2020-05-12 07:33:22 -05:00
Ben Carman
721b28aefd Add listSpentAddresses call (#1406) 2020-05-12 07:24:52 -05:00
Ben Carman
c571585b3b Wallet send from outpoints (#1405) 2020-05-12 07:24:36 -05:00
Scala Steward
583da51958 Update akka-http, akka-http-testkit to 10.1.12 (#1415) 2020-05-12 06:42:26 -05:00
Scala Steward
cf6af8279c Update sbt-native-packager to 1.7.2 (#1416) 2020-05-12 06:29:17 -05:00
Chris Stewart
65f21acbf8 2020 05 11 bech32 addr tostring (#1413)
* Make Bech32Address.toString actually print the string representation not the object one

* Remove Bech32Address.toString all together and use the super class definition

* Add test case

* Run scalafmt
2020-05-11 10:59:36 -05:00
Scala Steward
d4c4ec3311 Update scalafx to 14-R19 (#1410) 2020-05-10 09:24:55 -05:00
Scala Steward
69686128bb Update scalatest to 3.1.2 (#1412) 2020-05-10 09:24:43 -05:00
Chris Stewart
40c4af93a7 Modify gui background color to be same as our website (#1404) 2020-05-09 08:03:29 -05:00
Ben Carman
15b6b2376f Fix Oracle info in DLC doc (#1401) 2020-05-07 14:26:26 -05:00
Chris Stewart
d3b18137fd DLC code snippet clarification (#1393)
* Give the different outcome amounts a val for clarity in documentation, add a missing import, and change the hash being signed by the oracle to more descriptive of a specific event

* Fix missing amounts

* Clarify comment even more
2020-05-06 16:47:21 -05:00
Scala Steward
9f54a8a097 Update sbt-mdoc to 2.2.0 (#1397) 2020-05-06 06:42:58 -05:00