ethereum-optimism / supersim

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

op-simulator: invariant checks for interop messages #19

Open fainashalts opened 6 days ago

fainashalts commented 6 days ago

op-simulator must check interop messages for the invariants:

  1. Timestamp invariant: the timestamp of inclusion of the executing message should be higher than the timestamp of the initiating message.
  2. ChainId invariant: The initiating message must be in the dependency set.
  3. Message expiry invariant: The timestamp of the executing message at the time of inclusion must be lower than the initiating message timestamp.

If any of these conditions is not met, then the user's RPC should fail.

Definition of Done op-simulator checks interop messages for invariants and fails the RPC if they are not met.