Commit graph

3646 commits

Author SHA1 Message Date
Steven Barclay
b22e4ad113
Encapsulate mutable Block tx list and DaoState tx cache
Avoid mutating the Block tx list or the DaoState tx cache/index via a
Lombok getter. Instead wrap each in an unmodifiable[List|Map] & provide
specific mutator methods for use by DaoStateService to add newly parsed
transactions or load a DAO snapshot.

Also rename txMap to txCache, replace remaining use of getTxStream() in
the JSON file exporter with getUnorderedTxStream() (as this is safe) and
swap the arguments of the txCache initialisation merge function, for
exact consistency with the pre-caching behaviour.

Finally, add a missing assertDaoStateChange() and remove a potentially
harmful assertion from DaoStateService.onNewTxForLastBlock.

This is based on a suggested patch by @chimp1984 in the PR #3773 review.
2019-12-12 03:08:56 +00:00
Steven Barclay
4277cf83ca
Use unordered Tx stream from daoState.txMap wherever possible
Add getUnorderedTxStream() method to DaoStateService to stream directly
from the txMap cache/index wherever it is obviously safe to do so,
instead of iterating through the entire block list via getTxStream().

Also make getTxs() return a view of the txMap values in place of a copy.

This should improve efficiency slightly.
2019-12-11 12:44:34 +00:00
Steven Barclay
0fa21b5f1a
Add transient tx map to DaoState to speed up getTx queries
Build a HashMap of all BSQ transactions found, when loading the DaoState
from disc, and store it in a transient field which is always kept in
sync with the associated list of blocks. (The latter is only modified in
a couple of places in DaoStateService, making this straightforward.)

This is to speed up daoStateService.getTx(id), which is called from many
places and appears to be a significant bottleneck. In particular, the
initial load of the results in VoteResultView.doFillCycleList was very
slow (taking nearly a minute on a Core i3 machine) and likely to suffer
a quadratic slowdown (#cycles * #tx's) over time.
2019-12-11 11:26:08 +00:00
Christoph Atteneder
3fe84975ad
Merge pull request #3747 from julianknutsen/clean-up-pse-objs
(6/6) Clean up technical debt in P2PDataStorage and ProtectedStorageEntry objects
2019-12-09 20:34:26 +01:00
Florian Reimair
30f96643b2
Merge pull request #3771 from ripcurlx/fix-dark-mode-switch-plus-cleanup
Fixes dark mode switch after restart
2019-12-09 17:43:39 +01:00
Christoph Atteneder
b2c006d4a3
Update css theme property when read from data store 2019-12-09 15:44:52 +01:00
Christoph Atteneder
f398117147
Remove unnecessary indirection for setting custom withdrawal fees 2019-12-09 15:35:15 +01:00
Christoph Atteneder
af46a7f697
Merge pull request #3760 from wiz/ef5qnzx6znifo3df-transfer
Transfer seednode ef5qnzx6znifo3df.onion to @wiz and @emzy
2019-12-09 12:21:45 +01:00
sqrrm
b2ea064b93
Merge pull request #3745 from dmos62/master
Rename "Spread" tab to a more general "Details"
2019-12-07 14:44:01 +01:00
chimp1984
734b1f08f7
Change "click" to "press" 2019-12-06 23:35:05 -05:00
wiz
a34610ed98
Transfer seednode ef5qnzx6znifo3df.onion to @wiz and @emzy 2019-12-07 02:19:13 +09:00
sqrrm
2e196ec722
Merge pull request #3743 from ripcurlx/fix-refundagents-supported-language-warning
Display warning based on supported languages by mediators and refund agents
2019-12-06 15:34:32 +01:00
Christoph Atteneder
44b4f429da
Merge branch 'master' of github.com:bisq-network/bisq into release/v1.2.4
# Conflicts:
#	core/src/main/resources/i18n/displayStrings_zh-hant.properties
2019-12-06 11:30:10 +01:00
Dominykas Mostauskis
7e5422f0ef
Rename "Spread" tab to a more general "Details"
Because spread is one of many columns in the table, calling the whole tab spread is not general enough.
2019-12-05 13:27:35 +01:00
Christoph Atteneder
acd4350762
Update data stores, translations and bitcoinj checkpoints (#3748)
* Update bitcoinj checkpoint file

* Update translations

* Update data stores
2019-12-04 22:26:42 +01:00
Christoph Atteneder
87670c1e5e
Display warning based on supported languages by mediators and refund agents 2019-12-04 12:32:25 +01:00
Julian Knutsen
bfdb8f5715
Make isDataOwner a private policy decision in BroadcastHandler
isDataOwner is used when deciding how many peer nodes should receive
a BroadcastMessage. If the BroadcastMessage originated
on the local node it is sent to ALL peer nodes with a small delay.

If the node is only relaying the message (it originated on a different
node) it is sent to MAX(peers.size(), 7) peers with a delay that is
twice as long.

All the information needed to determine whether or not the
BroadcastMessage originated on the local node is available at the final
broadcast site and there is no reason to have callers pass it in.

In the event that the sender address is not known during broadcast (which
is only a remote possibility due to how early the local node address
is set during startup) we can default to relay mode.

This first patch just removes the deep parameters. The next will remove
everything else. There is one real change in LiteNodeNetworkService.java
where it was using the local node when it should have been using the
peer node. This was updated to the correct behavior.
2019-12-03 12:33:29 -08:00
Julian Knutsen
9f69134568
[REFACTOR] Clean up ClientAPI for refreshTTL
Remove isDataOwner from the client API. All users pass in true. All test
users don't care.
2019-12-03 12:30:07 -08:00
Julian Knutsen
77413c9671
[REFACTOR] Clean up ClientAPI for remove
Remove isDataOwner from the client API. All users pass in true. All test
users don't care.
2019-12-03 12:30:06 -08:00
Julian Knutsen
0e6b1a2044
[REFACTOR] Clean up ClientAPI for addProtectedStorageEntry
Remove isDataOwner from the client API. All users pass in true. All test
users don't care.
2019-12-03 12:30:06 -08:00
Julian Knutsen
ecae31eddb
[RENAME] LazyProcessedPayload to ProcessOncePersistableNetworkPayload
Name is left over from previous implementation. Change it to be more
relevant to the current code and update comments to indicate the
current usage.
2019-12-03 12:20:41 -08:00
wiz
f0cbddc545
Add Chinese Traditional file to update_translations.sh script 2019-12-03 12:01:02 +01:00
wiz
2d188000c2
Add zh-hant translations (Chinese Traditional) 2019-12-03 12:00:54 +01:00
wiz
ba492b88e6
Adjust update_translations.sh language tags for script/regional variants 2019-12-03 11:50:55 +01:00
wiz
0bf75aeb42
Fix language tags so script and regional variants work correctly 2019-12-03 11:50:45 +01:00
wiz
4dab4fc25e
Add Chinese Traditional file to update_translations.sh script 2019-12-03 19:49:47 +09:00
wiz
62fde1e7ab
Add zh-hant translations (Chinese Traditional) 2019-12-03 19:49:44 +09:00
Christoph Atteneder
5a0db50d3c
Update strings to reflect bisq is exchange network (#3681)
* Update strings to reflect bisq is exchange network

Motivated by changes done to the website, as described in
https://github.com/bisq-network/bisq-website/pull/280

* Use lowercase 'bitcoin'

Based on feedback mentioned in this comment:
https://github.com/bisq-network/bisq-website/pull/280#discussion_r351491215
2019-12-03 11:43:47 +01:00
Christoph Atteneder
d8e19c4e8c
Use correct language tags for script and regional language variants (#3716)
* Fix language tags so script and regional variants work correctly

* Adjust update_translations.sh language tags for script/regional variants

ACKs for top commit:
  @ripcurlx:
    ACK 089232716d
2019-12-03 11:37:32 +01:00
chimp1984
c2e8806d16
Add handling of mediationResultState to isFundsLockedIn
Fixes https://github.com/bisq-network/bisq/issues/3721
(part of the problem was that the trade ended up in failed trade)

Refactor method and add comments.
We did not handle the case of a mediated payout. isPayoutPublished() is
only reflecting non-disputed trade payouts.
2019-12-02 11:58:12 +01:00
chimp1984
04c02589aa
Refactoring: Replace isGreaterThan(Coin.ZERO) with isPositive() 2019-12-02 11:57:25 +01:00
chimp1984
fdc582a60e
Do not add an output if value is 0 BTC
Fixes https://github.com/bisq-network/bisq/issues/3721 and
https://github.com/bisq-network/bisq/issues/3722

There are still more issues as such a payout tx will cause that the
trade ends up in failed trades. This commit only fixes the invalid
tx issue.
2019-12-02 11:57:12 +01:00
Christoph Atteneder
51982fdcd6
Merge pull request #3726 from chimp1984/do-not-move-mediated-trades-to-failed-trades
Add handling of mediationResultState to isFundsLockedIn
2019-12-02 11:12:21 +01:00
chimp1984
9ac64e5e3e
Add handling of mediationResultState to isFundsLockedIn
Fixes https://github.com/bisq-network/bisq/issues/3721
(part of the problem was that the trade ended up in failed trade)

Refactor method and add comments.
We did not handle the case of a mediated payout. isPayoutPublished() is
only reflecting non-disputed trade payouts.
2019-12-01 19:23:45 -05:00
chimp1984
c126f0ec09
Refactoring: Replace isGreaterThan(Coin.ZERO) with isPositive() 2019-12-01 18:34:58 -05:00
chimp1984
bfa123bf6c
Do not add an output if value is 0 BTC
Fixes https://github.com/bisq-network/bisq/issues/3721 and
https://github.com/bisq-network/bisq/issues/3722

There are still more issues as such a payout tx will cause that the
trade ends up in failed trades. This commit only fixes the invalid
tx issue.
2019-12-01 18:34:13 -05:00
wiz
089232716d
Adjust update_translations.sh language tags for script/regional variants 2019-11-29 11:34:22 +09:00
wiz
9d25041746
Fix language tags so script and regional variants work correctly 2019-11-29 11:29:21 +09:00
Devin Bileck
e443b8fade
Use lowercase 'bitcoin'
Based on feedback mentioned in this comment:
https://github.com/bisq-network/bisq-website/pull/280#discussion_r351491215
2019-11-27 22:36:53 -08:00
Steve Jain
548a217751
Replace arbitration link in tac
With link to v1.2 dispute resolution documentation.
2019-11-27 10:30:39 +01:00
chimp1984
88cbecd8ed
Use 2of2 multisig deposit tx version for manual payout
With v1.2 we use 2of2 multisig for deposit tx. This commit changes the
manual payout window to reflect that.

- Remove unused code from legacy arbitration
- Fix comments
2019-11-27 10:30:25 +01:00
Christoph Atteneder
e00ae654d4
Merge pull request #3696 from m52go/fix-ua-arblink
Replace arbitration link in tac
2019-11-27 09:11:15 +01:00
Christoph Atteneder
c131a890f2
Update translations 2019-11-27 08:54:35 +01:00
Christoph Atteneder
cf3a13e08a
Update bitcoinj checkpoints file 2019-11-27 08:51:49 +01:00
Steve Jain
4c27da7644
Replace arbitration link in tac
With link to v1.2 dispute resolution documentation.
2019-11-26 23:33:25 -05:00
chimp1984
a67b960df9
Update comment 2019-11-26 15:47:21 -05:00
chimp1984
477f9de23a
Use 2of2 multisig deposit tx version for manual payout
With v1.2 we use 2of2 multisig for deposit tx. This commit changes the
manual payout window to reflect that.

- Remove unused code from legacy arbitration
- Fix comments
2019-11-26 13:33:30 -05:00
chimp1984
91b76d4231
Add list of shortcuts 2019-11-26 12:51:57 -05:00
Christoph Atteneder
06f0d6b191
Reputation BSQ added to BSQ Wallet screen (#3366)
* BSQ Merit now displayed - fixes issue #3352

* Broke merit text setting to 2 lines.

* Fix formatting
2019-11-26 15:50:35 +01:00
Christoph Atteneder
a7b9cfdec7
Merge pull request #3676 from chimp1984/dont-show-rejected-bonded-roles
Only show accepted bonded roles in bond view.
2019-11-26 14:43:54 +01:00