Commit graph

4135 commits

Author SHA1 Message Date
Chris Beams
7a718f0ed5
Move grpc generation from :grpc to :core
Such that :grpc (soon to be renamed to :daemon), :cli and :desktop can
access these types.
2020-01-20 12:07:55 +01:00
Chris Beams
8b30c22d6e
Move bisq.core{=>.app}.CoreModule
There are two structural / organizational reasons for this move:

 1. References from one package to another should always be upward or
 lateral, never downward, as the latter causes package cycles (aka
 'tangles') which damage the suppleness and understandability of a large
 codebase. Prior to this change the high-level bisq.core.CoreModule
 class imported many classes from child packages like
 bisq.core.{btc,dao,user,util}, etc. By moving CoreModule down into the
 '.app' package, it can reference all these other packages as siblings
 instead of doing so as a parent.

 2. the bisq.core.desktop and bisq.core.app packages are the only
 locations that reference the CoreModule class. By moving the class
 into bisq.core.app, greater cohesion is acheived, again making the
 codebase that much easier to read and understand.
2020-01-20 12:07:43 +01:00
wiz
9acc17bc1d
Remove 2 btcnodes not operated by active bisq contributors 2020-01-20 08:00:05 +09:00
Dominykas Mostauskis
86489e0d74
Improve readability of the daily burnt BSQ chart
Relevant issue thread: #3753

Currently the daily burnt BSQ chart under 'DAO -> Facts and Figures' is
distorted by outliers. This introduces a 'Zoom to inliers' toggle (off
by default), which, when toggled on, effectively zooms the chart to
inliers, thus removing the distortion. Also, a moving average is
plotted, to further improve the chart's readibility.

The chart is also changed from an area chart to a line chart, on the
presumption that it was an area chart for cosmetic reasons, but now that
there are two series in it (the moving average was added) an area chart
makes less sense.

Another noteworthy change is that the other chart in the screen, monthly
issued BSQ, has its Y axis set to start at zero, so as to improve
readability. This might seem outside the scope of this commit, but the
other changes involved some refactoring, which involved cleaning up some
duplicated logic, which involved configuring both of these charts
together, which involved forcing zero to be on the axis.

This implementation mixes some plotting logic (responsible for zooming
in on inliers) into the view logic, because I opted to implement said
zooming as an external manipulation of a chart's axis. I chose this in
favor of implementing a new Chart, because it would have required
including multiple large classes (relevant JavaFX's classes can't be
ergonomically extended) to the code base. I presumed that my chosen
solution will be easier to maintain.

I am not entirely happy with this choice and can see myself introducing
some plotting-related classes to encapsulate creating charts like these,
thus unmixing plotting logic from view logic. In the meantime this is a
working solution, and I plan to continue working on these charts in the
near future.
2020-01-18 15:35:56 +02:00
sqrrm
5233b85708
Merge pull request #3881 from bisq-network/release/v1.2.5
Release/v1.2.5
2020-01-15 13:09:15 +01:00
sqrrm
0ece6aa72b
Merge pull request #3895 from devinbileck/ignored-peers-and-btc-nodes
Validate ignored peers and BTC nodes
2020-01-14 15:18:47 +01:00
Christoph Atteneder
17c37db887
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.2.5
# Conflicts:
#	core/src/main/resources/i18n/displayStrings_el.properties
2020-01-13 15:20:15 +01:00
Devin Bileck
61d20268f2
Revert to using provided BTC nodes if custom nodes are invalid
If the user entered an invalid hostname for a custom BTC node, such as a
V3 onion address, after restarting Bisq they would be presented with an
error due to the node being unreachable and unable to continue nor
correct the config.

So now a warning message will be shown in this situation informing the
user of an invalid config and once they restart their client they will
connect to the provided BTC nodes.

Fixes #3137
2020-01-12 22:58:34 -08:00
Devin Bileck
9e33ca9e43
Capitalize connection failed string 2020-01-12 22:52:33 -08:00
Devin Bileck
5e52dc58a8
Add input validation for ignored peers and BTC nodes
Ignored peers and BTC nodes input fields will now only accept IPv4 and
V2 onion addresses, with multiple addresses separated using a comma.
2020-01-12 22:52:32 -08:00
Chris Beams
65175a7f4f
Remove --desktopWith{Grpc|Http}Api options for now
The previous commit introduces the BisqGrpcServer as a proof of concept,
but it is not yet ready for production use. This commit removes the
`--desktopWithGrpcApi` option that starts the gRPC server until such
time that it is production-ready.

This change also removes the `--desktopWithHttpApi` option for starting
an HTTP API server. The option has been in place for some time, but it
was 'false advertising' in the sense that nothing actually happened if
the user specified it, because there is in fact no HTTP API
implementation to be started.

Note that when the gRPC API option is reintroduced, it will be renamed
to `--rpcserver` or similar, following the convention in Bitcoin Core.
2020-01-10 19:48:26 +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
wiz
4e30402d78
Dark mode isn't beta anymore 🎉 2020-01-09 20:56:21 +09:00
Christoph Atteneder
ffb346794a
Remove dead code 2020-01-08 21:39:28 +01:00
Christoph Atteneder
ce1e954236
Remove dead code 2020-01-08 21:23:02 +01:00
Christoph Atteneder
eada8d6a3d
Update bitcoinj checkpoints file 2020-01-08 09:13:52 +01:00
Christoph Atteneder
744173ce61
Merge pull request #3875 from wiz/disable-z33nukt7ngik3cpe-btcnode
Temporarily disable z33nukt7ngik3cpe btcnode due to failing service c…
2020-01-08 09:08:55 +01:00
Christoph Atteneder
9523c04788
Merge pull request #3874 from wiz/tweak-wiz-btcnode-clearnet
Update clearnet hostnames / IPs for 2 btcnodes operated by @wiz
2020-01-08 09:08:35 +01:00
Christoph Atteneder
c960e6d3fc
Merge pull request #3873 from wiz/add-m52go-btcnode
Add new 4nnuyxm5k5tlyjq3.onion:8333 btcnode operated by @m52go
2020-01-08 09:08:13 +01:00
Christoph Atteneder
40a1527d6c
Update translations 2020-01-08 09:04:35 +01:00
Christoph Atteneder
653b59b798
Remove Greek from supported core languages 2020-01-08 09:04:17 +01:00
wiz
14d20aaf39
Temporarily disable z33nukt7ngik3cpe btcnode due to failing service checks 2020-01-08 08:56:04 +01:00
wiz
f4a560bcbe
Migrated onions for my 2 btcnodes to new servers, only clearnet changed 2020-01-08 08:55:50 +01:00
wiz
87b6f080a0
Add new 4nnuyxm5k5tlyjq3.onion:8333 btcnode operated by @m52go 2020-01-08 08:55:34 +01:00
wiz
248ae1c63b
Add bsq.bisq.cc BSQ explorer operated by @m52go 2020-01-08 08:55:12 +01:00
wiz
b67f901f18
Temporarily disable z33nukt7ngik3cpe btcnode due to failing service checks 2020-01-08 07:57:41 +09:00
wiz
be59df4ff7
Migrated onions for my 2 btcnodes to new servers, only clearnet changed 2020-01-08 07:31:34 +09:00
wiz
e75bc14037
Add new 4nnuyxm5k5tlyjq3.onion:8333 btcnode operated by @m52go 2020-01-08 07:12:18 +09:00
wiz
5c6c5f77e8
Add bsq.bisq.cc BSQ explorer operated by @m52go 2020-01-08 06:47:33 +09:00
Christoph Atteneder
166d38f1e9
Use general "(required minimum)" label with BTC value if min value is used 2020-01-07 19:53:36 +01:00
Christoph Atteneder
4377a10007
Show minimum security deposit in create offer dialog when used
In the past we allowed the user to enter a percentage of the trade amount
although it wasn't used if the minimum security deposit was higher.
2020-01-07 19:53:14 +01:00
Christoph Atteneder
9ec10cf0e9
Add information if minimum trading fee or minimum security deposit is used 2020-01-07 19:53:07 +01:00
Christoph Atteneder
fe06e5888f
Use trading fee in BSQ fee comparison 2020-01-07 19:52:53 +01:00
Christoph Atteneder
e7c16a6fe7
Use general "(required minimum)" label with BTC value if min value is used 2020-01-07 18:20:33 +01:00
Christoph Atteneder
d904d1ee6a
Show minimum security deposit in create offer dialog when used
In the past we allowed the user to enter a percentage of the trade amount
although it wasn't used if the minimum security deposit was higher.
2020-01-07 17:30:00 +01:00
Christoph Atteneder
e6f491c8ac
Add information if minimum trading fee or minimum security deposit is used 2020-01-07 16:32:24 +01:00
Christoph Atteneder
02ac14e234
Use trading fee in BSQ fee comparison 2020-01-07 16:28:56 +01:00
wiz
7b5128652a Add BSQ explorers into v1.2.5 release (#3864)
* Add bsq.ninja BSQ explorer operated by @wiz

* Add bsq.bisq.services BSQ explorer

* Add bsq.sqrrm.net BSQ explorer operated by @sqrrm

* Add bsq.vante.me BSQ explorer operated by @mrosseel

* Add bsq.emzy.de BSQ explorer operated by @emzy

Co-authored-by: Devin Bileck <603793+devinbileck@users.noreply.github.com>
2020-01-07 14:30:24 +01:00
wiz
a4a5415a57
Add bsq.emzy.de BSQ explorer operated by @emzy 2020-01-06 22:27:50 +09:00
wiz
0c160d08ff
Add bsq.vante.me BSQ explorer operated by @mrosseel 2020-01-06 20:34:56 +09:00
wiz
44152fdb57
Add bsq.sqrrm.net BSQ explorer operated by @sqrrm 2020-01-06 19:44:25 +09:00
Devin Bileck
a55c3b5bc2
Add bsq.bisq.services BSQ explorer 2020-01-06 00:22:53 -08:00
wiz
f4b16d2308
Add bsq.ninja BSQ explorer operated by @wiz 2020-01-06 06:33:47 +09:00
wiz
988f920051
Check existence of selected block explorer using name string comparison
After further testing, I realized I introduced a bug in commit
4f4b0f6ce9 because apparently the
ArrayList.contains() method does not properly work for
BlockChainExplorer object - to fix this I implemented a new
contains() method that uses string comparison instead
2020-01-03 20:13:17 +01:00
wiz
c0783205bb
Check existence of selected block explorer using name string comparison
After further testing, I realized I introduced a bug in commit
4f4b0f6ce9 because apparently the
ArrayList.contains() method does not properly work for
BlockChainExplorer object - to fix this I implemented a new
contains() method that uses string comparison instead
2020-01-04 03:52:11 +09:00
Christoph Atteneder
8e2bad462a
Show the correct sign state icon for accounts that are able to sign (30+ days)
This behavior was different during development time and wasn't updated properly in the UI.
2020-01-03 12:00:35 +01:00
sqrrm
ae2e06de23
Merge pull request #3827 from chimp1984/use-min-refund-at-mediated-payout
Use min. refund at mediated payout
2020-01-03 11:17:49 +01:00
Christoph Atteneder
2792a20afb
Upgrade mempool.space to full block explorer (#3843)
* Upgrade mempool.space to full block explorer functionality

* Add mempool.space Tor V2 block explorer

* If no valid Bitcoin block explorer is set, use the 1st block explorer
2020-01-03 11:12:43 +01:00
Christoph Atteneder
4e905e872e
Merge pull request #3812 from stejbac/fix-some-doc-comment-tags
Fix doc comment warnings in TradeWalletService & OfferUtil
2020-01-03 10:25:14 +01:00
wiz
4f4b0f6ce9
If no valid Bitcoin block explorer is set, use the 1st block explorer 2020-01-03 18:17:41 +09:00