Commit graph

1952 commits

Author SHA1 Message Date
Chris Stewart
33b2b50bb2 Add database configuration as a heading that can be hyper linked too (#1501) 2020-06-03 06:15:33 -05:00
rorp
823a392e98 PostgreSQL support (#1315) 2020-06-02 16:37:48 -05:00
Ben Carman
62491dad1c Implement Bitcoind as ChainQueryApi & NodeApi (#1481)
* Implement Bitcoind as ChainQueryApi & NodeApi

* Remove default implementations for filter apis

* Fix warnings

* Fix error
2020-06-01 14:03:00 -05:00
Chris Stewart
dc0f7fce6e Reduce number of hashes used in GolombFilterTest to keep CI from timing out (#1494) 2020-06-01 09:29:02 -05:00
Chris Stewart
1c57797c40 Skip publishing of fee-provider-test (#1495) 2020-05-30 15:09:39 -05:00
Chris Stewart
0e334f0c68 2020 04 11 bump play json v (#1490)
* Bump play-json to 2.8.1

* Fix imports
2020-05-30 14:34:57 -05:00
Chris Stewart
dcb64a3ce8 Skip publishing fee provider for now (#1492) 2020-05-30 10:09:02 -05:00
Ben Carman
1656b9091f Implement BitcoindRpcClient as a FeeProvider (#1486)
* Implement BitcoindRpcClient as a FeeProvider

* Make FeeRateApi a trait
2020-05-30 09:03:08 -05:00
Chris Stewart
5aeb8ebdd1 Bump akka to 2.6.4, fix deprecated things (#1374)
* Bump akka to 2.6.4, fix deprecated things

* Bump to 2.6.5 akka

* Clean up imports

* Remove materializer from FeeProviders
2020-05-30 08:49:28 -05:00
Chris Stewart
fd67109d54 Bump scodec to 1.14 (#1489) 2020-05-30 07:53:11 -05:00
Ben Carman
c10d5bc89b Fee Rate Api Support (#1470)
* Fee Rate Api Support

* FeeRateProvider Tests

* Rename folder

* Fix docs
2020-05-29 13:01:20 -05:00
Chris Stewart
ed3938d118 Filter -Xfatal-warnings when using scala console so we don't get error messages when you are trying out code (#1485) 2020-05-29 09:03:43 -05:00
Chris Stewart
b5853818ff Filter warnings on doc for publishing (#1484) 2020-05-29 07:03:18 -05:00
Chris Stewart
ccbc68d668 Add -Xfatal-warnings on Scala 2.13 (#1483)
* Add -Xfatal-warnings on Scala 2.13

* Turn off -Xfatal-warnings in docs/
2020-05-29 06:21:56 -05:00
Chris Stewart
87c2459c9f Cache numbers between 0 and 256 to make serialization/deserialization faster (#1482) 2020-05-29 05:00:15 -05:00
Ben Carman
b561e47d6b Implement KeyManagerLogger (#1386) 2020-05-28 13:06:50 -05:00
Chris Stewart
44c9228c26 Drop 2.11 from inThisBuild.sbt and Deps.scala (#1479) 2020-05-28 11:49:53 -05:00
rorp
932c7ede76 Upgrade Eclair to v0.4 (#1421)
* Upgrade Eclair to v0.4

* fix test binary

* logging

* unquote paths

* fix eclair-node.sh

* OSX fix

* cleanup
2020-05-28 10:50:57 -05:00
Nadav Kohen
bc5953b6c8 Rework Standard Finalizer (into pieces) (#1473)
* Made the standard non-interactive tx finalizer simple using composition of its (reusable) pieces

* Responded to code review and made minor improvements

* Fixed docs
2020-05-27 18:05:37 -05:00
Chris Stewart
b036aa3338 Add more optimizations, MultSignatureScriptPubKey.isMultiSignatureScr… (#1475)
* Add more optimizations, MultSignatureScriptPubKey.isMultiSignatureScriptPubKey() fails fast if it's not a valid multisig spk, also use more caching inside of Number's (UInt64, UInt32, etc)

* Fix shortChannelidTest

* Cache popular UInt64 numbers that are used in ScriptPubKey's. This reduces allocations which reduces memory usage
2020-05-27 15:47:20 -05:00
Ben Carman
db1a9baa2a Attempt to fix database locking errors in process tx test (#1477) 2020-05-27 15:26:49 -05:00
Scala Steward
524334a806 Update bcprov-jdk15on to 1.65.01 (#1476) 2020-05-27 15:26:07 -05:00
Ben Carman
bbff8af1be Fix FeeUnit match not being exhaustive (#1472) 2020-05-27 06:06:06 -05:00
Ben Carman
4871410306 Update docs pertaining to logging (#1471) 2020-05-26 15:33:27 -05:00
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