Closed kejace closed 7 months ago
I'm guessing that geth has changed the way that it deals with accessing initialized storage. If you look at the test suite, there is really only one place where this failure could occur:
(As a side note, we should really write more tests to try different kinds of null storage errors. I could swear we used to have more in the purescript-web3-tests repo that just didn't get ported over)
My guess of what's happening is that geth used to not throw an exception encoded as 0xfe ~ MissingOpcode
, but rather it used to return something f*ing dumb like 0x
which we encoded as Left NullStorageError
. Since it's now throwing an exception, assertWeb3 is picking that up in the response and rethrowing.
My proposal is that we add all kinds of new tests to see when NullStorageError
is returned vs geth throwing an exception as 0xfe
and try to get a handle on what the behavior is:
SimpleErrorTestSpec issue started after https://github.com/ethereum/go-ethereum/releases/tag/v1.9.15
@iostat hasn't this been done?
Yeah, we're testing against 1.9.x -- this issue is ancient. the 1.10+ thing should be a new issue, and is related to transaction formats
My hunch is the errors here are related to how solc compiles reverts -- or how geth is interpreting revert behavior and the fact that we use an older solc in the tests.
We had to use a tagged and older version of
cliquebait
to fix the build in #150 . The issue remains to supportlatest
, as it seems to be bundlinggeth
v1.9 and we want to support that