Skip to content

Commit

Permalink
Merge pull request #3170 from ethereum-optimism/develop
Browse files Browse the repository at this point in the history
Develop -> Master
  • Loading branch information
mslipper committed Aug 4, 2022
2 parents 907ef2e + b6f4bfc commit cb21d3f
Show file tree
Hide file tree
Showing 177 changed files with 4,460 additions and 1,298 deletions.
5 changes: 5 additions & 0 deletions .changeset/angry-cameras-arrive.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Fix slither script
5 changes: 5 additions & 0 deletions .changeset/cool-items-smell.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Update genesis-l2 task to set immutables in the bytecode
5 changes: 5 additions & 0 deletions .changeset/curly-spies-switch.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Fix build for smaller package
5 changes: 5 additions & 0 deletions .changeset/dry-bears-beg.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Use the same initializable across codebase
5 changes: 5 additions & 0 deletions .changeset/early-keys-know.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Update @foundry-rs/hardhat-forge@0.1.16
5 changes: 5 additions & 0 deletions .changeset/eight-ravens-prove.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Fix build on latest foundry
5 changes: 5 additions & 0 deletions .changeset/eighty-kings-approve.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/core-utils': patch
---

Implement basic OpNodeProvider
5 changes: 5 additions & 0 deletions .changeset/fast-mangos-smoke.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/hardhat-deploy-config': patch
---

Support JSON-formatted deploy configs
5 changes: 5 additions & 0 deletions .changeset/giant-gifts-attend.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/proxyd': minor
---

Add frontend rate limiting
5 changes: 5 additions & 0 deletions .changeset/hip-shrimps-cheat.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Emit an extra event when withdrawals are initiated to make chainops easier
5 changes: 5 additions & 0 deletions .changeset/little-squids-invent.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/proxyd': patch
---

Unwrap single RPC batches
5 changes: 5 additions & 0 deletions .changeset/many-wasps-notice.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Fix portal deployment to have L2OutputOracle proxy address
5 changes: 5 additions & 0 deletions .changeset/modern-candles-obey.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Add watch task
5 changes: 5 additions & 0 deletions .changeset/pretty-boxes-thank.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Add harhdat forge contract verification support
5 changes: 5 additions & 0 deletions .changeset/quiet-books-design.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/proxyd': patch
---

Parameterize full RPC request logging
5 changes: 5 additions & 0 deletions .changeset/rare-suits-turn.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Update hardhat-forge dep, remove dead deps
5 changes: 5 additions & 0 deletions .changeset/slimy-spoons-repair.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

bedrock-goerli-96f44f79 deployment
5 changes: 5 additions & 0 deletions .changeset/smart-pumpkins-jam.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/foundry': patch
---

Update to 64fe4acc97e6d76551cea7598c201f05ecd65639
6 changes: 6 additions & 0 deletions .changeset/spotty-cameras-guess.md
@@ -0,0 +1,6 @@
---
'@eth-optimism/contracts-bedrock': patch
'@eth-optimism/core-utils': patch
---

Update deposit transaction type
5 changes: 5 additions & 0 deletions .changeset/wet-doors-collect.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/integration-tests': patch
---

Modularize the itests away from depending on api of messenger
5 changes: 5 additions & 0 deletions .changeset/wet-suns-develop.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-bedrock': patch
---

Fix typechain exports
5 changes: 5 additions & 0 deletions .changeset/wicked-impalas-wonder.md
@@ -0,0 +1,5 @@
---
'@eth-optimism/sdk': minor
---

Add wstETH to sdk
7 changes: 7 additions & 0 deletions .changeset/wise-ads-try.md
@@ -0,0 +1,7 @@
---
'@eth-optimism/sdk': minor
'@eth-optimism/contracts-bedrock': patch
'@eth-optimism/core-utils': patch
---

Updates the SDK to be compatible with Bedrock (via the "bedrock: true" constructor param). Updates the build pipeline for contracts-bedrock to export a properly formatted dist folder that matches our other packages.
47 changes: 23 additions & 24 deletions .circleci/config.yml
Expand Up @@ -15,7 +15,7 @@ jobs:
name: Check if we should run
command: |
shopt -s inherit_errexit
CHANGED=$(check-changed "packages/")
CHANGED=$(check-changed "(op-bindings|packages/)")
if [[ "$CHANGED" = "FALSE" ]]; then
circleci step halt
fi
Expand Down Expand Up @@ -141,7 +141,7 @@ jobs:
name: gas snapshot
command: |
forge --version
forge snapshot --check || exit 0
forge snapshot --check
environment:
FOUNDRY_PROFILE: ci
working_directory: packages/contracts-bedrock
Expand Down Expand Up @@ -277,14 +277,19 @@ jobs:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
name: yarn dev deps # todo: what's the best way to pull in the dependencies for linting? yarn install above is using production env without dev dependencies
command: yarn install --production=false
- run:
name: specs toc
command: yarn lint:specs:toc && git diff --exit-code
- run:
name: markdown lint
command: |
docker run -v `pwd`:/workdir davidanson/markdownlint-cli2:0.4.0 "op-node/README.md" "./specs/**/*.md" "#**/node_modules"
command: yarn lint:specs:check
- run:
name: link lint
command: |
docker run --init -it -v `pwd`:/input lycheeverse/lychee --verbose --no-progress --exclude-loopback --exclude twitter.com --exclude-mail /input/README.md "/input/specs/**/*.md" "/input/meta/**/*.md" "/input/op-node/**/*.md" || exit 0
docker run --init -it -v `pwd`:/input lycheeverse/lychee --verbose --no-progress --exclude-loopback --exclude twitter.com --exclude-mail /input/README.md "/input/specs/**/*.md"
fuzz-op-node:
docker:
Expand Down Expand Up @@ -449,17 +454,25 @@ jobs:
make devnet-up
- run:
name: Do a deposit
no_output_timeout: 5m
command: |
npx hardhat compile
npx hardhat deposit \
timeout 5m npx hardhat deposit \
--to 0xB79f76EF2c5F0286176833E7B2eEe103b1CC3244 \
--amount-eth 1 \
--private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
--network devnetL1
working_directory: packages/contracts-bedrock/contracts-bedrock
working_directory: packages/contracts-bedrock
- run:
name: Deposit ERC20 through the bridge
command: timeout 5m npx hardhat deposit --network devnetL1
working_directory: packages/sdk
- run:
name: Check the status
command: npx hardhat check-op-node
working_directory: packages/contracts-bedrock
- run:
command: echo "Deposit complete."
name: Check L2 Config
command: npx hardhat check-l2-config
working_directory: packages/contracts-bedrock

integration-tests:
machine:
Expand Down Expand Up @@ -691,20 +704,6 @@ workflows:
docker_context: ops/docker/hardhat
context:
- optimism
- docker-publish:
name: go-builder-release
docker_file: ops/docker/go-builder/Dockerfile
docker_tags: ethereumoptimism/go-builder:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: js-builder-release
docker_file: ops/docker/js-builder/Dockerfile
docker_tags: ethereumoptimism/js-builder:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: proxyd-release
docker_file: proxyd/Dockerfile
Expand Down
4 changes: 4 additions & 0 deletions Makefile
Expand Up @@ -93,3 +93,7 @@ semgrep:
$(eval DEV_REF := $(shell git rev-parse develop))
SEMGREP_REPO_NAME=ethereum-optimism/optimism semgrep ci --baseline-commit=$(DEV_REF)
.PHONY: semgrep

clean-node-modules:
rm -rf node_modules
rm -rf packages/**/node_modules
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -58,7 +58,7 @@ root
├── <a href="./teleportr">teleportr</a>: Bridge for teleporting ETH between L1 and L2 at low cost

~~ BEDROCK upgrade - Not production-ready yet, part of next major upgrade ~~
├── <a href="./contracts-bedrock">contracts-bedrock</a>: Bedrock smart contracts. To be merged with ./packages/contracts.
├── <a href="./packages/contracts-bedrock">packages/contracts-bedrock</a>: Bedrock smart contracts. To be merged with ./packages/contracts.
├── <a href="./op-bindings">op-bindings</a>: Go bindings for Bedrock smart contracts.
├── <a href="./op-batcher">op-batcher</a>: L2-Batch Submitter, submits bundles of batches to L1
├── <a href="./op-e2e">op-e2e</a>: End-to-End testing of all bedrock components in Go
Expand Down
36 changes: 36 additions & 0 deletions cloudbuild.yaml
@@ -0,0 +1,36 @@
steps:
- name: 'gcr.io/kaniko-project/executor:latest'
args:
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/op-node:$_TAG
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/op-node:$COMMIT_SHA
- --dockerfile=op-node/Dockerfile
- --cache=true
- --cache-ttl=48h
waitFor: ['-']
- name: 'gcr.io/kaniko-project/executor:latest'
args:
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/op-batcher:$_TAG
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/op-batcher:$COMMIT_SHA
- --dockerfile=./op-batcher/Dockerfile
- --cache=true
- --cache-ttl=48h
waitFor: ['-']
- name: 'gcr.io/kaniko-project/executor:latest'
args:
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/op-proposer:$_TAG
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/op-proposer:$COMMIT_SHA
- --dockerfile=./op-proposer/Dockerfile
- --cache=true
- --cache-ttl=48h
waitFor: ['-']
- name: 'gcr.io/kaniko-project/executor:latest'
args:
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/deployer-bedrock:$_TAG
- --destination=us-central1-docker.pkg.dev/$PROJECT_ID/images/deployer-bedrock:$COMMIT_SHA
- --dockerfile=./ops/docker/Dockerfile.packages
- --target=deployer-bedrock
- --cache=true
- --cache-ttl=48h
waitFor: ['-']
options:
machineType: N1_HIGHCPU_32
4 changes: 2 additions & 2 deletions go.work
Expand Up @@ -18,7 +18,7 @@ use (
./state-surgery
)

replace github.com/ethereum/go-ethereum v1.10.20 => github.com/ethereum-optimism/reference-optimistic-geth v0.0.0-20220715235548-70b02481016d
replace github.com/ethereum/go-ethereum v1.10.21 => github.com/ethereum-optimism/reference-optimistic-geth v0.0.0-20220803173305-1c9d4cc76a6e

// For local debugging:
//replace github.com/ethereum/go-ethereum v1.10.20 => ../go-ethereum
//replace github.com/ethereum/go-ethereum v1.10.21 => ../go-ethereum
1 change: 1 addition & 0 deletions go.work.sum
Expand Up @@ -15,6 +15,7 @@ cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJW
cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I=
github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE=
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
Expand Down
9 changes: 4 additions & 5 deletions integration-tests/test/queue-ingestion.spec.ts
Expand Up @@ -2,6 +2,7 @@
import { providers } from 'ethers'
import { applyL1ToL2Alias } from '@eth-optimism/core-utils'
import { asL2Provider } from '@eth-optimism/sdk'
import { getContractInterface } from '@eth-optimism/contracts'

/* Imports: External */
import { expect } from './shared/setup'
Expand Down Expand Up @@ -47,11 +48,9 @@ describe('Queue Ingestion', () => {
receipt.remoteTx.hash
)) as any

const params =
env.messenger.contracts.l2.L2CrossDomainMessenger.interface.decodeFunctionData(
'relayMessage',
l2Tx.data
)
const params = getContractInterface(
'L2CrossDomainMessenger'
).decodeFunctionData('relayMessage', l2Tx.data)

expect(params._sender.toLowerCase()).to.equal(
env.l1Wallet.address.toLowerCase()
Expand Down

0 comments on commit cb21d3f

Please sign in to comment.