Closed danjm closed 5 years ago
Hi @danjm, thanks for all this work!
You don't have to take for granted that the test files (respectively all test cases in it) are valid, these may very well be an issue with the tests itself. In doubt open an issue over on the tests repository.
Ok, merged #130. 😄
Closing as relevant changes are now included in https://github.com/ethereumjs/ethereumjs-tx/pull/131
This PR builds off the changes in #130 and is needed to get a number of tests passing after the test rewrite in #131
Before this can be merged, we will need to merged those and rebase this on top of it. I am posting this PR now as the code changes were useful to me in verifying the work of #130 and #131
It should be noted that there are still failures from 12 test files after this PR. All of these failures are cases where the transaction should be invalid on 'Byzantium', 'Constantinople', and 'EIP158'/spuriousDragon. However I have spent an significant amount of time investigating those failures and cannot determine there cause. In fact, the transactions from at least two of these test cases are valid when creating them from their test file data in geth (https://github.com/ethereum/go-ethereum/compare/master...danjm:demo-WrongVRSTestVEqual39-validity?expand=1) even though the test file asserts that they should be invalid.
I will continue to investigate these issues, however we may wish to merge this PR before the final test cases are resolved, as this PR increase our overall coverage/support for 'Byzantium', 'Constantinople', and 'EIP158'/spuriousDragon