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.
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.