Commit 042a5c24 authored by Mark Tyneway's avatar Mark Tyneway Committed by GitHub

Merge pull request #3009 from ethereum-optimism/develop

Develop -> Master PR
parents 9c0f2654 a60502f9
---
'@eth-optimism/sdk': minor
---
Update Goerli SDK addresses for new Goerli testnet
---
'@eth-optimism/ci-builder': patch
---
Fix publishing
---
'@eth-optimism/ci-builder': patch
---
Install new version of bash
...@@ -145,6 +145,24 @@ jobs: ...@@ -145,6 +145,24 @@ jobs:
name: storage snapshot name: storage snapshot
command: yarn storage-snapshot && git diff --exit-code .storage-layout command: yarn storage-snapshot && git diff --exit-code .storage-layout
working_directory: packages/contracts-bedrock working_directory: packages/contracts-bedrock
op-bindings-build:
docker:
- image: ethereumoptimism/ci-builder:latest
resource_class: medium
steps:
- restore_cache:
keys:
- v2-cache-yarn-build-{{ .Revision }}
- checkout
- run:
name: Check if we should run
command: |
shopt -s inherit_errexit
CHANGED=$(check-changed "(contracts-bedrock|op-bindings)")
if [[ "$CHANGED" = "FALSE" ]]; then
circleci step halt
fi
- run: - run:
name: check go bindings name: check go bindings
command: make && git diff --exit-code command: make && git diff --exit-code
...@@ -547,6 +565,9 @@ workflows: ...@@ -547,6 +565,9 @@ workflows:
- contracts-bedrock-tests: - contracts-bedrock-tests:
requires: requires:
- yarn-monorepo - yarn-monorepo
- op-bindings-build:
requires:
- yarn-monorepo
- js-lint-test: - js-lint-test:
name: contracts-governance-tests name: contracts-governance-tests
package_name: contracts-governance package_name: contracts-governance
......
...@@ -232,8 +232,8 @@ jobs: ...@@ -232,8 +232,8 @@ jobs:
- name: Publish ci-builder - name: Publish ci-builder
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
with: with:
context: . context: ./ops/docker/ci-builder
file: ./ops/docker/ci-builder/Dockerfile file: Dockerfile
push: true push: true
tags: ethereumoptimism/ci-builder:${{ needs.release.outputs.ci-builder }},ethereumoptimism/ci-builder:latest tags: ethereumoptimism/ci-builder:${{ needs.release.outputs.ci-builder }},ethereumoptimism/ci-builder:latest
......
...@@ -13,7 +13,7 @@ COPY --from=geth /usr/local/bin/abigen /usr/local/bin/abigen ...@@ -13,7 +13,7 @@ COPY --from=geth /usr/local/bin/abigen /usr/local/bin/abigen
COPY check-changed.sh /usr/local/bin/check-changed COPY check-changed.sh /usr/local/bin/check-changed
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y curl openssh-client git build-essential ca-certificates jq musl && \ apt-get install -y bash curl openssh-client git build-essential ca-certificates jq musl && \
curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh && \ curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh && \
curl -sL https://go.dev/dl/go1.18.2.linux-amd64.tar.gz -o go1.18.2.linux-amd64.tar.gz && \ curl -sL https://go.dev/dl/go1.18.2.linux-amd64.tar.gz -o go1.18.2.linux-amd64.tar.gz && \
tar -C /usr/local/ -xzvf go1.18.2.linux-amd64.tar.gz && \ tar -C /usr/local/ -xzvf go1.18.2.linux-amd64.tar.gz && \
...@@ -51,4 +51,8 @@ RUN echo "downloading solidity compilers" && \ ...@@ -51,4 +51,8 @@ RUN echo "downloading solidity compilers" && \
mkdir -p ~/.svm/0.8.10 && \ mkdir -p ~/.svm/0.8.10 && \
cp solc-linux-amd64-v0.8.10+commit.fc410830 ~/.svm/0.8.10/solc-0.8.10 && \ cp solc-linux-amd64-v0.8.10+commit.fc410830 ~/.svm/0.8.10/solc-0.8.10 && \
mkdir -p ~/.svm/0.8.12 && \ mkdir -p ~/.svm/0.8.12 && \
cp solc-linux-amd64-v0.8.12+commit.f00d7308 ~/.svm/0.8.12/solc-0.8.12 cp solc-linux-amd64-v0.8.12+commit.f00d7308 ~/.svm/0.8.12/solc-0.8.12 && \
rm solc-linux-amd64-v0.5.17+commit.d19bba13 && \
rm solc-linux-amd64-v0.8.9+commit.e5eed63a && \
rm solc-linux-amd64-v0.8.10+commit.fc410830 && \
rm solc-linux-amd64-v0.8.12+commit.f00d7308
...@@ -2,8 +2,7 @@ ...@@ -2,8 +2,7 @@
## Install ## Install
The repo currently uses a mix of typescript tests (run with HardHat) and solidity tests (run with Forge). The project The repo currently uses solidity tests (run with Forge). The project uses the default hardhat directory structure, and all build/test steps should be run using the yarn scripts to ensure
uses the default hardhat directory structure, and all build/test steps should be run using the yarn scripts to ensure
the correct options are set. the correct options are set.
Install node modules with yarn (v1), and Node.js (14+). Install node modules with yarn (v1), and Node.js (14+).
...@@ -22,28 +21,12 @@ yarn build ...@@ -22,28 +21,12 @@ yarn build
## Running Tests ## Running Tests
First get the dependencies:
`git submodule init` and `git submodule update`
Then the full test suite can be executed via `yarn`: Then the full test suite can be executed via `yarn`:
```shell ```shell
yarn test yarn test
``` ```
To run only typescript tests:
```shell
yarn test:hh
```
To run only solidity tests:
```shell
yarn test:forge
```
## Deployment ## Deployment
Create a file that corresponds to the network name in the `deploy-config` Create a file that corresponds to the network name in the `deploy-config`
...@@ -52,7 +35,7 @@ directory and then run the command: ...@@ -52,7 +35,7 @@ directory and then run the command:
```shell ```shell
L1_RPC=<ETHEREUM L1 RPC endpoint> \ L1_RPC=<ETHEREUM L1 RPC endpoint> \
PRIVATE_KEY_DEPLOYER=<PRIVATE KEY TO PAY FOR THE DEPLOYMENT> \ PRIVATE_KEY_DEPLOYER=<PRIVATE KEY TO PAY FOR THE DEPLOYMENT> \
npx hardhat deploy --network <network-name> npx hardhat deploy --network <network-name>
``` ```
In the `hardhat.config.ts`, there is a `deployConfigSpec` field that validates that the types In the `hardhat.config.ts`, there is a `deployConfigSpec` field that validates that the types
......
...@@ -84,15 +84,15 @@ export const CONTRACT_ADDRESSES: { ...@@ -84,15 +84,15 @@ export const CONTRACT_ADDRESSES: {
}, },
[L2ChainID.OPTIMISM_GOERLI]: { [L2ChainID.OPTIMISM_GOERLI]: {
l1: { l1: {
AddressManager: '0x2F7E3cAC91b5148d336BbffB224B4dC79F09f01D' as const, AddressManager: '0xfA5b622409E1782597952a4A78c1D34CF32fF5e2' as const,
L1CrossDomainMessenger: L1CrossDomainMessenger:
'0xEcC89b9EDD804850C4F343A278Be902be11AaF42' as const, '0x5086d1eEF304eb5284A0f6720f79403b4e9bE294' as const,
L1StandardBridge: '0x73298186A143a54c20ae98EEE5a025bD5979De02' as const, L1StandardBridge: '0x636Af16bf2f682dD3109e60102b8E1A089FedAa8' as const,
StateCommitmentChain: StateCommitmentChain:
'0x1afcA918eff169eE20fF8AB6Be75f3E872eE1C1A' as const, '0x72281826E90dD8A65Ab686fF254eb45Be426DD22' as const,
CanonicalTransactionChain: CanonicalTransactionChain:
'0x2ebA8c4EfDB39A8Cd8f9eD65c50ec079f7CEBD81' as const, '0x607F755149cFEB3a14E1Dc3A4E2450Cde7dfb04D' as const,
BondManager: '0xE5AE60bD6F8DEe4D0c2BC9268e23B92F1cacC58F' as const, BondManager: '0xfC2ab6987C578218f99E85d61Dcf4814A26637Bd' as const,
}, },
l2: DEFAULT_L2_CONTRACT_ADDRESSES, l2: DEFAULT_L2_CONTRACT_ADDRESSES,
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment