Commit graph

15608 commits

Author SHA1 Message Date
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
Christoph Atteneder
83c9355931
Merge pull request #5825 from chimp1984/improve-offer-validation
Improve offer validation
2021-11-15 12:03:29 +01:00
chimp1984
b00d317e88
Rename getFeeHistorical to calculateFee 2021-11-14 15:07:34 +01:00
chimp1984
5928b44843
Use genesis height in maybeTestFeeFromFilter instead of 0 2021-11-14 15:07:34 +01:00
chimp1984
2e137459dc
Add check for fee from filter
That check is done if:
- If we are after activation time
- If filter is available
- If value in filter is > 0

The check compares the paid fee and the fee value from filter
and requires that paid fee is > 70% of filter value.
See comments in code for more background.
2021-11-14 15:07:34 +01:00
chimp1984
1027b9d7fe
Extract vars
Cleanups
2021-11-14 15:07:33 +01:00
chimp1984
c88addef16
Break up if else clauses (helps for improvements
in later commits)
2021-11-14 15:07:33 +01:00
chimp1984
b427795e4c
Extract minFeeParam
Cleanup
2021-11-14 15:07:33 +01:00
chimp1984
e57c682001
Add blockHeightAtOfferCreation to TxValidator
Used in case of maker fee validation
2021-11-14 15:07:33 +01:00
chimp1984
65285e2c69
Add filterManager to filterManager (will
be used in follow-up commits)
2021-11-14 15:07:33 +01:00
chimp1984
a082fd4a84
Add fee fields to filter 2021-11-14 15:07:32 +01:00
chimp1984
478b7568ee
Add return
Add more info in case it fails
2021-11-14 11:28:25 +01:00
chimp1984
f054c8ae95
Rename 2021-11-14 02:00:54 +01:00
chimp1984
65d3ef4ff5
Add check for isUseMarketBasedPrice 2021-11-14 02:00:00 +01:00
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
17d4d425a7
Merge pull request #5823 from jmacxx/add_ach_domestic_wire
Add payment methods ACH Transfer and Domestic Wire Transfer
2021-11-12 20:51:46 +01:00
jmacxx
bf311e36fb
Add payment methods ACH Transfer and Domestic Wire Transfer 2021-11-12 11:50:43 -06:00
Christoph Atteneder
3e6bb3bc7f
Merge pull request #5819 from chimp1984/fix-reorg-handling
Fix reorg handling
2021-11-12 10:50:06 +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
chimp1984
6f51793d1b
Add deterministic delay for seed node shutdown at reorg
We shut down with a deterministic delay per seed to avoid that all seeds shut down at the
same time in case of a reorg. We use 30 sec. as distance delay between the seeds to be on the
safe side. We have 12 seeds so that's 6 minutes.
2021-11-10 18:31:53 +01:00
chimp1984
0edccd9fe1
Only call parseBlocksOnHeadHeight if our latest block from
persistance is below the chain height of btc core.
With the new handling of dao state hashblocks it can be the
we have persisted the latest block up to the chain height.
Before that change we only had the last snapshot which was at least
20 blocks back persisted.
We want to avoid to get caught in a retry loop at parseBlocksOnHeadHeight
so we filter out that case just at the caller.

At parseBlocksOnHeadHeight we inline the requestChainHeadHeightAndParseBlocks
method as it is not used by other callers anymore.
This case  that we request a block but our local btc core chain hight is below
that might be some edge case when we had a synced dao blocks but we btc core is
resyncing...
2021-11-10 17:41:58 +01:00
chimp1984
42500c0370
Do not call resultHandler in case of a RequiredReorgFromSnapshotException
We trigger a resync from resources if there is a reorg and don't want to
continue to request blocks
2021-11-10 17:36:49 +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
450800d101
Remove startReOrgFromLastSnapshot methods in LiteNode
and FullNode

The custom implementations triggered to repeat requests
but we shut down the seed node in case of a reorg and
for desktops we request the user to shutdown.
2021-11-10 13:13:06 +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