Skip to content
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

Update Blockchain Transition tests for BLOCKHASH refactoring EIP #167

Closed
wants to merge 1 commit into from

Conversation

gumb0
Copy link
Member

@gumb0 gumb0 commented May 11, 2017

According to EIP state after Metropolis has a special contract that gets updated on each block ethereum/EIPs#210
cpp-ethereum implementation ethereum/aleth#4066

@gumb0
Copy link
Member Author

gumb0 commented May 11, 2017

Oh I forgot that BLOCKHASH price is not updated for Metro yet in cpp implementation, so I'll need to update this PR after I implement the price change.

@gumb0
Copy link
Member Author

gumb0 commented May 11, 2017

@winsvega Why did Travis build fail here?

@gumb0
Copy link
Member Author

gumb0 commented May 11, 2017

@winsvega After changing the price of BLOCKHASH blockchain tests are fine (no Metro blockchain test uses BLOCKHASH), but the following state general tests fail:

Test Case "stRandom": 
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest109 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest113 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest127 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest128 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest132 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest140 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest141 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest152 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest165 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest168 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest181 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest182 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest186 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest193 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest203 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest213 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest218 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest21 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest224 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest234 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest235 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest239 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest240 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
24%...
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest253 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest255 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest256 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest258 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest262 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest272 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest277 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest284 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest289 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest314 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest317 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest319 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest330 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest331 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest344 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest34 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest35 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest373 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest374 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
49%...
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest390 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest392 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest394 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest400 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest403 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest40 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest427 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest431 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest432 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest434 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest44 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest453 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest459 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest463 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest479 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest486 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest490 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest492 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest515 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest522 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest529 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest530 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
74%...
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest540 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest551 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest557 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest561 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest568 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest56 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest570 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest590 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest591 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest593 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest595 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest598 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest606 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest613 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest614 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest617 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest61 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest622 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest623 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest631 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest634 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
.
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest65 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest68 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest70 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest71 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest76 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest79 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest86 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest8 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest91 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest93 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
99%...
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stRandom": randomStatetest99 Expected another postState hash! Metropolis data: 0 gas: 0 val: 0
100%

And this one:

Test Case "stSpecialTest": 
C:/dev/cpp-ethereum/test/tools/libtesteth/ImportTest.cpp(597): error: in "StateTestsGeneral/stSpecialTest": BadStateRootTx Expected another postState hash! Metropolis data: 0 gas: 0 val: 0

@gumb0
Copy link
Member Author

gumb0 commented May 19, 2017

This needs to be updated after fixing incrementing the nonce of SYSTEM_ADDRESS (it should not be incremented in each block with blockhash contract updating, as it does now in cpp implementation)

@gumb0 gumb0 force-pushed the metro-blockhash branch from ba1205d to a10d83d Compare June 1, 2017 10:18
@gumb0
Copy link
Member Author

gumb0 commented Jun 1, 2017

Updated with a fix for non-incrementing nonce.

@gumb0
Copy link
Member Author

gumb0 commented Jun 1, 2017

Replaced by #176

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants