Commit Graph

156 Commits

Author SHA1 Message Date
Steven Barclay
8104301b52
Use new Bitcoind(Client|Daemon) & remove btcd-cli4j
Migrate RpcService over to the new block notification daemon and RPC
client based on jsonrpc4j. Drop in own DTO classes in place of the ones
defined by btcd-cli4j and rename requestBtcBlock & addNewBtcBlockHandler
to requestDtoBlock & addNewDtoBlockHandler respectively.

Also remove now redundant filtering from the logback config and update
grade-witness.
2021-01-21 10:10:28 +00:00
cd2357
47c4e09d69
Merge remote-tracking branch 'bisq-network/hotfix/v1.5.4' into upgrade-javafax-14 2021-01-13 19:44:12 +01:00
Oscar Guindzberg
a161376da3
Use bitcoinj 0.15.8.bisq.13 (commit dcf8af0) 2020-12-16 14:57:41 -03:00
cd2357
b82f3c1caa
Merge remote-tracking branch 'bisq-network/hotfix/v1.5.1' into upgrade-javafax-14 2020-12-13 13:57:28 +01:00
Oscar Guindzberg
9ca20d8b3d
Use bitcoinj 0.15.8 (commit dcf8af0) 2020-12-07 11:39:58 -03:00
cd2357
72a719dcc9
Merge remote-tracking branch 'bisq-network/release/v1.5.0' into upgrade-javafax-14 2020-11-27 16:59:23 +01:00
Oscar Guindzberg
e667f8fbad
Upgrade bitcoinj to commit 60b4f2f 2020-11-23 14:39:26 -03:00
Oscar Guindzberg
6bba6a526f
Use bitcoinj 0.15.8 (commit 60b4f2f) 2020-11-05 11:51:43 -03:00
Oscar Guindzberg
ef97daac89
Use bitcoinj 0.15.8 (commit fcec3da) 2020-11-05 11:47:38 -03:00
cd2357
ca56d002df
Update netlayer references to bisq repos
Update build.gradle to rely on the netlayer libraries from the bisq-network repo. The library versions (commit IDs) remain the same, only the repo from which they are pulled is changed.
2020-10-24 13:33:22 +02:00
cd2357
416373edf5
Merge remote-tracking branch 'bisq-network/release/v1.4.2' into upgrade-javafax-14 2020-10-24 11:22:25 +02:00
Oscar Guindzberg
417daf5692
Use bitcoinj 0.15.8 (commit a733034) 2020-10-08 16:33:58 -03:00
cd2357
6ef9368b75
Bump netlayer to use tor binary from tor browser v10.0
Upgrade netlayer to a version that uses tor binaries extracted from the latest tor-browser v10.0.
2020-10-06 18:03:59 +02:00
Oscar Guindzberg
5db273010f
Use bitcoinj 0.15.8 (commit 44ddbdc) 2020-09-30 13:10:05 -03:00
Oscar Guindzberg
93d321b995
Use bitcoinj 0.15.8 (commit 5312aa3) 2020-09-26 11:36:48 -03:00
cd2357
50f5d9b2c3
Update jfoenix to latest v9.0.10
Update jfoenix to attempt to fix JavaFX NPEs.
2020-09-23 18:18:04 +02:00
cd2357
ef680f9ba6
Codacy: Test tag to skip check
Try out optional tag to check how it affects codacy behavior. [skip ci]
2020-09-19 07:50:50 +02:00
Oscar Guindzberg
0d25ca1381
Remove okhttp and okio dependencies 2020-09-18 18:29:38 -03:00
Oscar Guindzberg
daaacecafb
Use bitcoinj 0.15.8 (commit 0d98efb) 2020-09-18 18:29:37 -03:00
Oscar Guindzberg
d0b00fb6f4
Use bitcoinj 0.15.8 (commit 0d7762b) 2020-09-18 18:29:36 -03:00
Oscar Guindzberg
b472e3851c
Update btcd-cli4j to 27b9433 2020-09-18 18:29:35 -03:00
Oscar Guindzberg
9f767377e8
bitcoinj 0.15: Update modified dependencies hashes. 2020-09-18 18:29:27 -03:00
Oscar Guindzberg
e9a8be372a
Use bitcoinj 0.15.8 (commit 86c7094) 2020-09-18 18:29:24 -03:00
cd2357
aae99703eb
Codacy: Fix md styling, part 5
Fix styling to match Codacy rules.
2020-09-18 06:43:12 +02:00
cd2357
4322e7275b
Upgrade apache-commons-lang3 to v11 to avoid jdeps issue
Updated the commons-lang3 version to the latest one, to avoid the existence of multiple versions used by different projects.

Before, v3.8 was used in most projects and v3.9 was brought as a transitive dependency in pricenode. So both were used by different projects. With this commit, all projects use v3.11, since it is explicitly defined in build.gradle.

This resolves an exception thrown by jdeps when trying to list the module dependencies of the desktop-vXYZ-SNAPSHOT-all.jar.
2020-09-17 11:10:35 +02:00
cd2357
c82d76e8ea
Codacy: Fix md styling, part 5
Fix styling to match Codacy rules.
2020-09-17 10:39:56 +02:00
cd2357
b877c9f973
Codacy: Fix md styling, part 4
Fix styling to match Codacy rules.
2020-09-17 09:05:40 +02:00
cd2357
24296fae59
Codacy: Fix md styling, part 3
Fix styling to match Codacy rules.
2020-09-17 08:52:07 +02:00
cd2357
9cc77850e4
Codacy: Fix md styling, part 2
Fix styling to match Codacy rules.
2020-09-17 08:40:59 +02:00
cd2357
f8dfcc9502
Codacy: Fix md styling
Fix styling to match Codacy rules.
2020-09-17 08:16:22 +02:00
cd2357
dc9288cf1d
Upgraded Gradle to v6.6.1
Upgraded Gradle to the latest version, which has better module-info support for the imported gradle dependencies.
2020-09-17 01:59:51 +02:00
cd2357
77134a97b7
Upgrade to Gradle 6.3
Use Gradle 6.3, which adds support for Java 14.
2020-09-16 09:15:13 +02:00
Florian Reimair
e3193e5daf
Tor 0.4.3.6 2020-09-07 14:23:30 +02:00
Christoph Atteneder
641240d8a0
Revert "Upgrade JFoenix to v9.0.10" 2020-09-02 15:27:06 +02:00
ghubstan
2d3b29a8f3
Upgrade JFoenix to v9.0.10
This commit & PR upgrades JFoenix from v9.0.6 to v9.0.10, to avoid an
NPE thrown when registering a DisputeAgent in an arbitartor (regtest)
desktop's account view.

The JFoenix com.jfoenix.adapters.ReflectionHelper class has a getField
method that silently swallows a Throwable and returns null.  After
clicking ALT-D or ALT-N in the an arbitrator's desktop -> accounts view
(to register dispute agents) a private field cannot be accessed via
reflection, and bisq.desktop.components.JFXTextFieldSkinBisqStyle#updateTextPos()
throws an NPE.

The cause of the NPE is due to a failure to create the textNode value
in the JFXTextFieldSkinBisqStyle constructor:
 textNode = ReflectionHelper.getFieldContent(TextFieldSkin.class, this, "textNode");

If this happens,the UI becomes unusable -- many views are blank.
2020-08-27 16:34:52 -03:00
Christoph Atteneder
c62c2d8586
Merge pull request #4028 from freimair/tor_0.4.2.6
Tor 0.4.2.6
2020-03-31 16:04:13 +02:00
Florian Reimair
8f7a4991fd
Tor 0.4.2.6
Now the tor binaries are properly released on their own. Thus, there
is no need for them to be in the Bisq repo. Added checksums as well.
2020-03-30 16:15:26 +02:00
ghubstan
94ee49c5af
Remove read stdin loop
Replaced the Scanner input read loop with upgraded joptsimple
dependency. Cli now takes a single, non-option program argument, runs
it and exits.  Also removed the "stop client" command because there is
no input loop, but shutdown() is called for orderly channel shudown
before the jvm terminates.  Also changed cmd syntax from camel case
to lowercase, mimicking bitcoin-cli.

Configured logback to supress all debug & info level netty output, and
bypassed logback to print results to System.out.
2020-03-27 12:27:36 -03:00
ghubstan
962e11923b
Upgrade and reduce version conflicts in build
Some apache & logback dependency versions were bumped up, some
transitive dependencies declared as direct dependencies, and some
new exclusions were added to reduce the number of duplicated
dependencies in the build.
Also updated gradle-witness.gradle.

Here are some of the duplicated apache and logback dependencies
in the current build:

	commons-codec-1.10.jar
	commons-codec-1.9.jar
	commons-io-2.4.jar
	commons-io-2.6.jar
	commons-logging-1.1.1.jar
	commons-logging-1.2.jar

	httpclient-4.0.1.jar
	httpclient-4.5.3.jar
	httpclient-4.5.5.jar
	httpcore-4.0.1.jar
	httpcore-4.4.6.jar
	httpcore-4.4.9.jar

	logback-classic-1.1.10.jar
	logback-classic-1.1.11.jar
	logback-core-1.1.10.jar
	logback-core-1.1.11.jar

Upgraded:

	codecVersion 1.9 -> 1.13
	ioVersion  2.4 -> 2.6
	langVersion 3.4 -> 3.8
	httpclientVersion 4.5.3 -> 4.5.12
	slf4jVersion 1.7.22 -> 1.7.25

New dependency declarations:

	loggingVersion 1.2
	httpcoreVersion 4.4.13

This commit reduces the number of build dependencies by 10.

Partial fix for #4086
2020-03-22 16:06:40 -03:00
Florian Reimair
8b792f2b17
Draft: Tor 0.4.2.6
Upgrade Tor to a version that defaults to HSv3.
Upgrade jtorctl to handle HSv3 properly.
Upgrade netlayer os it uses the new jtorctl and tor.
2020-03-19 13:06:52 +01:00
Chris Beams
c968ddf034
Eliminate dependency on Spring Framework
In conjuction with the previous commits, this change removes entirely
Bisq's dependency on the Spring Framework, with the exception of the
pricenode module, which is not a Bisq node per se, but a standalone
Spring-based HTTP service.

Note that the removal of the Gradle `exclude` directive for
commons-logging is because Apache HttpClient still depends on it and
Spring had previously been providing it transitively. If this `exclude`
directive is not removed, NoClassDefFound errors get thrown at runtime
from HttpClient code unable to load the commons-logging Logger class.
2020-01-20 16:46:56 +01:00
Chris Beams
2a66d11cd3
Exclude unnecessary dependency on animal-sniffer-plugin
Per review comment
https://github.com/bisq-network/bisq/pull/3888#discussion_r368480788
2020-01-20 15:46:17 +01:00
Chris Beams
eaad2e0a4c
Clean up protobuf/grpc config and dependencies
This change:

 - Removes several superfluous dependencies not required for our
   purposes with gRPC

 - Cleans up the way Gradle source sets are managed for generated gRPC
   sources and classes

 - Makes use of Gradle's new `implementation`, `compileOnly` and
   `runtimeOnly` dependency configurations where changes were otherwise
   being made. See https://stackoverflow.com/a/47365147 for details.
   Remaining uses of the now-deprecated `compile` and `runtime`
   configurations should be eliminated in a refactoring separate and
   apart from the present gRPC API work.

 - Upgrades several existing dependencies to align with newer versions
   of the same dependencies introduced transitively by grpc-* 1.25.0
   libraries, including:
    - protoc from 3.9.1 => 3.10.0
    - gson from 2.7 => 2.8.5

Note that a number of the grpc-* libraries depend on Guava v28, and our
existing dependency on Guava v20 has *not* been upgraded to this newer
version because it is incompatible with the way we have used Guava's
Futures API. It appears that the grpc-* libraries function correctly
against this older version of Guava, and more investigation would be
required see whether upgrading our uses to the new Guava API is feasible
/ worth it. The way we are preventing this upgrade is with the use of
`exclude(module: "guava")` directives on grpc-* dependencies.
2020-01-20 12:07:55 +01:00
chimp1984
5c02ce5766
Introduce gRPC API proof of concept
This commit introduces a new `grpc` module including the following key
types:

 - BisqGrpcServer: The API implementation itself, along with generated
   gRPC Response/Reploy types defined in grpc/src/main/proto/grpc.proto.

 - BisqGrpcServerMain: A 'headless' / daemon-like entry point for
   running a Bisq node without the JavaFX desktop UI.

 - BisqGrpcClient: A simple, repl-style client for the API that allows
   the user to exercise the various endpoints as seen in the example
   below.

In the `desktop` module, the BisqAppMain class has been modified to
start a BisqGrpcServer instance if the `--desktopWithGrpcApi` option has
been set to `true`.

In the `core` module, a new `CoreApi` class has been introduced
providing a kind of comprehensive facade for all Bisq functionality to
be exposed via the RPC API.

How to explore the proof of concept:

 1. Run the main() method in BisqAppMain providing
 `--desktopWithGrpcApi=true` as a program argument or alternatively, run
 the main() method in BisqGrpcServerMain, where no special option is
 required. In either case, you'll notice the following entry in the log
 output:

    INFO  bisq.grpc.BisqGrpcServer: Server started, listening on 8888

 2. Now run the main() method in BisqGrpcClient. Once it has started up
 you are connected to the gRPC server started in step 1 above. To
 exercise the API, type `getVersion` via stdin and hit return. You
 should see the following response:

    INFO bisq.grpc.BisqGrpcClient - 1.2.4

 Likewise, you can type `getBalance` and you'll see the following
 response:

    INFO bisq.grpc.BisqGrpcClient - 0.00 BTC

 and so forth for each of the implemented endpoints. For a list of
 implemented endpoints, see BisqGrpcServer.start().

Note once again that the code here is merely a proof of concept and
should not be considered complete or production-ready in any way. In a
subsequent commit, the `--desktopWithGrpcApi` option will be disabled in
order to avoid any potential production use.

The content of this commit is the result of squashing a number of
commits originally authored by chimp1984 in the `chimp1984` fork's `grpc`
branch.

Co-authored-by: Chris Beams <chris@beams.io>
2020-01-10 19:48:26 +01:00
Florian Reimair
f6740d06a0
Merge pull request #3585 from blabno/sort-gradle-witness
Sort existing gradle-witness.gradle
2019-11-20 10:37:50 +01:00
Bernard Labno
37918f5df7
Sort existing gradle-witness.gradle
This should make comparison in future much easier.
2019-11-19 17:28:59 +01:00
Christoph Atteneder
5fe71fa0a5
Bump gradle wrapper to version 5.6.4 (#3627)
* Bump gradle wrapper to version 5.6.4

* Add distributionSha256Sum to gradle-wrapper.properties

Gradle will self-verify the sha of the downloaded wrapper
zip upon its first download.
2019-11-18 09:31:58 +01:00
Christoph Atteneder
68b3a8c4d4 Revert "Update tor, netlayer, jtorctl" (#3567) 2019-11-07 10:37:12 +01:00
Florian Reimair
e64a2d07e5
Update tor, netlayer, jtorctl 2019-10-30 18:48:00 +01:00
sqrrm
bd1f19c030
Merge pull request #3287 from battleofwizards/remove-controlsfx
Remove controlsfx dependency
2019-09-19 12:25:03 +02:00
sqrrm
bff731f272
Merge pull request #3283 from christophsturm/gradle-sources
use gradle dist with sources for better IDE experience.
2019-09-19 11:52:45 +02:00
battleofwizards
2d4abbe143
Remove controlsfx dependency
The controlsfx is a huge JavaFX components library (0.83MB as JAR).

Turns out, we only use a single component, the PopOver. Fortunately,
the PopOver is self-contained and easy to pull out from controlsfx.

This commit embeds the PopOver in the project and removes controlsfx
dependency. The embedded version is exactly the same as previously
used in the project, so no change in semantics should occur.
2019-09-18 11:52:50 +02:00
battleofwizards
9ea6b2163e
Remove reactfx dependency
The reactfx was a 0.33MB dependency / 238 Java source files.

We only used it for FxTimer helper and to measure FPS in development mode.

The small FxTimer class got copied over into the project,
so there is no change in semantics.

The FPS measurement got replaced w/ com.sun.javafx.perf.PerformanceTracker,
an internal but long stable part of JavaFx. This is probably not a problem,
because it only concerns a rarely used, developer feature.
2019-09-18 09:34:46 +02:00
Christoph Sturm
219c5a0ba5 use gradle dist with sources for better IDE experience. 2019-09-17 18:22:37 +02:00
Florian Reimair
ff45007c38
Update to Tor v0.4.1.5 2019-09-05 12:52:12 +02:00
battleofwizards
d27311f0a8
Remove json-simple dependency
Turns out it was only used in a dead code.
2019-09-03 16:53:41 +02:00
sqrrm
ab96f2a735
Use latest btcd-cli4j 2019-09-02 15:59:55 +02:00
Christoph Sturm
26c053dae8 Apply kotlin plugin and convert one unused class to kotlin
just to check that everything works and to show how much simpler
kotlin code looks.
2019-08-20 16:07:07 +02:00
battleofwizards
0a7dd4db15
Update protobuf to fix annoying warnings
Protobuf got updated to the latest released version 3.9.1.
The main motivation was to fix the following annoying warnings:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/home/qertoip/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.5.1/8c3492f7662fa1cbf8ca76a0f5eb1146f7725acd/protobuf-java-3.5.1.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Additionally, protobuf-gradle-plugin got updated to 0.8.10.
2019-08-16 14:13:47 +02:00
sqrrm
e52c255446
Merge pull request #3058 from christophsturm/bump-guice
use singleton annotation instead of binding as singleton
2019-08-13 15:19:41 +02:00
Christoph Sturm
e418d5bb09 update witness file for new guice version 2019-08-06 17:46:35 +02:00
Christoph Sturm
20e011178e bump guice version and start testing desktop guice setup 2019-08-06 17:44:47 +02:00
Florian Reimair
ad0724b97d
Update tor to 0.4.0.5 2019-08-02 13:45:53 +02:00
Oscar Guindzberg
aded4afdf3 Use bitcoinj with connection handling audit fixes + Transaction.unCache() set confidence to null 2019-05-09 18:23:08 -03:00
Manfred Karrer
f95f770218
Update witness file 2019-03-31 17:54:51 -05:00
Oscar Guindzberg
fcbbec6497 Use the latest bisq's bitcoinj (00298b1) 2019-03-29 20:38:13 -03:00
Florian Reimair
bb6de99385
Update Netlayer to 0.6.5 2019-03-25 15:42:21 +01:00
Oscar Guindzberg
1746b143be Upgrade bitcoinj version to the one built with jdk 10 2019-03-19 17:16:49 -03:00
Oscar Guindzberg
aee1c6fa31 Move clear blockstore feature to bitcoinj 2019-03-19 15:27:55 -03:00
Florian Reimair
1ff7f008cd
Introduced netlayer 0.6.4 2019-03-07 13:29:12 +01:00
Manfred Karrer
76e753f35a
Merge pull request #2478 from oscarguindzberg/bitcoinj-0.14.7
Use bitcoinj 0.14.7
2019-03-06 18:43:41 -05:00
Florian Reimair
7b4caab93d
Introduced netlayer 0.6.4b3 2019-03-06 13:47:32 +01:00
Florian Reimair
c1ab900521
Updated netlayer, jtorctl and tor-binary 2019-03-05 15:39:51 +01:00
Oscar Guindzberg
14e605790f Use bitcoinj 0.14.7 (commit 3e7ff3a) 2019-02-28 15:18:54 -03:00
Oscar Guindzberg
52e36187d1 Remove libdohj dependency 2019-02-05 09:33:58 -03:00
Florian Reimair
bd0cf85f16 Introduce netlayer release 0.6.3 2019-01-03 17:11:21 +01:00
Manfred Karrer
975643aa56
Revert to netlayer 0.6 because of an issue with seednodes
If a seednode is using netwlayer version 0.6.2 (or 0.6.1) it is not
reachable from other nodes. Still unclear what causes that and if it
would affect also normal Bisq nodes, but to be careful we revert to
latest stable netlayer version which fixes the issue.
2019-01-03 14:18:57 +01:00
Florian Reimair
cfec7146a2 Merge branch 'master' into monitor 2018-12-30 09:52:10 +01:00
Florian Reimair
59e52851f7 Dependencies and Buildfile cleanup 2018-12-29 11:37:48 +01:00
Florian Reimair
6309908e0d Update Netlayer to 0.6.2 and thus, Tor to 8.0.4 2018-12-21 14:56:21 +01:00
Florian Reimair
295cb6c2b8 Graceful shutdown, Netlayer 0.6.2 2018-12-21 11:34:29 +01:00
Manfred Karrer
cad0156617
Update btcd-cli4j to 0.5.8.4 (commit hash 065d3786)
- Log btcd-cli4j version
- Update witness
- Update findbugs to 3.0.2
2018-12-09 13:38:08 +01:00
Manfred Karrer
647d873d0c
Fix gradle-witness command and hashes 2018-12-06 17:20:49 +01:00
Manfred Karrer
9389a8e1fa
Update checkpoint files
We used checkpoint files from BitcoinJ 0.14.4 and those caused a very
slow initial download. I tested with the WalletAppKit and different
release version sof BitcoinJ and could reproduce the behaviour there.
WIth v0.14.5 it was much better. But also that caused slow startup in
Bisq. After creating a current checkpoint file and using that the
download is now very fast.

Also added logging for versions of BitcoinJ and libDohJ so that we have
better control which version is used.
2018-12-06 02:22:58 +01:00
Florian Reimair
f493b5f619 Added hashes and Netlayer release 0.6 2018-11-17 18:14:18 +01:00
Florian Reimair
68d813fc0c Refactored TorNetworkNode 2018-11-17 18:02:49 +01:00
Manfred Karrer
136c268dbb
Merge pull request #1928 from freimair/tor8.0.3
Use tor binaries from TorBrowser 8.0.3
2018-11-16 21:07:14 -05:00
Florian Reimair
21a56cc127 worked around jitpack issue 2018-11-16 13:31:37 +01:00
Florian Reimair
3e25ee2cdd Use tor binaries from TorBrowser 8.0.3 2018-11-16 12:28:34 +01:00
Chris Beams
44c326729b
Merge pull request #1901 from devinbileck/update-gradle-witness.jar
Update gradle-witness.jar
2018-11-15 11:41:25 +01:00
Devin Bileck
286dd51b13
Update gradle-witness.jar
Built from commit
44b0391006

md5 hash ae4796f320ef3200515183fa9d3f4759
2018-11-15 11:40:46 +01:00
Florian Reimair
9e88e6eed1 Fixed netlayer and tor binary dependency issues 2018-11-13 19:51:11 +01:00
Florian Reimair
73fc35413b bumped netlayer to 0.4.7 2018-11-07 17:13:51 +01:00
Chris Beams
3c54be2d4f
Pull up remaining desktop config to root
And also relocate gradle-witness jar and config (back) to root-level
gradle/witness dir.
2018-11-04 17:37:32 +01:00
Chris Beams
c257590424
Upgrade to Gradle 4.10.2 2018-11-04 09:54:56 +01:00
Chi Nul
c3dc3c5086
Update gradle to 4.9 2018-09-05 11:19:58 +02:00
Chi Nul
9014925d1c
Move witness gradle plugin to desktop 2018-09-05 10:27:23 +02:00
Chris Beams
27cc933c4e
Verify dependency checksums with gradle-witness plugin
This performs the same function that the maven-enforcer-plugin did in
the pom removed by the previous commit, and also includes a more
comprehensive / up-to-date set of dependencies.

Note that the gradle-witness jar checked in here is one built from the
pull request in signalapp/gradle-witness#26.
2018-03-21 06:15:00 +01:00
Chris Beams
6e87bee784
Add Gradle build 2018-03-21 06:14:48 +01:00
Manfred Karrer
6b4f528f47 UpdateFX with maven build (tested only on mac) 2015-02-27 23:47:23 +01:00