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 750ed20 #130

Merged
merged 168 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
50e1623
interop: Reset Derivation and Backfill Supervisor when Too Far Behind…
axelKingsley Nov 19, 2024
cd2df97
op-deployer: Test mainnet deployment (#12958)
mslipper Nov 19, 2024
85b535c
interop: make geth Dockerfile use v1.101411.2-rc.1 (#12820)
axelKingsley Nov 19, 2024
9144db1
repo: remove `op-ufm` package (#12968)
tynes Nov 19, 2024
0933da4
fix: op-batcher batch-tx-submitted metric double count (#12975)
geoknee Nov 19, 2024
9e7d6d3
op-deployer: Update dockerfile (#12979)
mslipper Nov 19, 2024
d2df40a
remove an impossible condition (#12865)
zhiqiangxu Nov 19, 2024
b824f9b
op-chain-ops: remove L1 clique option (#12977)
protolambda Nov 19, 2024
c46e8bb
op-chain-ops: remove legacy contracts addresses (#12984)
protolambda Nov 20, 2024
b322d5b
fix: new spolia deploy (#12956)
blmalone Nov 20, 2024
9d82935
migrate github actions to circleci (#12928)
raffaele-oplabs Nov 20, 2024
cccbc2d
go: set default versions to v0.0.0 (#12989)
protolambda Nov 20, 2024
bb02d4b
feat(ctb): Vendor `RISCV.sol` (#12994)
clabby Nov 20, 2024
f3701d7
improve delayedWeth test and coverage (#12963)
AmadiMichael Nov 20, 2024
406e92e
improve universal and libraries tests and coverage (#12996)
AmadiMichael Nov 20, 2024
f496b07
dependabot(docker): bump ethereum/client-go in /ops-bedrock (#12982)
dependabot[bot] Nov 20, 2024
39c3b5b
contracts: remove op-nft (#12950)
tynes Nov 20, 2024
8a728cf
Sc/improve optimismportal test cov (#12962)
AmadiMichael Nov 20, 2024
ca101a9
improve dispute game tests and coverage (#12972)
AmadiMichael Nov 20, 2024
ab77ae7
add challenger account to wallets.sh (#12998)
zhiqiangxu Nov 20, 2024
d728f26
dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang …
dependabot[bot] Nov 20, 2024
f2056c0
op-node: Add Metrics (#12408)
trianglesphere Nov 20, 2024
0bfa930
fix create2 collision (#12852)
zhiqiangxu Nov 20, 2024
b05ec5a
op-deployer: Safety and validation improvements (#12993)
mslipper Nov 20, 2024
790e1aa
make riscv compile without the optimizer turned on (#13000)
AmadiMichael Nov 20, 2024
0437018
bump kona (#13003)
clabby Nov 20, 2024
b0427be
op-deployer: add test for deployConfig overrides (#12985)
vdamle Nov 20, 2024
240d0f8
op-alt-da: list alt-da options in alt-da category (#12986)
protolambda Nov 20, 2024
042433b
op-deployer: Fix invalid intent panic in SR command (#13006)
mslipper Nov 21, 2024
79306cb
op-program/prestates: Add op-program including Holocene Sepolia activ…
sebastianst Nov 21, 2024
c29b209
make -> just migration recipe (#12883)
sigma Nov 21, 2024
cc2715c
cannon: Add more sync tests (#12949)
mbaxter Nov 21, 2024
3404698
feat: add sender to ERC7802 events (#132) (#13020)
agusduha Nov 21, 2024
ccb544d
feat: add dependency set check to L2ToL2CDM (#134) (#13019)
agusduha Nov 21, 2024
8f5c20e
improve Legacy Contract tests (#13022)
AmadiMichael Nov 21, 2024
e52030d
chore(op-challenger): Update kona native mode flag (#13023)
clabby Nov 22, 2024
5aa14b3
op-batcher: fix a deadlock (#13014)
zhiqiangxu Nov 22, 2024
99810e0
Revert "improve Legacy Contract tests (#13022)" (#13031)
mslipper Nov 22, 2024
1c36df3
op-node: log mgasps across block building/inserting lifecycle (#12907)
bitwiseguy Nov 22, 2024
ae24f01
op-service: Remove txmgr queue timing test (#13032)
mslipper Nov 22, 2024
f9a38de
show more info for ErrInvalidChannelTimeout (#13008)
zhiqiangxu Nov 22, 2024
d139cc9
fix(ci): contracts test names check failures (#13034)
smartcontracts Nov 22, 2024
38db652
fix(ci): lint test names after running tests (#13037)
smartcontracts Nov 22, 2024
43ccf8e
add more tests (#13036)
AmadiMichael Nov 22, 2024
131320e
feat: improve DeployerWhitelist tests (#13035)
smartcontracts Nov 22, 2024
974ee6f
ctb: Fix Holocene upgrade script (#13015)
sebastianst Nov 22, 2024
ec45fa6
improve drippie & faucet tests and coverage (#13040)
AmadiMichael Nov 22, 2024
6a871c5
ci: Lower no output timeout by default (#13039)
mslipper Nov 22, 2024
80465cd
add test for L1ChugSplashProxy (#13045)
AmadiMichael Nov 22, 2024
44367b0
add LegacyMintableERC20 tests (#13049)
AmadiMichael Nov 23, 2024
7719c85
fixes (#13052)
AmadiMichael Nov 24, 2024
418f0cc
ci: Convert all Go tests into a single job (#13046)
mslipper Nov 25, 2024
816b75a
fix: use eth_getBlockReceipts for Infura RPC kind (#12969)
MqllR Nov 25, 2024
c1731a5
cannon: Bump step count for 64-bit map_test (#13065)
Inphi Nov 25, 2024
cff1361
chore: fix some function names in interface comment (#13048)
chuangjinglu Nov 25, 2024
ea7f56c
ci: Increase test timeout (#13067)
mslipper Nov 25, 2024
8f69ac7
op-deployer: Add a proxy to handle RPC failures (#13068)
mslipper Nov 25, 2024
cf83fd9
dependabot(gomod): bump github.com/stretchr/testify from 1.9.0 to 1.1…
dependabot[bot] Nov 25, 2024
ce751a0
feat: delete unused deploy functions (#13083)
maurelian Nov 25, 2024
2b589df
maint: clean src imports (#13056)
smartcontracts Nov 25, 2024
9fb5aa2
upload to codecov using orb (#13062)
geoknee Nov 25, 2024
70d9020
feat: reorder Deploy.s.sol helpers (#13084)
maurelian Nov 25, 2024
efbe102
Use circleci-ip-ranges for fpp-verify (#13093)
zhwrd Nov 26, 2024
d5dfd51
op-dispute-mon: Wrap L1 RPC client with timeouts. (#13059)
ajsutton Nov 26, 2024
915a1a3
op-e2e: Build the op-program client upfront (#13095)
mslipper Nov 26, 2024
f25db96
ci: bump no output timeout (#13096)
mslipper Nov 26, 2024
77d35a5
op-batcher: Don't log DA post failures on context cancel (#13089)
mslipper Nov 26, 2024
75a367f
op-node: Noop RemovePeer when closing (#13091)
mslipper Nov 26, 2024
b707cd8
Update dependency on superchain-registry to bring in Unichain Sepolia…
geoknee Nov 26, 2024
c898ed1
feat: remove _allowUpgrade flag from game impl setters in deploy scri…
maurelian Nov 26, 2024
f633e85
feat: remove unused onlyTestnetOrDevnet modifier (#13086)
maurelian Nov 26, 2024
7726c1a
op-deployer: Simplify and fix bootstrap disputegame (#13094)
ajsutton Nov 26, 2024
4f8e9b5
ci: Tweak test timeouts (#13097)
mslipper Nov 26, 2024
9200bff
fix: restore asterisc bytecode, vendor (#13104)
smartcontracts Nov 26, 2024
51a036d
op-node: Fix panic after closing P2P (#13106)
mslipper Nov 26, 2024
c73f45b
maint: minor cleanup of foundry configuration (#13102)
smartcontracts Nov 26, 2024
e8744d5
dependabot(gomod): bump github.com/minio/minio-go/v7 (#13109)
dependabot[bot] Nov 26, 2024
980b261
dependabot(gomod): bump github.com/multiformats/go-multiaddr-dns (#13…
dependabot[bot] Nov 26, 2024
98a1d92
op-challenger: Allow specifying a chain ID as network. (#13027)
ajsutton Nov 26, 2024
72eb311
feat(protoype): enable superchainWETH native transfers (#12710)
tremarkley Nov 26, 2024
9109958
fix: SuperchainWETH test flake (#13115)
smartcontracts Nov 27, 2024
c8f4b3a
op-deployer: add intent-config-type (#12970)
bitwiseguy Nov 27, 2024
601af96
op-deployer: Bring back error checking in getStandardSuperchainRoles …
mslipper Nov 27, 2024
2bbfd5d
make: Remove unused install-geth target (#13130)
Inphi Nov 27, 2024
cf13a17
build: migrate op-node and op-proposer to just (#13042)
sigma Nov 27, 2024
af169db
feat(op-deployer): `asterisc` bootstrap CLI (#13113)
clabby Nov 27, 2024
451c52b
go.mod: update op-geth to include post-validation hook interop test f…
protolambda Nov 27, 2024
8ee0387
batcher: fix state inconsistency (#12981)
geoknee Nov 27, 2024
8a32cba
improve merkletrie test cov (#13131)
AmadiMichael Nov 27, 2024
16a5d61
maint: clean up primary justfile (#12997)
smartcontracts Nov 27, 2024
e84868c
update lib keccak dependency (#13136)
AmadiMichael Nov 28, 2024
26f7a40
txmgr: `Queue.Send()` uses `q.txMgr.SendAsync` (#13120)
geoknee Nov 28, 2024
8118fff
use CallContract to detect tx failure early if gasLimit is specified …
zhiqiangxu Nov 29, 2024
9f84a4e
fix mip2 test stack too deep error (#13138)
AmadiMichael Nov 29, 2024
b2f6628
make safecall test support forge coverage (#13147)
AmadiMichael Nov 30, 2024
4c0387b
feat: allow arguments to contracts test recipe (#13152)
smartcontracts Dec 2, 2024
b6c28d5
estimate gas correctly for blob tx in increaseGasPrice (#13116)
zhiqiangxu Dec 2, 2024
4ee839a
op-batcher: Fix test flake due to log (#13145)
mslipper Dec 2, 2024
d1a2198
Fix typos in `op-conductor/README.md` documentation (#13128)
sky-coderay Dec 2, 2024
cdae7f2
fix: stack too deep in PermissionedDisputeGame (#13141)
smartcontracts Dec 2, 2024
6e799a6
txmgr/Queue: add additional assertions to test to check for tx orderi…
geoknee Dec 2, 2024
8f31e60
SendDepositTx: make `applyL2Opts` nil-able (#13158)
zhiqiangxu Dec 2, 2024
1a1ab6e
op-e2e: Expose context in supersystem op-e2e (#13135)
mslipper Dec 2, 2024
a486dae
fix mips contracts stack too deep errors (#13137)
AmadiMichael Dec 2, 2024
4777cdf
chore: Bump `kona` in `proofs-tools` image (#13170)
clabby Dec 2, 2024
9345537
Sc/disable ci forge coverage (#13174)
AmadiMichael Dec 2, 2024
23a65e8
op-chain-ops: add readme (#13166)
protolambda Dec 2, 2024
ebd2cfd
op-e2e: update readme (#13165)
protolambda Dec 2, 2024
4b75520
op-node: update readme (#13164)
protolambda Dec 2, 2024
0c13f11
op-service: add readme (#13162)
protolambda Dec 2, 2024
e76c04d
op-wheel: add readme (#13161)
protolambda Dec 2, 2024
35c1ffd
op-proposer: add readme (#13160)
protolambda Dec 2, 2024
623609a
feat: make Cannon libraries verison agnostic (#13175)
smartcontracts Dec 2, 2024
a2b1a7e
feat: common core for contracts Go check scripts (#13134)
smartcontracts Dec 2, 2024
3f43f03
feat: introduce mise (#13156)
smartcontracts Dec 2, 2024
176c71a
remove dup log (#13149)
zhiqiangxu Dec 2, 2024
cbfb97e
fix: delayed weth addr in superchain inspect (#13159)
ashutoshvarma Dec 2, 2024
72ec8d3
ctb: Fix flake in TestExtractTestNames (#13177)
mslipper Dec 3, 2024
4de5c8c
op-signer, op-node: Integrate op-node with op-signer for block payloa…
mininny Dec 3, 2024
010c8a9
feat: remove unused _includeDump arg (#13099)
maurelian Dec 3, 2024
e1e5d06
Sc/remove todo justfile (#13179)
AmadiMichael Dec 3, 2024
3435fcc
enables and asserts that forge coverage compiles and runs successfull…
AmadiMichael Dec 3, 2024
f2eaaa8
feat: Remove thin wrapper _run() function overload (#13101)
maurelian Dec 3, 2024
e43ade1
maint: remove versions.json (#13184)
smartcontracts Dec 3, 2024
622fb35
op-batcher: Wait for queue to drain before shutdown (#13172)
mslipper Dec 3, 2024
a46cc61
op-deployer: fix nil dereference of SuperchainRoles (#13178)
bitwiseguy Dec 3, 2024
508ccbe
op-deployer/ctb: Add DeployOPCM script (#13187)
mslipper Dec 3, 2024
e101cd8
op-e2e: Recover gracefully from log-after-exit panics (#13190)
mslipper Dec 3, 2024
67dd693
chore(opc): Bump `asterisc` version (#13189)
clabby Dec 3, 2024
d0c4e37
op components migration to just (#13185)
sigma Dec 3, 2024
6be52fc
op-program: Add v1.4.0-rc.2 to list of op-program releases. (#13193)
ajsutton Dec 3, 2024
5d52959
chore(ops): Bump `kona` in `proofs-tools` (#13196)
clabby Dec 3, 2024
4ce84f1
maint: bump forge version (#13197)
smartcontracts Dec 3, 2024
c36de04
chore(ops): Support kona + asterisc in the op-challenger (#13198)
refcell Dec 4, 2024
56670a7
fix: workaround for foundry snapshot nuking bug (#13209)
smartcontracts Dec 4, 2024
7457c56
feat(op-challenger): Add `TraceTypeAsteriscKona` to default `--trace-…
clabby Dec 4, 2024
b002fea
maint: remove holocene upgrade folder (#13214)
smartcontracts Dec 4, 2024
2d86cab
feat: timeout fuzz tests after 10 minutes (#13207)
smartcontracts Dec 4, 2024
cd8bab4
e2e/actions: enhance holocene activation action test to cover executi…
geoknee Dec 4, 2024
c3e535c
ops: Remove contracts-bedrock Docker image (#13218)
mslipper Dec 4, 2024
ecdb788
maint: clean up some usage of vm.assume (#13216)
smartcontracts Dec 4, 2024
ec05937
feat: move interfaces to a new top-level folder (#13114)
smartcontracts Dec 4, 2024
21827a2
maint: update unused imports check to use new pattern (#13227)
smartcontracts Dec 4, 2024
da85e69
run forge coverage periodically (#13222)
AmadiMichael Dec 4, 2024
531e3d9
op-deployer: Block deploying tags to chains without OPCM (#13231)
mslipper Dec 4, 2024
33889f5
ci: Run contract checks and tests on self-hosted infra (#13219)
mslipper Dec 4, 2024
d68380f
fix (#13237)
AmadiMichael Dec 4, 2024
d45a046
op-e2e: Add timeouts to sequencer failover tests (#13224)
mslipper Dec 4, 2024
d164b6d
fix: bump kona-client version (#13242)
refcell Dec 4, 2024
260f36e
chore(op-deployer): Fork in asterisc + dispute game deployment jobs (…
clabby Dec 4, 2024
b5bc989
dependabot(gomod): bump golang.org/x/sync from 0.9.0 to 0.10.0 (#13233)
dependabot[bot] Dec 4, 2024
e471336
dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang …
dependabot[bot] Dec 4, 2024
e253b19
maint: rewrite spacers check to use new framework (#13232)
smartcontracts Dec 4, 2024
a555626
fix: develop-forge-coverage ci job name (#13241)
smartcontracts Dec 4, 2024
d3fbc57
op-deployer: Update OPCM bootstrap command (#13238)
mslipper Dec 4, 2024
139dabe
ci: Remove Kurtosis-specific go job (#13249)
mslipper Dec 5, 2024
37d7bda
op-challenger: Use target platform for kona docker image. (#13251)
ajsutton Dec 5, 2024
a88f639
chore(op-deployer): Accept existing impl in `DelayedWETH` bootstrap t…
clabby Dec 5, 2024
94056b9
op-challenger, op-program: Require specific opt-in to use the custom …
ajsutton Dec 5, 2024
25972bd
chore: fix some problematic function names in comment (#13142)
mountcount Dec 5, 2024
564b0c1
NewChannelBuilder => newChannelBuilder, and move it into channel_buil…
zhiqiangxu Dec 5, 2024
0648499
fix: codecov config (#13244)
smartcontracts Dec 5, 2024
ee5c794
op-deployer: Clean up to use latest libs (#13257)
mslipper Dec 5, 2024
1eb223d
interop: parallelized receipt fetching (#13044)
axelKingsley Dec 5, 2024
9548d53
op-conductor: Fix hang in testing (#13266)
mslipper Dec 5, 2024
750ed20
op-dispute-mon: Support asterisc kona game types. (#13270)
ajsutton Dec 5, 2024
74f4411
Merge branch 'op-es' into merge_750ed20
blockchaindevsh Dec 15, 2024
e619d04
resolve conflict
qzhodl Dec 16, 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
  •  
  •  
  •  
541 changes: 247 additions & 294 deletions .circleci/config.yml

Large diffs are not rendered by default.

18 changes: 0 additions & 18 deletions .github/workflows/close-stale.yml

This file was deleted.

69 changes: 0 additions & 69 deletions .github/workflows/tag-service.yml

This file was deleted.

18 changes: 9 additions & 9 deletions .semgrep/rules/sol-rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,18 +84,18 @@ rules:
pattern-regex: function\s+\w+\s*\(\s*([^)]*?\b\w+\s+(?!_)(?!memory\b)(?!calldata\b)(?!storage\b)(?!payable\b)\w+\s*(?=,|\)))
paths:
exclude:
- packages/contracts-bedrock/src/universal/interfaces/IOptimismMintableERC721.sol
- packages/contracts-bedrock/src/universal/interfaces/IWETH98.sol
- packages/contracts-bedrock/src/dispute/interfaces/IDelayedWETH.sol
- packages/contracts-bedrock/interfaces/universal/IOptimismMintableERC721.sol
- packages/contracts-bedrock/interfaces/universal/IWETH98.sol
- packages/contracts-bedrock/interfaces/dispute/IDelayedWETH.sol
- op-chain-ops/script/testdata/scripts/ScriptExample.s.sol
- packages/contracts-bedrock/test
- packages/contracts-bedrock/scripts/libraries/Solarray.sol
- packages/contracts-bedrock/scripts/interfaces/IGnosisSafe.sol
- packages/contracts-bedrock/src/universal/interfaces/IWETH.sol
- packages/contracts-bedrock/interfaces/universal/IWETH.sol
- packages/contracts-bedrock/src/universal/WETH98.sol
- packages/contracts-bedrock/src/L2/interfaces/ISuperchainWETH.sol
- packages/contracts-bedrock/interfaces/L2/ISuperchainWETH.sol
- packages/contracts-bedrock/src/L2/SuperchainWETH.sol
- packages/contracts-bedrock/src/governance/interfaces/IGovernanceToken.sol
- packages/contracts-bedrock/interfaces/governance/IGovernanceToken.sol
- packages/contracts-bedrock/src/governance/GovernanceToken.sol

- id: sol-style-return-arg-fmt
Expand All @@ -105,13 +105,13 @@ rules:
pattern-regex: returns\s*(\w+\s*)?\(\s*([^)]*?\b\w+\s+(?!memory\b)(?!calldata\b)(?!storage\b)(?!payable\b)\w+(?<!_)\s*(?=,|\)))
paths:
exclude:
- packages/contracts-bedrock/src/dispute/interfaces/IDelayedWETH.sol
- packages/contracts-bedrock/interfaces/dispute/IDelayedWETH.sol
- op-chain-ops/script/testdata/scripts/ScriptExample.s.sol
- packages/contracts-bedrock/test/safe-tools
- packages/contracts-bedrock/scripts/libraries/Solarray.sol
- packages/contracts-bedrock/scripts/interfaces/IGnosisSafe.sol
- packages/contracts-bedrock/src/dispute/interfaces/IPermissionedDisputeGame.sol
- packages/contracts-bedrock/src/dispute/interfaces/IFaultDisputeGame.sol
- packages/contracts-bedrock/interfaces/dispute/IPermissionedDisputeGame.sol
- packages/contracts-bedrock/interfaces/dispute/IFaultDisputeGame.sol

- id: sol-style-doc-comment
languages: [solidity]
Expand Down
73 changes: 32 additions & 41 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,63 +20,54 @@ Interactions within this repository are subject to a [Code of Conduct](https://g

## Development Quick Start

### Software Dependencies

| Dependency | Version | Version Check Command |
| ------------------------------------------------------------- | -------- | ------------------------ |
| [git](https://git-scm.com/) | `^2` | `git --version` |
| [go](https://go.dev/) | `^1.21` | `go version` |
| [node](https://nodejs.org/en/) | `^20` | `node --version` |
| [nvm](https://github.com/nvm-sh/nvm) | `^0.39` | `nvm --version` |
| [just](https://github.com/casey/just) | `^1.34.0`| `just --version` |
| [foundry](https://github.com/foundry-rs/foundry#installation) | `^0.2.0` | `forge --version` |
| [make](https://linux.die.net/man/1/make) | `^3` | `make --version` |
| [jq](https://github.com/jqlang/jq) | `^1.6` | `jq --version` |
| [direnv](https://direnv.net) | `^2` | `direnv --version` |
| [docker](https://docs.docker.com/get-docker/) | `^24` | `docker --version` |
| [docker compose](https://docs.docker.com/compose/install/) | `^2.23` | `docker compose version` |
### Setting Up

### Notes on Specific Dependencies
Clone the repository and open it:

#### `node`
```bash
git clone [email protected]:ethereum-optimism/optimism.git
cd optimism
```

Make sure to use the version of `node` specified within [`.nvmrc`](./.nvmrc).
You can use [`nvm`](https://github.com/nvm-sh/nvm) to manage multiple versions of Node.js on your machine and automatically switch to the correct version when you enter this repository.
### Software Dependencies

#### `foundry`
You will need to install a number of software dependencies to effectively contribute to the
Optimism Monorepo. We use [`mise`](https://mise.jdx.dev/) as a dependency manager for these tools.
Once properly installed, `mise` will provide the correct versions for each tool. `mise` does not
replace any other installations of these binaries and will only serve these binaries when you are
working inside of the `optimism` directory.

`foundry` is updated frequently and occasionally contains breaking changes.
This repository pins a specific version of `foundry` inside of [`versions.json`](./versions.json).
Use the command `just update-foundry` at the root of the monorepo to make sure that your version of `foundry` is the same as the one currently being used in CI.
#### Install `mise`

#### `direnv`
Install `mise` by following the instructions provided on the
[Getting Started page](https://mise.jdx.dev/getting-started.html#_1-install-mise-cli).

[`direnv`](https://direnv.net) is a tool used to load environment variables from [`.envrc`](./.envrc) into your shell so you don't have to manually export variables every time you want to use them.
`direnv` only has access to files that you explicitly allow it to see.
After [installing `direnv`](https://direnv.net/docs/installation.html), you will need to **make sure that [`direnv` is hooked into your shell](https://direnv.net/docs/hook.html)**.
Make sure you've followed [the guide on the `direnv` website](https://direnv.net/docs/hook.html), then **close your terminal and reopen it** so that the changes take effect (or `source` your config file if you know how to do that).
#### Trust the `mise.toml` file

#### `docker compose`
`mise` requires that you explicitly trust the `mise.toml` file which lists the dependencies that
this repository uses. After you've installed `mise` you'll be able to trust the file via:

[Docker Desktop](https://docs.docker.com/get-docker/) should come with `docker compose` installed by default.
You'll have to install the `compose` plugin if you're not using Docker Desktop or you're on linux.
```bash
mise trust mise.toml
```

### Setting Up
#### Install dependencies

Clone the repository and open it:
Use `mise` to install the correct versions for all of the required tools:

```bash
git clone [email protected]:ethereum-optimism/optimism.git
cd optimism
mise install
```

### Building the Monorepo
#### Installing updates

Make sure that you've installed all of the required [Software Dependencies](#software-dependencies) before you continue.
You will need [foundry](https://github.com/foundry-rs/foundry) to build the smart contracts found within this repository.
Refer to the note on [foundry as a dependency](#foundry) for instructions.
`mise` will notify you if any dependencies are outdated. Simply run `mise install` again to install
the latest versions of the dependencies if you receive these notifications.

### Building the Monorepo

Install dependencies and build all packages within the monorepo by running:
You must install all of the required [Software Dependencies](#software-dependencies) to build the
Optimism Monorepo. Once you've done so, run the following command to build:

```bash
make build
Expand All @@ -88,7 +79,7 @@ Use the above command to rebuild the monorepo.

### Running tests

Before running tests: **follow the above instructions to get everything built.**
Before running tests: **follow the above instructions to get everything built**.

#### Running unit tests (solidity)

Expand Down
22 changes: 7 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# provide JUSTFLAGS for just-backed targets
include ./just/flags.mk

COMPOSEFLAGS=-d
ITESTS_L2_HOST=http://localhost:9545
BEDROCK_TAGS_REMOTE?=origin
Expand Down Expand Up @@ -94,7 +97,7 @@ submodules: ## Updates git submodules


op-node: ## Builds op-node binary
make -C ./op-node op-node
just $(JUSTFLAGS) ./op-node/op-node
.PHONY: op-node

generate-mocks-op-node: ## Generates mocks for op-node
Expand All @@ -106,11 +109,11 @@ generate-mocks-op-service: ## Generates mocks for op-service
.PHONY: generate-mocks-op-service

op-batcher: ## Builds op-batcher binary
make -C ./op-batcher op-batcher
just $(JUSTFLAGS) ./op-batcher/op-batcher
.PHONY: op-batcher

op-proposer: ## Builds op-proposer binary
make -C ./op-proposer op-proposer
just $(JUSTFLAGS) ./op-proposer/op-proposer
.PHONY: op-proposer

op-challenger: ## Builds op-challenger binary
Expand Down Expand Up @@ -173,9 +176,6 @@ nuke: clean devnet-clean ## Completely clean the project directory

## Prepares for running a local devnet
pre-devnet: submodules $(DEVNET_CANNON_PRESTATE_FILES)
@if ! [ -x "$$(command -v geth)" ]; then \
make install-geth; \
fi
@if ! [ -x "$$(command -v eth2-testnet-genesis)" ]; then \
make install-eth2-testnet-genesis; \
fi
Expand Down Expand Up @@ -247,14 +247,6 @@ update-op-geth: ## Updates the Geth version used in the project
./ops/scripts/update-op-geth.py
.PHONY: update-op-geth

install-geth: ## Installs or updates Geth if versions do not match
./ops/scripts/geth-version-checker.sh && \
(echo "Geth versions match, not installing geth..."; true) || \
(echo "Versions do not match, installing geth!"; \
go install -v github.com/ethereum/go-ethereum/cmd/geth@$(shell jq -r .geth < versions.json); \
echo "Installed geth!"; true)
.PHONY: install-geth

install-eth2-testnet-genesis:
go install -v github.com/protolambda/eth2-testnet-genesis@$(shell jq -r .eth2_testnet_genesis < versions.json)
go install -v github.com/protolambda/eth2-testnet-genesis@v$(shell yq '.tools."go:github.com/protolambda/eth2-testnet-genesis"' mise.toml)
.PHONY: install-eth2-testnet-genesis
4 changes: 2 additions & 2 deletions cannon/mipsevm/exec/mips_instructions.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ func SignExtendImmediate(insn uint32) Word {

func assertMips64(insn uint32) {
if arch.IsMips32 {
panic(fmt.Sprintf("invalid instruction: %x", insn))
panic(fmt.Sprintf("invalid instruction: 0x%08x", insn))
}
}

Expand Down Expand Up @@ -327,7 +327,7 @@ func ExecuteMipsInstruction(insn uint32, opcode uint32, fun uint32, rs, rt, mem
assertMips64(insn)
return Word(int64(rt) >> (((insn >> 6) & 0x1f) + 32))
default:
panic(fmt.Sprintf("invalid instruction: %x", insn))
panic(fmt.Sprintf("invalid instruction: 0x%08x", insn))
}
} else {
switch opcode {
Expand Down
Loading