- Make entrySet final
- Avoind unneeded wrapping
- Remove visibility of entrySet
- Add getAddressEntriesAsListImmutable method. This is the only access for the hashSet
so we ensure it cannot be changed from outside.
- Remove stream() method
- Remove unused return types
- Improve some stream structures
- Renaming, improve comments
In dev testing I got the case of duplicated address entries and thus
incorrect balance. I could not reproduce it later but looking in the
AddressEntry code it was unsafe using the add operation on list without
a contains check. Better instead to use a HashSet and avoid possibility
of duplicated entries by the chosen data structure.
Note that the protobuf representation is still a list and get converted
to a HashSet.
* If Tor *.onion hostname, use HTTP with Tor proxy
* If 127.0.0.1 or localhost, use HTTP without Tor proxy
* If LAN address or *.local FQDN, use HTTP without Tor proxy
* If any other FQDN hostname, use HTTPS with Tor proxy
Fix missing CSS color code xmr-orange, was missing from dark mode.
Fix log message spelling/typo errors.
Removed 2 fixes from SellerStep3View so that chimp1984 can make
changes.
Remove address validator from XMR service address settings because
it does not support https prefix.
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.
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.
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.
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).