Commit Graph

570 Commits

Author SHA1 Message Date
Christoph Atteneder
2c5e785a1e
Bump version number for v1.6.3 2021-04-22 10:36:37 +02:00
Christoph Atteneder
3281767a52
Clean build files and adapt binary signing 2021-04-20 15:10:44 +02:00
Christoph Atteneder
b5beea58db
Temporary delete QR code scanner
used for mobile notification pairing because of missing current macOS support by currently used webcam library
2021-04-20 10:20:58 +02:00
cd2357
e04537aca6
Merge remote-tracking branch 'bisq-network/hotfix/v1.6.2' into upgrade-javafax-14 2021-04-10 10:31:04 +02:00
Christoph Atteneder
c2834cebd6
Revert to SNAPSHOT version 2021-04-01 15:45:10 +02:00
Christoph Atteneder
8623b7b546
Bump version number for v1.6.2 2021-04-01 09:41:07 +02:00
cd2357
ca5f41a9d9
Merge remote-tracking branch 'bisq-network/hotfix/v1.6.1' into upgrade-javafax-14
# Conflicts:
#	build.gradle
2021-03-29 18:37:14 +02:00
Christoph Atteneder
0c40d35ddb
Revert to SNAPSHOT version 2021-03-29 16:26:28 +02:00
cd2357
6c44f25738
Bump tor to v0.4.5.7
Bump tor-binary and netlayer dependencies to the newest versions which package tor v0.4.5.7.
2021-03-28 20:15:19 +02:00
Christoph Atteneder
b7524270dd
Bump version number for v1.6.1 2021-03-28 20:11:26 +02:00
Steven Barclay
f21379160b
Merge branch 'release/v1.6.0' into implement-segwit-for-bsq 2021-03-20 23:18:49 +00:00
Christoph Atteneder
378fd026bf
Bump version number for v1.6.0 2021-03-18 19:19:26 +01:00
Christoph Atteneder
38a9bf0277
Merge branch 'master' of github.com:bisq-network/bisq into hotfix/v1.5.9
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
2021-03-11 16:26:50 +01:00
Christoph Atteneder
fb053e85ad
Revert to SNAPSHOT version 2021-03-11 16:24:32 +01:00
sqrrm
463f87b39e
Merge pull request #5284 from ghubstan/07-validate-paymentacct-n-new-offer
Validate offer <-> payment-acct in createoffer
2021-03-09 16:51:56 +01:00
ghubstan
304781ce92
Add jupiter test support to :cli subproject 2021-03-05 07:15:01 -03:00
Christoph Atteneder
c1d6ea93bb
Bump version number for v1.5.9 2021-03-02 18:53:37 +01:00
Christoph Atteneder
996e264cfb
Revert to SNAPSHOT version 2021-03-02 10:03:29 +01:00
Christoph Atteneder
5288d0840b
Bump version number for v1.5.8 2021-03-01 11:24:04 +01:00
Christoph Atteneder
52c90dc9c1
Revert to SNAPSHOT version 2021-02-26 21:06:35 +01:00
cd2357
fb3ed20d74
Bump netlayer and tor-binary versions
Update dependencies to use tor v0.4.5.6
2021-02-26 17:20:01 +01:00
Christoph Atteneder
2dc34dce48
Bump version number for v1.5.7 2021-02-18 21:50:32 +01:00
cd2357
7c2b4e02b8
Merge remote-tracking branch 'bisq-network/hotfix/v1.5.6' into upgrade-javafax-14 2021-02-17 23:16:52 +01:00
Christoph Atteneder
5c614be5d7
Revert to SNAPSHOT version 2021-02-16 21:23:37 +01:00
Christoph Atteneder
1507b58e26
Bump version number for v1.5.6 2021-02-16 09:04:10 +01:00
cd2357
5a358b49de
Merge remote-tracking branch 'bisq-network/release/v1.5.5' into upgrade-javafax-14 2021-02-04 11:58:43 +01:00
Steven Barclay
b4ad6bf637
Upgrade jsonrpc4j & Jackson; simplify BitcoindClient
Change jsonrpc4j version from 1.5.3 to 1.6.0.bisq.1, forked to the Bisq
repo from the recent 1.6.0 release. The forked version changes the class
'com.googlecode.jsonrpc4j.HttpException' to be public, instead of (prob.
mistakenly) package private, so we can avoid using reflection to catch
it and re-throw as a 'bisq.network.http.HttpException'. Remove the now
unused constructors from the latter.

As part of this, upgrade Jackson to the latest stable (2.12.1) release,
since jsonrpc4j now depends on a newer version than the previous 2.8.10.
2021-02-04 07:51:38 +00:00
Christoph Atteneder
63b39d5995
Revert to SNAPSHOT version 2021-02-02 10:34:27 +01:00
Christoph Atteneder
b9e889050a
Bump version number for v1.5.5 2021-01-21 16:01:45 +01:00
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
Steven Barclay
dbe4953f63
Add replacement bitcoind RPC client using jsonrpc4j
Create a new 'BitcoindClient' interface and a corresponding builder, to
replace the old 'com.neemre.btcdcli4j.core.client.BtcdClientImpl' class
from the btcdcli4j library. This is instantiated by jsonrpc4j using a
dynamic proxy. It provides only a cut down version of the bitcoind RPC
API, exposing the methods 'getblock', 'getblockcount' & 'getblockhash',
as they are the only ones currently being used by RpcService.

Add corresponding Jackson-annotated DTO classes to model the JSON
structures returned by bitcoind, very similar to the classes provided by
btcdcli4j. Note that we use Double instead of BigDecimal to represent
fractional fields (difficulties + coin amounts in BTC), as they have
more consistent Jackson (de)serialisation and appear to be able to
faithfully round-trip numeric fields produced by bitcoind. Also note
that doubles can faithfully represent any valid decimal BTC amount (that
is, with 8 d.p. of precision) up to 21 million.

For now, keep the old BtcdClientImpl instance used by RpcService in
place, as the btcdcli4j block notification daemon is dependent upon it
and would also need to be replaced.

Also add unit tests for BitcoindClient which test against sample regtest
responses, using a mock HttpURLConnection.
2021-01-21 10:08:22 +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
Christoph Atteneder
0f7756267d
Merge branch 'master' of github.com:bisq-network/bisq into hotfix/v1.5.4
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
2020-12-31 14:00:12 +01:00
Christoph Atteneder
31ee62b6c0
Revert to SNAPSHOT version 2020-12-31 13:58:20 +01:00
Christoph Atteneder
3914e5c198
Bump version number for v1.5.4 2020-12-31 06:55:20 +01:00
Christoph Atteneder
0c83a9b0cd
Merge branch 'master' of github.com:bisq-network/bisq into hotfix/v1.5.3
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
2020-12-30 15:15:06 +01:00
Christoph Atteneder
a9dc664560
Revert to SNAPSHOT version 2020-12-30 15:00:16 +01:00
Christoph Atteneder
e92be14a57
Bump version number for v1.5.3 2020-12-30 13:34:08 +01:00
Christoph Atteneder
850e031158
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.5.2
# Conflicts:
#	core/src/main/java/bisq/core/account/witness/AccountAgeWitnessService.java
#	core/src/main/java/bisq/core/trade/closed/CleanupMailboxMessages.java
2020-12-28 14:57:08 +01:00
Christoph Atteneder
0ad39761ce
Revert to SNAPSHOT version 2020-12-28 14:54:55 +01:00
ghubstan
5de910a03d
Add unit test dependencies to daemon subproject 2020-12-19 15:40:27 -03:00
Oscar Guindzberg
a161376da3
Use bitcoinj 0.15.8.bisq.13 (commit dcf8af0) 2020-12-16 14:57:41 -03:00
Christoph Atteneder
a6bee1116a
Bump version number for v1.5.2 2020-12-16 14:19:41 +01: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
Christoph Atteneder
a04cc7bfe2
Revert to SNAPSHOT version 2020-12-08 22:14:56 +01:00
Oscar Guindzberg
9ca20d8b3d
Use bitcoinj 0.15.8 (commit dcf8af0) 2020-12-07 11:39:58 -03:00
Christoph Atteneder
4ab75b656d
Bump version number for v1.5.1 2020-12-03 12:57:43 +01: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
Christoph Atteneder
dbb0160a35
Revert to SNAPSHOT version 2020-11-25 13:46:24 +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
Christoph Atteneder
66fcde11bf
Bump version number for v1.5.0 2020-11-05 11:34:40 +01:00
sqrrm
f2cf5e2984
Merge pull request #4723 from ghubstan/16-improve-apitest-logging
Improve apitest cmd line console logging
2020-11-02 13:12:02 +01:00
sqrrm
53a16698e2
Merge pull request #4722 from ghubstan/15-upgrade-jupiter
Upgrade jupiterVersion = '5.7.0'
2020-11-02 13:05:39 +01:00
ghubstan
d6524bf46d
Improve apitest cmd line console logging
- Show full stack traces in console
- Do use previously cached test outputs
- Do not show skipped test name in console (too noisy)
- Show test run summary, including number of skipped tests
- Show note about skipped test info in the html report
- Show link to html report on test SUCCESS
2020-10-28 17:39:50 -03:00
ghubstan
8e51e1e495
Upgrade jupiterVersion = '5.7.0'
This upgrades jupiter for all subprojects using this library, but
it does not affect released code.
2020-10-28 17:21:04 -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
0cd97a57eb
Bump mockito version to fix tests
Newer mockito version fixes tests which started failing for this branch after the merge of v1.4.2.
2020-10-24 11:26:15 +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
chimp1984
aa812ba7f1
Add shadow plugin 2020-10-23 01:17:33 -05:00
chimp1984
821fa39a7e
Add sparkjava dependency 2020-10-23 01:17:33 -05:00
chimp1984
3521619e03
Add inventory module
Simple monitor dumping json files with data result and request/response time to disk. Can be used by a simple web server to show state of seed nodes.
2020-10-23 01:17:32 -05:00
Christoph Atteneder
f6d8cadee8
Revert to SNAPSHOT version 2020-10-22 09:36:50 +02:00
Christoph Atteneder
062b58b65d
Bump version number for v1.4.2 2020-10-21 09:23:51 +02:00
Christoph Atteneder
7ae6e84e02
Bump version number for v1.4.1 2020-10-18 19:22:53 +02:00
Christoph Atteneder
bac1e7b04c
Revert to SNAPSHOT version 2020-10-16 14:47:43 +02:00
Oscar Guindzberg
417daf5692
Use bitcoinj 0.15.8 (commit a733034) 2020-10-08 16:33:58 -03:00
Christoph Atteneder
5294820eb6
Bump version number for v1.4.0 2020-10-08 09:39:01 +02: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
150599cc31
Integrate jpackage to build platform-specific binaries
Extend the gradle script with tasks that use jpackage to generate Bisq binaries. The kind of binaries generated depend on the OS where this is executed.

The packaging of binaries can be started by calling:
./gradlew --console=plain packageInstallers
from the root project folder.
2020-09-22 18:18:28 +02:00
cd2357
b9164e6e82
Include version in bisq-desktop jar manifest
Include the application version number in the jar manifest. This makes it easier later on, in the packaging process, to programmatically retrieve the build version from a reliable source.
2020-09-19 20:48:28 +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
053b22f16f
Prevent seednode to use older guava version 2020-09-18 18:29:35 -03:00
Oscar Guindzberg
3aea094538
bitcoinj 0.15: bitcoinj exclude dependency bcprov-jdk15on because already included by bisq. 2020-09-18 18:29:27 -03:00
Oscar Guindzberg
41556f25df
bitcoinj 0.15: Update depencencies to match bitcoinj versions 2020-09-18 18:29:26 -03:00
Oscar Guindzberg
e9a8be372a
Use bitcoinj 0.15.8 (commit 86c7094) 2020-09-18 18:29:24 -03:00
cd2357
fbe43c53ed
Merge remote-tracking branch 'bisq-network/release/v1.3.9' into upgrade-javafax-14 2020-09-18 14:13:56 +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
Christoph Atteneder
81df879881
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.3.9
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
2020-09-16 16:52:54 +02:00
Christoph Atteneder
95dd561d91
Revert to SNAPSHOT version 2020-09-16 16:49:48 +02:00
cd2357
51e0de8116
Upgrade JavaFX to v15
Upgrade JavaFX to most recent release.
2020-09-16 16:24:37 +02:00
Christoph Atteneder
06ac7a7605
Bump version number for v1.3.9 2020-09-16 15:58:58 +02:00
cd2357
2bc85d7553
Upgrade to Mockito 3.3.0
Use Mockito 3.3.0, which fixes some bugs that caused valid tests to fail
in the Java 14 environment.
2020-09-16 09:16:22 +02:00
cd2357
e6920c179c
Upgrade to Lombok 1.18.12
Use Lombok v1.18.12, which adds support for Java 14.
2020-09-16 09:15:13 +02:00
cd2357
2ce807c9c8
Upgrade JavaFX to v14
Update the gradle dependency to JavaFX 14.

This brings to Bisq the latest JavaFX fixes and improvements, especially
 in the areas of UI performance, memory management and security.

JavaFX can be upgraded independently of the JDK used to build the
application, so this change is modular and does not affect other parts
of the build process.

Related / likely related to: #350 #2135 #2509 #3128 #3307 #3308 #3343
#3430 #3657 #3677 #3683 #3686 #3786 #3787 #3892 #3917 #3918 #3936
2020-09-16 09:15:13 +02:00
Christoph Atteneder
98b03937d8
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.3.8
# Conflicts:
#	core/src/main/java/bisq/core/support/dispute/agent/MultipleHolderNameDetection.java
#	core/src/main/java/bisq/core/trade/txproof/xmr/XmrTxProofService.java
2020-09-15 13:24:06 +02:00
Christoph Atteneder
5f957f0a64
Revert to SNAPSHOT version 2020-09-15 09:26:08 +02:00
Florian Reimair
e3193e5daf
Tor 0.4.3.6 2020-09-07 14:23:30 +02:00
Christoph Atteneder
ca88bc9b4f
Bump version number for v1.3.8 2020-09-03 17:34:34 +02:00
Christoph Atteneder
641240d8a0
Revert "Upgrade JFoenix to v9.0.10" 2020-09-02 15:27:06 +02:00
sqrrm
136da0c481
Merge pull request #4443 from ghubstan/upgrade-jfoenix
Upgrade JFoenix to v9.0.10
2020-08-31 16:41:47 +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
cd2357
43cd6e9bf5
Exclude spot price provider tests by default
Exclude these tests from the default gradle test task. However, allow the option of having them included by specifying an optional gradle parameter (-Dtest.pricenode.includeSpotProviderTests=true).
2020-08-27 14:10:37 +02:00
ghubstan
d0397c1c62
Move gRPC boilerplate from :core to :daemon
This change moves gRPC boilerplate classes from the :core.grpc pkg
into a new :daemon.grpc pkg.

* The :core.grpc pkg was renamed :core.api, and no longer has any
  dependencies on gRPC libraries.

* All core service classes in the :core.api pkg are now package
  protected, excepting CoreApi, making CoreApi the only possible
  entry point for all Grpc*Service -> -Core*Service calls.

* All grpc service classes in the :daemon.grpc pkg are now package
  protected, excepting GrpcServer;  the only class depending on
  Grpc*Service class is GrpcServer.

* gRPC dependencies were moved from the gradle.build file's :core
  subproject to :daemon.
2020-08-24 15:09:15 -03:00
sqrrm
d5c81cedd6
Merge pull request #4366 from ghubstan/draft-apitest
Add API test harness for Linux & OSX
2020-08-24 18:57:53 +02:00
Christoph Atteneder
fa000ddc45
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.3.7
# Conflicts:
#	core/src/main/java/bisq/core/provider/ProvidersRepository.java
2020-08-19 13:04:26 +02:00
cd2357
4dc24e5606
Disable BitcoinAverage
Disable BitcoinAverage provider. Keep it registered as a provider to
ensure that the data structure returned by the pricenode to the Bisq
clients contain the hardcoded "btcAverageTs" key.
2020-08-05 23:17:18 +02:00
Christoph Atteneder
7475f17207
Bump version number for v1.3.7 2020-07-30 10:19:34 +02:00
cd2357
efda45fa78
Integrate Hitbtc exchange API
Add Hitbtc ExchangeRateProvider and corresponding unit test.
2020-07-27 18:55:11 +02:00
cd2357
b362b4c8d2
Integrate Huobi exchange API
Add Huobi ExchangeRateProvider and corresponding unit test.
2020-07-27 18:53:13 +02:00
cd2357
637378b58a
Integrate more exchanges using knowm xchange
Add more exchange providers supported by the knowm xchange library.

This extends support for a few new currencies.
2020-07-27 13:02:25 +02:00
cd2357
c6ef40e5e4
Revert XChange version to keep jdk10 compatibility
Revert from latest v5.0.0 to v4.2.2, since the newer version libraries
are compiled with Java 11, so they cannot be used as part of the Bisq
build process which still partially relies on Java 10.
2020-07-20 18:14:37 +02:00
cd2357
671e80929a
Integrate initial set of ExchangeRateProviders
Add support for a few exchanges to demonstrate and test the pricenode
aggregate rates.

The chose exchanges were selected because they each provide a varied
list of fiat and altcoins, with a substantial overlap between them. This
 provides a robust initial set of datapoints and scenarios for aggregate
  rates.
2020-07-20 18:14:37 +02:00
ghubstan
591c8b295c
Change :apitest:test task system property name
The property name 'force' is changed 'runApiTests'.

To run the :apitest test task:

    ./gradlew :apitest:test -DrunApiTests=true
2020-07-20 12:33:47 -03:00
ghubstan
bf584c218f
Move test cases into subproject test sources
This change reorganizes the ':apitest' subproject to conform to a
typical gradle project, where all JUnit test cases are located in
the subproject's test sources folder.  This makes running tests
from an IDE or gradle command line interface work as expected.
It will also help keep Travis CI configuration simple.

To avoid interfering in normal builds, the gradle ':apitest test' task
is disable by default;  API tests will only run when a '-Dforce-true'
system property is passed to gradle.

To run API tests, run a normal build and install dao-setup files:

    ./gradlew clean build :apitest:installDaoSetup

Then run the tests:

    ./gradlew :apitest:test -Dforce=true

Try to avoid adding the '-Dforce=true' property to any other gradle
tasks, because this enables the ':apitest test' task, and would kick
off API tests before a normal build completed.

The build.gradle file was modified to support this code reorg, and
the 'org.junit.jupiter' dependendency was upgraded to v5.6.2 -- only
in the ':apitest:test' dependency definiitions, not anywhere else in
the bisq dependency definitions.  The upgrade is necessary for
running ordered tests.

Since the scaffolding may be set up from either test cases (under the
test src folder), or a class under the main src folder, some changes
were made to ensure configuration paths are correct for either use
case.  For example, when the 'bisq-apitest' script is run from the root
project directory, the current working directory is the root project
directory.  When gradle or an IDE is used to run @Test cases, the
current working directory is :apitest subproject directory.

The main source's ApiTestMain class has been stripped down, and exists
only to keep the gradle build happy -- it needs a 'mainClassName'
property.  But this main driver does have uses.  See the class comments.

The other changes in this commit were made to fix style and syntax
problems.
2020-07-19 16:31:46 -03:00
ghubstan
080952b1d7
Support @Order-ing of JUnit tests 2020-07-13 20:30:48 -03:00
Christoph Atteneder
93fb7630d6
Revert to SNAPSHOT version 2020-07-13 21:39:42 +02:00
ghubstan
2c10836a69
Expose grpc service stubs
Added :proto to the :apitest classpath for access to grpc
service stubs (to be) used in method (unit) tests.  Added new
GrpcStubs class to expose the grpc service stubs to method and
scenario tests.

The larger goal of :apitest is end to end testing, where :cli's
console output is checked for correctness.

This change partially addresses two other important use cases:

 * "method" testing -- an analog to unit testing
 * "scenario" testing -- an analog to narrow functional testing

For example, tests in the apitest.method package will directly
call grpc services, and asserts will be made on the return values
instead of console output.

Tests in the apitest.scenario package will check correctness
for broader use cases, such as funding a wallet, encrypting then
unlocking a wallet  for a specific time frame, or checking error
messages from the server when a "getbalance" call is made after
an "unlockwallet" timeout has expired.

The broader end to end tests will not use grpc stubs.
2020-07-12 13:55:08 -03:00
ghubstan
e61a42dbb4
Remove MaxRAM from DEFAULT_JVM_OPTS
There is no need for this as any JavaFX based :desktop instances
will be started as background linux processes.
2020-07-10 15:00:50 -03:00
ghubstan
2cd80aaa60
Add subproject :apitest to gradle build file 2020-07-09 16:15:29 -03:00
Christoph Atteneder
7613912c75
Bump version number for v1.3.6 2020-07-04 21:02:29 +02:00
Christoph Atteneder
d2fdc79c26
Revert to SNAPSHOT version 2020-06-23 15:32:57 +02:00
Christoph Atteneder
92ee247fa7
Bump version number for v1.3.5 release 2020-06-06 08:44:41 +02:00
cd2357
1ad7169682
Add unit test for Version controller
Add unit test for existing functionality of the Version controller.
2020-05-09 09:40:52 +02:00
Christoph Atteneder
9acb764d6a
Add missing SNAPSHOT version 2020-04-30 16:38:04 +02:00
Christoph Atteneder
23432308a2
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.3.4
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java
#	p2p/src/main/resources/AccountAgeWitnessStore_BTC_MAINNET
#	p2p/src/main/resources/DaoStateStore_BTC_MAINNET
#	p2p/src/main/resources/SignedWitnessStore_BTC_MAINNET
#	p2p/src/main/resources/TradeStatistics2Store_BTC_MAINNET
#	relay/src/main/resources/version.txt
2020-04-30 16:36:51 +02:00
Christoph Atteneder
64f55cb777
Bump version number for v1.3.4 2020-04-30 10:19:27 +02:00
Chris Beams
e03c46106b
Merge pull request #4189 from ghubstan/simple-rpc-auth
Implement simple password-based gRPC authentication
2020-04-29 16:17:04 +02:00
Christoph Atteneder
df56aaddab
Bump version number for v1.3.3 2020-04-29 16:08:54 +02:00
Chris Beams
51fc2710ad
Track p2p data store files using Git LFS
The large binary objects in p2p/src/main/resources/ are updated on every
Bisq release with the latest network data to avoid the need for new Bisq
clients to download all of this information from the network, which
would easily overload seed nodes and generally bog down the client.

This approach works well enough for its purposes, but comes with the
significant downside of storing all of this binary data in Git history
forever. The current version of these binary objects total about 65M,
and they grow with every release. In aggregate, this has caused the
total size of the repository to grow to 360M, making it cumbersome to
clone over a low-bandwith connection, and slowing down various local Git
operations.

To avoid further exacerbating this problem, this commit sets these files
up to be tracked via Git LFS. There's nothing we can do about the 360M
of files that already exist in history, but we can ensure it doesn't
grow in this unchecked way going forward. For an understanding of how
Git LFS works, see the reference material at [1], and see also the
sample project and README at [2].

The following command was used to track the files:

    $ git lfs track "p2p/src/main/resources/*BTC_MAINNET"
    Tracking "p2p/src/main/resources/AccountAgeWitnessStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/BlindVoteStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/DaoStateStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/ProposalStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/SignedWitnessStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/TradeStatistics2Store_BTC_MAINNET"

We are using GitHub's built-in LFS service here, and it's important to
understand that there are storage and bandwidth limits there. We have
1G total storage and 1G per month of bandwidth on the free tier. We will
certainly exceed this, and so must purchase at least one "data pack"
from GitHub, possibly two. One gets us to 50G storage and bandwith.

In an attempt to avoid unnecessary LFS bandwidth usage, this commit also
updates the Travis CI build configuration to cache Git LFS files, such
that they are not re-downloaded on every CI build (see [3] and [4]
below). With that out of the way, the variable determining whether we
exceed the monthly limit is how many clones we have every month, and
there are many, though it's not clear how many are are Travis CI and how
many are users / developers.

Tracking these files via LFS means that developers will need to have Git
LFS installed in order to properly synchronize the files. If a developer
does not have LFS installed, cloning will complete successfully and the
build would complete successfully, but the app would fail when trying to
actually load the p2p data store files. For this reason, the build has
been updated to proactively check that the p2p data store files have
been properly synchronized via LFS, and if not, the build fails with a
helpful error message. The docs/build.md instructions have also been
updated accordingly.

It is important that we make this change now, not only to avoid growing
the repository in the way described above as we have been doing now for
many releases, but also because we are now considering adding yet more
binary objects to the repository, as proposed at
https://github.com/bisq-network/projects/issues/25.

[1]: https://git-lfs.github.com
[2]: https://github.com/cbeams/lfs-test
[3]: https://docs-staging.travis-ci.com/user/customizing-the-build/#git-lfs
[4]: https://github.com/travis-ci/travis-ci/issues/8787#issuecomment-394202791
2020-04-29 12:10:11 +02:00
Chris Beams
0b338bbbea
Rename/repackage bisq.cli.{app.Bisq=>CliMain} 2020-04-25 09:59:22 +02:00
Christoph Atteneder
1105a78d51
Revert to SNAPSHOT version 2020-04-16 14:25:59 +02:00
Christoph Atteneder
782921ec55
Bump version number for v1.3.2 2020-04-10 20:02:39 +02:00
Christoph Atteneder
4b826eb2a9
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.3.1
# Conflicts:
#	build.gradle
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
2020-04-08 23:03:19 +02:00
Christoph Atteneder
224b140c46
Revert to SNAPSHOT version 2020-04-08 22:59:10 +02:00
Christoph Atteneder
51ffd9d95c
Bump version number for v1.3.1 2020-04-08 20:04:13 +02:00
Christoph Atteneder
bb75f59b86
Bump version number for v1.3.0 2020-04-07 19:38:16 +02:00
Christoph Atteneder
fbfe8dc842
Merge pull request #4108 from ghubstan/rslv-grpcauth-gson-dep-conflicts
Resolve grpc-auth and gson dependency conflicts
2020-04-06 12:25:59 +02:00
ghubstan
21a2f1de64
Add guava dependency to seednode
Merging PR #4096, which moved protobuf defs out of core and common,
left :seednode without its required dependency on guava, causing
NoSuchMethodErrors.
2020-04-02 13:44:13 -03:00
ghubstan
ee867013aa
Resolve grpc-auth and gson dependency conflicts
This change forces :relay's grpc-auth version to match the
version of all other io.grpc-* dependencies, and gets rid of
the duplcate gson dependency v2.8.2
2020-04-01 10:01:17 -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
Chris Beams
ccde089af3
Rename :protodefintion subproject to :proto
This is done primarily for concision. This change also repackages
bisq.grpc => bisq.proto.grpc in anticipation of repackaging the
definitions in pb.proto from 'protobuf' to 'bisq.proto'. There should
not be any compatibility issues with doing this, but it's out of scope
here. When complete, the relationship between bisq.proto.grpc and
bisq.proto will be more intuitively clear, i.e. that bisq.proto.grpc has
certain dependencies on bisq.proto classes, but not the other way
around.
2020-03-26 17:37:37 +01:00
ghubstan
aed3453142
Move command & core proto defs to new subproject
Protobuf definition files were moved from common and core to a new
protodefinition subproject.

The two main reasons for doing this are to speed up builds by not
having to regenerate common and core protobuf classes
every time a change is made in those subprojects, and to remove
the grpc cli's direct dependency on core, and the transitive dependency
on common.

In order to accomplish this, cli's BisqCliMain was stripped of
its dependencies on common and core.  Cli can only get the version
and balance now.

gRPC stub boilerplate was moved from BisqCliMain to a CliCommand
class to avoid some of the bloat that is going to happen as the
read-response loop supports more rpc commands.
2020-03-26 10:14:33 -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
sqrrm
deb3f658f5
Merge pull request #4075 from bisq-network/release/v1.2.9
Merge v1.2.9 release branch back to master
2020-03-17 14:56:11 +01:00
Christoph Atteneder
0c874b04d7
Revert to SNAPSHOT version 2020-03-17 14:44:25 +01:00
Christoph Atteneder
066614f966
Bump version number for v1.2.9 2020-03-13 17:16:09 +01:00
Florian Reimair
f127c28d1d
Limit for bisq-desktop only 2020-03-11 16:38:52 +01:00
Florian Reimair
dc7a904a7f
Limits system ram to 4GB
OpenJDK assumes total system RAM of 128GB. Setting it to 4GB manually
reduces the greediness of the JVM drastically.
2020-03-11 14:21:02 +01:00
Christoph Atteneder
dfba2103ab
Bump version number to v1.2.8 2020-03-10 09:17:21 +01:00