Interop: local devnet
Description
Local docker-compose to run an interop devnet.
Builds on top of https://github.com/ethereum-optimism/optimism/pull/11589
TODO:
- [x] implement CLI around
interopgenpackage to build the genesis / config data needed - [x] ~adapt docker compose or entry-points, to configure sequencer/proposer/batcher/etc. keys using interop devkeys package.~ generate env files with keys retrieved from devkey CLI.
Tests
Please describe any tests you've added. If you've added no tests, or left important behavior untested, please explain why not.
Metadata
Fix https://github.com/ethereum-optimism/optimism/issues/11306
Semgrep found 3 sol-style-return-arg-fmt findings:
Named return arguments to functions must be appended with an underscore (_)
Semgrep found 1 sol-style-notice-over-dev-natspec finding:
Prefer @notice over @dev in natspec comments
Semgrep found 30 port-all-interfaces findings:
- interop-devnet/docker-compose.yml
Service port is exposed on all interfaces
Ignore this finding from port-all-interfaces.
Ready for review, but do not merge yet, as this is stacked on top of the interop-gen PR, which is not in a state where it can be merged into develop yet (due to pre-OPSM deploy workarounds).
Sorry for the notification noise y'all. Big rebase, change of base branch, ended up with develop commits temporarily in this PR diff.
Rebase complete, but need to test run it with latest changes. Will work on that after sorting our some remaining work on the interop deposits side.
Rebased on latest interopgen2. Will try and testrun this tomorrow, but think the op-e2e tests are more productive first, since there are some quirks with safety progression of op-node with empty op-supervisor DB, as found by @axelKingsley
Semgrep found 25 port-all-interfaces findings:
- interop-devnet/docker-compose.yml
Service port is exposed on all interfaces
Ignore this finding from port-all-interfaces.
On the latest runs, I see Unsafe, Safe and Finalized update when and as needed. Recent clean runs have connected without issue and make the progress expected from the network. On occasion I've seen issues where the Finalized head can't be fetched from the Supervisor, but I believe the latest fixes have eliminated this.