Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
eaceac4
feat: add IRI security review by OffbeatLabs (#14319)
smartcontracts Feb 25, 2025
b1feb4a
feat: op-deployer cleanupAfterExit, unit tests cleanup and clean cach…
yashvardhan-kukreja Feb 25, 2025
3247668
feat(op-program-svc): introduce new service to compute prestates (#14…
sigma Feb 25, 2025
e2be9e2
op-service: make signer client compatible with SetCodeTx type (#14489)
bitwiseguy Feb 25, 2025
4bc1727
maint: clean up security reviews table, update codeowners (#14523)
smartcontracts Feb 25, 2025
b525064
chore: Update drippie config files with actual config from runbook (#…
pauldowman Feb 25, 2025
27c8827
Avoid lookup twice (#14354)
ec2 Feb 25, 2025
e45b384
vm-runner: Add metrics to track vm panics (#14504)
mbaxter Feb 25, 2025
7d5103b
update links in directory structure after PRs #12968 & #12828 (#14525)
NaijaCoderGirl Feb 25, 2025
98a30e5
feat: do not alias 7702 addresses (#14506)
smartcontracts Feb 25, 2025
e014113
Revert "Added footer to op-deployer (#14374)" (#14528)
mslipper Feb 25, 2025
7715ff8
op-batcher: always `updateCursorAndMetrics` when returning from `proc…
geoknee Feb 25, 2025
b68d43f
fix(devnet-sdk): Unique sentinels for devnet-sdk (#14514)
janjakubnanista Feb 25, 2025
7a4cbbc
feat: remove freeze from L1 and dispute contracts (#14438)
maurelian Feb 25, 2025
53eb3ea
op-challenger: Avoid loading duplicate leaves in same block (#14516)
ajsutton Feb 25, 2025
a490e28
feat: semgrep rules and check for reinitializer modifiers (#14534)
smartcontracts Feb 26, 2025
4d905ec
Update 404 link VERSIONING.md (#14519)
rebustron Feb 26, 2025
9fed09a
all: update op-geth to v1.101500.1 (#14500)
sebastianst Feb 26, 2025
d27acb7
Retry chain-id queries (#14539)
mbaxter Feb 26, 2025
14275ad
devnet-sdk: Fix casing in book theme (#14545)
mslipper Feb 26, 2025
e6f1910
chore: Fix another footer (#14548)
mslipper Feb 26, 2025
c7a4d4e
op-supervisor: Check message expiry (#14463)
Inphi Feb 26, 2025
4cf5f7a
op-challenger: Add Super DG contract caller (#14551)
Inphi Feb 26, 2025
14cd3d8
op-node: Remove OverrideMessageExpiryTimeInterop from rollup.Config (…
Inphi Feb 26, 2025
3596e91
feat: remove DeployOPCM (#14556)
maurelian Feb 27, 2025
46eb210
Add updated MT Cannon Spearbit audit (#14497)
pauldowman Feb 27, 2025
cd7495e
op-batcher: remove `ChannelManager.CheckExpectedProgress()` and add c…
geoknee Feb 27, 2025
a99d140
optimize context usage (#14558)
zhiqiangxu Feb 27, 2025
2c1825b
Add 64-bit tests for signExtend (#14543)
mbaxter Feb 27, 2025
991969f
op-batcher: correctly track block metrics in `handleChannelInvalidate…
geoknee Feb 27, 2025
9dc84ce
op-batcher: improve `computeSyncActions()` logging (#14563)
geoknee Feb 27, 2025
d918183
feat: Remove BlockNumber Dispute for SuperFaultDisputeGame + SuperPer…
ControlCplusControlV Feb 27, 2025
cf25d92
op-supervisor: independent reset preparation (#14444)
axelKingsley Feb 27, 2025
ebf8a86
op-program, op-challenger: Reduce number of steps per timestamp to 12…
ajsutton Feb 28, 2025
13fc536
op-test-sequencer: initial service scaffolding (#14270)
protolambda Feb 28, 2025
399e538
ci: only tag finalized Docker images as 'latest' (#14582)
sebastianst Feb 28, 2025
ab25950
Match OPCM version with monorepo release version (#14455)
alcueca Feb 28, 2025
e93ff20
interop: Recursive hazard detection (#14453)
tcrypt25519 Feb 28, 2025
956013b
op-service: check if TLS is enabled and move middleware (#14571)
protolambda Feb 28, 2025
82e021d
feat: bytecode verification script (#14589)
smartcontracts Feb 28, 2025
7fcfee0
op-e2e: Write jwt.secret to a temp dir instead of into the source cod…
ajsutton Feb 28, 2025
dd2c7d1
default to the correct gameType (#14591)
ControlCplusControlV Mar 1, 2025
bb7b73a
Interop: Rewind tests (#14289)
tcrypt25519 Mar 3, 2025
21159c0
op-batcher: introduce `PREFER_LOCAL_SAFE_L2` config var (#14587)
geoknee Mar 3, 2025
8724441
op-deployer: Start finalizing support for v2.0.0 (#14557)
mslipper Mar 3, 2025
d4a5380
mipsevm Memory Merklization Abstraction (#14292)
ec2 Mar 3, 2025
c6d2bf6
Update README.md (#14590)
leopardracer Mar 3, 2025
279f7f2
remove devnetL1 files (#14619)
zhiqiangxu Mar 4, 2025
bd3d01f
feat: implement EIP-7251, EIP-7002 end-to-end test (#14253)
meyer9 Mar 4, 2025
87722e0
feat: add acceptance test for BLS precompiles (#13934)
meyer9 Mar 4, 2025
eb557fb
op-node: drop stale todo in finality code (#14620)
protolambda Mar 4, 2025
9cf3241
op-test-sequencer: structure sub-responsibilities (#14501)
protolambda Mar 4, 2025
4566ad1
ctb: Split up the OPCM (#14600)
mslipper Mar 4, 2025
9cedd36
ctb: Add upgrade 14 upgrader (#14612)
mslipper Mar 4, 2025
8179416
Remove redundant TODOs (#14610)
ajsutton Mar 4, 2025
d14e2b6
op-e2e: cleanup unused MessageExpiryTime from interop recipe (#14634)
Inphi Mar 5, 2025
6e61ff0
op-dispute-mon: Support interop (#14598)
ajsutton Mar 5, 2025
76e0315
contracts: Add solvency invariant test for Super FDG (#14555)
Inphi Mar 5, 2025
edbceb1
todo-checker: Fix handling of error codes. (#14611)
ajsutton Mar 5, 2025
1907e1a
op-e2e: Update dispute game helpers to support SuperSystem and super …
ajsutton Mar 5, 2025
3d1a924
Remove completed todo (#14640)
maurelian Mar 5, 2025
97efddb
ops: Add docs around bailiff re-runs (#14632)
mslipper Mar 5, 2025
b695904
contracts: rm not used format (#14593)
jsvisa Mar 5, 2025
ea0419b
op-program: Consolidate cascading block replacements (#14622)
Inphi Mar 5, 2025
2394108
fix(devnet-sdk): allow in-place redeployment (#14412)
sigma Mar 5, 2025
3cc152d
devnet-sdk: Use geth logger instead of slog (#14644)
pcw109550 Mar 5, 2025
a83574f
add flags: `txmgr.max-basefee` and `txmgr.max-tip-cap` (#13382)
zhiqiangxu Mar 5, 2025
5a463cc
ctb: Add contracts book (#14643)
mslipper Mar 5, 2025
9552189
Adress and remove todo (#14646)
maurelian Mar 5, 2025
409ed24
dependabot(gomod): bump github.com/klauspost/compress (#14436)
dependabot[bot] Mar 5, 2025
cd0a5bd
feat: update message passing for EIP7623 (#14608)
smartcontracts Mar 5, 2025
17f4092
Add upgrade 13 audit (#14647)
maurelian Mar 5, 2025
aad82c4
op-supervisor: cleanup stale todo comment (#14648)
protolambda Mar 5, 2025
f3b3357
Test upgrades on a list of chains (#14358)
JosepBove Mar 5, 2025
38e873e
isthmus: operator fee (#12166)
yuwen01 Mar 5, 2025
8916c7b
feat: handle operator fee in OPCM (#14662)
leruaa Mar 5, 2025
2cc9382
op-deployer: `l1-rpc-url` is not needed when `deployment-target` is `…
zhiqiangxu Mar 6, 2025
f98bd8e
Decouple node from chain (#14660)
pcw109550 Mar 6, 2025
7ca0407
op-conductor: Remove block time check for unsafe head progress (#14655)
dpulitano Mar 6, 2025
dc1c75e
fix: remove requests processing step (#14623)
meyer9 Mar 6, 2025
a9249ae
op-e2e: Configurable blocktime setup for interop (#14672)
Inphi Mar 6, 2025
f87ee0d
all: update op-geth to v1.101503.0 (#14560)
geoknee Mar 6, 2025
58762f0
ct docs: update release process without suffixes in contract semvers …
maurelian Mar 6, 2025
1662f44
Fix broken link in versioning.md (#14688)
mbaxter Mar 6, 2025
7975245
op-node: continue sequencing when `L1TemporaryErrorEvent` happens (#1…
zhiqiangxu Mar 6, 2025
370b22c
op-challenger: Add config option to set dependency set config (#14666)
ajsutton Mar 6, 2025
f7ab55f
Add 1.5.0-rc.3 to releases.json (#14695)
ajsutton Mar 6, 2025
fb34fa7
ci: Enforce correct formatting for TODOs. (#14639)
ajsutton Mar 6, 2025
acb01cb
op-challenger: Update op-program executor to handle interop properly …
ajsutton Mar 7, 2025
ca74739
Add ToSuper() method to convert super reponse to Super instance. (#14…
ajsutton Mar 7, 2025
6a0e2b0
Add devnet-sdk validators for fork configuration (#14668)
teddyknox Mar 7, 2025
d8f8993
Improve address management in kurtosis-devnet and devnet-sdk (#14703)
teddyknox Mar 7, 2025
b5e241b
kt-devnet: add missing network params for supervisor (#14708)
pcw109550 Mar 7, 2025
d30c721
show more error info when EngineAPIError is returned (#14673)
zhiqiangxu Mar 7, 2025
a162b40
Misc renames for clarity to fields in devnet-sdk and kurtosis-devnet …
teddyknox Mar 7, 2025
ae1c787
fix(op-deployer): goreleaser linker flags for rendering version (#14344)
yashvardhan-kukreja Mar 7, 2025
2385f93
feat: rm unnecessary generic type arguments (#12663)
jsvisa Mar 7, 2025
e2a885e
ops: remove outdated legacy env rc example (#14724)
protolambda Mar 7, 2025
76a1b9a
Ingest L1 Chain ID into devnet-sdk (#14704)
teddyknox Mar 7, 2025
23148ba
Unfreeze MIPS contracts (#14726)
mbaxter Mar 7, 2025
b2f6366
cannon: Consolidate state version logic (#14725)
mbaxter Mar 7, 2025
563f3b3
contracts: use full compiler target for semver key (#14722)
bitwiseguy Mar 7, 2025
59a19d5
contracts: reenable semver-diff-check in ci (#14727)
bitwiseguy Mar 7, 2025
90a16d5
Refreeze MIPS contracts (#14732)
mbaxter Mar 7, 2025
28f0150
cannon: Add more differential tests (#14684)
mbaxter Mar 7, 2025
eb561db
op-deployer: add command to verify contracts (#14633)
bitwiseguy Mar 8, 2025
85109f1
op-validator: Add mainnet validators (#14734)
mslipper Mar 8, 2025
4707285
all: Implement optional PectraBlobSchedule fork/feature (#14680)
sebastianst Mar 8, 2025
806ba1b
Don't split log.msg (#14735)
trianglesphere Mar 9, 2025
434d74f
op-challenger: Interop vm runner (#14669)
ajsutton Mar 10, 2025
dc9ef97
op-deployer: Upgrade contracts support to v3.0.0 (#14733)
mslipper Mar 10, 2025
3030062
op-deployer: add documentation for verify command (#14745)
bitwiseguy Mar 10, 2025
562f2ba
ci: Fix preimage-reproducibility (#14742)
ajsutton Mar 10, 2025
a9d4d8c
dependabot(gomod): bump github.com/prometheus/client_golang (#14628)
dependabot[bot] Mar 10, 2025
fa0e122
kt-devnet: remove network params for supervisor (#14746)
pcw109550 Mar 10, 2025
d43a954
op-service: Expand EthClient for tx handling (#14747)
pcw109550 Mar 10, 2025
49b7857
op-supervisor,op-service: fix server-client API consistency (#14720)
protolambda Mar 10, 2025
55c6c03
op-program: Update prestate reproducibility check to compare against …
ajsutton Mar 10, 2025
e0e012a
Fix problem with kurtosis-devnet deploy (#14729)
teddyknox Mar 10, 2025
4e814f4
allow specifying a custom package (#14750)
zhiqiangxu Mar 10, 2025
907c9d3
op-program: Add a host subcommand to list available chain configs. (#…
ajsutton Mar 10, 2025
eb6daeb
go: update SR to cb1b645b35813b8dd3a900b9f99c46614e466a2c via op-geth…
sebastianst Mar 10, 2025
e1b3ac1
op-batcher: force use of TerminalString throughout syncActions loggin…
geoknee Mar 10, 2025
7f73177
update TODO #11693 and #14765 (#14766)
axelKingsley Mar 10, 2025
768fa4d
op-program: Fix todo (#14773)
Inphi Mar 10, 2025
e04e864
feat: interop portal updates (#14664)
smartcontracts Mar 10, 2025
80736fc
Add consistency checks in ChainsDB Queries (#14769)
axelKingsley Mar 10, 2025
6219969
feat(op-acceptance-tests): introduce op-acceptance-tests. (#14706)
scharissis Mar 10, 2025
5361297
op-program: Update issue number on TODO (#14776)
ajsutton Mar 11, 2025
94e216b
op-batcher: introduce `ClearAllStateMetrics()` and call from `channel…
geoknee Mar 11, 2025
6541ca7
op-e2e: Intra-block interop action tests (#14565)
Inphi Mar 11, 2025
98ea667
chore: Show target directory when an error occurs (#14787)
janjakubnanista Mar 11, 2025
52f4cdc
chore: Add fee estimation logic for EIP1559 transactions to devnet-sd…
janjakubnanista Mar 11, 2025
5fe86e8
op-e2e: action tests for L1 Pectra activation (#14006)
geoknee Mar 11, 2025
d0ac3bc
Add a test to verify withdrawal root header Isthmus behavior (#14719)
teddyknox Mar 11, 2025
c61dcac
Add devnet-sdk fees test (#14718)
teddyknox Mar 11, 2025
ccd96f2
Add Fjord NAT Test (#14717)
teddyknox Mar 11, 2025
3260f04
Add ERC20 Bridge NAT Test (#14716)
teddyknox Mar 11, 2025
97a4e3b
fix(kt-devnet): skip fileserver deployment when possible (#14413)
sigma Mar 11, 2025
f2919d0
feat: interop portal fast follow 1 (#14785)
smartcontracts Mar 11, 2025
e9483cf
feat: update operator fee contract bytecodes (#14753)
leruaa Mar 11, 2025
9f23d2a
feat(kurtosis-devnet): make kurtosis package reproducible (#14770)
sigma Mar 11, 2025
f29951e
Include pectra blob schedule fork time in rollup config description. …
ajsutton Mar 11, 2025
148dbcc
op-deployer: Clarify versioning docs (#14738)
mslipper Mar 11, 2025
8d69dfd
op-e2e: add interop messaging dsl (#14792)
Inphi Mar 11, 2025
290881d
fix(op-deployer): verify devdocs json format (#14812)
bitwiseguy Mar 12, 2025
4c200fc
fix(kt-devnet): pin correct kt dependency (#14806)
pcw109550 Mar 12, 2025
6f1ab6a
fix(op-deployer): default cache dir (#14810)
bitwiseguy Mar 12, 2025
4d2a621
fix: interop findings (#14790)
0xDiscotech Mar 12, 2025
cef4d13
ctb/validator: Add v3.0.0 validator (#14768)
mslipper Mar 12, 2025
e5865cd
Add twrap in contracts just (#14807)
JosepBove Mar 12, 2025
d308eef
dependabot(gomod): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 …
dependabot[bot] Mar 12, 2025
ff5f981
fix(op-deployer): block getter by num via RPC (#14689)
yashvardhan-kukreja Mar 12, 2025
bdb2728
op-e2e: Fill in varied block time fp action tests (#14786)
Inphi Mar 12, 2025
2978091
add more chains to upgrade test (#14656)
JosepBove Mar 12, 2025
99cc2fb
op-deployer: Fix broken init logic (#14827)
mslipper Mar 12, 2025
d0c62b1
call NewEVMBlockContext after the blob gas fields are set (#14709)
blockchaindevsh Mar 12, 2025
9f65c25
feat: remove DisputeGameFactory input from SystemConfig (#14820)
smartcontracts Mar 12, 2025
73bad70
Move NAT tests into op-acceptance-tests (#14802)
teddyknox Mar 13, 2025
7af6afb
devnet-sdk: Plugin op-service ethclient (#14751)
pcw109550 Mar 13, 2025
66be856
op-deployer: Add backports guide (#14830)
mslipper Mar 13, 2025
9d56eef
enable ci for devnet-sdk (#14843)
pcw109550 Mar 13, 2025
692b68a
all: update op-geth and SCR submodule (#14842)
geoknee Mar 13, 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
  •  
  •  
  •  
80 changes: 70 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,15 @@ commands:
install-contracts-dependencies:
description: "Install the dependencies for the smart contracts"
steps:
- run:
name: Install SVM compilers
command: |
# Have to wipe out the SVM directory to avoid issues with the SVM version
rm -rf ~/.svm/*
svm install 0.8.15
svm install 0.8.19
svm install 0.8.25
svm install 0.8.28
- run:
name: Install dependencies
command: |
Expand Down Expand Up @@ -342,8 +351,6 @@ jobs:
- "packages/contracts-bedrock/cache"
- "packages/contracts-bedrock/artifacts"
- "packages/contracts-bedrock/forge-artifacts"
- "packages/contracts-bedrock/deploy-config/devnetL1.json"
- "packages/contracts-bedrock/deployments/devnetL1"
- notify-failures-on-develop

check-kontrol-build:
Expand Down Expand Up @@ -793,7 +800,8 @@ jobs:
no_output_timeout: <<parameters.test_timeout>>
- run:
name: Print failed test traces
command: just test-rerun
command: |
just test-rerun | tee failed-test-traces.log
environment:
FOUNDRY_PROFILE: <<parameters.test_profile>>
ETH_RPC_URL: https://ci-mainnet-l1-archive.optimism.io
Expand All @@ -803,10 +811,25 @@ jobs:
disable_search: true
files: ./packages/contracts-bedrock/lcov-all.info
flags: contracts-bedrock-tests
- store_artifacts:
path: packages/contracts-bedrock/failed-test-traces.log
when: on_fail
- notify-failures-on-develop

contracts-bedrock-tests-upgrade:
circleci_ip_ranges: true
parameters:
fork_op_chain:
description: Fork OP Chain
type: string
default: "op"
fork_base_chain:
description: Fork Base Chain
type: string
default: "mainnet"
fork_base_rpc:
description: Fork Base RPC
type: string
docker:
- image: <<pipeline.parameters.default_docker_image>>
resource_class: large
Expand All @@ -833,28 +856,35 @@ jobs:
command: |
just print-pinned-block-number > ./pinnedBlockNumber.txt
cat pinnedBlockNumber.txt
environment:
FORK_BASE_CHAIN: <<parameters.fork_base_chain>>
working_directory: packages/contracts-bedrock
- restore_cache:
name: Restore forked state
key: forked-state-contracts-bedrock-tests-upgrade-{{ checksum "packages/contracts-bedrock/pinnedBlockNumber.txt" }}
key: forked-state-contracts-bedrock-tests-upgrade-<<parameters.fork_op_chain>>-<<parameters.fork_base_chain>>-{{ checksum "packages/contracts-bedrock/pinnedBlockNumber.txt" }}
- run:
name: Run tests
command: just test-upgrade
environment:
FOUNDRY_FUZZ_SEED: 42424242
FOUNDRY_FUZZ_RUNS: 1
FOUNDRY_PROFILE: ci
ETH_RPC_URL: https://ci-mainnet-l1-archive.optimism.io
ETH_RPC_URL: <<parameters.fork_base_rpc>>
FORK_OP_CHAIN: <<parameters.fork_op_chain>>
FORK_BASE_CHAIN: <<parameters.fork_base_chain>>
working_directory: packages/contracts-bedrock
no_output_timeout: 15m
- run:
name: Print failed test traces
command: just test-upgrade-rerun
command: |
just test-upgrade-rerun | tee failed-test-traces.log
environment:
FOUNDRY_FUZZ_SEED: 42424242
FOUNDRY_FUZZ_RUNS: 1
FOUNDRY_PROFILE: ci
ETH_RPC_URL: https://ci-mainnet-l1-archive.optimism.io
ETH_RPC_URL: <<parameters.fork_base_rpc>>
FORK_OP_CHAIN: <<parameters.fork_op_chain>>
FORK_BASE_CHAIN: <<parameters.fork_base_chain>>
working_directory: packages/contracts-bedrock
when: on_fail
- save_cache:
Expand All @@ -864,10 +894,13 @@ jobs:
- "/root/.cache/go-build"
- save_cache:
name: Save forked state
key: forked-state-contracts-bedrock-tests-upgrade-{{ checksum "packages/contracts-bedrock/pinnedBlockNumber.txt" }}
key: forked-state-contracts-bedrock-tests-upgrade-<<parameters.fork_op_chain>>-<<parameters.fork_base_chain>>-{{ checksum "packages/contracts-bedrock/pinnedBlockNumber.txt" }}
when: always
paths:
- "/root/.foundry/cache"
- store_artifacts:
path: packages/contracts-bedrock/failed-test-traces.log
when: on_fail
- notify-failures-on-develop

contracts-bedrock-checks:
Expand Down Expand Up @@ -900,6 +933,8 @@ jobs:
command: snapshots-check-no-build
- run-contracts-check:
command: interfaces-check-no-build
- run-contracts-check:
command: reinitializer-check-no-build
- run-contracts-check:
command: size-check
- run-contracts-check:
Expand All @@ -921,7 +956,7 @@ jobs:
command: sudo apt-get install -y ripgrep
- run:
name: Check TODO issues
command: ./ops/scripts/todo-checker.sh --verbose <<#parameters.check_closed>> --check-closed <</parameters.check_closed>>
command: ./ops/scripts/todo-checker.sh --verbose --strict <<#parameters.check_closed>> --check-closed <</parameters.check_closed>>
- notify-failures-on-develop

fuzz-golang:
Expand Down Expand Up @@ -1184,7 +1219,12 @@ jobs:
steps:
- utils/checkout-with-mise
- setup_remote_docker
- run: make -C op-program verify-reproducibility
- run:
name: Verify reproducibility
command: make -C op-program verify-reproducibility
- store_artifacts:
path: ./op-program/temp/logs
when: always
- notify-failures-on-develop:
mentions: "@proofs-team"

Expand Down Expand Up @@ -1446,6 +1486,24 @@ workflows:
- contracts-bedrock-build
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade
fork_op_chain: op
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade base-mainnet
fork_op_chain: base
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade ink-mainnet
fork_op_chain: ink
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
- contracts-bedrock-tests-upgrade:
name: contracts-bedrock-tests-upgrade unichain-mainnet
fork_op_chain: unichain
fork_base_chain: mainnet
fork_base_rpc: https://ci-mainnet-l1-archive.optimism.io
- contracts-bedrock-checks:
requires:
- contracts-bedrock-build
Expand Down Expand Up @@ -1506,7 +1564,9 @@ workflows:
op-e2e/actions
op-e2e/faultproofs
packages/contracts-bedrock/scripts/checks
packages/contracts-bedrock/scripts/verify
op-dripper
devnet-sdk
requires:
- contracts-bedrock-build
- cannon-prestate-quick
Expand Down
68 changes: 0 additions & 68 deletions .envrc.example

This file was deleted.

3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,6 @@

# Contracts
/packages/contracts-bedrock @ethereum-optimism/contract-reviewers

# Security docs
/docs @ethereum-optimism/evm-safety
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ cache

!op-deployer/pkg/deployer/artifacts

packages/contracts-bedrock/deployments/devnetL1

packages/contracts-bedrock/deployments/anvil

# vim
Expand Down
39 changes: 29 additions & 10 deletions .semgrep/rules/sol-rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,6 @@ rules:
paths:
exclude:
- packages/contracts-bedrock/src/L1/OPContractsManager.sol
- packages/contracts-bedrock/src/L1/OPContractsManagerInterop.sol
- packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol

- id: sol-style-enforce-require-msg
Expand Down Expand Up @@ -241,15 +240,11 @@ rules:
_disableInitializers();
...
}
paths:
exclude:
- packages/contracts-bedrock/src/L1/SystemConfigInterop.sol
- packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol

- id: sol-safety-proper-initializer
languages: [solidity]
severity: ERROR
message: Proxied contracts must have an initialize function with the initializer modifier and external visibility
message: Proxied contracts must have an initialize function with the initializer or reinitializer modifier and external or public visibility
patterns:
- pattern-regex: "///\\s*@custom:proxied\\s+true(?P<CONTRACT>[\\s\\S]*)"
- focus-metavariable: $CONTRACT
Expand All @@ -261,7 +256,31 @@ rules:
function initialize(...) external initializer {
...
}
paths:
exclude:
- packages/contracts-bedrock/src/L1/SystemConfig.sol
- packages/contracts-bedrock/src/L1/SystemConfigInterop.sol
- pattern-not: |
function initialize(...) public initializer {
...
}
- pattern-not: |
function initialize(...) external reinitializer(...) {
...
}
- pattern-not: |
function initialize(...) public reinitializer(...) {
...
}

- id: sol-safety-proper-upgrade-function
languages: [solidity]
severity: ERROR
message: Upgrade functions must be external and have the reinitializer modifier
patterns:
- pattern-regex: "///\\s*@custom:proxied\\s+true(?P<CONTRACT>[\\s\\S]*)"
- focus-metavariable: $CONTRACT
- pattern: |
function upgrade(...) {
...
}
- pattern-not: |
function upgrade(...) external reinitializer(...) {
...
}
21 changes: 18 additions & 3 deletions .semgrep/tests/sol-rules.sol-safety-proper-initializer.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,28 @@ contract SemgrepTest__sol_safety_proper_initializer {
// ...
}

// ruleid: sol-safety-proper-initializer
function initialize() external {
// ok: sol-safety-proper-initializer
function initialize() public initializer {
// ...
}

// ok: sol-safety-proper-initializer
function initialize() external reinitializer(1) {
// ...
}

// ok: sol-safety-proper-initializer
function initialize() external reinitializer(1) {
// ...
}

// ok: sol-safety-proper-initializer
function initialize() public reinitializer(2) {
// ...
}

// ruleid: sol-safety-proper-initializer
function initialize() public initializer {
function initialize() internal {
// ...
}

Expand Down
Loading