Commit Graph

15528 Commits

Author SHA1 Message Date
Chris Beams
d964ded2af
Add missing verification metadata
These entries showed up as missing when @jmacxx ran this PR branch on
his local Linux machine under JDK 11. It is not clear why these
dependencies were required there and not elsewhere, e.g. under CI or on
my own Mac.
2021-11-13 15:28:43 +01:00
Chris Beams
5e93cfea47
Add missing dependency verification entries
This fixes the CI build failure at
https://github.com/bisq-network/bisq/runs/4198811212?check_suite_focus=true#step:6:306
by adding missing entries for findbugs, jsr305 and various netty
artifacts. It is not clear why these artifacts were required under linux
and not under MacOS.
2021-11-13 14:56:49 +01:00
Chris Beams
1460914757
Organize dependency entries
As mentioned in a prior commit, the upgrade to Gradle 7.x results in
many more dependency declarations in the file, many of which are
effectively duplicates. This change does not attempt to eliminate those
duplications in any clever way, but rather just tidies up and organizes
all dependency declarations by sorting them alphabetically.
2021-11-13 14:45:14 +01:00
Chris Beams
d7129a2d19
Disable verification for javadoc and source jars
Prior to this commit, IDEA would fail to build the project because it
downloads javadoc and source jars that do not have entries in the
verification file. These artifacts are now trusted by default as
documented at https://docs.gradle.org/current/userguide/dependency_verification.html#sec:skipping-javadocs
2021-11-13 14:43:03 +01:00
Chris Beams
e09d56b696
Upgrade Mockito to 4.0.0
This fixes the 'Unsupported class file major version 60' problem
documented at mockito/mockito#2065 to allow building Bisq on JDK 16+.
2021-11-13 13:53:38 +01:00
Chris Beams
990365d5b9
Upgrade Lombok to support JDK16+
This fixes the IllegalAccessError problem documented at
https://stackoverflow.com/a/66981165/622403
2021-11-13 13:43:00 +01:00
Chris Beams
3557fe9844
Add verification metadata for MacOS x86 artifacts
This commit updates the verification-metadata.xml file to include
osx-x86_64 variants of protoc dependencies.
2021-11-13 13:33:26 +01:00
Chris Beams
695fe39cf7
Add verification metadata for linux-specific artifacts
CI build failed after the previous commit because the new dependency
verification file was generated on a Mac and therefore did not include
linux-specification artifact variants. This same process will need to
be done under Windows as well.
2021-11-13 13:26:03 +01:00
Chris Beams
6f8197b419
Migrate to Gradle's built-in dependency verification
This commit removes the use of our fork of the gradle-witness plugin in
favor of Gradle's relatively new built-in dependency verification
feature [1].

The gradle/verification-metadata.xml file was produced using the
following command:

    ./gradlew --write-verification-metadata sha256 build

Where `build` is the usual `gradle build` command. All dependency
configurations are resolved this way, and written out to the file.

The resulting file contains 273 unique dependency declarations, as
compared to just 64 in our now-removed gradle-witness.gradle file. This
means that the coverage of dependencies verified is much more complete.

The new file contains the same sha256 checksums for each dependency as
the old file. This was manually spot-checked for a significant number of
the dependencies.

Like with gradle-witness, builds will break when dependencies are
upgraded (and now also when they are added). To fix these breakages, the
`--write-verification-metadata sha256` option must be provided to the
build. Note that new entries will be added for upgraded depedencies, but
old entries are not removed automatically from the file. These must be
removed manually.

[1]: https://docs.gradle.org/current/userguide/dependency_verification.html
2021-11-13 12:59:52 +01:00
Chris Beams
6a3d2642da
Upgrade to Gradle 7.3
This commit does what is necessary to upgrade from Gradle 6.6.1 to
7.3, including:

- generating the new Gradle wrapper
- replacing uses of 'compile' with 'implementation'
- replacing uses of 'testCompile' with 'testImplementation'

Moving from *compile to *implementation results in many more duplicated
dependency declarations throughout the file. These will be tidied up in
a subsequent commit.

Several dependencies needed to be upgraded in order to support this
change. One of them was Spring Boot, from 1.5.1 to 2.5.6. This is a
major upgrade that contained some breaking changes to the Spring Boot
Actuator. These changes required the removal of the pricenode's
/getVersion endpoint.

The Gradle Witness plugin has been disabled in this commit, because it
uses the now-removed 'compile' configuration. Use of the Witness plugin
will be removed entirely in a subsequent commit in favor of using
Gradle's new built-in dependency verification feature.
2021-11-13 12:09:22 +01:00
Christoph Atteneder
9538b538ea
Merge pull request #5821 from jmacxx/add_tikkie_twusd
Add payment methods Tikkie and TransferWise-USD
2021-11-11 11:03:38 +01:00
Christoph Atteneder
de5805c6fd
Merge pull request #5820 from jmacxx/grin_slatepack
Changes required for GRIN re-listing
2021-11-11 11:02:24 +01:00
jmacxx
f72b6c0b0a
Add payment methods Tikkie and TransferWise-USD 2021-11-10 21:48:10 -06:00
jmacxx
5bf7bba0c6
Changes required for GRIN re-listing 2021-11-10 14:23:04 -06:00
Christoph Atteneder
284eaf2c11
Merge pull request #5817 from chimp1984/fix-incorrect-app-initialisation
Fix incorrect app initialisation
2021-11-10 19:22:03 +01:00
Christoph Atteneder
40ad5737cb
Remove unnecessary todo 2021-11-10 13:21:56 +01:00
Christoph Atteneder
9a1dc43088
Merge pull request #5818 from chimp1984/small-debugging-utils
Small debugging utils
2021-11-10 13:20:05 +01:00
chimp1984
ae38a54f11
Add util for logger to log by threadname
Helpful for debugging
2021-11-10 12:34:29 +01:00
chimp1984
5c2199ff49
Add freeMemory to log
Cleanup
2021-11-10 12:32:18 +01:00
chimp1984
880df30ffc
Remove unneeded UserThread.execute wrappers
In desktop we are on the UI thread.
In Seednode we have an outer UserThread.execute call already
2021-11-10 12:27:50 +01:00
chimp1984
faa8bd2ab2
Extract code in CommonSetup which uses a timer
to startPeriodicTasks.
Call that from BisqExecutable.onApplicationLaunched

We have created a non-UI timer before for the
printSystemLoadPeriodically as that was called
before the configUserThread was called (where we
define the UI timer for desktop)
2021-11-10 12:26:54 +01:00
Christoph Atteneder
245b76be74
Merge pull request #5816 from chimp1984/fix-btc-address-for-regtest
Fix missing handling for non-mainnet use case
2021-11-10 09:22:39 +01:00
chimp1984
d9c509ba53
Fix missing handling for non-mainnet use case 2021-11-09 22:42:37 +01:00
Christoph Atteneder
bb1a1b5170
Merge pull request #5808 from jmacxx/seller_confirm_button
Confirm button state for BTC seller to be disabled in mediation
2021-11-09 21:27:37 +01:00
Christoph Atteneder
1578f45ffc
Merge pull request #5812 from ghubstan/02-cli-console-formatting-api
Deprecate and replace hard-coded CLI console output formatters
2021-11-09 21:21:52 +01:00
Christoph Atteneder
06da45fb7a
Merge pull request #5764 from chimp1984/avoid-usage-of-outdated-addresses
Avoid that outdated donation and fee addresses are used.
2021-11-09 21:01:47 +01:00
chimp1984
8d22904ee3
Fix missing param in test 2021-11-09 20:48:17 +01:00
chimp1984
beb4590ef7
Use static fields for addresses 2021-11-09 20:42:30 +01:00
chimp1984
e2bf77fb59
Fixes https://github.com/bisq-network/bisq/issues/5762
Avoid that outdated donation and fee addresses are used.

In case we get an outdated donation address (RECIPIENT_BTC_ADDRESS)
we trigger a dao resync. The user get a popup for doing a restart
in that case.
For the fee address selection we do not fall back to the
RECIPIENT_BTC_ADDRESS in case no address from filter is provided
but we use the hard coded address of the current fee receiver address.
2021-11-09 20:42:30 +01:00
Christoph Atteneder
60526cc321
Merge pull request #5795 from chimp1984/optimize-dao-charts-7
Optimize DAO charts [7]
2021-11-09 20:41:36 +01:00
Christoph Atteneder
2eae94e22a
Add missing space 2021-11-09 20:30:14 +01:00
chimp1984
8a4d1cb6db
Return CompletableFuture once applyData is completed with all
calls.
2021-11-09 20:00:34 +01:00
chimp1984
a00667bbc2
Clean up log 2021-11-09 20:00:34 +01:00
chimp1984
67741f0d0e
Add DEFAULT_LOG_LEVEL field 2021-11-09 20:00:34 +01:00
chimp1984
cf9e49134a
Add shutDown method to ClockWatcher and shut it down at shutdown 2021-11-09 20:00:34 +01:00
chimp1984
b61d64e1ea
Add mapToUserThread method to ChartView
For initial rendering we need to delay a bit and wait
until async calls are completed.
2021-11-09 20:00:34 +01:00
chimp1984
a4b106cd4a
Apply async handling to DaoChartView as well 2021-11-09 20:00:34 +01:00
chimp1984
6b89bf0da9
Use async methods with CompletableFuture in viewmodel to
avoid that slow operations in data model are running on UI thread
2021-11-09 20:00:34 +01:00
Christoph Atteneder
07f4074d0c
Merge pull request #5794 from chimp1984/optimize-trade-chart-view-6
Optimize trade chart view [6]
2021-11-09 19:46:25 +01:00
chimp1984
c209da7c66
Fix package statement 2021-11-09 19:32:44 +01:00
chimp1984
a659a78db6
Do sorting on non UI thread as its slow and only attach
it to table in UI thread afterwards.

Chain updateSelectedTradeStatistics and updateChartData calls.
2021-11-09 19:20:35 +01:00
chimp1984
ce8a91fdb3
Make getUpdateChartResult ansync 2021-11-09 19:20:35 +01:00
chimp1984
041b07e2e1
Move getUpdateChartResult, getCandleData, getTimeFromTickIndex to ChartCalculations
Make maxTicks static and rename to MAX_TICKS
2021-11-09 19:20:35 +01:00
chimp1984
7ad5993aad
Run getUsdAveragePriceMapsPerTickUnit and getTradeStatisticsForCurrency
in parallel and once both are done we call asyncUpdateChartData (not yet refactored).

Clear all data at deactivate
This cause a bit of costs when we activate again but as we delegate
now all work to threads it should be OK. It decreases the memory usage
if we do not keep those data in the fields. The View classes are cached
in the view loader so all data in fields stays in memory once it was
activated once and not manually cleared in deactivate.

Move getTradeStatisticsForCurrency to ChartCalculations
Rename buildUsdPricesPerTickUnit to getUsdAveragePriceMapsPerTickUnit
Rename selectedTradeStatistics to tradeStatisticsByCurrency
Make itemsPerInterval final
Remove modelReady
Add deactivateCalled flag
2021-11-09 19:20:35 +01:00
chimp1984
65706e7c14
Add async handling with CompletableFuture to fillList
The creation of TradeStatistics3ListItem is rather fast but the
applying to the list is due sorting pretty slow (300 ms) as
its > 100k items. We do the applying on the callback thread.
Seems JavaFx permits that. So we can keep the UI thread unblocked.

Remove modelReadyListener

Renamed model.selectedTradeStatistics to model.tradeStatisticsByCurrency
2021-11-09 19:20:35 +01:00
chimp1984
603e9fde17
Add CompletableFutureUtils
Convenience util for CompletableFuture.allOf method
2021-11-09 19:20:34 +01:00
chimp1984
ca145b0eb3
Add static method getTradeStatisticsForCurrency and
use it instead of updateSelectedTradeStatistics
(preparation for follow up commit)
2021-11-09 19:20:34 +01:00
chimp1984
0271af995b
Add modelReady property and let view fill list once model is ready 2021-11-09 19:20:34 +01:00
chimp1984
ea66a510dc
Make buildUsdPricesPerTickUnit async using CompletableFuture 2021-11-09 19:20:34 +01:00
chimp1984
deeb912f9b
Move buildUsdPricesPerTickUnit to ChartCalculations 2021-11-09 19:20:34 +01:00