Commit Graph

17965 Commits

Author SHA1 Message Date
Alva Swanson
d9fe8936c6
Revert Makefile to e5aef09 2023-12-14 16:23:39 +01:00
Alva Swanson
3f6ceb54ce
Revert "Enforce same JDK in all start scripts"
This reverts commit e9d34f39d9.
2023-12-14 16:23:39 +01:00
Alva Swanson
a7d79559a6
Revert "Remove start_script tasks"
This reverts commit 042f92665b.
2023-12-14 16:23:39 +01:00
Alva Swanson
1ea782abe5
seednode: Update bisq.env to use latest java 11 openjdk 2023-12-14 16:23:39 +01:00
yonson2023
5e0803a392
Add accessors for HolderName. 2023-12-11 10:57:10 -06:00
dependabot[bot]
91f5083011
build(deps): bump actions/stale from 8.0.0 to 9.0.0
Bumps [actions/stale](https://github.com/actions/stale) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8.0.0...v9.0.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 14:59:10 +00:00
Alejandro García
3f8fedd618
Merge pull request #6961 from yonson2023/spv_detect_corrupt_wallet
Detect and handle corrupted SPV state allowing user-initiated resync.
2023-12-10 14:35:11 +00:00
Alejandro García
4a7356c801
Merge pull request #6956 from bisq-network/dependabot/github_actions/actions/setup-java-4.0.0
build(deps): bump actions/setup-java from 3.13.0 to 4.0.0
2023-12-10 14:34:26 +00:00
djing chan
2bbd1ee9db
Add project icon (can be used in Intellij for the project) 2023-12-10 11:23:19 +07:00
yonson2023
b9fcbd4ee8
Detect and handle corrupted SPV state allowing user-initiated resync. 2023-12-09 10:50:04 -06:00
jmacxx
265ca17e32
Check live Tx as part of BSQ fee validation process. 2023-12-07 13:01:25 -06:00
dependabot[bot]
25ed6de3d8
build(deps): bump actions/setup-java from 3.13.0 to 4.0.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.13.0 to 4.0.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3.13.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 14:13:08 +00:00
yonson2023
c7f36b255b
Fix potential NPE in persistence of Contract. 2023-12-03 10:14:53 -06:00
Alejandro García
bba7327115
Merge pull request #6950 from bisq-network/dependabot/github_actions/gradle/gradle-build-action-2.10.0
build(deps): bump gradle/gradle-build-action from 2.9.0 to 2.10.0
2023-12-02 08:02:09 +00:00
jmacxx
0ad71fc680
Fee validation refactor. 2023-11-28 12:26:38 -06:00
Steven Barclay
32d4a8f50d
Replace deprecated 'initMocks' calls with MockitoSession
Since the 'MockitoAnnotations.initMocks' method used to initialise
@Mock, @Spy, etc. fields is deprecated, use MockitoSession instead, as
suggested by the Javadoc. (Or just remove the call, if the test class is
not actually using any Mockito annotations.)

This allows strict stubbing (the default for Mockito 4), though it must
be configured to be lenient in the P2P test classes, to prevent failures
due to unused stubs.
2023-11-28 03:36:25 +08:00
dependabot[bot]
deef03ea77
build(deps): bump gradle/gradle-build-action from 2.9.0 to 2.10.0
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.9.0...v2.10.0)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 14:50:28 +00:00
Steven Barclay
4c0c11bb27
Implement BM capping algorithm change (with delayed activation)
Change the algorithm used to adjust & cap the burn share of each BM
candidate to use an unlimited number of 'rounds', as described in:

  https://github.com/bisq-network/proposals/issues/412

That is, instead of capping the shares once, then distributing the
excess to the remaining BM, then capping again and giving any excess to
the Legacy Burning Man, we cap-redistribute-cap-redistribute-... an
unlimited number of times until no more candidates are capped. This has
the effect of reducing the LBM's share and increasing everyone else's,
alleviating the security risk of giving too much to the LBM (who is
necessarily uncapped).

Instead of implementing the new algorithm directly, we simply enlarge
the set of candidates who should be capped to include those who would
eventually be capped by the new algorithm, in order to determine how
much excess burn share should go to the remaining BM. Then we apply the
original method, 'candidate.calculateCappedAndAdjustedShares(..)', to
set each share to be equal to its respective cap or uniformly scaled
upwards from the starting amount accordingly.

To this end, the static method 'BurningManService.imposeCaps' is added,
which determines which candidates will eventually be capped, by sorting
them in descending order of burn-share/cap-share ratio, then marking all
the candidates in some suitable prefix of the list as capped, iterating
through them one-by-one & gradually increasing the virtual capping round
(starting at zero) until the end of the prefix is reached. (The method
also determines what the uncapped adjusted burn share of each BM should
be, but that only affects the BM view & burn targets.) In this way, the
new algorithm runs in guaranteed O(n * log n) time.

To prevent failed trades, the new algorithm is set to activate at time
'DelayedPayoutTxReceiverService.PROPOSAL_412_ACTIVATION_DATE', with a
placeholder value of 12am, 1st January 2024 (UTC). This simply toggles
whether the for-loop in 'imposeCaps' should stop after capping round 0,
since doing so will lead to identical behaviour to the original code
(even accounting for FP rounding errors).
2023-11-26 21:54:20 +08:00
Steven Barclay
7dfd6aa5e1
Use TreeMap to prevent potential nondeterminism in BM share summation
Replace HashMap in 'BurningManService.getBurningManCandidatesByName'
result construction with a TreeMap, to ensure that the map values are
ordered deterministically (alphabetically by candidate name) when
computing floating point sums. The map values are streamed over in a few
places in this method and elsewhere in 'DelayedPayoutTxReceiverService',
when performing double precision summation to compute the DPT. This
introduces potential nondeterminism due to the nonassociativity of FP
addition, making sums dependent on the term order.

(Note that 'DoubleStream::sum' uses compensated (Kahan) summation, which
makes it effectively quad precision internally, so the chance of term
reordering causing the result to differ by even a single ULP is probably
quite low here. So there might not be much problem in practice.)
2023-11-26 03:41:03 +08:00
Steven Barclay
c234c2351c
Add adjusted burn share assertions + test for inactive/expired BM
Add a missing test case for burning man candidates with fully expired
compensation issuance or proofs-of-burn, or who are inactive because
they have never carried out a proof-of-burn, to prevent regressions in
the forthcoming capping algorithm code changes.

Also add missing assertions for the expected 'adjustedBurnAmountShare'
property of each candidate to the test cases. Note that these only
affect the UI, including the displayed burn targets, not the actual BM
revenue (DPT outputs or fee recipient selection), so we use approximate
equality in the test assertions as usual for floating point expressions.
2023-11-26 00:47:38 +08:00
Alejandro García
95e74937c1
Merge pull request #6947 from djing-chan/fix-initial-data-request-handling
Fix initial data request handling
2023-11-24 08:02:18 +00:00
Steven Barclay
23f93fc0ec
Add tests for share calculations by 'getBurningManCandidatesByName'
Add an inner class to 'BurningManServiceTest' to test the cap shares &
(capped + uncapped) burn shares allocated to each candidate found upon
calling 'BurningManService.getBurningManCandidatesByName'. To this end,
set up mocks of 'DaoStateService' and the other injected dependencies of
'BurningManService' to return skeletal proof-of-burn & compensation
issuance txs & payloads for the test users supplied for each case.

Ensure the test cases exercise the capping algorithm fairly thoroughly,
which is to be changed in the proceeding commits, per the proposal:

  https://github.com/bisq-network/proposals/issues/412

In particular, provide test cases where more than two capping rounds
would be applied by the new algorithm, as opposed to the current
algorithm which always applies at most two. (This leads to strictly
lower shares for the Legacy Burning Man and non-strict increases in the
shares of all the other burning men.)
2023-11-21 23:11:22 +08:00
djing chan
688f4f7977
Increase package name length before it gets shortened 2023-11-19 16:45:36 +07:00
djing chan
34857c9d89
Add flag to avoid multiple calls of onDataReceived
Only start requesting blocks after wallet is synced.
Update connection state when doing repeated block requests.
Improve logs.
2023-11-19 16:42:37 +07:00
djing chan
536a29f76a
Improve logs for block requests 2023-11-19 15:22:38 +07:00
djing chan
c8fd897e54
Merge branch 'improve-logs' into fix-initial-data-request-handling 2023-11-19 14:48:43 +07:00
djing chan
08118e387e
Use onDataReceived instead of onUpdatedDataReceived for considering p2p network state as initialized 2023-11-19 14:47:52 +07:00
djing chan
8aa9d7cf42
Increase num repeated request limit from 10 to 20.
Make logmore visible.
2023-11-19 14:47:04 +07:00
djing chan
8ee67e555d
Change log level to debug for non-essential logs
Set loge level for org.berndpruenster.netlayer.tor.Tor to WARN (we get repeated logs about HS announced to network from netlayer - would be better to change in netlayer).
Make data request/response logs more visible with line breaks
2023-11-19 14:40:24 +07:00
Alejandro García
ff291fcd0f
Merge pull request #6944 from alvasw/seednode_script_run_from_seednode_module
seednode: Run script from seednode module
2023-11-15 21:42:44 +00:00
Alejandro García
03f3ed88fc
Merge pull request #6943 from alvasw/remove_azul_enforcement
Remove Azul JDK Enforcement
2023-11-15 21:42:06 +00:00
Alejandro García
dd3f1341cd
Merge pull request #6931 from jmacxx/refactor_fee_service
Refactor & simplify fee service.
2023-11-15 21:41:41 +00:00
jmacxx
b8d1c92cd4
Download all P2P data before announcing P2P ready. 2023-11-13 19:03:00 -06:00
jmacxx
15617ae5a0
Apply code review change. 2023-11-09 21:41:42 -06:00
Alva Swanson
9344a236a3
seednode: Run script from seednode module 2023-11-03 18:49:31 +01:00
Gabriel Bernard
0b59f583ee
Merge pull request #6940 from bisq-network/v1.9.14_macOS
Release/v1.9.14-macOS
2023-11-01 16:55:39 +00:00
Alejandro García
fa15db816f
Merge pull request #6939 from alvasw/seednodes_install_jdk_from_os_repo
seednode: Install openjdk-11-jdk from OS repository
2023-10-31 19:26:23 +00:00
Alejandro García
1280aa0e57
Merge pull request #6938 from HenrikJannsen/remove_pricenode_and_seednodes_of_wiz
Remove price node and seed nodes from wiz
2023-10-31 19:25:54 +00:00
Alejandro García
f43c0fccad
Merge pull request #6936 from jmacxx/fix_trade_history_deviation_column
Fix deviation in portfolio offers & history.
2023-10-31 19:25:23 +00:00
Alejandro García
2d2ed94bc6
Merge pull request #6935 from bisq-network/dependabot/github_actions/actions/checkout-4.1.1
build(deps): bump actions/checkout from 4.1.0 to 4.1.1
2023-10-31 19:24:34 +00:00
Alva Swanson
294fcb3459
Fallback to Java 15 on macOS 2023-10-31 17:50:21 +01:00
Alva Swanson
7ae04bfc39
Remove Azul JDK Enforcement
This is not needed anymore.
2023-10-31 17:47:29 +01:00
Alva Swanson
f9fbfd265f
seednode: Install openjdk-11-jdk from OS repository 2023-10-31 16:52:15 +01:00
Alva Swanson
6203f4044e
Fix JVM crashes on macOS 2023-10-30 20:07:30 +01:00
HenrikJannsen
bfed79019e
Remove price node and seed nodes from wiz
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-10-29 15:31:43 +07:00
jmacxx
6b42bb9657
Adapt fee service client calls to simplified interface.
Obsolete async requests removed, replaced by getTxFee().
2023-10-25 17:07:03 -05:00
jmacxx
7f4bde8669
Fix deviation in open portfolio offers & history. 2023-10-24 10:43:16 -05:00
dependabot[bot]
ac5acfcc12
build(deps): bump actions/checkout from 4.1.0 to 4.1.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 14:13:52 +00:00
Alejandro García
ec5bf35eea
Merge pull request #6932 from alvasw/gradle_plugins_use_embedded_kotlin_compiler
gradle-plugins: Use embedded Kotlin compiler
2023-10-19 13:07:00 +00:00
Alejandro García
972928edc1
Merge pull request #6929 from alvasw/docker_remove_extra_hosts
seednode-docker: Remove extra_hosts mapping
2023-10-19 13:05:53 +00:00