Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
446 commits
Select commit Hold shift + click to select a range
78ba19f
Build deployer image in CI
QuentinI Nov 12, 2025
52e51e9
Upate CI utils
QuentinI Nov 18, 2025
c48a764
Saner 'confirmed' logging
QuentinI Nov 18, 2025
929ea2f
Don't error out on light client issues
QuentinI Nov 18, 2025
54bec68
fix the name of deployer factory address
Sneh1999 Nov 18, 2025
c57546e
Add a workaround for query service lag in real-world networks
QuentinI Nov 19, 2025
f27e576
Generate more metadata
QuentinI Nov 19, 2025
ed0357e
More faithful compiler output in verifier
QuentinI Nov 19, 2025
2456df6
Don't fall below hotshot origin height
QuentinI Nov 20, 2025
91d030d
Remove cache buster to speed up docker image builds
QuentinI Nov 25, 2025
3b2b802
Adjust channel duration in devnet
QuentinI Nov 25, 2025
a6cce30
Jump ahead when origin is too low
QuentinI Nov 25, 2025
2807f51
Add log line to matching Espresso txn to L2 block
QuentinI Nov 25, 2025
e9930db
Fix semver lock
QuentinI Nov 25, 2025
42c16d7
Fix snapshot lock
QuentinI Nov 25, 2025
57a72ae
Support environment variables for channel parameters
QuentinI Dec 1, 2025
1618255
Enable EigenDaProxy & MEMSTORE (#274)
jjeangal Dec 1, 2025
2584065
Don't copy artifacts to batcher image (#290)
QuentinI Dec 3, 2025
120ff12
Refactor: replace MultiNode majority rule with SingleNode client and …
miguelCyclone Dec 3, 2025
5e1d748
Fallback Inbox contract changes (#278)
philippecamacho Dec 4, 2025
53ac8ba
OP succint support (#287)
philippecamacho Dec 5, 2025
44e911e
Update error handling (#289)
shenkeyao Dec 5, 2025
67a7fc6
Document configuration of all services (#291)
shenkeyao Dec 8, 2025
6ace756
Support Sepolia Devnet with TEE (#288)
dailinsubjam Dec 8, 2025
21719d0
OP Succinct: Making changes to the derivation pipeline (#293)
philippecamacho Dec 9, 2025
278aee0
Fix op-succinct dependencies diagram. (#297)
philippecamacho Dec 9, 2025
47fad24
Simplify checks in the derivation pipeline (#296)
philippecamacho Dec 10, 2025
7a9a8dd
Removed nonexist logs (#298)
shenkeyao Dec 12, 2025
391beff
Add support for ZK attestation service (#294)
Sneh1999 Dec 12, 2025
227eba0
Enable AltDA Espresso E2E using EigenDA Docker proxy (#295)
miguelCyclone Dec 15, 2025
1f801f3
Downgrade Dasel (#303)
Sneh1999 Dec 16, 2025
2237a62
Make the withdraw devnet test pass again (#301)
philippecamacho Dec 16, 2025
b8c19c5
Add migration related things to readme (#302)
dailinsubjam Dec 17, 2025
4105d57
Reducing logging when outputting the batch (#304)
dailinsubjam Dec 17, 2025
954f6ff
Document code sync procedure (#308)
shenkeyao Dec 18, 2025
24243b7
Update batchAuthenticator according to audit report (#309)
dailinsubjam Dec 18, 2025
0c1d0cf
Port ForcedTxs test into devnet test suite (#306)
miguelCyclone Dec 19, 2025
884c8a3
Reorder checks of isValidBatchTx in derivation pipeline (#310)
dailinsubjam Dec 19, 2025
9c2c4c7
Add fallback mechanism test (#305)
QuentinI Dec 19, 2025
ae75350
Philippe/fix withdraw flakiness (#312)
philippecamacho Dec 23, 2025
6d016c5
Use unified run-enclave.sh script for op-batcher-tee (#299)
dailinsubjam Dec 24, 2025
95c57f9
Test fallback mechanism on devnet (#313)
philippecamacho Dec 26, 2025
cfa0608
Recovery from fallback batcher (#315)
QuentinI Jan 3, 2026
45839f2
Make ZK Verifier Optional for E2E Testing (#321)
Ayiga Jan 9, 2026
d5c5d56
Tee support for EigenDA (#319)
dailinsubjam Jan 9, 2026
9c198f4
Add Batcher Fallback: Channel Not Closed Test (#314)
Ayiga Jan 11, 2026
24946c9
Move diagram files (#326)
shenkeyao Jan 12, 2026
5de3d5b
Update Succinct image versions, update diagram (#329)
shenkeyao Jan 14, 2026
14198f3
Inactive Batcher Shouldn't Post (#316)
jjeangal Jan 14, 2026
29f1f1d
Removes PreRegisteredBatcher code (#327)
Sneh1999 Jan 14, 2026
4ca1dee
Update Succinct images
shenkeyao Jan 16, 2026
d42432f
Streamer namespace range 14.2 (#334)
Sneh1999 Jan 19, 2026
eb76937
Enable and test Transparent proxy upgradability and batcher address u…
shenkeyao Jan 27, 2026
3ce31b4
Description for TestBatcherSwitching (#335)
dailinsubjam Jan 27, 2026
3e292a2
Add cmd to shutdown all docker containers with TEE (#332)
dailinsubjam Jan 30, 2026
629080d
Guardians rebased (#345)
QuentinI Jan 31, 2026
2cc3acd
Audit Document (#339)
jjeangal Feb 2, 2026
e5cbb86
Security Analysis (#342)
philippecamacho Feb 3, 2026
dd7bccb
Fix and improve steps in the code sync doc (#344)
shenkeyao Feb 4, 2026
8349427
Fix op-deployer build
shenkeyao Feb 10, 2026
f597a68
Fix go mod and duplicate flag
shenkeyao Feb 10, 2026
debc6cd
Fix go-ffi
shenkeyao Feb 10, 2026
98aff96
Fix prepare-allocs
shenkeyao Feb 10, 2026
1df9b3c
Fix duplicate attribute in pipeline
shenkeyao Feb 10, 2026
45d33ea
Fix test slice
shenkeyao Feb 10, 2026
37dc8e3
Fix builder version
shenkeyao Feb 10, 2026
2acf704
Set timeout for docker-images CI
shenkeyao Feb 10, 2026
c2e6314
Fix devnet tests
shenkeyao Feb 10, 2026
df083f0
Add missing file
shenkeyao Feb 10, 2026
3feb034
Fix go version
shenkeyao Feb 11, 2026
c7e7bb8
Fix go version
shenkeyao Feb 11, 2026
45d39d7
Add missing address
shenkeyao Feb 11, 2026
31b96eb
Use generic way to generate slice
shenkeyao Feb 11, 2026
e14f011
Fix go version for build-op CIs
shenkeyao Feb 11, 2026
495f4d7
Fix dockerfile
shenkeyao Feb 11, 2026
77ca0db
Continue devnet version fix
shenkeyao Feb 11, 2026
9b817e5
Fix dockerfile
shenkeyao Feb 11, 2026
fb5d271
More dockerfile fix
shenkeyao Feb 11, 2026
4de3c47
More dockerfile fix
shenkeyao Feb 11, 2026
a1c171e
Simplify changes
shenkeyao Feb 11, 2026
45191ac
More dockerfile fix
shenkeyao Feb 11, 2026
76c8988
More dockerfile fix
shenkeyao Feb 11, 2026
aa28963
Add missing event type
shenkeyao Feb 12, 2026
95bec9e
Fix op-node
shenkeyao Feb 12, 2026
bb8ee33
Fix op-batcher
shenkeyao Feb 12, 2026
efed037
Fix batcher TEE and proposer
shenkeyao Feb 12, 2026
08dce53
Remove unnecessary changes
shenkeyao Feb 12, 2026
3ecbeae
Address Gemini comment
shenkeyao Feb 13, 2026
da863c1
Restore rootClaim fix
shenkeyao Feb 13, 2026
57bcf28
Remove duplicate flag
shenkeyao Feb 13, 2026
e72127a
Fix devnet build
shenkeyao Feb 13, 2026
1375218
Fix go version, add timeout
shenkeyao Feb 13, 2026
2142057
Update moved crate
shenkeyao Feb 13, 2026
7d2bf39
Fix the build after rebase (#352)
shenkeyao Feb 13, 2026
ec13e36
Remove duplicate import
shenkeyao Feb 13, 2026
f42c785
Fix go module flakiness
shenkeyao Feb 13, 2026
20d057b
Fix refactored types and functions
shenkeyao Feb 13, 2026
f5a2278
Set light client
shenkeyao Feb 13, 2026
dd2d7ab
Add timeouts for devnet tests
shenkeyao Feb 14, 2026
260e312
Investigate test failure
shenkeyao Feb 17, 2026
15ab623
Fix integration tests 0
shenkeyao Feb 17, 2026
0df0181
Fix fallback batcher test
shenkeyao Feb 17, 2026
7199a2d
Fix duplicate devnet running issue
shenkeyao Feb 17, 2026
48b083d
Specify artifact names
shenkeyao Feb 17, 2026
e3d03f3
Fix fmt
shenkeyao Feb 17, 2026
e78527f
Fix challenge game test
shenkeyao Feb 18, 2026
d7fd525
Try fix batcher restart test
shenkeyao Feb 18, 2026
ef014b0
Fix fallback test
shenkeyao Feb 18, 2026
1b9024f
Fix test build
shenkeyao Feb 18, 2026
2df7e68
Remove duplicate builds
shenkeyao Feb 19, 2026
8316baf
Fix parsing
shenkeyao Feb 19, 2026
3308796
Fix duplicate l1-geth-image
shenkeyao Feb 19, 2026
661b690
Increase timeout
shenkeyao Feb 24, 2026
f21cdc3
Fix fallback
shenkeyao Feb 24, 2026
dbfd1b0
Fix batcher restart test
shenkeyao Feb 25, 2026
a8097ff
Fix devnet tests 3 and 4
shenkeyao Feb 25, 2026
85f9021
Fix contracts
shenkeyao Feb 25, 2026
59ebf90
Fix fmt
shenkeyao Feb 25, 2026
450efe9
More devnet tests
shenkeyao Feb 25, 2026
0f61ed7
More contract tests
shenkeyao Feb 25, 2026
6eac3f3
Update version for contract tests
shenkeyao Feb 25, 2026
e5faced
Fix fmt
shenkeyao Feb 25, 2026
562fcc9
Fix foundry
shenkeyao Feb 25, 2026
c15add8
Fix CI for devnet tests
shenkeyao Feb 25, 2026
de407dc
Ignore warning
shenkeyao Feb 25, 2026
676479c
Fix remaining contract tests
shenkeyao Feb 25, 2026
6188e5e
Fix script
shenkeyao Feb 25, 2026
c244910
Fix EOA path
shenkeyao Feb 25, 2026
6710ab6
Merge remote-tracking branch 'origin/celo-integration-rebase-16' into…
shenkeyao Feb 25, 2026
7bbed0c
Fix devnet test command
shenkeyao Feb 25, 2026
64bf31f
more yaml fix
shenkeyao Feb 25, 2026
08f2fdb
Fix docker compose spinup
shenkeyao Feb 25, 2026
f8c3dc5
Remove blockscout
shenkeyao Feb 26, 2026
446feb3
Move blockscount to monitoring profile
shenkeyao Feb 26, 2026
5ccb8e6
Free space
shenkeyao Feb 26, 2026
9b9c939
More docker fix
shenkeyao Feb 26, 2026
e46158d
Fix more
shenkeyao Feb 26, 2026
1bd7953
Fix more
shenkeyao Feb 26, 2026
5bbfe93
Add investigation log
shenkeyao Feb 26, 2026
526b647
Fix beacon
shenkeyao Feb 26, 2026
bc7a2d9
Fix timeout
shenkeyao Feb 26, 2026
d8aa807
Fix docker compose dir
shenkeyao Feb 26, 2026
a9bfbd7
Fix path
shenkeyao Feb 26, 2026
f23fed4
More sequencer fixes
shenkeyao Feb 27, 2026
2c8807f
Fix sequencer
shenkeyao Feb 27, 2026
c86b6e5
More CI fix
shenkeyao Feb 28, 2026
6389ca8
Revert devnet test fixes
shenkeyao Feb 28, 2026
34b6d68
Restore more devnet files
shenkeyao Feb 28, 2026
9002965
Add back image fix
shenkeyao Feb 28, 2026
9fb2f02
Restore streamer
shenkeyao Feb 28, 2026
17900af
Restore a devnet fix
shenkeyao Feb 28, 2026
b391abd
Restore ec2 test fix
shenkeyao Feb 28, 2026
cbc386e
Restore l1 geth fix
shenkeyao Feb 28, 2026
0326bc4
Fix throttle
shenkeyao Feb 28, 2026
8cff2be
Restrict throttle fix scope
shenkeyao Mar 1, 2026
ad627c7
Remove isActiveBatcher
shenkeyao Mar 2, 2026
d089948
Remove unnecessary changes
shenkeyao Mar 4, 2026
13b940b
Restore fallback path fix
shenkeyao Mar 4, 2026
86e3ee9
Restore fmt fixes
shenkeyao Mar 4, 2026
4b110ce
Ignore cache error
shenkeyao Mar 4, 2026
20bf319
Revert foundry version and fmt fixes
shenkeyao Mar 4, 2026
1e97d4f
remove fmt check
shenkeyao Mar 4, 2026
96cdadc
fix: mise install (#366)
Sneh1999 Mar 4, 2026
d8fee0a
Add back necessary contract files
shenkeyao Mar 4, 2026
27b14d0
Fix contract workflow
shenkeyao Mar 4, 2026
39a5bab
Address comments for espresso/docker
shenkeyao Mar 4, 2026
679d444
Update espresso/scripts/run-tests-github-actions.sh
shenkeyao Mar 4, 2026
72cc64d
Remove use of output file
shenkeyao Mar 4, 2026
3cbd328
Merge branch 'keyao/fix-integration-and-contracts' of github.com:Espr…
shenkeyao Mar 4, 2026
71e9695
Remove path from contract names
shenkeyao Mar 4, 2026
b351ed5
Restore more files
shenkeyao Mar 4, 2026
c7699eb
Restore more files
shenkeyao Mar 4, 2026
56e454f
Revert IproxyAdmin changes
shenkeyao Mar 4, 2026
3c10bd5
Remove unneeded IProxyAdmin uses
shenkeyao Mar 4, 2026
d3336bf
Remove more files
shenkeyao Mar 5, 2026
f99f916
Add back toml
shenkeyao Mar 5, 2026
f8fc4f2
Add lock
shenkeyao Mar 5, 2026
99e074e
Replace build
shenkeyao Mar 5, 2026
1cd5f12
Fix build timeout
shenkeyao Mar 5, 2026
ea15589
Fix duplicate build
shenkeyao Mar 5, 2026
fb89c4a
Fix more
shenkeyao Mar 5, 2026
cd5215a
Match Celo's changes
shenkeyao Mar 5, 2026
c3eef94
Restore contract files
shenkeyao Mar 5, 2026
5c0de38
Update batcher fallback test
shenkeyao Mar 5, 2026
6f1a25d
Improvement the comment
shenkeyao Mar 5, 2026
6d98282
Remove dead code
shenkeyao Mar 6, 2026
cd415d8
Merge branch 'celo-integration-rebase-16' into keyao/merge-16-to-16.1
shenkeyao Mar 7, 2026
2ea9015
More conflict fixes
shenkeyao Mar 7, 2026
0972410
Fix test 11
shenkeyao Mar 7, 2026
cfe221a
Address gemini comments
shenkeyao Mar 7, 2026
0342715
Fix test 8
shenkeyao Mar 7, 2026
8ec4f57
Replace with rebase-16 contractd
shenkeyao Mar 7, 2026
ac798f0
Merge in 14.2 changes
shenkeyao Mar 7, 2026
c16b330
Fix comma
shenkeyao Mar 7, 2026
6c92a6f
Temp remove fmt check
shenkeyao Mar 7, 2026
57901fa
Restore dropped 14.2 changes
shenkeyao Mar 7, 2026
0e23124
Fix build
shenkeyao Mar 7, 2026
3e93580
Temp allow unused parameter
shenkeyao Mar 7, 2026
bf08557
FIx duplicate artifact
shenkeyao Mar 7, 2026
c82f900
Remove duplicated opcm imports, undo profile change
shenkeyao Mar 7, 2026
e957a25
Temp: simplify with unchecked_cheatcode_artifacts
shenkeyao Mar 7, 2026
ad68bd2
Remove unchecked_cheatcode_artifacts
shenkeyao Mar 7, 2026
3a5ef7d
Temp: update Setup and add unchecked_cheatcode_artifacts
shenkeyao Mar 7, 2026
0875b53
Update CI
shenkeyao Mar 7, 2026
6e0cf88
Restore CI and update Setup
shenkeyao Mar 7, 2026
7693670
Add ligher build
shenkeyao Mar 7, 2026
715b4d3
Update CI
shenkeyao Mar 7, 2026
668dec0
Move test build
shenkeyao Mar 7, 2026
0fcea25
Fix CI again
shenkeyao Mar 7, 2026
ee731c8
Use lite build
shenkeyao Mar 7, 2026
6f48f1f
Fix command in CI
shenkeyao Mar 8, 2026
8a2d753
Add CI phases
shenkeyao Mar 8, 2026
f6d0dd6
Remove espresso foundry setting, simplify fixes
shenkeyao Mar 8, 2026
bf1bcbd
Restore fixes that worked
shenkeyao Mar 8, 2026
b35aea2
Restore fixes that worked 2
shenkeyao Mar 8, 2026
8c802c9
More tests
shenkeyao Mar 8, 2026
7eee382
Save CI changes
shenkeyao Mar 9, 2026
a50d657
Restore gotestsum
shenkeyao Mar 9, 2026
e6fba93
Save fixes
shenkeyao Mar 9, 2026
e2418b9
Undo unnecessary changes
shenkeyao Mar 10, 2026
a1b3607
Remove helper functions
shenkeyao Mar 10, 2026
ae0e5e4
Add a missing file
shenkeyao Mar 10, 2026
8c1347b
Merge branch 'keyao/merge-16-to-16.1' into keyao/fix-contract-16.1
shenkeyao Mar 10, 2026
20929d9
Update forge version and other fixes
shenkeyao Mar 10, 2026
d0badf9
Restore CI change
shenkeyao Mar 11, 2026
c04f808
Clean up foundry
shenkeyao Mar 11, 2026
e03399b
Clean up justifle and check-semver-diff
shenkeyao Mar 11, 2026
a8e23e7
Restore ignored errors
shenkeyao Mar 11, 2026
2e7fd08
Reduce timeout
shenkeyao Mar 11, 2026
2eded28
Restore unnecessary comment change
shenkeyao Mar 11, 2026
df2de33
Restore Proxy and solady
shenkeyao Mar 11, 2026
57df4df
Revert Proxy change
shenkeyao Mar 12, 2026
2f46b0c
Restore setup files
shenkeyao Mar 12, 2026
c1b4a7c
Update a comment
shenkeyao Mar 12, 2026
defeb54
Restore batch inbox file
shenkeyao Mar 12, 2026
b9a8531
Typo
shenkeyao Mar 12, 2026
0badb15
Clean up Espresso files
shenkeyao Mar 12, 2026
c919c41
Restore a fix
shenkeyao Mar 12, 2026
45f8a0d
Restore fixes to ec2 and integration tests
shenkeyao Mar 13, 2026
b6bee14
Improve sha256 installation
shenkeyao Mar 17, 2026
a8c0355
Fix Dockerfile build
shenkeyao Mar 17, 2026
330edcf
Restore artifactsfs
shenkeyao Mar 17, 2026
e1e7dd1
Merge branch 'keyao/merge-16-to-16.1' into keyao/fix-contract-16.1
shenkeyao Mar 17, 2026
cb7464f
Fix Go version
shenkeyao Mar 17, 2026
bdd42dc
Merge branch 'keyao/merge-16-to-16.1' into keyao/fix-contract-16.1
shenkeyao Mar 18, 2026
6d62617
Pin foundry version in nix flake
shenkeyao Mar 18, 2026
837912f
Restore fmt check
shenkeyao Mar 18, 2026
7a4c2bd
Remove newline
shenkeyao Mar 18, 2026
3024537
Improve error handling
shenkeyao Mar 18, 2026
d3ba3fc
Merge branch 'celo-integration-rebase-16.1' into keyao/fix-contract-16.1
shenkeyao Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/workflows/contracts-l1-tests.yaml
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file contains the critical change to the foundry version.

Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ jobs:
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-654c8f01721e43dbc8a53c7a3b022548cb82b2f9
# Pinned to stable 1.2.3 rather than the nightly used elsewhere.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also pin it in the Nix flake?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated: 6d62617

# The nightly (654c8f01) added strict vm.getCode artifact matching that errors
# when two contracts share the same name (e.g. src/universal/Proxy.sol and
# OZ v5's proxy/Proxy.sol). Fixing every upstream call-site would touch many
# Celo/OP-stack files.
version: "1.2.3"

- name: Install Just
uses: extractions/setup-just@v2
Expand All @@ -44,6 +49,8 @@ jobs:
run: forge fmt --check
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we now skipping this?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, there were some format issues unrelated to our change, so I disabled the check. I've just restored it and will see if the CI passes. 837912f

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah the format check doesn't break the CI, so I'll just keep it!


- name: Run L1 contracts tests
timeout-minutes: 20
working-directory: packages/contracts-bedrock
env:
FOUNDRY_PROFILE: lite
run: forge test --match-path "test/L1/*.t.sol" -vv

4 changes: 4 additions & 0 deletions espresso/environment/espresso_dev_net_launcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ type E2eDevnetLauncherContext struct {
// The launching Context
Ctx context.Context

// The testing.T for the current test, used to fail with a clear error message on
// launch failures (e.g. Docker container failing to start).
T *testing.T

// Any Current Error
Error error

Expand Down
15 changes: 6 additions & 9 deletions espresso/environment/optitmism_espresso_test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,7 @@ func expandLauncherOptionsToSystemOptions(launchContext *E2eDevnetLauncherContex
func (l *EspressoDevNodeLauncherDocker) StartE2eDevnet(ctx context.Context, t *testing.T, options ...E2eDevnetLauncherOption) (*e2esys.System, EspressoDevNode, error) {
launchContext := E2eDevnetLauncherContext{
Ctx: ctx,
T: t,
SystemCfg: nil,
}

Expand Down Expand Up @@ -812,16 +813,12 @@ func launchEspressoDevNodeStartOption(ct *E2eDevnetLauncherContext) e2esys.Start
return e2esys.StartOption{
Role: "launch-espresso-dev-node",
BatcherMod: func(c *batcher.CLIConfig, sys *e2esys.System) {
// On error, disable Espresso in the batcher so sysConfig.Start() does not fail with a
// misleading "query service URLs are required" error. The test will still fail; this
// is only so the failure message is the actual cause, to help with debugging.
defer func() {
if ct.Error != nil {
c.Espresso.Enabled = false
}
}()

// Fail early if there was a prior setup failure. Launching the Espresso container
// requires the L1 RPC URL, which is only available after the L1 geth node has started
// inside sysConfig.Start(), so this is the earliest place where we can catch the
// issue.
if ct.Error != nil {
ct.T.Fatalf("devnet setup failed before espresso dev node could start: %v", ct.Error)
return
}

Expand Down
43 changes: 42 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,47 @@
doCheck = false;
};

# Pinned to stable 1.2.3 rather than the nightly used elsewhere.
# The nightly (654c8f01) added strict vm.getCode artifact matching that errors
# when two contracts share the same name (e.g. src/universal/Proxy.sol and
# OZ v5's proxy/Proxy.sol). Fixing every upstream call-site would touch many
# Celo/OP-stack files.
foundry-bin-1_2_3 =
let
version = "1.2.3";
srcs = {
"x86_64-linux" = pkgs.fetchurl {
url = "https://github.com/foundry-rs/foundry/releases/download/v${version}/foundry_v${version}_linux_amd64.tar.gz";
sha256 = "sha256-ggLzjxY1wnk7LRpP5EOub3MVGQ3G7tIZ15aaQKt4ooY=";
};
"aarch64-linux" = pkgs.fetchurl {
url = "https://github.com/foundry-rs/foundry/releases/download/v${version}/foundry_v${version}_linux_arm64.tar.gz";
sha256 = "sha256-cGEv0dqd86izVIQhTk8rN7odbEEVCElJBkLXoFPDHqo=";
};
"x86_64-darwin" = pkgs.fetchurl {
url = "https://github.com/foundry-rs/foundry/releases/download/v${version}/foundry_v${version}_darwin_amd64.tar.gz";
sha256 = "sha256-4+K0JcfhuMhT7UVCdrIP9QD6gtZcyVrK0iW0twY63Uo=";
};
"aarch64-darwin" = pkgs.fetchurl {
url = "https://github.com/foundry-rs/foundry/releases/download/v${version}/foundry_v${version}_darwin_arm64.tar.gz";
sha256 = "sha256-o/PxQXp6AqFpQun8hkGNASHC2QTBE/6xsmydadxvKH0=";
};
};
in
pkgs.stdenv.mkDerivation {
pname = "foundry-bin";
inherit version;
src = srcs.${system};
nativeBuildInputs = pkgs.lib.optionals pkgs.stdenv.isLinux [ pkgs.autoPatchelfHook ];
buildInputs = pkgs.lib.optionals pkgs.stdenv.isLinux [ pkgs.stdenv.cc.cc.lib ];
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin
tar -xzf $src -C $out/bin forge cast anvil chisel
chmod +x $out/bin/forge $out/bin/cast $out/bin/anvil $out/bin/chisel
'';
};

enclaver = pkgs.rustPlatform.buildRustPackage rec {
pname = "enclaver";
version = "0.5.0";
Expand Down Expand Up @@ -128,7 +169,7 @@
pkgs.awscli2
pkgs.cargo
pkgs.dasel
pkgs.foundry-bin
foundry-bin-1_2_3
pkgs.go-ethereum
pkgs.jq
pkgs.just
Expand Down
8 changes: 7 additions & 1 deletion op-batcher/batcher/driver.go
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For fixing the integration test panic.

Original file line number Diff line number Diff line change
Expand Up @@ -177,13 +177,19 @@ func NewBatchSubmitter(setup DriverSetup) *BatchSubmitter {
}

l1Adapter := &batcherL1Adapter{L1Client: batchSubmitter.L1Client}
// Convert typed nil pointer to untyped nil interface to avoid typed-nil interface panic
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go is such a nice language, isn't it?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's perfect. 🤣

// in confirmEspressoBlockHeight when EspressoLightClient is not configured.
var lightClientIface espresso.LightClientCallerInterface
if batchSubmitter.EspressoLightClient != nil {
lightClientIface = batchSubmitter.EspressoLightClient
}
batchSubmitter.espressoStreamer = espresso.NewBufferedEspressoStreamer(
espresso.NewEspressoStreamer(
batchSubmitter.RollupConfig.L2ChainID.Uint64(),
l1Adapter,
l1Adapter,
batchSubmitter.Espresso,
batchSubmitter.EspressoLightClient,
lightClientIface,
batchSubmitter.Log,
func(data []byte) (*derive.EspressoBatch, error) {
return derive.UnmarshalEspressoTransaction(data, batchSubmitter.SequencerAddress)
Expand Down
2 changes: 2 additions & 0 deletions op-batcher/batcher/espresso.go
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the ec2 test fix.

Original file line number Diff line number Diff line change
Expand Up @@ -1096,6 +1096,8 @@ func (l *BatchSubmitter) sendTxWithEspresso(txdata txData, isCancel bool, candid
}
return
}
// OpenZeppelin ECDSA.recover requires v = 27 or 28, but crypto.Sign produces v = 0 or 1.
signature[64] += 27
l.Log.Debug("Signed transaction", "txRef", transactionReference, "commitment", hexutil.Encode(commitment[:]), "sig", hexutil.Encode(signature))

batchAuthenticatorAbi, err := bindings.BatchAuthenticatorMetaData.GetAbi()
Expand Down
75 changes: 27 additions & 48 deletions packages/contracts-bedrock/foundry.toml
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redoing the conflict resolution for this file, to take the changes from Celo's Jovian upgrade branch + our Espresso changes.

Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ use_literal_content = true
optimizer = true
optimizer_runs = 999999

# IMPORTANT:
# When adding any new compiler profiles or compilation restrictions, you must
# also update the restrictions in the "LITE" profile to match. This guarantees
# that builds will fully overwrite one another without needing to clean the
# entire build directory.
additional_compiler_profiles = [
{ name = "dispute", optimizer_runs = 5000 },
{ name = "via-ir", via_ir = true },
Expand All @@ -36,9 +41,8 @@ compilation_restrictions = [
{ paths = "src/L1/opcm/OPContractsManagerUtilsCaller.sol", optimizer_runs = 5000 },
{ paths = "src/L1/OptimismPortal2.sol", optimizer_runs = 5000 },
{ paths = "src/L1/ProtocolVersions.sol", optimizer_runs = 5000 },
{ paths = "src/universal/StorageSetter.sol", optimizer_runs = 5000 },
{ paths = "lib/espresso-tee-contracts/lib/nitro-validator/**", via_ir = false },
{ paths = "lib/espresso-tee-contracts/lib/automata-dcap-attestation/**", via_ir = true },
{ paths = "src/L1/StandardValidator.sol", optimizer_runs = 5000 },
{ paths = "src/universal/StorageSetter.sol", optimizer_runs = 5000 }
]

extra_output = ['devdoc', 'userdoc', 'metadata', 'storageLayout']
Expand All @@ -60,6 +64,7 @@ remappings = [
'@openzeppelin/contracts-v5/=lib/openzeppelin-contracts-v5/contracts',
'@rari-capital/solmate/=lib/solmate',
'@lib-keccak/=lib/lib-keccak/contracts/lib',
'solady/=lib/solady/',
'@solady/=lib/solady/src',
'@solady-v0.0.245/=lib/solady-v0.0.245/src',
'forge-std/=lib/forge-std/src',
Expand All @@ -70,22 +75,23 @@ remappings = [
]

fs_permissions = [
{ access = 'read-write', path = './.resource-metering.csv' },
{ access = 'read-write', path = './snapshots/' },
{ access = 'read-write', path = './deployments/' },
{ access = 'read', path = './deploy-config/' },
{ access = 'read', path = './deploy-config-periphery/' },
{ access = 'read', path = './broadcast/' },
{ access = 'read', path = './forge-artifacts/' },
{ access = 'read-write', path = './.testdata/' },
{ access = 'read', path = './kout-deployment' },
{ access = 'read', path = './test/fixtures' },
{ access = 'read', path = './lib/superchain-registry/superchain/configs/' },
{ access='read-write', path='./.resource-metering.csv' },
{ access='read-write', path='./snapshots/' },
{ access='read-write', path='./deployments/' },
{ access='read', path='./deploy-config/' },
{ access='read', path='./deploy-config-periphery/' },
{ access='read', path='./broadcast/' },
{ access='read', path = './forge-artifacts/' },
{ access='read-write', path='./.testdata/' },
{ access='read', path='./kout-deployment' },
{ access='read', path='./test/fixtures' },
{ access='read', path='./lib/superchain-registry/superchain/configs/' },
{ access='read', path='./lib/superchain-registry/validation/standard/' },
{ access = 'read-write', path = '../../op-chain-ops/cmd/celo-migrate/testdata/' },
]

# 5159 error code is selfdestruct error code
ignored_error_codes = ["transient-storage", "code-size", "init-code-size", "too-many-warnings", 5159]
# 5159 = selfdestruct; 6321 = unnamed return variable; 5667 = unused param (lib/espresso-tee-contracts mocks)
ignored_error_codes = ["transient-storage", "code-size", "init-code-size", "too-many-warnings", 5159, 6321, 5667]
deny_warnings = true
ffi = true

Expand All @@ -101,10 +107,10 @@ runs = 64
failure_persist_file = "~/Desktop/failures.txt"

[fmt]
line_length = 120
multiline_func_header = 'all'
bracket_spacing = true
wrap_comments = true
line_length=120
multiline_func_header='all'
bracket_spacing=true
wrap_comments=true

################################################################
# PROFILE: CI #
Expand Down Expand Up @@ -151,7 +157,7 @@ timeout = 300

[profile.lite]
optimizer = false
optimizer_runs = 0
optimizer_runs = 200
use_literal_content = false

[profile.lite.fuzz]
Expand All @@ -161,33 +167,6 @@ runs = 8
runs = 8
depth = 8

# IMPORTANT:
# See the info in the "DEFAULT" profile to understand this section.
additional_compiler_profiles = [
{ name = "dispute", optimizer_runs = 0 },
{ name = "via-ir", via_ir = true },
]
compilation_restrictions = [
{ paths = "src/dispute/FaultDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/dispute/v2/FaultDisputeGameV2.sol", optimizer_runs = 0 },
{ paths = "src/dispute/PermissionedDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/dispute/v2/PermissionedDisputeGameV2.sol", optimizer_runs = 0 },
{ paths = "src/dispute/SuperFaultDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/dispute/SuperPermissionedDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/L1/OPContractsManager.sol", optimizer_runs = 0 },
{ paths = "src/L1/OPContractsManagerStandardValidator.sol", optimizer_runs = 0 },
{ paths = "src/L1/opcm/OPContractsManagerV2.sol", optimizer_runs = 0 },
{ paths = "src/L1/opcm/OPContractsManagerContainer.sol", optimizer_runs = 0 },
{ paths = "src/L1/opcm/OPContractsManagerMigrator.sol", optimizer_runs = 0 },
{ paths = "src/L1/opcm/OPContractsManagerUtils.sol", optimizer_runs = 0 },
{ paths = "src/L1/opcm/OPContractsManagerUtilsCaller.sol", optimizer_runs = 0 },
{ paths = "src/L1/OptimismPortal2.sol", optimizer_runs = 0 },
{ paths = "src/L1/ProtocolVersions.sol", optimizer_runs = 0 },
{ paths = "src/universal/StorageSetter.sol", optimizer_runs = 0 },
{ paths = "src/L1/StandardValidator.sol", optimizer_runs = 5000 },
]


################################################################
# PROFILE: KONTROL #
################################################################
Expand Down
12 changes: 3 additions & 9 deletions packages/contracts-bedrock/interfaces/L1/IBatchAuthenticator.sol
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Safe to ignore. Just changes to be up-to-date with 14.2.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ interface IBatchAuthenticator {
error InvalidAddress(address contract_);

/// @notice Emitted when a batch info is authenticated.
event BatchInfoAuthenticated(bytes32 indexed commitment, address indexed signer);
event BatchInfoAuthenticated(bytes32 indexed commitment);

/// @notice Emitted when a signer registration is initiated through this contract.
event SignerRegistrationInitiated(address indexed caller);
Expand All @@ -22,10 +22,7 @@ interface IBatchAuthenticator {
/// @notice Emitted when the active batcher is switched.
event BatcherSwitched(bool indexed activeIsTee);

function authenticateBatchInfo(
bytes32 commitment,
bytes memory _signature
) external;
function authenticateBatchInfo(bytes32 commitment, bytes memory _signature) external;

function espressoTEEVerifier() external view returns (IEspressoTEEVerifier);

Expand All @@ -37,10 +34,7 @@ interface IBatchAuthenticator {

function nonTeeBatcher() external view returns (address);

function registerSigner(
bytes memory attestationTbs,
bytes memory signature
) external;
function registerSigner(bytes memory attestationTbs, bytes memory signature) external;

function validBatchInfo(bytes32) external view returns (bool);

Expand Down
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Safe to ignore. Just changes to be up-to-date with 14.2.

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ SEMVER_LOCK="snapshots/semver-lock.json"

# Define excluded contracts.
EXCLUDED_CONTRACTS=(
"src/vendor/asterisc/RISCV.sol"
)

# Helper function to check if a contract is excluded.
Expand Down
Loading
Loading