-
Notifications
You must be signed in to change notification settings - Fork 322
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
Istanbule #628
Conversation
I tested one of these, getting errors:
So, basically,
Any idea why that would be? Is it possible to compare the traces with what you have? |
This is my post-state dump {
"name": "balance",
"pass": false,
"fork": "Istanbul",
"error": "post state root mismatch: got f7a339c45ef0416f9510ecffbbf6b33a92e48e3e4e3411d0fc58d06507c895ba, want ab994f2aec0b19c80b5ae8bd380aaea9c51f5dec81efc8fc9882dfc6f3b91ccb",
"state": {
"root": "f7a339c45ef0416f9510ecffbbf6b33a92e48e3e4e3411d0fc58d06507c895ba",
"accounts": {
"0x095e7baea6a6c7c4c2dfeb977efac326af552d87": {
"balance": "1000000000000100000",
"nonce": 0,
"root": "d21666f10c9002aff6a5ab0ed905be5033b36488e56074e259e7d63a4d902dff",
"codeHash": "2012537f03e1d111ae5709bd80f4ad3bf9895640dca549539823c3dabd98ca4d",
"code": "73a94f5374fce5edbc8e2a8697c15331677e6ebf0b316000555a600155",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000000": "0de0b6b3a75c5ee0",
"0x0000000000000000000000000000000000000000000000000000000000000001": "057794"
}
},
"0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba": {
"balance": "61711",
"nonce": 0,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
},
"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b": {
"balance": "999999999999838289",
"nonce": 1,
"root": "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"codeHash": "c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
}
}
}
} |
"code" : "0x73a94f5374fce5edbc8e2a8697c15331677e6ebf0b316000555a600155", | ||
"storage" : { | ||
"0x00" : "0x0de0b6b3a75c5ee0", | ||
"0x01" : "0x0578c0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm getting 0x057794
, which is exactly 300
less
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect that this file was generated with BALANCE
cost at 400
, not increased to 700
, which is why this file has 300
more gas remaining after the execution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs to be regenerated with gascost for BALANCE
at 700
Aha! It was generated by geth/retesteth! You will need ethereum/go-ethereum#19993 in order to do this |
"value" : -1 | ||
}, | ||
"//comment" : "hard fork order: Frontier, Homestead, EIP150, EIP155, Byzantium, Constantinople, ConstantinopleFix", | ||
"network" : [">=ConstantinopleFix"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this supposed to be [>=Istanbul]
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With Retesteth config files you can specify your own Fork names and fork order
This is a workshop branch for the demonstration at Ethereum Berlin Dappcon |
Would be nice to have this at the debug RPC '{"pc":0,"op":115,"gas":"0x5c878","gasCost":"0x3","memory":"0x","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH20","error":""} {"pc":21,"op":49,"gas":"0x5c875","gasCost":"0x2bc","memory":"0x","memSize":0,"stack":["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"],"depth":1,"refund":0,"opName":"BALANCE","error":""} {"pc":22,"op":' |
Yes, although, it could be very very big. Otoh, if you have the filled test, it's easy to just run it and obtain the trace via |
With evm trace rpc it is possible to run one test on both clients and determine exact step the mismatch has occurred |
No description provided.