Commit graph

3981 commits

Author SHA1 Message Date
wiz
814c786382
Update ops team bonded role titles to match current names
* Rename "Data relay node operator" to "Price node operator"
* Rename "Markets operator" to "Markets API operator"
* Rename "BTC node operator" to "Bitcoin node operator"
2020-03-17 21:42:12 +09:00
Christoph Atteneder
956331d9c4
Revert to previous local node information 2020-03-16 15:04:30 +01:00
Christoph Atteneder
2926b646ec
Revert to previous local node information
Co-Authored-By: sqrrm <sqrrm@users.noreply.github.com>
2020-03-16 15:04:22 +01:00
Dominykas Mostauskis
1d02aaf1a2
get rid of empty step in BisqSetup 2020-03-16 15:04:16 +01:00
Dominykas Mostauskis
af03629882
Revert to only check local BTC node's port
Testing showed that the new mechanic for checking a local BTC node's
configuration is unstable. This commit reverts to just checking if the
relevant port is open. The recent refactoring and centralization of
logic is still in place.
2020-03-16 15:04:08 +01:00
Christoph Atteneder
646f23ea69
Revert to previous local node information 2020-03-16 14:55:06 +01:00
Christoph Atteneder
253ec9cd8f
Revert to previous local node information
Co-Authored-By: sqrrm <sqrrm@users.noreply.github.com>
2020-03-16 14:54:41 +01:00
Dominykas Mostauskis
167be79269
get rid of empty step in BisqSetup 2020-03-16 12:07:16 +01:00
Dominykas Mostauskis
4d9d06e25b
Revert to only check local BTC node's port
Testing showed that the new mechanic for checking a local BTC node's
configuration is unstable. This commit reverts to just checking if the
relevant port is open. The recent refactoring and centralization of
logic is still in place.
2020-03-16 11:57:28 +01:00
sqrrm
a551eef7d4
Dump delayed txs of closed trades 2020-03-16 09:18:40 +01:00
sqrrm
bb32526210
Dump delayed txs of closed trades 2020-03-15 16:09:37 +01:00
Dominykas Mostauskis
7b60744b08
reformat exception handling 2020-03-14 11:24:59 +01:00
Dominykas Mostauskis
4d9a2bd5a9
put in future timeout in case bitcoinj hangs 2020-03-14 11:24:48 +01:00
Christoph Atteneder
d309fd6e42
Merge pull request #4058 from dmos62/localbitcoinnode-hanging
Give LocalBitcoinNode a timeout in case BitcoinJ hangs during handshake attempt
2020-03-14 11:24:32 +01:00
ghubstan
c0f9073698
Improve AvoidStandyModeService
This change substitutes use of memory efficient, OS supplied sleep/suspend
inhibitor utilties for the silent audio file player on Linux, merges
OSXStandbyModeDisabler functionality into AvoidStandyModeService, and
removes that class.

This change also stops Bisq from running the audio file on OSX;  it is
currently running both caffeinate and the silent audio file, and the avoid
standby mode button in the the OSX settings view is currently toggling
the audio player on and off, but not caffeinate.  (The only way to shut
down caffeinate is by shutting down Bisq.)

The OSX avoid standby mode button button has not been hidden so a cached
'do not avoid standby mode' preference does not leave the user stuck without
a caffeinate service the next time they start Bisq. (They can use it to
turn caffeinate on, but it can't be used to turn it off without shutting
down Bisq too.)

The avoid standy mode button is now displayed on Linux because the native
inhibitor can be toggled on and off.

There is no change to the avoid shutdown service on Windows and Unix.
2020-03-13 15:19:19 -03:00
Christoph Atteneder
c306781252
Remove redundant closing of connection
Fixes #4052, as the peer.close() already calls closeConnection if
a writeTarget is established successfully.
2020-03-13 17:46:53 +01:00
Dominykas Mostauskis
f5253c885f
reformat exception handling 2020-03-13 16:16:50 +01:00
Dominykas Mostauskis
ba229cf5d2
put in future timeout in case bitcoinj hangs 2020-03-13 15:04:46 +01:00
Christoph Atteneder
e7a22f48db
Remove redundant closing of connection
Fixes #4052, as the peer.close() already calls closeConnection if
a writeTarget is established successfully.
2020-03-12 17:52:27 +01:00
Steven Barclay
a829969089
Add holder name for new Faster Payments accounts
Use excludeFromJsonDataMap to add an optional owner full name property
to Faster Payments (GBP) accounts, without affecting the trade JSON
contract (for backwards compatibility). This is to fix #3976, that some
banks have started checking the recipient name.

Make the name a non-optional field for _new_ accounts, but display the
details for old Faster Payments accounts in exactly the same way as
before, only showing the extra field in the info popup, account and
trade step views when it is present.

Also update the now misleading payment instructions in the buyer popup.
TODO: Update translations (which probably aren't needed anyway).
2020-03-11 19:15:12 +08:00
sqrrm
94999670ec
Allow refresh at least every 4 hours 2020-03-11 09:00:47 +01:00
sqrrm
b5e3e0b1bc
Allow refresh at least every 4 hours 2020-03-10 18:21:25 +01:00
Christoph Atteneder
a183d3bb78
Update translations for v1.2.8 2020-03-10 18:12:56 +01:00
sqrrm
bad27f2a07
Log delayed payout tx bytes as soon as it's signed during trade init 2020-03-10 17:57:54 +01:00
Christoph Atteneder
6c8110aef8
Merge pull request #4040 from sqrrm/log-delayedtx-at-trade-init
Log delayed payout tx bytes as soon as it's signed during trade init
2020-03-10 16:40:52 +01:00
sqrrm
d2d52847dc
Log delayed payout tx bytes as soon as it's signed during trade init 2020-03-10 13:19:02 +01:00
Christoph Atteneder
d786375710
Update bitcoinJ checkpoints 2020-03-10 09:28:29 +01:00
Christoph Atteneder
6d457e4163
Merge pull request #4021 from freimair/update_offer_address_on_clean
Update offer address to new hidden service files
2020-03-10 09:01:30 +01:00
Steven Barclay
91fa07343c
Add UserThreadMappedPersistableEnvelope for greater explicitness
Make the default toPersistableMessage() method of PersistableEnvelope
simply delegate to Proto.toProtoMessage for speed, so that stores can
explicitly implement (Threaded|UserThreadMapped)PersistableEnvelope if
they actually need concurrency control.

As part of this, make PeerList implement PersistableEnvelope directly
instead of extending PersistableList, as it is non-critical & cloned on
the user thread prior to storage anyway, so doesn't need be thread-safe.
In this way, only PaymentAccountList & small DAO-related stores extend
PersistableList, so they can all be made user-thread-mapped.

After this change, the only concrete store classes not implementing
(Threaded|UserThreadMapped)PersistableEnvelope are:

  AccountAgeWitness, BlindVotePayload, ProposalPayload, SignedWitness,
  TradeStatistics2, NavigationPath & PeerList

The first five appear to erroneously implement PersistableEnvelope and
can be cleaned up in a separate commit. The last two are non-critical.

(Make NavigationPath.path an immutable list, for slightly better thread
safety anyway - that way it will never be observed half-constructed.)
2020-03-10 12:05:33 +08:00
Christoph Atteneder
698716d17a
Merge pull request #4029 from sqrrm/dump-failed-delayedtx
Dump failed delayedtx
2020-03-09 11:58:27 +01:00
wiz
622613ccbf
Update URL for mempool.ninja blockchain explorer 2020-03-08 02:32:45 +09:00
sqrrm
529f0a1d39
Merge pull request #4024 from dmos62/network-info-local-bitcoin-node-background-info
Changes to local BTC node reminder in Settings > Network info
2020-03-07 16:40:09 +01:00
Steven Barclay
cbb59c155b
Remove redundant @Nullable from account payload excludeFromJsonDataMap
Since this map is final and every PaymentAccountPayload constructor
initialises it to something nonnull, the @Nullable field annotation is
redundant, so remove it.

Further simplify the code by passing an empty map into the constructor
directly from each subclass constructor, rather than mapping empties to
nulls from each 'proto.getExcludeFromJsonDataMap()' result, then mapping
nulls back to empties in the base constructor. This is safe, since
getExcludeFromJsonDataMap() always returns a nonnull map.

Finally, tidy the code slightly by replacing 'Charset.forName("UTF-8")'
with StandardCharsets.UTF_8 in each PaymentAccountPayload subclass.
2020-03-07 20:08:50 +08:00
sqrrm
df54c121f6
Also dump failed trades delayed payout txs 2020-03-05 18:49:39 +01:00
sqrrm
40fb1ab49f
Move dump delaytx to separate class 2020-03-05 18:28:08 +01:00
sqrrm
879c3f2eb2
Merge pull request #4015 from freimair/remove-uid
Remove unused uid in fee provider service
2020-03-05 18:04:54 +01:00
Steven Barclay
6487f92d84
Make serialisation in FileManager::saveToFile thread-safe
Add toProtoMessageSynchronized() default method to PersistableEnvelope,
which performs (blocking) protobuf serialisation in the user thread,
regardless of the calling thread. This should prevent data races like
the ConcurrentModificationException observed in #3752, under the
reasonable assumption that shared persistable objects are only mutated
in the user thread.

Also add a ThreadedPersistableEnvelope sub-interface overriding the
default method above, to let objects which are expensive to serialise
(like DaoStateStore) be selectively serialised in the 'save-file-task-X'
thread as before, but directly synchronised with each mutating op. As
most objects are cheap to serialise, this avoids a noticeable perf drop
without having to track down every mutating method for each store.

In all cases but one, classes implementing ThreadedPersistableEnvelope
are stores like TradeStatistic2Store, with a single ConcurrentHashMap
field. These require no further serialisation, since the map entries are
immutable, so the only mutating operations are map.put(..) calls which
are already synchronised with map reads. (Even if map.values().stream()
sees updates @ different keys happen out-of-order, it should be benign.)

The remaining case is DaoStateStore, which is only ever reset or
modified via a single persist(..) call with a cloned DaoState instance
and hash chain from DaoStateSnapshotService, so there is no aliasing
risk from the various DAO state mutations done in DaoStateService and
elsewhere.

This should fix #3752.
2020-03-04 15:10:20 +08:00
Dominykas Mostauskis
2105b219c9
Changes to local BTC node info in Settings 2020-03-03 18:50:44 +01:00
Steven Barclay
18f75869a2
Make 'fromProto' static methods return most specific type
Minor change for consistency: narrow the signature of some remaining
such methods, which have return type 'PersistableEnvelope'.

(This excludes some other cases with return type 'NetworkEnvelope'.)
2020-03-04 00:54:48 +08:00
Christoph Atteneder
fa56b91f6d
Revert "Vote Reveal - Silent Fail" 2020-02-28 16:01:03 +01:00
Florian Reimair
ff0d473778
Added node address update 2020-02-28 11:21:20 +01:00
Florian Reimair
b8f0532dba
Move capabilities update 2020-02-28 11:21:20 +01:00
Florian Reimair
8abc52b257
Move protocol version update 2020-02-28 11:21:04 +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
Florian Reimair
edcc8338f2
Remove unused uid in fee provider service
Bisq frequently (once per minute) queries our price nodes for up-to-date
fee information. It does so by HTTP GET request. However, it provided
a UID via the "User-Agent" HTTP header field. This UID has been a random
number which changed everytime Bisq gets started up.

This UID has never been used. Thus, remove it.
2020-02-27 11:38:10 +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