Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge with op-develop #72

Merged
merged 308 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
308 commits
Select commit Hold shift + click to select a range
0561fd4
op-supervisor: cleanup cross-L2 safety types (#12098)
protolambda Sep 26, 2024
c7ab63b
fix: Update absolute prestate (#12161)
blmalone Sep 26, 2024
6163b32
ci: Add Cannon STF verify recurring job (#12165)
Inphi Sep 27, 2024
8be1550
Update CONTRIBUTING.md (#12164)
tsnob Sep 27, 2024
a9c7f34
Use DA /put path from spec (#12081)
karlb Sep 27, 2024
32a3637
fix(ct): correct constructor parameters (#12158)
smartcontracts Sep 27, 2024
169f808
Remove devnet tests (#12170)
mslipper Sep 27, 2024
b0a4c11
maint(ct): add leftover interfaces (#12167)
smartcontracts Sep 27, 2024
6b2a3fe
op-node/rollup/derive: Implement Holocene Frame Queue (#12069)
sebastianst Sep 27, 2024
724b4e5
contracts-bedrock: better error message (#12148)
tynes Sep 27, 2024
d141b53
typo fix (#12179)
AmadiMichael Sep 27, 2024
a96b228
sent message event and l2tol2cdm relayMessage entrypoint (#11592)
hamdiallam Sep 27, 2024
644dc2b
Cleanups for production, add standard addresses (#12169)
mslipper Sep 27, 2024
289cd71
Supervisor: Safety Index (#12154)
axelKingsley Sep 27, 2024
b1dfd74
OPCM: Adds a test, cleans up some TODOs, new justfile command (#12182)
mds1 Sep 27, 2024
5eaac1d
maint(ct): remove Kontrol interfaces (#12178)
smartcontracts Sep 27, 2024
6ba2ac0
Interfaces in OPCM and OPCMInterop (#12188)
maurelian Sep 28, 2024
cd7e9d4
feat: Rewrite natspec checker in Go (#12191)
mslipper Sep 29, 2024
f2d5e32
add `retry.Do0` (#12194)
zhiqiangxu Sep 29, 2024
d340262
op-program: Switch fpp-verify back to running in separate process. (#…
ajsutton Sep 30, 2024
cd1cc10
test: Transfer to finalSystemOwner rather than SystemOwnerSafe (#12116)
maurelian Sep 30, 2024
fa9ab5e
fix(ct): kontrol summary bug (#12193)
smartcontracts Sep 30, 2024
3aabfe6
fix(ct): give kontrol access to full src (#12181)
smartcontracts Sep 30, 2024
52d0e60
cannon: Support F_GETFD cmd to fcntl (#12050)
ajsutton Sep 30, 2024
de2d9fc
test: Ensure all foundry tests are organized into subdirs (#12111)
maurelian Sep 30, 2024
fe8f2ae
Delete interface directory (#12208)
codewaicher Sep 30, 2024
7467980
contracts-bedrock: bump forge-std (#12149)
tynes Sep 30, 2024
f0227a8
tag-tool: Add --prerelease option (#12210)
Inphi Sep 30, 2024
b127499
ci: Cannon v2 STF verify (#12211)
Inphi Sep 30, 2024
b6e27b6
test(deploy): Deploy a distinct ProxyAdmin for Superchain contracts (…
maurelian Sep 30, 2024
909d7fd
supervisor: Fix nil check (#12209)
Inphi Sep 30, 2024
5bd72f6
Holocene extensions to L1Block.sol (#12096)
Sep 30, 2024
75b0e66
cannon: Bump go tests to go1.22 (#12214)
mbaxter Sep 30, 2024
31e244c
- fix lint issue in Encoding.sol (#12215)
Oct 1, 2024
b5b68de
fix(ci): add files to semgrep ignore (#12219)
smartcontracts Oct 1, 2024
d05fb50
cannon: Update version of go used in cannon stf-diff (#12218)
ajsutton Oct 1, 2024
c2dc0ab
op-e2e: Support specifying allocs in tests (#12216)
mslipper Oct 1, 2024
fed6f35
fix(ci): temporarily make semgrep scan ok on err (#12227)
smartcontracts Oct 1, 2024
a2653a3
cannon: 64-bit Refactor (#12029)
Inphi Oct 1, 2024
7feffce
Configurable GasLimit for op-deployer (#12224)
blmalone Oct 1, 2024
8a7db41
op-deployer: Fix init bugs (#12230)
mslipper Oct 1, 2024
dd2b21c
make check-interfaces.sh warn on old versions of bash (#12220)
Oct 1, 2024
d8cde65
cannon: Fix cli --stop-at-preimage value parsing (#12234)
Inphi Oct 1, 2024
a4d81ba
use interfaces in opcm contracts (#12217)
AmadiMichael Oct 1, 2024
28726a3
Revert "Holocene extensions to L1Block.sol (#12096)" (#12236)
Oct 1, 2024
73038c8
op-e2e/system/fjord: Fix check script test (#12231)
sebastianst Oct 1, 2024
445a3d4
feat(sequencer): Origin Selector asynchronously prefetches the next o…
BrianBland Oct 2, 2024
ab8b371
MT Cannon: add cannon load/store opcodes tests (#12196)
GrapeBaBa Oct 2, 2024
e7dbd84
feat: Use DeploySuperchain script in Deploy.s.sol (#12203)
maurelian Oct 2, 2024
b1d119f
op-e2e: Retrieve AllocType from System instead of env (#12221)
ajsutton Oct 2, 2024
a12738b
feat: deployImplementations and depImplementationsInterop (#12226)
maurelian Oct 2, 2024
40a70bd
Eth: BlockRef (#12251)
axelKingsley Oct 2, 2024
28283a9
Configurable Dispute Game Parameters (#12228)
blmalone Oct 2, 2024
ef46b05
feat: Add a test to simplify deploy script testing (#12235)
maurelian Oct 2, 2024
1217d4a
op-deployer: Custom gas price estimator (#12239)
mslipper Oct 2, 2024
d1f6501
batcher: use abstract Queue type for blocks state (#12180)
geoknee Oct 2, 2024
2c7de99
cannon: Define 64-bit syscalls (#12256)
Inphi Oct 2, 2024
33bc0be
feat: Extract deployment of pre-v1.6.0 code (#12233)
maurelian Oct 2, 2024
00f965d
dependabot(docker): bump ethereum/client-go in /ops-bedrock (#12229)
dependabot[bot] Oct 2, 2024
c54044f
fix(ct): error in deploy script (#12264)
smartcontracts Oct 2, 2024
91f67eb
op-program: Increase timeout for the verify job. (#12267)
ajsutton Oct 2, 2024
b117186
Move serialize from cannon to op-service (#12265)
mininny Oct 2, 2024
c8a9533
feat: Add ChainAssertions for deploySuperchain contracts (#12271)
maurelian Oct 2, 2024
83b91d9
feat(ct): add SOLIDITY_UPGRADES document (#12272)
smartcontracts Oct 2, 2024
daff281
maint(ci): add kontrol build to CI (#12266)
smartcontracts Oct 2, 2024
82cb8ff
Update op-geth depdency to 1.14.11 base (#12262)
0x00101010 Oct 2, 2024
a83c375
op-deployer: Test for existing OPCM (#12257)
mslipper Oct 3, 2024
f538497
op-deployer: Update artifacts url (#12278)
mslipper Oct 3, 2024
35426c1
maint(ct): move EAS contracts into vendor folder (#12277)
smartcontracts Oct 3, 2024
8eada51
Add error codes to ChainAssertions (#12279)
maurelian Oct 3, 2024
ce13164
dependabot(gomod): bump github.com/multiformats/go-multiaddr-dns (#12…
dependabot[bot] Oct 3, 2024
ae47d36
feat: deletes unused FPACOPS scripts (#12283)
maurelian Oct 3, 2024
6cf6cd1
Fix typos in dastate.go (#12223)
karlb Oct 3, 2024
c4119f1
feat: allow block time override (#12276)
mds1 Oct 3, 2024
1ab9775
doc: remove deleted .yml path (#12285)
r4525532 Oct 3, 2024
13d116a
feat: Delete scripts/fpac dir (#12286)
maurelian Oct 3, 2024
9e7d1ef
Update README.md (#12288)
raffaelemazzitelli Oct 3, 2024
a9f8330
Update SECURITY.md (#12290)
raffaelemazzitelli Oct 3, 2024
9c91fff
feat(ci): add local semgrep scanning (#12281)
smartcontracts Oct 3, 2024
6014026
Update SECURITY.md (#12293)
raffaelemazzitelli Oct 3, 2024
711bc7c
cannon: Fix 64-bit memory access (#12259)
Inphi Oct 3, 2024
b02dba0
Add binary deserialization to asterisc's state converter trace functi…
mininny Oct 4, 2024
289f074
feat: better e2e deploy check (#12309)
tynes Oct 4, 2024
0a40d05
feat: Replace deployImplementations with call to DeployImplementation…
maurelian Oct 4, 2024
7789e6a
feat: Add OPCM to deployImplementations (#12287)
maurelian Oct 4, 2024
f2096a6
dependabot(gomod): bump golang.org/x/time from 0.6.0 to 0.7.0 (#12327)
dependabot[bot] Oct 4, 2024
035129d
feat: Move DEFAULT_STARTING_ANCHOR_ROOTS to Constants library (#12332)
maurelian Oct 4, 2024
ca604d5
contracts: update chain assertions (#12323)
tynes Oct 4, 2024
f9a3052
Update SECURITY.md (#12294)
raffaele-oplabs Oct 5, 2024
8636b6e
feat: add sol-style-doc-comment locally (#12343)
smartcontracts Oct 5, 2024
df25b1f
feat(ci): allow solc warnings on tests (#12292)
maurelian Oct 5, 2024
1f62270
dependabot(gomod): bump golang.org/x/crypto from 0.27.0 to 0.28.0 (#1…
dependabot[bot] Oct 5, 2024
e9b5eeb
feat: add sol-expectrevert-no-args locally (#12342)
smartcontracts Oct 5, 2024
e165a7e
contracts: clean up deploy script abstractions (#12336)
tynes Oct 5, 2024
5a155ee
maint(ci): clean up semgrep rules and ignores (#12347)
smartcontracts Oct 6, 2024
8917511
feat(ci): use foundry profiles to set fuzz parameters (#12346)
smartcontracts Oct 6, 2024
d062c1c
Remove AddSingularBatch from ChannelOut interface (prefer AddBlock) (…
mdehoog Oct 7, 2024
f33a0a9
increase metric properly when blocks are requeued (#12326)
geoknee Oct 7, 2024
981ee6a
feat: add sol-style-malformed-require locally (#12340)
smartcontracts Oct 7, 2024
b460aa2
contracts-bedrock: cleanup `FeeVault` (#12338)
tynes Oct 7, 2024
35bbd80
contracts-bedrock: fixes `OptimismMintableERC721Factory` test (#12306)
tynes Oct 7, 2024
6d874d5
feat: add sol-style-malformed-revert locally (#12341)
smartcontracts Oct 7, 2024
fb8ac6b
feat(ct): add checks for unused imports (#12348)
smartcontracts Oct 7, 2024
a85ff0a
ci: Fix proofs team CI notification group name (#12362)
pauldowman Oct 7, 2024
77c91d0
fix(ci): add unused imports check to ci (#12360)
smartcontracts Oct 7, 2024
b4171c3
fix(ci): add MIPSInstructions as exception (#12361)
smartcontracts Oct 7, 2024
078e016
OPCM: DepolyOPChain additional testing checks. (#12355)
blmalone Oct 7, 2024
c938fdf
devnet: fix build issue (#12364)
tynes Oct 7, 2024
2412379
fix(ct): deploy MIPS2 properly (#12365)
smartcontracts Oct 8, 2024
8cb56d9
feat: add semgrep-scan-local to justfile (#12366)
smartcontracts Oct 8, 2024
fb7f306
op-program: Avoid parsing op-sepolia and op-mainnet rollup and chain …
ajsutton Oct 8, 2024
2c24e65
txmgr: reinstate fee metrics (#12369)
geoknee Oct 8, 2024
dee44ec
Interop: Update Inputs (rebased) (#12204)
axelKingsley Oct 8, 2024
117c9a4
cannon: Default load-elf to output state.bin.gz (#12367)
ajsutton Oct 8, 2024
d37f753
fix: just build-go-ffi command (#12371)
maurelian Oct 8, 2024
03b526d
MTCannon: Fix `AssertEVMReverts` to correctly construct data (#12200)
joohhnnn Oct 8, 2024
87d0152
feat(ct): port interface checks to go (#12335)
smartcontracts Oct 8, 2024
a05feb3
OPCM: AddressManager and ProxyAdmin assertions. (#12370)
blmalone Oct 8, 2024
52783f0
fix:fix load/store test compatible cannon64 (#12345)
GrapeBaBa Oct 8, 2024
c55dcd2
feat:add movz/movn mips test (#12353)
GrapeBaBa Oct 8, 2024
fb62380
fix(ci): use forge-build in dockerfile (#12377)
smartcontracts Oct 8, 2024
4dfd6ae
ci: Rename devnet-allocs-tests target to devnet-allocs (#12384)
ajsutton Oct 9, 2024
92fc0d8
op-program: Add missing unit tests for precompiles. (#12381)
ajsutton Oct 9, 2024
dd01096
chore: don't write superchain roles stanza to the intent.toml (#12373)
mds1 Oct 9, 2024
5a03aa1
feat(ci): add semgrep to ci-builder (#12376)
smartcontracts Oct 9, 2024
5f625e0
feat: add op-deployer inspect command (#12375)
mds1 Oct 9, 2024
a54c79b
feat: sendRawTranscationConditional op-e2e test (#11671)
hamdiallam Oct 9, 2024
f717663
chore: log message on init success (#12396)
mds1 Oct 9, 2024
6d36d68
feat(ct): add INTERFACES.md (#12359)
smartcontracts Oct 9, 2024
9bbc54b
use interface and deployutils for remaining contracts in l2genesis (#…
AmadiMichael Oct 10, 2024
d1882af
maint(ci): remove Slither (#12411)
smartcontracts Oct 10, 2024
9e1b6a9
cannon: Fix 64-bit test compilation (#12416)
mbaxter Oct 10, 2024
d470c77
op-program: Store created blocks to avoid needing to re-execute them …
ajsutton Oct 10, 2024
18732db
op-program: Only allow requests for rollup config and l2 chain config…
ajsutton Oct 11, 2024
a5d0e30
MT Cannon: add mips movf/movt tests (#12392)
GrapeBaBa Oct 11, 2024
0466b62
deployOpChain using OPCM (#12291)
maurelian Oct 11, 2024
0f4b1e3
feat(contracts-bedrock): remove old forge-std code (#12378)
jsvisa Oct 11, 2024
f259ee0
doc: add more security review info (#12429)
mds1 Oct 11, 2024
86c37b9
op-deployer: Fee Recipients and Gas Params added to intent (#12404)
blmalone Oct 11, 2024
1495f6d
feat(ci): add semgrep to contracts checks (#12395)
smartcontracts Oct 11, 2024
5c1e198
[batcher] derive.ChannelOut factory (#12344)
mdehoog Oct 11, 2024
bb2c99c
MTCannon: improve consistency & add EmptyThreadStack test (#12389)
joohhnnn Oct 11, 2024
1222534
op-service: Add optional headers to the signer client (#12407)
trianglesphere Oct 11, 2024
1f91054
fix: L1 blobs fetcher interface implementation assertion (#12403)
threewebcode Oct 11, 2024
9d9dc32
cannon: Add more load / store tests (#12432)
mbaxter Oct 11, 2024
14b437b
op-challenger: Set op-program log level based on the challenger level…
ajsutton Oct 14, 2024
33628f5
dependabot(gomod): bump github.com/urfave/cli/v2 from 2.27.4 to 2.27.…
dependabot[bot] Oct 14, 2024
1ac85ca
[batcher] Cleanup batcher channel inclusion block logic (#12363)
mdehoog Oct 14, 2024
d41e588
op-challenger: Support running multiple prestates the same game type …
ajsutton Oct 14, 2024
e7085e5
dependabot(gomod): bump github.com/minio/minio-go/v7 (#12446)
dependabot[bot] Oct 14, 2024
6f41bac
proofs-tools: Update challenger to include new vm runner options. (#1…
ajsutton Oct 15, 2024
ed4a80c
ci: Port some CI jobs to self-hosted runners (#12199)
mslipper Oct 15, 2024
f0d7738
Rename channel receiver (#12453)
mdehoog Oct 15, 2024
6ae28f5
op-node/rollup/derive: Add Holocene Channel Stage (#12334)
sebastianst Oct 15, 2024
34e8e69
op-e2e: Parallelize CGT tests (#12464)
mslipper Oct 15, 2024
c8edbe2
test: Remove exceptions for unlabelled fdg contracts (#12462)
maurelian Oct 15, 2024
cb2066b
feat: introduce SuperchainERC20 redesign + ICrosschainERC20 (#12321)
agusduha Oct 15, 2024
eb21c3e
op-e2e: Suffix Kurtosis enclaves with current time (#12473)
mslipper Oct 15, 2024
7728993
maint(ct): fix AddressManager deploy (#12471)
smartcontracts Oct 15, 2024
745b251
op-supervisor: cleanup, refactor, local-safe info from op-node (#12427)
protolambda Oct 15, 2024
59ba5f3
op-supervisor: dependency-set config (#12450)
protolambda Oct 15, 2024
3be573c
cannon: Add a script to build multicannon with support for legacy ver…
ajsutton Oct 15, 2024
99021b5
interop: fromda DB (#12436)
protolambda Oct 15, 2024
cb9e667
op-challenger: Introduce --prestates-url to specify prestates source …
ajsutton Oct 16, 2024
9f24084
op-challenger: Support file: URLs to download prestates from. (#12441)
ajsutton Oct 16, 2024
1ff7090
ci: Combine all go tests into one job (#12474)
mslipper Oct 16, 2024
f121f6b
Add repo links for sherlock contests (#12470)
maurelian Oct 16, 2024
7b8c3c3
fix: Allow reading the initialized slot of a Proxy (#12465)
maurelian Oct 16, 2024
c93c972
op-e2e: Increase sequencer window for fault proof tests. (#12479)
ajsutton Oct 16, 2024
86e5f63
op-node/rollup/sequencing: Fix temporary engine error handling (#12258)
sebastianst Oct 16, 2024
ea60a8a
cannon: use constant instead of magic value (#12386)
zhiqiangxu Oct 16, 2024
ef009e3
Implement OverrideLeader & LeaderOverriden method for conductor (#12451)
0x00101010 Oct 16, 2024
dfdc28b
feat: Move checkOutput from DeployOPChainOutput to DeployOPChain scri…
maurelian Oct 16, 2024
3f65402
op-deployer: Separate L1 and L2 contract artifacts (#12480)
mslipper Oct 16, 2024
c92c822
proofs-tools: Update asterisc (#12492)
ajsutton Oct 16, 2024
1f106f7
op-deployer: Package for production (#12491)
mslipper Oct 16, 2024
da6625f
op-deployer: Most implementation addresses not set in state.json when…
blmalone Oct 16, 2024
f58f1f5
op-deployer: Marshal tag-based ArtifactsLocator with correct scheme (…
mslipper Oct 16, 2024
dc12512
ci: Revert kurtosis test back to CCI runner (#12500)
mslipper Oct 17, 2024
527bf6c
feat: op-program supports custom chain config (#12310)
qizhou Oct 17, 2024
cc0959d
cannon: Rework RMW ops for 64-bit compatibility (#12419)
mbaxter Oct 17, 2024
56330c0
cannon: use constant instead of magic value for solidity part (#12484)
zhiqiangxu Oct 17, 2024
05961cc
op-deployer: error handling bugs (#12507)
blmalone Oct 17, 2024
7ce9165
feat(op-batcher): wait for pre-genesis RPC request loop (#12383)
jsvisa Oct 17, 2024
c26ab41
Initialize using Dependency Set Configuration (#12495)
axelKingsley Oct 17, 2024
94204e9
op-e2e: Don't override the sequencer window in tests where it shouldn…
ajsutton Oct 17, 2024
3af1faf
fix: remove immutables from superchain erc20 beacon (#12207)
agusduha Oct 17, 2024
71ca0f1
feat: add cross domain message context function (#12477)
0xDiscotech Oct 17, 2024
27c12a1
feat(predeploys): add SuperchainTokenBridge to addresses.go (#12512)
tremarkley Oct 17, 2024
466fd95
fix(devnet): declare variable l2_output_oracle and then use (#12504)
jsvisa Oct 18, 2024
d2c5146
fix(make): rm devent-test (#12501)
jsvisa Oct 18, 2024
f99424d
op-node: Alphabetize network list (#12522)
mbaxter Oct 18, 2024
5f7f44c
op-deployer: Remove irrelevant flags (#12525)
mslipper Oct 18, 2024
5a37546
op-deployer: update default gas limit values. (#12524)
blmalone Oct 18, 2024
661e5b4
Add op-conductor design in README (#12516)
0x00101010 Oct 18, 2024
ceafacf
op-deployer: updating opcm proxies for mainnet and sepolia (#12527)
blmalone Oct 18, 2024
7bd0370
ci: add context to deployer (#12528)
mslipper Oct 18, 2024
c05aca3
opcm: exposing preimage oracle and mips singletons via DeployOPChain.…
blmalone Oct 18, 2024
565e540
op-e2e,ctb: Test fixes (#12529)
mslipper Oct 18, 2024
1bf64d9
op-e2e: Increase timeout on output submitter test (#12531)
mslipper Oct 18, 2024
21dae7f
ci: fix goreleaser (#12532)
mslipper Oct 18, 2024
baa11be
remove loose imports (#12519)
AmadiMichael Oct 19, 2024
8fb06ad
op-e2e: remove flaky assertion (#12533)
mslipper Oct 19, 2024
dea0489
feat(ci): apply semgrep safety checks to tests (#12505)
smartcontracts Oct 19, 2024
02dd16a
maint(ct): use mips and oracle interfaces (#12493)
smartcontracts Oct 19, 2024
a0aa656
feat: op-program --network flag accepts number as chainid (#12503)
qizhou Oct 20, 2024
76c1e1d
feat(L2toL2CDM): improve gas estimation (#12526)
tremarkley Oct 21, 2024
15a7102
dependabot(gomod): bump github.com/prometheus/client_golang (#12467)
dependabot[bot] Oct 21, 2024
a1c00c8
dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang …
dependabot[bot] Oct 21, 2024
77078b1
docs(ct): fix small typo (#12393)
jsvisa Oct 21, 2024
1d6bb41
feat(ci): rule for expectrevert before ll call (#12544)
smartcontracts Oct 21, 2024
cf0e3a5
fix(ci): apply doc comment rule to tests (#12545)
smartcontracts Oct 21, 2024
1e59d08
op-program: store prestate versions in json files (#12523)
bitwiseguy Oct 21, 2024
c6c9c4b
op-deployer: Support L1 alloc deployments (#12517)
mslipper Oct 21, 2024
e7fbaec
Holocene: initial op-node support for configurable eip-1559 params (#…
Oct 21, 2024
d3be0de
op-program: Remove governanceApproved flag from pre-1.0 prestates (#1…
ajsutton Oct 21, 2024
361b534
op-service/sources: Fix receipts fetcher concurrency test (#12554)
sebastianst Oct 21, 2024
d035096
op-deployer: Remove binary that got committed (#12555)
mslipper Oct 21, 2024
d8012e0
op-deployer: bugfix: Chain ownership roles (#12556)
mslipper Oct 21, 2024
76beff3
test: Default to enabling fault proofs (#12489)
maurelian Oct 22, 2024
574aba7
feat: SuperchainWETH redesign (#12514)
gotzenx Oct 22, 2024
8b0cbf3
Holocene: SystemConfig contract changes for updating EIP-1559 params …
Oct 22, 2024
9127588
Update Kontrol from `0.1.316` to `1.0.53` (#12289)
JuanCoRo Oct 22, 2024
dcdf2b7
feat(contracts): use atomic.Bool instead of int (#12368)
jsvisa Oct 22, 2024
f6ca236
feat(ct/kontrol): mock DeploymentSummary (#12388)
jsvisa Oct 22, 2024
5808985
op-node/rollup/derive: Implement Holocene Batch Stage (#12417)
sebastianst Oct 22, 2024
3b83710
op-deployer: Run validations over L2 genesis (#12560)
mslipper Oct 22, 2024
c9e3ad6
op-deployer: Add deploy config inspect command (#12570)
mslipper Oct 22, 2024
90fb25f
e2e test for Holocene's configurable eip-1559 params (#12499)
Oct 22, 2024
9483e3b
op-deployer: Fix standard artifacts urls (#12575)
mslipper Oct 22, 2024
b93daad
feat:add cannon mips mul/div tests (#12459)
GrapeBaBa Oct 22, 2024
2d08d19
rollup-client: Increase call timeouts in CI (#12561)
ajsutton Oct 22, 2024
cd640b0
feat: support permit2 on OptimismSuperchainERC20 + upgrade solady's e…
0xDiscotech Oct 22, 2024
8524872
proofs-tools: Update kona (#12581)
ajsutton Oct 22, 2024
bb5ab2e
op-deployer: Add support for inspecting l2 semvers (#12577)
mslipper Oct 22, 2024
1ad93ba
proofs-tools: Update kona to alpha 5 (#12583)
ajsutton Oct 22, 2024
e372a2d
op-service: Add omitempty to EIP1559Params (#12582)
mslipper Oct 22, 2024
bb6de07
op-program: Automatically verify the prestate hash for all op-program…
ajsutton Oct 22, 2024
371a66b
op-challenger: Use info log level for kona not default (#12585)
ajsutton Oct 22, 2024
984bd41
op-challenger: Use binary snapshots for asterisc (#12586)
ajsutton Oct 22, 2024
de79564
op-challenger: Log warning and continue if game impl not available (#…
ajsutton Oct 22, 2024
3fbf88b
proofs-tools: Use asterisc version from kona release. (#12587)
ajsutton Oct 23, 2024
32b7ca1
op-chain-ops: Marshal withdrawalnetwork as int (#12584)
mslipper Oct 23, 2024
da7350c
op-deployer: Remove zeroed out allocs and deployer addr (#12589)
mslipper Oct 23, 2024
2769b25
feat(ci): add tests for semgrep rules (#12563)
smartcontracts Oct 23, 2024
0ea0441
GasPriceOracle.sol: small fix (#11840)
cutecups Oct 23, 2024
93f5d41
fix: support storage key RPC response with <32 bytes (#12576)
meyer9 Oct 23, 2024
22d8365
op-challenger: Avoid cancelling context until response data has been …
ajsutton Oct 23, 2024
5ecd2db
proofs-tools: Update challenger (#12591)
ajsutton Oct 23, 2024
6e133b8
Merge branch 'op-develop' into op-es
Oct 23, 2024
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
  •  
  •  
  •  
785 changes: 241 additions & 544 deletions .circleci/config.yml

Large diffs are not rendered by default.

32 changes: 0 additions & 32 deletions .github/workflows/slither.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ packages/contracts-bedrock/deployments/anvil
!.envrc.example
*.log

.devnet
.devnet*

# Ignore local fuzzing results
**/testdata/fuzz/
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@
[submodule "packages/contracts-bedrock/lib/openzeppelin-contracts-v5"]
path = packages/contracts-bedrock/lib/openzeppelin-contracts-v5
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "packages/contracts-bedrock/lib/solady-v0.0.245"]
path = packages/contracts-bedrock/lib/solady-v0.0.245
url = https://github.com/vectorized/solady
14 changes: 1 addition & 13 deletions .semgrepignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,8 @@ vendor/
.tox/
*.min.js

# Common test paths
test/
tests/

# Semgrep rules folder
.semgrep
semgrep/

# Semgrep-action log folder
.semgrep_logs/

op-chain-ops/script/testdata

packages/*/node_modules
packages/*/test

# Autogenerated solidity library
packages/contracts-bedrock/scripts/libraries/Solarray.sol
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@ Also, all labels can be seen by visiting the [labels page][labels]

When altering label names or deleting labels there are a few things you must be aware of.

- This may affect the mergify bot's use of labels. See the [mergify config](.github/mergify.yml).
- If the https://github.com/ethereum-optimism/optimism/labels/S-stale label is altered, the [close-stale](.github/workflows/close-stale.yml) workflow should be updated.
- If the https://github.com/ethereum-optimism/optimism/labels/M-dependabot label is altered, the [dependabot config](.github/dependabot.yml) file should be adjusted.
- Saved label filters for project boards will not automatically update. These should be updated if label names change.
Expand Down
29 changes: 19 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -134,21 +134,21 @@ reproducible-prestate: ## Builds reproducible-prestate binary
.PHONY: reproducible-prestate

# Include any files required for the devnet to build and run.
DEVNET_CANNON_PRESTATE_FILES := op-program/bin/prestate-proof.json op-program/bin/prestate.json op-program/bin/prestate-proof-mt.json op-program/bin/prestate-mt.bin.gz
DEVNET_CANNON_PRESTATE_FILES := op-program/bin/prestate-proof.json op-program/bin/prestate.bin.gz op-program/bin/prestate-proof-mt.json op-program/bin/prestate-mt.bin.gz


$(DEVNET_CANNON_PRESTATE_FILES):
make cannon-prestate
make cannon-prestate-mt

cannon-prestate: op-program cannon ## Generates prestate using cannon and op-program
./cannon/bin/cannon load-elf --path op-program/bin/op-program-client.elf --out op-program/bin/prestate.json --meta op-program/bin/meta.json
./cannon/bin/cannon run --proof-at '=0' --stop-at '=1' --input op-program/bin/prestate.json --meta op-program/bin/meta.json --proof-fmt 'op-program/bin/%d.json' --output ""
./cannon/bin/cannon load-elf --type singlethreaded-2 --path op-program/bin/op-program-client.elf --out op-program/bin/prestate.bin.gz --meta op-program/bin/meta.json
./cannon/bin/cannon run --proof-at '=0' --stop-at '=1' --input op-program/bin/prestate.bin.gz --meta op-program/bin/meta.json --proof-fmt 'op-program/bin/%d.json' --output ""
mv op-program/bin/0.json op-program/bin/prestate-proof.json
.PHONY: cannon-prestate

cannon-prestate-mt: op-program cannon ## Generates prestate using cannon and op-program in the multithreaded cannon format
./cannon/bin/cannon load-elf --type cannon-mt --path op-program/bin/op-program-client.elf --out op-program/bin/prestate-mt.bin.gz --meta op-program/bin/meta-mt.json
./cannon/bin/cannon load-elf --type multithreaded --path op-program/bin/op-program-client.elf --out op-program/bin/prestate-mt.bin.gz --meta op-program/bin/meta-mt.json
./cannon/bin/cannon run --proof-at '=0' --stop-at '=1' --input op-program/bin/prestate-mt.bin.gz --meta op-program/bin/meta-mt.json --proof-fmt 'op-program/bin/%d-mt.json' --output ""
mv op-program/bin/0-mt.json op-program/bin/prestate-proof-mt.json
.PHONY: cannon-prestate-mt
Expand Down Expand Up @@ -182,14 +182,10 @@ pre-devnet: submodules $(DEVNET_CANNON_PRESTATE_FILES)

devnet-up: pre-devnet ## Starts the local devnet
./ops/scripts/newer-file.sh .devnet/allocs-l1.json ./packages/contracts-bedrock \
|| make devnet-allocs
|| make devnet-allocs-single
PYTHONPATH=./bedrock-devnet $(PYTHON) ./bedrock-devnet/main.py --monorepo-dir=.
.PHONY: devnet-up

devnet-test: pre-devnet ## Runs tests on the local devnet
make -C op-e2e test-devnet
.PHONY: devnet-test

devnet-down: ## Stops the local devnet
@(cd ./ops-bedrock && GENESIS_TIMESTAMP=$(shell date +%s) docker compose stop)
.PHONY: devnet-down
Expand All @@ -202,8 +198,21 @@ devnet-clean: ## Cleans up local devnet environment
docker volume ls --filter name=ops-bedrock --format='{{.Name}}' | xargs -r docker volume rm
.PHONY: devnet-clean

devnet-allocs: pre-devnet ## Generates allocations for the local devnet
devnet-allocs-single: pre-devnet ## Generates allocations for the local devnet
PYTHONPATH=./bedrock-devnet $(PYTHON) ./bedrock-devnet/main.py --monorepo-dir=. --allocs
.PHONY: devnet-allocs-single

devnet-allocs:
DEVNET_L2OO=true make devnet-allocs-single
cp -r .devnet/ .devnet-l2oo/
DEVNET_ALTDA=true make devnet-allocs-single
cp -r .devnet/ .devnet-alt-da/
DEVNET_ALTDA=false GENERIC_ALTDA=true make devnet-allocs-single
cp -r .devnet/ .devnet-alt-da-generic/
USE_MT_CANNON=true make devnet-allocs-single
cp -r .devnet/ .devnet-mt-cannon
make devnet-allocs-single
cp -r .devnet/ .devnet-standard/
.PHONY: devnet-allocs

devnet-logs: ## Displays logs for the local devnet
Expand Down
12 changes: 7 additions & 5 deletions bedrock-devnet/devnet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
from multiprocessing import Process, Queue
import concurrent.futures
from collections import namedtuple
# This import is necessary for devnet logs to be shown.
from . import log_setup


pjoin = os.path.join
Expand All @@ -22,7 +24,7 @@
log = logging.getLogger()

# Global constants
FORKS = ["delta", "ecotone", "fjord", "granite"]
FORKS = ["delta", "ecotone", "fjord", "granite", "holocene"]

# Global environment variables
DEVNET_NO_BUILD = os.getenv('DEVNET_NO_BUILD') == "true"
Expand Down Expand Up @@ -245,11 +247,7 @@ def devnet_deploy(paths):
wait_for_rpc_server('127.0.0.1:9545')

# Print out the addresses being used for easier debugging.
l2_output_oracle = addresses['L2OutputOracleProxy']
dispute_game_factory = addresses['DisputeGameFactoryProxy']
batch_inbox_address = rollup_config['batch_inbox_address']
log.info(f'Using L2OutputOracle {l2_output_oracle}')
log.info(f'Using DisputeGameFactory {dispute_game_factory}')
log.info(f'Using batch inbox {batch_inbox_address}')

# Set up the base docker environment.
Expand All @@ -261,8 +259,12 @@ def devnet_deploy(paths):
# Selectively set the L2OO_ADDRESS or DGF_ADDRESS if using L2OO.
# Must be done selectively because op-proposer throws if both are set.
if DEVNET_L2OO:
l2_output_oracle = addresses['L2OutputOracleProxy']
docker_env['L2OO_ADDRESS'] = l2_output_oracle
log.info(f'Using L2OutputOracle {l2_output_oracle}')
else:
dispute_game_factory = addresses['DisputeGameFactoryProxy']
log.info(f'Using DisputeGameFactory {dispute_game_factory}')
docker_env['DGF_ADDRESS'] = dispute_game_factory
docker_env['DG_TYPE'] = '254'
docker_env['PROPOSAL_INTERVAL'] = '12s'
Expand Down
4 changes: 1 addition & 3 deletions cannon/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ venv
*.log
testdata/example/bin
contracts/out
state.json
*.json
*.json.gz
*.pprof
*.out
bin
multicannon/embeds/cannon*
34 changes: 34 additions & 0 deletions cannon/Dockerfile.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
FROM golang:1.22.7-alpine3.20 as builder

RUN apk add --no-cache make bash

COPY ./go.mod /app/go.mod
COPY ./go.sum /app/go.sum

WORKDIR /app

RUN echo "go mod cache: $(go env GOMODCACHE)"
RUN echo "go build cache: $(go env GOCACHE)"

RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build go mod download

COPY . /app

# We avoid copying the full .git dir into the build for just some metadata.
# Instead, specify:
# --build-arg GIT_COMMIT=$(git rev-parse HEAD)
# --build-arg GIT_DATE=$(git show -s --format='%ct')
ARG GIT_COMMIT
ARG GIT_DATE

ARG TARGETOS TARGETARCH

FROM --platform=$BUILDPLATFORM us-docker.pkg.dev/oplabs-tools-artifacts/images/cannon:v1.1.0-alpha.1 AS cannon-v2

FROM --platform=$BUILDPLATFORM builder as cannon-verify
COPY --from=cannon-v2 /usr/local/bin/cannon /usr/local/bin/cannon-v2
# verify the latest singlethreaded VM behavior against cannon-v2
RUN cd cannon && make diff-singlethreaded-2-cannon -e OTHER_CANNON=/usr/local/bin/cannon-v2
RUN --mount=type=cache,target=/root/.cache/go-build cd cannon && \
make diff-singlethreaded-2-cannon -e OTHER_CANNON=/usr/local/bin/cannon-v2 \
GOOS=$TARGETOS GOARCH=$TARGETARCH GITCOMMIT=$GIT_COMMIT GITDATE=$GIT_DATE
68 changes: 62 additions & 6 deletions cannon/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,81 @@ VERSION ?= v0.0.0

LDFLAGSSTRING +=-X main.GitCommit=$(GITCOMMIT)
LDFLAGSSTRING +=-X main.GitDate=$(GITDATE)
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Version=$(VERSION)
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/op-program/version.Meta=$(VERSION_META)
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/cannon/multicannon/version.Version=$(VERSION)
LDFLAGSSTRING +=-X github.com/ethereum-optimism/optimism/cannon/multicannon/version.Meta=$(VERSION_META)
LDFLAGS := -ldflags "$(LDFLAGSSTRING)"

# Use the old Apple linker to workaround broken xcode - https://github.com/golang/go/issues/65169
ifeq ($(shell uname),Darwin)
FUZZLDFLAGS := -ldflags=-extldflags=-Wl,-ld_classic
endif

cannon:
env GO111MODULE=on GOOS=$(TARGETOS) GOARCH=$(TARGETARCH) go build -v $(LDFLAGS) -o ./bin/cannon .
.DEFAULT_GOAL := cannon

cannon32-impl:
env GO111MODULE=on GOOS=$(TARGETOS) GOARCH=$(TARGETARCH) go build --tags=cannon32 -v $(LDFLAGS) -o ./bin/cannon32-impl .

cannon64-impl:
env GO111MODULE=on GOOS=$(TARGETOS) GOARCH=$(TARGETARCH) go build --tags=cannon64 -v $(LDFLAGS) -o ./bin/cannon64-impl .

# Note: This target is used by ./scripts/build-legacy-cannons.sh
# It should build the individual versions of cannons and copy them into place in hte multicannon/embeds directory
# Ideally, preserve backwards compatibility with this behaviour but if it needs to change, build-legacy-cannons.sh will
# need to be updated to account for different behaviours in different versions.
cannon-embeds: cannon32-impl cannon64-impl
# singlethreaded-v2
@cp bin/cannon32-impl ./multicannon/embeds/cannon-2
# multithreaded
@cp bin/cannon32-impl ./multicannon/embeds/cannon-1
# 64-bit multithreaded
@cp bin/cannon64-impl ./multicannon/embeds/cannon-3

cannon: cannon-embeds
env GO111MODULE=on GOOS=$(TARGETOS) GOARCH=$(TARGETARCH) go build -v $(LDFLAGS) -o ./bin/cannon ./multicannon/

clean:
rm -rf bin
rm -rf bin multicannon/embeds/cannon*

elf:
make -C ./testdata/example elf

sanitize-program:
@if ! { mips-linux-gnu-objdump -d -j .text $$GUEST_PROGRAM | awk '{print $3}' | grep -Ew -m1 '(bgezal|bltzal)'; }; then \
echo "guest program is sanitized for unsupported instructions"; \
else \
echo "found unsupported instructions in the guest program"; \
exit 1; \
fi

contract:
cd ../packages/contracts-bedrock && forge build

test: elf contract
go test -v ./...

diff-%-cannon: cannon elf
$$OTHER_CANNON load-elf --type $* --path ./testdata/example/bin/hello.elf --out ./bin/prestate-other.bin.gz --meta ""
./bin/cannon load-elf --type $* --path ./testdata/example/bin/hello.elf --out ./bin/prestate.bin.gz --meta ""
@cmp ./bin/prestate-other.bin.gz ./bin/prestate.bin.gz
@if [ $$? -eq 0 ]; then \
echo "Generated identical prestates"; \
else \
echo "Generated different prestates"; \
exit 1; \
fi
$$OTHER_CANNON run --proof-at '=0' --stop-at '=100000000' --input=./bin/prestate.bin.gz --output ./bin/out-other.bin.gz --meta ""
./bin/cannon run --proof-at '=0' --stop-at '=100000000' --input=./bin/prestate.bin.gz --output ./bin/out.bin.gz --meta ""
@cmp ./bin/out-other.bin.gz ./bin/out.bin.gz
@if [ $$? -eq 0 ]; then \
echo "Generated identical states"; \
else \
echo "Generated different prestates"; \
exit 1; \
fi

cannon-stf-verify:
@docker build --progress plain -f Dockerfile.diff ../

fuzz:
# Common vm tests
go test $(FUZZLDFLAGS) -run NOTAREALTEST -v -fuzztime 10s -fuzz=FuzzStateSyscallBrk ./mipsevm/tests
Expand All @@ -44,8 +95,13 @@ fuzz:
go test $(FUZZLDFLAGS) -run NOTAREALTEST -v -fuzztime 10s -fuzz=FuzzStateSyscallCloneMT ./mipsevm/tests

.PHONY: \
cannon32-impl \
cannon64-impl \
cannon-embeds \
cannon \
clean \
test \
lint \
fuzz
fuzz \
diff-%-cannon \
cannon-stf-verify
6 changes: 3 additions & 3 deletions cannon/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ cd ../cannon
make cannon

# Transform MIPS op-program client binary into first VM state.
# This outputs state.json (VM state) and meta.json (for debug symbols).
./bin/cannon load-elf --path=../op-program/bin/op-program-client.elf
# This outputs state.bin.gz (VM state) and meta.json (for debug symbols).
./bin/cannon load-elf --type singlethreaded-2 --path=../op-program/bin/op-program-client.elf

# Run cannon emulator (with example inputs)
# Note that the server-mode op-program command is passed into cannon (after the --),
Expand All @@ -45,7 +45,7 @@ make cannon
--proof-at '=<TRACE_INDEX>' \
--stop-at '=<STOP_INDEX>' \
--snapshot-at '%1000000000' \
--input ./state.json \
--input ./state.bin.gz \
-- \
../op-program/bin/op-program \
--network op-mainnet \
Expand Down
Loading