Commit graph

15599 commits

Author SHA1 Message Date
Christoph Atteneder
ec5f217f2f
Improve warning when BSQ swap offer is removed 2021-12-06 10:43:58 +01:00
Steven Barclay
981d6ff000
Validate input script types to prevent BSQ swap tx fee underpaying
Add a check of 'scriptTypeId' field, against the output of the spending
tx, to the 'RawTransactionInput::validate' method. Also make the seller
as well as the buyer validate each raw BSQ/BTC input received from the
peer. This prevents either peer from claiming that any of their
non-segwit inputs are segwit in order to underpay the tx fee.
2021-12-04 19:52:07 +01:00
Steven Barclay
efd590b9e7
Fix BSQ swap buyer tx fee theft vulnerability
Prevent the seller from stealing the combined tx fee as change by lying
about the value of one or more of his BTC inputs, which are passed to
the buyer as raw inputs in the 'BsqSwapFinalizeTxRequest' message.

To this end, add a 'RawTransactionInput::validate' method to check the
'value' field against the output value of the respective spending tx and
run it on every seller input in 'ProcessBsqSwapFinalizeTxRequest', so
that the buyer is no longer just trusting those numbers.

Additionally, check that the spending txIds from the raw BTC inputs
supplied by the seller actually match those of his signed inputs in the
accompanying partially signed tx, thus tying the raw input values to the
seller's tx.
2021-12-04 19:52:07 +01:00
Steven Barclay
acad642b53
Fix misleading comment: BSQ swap taker tx fee tolerance
(Actual tolerance by maker of agreed tx fee is 50%, not 10%.)
2021-12-04 19:52:06 +01:00
jmacxx
4b60be0ebb
Always use fresh address for MULTI_SIG context 2021-12-04 19:49:11 +01:00
jmacxx
fc2bb6c8b9
Fix NPEs in Portfolio View wrt. BSQ swap 2021-12-03 10:33:25 +01:00
Christoph Atteneder
f224cf7c7c
Add Polish translation 2021-12-01 15:13:57 +01:00
jmacxx
cb1998db05
Bugfix: dispute ticket reopened by mailbox message 2021-11-30 10:28:11 +01:00
Christoph Atteneder
4893be23cd
Improve release build documentation 2021-11-25 11:06:29 +01:00
cd2357
1261f84885
Update package.gradle: rely on local JDK 15
Enforce the use of JDK 15 when packaging. This removes the need to download and unpack JDK 15 just for the use of jpackager.
2021-11-25 11:06:28 +01:00
Christoph Atteneder
9617da39ab
Print dependency report if failure 2021-11-25 11:06:28 +01:00
Christoph Atteneder
57a88be559
Remove gradle cache 2021-11-25 11:06:28 +01:00
Christoph Atteneder
6165fb6042
Add official Java 15 support 2021-11-25 11:06:27 +01:00
jmacxx
dfc7361b04
Add new block listener to update locked balance display 2021-11-25 09:55:04 +01:00
jmacxx
f0efe7175c
Fix exception in Portfolio History screen 2021-11-25 09:54:54 +01:00
Christoph Atteneder
19eb7eb50b
Merge pull request #5856 from ripcurlx/update-data-stores-for-v1.8.0
Update data stores for v1.8.0
2021-11-24 14:00:10 +01:00
Christoph Atteneder
10433e3a71
Update data stores for v1.8.0 (again) 2021-11-24 13:51:10 +01:00
Christoph Atteneder
dd6af18350
Update data stores for v1.8.0 2021-11-24 11:47:53 +01:00
Christoph Atteneder
2fea64cb3a
Update bitcoinj checkpoints for v1.8.0 2021-11-24 11:31:12 +01:00
chimp1984
1106d99829
Remove code which is already in superclass 2021-11-24 09:48:12 +01:00
chimp1984
f93cd7de48
Enforce inclusion of TradeLimits for headless apps
PaymentMethod use an instance of TradeLimits and expect that it
has been injected, which is the case for desktop but not for
headless apps, so we enforce injection in the app base classes
used for headless apps.

The validation of trade statistics use a method in PaymentMethod
where that dependency is required.

Tha hack how the PaymentMethod use TradeLimits is not nice, but
would require more effort for refactoring.
2021-11-24 09:48:00 +01:00
chimp1984
0620c866fa
Add date for applying filter
We had historically higher trade limits and assets which are not in the
currency list anymore, so we apply the filter only for data after
Nov 1st 2021.
2021-11-24 09:46:04 +01:00
chimp1984
3877d5c363
Fix missing update of time line in dao charts 2021-11-23 09:55:28 +01:00
Christoph Atteneder
19e072795f
Simplify warn logging 2021-11-23 09:54:23 +01:00
chimp1984
236cb2c6f3
Rename getPaymentMethodById to getPaymentMethod 2021-11-23 09:54:05 +01:00
chimp1984
a495072694
Rename getPaymentMethod to getPaymentMethodId 2021-11-23 09:53:56 +01:00
chimp1984
94857a6261
Rename getActivePaymentMethodById to getActivePaymentMethod
Rename variables
2021-11-23 09:53:45 +01:00
chimp1984
c3ea38ec7a
Add warn log 2021-11-23 09:53:37 +01:00
chimp1984
f5ca63f59a
Only apply maxTradeLimit from PaymentMethod if the PaymentMethod is
found in the active list. Otherwise the 2 BTC default is used.
We get TradeStatistics3 objects from old retired PaymentMethods
which are not found in the active list.
2021-11-23 09:53:27 +01:00
chimp1984
dc2a12858b
Only try to remove invalid filter from network if it's our own.
This avoids unnecessary/confusing warning logs in data storage.
2021-11-23 09:37:30 +01:00
chimp1984
d81875eb98
Add check for trade statistic for max amount and if currency exists in CurrencyUtil 2021-11-21 17:39:46 +01:00
Chris Beams
3884e0c471
Fix guava dependency issue
Problem: a

    NoSuchMethodError: 'java.util.stream.Collector
    com.google.common.collect.ImmutableMultiset.toImmutableMultiset()'

exception was being thrown when testing the previously-merged upgrade to
Gradle 7.3, as described at keybase://chat/bisq#testing/2466.

Solution: This problem is similar to the issue reported at
jeremylong/DependencyCheck#3221. The source of the problem was multiple
conflicting guava jars on the runtime classpath. This commit upgrades to
guava 30.1.1-jre which ensures a single jar on the classpath.
2021-11-21 17:37:25 +01:00
Christoph Atteneder
b5c351143a
Update translations for v1.8.0 2021-11-19 18:38:31 +01:00
Christoph Atteneder
aacc1105e3
Bump version number for v1.8.0 2021-11-19 18:35:56 +01:00
chimp1984
08eb54efbd
Add I2P as enum entry 2021-11-18 18:34:37 +01:00
Christoph Atteneder
ef7ce109ac
Merge pull request #5834 from jmacxx/dispute_ui_add_penalty
Add penalty calculation to dispute agent UI
2021-11-18 17:57:54 +01:00
Bisq GitHub Admin
e52a821f34
Merge pull request #5838 from ripcurlx/fix-broken-test
Fix broken test for new build
2021-11-18 17:55:51 +01:00
Christoph Atteneder
c64e6f3298
Fix broken test for new build 2021-11-18 17:11:17 +01:00
jmacxx
5c00e1974e
Add penalty calc to dispute UI 2021-11-18 08:43:06 -06:00
Christoph Atteneder
4b6b1cdf11
Merge pull request #5839 from cbeams/add-jackson-pom-checksum
Add missing metadata for jackson-base pom 2.12.1
2021-11-18 15:03:47 +01:00
Chris Beams
ea629de1a1
Add missing metadata for jackson-base pom 2.12.1
Problem: When merging #5824, the absence of this entry caused a build
failure at dependency verification time against JDK11 and JDK15 on
Ubuntu-latest [1]. It may also cause failures on other JDK/OS
combinations, but the GitHub workflow was aborted before those failures
couldhave occurred. In any case, this omission did not create build
failures on any of the local development machines that tested the
aforementioned PR. Reasons for this discrepancy are unknown.

Solution: manually fetch the pom from [2], run `sha256sum` on it locally
and commit the result to the verification metadata file.

[1]: https://github.com/bisq-network/bisq/runs/4249640611?check_suite_focus=true#step:6:33
[2]: https://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-base/2.11.1/jackson-base-2.11.1.pom
2021-11-18 12:38:01 +01:00
Christoph Atteneder
c05e7a09c0
Merge pull request #5824 from cbeams/gradle-7.3
Upgrade to Gradle 7.3
2021-11-18 09:32:04 +01:00
Christoph Atteneder
a27ac4313b
Merge pull request #5826 from chimp1984/improve-fee-handling
Improve fee handling
2021-11-18 09:23:15 +01:00
Christoph Atteneder
90ea4fc14a
Merge pull request #5813 from jmacxx/fix_locked_funds_display
Fix calculation & display of Locked Funds
2021-11-16 09:35:06 +01:00
Christoph Atteneder
7faaa9d5ba
Merge pull request #5831 from jmacxx/fix_display_failed_trade_tab
Fix display of missing Failed Trade tab
2021-11-16 09:31:10 +01:00
jmacxx
daee63490e
Fix display of missing failed trade tab 2021-11-15 11:10:16 -06:00
Chris Beams
cb7b0e8da4
Set pricenode mainClassName explicitly
Problem: after the upgrade from 6.6.1 to 7.3, the usual invocation of,
e.g. `./bisq-pricenode 2 2` started failing as reported by @emzy at [1].

    bisq@ubuntu-4gb-fsn1-1:~$ /bisq/bisq/bisq-pricenode 2
    Error: Could not find or load main class 2
    Caused by: java.lang.ClassNotFoundException: 2

Solution: for unknown reasons, the bisq-pricenode script worked as
expected under 6.6.1, i.e. contained the fq main class name in its
scripted invocation of `java -jar ...`, but under 7.3, this main class
name was missing. Through trial and error, it turns out that setting
`mainClassName` explicitly in the :pricenode subproject configuration
solves this problem and makes the start script work as expected.
Presumably, this problem arose in conjunction with the major version
upgrade of the spring boot Gradle plugin that was necessary when
upgrading to Gradle 7.3, but this has not been verified.

[1]: https://github.com/bisq-network/bisq/pull/5824#issuecomment-968276686
2021-11-15 13:44:44 +01:00
Christoph Atteneder
0ea056c6d2
Add Windows artifact hashes 2021-11-15 13:26:05 +01:00
chimp1984
f17c2e1234
Rename method 2021-11-15 13:05:40 +01:00
Chris Beams
280c2aaa8e
Adapt Gradle startScript customization logic
Problem: ClassNotFoundError was getting thrown when attempting to run,
e.g. the `./bisq-desktop` or `./bisq-pricenode` start scripts.

Solution: Gradle's posix start scripts were changed significantly
between 6.6.1 and 7.3, including a change to the way the current
directory is determined. This change updates the way we customize start
script generation to allow running them from the root of the repo. This
change only affects the unix / posix variants. The Windows .bat files do
not need to be adapted similarly.
2021-11-15 13:03:49 +01:00