Client: fix more hive RPC-Compat tests #3503
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To run, setup local hive with EthereumJS
clients/ethereumjs
has a clonedethereumjs-monorepo
clients
, you renameDockerfile.local
toDockerfile
./hive --sim ethereum/rpc --client ethereumjs --sim.limit rpc-compat
Before: 16/90 failed, after: 13/90 failed
Side note: in order to run EthereumJS in hive with TS-node from the source, change
ethereumjs-local.sh
:ethereumjs="node /ethereumjs-monorepo/packages/client/dist/esm/bin/cli.js"
To
ethereumjs="tsx /ethereumjs-monorepo/packages/client/bin/cli.ts"
And ensure that in
Dockerfile
(the renamedDockerfile.local
) you installtsx
:Failing tests overview
eth_call/call-callenv
- the test expects us to return 0 on theBASEFEE
opcode it seems, but this does not seem correct to meeth_call/call-contract
- tests calls into a contract which loads theCALLDATASIZE
, and if its nonzero it reverts (it seems to push some string on the stack). The test however expects us to return a completely different value (and I do not understand why)I investigated the other tests but it is not clear why those fail to me (or they are simply too complex to implement, for instance decode the ABI revert data into human readable strings)