Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
48e52dc
op-program/host: have prefetcher use new beacon API (not `blob_sideca…
geoknee Oct 8, 2025
6971ada
feat(op-acceptance-tests): flake-shake; tweaks (#17780)
scharissis Oct 8, 2025
ca80499
fix(circleci): always run contracts-bedrock-build before docker-build…
bitwiseguy Oct 8, 2025
d1a0c5e
Interfaced CLI Context (#17759)
axelKingsley Oct 9, 2025
1373e83
op-node: Initialization Control Refactor (#17766)
axelKingsley Oct 9, 2025
0d35052
vm-runner: Annotate logs with a trace id for runs (#17801)
Inphi Oct 9, 2025
1667684
op-deployer: add cli-level bootstrap integration tests (#17803)
bitwiseguy Oct 9, 2025
2d77b27
tests: Re-enable Interop Proof Acceptance Tests (#17770)
axelKingsley Oct 9, 2025
aa3728e
chore(op-acceptance-tests): flake-shake; test promotions (#17804)
opgitgovernance Oct 9, 2025
0f7eac0
feat(ai-eng): release v1.0.0 production-Ready Contracts Test Maintena…
aliersh Oct 9, 2025
59b39f1
feat(op-acceptance-tests): flake-shake; fixes and improvements (#17811)
scharissis Oct 10, 2025
c1d1f15
op-node: allow for L2 chain configs to be passed to NewL1ChainConfig …
geoknee Oct 10, 2025
d92bf30
op-devstack: Error handle when direct FCU call errored (#17816)
pcw109550 Oct 10, 2025
dc558e7
Add SaferSafes as child of the module and guard (#17767)
maurelian Oct 10, 2025
e456340
txmgr: replace `UseCellProofs` flag with `CellProofTime` flag (#17649)
geoknee Oct 10, 2025
9c98587
acceptance-tests: force batcher to use cell proofs in osaka test (#17…
geoknee Oct 10, 2025
35b7245
op-{sync-tester|devstack}: Support multiple EL Sync Runs (#17800)
pcw109550 Oct 10, 2025
dfdf292
docs(ai-eng): update documentation for contract test maintenance syst…
aliersh Oct 10, 2025
1784818
fix(op-acceptance-tests): flake-shake; fix ci. (#17823)
scharissis Oct 11, 2025
cbc343d
fix(circleci): ensure contracts-bedrock-build runs in release workflo…
bitwiseguy Oct 11, 2025
0c68e87
op-dispute-mon: distinguish 404 from output root not found (#17819)
pauldowman Oct 12, 2025
2ab9b68
op-deployer: fix, support, test upgrades up to v4.1.0 (#17824)
bitwiseguy Oct 13, 2025
bc567b9
fix(op-acceptance-tests): flake-shake; misc. fixes (#17830)
scharissis Oct 13, 2025
4fb04a2
chore(op-acceptance-tests): flake-shake; TestL2ELP2PCanonicalChainAdv…
scharissis Oct 13, 2025
96b9208
chore(op-acceptance-tests): flake-shake; resource class (#17847)
scharissis Oct 14, 2025
27a87b9
chore(op-acceptance-tests): flake-shake; tweaked default workers. (#1…
scharissis Oct 14, 2025
b95dbc1
fix(ai-contracts-test): always fetch develop branch for artifact excl…
aliersh Oct 14, 2025
3c82c3f
all: Add DA footprint configurability via SystemConfig (#17466)
joshklop Oct 14, 2025
8b90c8f
opcm: Update OPCM.deploy to use v2 games (#17408)
stevennevins Oct 14, 2025
1b00fb5
feat(op-acceptance-tests): moved notifications to Slack (#17843)
scharissis Oct 14, 2025
197631a
chore(op-acceptance-tests): op-acceptor v3.6.0 (#17842)
scharissis Oct 14, 2025
3714b32
op-acceptance-tests: Integration test for op-deployer add-game-type (…
Inphi Oct 14, 2025
1ea0803
chore(op-acceptance-tests): flake-shake; test promotions (#17851)
opgitgovernance Oct 15, 2025
4b59c05
make solidity upgrade test run for base ink and unichain, update fork…
AmadiMichael Oct 15, 2025
85d9c9b
op-supernode: Initial Chain Container Framework (#17659)
axelKingsley Oct 15, 2025
1350f38
remove unused superchainProxyAdmin immutable variable from OPCM (#17828)
AmadiMichael Oct 15, 2025
66e1ddc
refactor(test): improve ResourceMetering test coverage and quality (#…
devin-ai-integration[bot] Oct 15, 2025
a34c18b
feat(ai-contracts-test): add Slack notifications and bug fixes (v1.1.…
aliersh Oct 15, 2025
c49b116
feat: reduce lite profile fuzz runs (#17877)
smartcontracts Oct 15, 2025
4f3da82
fix(acceptance-tests/op-reth): fix acceptance tests for op-reth (#17882)
theochap Oct 15, 2025
4554c9f
op-dispute-mon: Consider node invalid if it has not processed L1 past…
ajsutton Oct 15, 2025
a40c155
Update TODO with more granular issue number (#17885)
pauldowman Oct 15, 2025
a30a00a
refactor(test): improve ReinitializableBase test organization (#17839)
devin-ai-integration[bot] Oct 16, 2025
4b102be
op-acceptance-tests: Retry FCU for triggering EL Sync (#17894)
pcw109550 Oct 16, 2025
aeed703
feat: implement Operator Fee Fix (Jovian) (#17366)
fakedev9999 Oct 16, 2025
c3bc858
op-acceptance-tests: Reorg then gap filling tests (#17893)
pcw109550 Oct 16, 2025
06a14a0
add TestEndToEndBootstrapApplyWithUpgrade and UpgradeSuperchainConfig…
AmadiMichael Oct 16, 2025
823ebfb
refactor(test): improve SafeSend test coverage and quality (#17896)
devin-ai-integration[bot] Oct 16, 2025
10a7640
supernode: update readme (#17878)
axelKingsley Oct 16, 2025
3bdc740
make all _TestInit contracts abstract (#17889)
maurelian Oct 16, 2025
fde6441
fix(op-acceptance-tests): flaky tests; less filtering (#17891)
scharissis Oct 16, 2025
be7bd42
op-devstack: dynamically assign geth subprocess p2p listening port (#…
joshklop Oct 16, 2025
515f0c1
fix: no env var manipulation in VerifyOPCM tests (#17813)
smartcontracts Oct 16, 2025
8d7ef29
op-deployer: re-enable v3 upgrade test with new fork blockNum (#17852)
bitwiseguy Oct 16, 2025
55150e4
Set v0.1.0 and Docker Image Target (#17906)
axelKingsley Oct 16, 2025
4b37137
op-acceptance-tests: ELP2P down but payload appendable till chain tip…
pcw109550 Oct 17, 2025
d7d8791
add KONA_LOG_LEVEL (#17496)
DenseDenise Oct 17, 2025
1261c43
op-acceptance-tests: disable discovery for test (#17918)
nonsense Oct 17, 2025
69bd381
all: Update op-geth to use blobGasUsed field for DA footprint (#17861)
sebastianst Oct 17, 2025
9e29ba4
op-fetcher: Support the CANNON_KONA FaultDisputeGame (#17656)
Inphi Oct 17, 2025
3fac561
op-conductor: use op-service HTTP Server for Flashblocks ; fix test f…
axelKingsley Oct 17, 2025
7221832
Disable the guard upon ownership transfer (#17808)
maurelian Oct 18, 2025
e501362
proofs: Pass game type as a CWIA arg instead of a constructor arg (#1…
ajsutton Oct 19, 2025
8a2804f
fix(Makefile): remove Makefile sharding; rely on (op-e2e) in-test sha…
scharissis Oct 20, 2025
b9b1429
ci: Use a fixed version of mise in golang docker builds (#17954)
ajsutton Oct 20, 2025
4ecf8ac
op-devstack/dsl/operator_fee: compute expected vault increase from al…
geoknee Oct 21, 2025
aef7a88
ci: Clean up op-deployer caches (#17959)
mslipper Oct 21, 2025
49bc553
chore(op-acceptance-tests): flake-shake; test promotions (#17951)
opgitgovernance Oct 21, 2025
a492f73
fix(op-acceptance-tests): flake-shake; slack notification channel. (#…
scharissis Oct 21, 2025
48ff55d
opcm: Update upgrade method for disputegame-v2 (#17874)
Inphi Oct 21, 2025
aca9c3f
remove dead code (#17937)
geoknee Oct 21, 2025
a7c92d8
op-node: Fix gossip validation for Jovian blocks (#17940)
sebastianst Oct 21, 2025
32b170b
Update ManageDrippie.s.sol (#17717)
viktorking7 Oct 21, 2025
bb24f93
remove the superchainProxyAdmin input from upgradeSuperchainConfig fu…
AmadiMichael Oct 21, 2025
96fea29
Require that msgSender be an owner of the Safe (#17900)
maurelian Oct 21, 2025
dc43a31
op-service: improve beacon client robustness (#17866)
joshklop Oct 21, 2025
773798a
GasPriceOracle: remove saturating math from getOperatorFee (jovian) (…
geoknee Oct 21, 2025
b940308
fix(op-deployer): use temp cache dir for cli tests (#17965)
bitwiseguy Oct 21, 2025
4e57f1e
Improve SaferSafes test suite. (#17949)
maurelian Oct 21, 2025
eed9012
feat: IERC165 support on SaferSafes (#17864)
JosepBove Oct 21, 2025
6fa1e07
opcm: Add support for V2 contracts in addGameType (#17782)
ajsutton Oct 21, 2025
7b57030
Update contracts release documentation (#17719)
maurelian Oct 21, 2025
cca18bc
op-node: revive async block processing timing log (#17915)
bitwiseguy Oct 21, 2025
4889b66
fix: update cache paths, and make sure to save cache (#17968)
mds1 Oct 21, 2025
a3f8850
op-challenger: Support retrieving the oracle and prestate via game ar…
ajsutton Oct 21, 2025
07a6044
Upgrade Gnosis Safe libs to 1.4.1 (#17962)
alcueca Oct 21, 2025
2d9ada9
docs(op-batcher): Add runtime batcher flushing instructions (#17967)
geoknee Oct 22, 2025
8405ea1
update jovian upgrade transactions (#17971)
geoknee Oct 22, 2025
8288913
op-devstack: L2EL Engine API support: op-reth (#17964)
pcw109550 Oct 22, 2025
8d89359
op-chain-ops/genesis: add `MinBaseFee` to `L2InitializationConfig` (#…
geoknee Oct 22, 2025
e395e0a
feat: add op-supernode to be published (#17970)
jelias2 Oct 22, 2025
d3abbbd
Address potential reentrancy vector on LivenessModule2 (#17975)
alcueca Oct 22, 2025
56f5a97
chore(ci): go-tests parallelism. (#17974)
scharissis Oct 22, 2025
3b0bfac
opcm: Support v2 games for updatePrestate (#17956)
Inphi Oct 22, 2025
b5dacb0
refactor(prompt): enhance test quality guidance and add commit strate…
aliersh Oct 22, 2025
9f37600
circleci: reduce parallelism 3 -> 2 for go-tests job (#17988)
bitwiseguy Oct 22, 2025
690a1a6
dispute-mon: log RPC URLs on startup (#17986)
pauldowman Oct 22, 2025
1f22011
Update natspec in SaferSafes (#17976)
alcueca Oct 22, 2025
8c18391
go: update op-geth import to include worldchain-sepolia isthmus time …
bitwiseguy Oct 23, 2025
32d2b05
opcm-standard-validator: Re-enable tests for v2 contracts, validate p…
mbaxter Oct 23, 2025
74fe35c
fix(op-acceptance-tests): flake-shake; job URL. (#17993)
scharissis Oct 23, 2025
718de41
refactor(test): improve L1FeeVault test coverage and quality (#17934)
devin-ai-integration[bot] Oct 23, 2025
5f5e50f
op-node/rollup: Drop non-empty batches for Jovian activation block (#…
sebastianst Oct 23, 2025
59e8672
Move state changes to checkTransaction (#17995)
alcueca Oct 23, 2025
7a1c595
op-e2e/actions: Add Jovian DA footprint test (#17947)
sebastianst Oct 23, 2025
eda0db3
opcm: Do not deploy the V1 dispute game blueprints when V2 is enabled…
ajsutton Oct 23, 2025
3c326a7
SaferSafes: Fix version checks (#18004)
maurelian Oct 23, 2025
f1538a6
op-deployer: Add upgrade integration test for DEPLOY_V2_DISPUTE_GAME …
Inphi Oct 23, 2025
9a76ae3
fix: stop graphite complaining about versions (#18000)
smartcontracts Oct 23, 2025
9ce47a2
op-deployer: Migrate DeployImplementations tests to use feature flags…
mbaxter Oct 23, 2025
53e2d94
op-deployer: run TestCLIBootrap subtests with isolated anvil env (#18…
bitwiseguy Oct 23, 2025
423289f
fix(op-deployer): avoid embedded artifacts recompilation (#17699)
serpixel Oct 23, 2025
cb54822
feat: use a nonce for timelock configuration (#17999)
smartcontracts Oct 24, 2025
a73f968
refactor(prompt): shift commit strategy from phase to logical approac…
aliersh Oct 24, 2025
3679af7
docs: update opcm release docs and just recipe (#18012)
bitwiseguy Oct 24, 2025
b76b4b7
Enable verbose logging in artifacts publish (#18015)
mslipper Oct 24, 2025
9e3254b
go: update op-geth import to include scr jovian timestamps (#18016)
bitwiseguy Oct 24, 2025
bd2da20
chore: update contract codeowners so 2 reviewer rule doesn't apply wh…
mds1 Oct 24, 2025
3a372df
op-deployer: harden TestImplementations and cli_runner (#18019)
bitwiseguy Oct 24, 2025
a3fd9f4
proofs: Migrate SuperFaultDisputeGame to creator pattern (#17981)
Inphi Oct 25, 2025
1755279
chore: Stabilize & simplify docker build (#18013)
janjakubnanista Oct 25, 2025
c0f3e88
fix runEndToEndBootstrapAndApplyUpgradeTest test (#18023)
AmadiMichael Oct 26, 2025
d5c621b
op-e2e: Update DisputeGameFactoryHelper to use production contract bi…
ajsutton Oct 27, 2025
d242f9f
op-deployer: Fix error handling in add_game_type CLI parsing. (#18026)
ajsutton Oct 27, 2025
f040eb0
op-acceptance-tests: Deflake: EL Syncing happens Async (#18029)
pcw109550 Oct 27, 2025
722293a
Bump logo (#18030)
pcw109550 Oct 27, 2025
478ab69
op-deployer: remove legacy DeployDisputeGame.s.sol (#18002)
bitwiseguy Oct 27, 2025
bb8a9ef
test(contracts-bedrock): add version test for BaseFeeVault (#17996)
devin-ai-integration[bot] Oct 27, 2025
508051d
op-contracts: remove DeployAuthSystem.s.sol (#18033)
bitwiseguy Oct 27, 2025
84152b2
ci: Put go tests on regular runners (#18032)
mslipper Oct 27, 2025
2de5c91
ci: fix op-e2e-fuzz (#18041)
Inphi Oct 27, 2025
ed77e07
add u17 audit report (#18043)
geoknee Oct 27, 2025
fd576a8
op-program: new accelerated precompile input limits for Jovian (#18042)
pauldowman Oct 28, 2025
d985c50
fakebeacon: align mock with post-Fulu L1 CL behavior (#17881)
joshklop Oct 28, 2025
1fea4f9
op-acceptance-tests: various improvements to the Fusaka acceptance te…
joshklop Oct 28, 2025
9f00744
op-acceptance-tests: Edge cases with engine APIs (#18001)
pcw109550 Oct 28, 2025
2fdd970
go: Update op-geth dependency to update Jovian timestamps (#18048)
sebastianst Oct 28, 2025
53432e2
go: Update op-geth dependency to include Jovian receipt changes (#18046)
sebastianst Oct 28, 2025
971c25e
chore: Bump circleci-utils orb (#18008)
janjakubnanista Oct 28, 2025
2b4ff2b
sysext: correctly populate address configuration (#17771)
joshklop Oct 28, 2025
409c1df
op-devstack: give more time for l2 to include bridge tx (#17772)
joshklop Oct 28, 2025
94e11a2
op-acceptance-tests: fix test due to geth breakage (#17757)
joshklop Oct 28, 2025
3aecb56
feat: fix test eth amounts to be smaller (#18044)
jelias2 Oct 28, 2025
7b9171e
ctb: Skip blueprint DG impl verification (#18054)
Inphi Oct 28, 2025
9a911ec
cannon: Default to cannon VM version 8 (#18062)
mbaxter Oct 28, 2025
3ebc323
tests: Non-zero prestate when running DeployDisputeGame (#18057)
Inphi Oct 28, 2025
3425078
devstack: Enable individual dev features instead of replacing the who…
ajsutton Oct 28, 2025
893b8af
op-acceptance-tests: fix two papercuts (#18067)
joshklop Oct 29, 2025
ad16c94
cannon: Include state version in witness output (#18068)
ajsutton Oct 29, 2025
0411e06
chore: Go cache for several uncached builds (#18056)
janjakubnanista Oct 29, 2025
f1f3c66
refactor: remove redundant error checks in deriver (#18069)
asamuj Oct 29, 2025
90cb33c
cannon: Rework cannon "next" vm handling in e2e tests (#18064)
mbaxter Oct 29, 2025
4f99899
op-service/apis: remove redundant interface (#18049)
joshklop Oct 29, 2025
47315de
forklive: Use v2 DG ABI accordingly (#18065)
Inphi Oct 29, 2025
0223765
feat: cleanup contracts CI and properly run dev feature tests (#18051)
smartcontracts Oct 29, 2025
f7f000f
op-devstack: fix TestSubProcess flake (#17815)
joshklop Oct 29, 2025
0954111
Enable monitoring in sysgo (#18017)
op-will Oct 29, 2025
3198a9e
op-acceptance-tests: bump spammer budget (#18080)
joshklop Oct 29, 2025
e8065c0
chore(op-acceptance-tests): ci; kurtosis defaults to cci runner (#18083)
scharissis Oct 30, 2025
beca830
opcm-standard-validator: Add validation for CANNON_KONA games (#18050)
mbaxter Oct 30, 2025
2d45854
fix(op-batcher): exempt generic da from max input size (#18074)
mslipper Oct 30, 2025
93574af
add `Test_ProgramAction_OperatorFeeFixTransition` (#17925)
geoknee Oct 30, 2025
5bb9e8f
remove proxyAdmin inputs from opcm and sv, derive it from the sysCfg,…
AmadiMichael Oct 30, 2025
4489052
chore: Bump kona version in docker build (#18094)
Inphi Oct 30, 2025
02032ee
ctb: Fix OPCM std validator test setup for v2 DG (#18066)
Inphi Oct 30, 2025
a5b184e
op-deployer: Add flags for new v2 dispute game implementations option…
ajsutton Oct 30, 2025
a9ab3ee
chore(op-acceptance-tests): op-acceptor v3.6.1 (#18086)
scharissis Oct 31, 2025
60f0c8d
opcm: Add CANNON_KONA support for opcm.upgrade (#18059)
Inphi Oct 31, 2025
e507a65
op-acceptance-tests: Improve DA footprint test stability (#18098)
sebastianst Oct 31, 2025
56d83c7
test(contracts): enhance L2ToL1MessagePasser test coverage and organi…
devin-ai-integration[bot] Oct 31, 2025
1852e58
test: enhance OperatorFeeVault test coverage and organization (#18087)
devin-ai-integration[bot] Oct 31, 2025
bfc4cce
op-deployer: Support working with V2 fault dispute game contracts (#1…
ajsutton Oct 31, 2025
eafce0b
op-acceptance-tests: fix operator fee test (#18104)
joshklop Nov 1, 2025
0250809
opcm: Set cannon_kona init bond during upgrade (#18100)
Inphi Nov 2, 2025
ffd02b0
op-dispute-mon: node endpoint error metrics (#17622)
pauldowman Nov 2, 2025
7bba2b0
mise: Define fake install sources for disabled tools (#18109)
ajsutton Nov 3, 2025
ca97d35
remove DeployProxy (#18122)
AmadiMichael Nov 3, 2025
bf196f9
all: Move fork names into new op-core/forks package (#18121)
sebastianst Nov 3, 2025
f55af96
fix: use default mips version and use local op-deployer (#18129)
mds1 Nov 3, 2025
9750aa4
feat: Use build-no-tests in op-deployers just build command (#18130)
maurelian Nov 3, 2025
db05fc8
fix(prompt): add guidance to skip unrelated CI failures (#18127)
aliersh Nov 3, 2025
c1351bf
feat(ci): run upgrade tests with dev flags (#18133)
smartcontracts Nov 3, 2025
1b830b2
opcm: Update OPCM.migrate to support Cannon-Kona games (#18078)
mbaxter Nov 3, 2025
f32d61f
fix(op-deployer): update justfile to use current CLI flags (#18143)
mds1 Nov 3, 2025
94706ec
all: update op-geth to pull in fusaka and jovian timestamps (#18131)
joshklop Nov 4, 2025
cb9e2fd
Merge tag 'op-node/v1.16.1' of https://github.com/ethereum-optimism/o…
iquidus Nov 12, 2025
afe2dd0
fix(test): fixes daclient tests after upstream merge
iquidus Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .cursor/rules/solidity-styles.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ Applies to Solidity files.
- `minor`: changes that modify bytecode OR expand ABI without breaking existing interface
- `major`: changes that break existing interface OR modify security model

AI code review tools should NOT comment on the choice of version increment.

## Dependencies
- Prefer OpenZeppelin's Upgradeable contracts for basic functionality

Expand Down
5 changes: 4 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@
/.cursor/rules/solidity-styles.mdc @ethereum-optimism/contract-reviewers

# Contracts
/packages/contracts-bedrock @ethereum-optimism/contract-reviewers #[min:2]
# We require a minimum of 2 reviewers for all changes to the contracts-bedrock
# directory unless only markdown files are being changed.
/packages/contracts-bedrock/** @ethereum-optimism/contract-reviewers #[min:2]
/packages/contracts-bedrock/**/*.md @ethereum-optimism/contract-reviewers

# Security docs
/docs @ethereum-optimism/evm-safety
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
[submodule "packages/contracts-bedrock/lib/safe-contracts"]
path = packages/contracts-bedrock/lib/safe-contracts
url = https://github.com/safe-global/safe-contracts
branch = v1.4.0
branch = v1.4.1
[submodule "packages/contracts-bedrock/lib/kontrol-cheatcodes"]
path = packages/contracts-bedrock/lib/kontrol-cheatcodes
url = https://github.com/runtimeverification/kontrol-cheatcodes
Expand Down
19 changes: 17 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,10 @@ op-dispute-mon: ## Builds op-dispute-mon binary
make -C ./op-dispute-mon op-dispute-mon
.PHONY: op-dispute-mon

op-supernode: ## Builds op-supernode binary
just $(JUSTFLAGS) ./op-supernode/op-supernode
.PHONY: op-supernode

op-program: ## Builds op-program binary
make -C ./op-program op-program
.PHONY: op-program
Expand Down Expand Up @@ -224,7 +228,17 @@ TEST_PKGS := \
./op-e2e/e2eutils/... \
./op-e2e/opgeth/... \
./op-e2e/interop/... \
./op-e2e/actions/... \
./op-e2e/actions/altda \
./op-e2e/actions/batcher \
./op-e2e/actions/derivation \
./op-e2e/actions/helpers \
./op-e2e/actions/interop \
./op-e2e/actions/proofs \
./op-e2e/actions/proposer \
./op-e2e/actions/safedb \
./op-e2e/actions/sequencer \
./op-e2e/actions/sync \
./op-e2e/actions/upgrades \
./packages/contracts-bedrock/scripts/checks/... \
./op-dripper/... \
./devnet-sdk/... \
Expand All @@ -233,7 +247,8 @@ TEST_PKGS := \
./op-deployer/pkg/deployer/artifacts/... \
./op-deployer/pkg/deployer/broadcaster/... \
./op-deployer/pkg/deployer/clean/... \
./op-deployer/pkg/deployer/integration_test/... \
./op-deployer/pkg/deployer/integration_test/ \
./op-deployer/pkg/deployer/integration_test/cli/... \
./op-deployer/pkg/deployer/standard/... \
./op-deployer/pkg/deployer/state/... \
./op-deployer/pkg/deployer/verify/... \
Expand Down
12 changes: 6 additions & 6 deletions cannon/Dockerfile.diff
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ ARG GIT_DATE

ARG TARGETOS TARGETARCH

FROM --platform=$BUILDPLATFORM us-docker.pkg.dev/oplabs-tools-artifacts/images/cannon:v1.5.0-alpha.1 AS cannon-multithreaded64-4
FROM --platform=$BUILDPLATFORM us-docker.pkg.dev/oplabs-tools-artifacts/images/cannon:v1.6.0 AS cannon-multithreaded64-5

FROM --platform=$BUILDPLATFORM builder AS cannon-verify
COPY --from=cannon-multithreaded64-4 /usr/local/bin/cannon /usr/local/bin/cannon-multithreaded64-4
COPY --from=cannon-multithreaded64-5 /usr/local/bin/cannon /usr/local/bin/cannon-multithreaded64-5

# Check cannon-multithreaded64-4
# verify the latest multithreaded VM behavior against multithreaded64-4
RUN cd cannon && make diff-multithreaded64-4-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-4
# Check cannon-multithreaded64-5
# verify the latest multithreaded VM behavior against multithreaded64-5
RUN cd cannon && make diff-multithreaded64-5-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-5
RUN --mount=type=cache,target=/root/.cache/go-build cd cannon && \
make diff-multithreaded64-4-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-4 \
make diff-multithreaded64-5-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-5 \
GOOS=$TARGETOS GOARCH=$TARGETARCH GITCOMMIT=$GIT_COMMIT GITDATE=$GIT_DATE
22 changes: 12 additions & 10 deletions cannon/cmd/witness.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ var (
)

type response struct {
WitnessHash common.Hash `json:"witnessHash"`
Witness hexutil.Bytes `json:"witness"`
Step uint64 `json:"step"`
Exited bool `json:"exited"`
ExitCode uint8 `json:"exitCode"`
StateVersion factory.StateVersion `json:"stateVersion"`
WitnessHash common.Hash `json:"witnessHash"`
Witness hexutil.Bytes `json:"witness"`
Step uint64 `json:"step"`
Exited bool `json:"exited"`
ExitCode uint8 `json:"exitCode"`
}

func Witness(ctx *cli.Context) error {
Expand All @@ -48,11 +49,12 @@ func Witness(ctx *cli.Context) error {
}
}
output := response{
WitnessHash: h,
Witness: witness,
Step: state.GetStep(),
Exited: state.GetExited(),
ExitCode: state.GetExitCode(),
StateVersion: state.Version,
WitnessHash: h,
Witness: witness,
Step: state.GetStep(),
Exited: state.GetExited(),
ExitCode: state.GetExitCode(),
}
if err := jsonutil.WriteJSON(output, ioutil.ToStdOut()); err != nil {
return fmt.Errorf("failed to write response: %w", err)
Expand Down
2 changes: 1 addition & 1 deletion cannon/mipsevm/versions/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func GetStateVersionStrings() []string {

// GetCurrentVersion returns the current default version.
func GetCurrentVersion() StateVersion {
return VersionMultiThreaded64_v4
return VersionMultiThreaded64_v5
}

// GetExperimentalVersion returns the newest in-development version of Cannon if it exists, otherwise returns the same
Expand Down
1 change: 0 additions & 1 deletion devnet-sdk/descriptors/deployment.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ type Chain struct {

type L2Chain struct {
*Chain
L1Addresses AddressMap `json:"l1_addresses,omitempty"`
L1Wallets WalletMap `json:"l1_wallets,omitempty"`
RollupConfig *rollup.Config `json:"rollup_config"`
}
Expand Down
3 changes: 0 additions & 3 deletions devnet-sdk/shell/env/env_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,6 @@ func TestGetChain(t *testing.T) {
"deployer": common.HexToAddress("0x2345678901234567890123456789012345678901"),
},
},
L1Addresses: descriptors.AddressMap{
"deployer": common.HexToAddress("0x2345678901234567890123456789012345678901"),
},
L1Wallets: descriptors.WalletMap{
"deployer": &descriptors.Wallet{
Address: common.HexToAddress("0x2345678901234567890123456789012345678901"),
Expand Down
16 changes: 5 additions & 11 deletions devnet-sdk/system/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ func newL2ChainFromDescriptor(d *descriptors.L2Chain) (*l2Chain, error) {
// TODO: handle incorrect descriptors better. We could panic here.

nodes := newNodesFromDescriptor(d.Chain)
c := newL2Chain(d.ID, nil, nil, d.Config, AddressMap(d.L1Addresses), AddressMap(d.Addresses), nodes) // Create chain first
c := newL2Chain(d.ID, nil, nil, d.Config, AddressMap(d.Addresses), nodes) // Create chain first

l2Wallets, err := newWalletMapFromDescriptorWalletMap(d.Wallets, c)
if err != nil {
Expand All @@ -241,23 +241,17 @@ func newL2ChainFromDescriptor(d *descriptors.L2Chain) (*l2Chain, error) {
return c, nil
}

func newL2Chain(chainID string, l1Wallets WalletMap, l2Wallets WalletMap, chainConfig *params.ChainConfig, l1Addresses AddressMap, l2Addresses AddressMap, nodes []Node) *l2Chain {
func newL2Chain(chainID string, l1Wallets WalletMap, l2Wallets WalletMap, chainConfig *params.ChainConfig, l2Addresses AddressMap, nodes []Node) *l2Chain {
chain := &l2Chain{
chain: newChain(chainID, l2Wallets, chainConfig, l2Addresses, nodes),
l1Addresses: l1Addresses,
l1Wallets: l1Wallets,
chain: newChain(chainID, l2Wallets, chainConfig, l2Addresses, nodes),
l1Wallets: l1Wallets,
}
return chain
}

type l2Chain struct {
*chain
l1Addresses AddressMap
l1Wallets WalletMap
}

func (c *l2Chain) L1Addresses() AddressMap {
return c.l1Addresses
l1Wallets WalletMap
}

func (c *l2Chain) L1Wallets() WalletMap {
Expand Down
3 changes: 0 additions & 3 deletions devnet-sdk/system/chain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,6 @@ func TestL2ChainFromDescriptor(t *testing.T) {
"user2": common.HexToAddress("0x1234567890123456789012345678901234567891"),
},
},
L1Addresses: descriptors.AddressMap{
"user1": common.HexToAddress("0x1234567890123456789012345678901234567890"),
},
L1Wallets: descriptors.WalletMap{
"user1": &descriptors.Wallet{
PrivateKey: "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
Expand Down
3 changes: 1 addition & 2 deletions devnet-sdk/system/interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ type Chain interface {
type L2Chain interface {
Chain

// The wallets and addresses below are for use on the L1 chain that this L2Chain instance settles to.
L1Addresses() AddressMap
// The wallets below are for use on the L1 chain that this L2Chain instance settles to.
L1Wallets() WalletMap
}

Expand Down
9 changes: 0 additions & 9 deletions devnet-sdk/system/system_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@ func TestNewSystemFromEnv(t *testing.T) {
"defaultl2": common.HexToAddress("0x456"),
},
},
L1Addresses: descriptors.AddressMap{
"defaultl1": common.HexToAddress("0x123"),
},
L1Wallets: descriptors.WalletMap{
"default": &descriptors.Wallet{
Address: common.HexToAddress("0x123"),
Expand Down Expand Up @@ -142,9 +139,6 @@ func TestSystemFromDevnet(t *testing.T) {
"default": testWallet,
},
},
L1Addresses: descriptors.AddressMap{
"defaultl1": common.HexToAddress("0x123"),
},
L1Wallets: descriptors.WalletMap{
"default": testWallet,
},
Expand Down Expand Up @@ -189,9 +183,6 @@ func TestSystemFromDevnet(t *testing.T) {
},
},
},
L1Addresses: descriptors.AddressMap{
"defaultl1": common.HexToAddress("0x123"),
},
L1Wallets: descriptors.WalletMap{
"default": testWallet,
},
Expand Down
32 changes: 16 additions & 16 deletions devnet-sdk/testing/testlib/validators/forks.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (

"github.com/ethereum-optimism/optimism/devnet-sdk/system"
"github.com/ethereum-optimism/optimism/devnet-sdk/testing/systest"
"github.com/ethereum-optimism/optimism/op-node/rollup"
"github.com/ethereum-optimism/optimism/op-core/forks"
"github.com/ethereum/go-ethereum/params"
)

Expand Down Expand Up @@ -39,40 +39,40 @@ func getChainConfig(t systest.T, sys system.System, chainIdx uint64) (*params.Ch

// IsForkActivated checks if a specific fork is activated at the given timestamp
// based on the chain configuration.
func IsForkActivated(c *params.ChainConfig, forkName rollup.ForkName, timestamp uint64) (bool, error) {
func IsForkActivated(c *params.ChainConfig, forkName forks.Name, timestamp uint64) (bool, error) {
if c == nil {
return false, fmt.Errorf("provided chain config is nil")
}

switch forkName {
case rollup.Bedrock:
case forks.Bedrock:
// Bedrock is activated based on block number, not timestamp
return true, nil // Assuming bedrock is always active in the context of this validator
case rollup.Regolith:
case forks.Regolith:
return c.IsOptimismRegolith(timestamp), nil
case rollup.Canyon:
case forks.Canyon:
return c.IsOptimismCanyon(timestamp), nil
case rollup.Ecotone:
case forks.Ecotone:
return c.IsOptimismEcotone(timestamp), nil
case rollup.Fjord:
case forks.Fjord:
return c.IsOptimismFjord(timestamp), nil
case rollup.Granite:
case forks.Granite:
return c.IsOptimismGranite(timestamp), nil
case rollup.Holocene:
case forks.Holocene:
return c.IsOptimismHolocene(timestamp), nil
case rollup.Isthmus:
case forks.Isthmus:
return c.IsOptimismIsthmus(timestamp), nil
case rollup.Jovian:
case forks.Jovian:
return c.IsOptimismJovian(timestamp), nil
case rollup.Interop:
case forks.Interop:
return c.IsInterop(timestamp), nil
default:
return false, fmt.Errorf("unknown fork name: %s", forkName)
}
}

// forkConfigValidator is a helper function that checks if a specific L2 chain meets a fork condition.
func forkConfigValidator(chainIdx uint64, forkName rollup.ForkName, shouldBeActive bool, forkConfigMarker interface{}) systest.PreconditionValidator {
func forkConfigValidator(chainIdx uint64, forkName forks.Name, shouldBeActive bool, forkConfigMarker interface{}) systest.PreconditionValidator {
return func(t systest.T, sys system.System) (context.Context, error) {
chainConfig, timestamp, err := getChainConfig(t, sys, chainIdx)
if err != nil {
Expand Down Expand Up @@ -105,7 +105,7 @@ type ChainConfigGetter = func(context.Context) *params.ChainConfig
// AcquireForkConfig returns a ForkConfigGetter and a PreconditionValidator
// that ensures a ForkConfig is available for the specified L2 chain.
// The ForkConfig can be used to check if various forks are activated.
func acquireForkConfig(chainIdx uint64, forkName rollup.ForkName, shouldBeActive bool) (ChainConfigGetter, systest.PreconditionValidator) {
func acquireForkConfig(chainIdx uint64, forkName forks.Name, shouldBeActive bool) (ChainConfigGetter, systest.PreconditionValidator) {
chainConfigMarker := new(byte)
validator := forkConfigValidator(chainIdx, forkName, shouldBeActive, chainConfigMarker)
return func(ctx context.Context) *params.ChainConfig {
Expand All @@ -114,13 +114,13 @@ func acquireForkConfig(chainIdx uint64, forkName rollup.ForkName, shouldBeActive
}

// RequiresFork returns a validator that ensures a specific L2 chain has a specific fork activated.
func AcquireL2WithFork(chainIdx uint64, forkName rollup.ForkName) (ChainConfigGetter, systest.PreconditionValidator) {
func AcquireL2WithFork(chainIdx uint64, forkName forks.Name) (ChainConfigGetter, systest.PreconditionValidator) {
return acquireForkConfig(chainIdx, forkName, true)
}

// RequiresNotFork returns a validator that ensures a specific L2 chain does not
// have a specific fork activated. Will not work with the interop fork
// specifically since interop is not an ordered release fork.
func AcquireL2WithoutFork(chainIdx uint64, forkName rollup.ForkName) (ChainConfigGetter, systest.PreconditionValidator) {
func AcquireL2WithoutFork(chainIdx uint64, forkName forks.Name) (ChainConfigGetter, systest.PreconditionValidator) {
return acquireForkConfig(chainIdx, forkName, false)
}
Loading