0xPolygonHermez / cdk-erigon

Ethereum implementation on the efficiency frontier
GNU Lesser General Public License v3.0
35 stars 39 forks source link

[RPC] option for adding a contract to the witness every time #1457

Closed hexoscott closed 2 days ago

hexoscott commented 1 week ago

We are seeing some behaviour on certain networks where the executor is fine with our witness and batch bytes and gives us a matching state root etc. but when the prover receives the same witness it reports a missing key.

So far with the information we have this seems to be centred around the GER contract and a missing slot.

The task is to add in a new flag that accepts a CSV of contract addresses, something like zkevm.forced-witness-addresses. When generating the witness we read these contracts and always include their full state in the witness. This will allow us to get the network operating with a slightly larger witness size but much smaller than sending the entire state to the prover.

hexoscott commented 2 days ago

This is now in place with the zkevm.witness-contract-inclusion flag