Some commits were missed from the first implementation in #6431.
The user limit is applied to offer entry via AccountAgeWitnessService.
Offers are filtered according to limits in OfferFilterService.
If limit changed, the cache in OfferFilterServices must be cleared.
Previously the BSQ fee payment was determined by parsing a raw tx
without relying on the DAO. Unfortunately this turned out to be
problematic, so with this change the BSQ fee paid is obtained from
the DAO tx, as originally preferred by chimp1984.
Unconfirmed transactions will not be able to have their BSQ fees
checked so early requests for validation will skip the fee check.
This is not a problem since maker fee validation is done by the
taker and in the majority of cases will be already confirmed; taker
fee validation is done after the first confirm at trade step 2.
More restrictive limits will still apply based on payment method.
It is intended to avoid that a new users who do not fully understand
the process of a Bisq trade to cause an arbitration case with high
amounts and therefore higher risks and costs for the DAO.
Do not pay out the security deposit of the trade peer to the
arbitration case winner.
Amounts are filled out based on which option the
Arbitrator chooses:
If BTC buyer is selected as case winner they will get
trade amount + buyer security deposit.
If BTC seller is selected as case winner they will get
trade amount + seller security deposit.
If custom payout is selected arbitrator can specify
custom amounts as they wish.
In case of a `||` the statement gets removed as it always is true.
At getUserPaymentAccounts we refactor further the steam to a HashSet constructor operation as the filter method gets removed.
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
Move AddressException, NodeAddressException and DisputeReplayException to DisputeValidation.
Use DisputeValidation.ValidationException as type for DisputeManager.validationExceptions.
Remove Nullable annotation for dispute field in those exceptions.
Remove null checks when those DisputeValidation.ValidationException are used.
This is the tool used for Manual Payouts and message sign/verify.
Replaces the monolithic code with a class for each tab in the UI.
This refactoring was necessary in preparation for adding a new tab.
Total BSQ Supply needs to be cumulative from genesis to datapoint.
Change of BSQ Supply needs to handle situations where there is no
issuange to offset a burn. There was a bug in the use of
getMergedMap(a - b) which would result in a burn being counted as
an issuance in that case. Solved by making burns negative and using
Long::sum instead of a - b.