Commit graph

10954 commits

Author SHA1 Message Date
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
Christoph Atteneder
91ce44ad96
Merge pull request #4102 from stejbac/tidy-persistable-envelope-inheritance
Tidy PersistableEnvelope inheritance
2020-04-28 16:22:41 +02:00
Christoph Atteneder
18476e48b2
Merge pull request #4197 from freimair/pricenode_logs
Reduce log output for price nodes
2020-04-27 14:49:13 +02:00
Christoph Atteneder
d35ab9f9fa
Merge pull request #4192 from devinbileck/add-btc-node-qxjrxmhyqp5vy5hj
Add BTC node qxjrxmhyqp5vy5hj.onion
2020-04-27 14:44:10 +02:00
Florian Reimair
1b2c6c90c0
Reduce log output for price nodes
In case a price feed has an error, a stacktrace dumped in the logs
for each incoming getAllMarketPrice request. In detail, there is one
line of log stating that there is a getAllMarketPrice request, one
line of log stating that there is an error and around 150 lines of
stracktrace.
This fills up the logs quite fast, around 7.5G per day which is
unnecessary.
This commit only outputs the stacktrace in debug log configuration.
2020-04-27 09:56:21 +02:00
Devin Bileck
98c9664121
Add BTC node qxjrxmhyqp5vy5hj.onion
This is a newly deployed instance intended on replacing one of emzy's
nodes in an attempt to reduce the number of nodes under the control of a
single contributor.
2020-04-23 11:18:07 -07:00
Christoph Atteneder
590f16d945
Merge pull request #4174 from devinbileck/update-btc-node
Update hostname and IP address of BTC node lva54pnbq2nsmjyr.onion
2020-04-20 11:34:50 +02:00
Christoph Atteneder
4fd8be6b68
Merge pull request #4177 from jmacxx/fix_issue_3709
Display the BSQ amount correctly in issuance log message
2020-04-17 16:45:48 +02:00
jmacxx
f49445ef56
Display the BSQ amount correctly in issuance log message
Fixes #3709.  The issuance log message displayed the issued BSQ
with 2 extra zeros (i.e. sats value).  This was because BSQ is
represented internally within the application as sats, so it has to
be converted by `MathUtils.scaleDownByPowerOf10(amount, 2)`
whenever displayed to the user.
2020-04-16 21:04:21 -05:00
sqrrm
2db90cf132
Merge pull request #4175 from bisq-network/release/v1.3.2
Release/v1.3.2
2020-04-16 16:41:37 +02:00
Christoph Atteneder
1105a78d51
Revert to SNAPSHOT version 2020-04-16 14:25:59 +02:00
Devin Bileck
0d6f7c3d2e
Update hostname and IP address of BTC node lva54pnbq2nsmjyr.onion
I deployed a new instance and as a result have a new IP address. Also,
while I was at it I added it to my bisq.services domain.
2020-04-15 15:47:05 -07:00
Christoph Atteneder
dc692f5749
Merge pull request #4173 from sqrrm/add-donation-address
Add second donation address as valid
2020-04-15 22:01:03 +02:00
sqrrm
26f30b6ec4
Add second donation address as valid 2020-04-15 21:30:50 +02:00
Christoph Atteneder
cfc4705058
Update translations for v1.3.2 2020-04-14 18:08:27 +02:00
Christoph Atteneder
9ce26e6dd4
Update data stores for v1.3.2 2020-04-14 18:06:30 +02:00
sqrrm
0a8b74bec8
Merge pull request #4169 from ripcurlx/update-data-stores-v1.3.2
Update data stores for v1.3.2
2020-04-14 18:01:46 +02:00
Christoph Atteneder
8b75637aed
Update data stores for v1.3.2 2020-04-14 17:38:03 +02:00
ghubstan
be09682435
Replace mock arg with SEPA PaymentMethod instance
Test AccountAgeWitnessServiceTest > testArbitratorSignWitness failed
in full gradle build, but passed when run as a single test:

	./gradlew :core:cleanTest :core:test \
		--tests "bisq.core.account.witness.AccountAgeWitnessServiceTest"

This test also passed when run in the IDE.

Solved by not passing a mocked PaymentMethod.SEPA argument into the
test's service.getTraderPaymentAccounts() method, where mock paymentId
field was null when running full build's test suites.

Fix for #4158
2020-04-13 11:46:35 +02:00
Christoph Atteneder
e4ae28e052
Merge pull request #4161 from ghubstan/fix-4158
Replace mock arg with SEPA PaymentMethod instance
2020-04-13 11:46:01 +02:00
sqrrm
1a1f71a0a7
Change command line argument default 2020-04-13 11:38:30 +02:00
sqrrm
6fc087c72c
Add option to allow faulty delay payout tx
Add more logging during unfail process
2020-04-13 11:38:15 +02:00
sqrrm
016a552836
Allow completion of trades with amount mismatch delayed tx 2020-04-13 11:38:08 +02:00
sqrrm
efee2e43c4
Init unfailed trade when moved to pending trades 2020-04-13 11:38:00 +02:00
sqrrm
e739f9465f
Don't unfail if deposit or delayedpayout txs are missing 2020-04-13 11:37:54 +02:00
sqrrm
c889fbdb8d
Reattach addresses when unfailing trade 2020-04-13 11:37:46 +02:00
sqrrm
77835b95b0
Add shortcut to move failed trade to pending trades 2020-04-13 11:32:54 +02:00
Christoph Atteneder
2a040f4687
Merge pull request #4157 from sqrrm/unfail-with-reattach
Unfail with reattach
2020-04-13 11:32:24 +02:00
sqrrm
2bd00c8c01
Change command line argument default 2020-04-12 16:17:23 +02:00
sqrrm
790db8c731
Add option to allow faulty delay payout tx
Add more logging during unfail process
2020-04-12 16:12:43 +02:00
sqrrm
be3158427e
Allow completion of trades with amount mismatch delayed tx 2020-04-12 13:03:09 +02:00
ghubstan
fc458e7a7d
Replace mock arg with SEPA PaymentMethod instance
Test AccountAgeWitnessServiceTest > testArbitratorSignWitness failed
in full gradle build, but passed when run as a single test:

	./gradlew :core:cleanTest :core:test \
		--tests "bisq.core.account.witness.AccountAgeWitnessServiceTest"

This test also passed when run in the IDE.

Solved by not passing a mocked PaymentMethod.SEPA argument into the
test's service.getTraderPaymentAccounts() method, where mock paymentId
field was null when running full build's test suites.

Fix for #4158
2020-04-11 14:02:22 -03:00
sqrrm
f6b7762d26
Init unfailed trade when moved to pending trades 2020-04-11 18:02:18 +02:00
Christoph Atteneder
782921ec55
Bump version number for v1.3.2 2020-04-10 20:02:39 +02:00
Christoph Atteneder
edc4df1826
Merge pull request #4099 from jmacxx/fix_getsupport_traderchat
Replace the Get Support button with Open Trader Chat until trade period is over
2020-04-10 19:53:38 +02:00
sqrrm
486f254773
Don't unfail if deposit or delayedpayout txs are missing 2020-04-10 16:42:02 +02:00
sqrrm
817819dc51
Reattach addresses when unfailing trade 2020-04-10 16:42:02 +02:00
sqrrm
bd8e30c708
Add shortcut to move failed trade to pending trades 2020-04-10 16:42:02 +02:00
Christoph Atteneder
34734c6fe4
Merge pull request #4122 from stejbac/make-UserThread-runAfter-thread-safe
Make UserThread::run* methods thread safe
2020-04-10 15:55:03 +02:00
sqrrm
062dc6ef76
Merge pull request #4053 from freimair/too-long-mempool-chain
Limit number of unconfirmed offers
2020-04-10 15:23:29 +02:00
sqrrm
09141eba92
Add signed witness filter (#4124)
* Add signed witness filter

- Add a filter to pubkeys used in AccountAgeWitness signing
- Fix inverted arbitrator signing of initial account age witnesses from
disputes
- Add test to verify that signed witness filter works
- Add test to verify that the arbitrator signing was fixed

* Fix codacy complaints

* Prevent NullPointerException during toggle group initialization

* Add scrollbar to filter window

* Format test class

Co-authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
2020-04-10 15:14:01 +02:00
Christoph Atteneder
aeda234ef1
Merge pull request #4154 from freimair/prevent_misuse_of_dev_cmdline_option
Limit abuse of `--useLocalhostForP2P` option
2020-04-10 12:08:32 +02:00
Florian Reimair
609b8b066d
Limit abuse of useLocalhostForP2P option
Until now, the --useLocalhostForP2P option could be used even for
BTC_MAINNET. That is bad and caused mediation cases.
2020-04-09 18:05:51 +02:00
sqrrm
e4d975ebf4
Merge pull request #4147 from bisq-network/release/v1.3.1
Release/v1.3.1
2020-04-09 11:15:21 +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
chimp1984
79e4572f64
Fix issues when buyer has dao deactivated 2020-04-08 21:52:30 +02:00
chimp1984
b145616038
Allow daoActivated to be set to false for non mainnet networks 2020-04-08 21:52:18 +02:00
chimp1984
495b9b58b3
Fix inverted check, add more error logs 2020-04-08 21:52:07 +02:00
chimp1984
005a87b553
Fix issue with tx connected output being null
The moment we are validating the tx is not committed and therefore the
connected tx output is not wired up and thus null.

Refactor and consolidate the validation code to the static class and
improve error handling.
2020-04-08 21:51:52 +02:00