Open Bobface opened 3 years ago
@Bobface can you run ./optimism-integration/pull.sh
and try again? We recently made a change to our contracts that should fix this problem.
And thank you again for opening issues here :-) it means a lot that you're willing to take the time
Sure, no need to thank me :) I'm glad for every bug we can get fixed this way.
I ran docker-compose pull
to get the latest images, but the bug is still happening. Here is the output of docker image ls --digests
:
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
ethereumoptimism/deployer latest sha256:2bda1e5f9d6b67fcd05d0950e9f5f9b5dda42ba3d8e6b89fe58119ec7235a712 8321f87e3158 17 hours ago 1.52GB
ethereumoptimism/batch-submitter latest sha256:8f6ef6f78b075be85951fb1f7666c838c4a4b39862d8c990833e4f0e8a084375 4426dcbe370d 32 hours ago 1.49GB
ethereumoptimism/data-transport-layer latest sha256:ef5895a30ef6c8a8a4f7b73657a8141235f2bf2630c048ee032c8da3884ed2b0 be612ac6f0ae 3 days ago 1.39GB
ethereumoptimism/deployer <none> sha256:1173f0b6d754783dad0a65da948d13a1937a9d889520c0af96e6529e2b25d354 2a04a9dec939 4 days ago 1.52GB
ethereumoptimism/batch-submitter <none> sha256:256b5bb86492051fee93978a2a6c467e70770c4c5b833b4bb8e94b35765aa468 481353b77c59 4 days ago 1.51GB
ethereumoptimism/integration-tests latest sha256:76a9cbecfd8850ecdc295e3d5b1f28c627ee25585d1cb29136bc7f7790265cbe 96f18e75b096 5 days ago 2.25GB
ethereumoptimism/go-ethereum latest sha256:7f08d062ab6aa3a5d1854cbb614237d83771e875f292f9bcdc7d2a567c40e3bc 779ab29798eb 5 days ago 869MB
ethereumoptimism/message-relayer latest sha256:e817a730b6857ec2ba35db7fb09fd2838239381d267b5be00b5b1204c8a02087 af40f86ed090 7 days ago 1.25GB
ethereumoptimism/hardhat latest sha256:225b659975ce950427e853df0044aa0c003141f8bfb8a61210f53233ee2ed394 7da463caaa32 10 days ago 1.53GB
@smartcontracts I was able to reproduce this on the offical Kovan testnet:
Deploy Tx with Receipt Status 0x1
Deployed contract with bytecode 0x
.
Hmmm I would expect this to be happening on Kovan, but not on the latest images. Will give this a shot locally myself, one moment please!
Okay I can reproduce this locally. I think this is very likely to be a problem with ./up.sh
and not with @eth-optimism/plugins
. We recently made a change that should have fixed this issue (specifically here: https://github.com/ethereum-optimism/contracts/pull/308).
I managed to isolate the issue to our error parsing logic in geth: https://github.com/ethereum-optimism/go-ethereum/blob/2e468279837326ed882c9a2ea11ccebf1a17b60d/core/vm/evm.go#L380-L438
This is a known problem and we're planning to modify our contracts so that we can entirely remove this logic. I'll push on this harder so we can get a fix out ASAP.
Going to leave this open until the issue is fixed in Geth.
When deploying a contract with
l2ethers
to a localoptimism-integration
OVM node, a failing deployment is reported as successful.Test code excerpt:
Deploy transaction:
Receipt:
Checking the deployed bytecode:
At the end, the
await ideaTokenExchange.getOwner()
call fails because there is no bytecode at that address.Also, the deployment works when running the test with the built-in Hardhat network with
l2ethers
.Output from
optimism-integration
:Does this mean the contract did not pass the bytecode safety check?
Reproduce