I’ve deployed an entrypoint contract with solc 0.8.13 and runs 200.
When I called function simuteValidation to debug_traceCall RPC from a full geth node, it should have three opcode “NUMBER” but I got zero.
After I changed the compiler version to 0.8.17 and runs 200, I got correct three opcode “NUMBER”.
So I’m wondering is this a compiler issue? I’m confused about this because both of the contracts worked well onchain (for others functions).
Deploy record on goerli:
The difference in behavior between Solidity compiler versions 0.8.13 and 0.8.17 when using
debug_traceCall is likely due to optimizations made in the compiler. These optimizations can affect the trace output, and it’s not uncommon to see variations in the opcode appearances. As long as your contract works as expected on-chain, the difference in
debug_traceCall output may not be a concern.