-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SeedNodes report duplicate TradeStatistics2 (same OfferId different Hash) #3468
Comments
great find, is it the hash function itself (would be very suprising) or something in the tojson which is non-deterministic? |
Likely its |
Do you get those differences from the rust project or from pure java code (production code)? TradeStatisics are published by both traders and as tradeDate is set locally at each user it differs and need to be ignored.
Hash takes the json (date should be excluded):
If the tradeDate is in the json the JsonExclude does not work anymore. Migh be related with the recent changes of the json library. |
The map has different content:
Seems there is a bug that buyer and seller dont add the same entries (arb). I will check, probably introduced at last release or with current release (tested on 1.2. branch). |
Yes there was a bug with buyer and seller handling old arbitrator different. I will fix and remove arbitrator entry as it is not used anymore in v.1.2. |
Thanks for finding the issue. |
Fixed with #3469 |
When requesting data from a seednode the
GetDataReponse
persistable_network_payload_items
array contains manyTradeStatistics2
messages that are actually duplicates.ie. Same
offer_id
but differenthash
fields. It appears as though this hashing function is infact non-deterministic and truly yields different results in prod in the wild (unlike the other non-deterministic hashing issue that does not appear to manifest itself).Here is an example of 2 TradingStatistics2 messages received from the seed nodes:
The text was updated successfully, but these errors were encountered: