dispute has been opened. This will cause a Runtime exception but that
is justified as the caller need to ensure to do the check and do not
allow to get to that point.
- useXmrTxProof was set at active but used in addContent which was
called before activate.
- Fix bug with using currencyName instead of currencyCode
- Refactor: Use methods in base class instead of repeated code
The 'arePeersPaymentAccountDataBanned' method in filterManager had a
parameter 'PaymentAccountFilter[] appliedPaymentAccountFilter' which
was used to pass over the PaymentAccountFilter which matched a banned
account. The result was only used at the fault handler (log) in the
ApplyFilter task. I think this was not needed to display and if it
should be done in a different way, e..g using a Consumer to pass back
the value, but as the method is a validation method returning a boolean
we should avoid to add side-effects like writing some property.
We do not wait until the offer got removed by a network remove message but remove it
directly from the offer book. The broadcast gets now bundled and has 2 sec. delay so the
removal from the network is a bit slower as it has been before. To avoid that the taker gets
confused to see the same offer still in the offerbook we remove it manually. This removal has
only local effect. Other trader might see the offer for a few seconds
still (but cannot take it).
Support agent can mark a suspicious dispute as resolved so it does not
show the alert icon anymore. In the full report a [ACK] got added to
that dispute.
We apply userName to accountId if it is not set (e.g. new account
created with new version). We do not use that for display or for
account signing in case both fields are the same but we need to use
accountId in case the user trades with a not updated user who expects
accountId as only field.
I improved a bit the display of account data in the trade screens.
In case accountId was set with the phone number (updated account with
phone nr used for account signing) we show both userName and phone nr.
- Show phone number if accountId was set by old account. Otherwise
show only userName
- For old users they will see the user name as phone number displayed
if they trade with new users if the new user has created a new account.
If he has updated an existing account the accountId (phone number) is
used, so it displays the phone number.
- At step 2 changed display of own account data to show account name
- Add 'Recipients' prefix to account data of peer at step 2
Step 3: Buyers account data can be
- Phone number if peer is using old version
- User name if peer is updated user with new account (we apply userName
to accountId)
- Phone number if user is on old version and peer is updated user with
updated account (we keep accountId as phone number)
- User name/Phone number if peer is updated user with updated account
For backward compatibility we need to exclude the new field for
the contract json.
We can remove that after a while when risk that users with
pre 1.3.8 version trade with updated
users is very low.
Some wallets copy the address with a 'monero:' prefix. If user pastes
that directly into the form he gets a validation error. We remove now
that prefix so the input is automatically adjusted to the address only.
The p2pNetworkAndWalletReady MonadicBinding might be removed from GC
if its a local variable. I observed that in BisqSetup with a similar
setup. It might be an implementation weakness in MonadicBinding
(usage of weak references?). A tester reported that he does not see any
result, which might be cause that the service never gets the
onP2pNetworkAndWalletReady triggered if the MonadicBinding is not there
anymore.
By removing the listener we need at shutdown we need it anyway as class
field (so codacy does not complain anymore). As well added a check if
all is already complete to skip the MonadicBinding at all
(not expected case in onAllServicesInitialized).