ethereum-optimism / supersim

Local Multi-L2 Development Environment
MIT License
8 stars 0 forks source link

op-simulator: simulate `eth_sendRawTransaction` to identify interop messages #18

Open fainashalts opened 4 days ago

fainashalts commented 4 days ago

In order to determine in all cases whether an interop message is sent, we must simulate eth_sendRawTransaction, likely using debug_traceCall.

debug_traceCall is not currently supported by Anvil, though it seems the Anvil devs are open to supporting it. This task likely involves two parts:

  1. A PR into Anvil to support debug_traceCall
  2. Simulation inside of op-simulator to identify RPCs that result in interop messages.
tremarkley commented 3 days ago

should this be split into two parts? the first being a static analysis and the second being the PR into anvil to support debug_traceCall?

fainashalts commented 3 days ago

@tremarkley yeah I think that would be ok. The reason I didn't do so was I felt like we probably wouldn't release the tool until we can simulate, so I wondered whether we should spend engineering time on the static analysis part. What do you think?

tremarkley commented 3 days ago

@fainashalts yeah, I think the right call is to prioritize adding debug_traceCall to Anvil. If for some reason we can't get that supported or it significantly increases the scope of this, then we can consider fallback options (e.g. static analysis)