Commit Graph

10709 Commits

Author SHA1 Message Date
Christoph Atteneder
fa56b91f6d
Revert "Vote Reveal - Silent Fail" 2020-02-28 16:01:03 +01:00
sqrrm
1d1cba1e4d
Merge pull request #3982 from dmos62/local-btc-node-configuration-check
Add local Bitcoin node configuration detection
2020-02-27 15:29:49 +01:00
Dominykas Mostauskis
85e4515f53
Remove reference to removed constant 2020-02-27 12:14:32 +01:00
sqrrm
ad3da4b701
Merge pull request #4009 from ripcurlx/fix-snapshot-version-for-rpm-builds
Handle SNAPSHOT versioning differently for rpm packages
2020-02-27 10:53:57 +01:00
Chris Beams
57b7041dfe
Remove unnecessary LOCAL_BITCOIN_NODE_PORT constant
This was originally added with the intention that the local Bitcoin node
port could be customized, but in fact it never could be, because Guice
configuration always hard-wired the value to the default port for the
CurrentBaseNetwork's Parameters (eg. 8333 for BTC_MAINNET).

This change removes the constant, removes any Guice wiring and injection
and localizes the hard-coded assignment to the LocalBitcoinNode
constructor to simplify and make things explicit.

If it is desired to allow users to specify a custom port for their local
Bitcoin node, a proper option shoud be added to Config. In the meantime,
users may work around this by using `--btcNodes=localhost:4242` where
4242 is the custom port. Note however, that the pruning and bloom filter
checks will not occur in this case as the provided node address will not
being treated as a LocalBitcoinNode.
2020-02-27 09:53:40 +01:00
Chris Beams
c1a99ccc55
Polish LocalBitcoinNode method names and visibility
- Rename #willUse => #shouldBeUsed
 - Rename #willIgnore => #shouldBeIgnored
 - Reduce visibility of methods where appropriate
 - Edit Javadoc typos and use @link syntax where appropriate
2020-02-27 09:35:36 +01:00
Chris Beams
b93ca2b2b1
Polish formatting 2020-02-26 21:24:38 +01:00
Dominykas Mostauskis
fdaced460f
Changes to Background information popup 2020-02-26 17:20:55 +01:00
Dominykas Mostauskis
30578bfa9d
Have detection work on other network modes
This makes detection work on other BTC network modes, not only mainnet.
2020-02-26 17:09:01 +01:00
Christoph Atteneder
dbecc0a2f1
Merge pull request #4010 from Emzy/patch-2
Moved one btc node to new host
2020-02-26 16:31:20 +01:00
Dominykas Mostauskis
a92b6ad9dc
Minor requested changes (non-github batch) 2020-02-26 14:34:08 +01:00
dmos62
6dec780ab4
Minor requested changes (github batch)
Co-Authored-By: Christoph Atteneder <christoph.atteneder@gmail.com>
2020-02-26 14:21:03 +01:00
Stephan Oeste
d5bb9c4425
Moved one btc node to new host
Moved node2.emzy.de to a new host.
IP address updated.
2020-02-26 13:26:45 +01:00
Christoph Atteneder
a6d874c3c1
Merge pull request #3758 from bisq-3408/master
Vote Reveal - Silent Fail
2020-02-26 12:53:03 +01:00
wiz
21101f460c
Add pricenode one-command installer script, systemd service, README (#3997)
* Add pricenode one-command installer script, systemd service, README

* Update pricenode/bisq-pricenode.service

Co-Authored-By: Florian Reimair <office@florianreimair.at>

* Update pricenode/install_pricenode_debian.sh

Co-Authored-By: Florian Reimair <office@florianreimair.at>

Co-authored-by: Florian Reimair <office@florianreimair.at>
2020-02-26 12:16:26 +01:00
sqrrm
c3bff5fadf
Merge pull request #4007 from ripcurlx/support-ars-in-moneygram
Add ARS as supported currency for MoneyGram
2020-02-26 11:55:11 +01:00
Christoph Atteneder
bf592f363b
Merge pull request #4008 from beingindot/tableview-checkbox-issue
Tableview multiple rows checkbox column issue
2020-02-26 10:11:03 +01:00
Christoph Atteneder
3b1a1f289b
Handle SNAPSHOT versioning different for rpm packages
Fixes #4006.
2020-02-26 09:49:06 +01:00
Dominykas Mostauskis
2a57ecddfc
Fix failing test 2020-02-25 16:22:51 +01:00
Dominykas Mostauskis
6b4878ada8
Centralize some of local BTC node logic
Introduces LocalBitcoinNode::willUse and ::willIgnore to move logic that
was previously littered throughout the codebase into one place. Also,
changes the usages of LocalBitcoinNode to be more precise, specifying
which of these questions are being asked:

- "is there a local BTC node" (isDetected);
- "is it well configured" (isWellConfigured and isUsable);
- "will we ignore a local BTC node even if we found a usable one"
  (willIgnore);
- "is there a usable local BTC node and will we use it" (willUse).

These changes make related logic much easier to maintain and to read.
2020-02-25 15:56:02 +01:00
Dominykas Mostauskis
aceb608e3a
Reorder methods 2020-02-25 14:18:36 +01:00
Dominykas Mostauskis
0bbbe8c1e9
Perform checks automatically on first query
It's quite amazing how obvious this was, yet I missed it for such a long
time. Simplifies usage of LocalBitcoinNode and its internals even more
so. Fixes #4005. The way we structured LocalBitcoinNode was as if the
detection checks were expensive, but they're not. Previously, in some
cases we would notice that a local BTC node wouldn't be used even if it
was detected, so we would skip these checks. This optimization now
doesn't happen. It might be reimplemented in a coming change where more
local BTC node logic is moved into LocalBitcoinNode, but, even if it's
not, this check is fairly cheap. A notable exception is if the local BTC
node is not responding, which would cause us to wait for a timeout, but
if that is the case the mentioned optimization wouldn't help (most of
the time).
2020-02-25 14:04:34 +01:00
Christoph Atteneder
db0c76ef69
Merge pull request #4002 from cbeams/debug-appdir-creation
Avoid startup failure when appDataDir is a symbolic link
2020-02-25 13:20:51 +01:00
beingindot
48877517d6
Tableview multiple rows checkbox column issue
As mentioned in the issue #3984, Have created lot of buy/sell offers
with different currencies spanning across around 30+ offers
so that we need to use scroll bar in my open offers and able to
recreate the issue.
2020-02-25 16:23:42 +05:30
Chris Beams
cbe6f192e0
Do not attempt to create already existing appDataDir
This change fixes #3998 by avoiding the attempt to create a user's
appDataDir if it already exists. Normally this attempt is not a problem,
as Files#createDirectories does nothing if the target is a directory
that already exists, but in the case that the target is a symbolic link,
Files#createDirectories throws a FileAlreadyExistsException. This change
prevents the call to Files#createDirectories if the target already
exists, and if in fact the target is a symbolic link pointing to an
existing directory, this is not a problem and everything proceeds as per
usual. This mimics the behavior in Bisq v1.2.5 and prior, where
File#mkdirs was used instead of Files#createDirectories. File#mkdirs
does not throw an exception when the target directory is a symlink, it
just returns false.
2020-02-25 11:47:40 +01:00
Chris Beams
303eadec39
Refactor Config#mkdir and #mkAppDataDir
This is a pure refactoring that renames and inlines variables to tighten
up and make more consistent the implementation of these two methods. It
is done in preparation for a subsequent substantive change that fixes a
bug.
2020-02-25 11:22:11 +01:00
Christoph Atteneder
6537e13371
Add ARS as supported currency for MoneyGram
Fixes #4000.
2020-02-25 10:07:46 +01:00
Chris Beams
de537f0b14
Throw UncheckedIOException on directory creation errors
Previously, Config#mkdir and #mkAppDir threw ConfigException if any
underlying IOException was thrown from Files#createDirectory or
Files#createDirectories respectively. This resulted in only a simple
error message being reported at the command line and the details of the
underlying exception's stack trace were lost. This change wraps and
rethrows the underlying IOException as an UncheckedIOException such that
it gets caught by the catch(Throwable) clause in BisqExecutable, which
does print a stacktrace to stderr. This is the way it always should have
worked; throwing ConfigException in these cases was an oversight in the
original implementation. This change also removes the ConfigException
constructor that allows for passing a nested exception to be wrapped as
there is actually no use case for this now that these two anomalies have
been corrected.

This change was made in the process of attempting to reproduce #3998.
2020-02-24 13:17:06 +01:00
Dominykas Mostauskis
7848836adc
Formating changes 2020-02-22 01:30:09 +02:00
Dominykas Mostauskis
08cd31b242
Silence NioClient and NioClientManager loggers 2020-02-21 23:53:02 +02:00
Dominykas Mostauskis
65177fcc4c
Fix unchecked usage of LocalBitcoinNode.isUsable() 2020-02-21 23:52:36 +02:00
Christoph Atteneder
adafd404d5
Merge pull request #3973 from milesap/3972-tradefee
Display 2 decimal places for fiat trading fees
2020-02-21 14:01:22 +01:00
Christoph Atteneder
149e67675f
Merge pull request #3996 from ripcurlx/add-critical-bug-process
Reference critical bug process contributing guide
2020-02-21 13:48:31 +01:00
Christoph Atteneder
12b5a4e619
Reference critical bugs process 2020-02-21 12:17:09 +01:00
Christoph Atteneder
047ecdcb72
Update communication channel for development work 2020-02-21 12:16:42 +01:00
Florian Reimair
794302678d
Monitoring install scripts (#3985)
* Install script for collectd

* Install script for network size metric

* Apply suggestions from code review

Co-Authored-By: wiz <j@wiz.biz>

* Update monitor/install_collectd_debian.sh

Co-Authored-By: wiz <j@wiz.biz>

* Apply suggestions from code review

Co-Authored-By: wiz <j@wiz.biz>

Co-authored-by: wiz <j@wiz.biz>
2020-02-20 16:48:56 +01:00
Miles Petrov
372e78cec8
Display 2 decimal places for fiat trading fees 2020-02-20 10:45:33 -05:00
dmos62
e6dea3d3ed
Improve marking that method is empty
Co-Authored-By: sqrrm <sqrrm@users.noreply.github.com>
2020-02-18 17:30:02 +02:00
sqrrm
a0d4b439b0
Merge pull request #3986 from ripcurlx/exclude-priority-issues-from-stale-bot
Protect priority issues from stale bot
2020-02-18 15:08:47 +01:00
Christoph Atteneder
db0f6aaab6
Protect priority issues from stale bot 2020-02-18 12:35:53 +01:00
Dominykas Mostauskis
daa1b0b20b
Minor changes to satisfy Codacy or clarify why it fails 2020-02-18 13:02:39 +02:00
Dominykas Mostauskis
74c946a28b
Remove defunct test suite
The workings of LocalBitcoinNode significantly changed, especially how
detection works. Before, we were only checking if a port was open, but
now we're actually performing a Bitcoin protocol handshake, which is
difficult to stub. For these reasons the old tests are irrelevant and
replacement tests were not written.
2020-02-18 12:31:15 +02:00
dmos62
18478d9b0d
Downgrade Optional usage to Java 10
I was erroniously targeting Java 11, when Travis requires Java 10. `Optional.isEmpty` shows up only in Java 11.
2020-02-18 12:21:17 +02:00
Christoph Atteneder
e7b60d2389
Merge pull request #3980 from sqrrm/fix-refresh-interval
Allow 4 refreshes per trade
2020-02-18 10:45:51 +01:00
Dominykas Mostauskis
f895da416f
Add local Bitcoin node configuration detection
Refactors LocalBitcoinNode and adds detection for local Bitcoin node's
configuration, namely, whether it is pruning and whether it has bloom
filter queries enabled.

The local node's configuration (and its presence) is retrieved by
performing a Bitcoin protocol handshake, which includes the local
Bitcoin node sending us its version message (VersionMessage in
BitcoinJ), which contains the information we're interested in.

Due to some quirky BitcoinJ logic, sometimes the handshake is
interrupted, even though we have received the local node's version
message. That contributes to the handshake handling in LocalBitcoinNode
being a bit complicated.

Refactoring consists of two principle changes: the public interface is
split into methods that trigger checks and methods that retrieve the
cached results. The methods that trigger checks have names starting
with "check", and methods that retrieve the cached results have names
that start with "is".

The other major refactor is the use of Optional<Boolean> instead of
boolean for storing and returning the results, an empty Optional
signifying that the relevant check was not yet performed. Switching to
Optionals has caused other code that queries LocalBitcoinNode to throw
an exception in case the query is made before the checks are. Before,
the results were instantiated to "false" and that would be returned
in case the query was made before the checks completed. This change has
revealed one occasion (Preferences class) where this happens.
2020-02-18 00:34:58 +02:00
sqrrm
54918c0ce3
Merge pull request #3979 from ripcurlx/use-boring-cyborg-app
Replace GitHub Actions with Boring Cyborg
2020-02-17 19:45:45 +01:00
sqrrm
c411f48d43
Merge pull request #3978 from ripcurlx/accept-empty-option-values
Accept empty config values
2020-02-17 19:22:08 +01:00
sqrrm
a3f4f7cfab
Merge pull request #3974 from ripcurlx/exclude-feature-issues-of-becoming-stale
Exclude issues labeled `a:feature` of becoming stale
2020-02-17 18:02:50 +01:00
sqrrm
0cf7169587
Allow 4 refreshes per trade 2020-02-17 17:50:19 +01:00
Christoph Atteneder
a9462fca1a
Add Boring Cyborg app to replace GitHub actions
GitHub Actions were removed as PR commenting
doesn't work properly as expected
2020-02-17 14:31:16 +01:00