-
Notifications
You must be signed in to change notification settings - Fork 77
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
State changes difference at mainnet's block 3101467 #806
Comments
There is absolutely zero difference in application logs for all transactions from this block. |
Some values differ, like 001e82010014611df350199588bbb136bdde68fa6909e2f4594b000400b4c40400 vs 001e8201000400b4c4040014611df350199588bbb136bdde68fa6909e2f4594b00. And it looks like it's actually a swapping problem for some two components:
|
Or even
It's a serialized map with one KV pair. |
C# pushes value and key to the stack of non-serialized items, so key gets serialized first followed by value. Fixes #806. Notice though that neither IDictionary in C#, nor map in Go have elements ordered, so we can easily get a difference in KV pairs order and it would be impossible to fix.
Confirming the fix in #808. |
Unfortunately we have a case of different elements order at block 3101822:
And it's not clear how to fix that. |
@fyrchik: I plan to rework comparison tool for this case, I don't think we can reliably reproduce C# element order (it's not sorted in any way). |
Ours:
Theirs:
The text was updated successfully, but these errors were encountered: