base-org/pessimism

No E2E Integration Between Pessimism Tests & EVM Execution Nodes

Closed this issue · 1 comments

Problem

There currently exists no end-to-end integration tests that validate Pessimism's correctness. Currently, the only way to validate the e2e (ie. block --> invariantInput-->activation-->alert) flow is via manual tests on a local instance of the application. This is problematic as:
I. Code changes that can impact correctness aren't programmatically assessed when being considered for merge
II. Performing manual validations is exhaustive and disparate from the tests in the actual repo

Problem Solution

  • [1] (#74) Re-architect the existing main caller abstractions into an Application struct that has accessor methods for starting, stopping, and calling application level methods. The Application should hold all three subsystems the http server.
  • [2] (#85) Develop a way to register downstream alert invocations. A huge part of testing will require validating that an alert actually fires given an expected sequence of blocks and transactions.
  • [3] (#85) Develop a testing framework that assess that correctness of the balance_enforcement and contract_event invariants. The existing Optimism monorepo already has a op-geth node representation that can be leveraged for these tests.

First bullet closed by #74