Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9153532
Merge pull request #3316 from ethereum-optimism/master
smartcontracts Aug 25, 2022
139b8aa
op-proposer,op-service: fix lint and update docs (#3318)
protolambda Aug 26, 2022
a1bea61
op-node: handle special engine RPC user-input error codes (#3319)
protolambda Aug 26, 2022
1571d2f
indexer: update l1/l2 filters for new events (#3317)
tuxcanfly Aug 26, 2022
ff7f2d3
indexer: rm state batch (#3323)
tuxcanfly Aug 26, 2022
0308fe4
op-node: fix withdrawals (#3326)
mslipper Aug 26, 2022
0230302
indexer: use bedrock events for finalization (#3324)
tuxcanfly Aug 26, 2022
9eea16e
op-node: poll for L1 safe and finalized data changes, deduplicate L2 …
protolambda Aug 26, 2022
c97312a
op-node: finalize L2 blocks based on finalized L1 inclusion, incl min…
protolambda Aug 26, 2022
61e353e
style(batch-submitter,bss-core,proxyd): Fix lint Go (#3328)
protolambda Aug 27, 2022
62b33e6
op-node: fix l2_safe missing metrics line (#3327)
protolambda Aug 27, 2022
f772f66
ci: Remove legacy nightlies (#3330)
mslipper Aug 28, 2022
38dd3fa
Fix: expired Discord link
omahs Sep 2, 2022
299157e
fix(ct): improve bundle size (#3337)
smartcontracts Sep 6, 2022
839f784
fix(ci): properly publish hardhat-node
smartcontracts Sep 6, 2022
0bb7568
bedrock: update to latest op-geth, based on geth master, after v1.10.…
protolambda Sep 6, 2022
5897528
chore: Upgrade to latest op-geth (#3347)
mslipper Sep 7, 2022
da66907
op-chain-ops,op-node,devnet: Deploy contracts into L1 genesis (#3333)
mslipper Sep 7, 2022
4aa822c
op-node: buffer unsafe payloads with priority queue [bedrock] (#3346)
protolambda Sep 7, 2022
ec6b05d
op-bindings: Add storage layout generation (#3351)
mslipper Sep 8, 2022
b1c2fe6
ops: Add script to automatically upgrade op-* dependencies
mslipper Sep 8, 2022
cd79e7f
Remove replace statement
mslipper Sep 8, 2022
c83f580
chore: Upgrade op-chain-ops dependencies
mslipper Sep 8, 2022
d35a812
chore: Upgrade op-node dependencies
mslipper Sep 8, 2022
38fe709
chore: Upgrade op-proposer dependencies
mslipper Sep 8, 2022
fa02258
chore: Upgrade op-batcher dependencies
mslipper Sep 8, 2022
d51d7ad
chore: Upgrade op-e2e dependencies
mslipper Sep 8, 2022
14e6783
Merge pull request #3355 from ethereum-optimism/feat/auto-upgrade-deps
mslipper Sep 8, 2022
f7323e0
chore: Upgrade foundry (#3354)
mslipper Sep 8, 2022
c3cbd74
op-chain-ops: MergeStorage deterministic storage results order (#3352)
protolambda Sep 8, 2022
1c787aa
op-node: Fix OPB-05, fix additional security issue (#3361)
mslipper Sep 8, 2022
9ea5921
op-node: Fix OPB-01 (#3360)
mslipper Sep 8, 2022
b73552e
fix(hive): fix CI, do not use op-contracts client in hive, go contrac…
protolambda Sep 8, 2022
83deb50
fix(op-node): do not use l2 driver before initialization (#3364)
protolambda Sep 8, 2022
21627e4
op-node: Switch to 128 bit channel ID & block # timeout (#3359)
trianglesphere Sep 9, 2022
c564e4e
op-node: Properly return error on bad hex data (#3365)
mslipper Sep 9, 2022
abaa065
Properly wrap errors (#3366)
trianglesphere Sep 9, 2022
fc5b005
Last unwrapped errors
trianglesphere Sep 9, 2022
c85a1d2
Merge pull request #3369 from ethereum-optimism/jg/err_wrap
tynes Sep 9, 2022
f4bf4f5
fix(ctp): use correct contract import paths (#3340)
smartcontracts Sep 9, 2022
dbfea11
feat(core): use ethers submodules (#3363)
smartcontracts Sep 9, 2022
c3e66e5
l2geth: add block tag to `eth_estimateGas`
tynes Sep 9, 2022
f927bc5
chore: Upgrade op-geth (#3379)
mslipper Sep 9, 2022
7f61f6e
op-chain-ops: Allow configurable dev accounts (#3381)
mslipper Sep 9, 2022
4e33d8f
chore: Upgrade op-chain-ops dependencies
mslipper Sep 9, 2022
2f6306f
chore: Upgrade op-node dependencies
mslipper Sep 9, 2022
6ebdce8
chore: Upgrade op-proposer dependencies
mslipper Sep 9, 2022
d0bb1f8
chore: Upgrade op-batcher dependencies
mslipper Sep 9, 2022
10a5612
chore: Upgrade op-e2e dependencies
mslipper Sep 9, 2022
df53a15
Merge pull request #3383 from ethereum-optimism/feat/upgrade-v0.8.6
mslipper Sep 9, 2022
bc4a155
Merge branch 'develop' into fix/l2-geth-estimate-gas-blocktag
tynes Sep 10, 2022
f311f98
op-node: Add additional command to generate L2 configs (#3385)
mslipper Sep 10, 2022
c0c1bea
Merge pull request #3334 from omahs/develop
tynes Sep 10, 2022
debd40f
Merge pull request #3378 from ethereum-optimism/fix/l2-geth-estimate-…
tynes Sep 10, 2022
6c0235a
Merge pull request #3339 from ethereum-optimism/sc/fix-hh-node-publish
tynes Sep 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/brave-garlics-sniff.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/l2geth': patch
---

Add the gas estimation block tag to `eth_estimateGas` to be RPC compliant
5 changes: 5 additions & 0 deletions .changeset/fifty-badgers-behave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts-periphery': patch
---

Fixes import paths in the contracts-periphery package
6 changes: 6 additions & 0 deletions .changeset/forty-radios-teach.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@eth-optimism/foundry': patch
'@eth-optimism/ci-builder': patch
---

Upgrade foundry to support consistent storage layouts
5 changes: 5 additions & 0 deletions .changeset/mighty-eagles-remember.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/core-utils': minor
---

Removes ethers as a dependency in favor of individual ethers sub-packages
5 changes: 5 additions & 0 deletions .changeset/tall-fans-cover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/contracts': patch
---

Significantly reduces contracts package bundle size
5 changes: 5 additions & 0 deletions .changeset/wild-feet-listen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@eth-optimism/hardhat-node': patch
---

Fixes CI to properly release the hardhat-node
163 changes: 24 additions & 139 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ jobs:
name: Check if we should run
command: |
shopt -s inherit_errexit
CHANGED=$(check-changed "op-(batcher|bindings|e2e|node|proposer)")
CHANGED=$(check-changed "op-(batcher|bindings|e2e|node|proposer|chain-ops)")
if [[ "$CHANGED" = "FALSE" ]]; then
circleci step halt
fi
Expand Down Expand Up @@ -255,6 +255,11 @@ jobs:
command: |
golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell ./...
working_directory: op-service
- run:
name: lint op-chain-ops
command: |
golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell ./...
working_directory: op-chain-ops
- run:
name: prep results dir
command: mkdir -p /test-results
Expand Down Expand Up @@ -283,6 +288,11 @@ jobs:
command: |
gotestsum --junitfile /test-results/op-service.xml -- -coverpkg=github.com/ethereum-optimism/optimism/... -coverprofile=coverage.out -covermode=atomic ./...
working_directory: op-service
- run:
name: test op-chain-ops
command: |
gotestsum --junitfile /test-results/op-chain-ops.xml -- -coverpkg=github.com/ethereum-optimism/optimism/... -coverprofile=coverage.out -covermode=atomic ./...
working_directory: op-chain-ops
- store_test_results:
path: /test-results
- run:
Expand Down Expand Up @@ -400,7 +410,7 @@ jobs:
fi
- run:
name: Lint
command: golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell ./...
command: golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell,errorlint -e "errors.As" -e "errors.Is" ./...
working_directory: <<parameters.working_directory>>
- store_test_results:
path: /test-results
Expand Down Expand Up @@ -497,19 +507,6 @@ jobs:
name: Bring up the stack
command: |
make devnet-up
- run:
name: Check L2 Config
command: npx hardhat check-l2-config --network devnetL1
working_directory: packages/contracts-bedrock
- run:
name: Do a deposit
command: |
timeout 5m npx hardhat deposit \
--to 0xB79f76EF2c5F0286176833E7B2eEe103b1CC3244 \
--amount-eth 1 \
--private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
--network devnetL1
working_directory: packages/contracts-bedrock
- run:
name: Deposit ERC20 through the bridge
command: timeout 5m npx hardhat deposit-erc20 --network devnetL1
Expand Down Expand Up @@ -631,7 +628,7 @@ jobs:
-sim=<<parameters.sim>> \
-sim.loglevel=5 \
-docker.pull=true \
-client=go-ethereum,op-geth_optimism-history,op-proposer_<<parameters.version>>,op-batcher_<<parameters.version>>,op-node_<<parameters.version>>,op-contracts_<<parameters.version>> |& tee /tmp/hive.log
-client=go-ethereum,op-geth_optimism-history,op-proposer_<<parameters.version>>,op-batcher_<<parameters.version>>,op-node_<<parameters.version>> |& tee /tmp/hive.log
- run:
command: |
tar -cvf /tmp/workspace.tgz -C /home/circleci/project /home/circleci/project/workspace
Expand Down Expand Up @@ -809,6 +806,17 @@ workflows:
- gcr
requires:
- contracts-bedrock-tests
- docker-publish:
name: contract-artifacts-bedrock-publish-dev
docker_file: ops/docker/Dockerfile.packages
docker_tags: us-central1-docker.pkg.dev/bedrock-goerli-development/images/contract-artifacts-bedrock:<<pipeline.git.revision>>
target: contract-artifacts-bedrock
docker_context: .
repo: us-central1-docker.pkg.dev
context:
- gcr
requires:
- contracts-bedrock-tests
- hive-test:
name: hive-test-rpc
version: <<pipeline.git.revision>>
Expand Down Expand Up @@ -836,126 +844,3 @@ workflows:
- op-batcher-publish-dev
- op-proposer-publish-dev
- deployer-bedrock-publish-dev


nightly:
triggers:
- schedule:
cron: "0 10 * * *"
filters:
branches:
only:
- develop
jobs:
- yarn-monorepo
- docker-publish:
name: l2geth-release
docker_file: l2geth/Dockerfile
docker_tags: ethereumoptimism/l2geth:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: gas-oracle-release
docker_file: gas-oracle/Dockerfile
docker_tags: ethereumoptimism/gas-oracle:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: hardhat-node-release
docker_file: ops/docker/hardhat/Dockerfile
docker_tags: ethereumoptimism/hardhat-node:nightly
docker_context: ops/docker/hardhat
context:
- optimism
- docker-publish:
name: proxyd-release
docker_file: proxyd/Dockerfile
docker_tags: ethereumoptimism/proxyd:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: l2geth-exporter-release
docker_file: l2geth-exporter/Dockerfile
docker_tags: ethereumoptimism/l2geth-exporter:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: op-exporter-release
docker_file: op-exporter/Dockerfile
docker_tags: ethereumoptimism/op-exporter:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: fault-detector-release
docker_file: ops/docker/Dockerfile.packages
docker_tags: ethereumoptimism/fault-detector:nightly
docker_context: .
target: fault-detector
context:
- optimism
- docker-publish:
name: drippie-mon-release
docker_file: ops/docker/Dockerfile.packages
docker_tags: ethereumoptimism/drippie-mon:nightly
docker_context: .
target: drippie-mon
context:
- optimism
- docker-publish:
name: message-relayer-release
docker_file: ops/docker/Dockerfile.packages
docker_tags: ethereumoptimism/message-relayer:nightly
docker_context: .
target: message-relayer
context:
- optimism
- docker-publish:
name: data-transport-layer-release
docker_file: ops/docker/Dockerfile.packages
docker_tags: ethereumoptimism/data-transport-layer:nightly
docker_context: .
target: data-transport-layer
context:
- optimism
- docker-publish:
name: integration-tests-release
docker_file: ops/docker/Dockerfile.packages
docker_tags: ethereumoptimism/integration-tests:nightly
docker_context: .
target: integration-tests
context:
- optimism
- docker-publish:
name: replica-healthcheck-release
docker_file: ops/docker/Dockerfile.packages
docker_tags: ethereumoptimism/replica-healthcheck:nightly
docker_context: .
target: replica-healthcheck
context:
- optimism
- docker-publish:
name: batch-submitter-service-release
docker_file: batch-submitter/Dockerfile
docker_tags: ethereumoptimism/batch-submitter-service:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: indexer-release
docker_file: indexer/Dockerfile
docker_tags: ethereumoptimism/indexer:nightly
docker_context: .
context:
- optimism
- docker-publish:
name: teleportr-release
docker_file: teleportr/Dockerfile
docker_tags: ethereumoptimism/teleportr:nightly
docker_context: .
context:
- optimism
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ jobs:
hardhat-node:
name: Publish Hardhat Node ${{ needs.release.outputs.hardhat-node }}
needs: release
if: needs.release.hardhat-node != ''
if: needs.release.outputs.hardhat-node != ''
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sync-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
if: failure()
uses: jwalton/gh-docker-logs@v1
with:
images: 'ethereumoptimism/hardhat,ethereumoptimism/deployer,ethereumoptimism/data-transport-layer,ethereumoptimism/l2geth,ethereumoptimism/message-relayer,ethereumoptimism/batch-submitter,ethereumoptimism/l2geth'
images: 'ethereumoptimism/hardhat-node,ethereumoptimism/deployer,ethereumoptimism/data-transport-layer,ethereumoptimism/l2geth,ethereumoptimism/message-relayer,ethereumoptimism/batch-submitter,ethereumoptimism/l2geth'
dest: './logs'

- name: Tar logs
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ There are plenty of ways to contribute, in particular we appreciate support in t
- Reporting issues. For security issues see [Security policy](https://github.com/ethereum-optimism/.github/blob/master/SECURITY.md).
- Fixing and responding to existing issues. You can start off with those tagged ["good first issue"](https://github.com/ethereum-optimism/optimism/contribute) which are meant as introductory issues for external contributors.
- Improving the [community site](https://community.optimism.io/)[documentation](https://github.com/ethereum-optimism/community-hub) and [tutorials](https://github.com/ethereum-optimism/optimism-tutorial).
- Become an "Optimizer" and answer questions in the [Optimism Discord](https://discord.com/invite/jrnFEvq).
- Become an "Optimizer" and answer questions in the [Optimism Discord](https://discord.optimism.io).
- Get involved in the protocol design process by proposing changes or new features or write parts of the spec yourself in the [optimistic-specs repo](https://github.com/ethereum-optimism/optimistic-specs).

Note that we have a [Code of Conduct](https://github.com/ethereum-optimism/.github/blob/master/CODE_OF_CONDUCT.md), please follow it in all your interactions with the project.
Expand Down
29 changes: 4 additions & 25 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,15 @@ mod-tidy:
# Below GOPRIVATE line allows mod-tidy to be run immediately after
# releasing new versions. This bypasses the Go modules proxy, which
# can take a while to index new versions.
#
#
# See https://proxy.golang.org/ for more info.
export GOPRIVATE="github.com/ethereum-optimism" && \
cd ./op-service && go mod tidy && cd .. && \
cd ./op-node && go mod tidy && cd .. && \
cd ./op-proposer && go mod tidy && cd .. && \
cd ./op-batcher && go mod tidy && cd .. && \
cd ./op-bindings && go mod tidy && cd .. && \
cd ./op-chain-ops && go mod tidy && cd .. && \
cd ./op-e2e && go mod tidy && cd ..
.PHONY: mod-tidy

Expand Down Expand Up @@ -108,27 +109,5 @@ clean-node-modules:


tag-bedrock-go-modules:
@if [ -z "$(VERSION)" ]; then \
echo "You must specify a version."; \
exit 0; \
fi

@FIRST_CHAR=$(shell printf '%s' "$(VERSION)" | cut -c1); \
if [ "$$FIRST_CHAR" != "v" ]; then \
echo "Tag must start with v."; \
exit 0; \
fi

git tag "op-proposer/$(VERSION)"
git tag "op-node/$(VERSION)"
git tag "op-e2e/$(VERSION)"
git tag "op-bindings/$(VERSION)"
git tag "op-batcher/$(VERSION)"
git tag "op-service/$(VERSION)"
git push $(BEDROCK_TAGS_REMOTE) "op-proposer/$(VERSION)"
git push $(BEDROCK_TAGS_REMOTE) "op-node/$(VERSION)"
git push $(BEDROCK_TAGS_REMOTE) "op-e2e/$(VERSION)"
git push $(BEDROCK_TAGS_REMOTE) "op-bindings/$(VERSION)"
git push $(BEDROCK_TAGS_REMOTE) "op-batcher/$(VERSION)"
git push $(BEDROCK_TAGS_REMOTE) "op-service/$(VERSION)"

./ops/scripts/tag-bedrock-go-modules.sh $(BEDROCK_TAGS_REMOTE) $(VERSION)
.PHONY: tag-bedrock-go-modules
44 changes: 22 additions & 22 deletions batch-submitter/drivers/sequencer/encoding.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ func (c BatchContext) MarkerBatchType() BatchType {

// Write encodes the BatchContext into a 16-byte stream using the following
// encoding:
// - num_sequenced_txs: 3 bytes
// - num_subsequent_queue_txs: 3 bytes
// - timestamp: 5 bytes
// - block_number: 5 bytes
// - num_sequenced_txs: 3 bytes
// - num_subsequent_queue_txs: 3 bytes
// - timestamp: 5 bytes
// - block_number: 5 bytes
//
// Note that writing to a bytes.Buffer cannot
// error, so errors are ignored here
Expand All @@ -85,10 +85,10 @@ func (c *BatchContext) Write(w *bytes.Buffer) {
// Read decodes the BatchContext from the passed reader. If fewer than 16-bytes
// remain, an error is returned. Otherwise the first 16-bytes will be read using
// the expected encoding:
// - num_sequenced_txs: 3 bytes
// - num_subsequent_queue_txs: 3 bytes
// - timestamp: 5 bytes
// - block_number: 5 bytes
// - num_sequenced_txs: 3 bytes
// - num_subsequent_queue_txs: 3 bytes
// - timestamp: 5 bytes
// - block_number: 5 bytes
func (c *BatchContext) Read(r io.Reader) error {
if err := readUint64(r, &c.NumSequencedTxs, 3); err != nil {
return err
Expand Down Expand Up @@ -188,13 +188,13 @@ type AppendSequencerBatchParams struct {
}

// Write encodes the AppendSequencerBatchParams using the following format:
// - should_start_at_element: 5 bytes
// - total_elements_to_append: 3 bytes
// - num_contexts: 3 bytes
// - num_contexts * batch_context: num_contexts * 16 bytes
// - [num txs omitted]
// - tx_len: 3 bytes
// - tx_bytes: tx_len bytes
// - should_start_at_element: 5 bytes
// - total_elements_to_append: 3 bytes
// - num_contexts: 3 bytes
// - num_contexts * batch_context: num_contexts * 16 bytes
// - [num txs omitted]
// - tx_len: 3 bytes
// - tx_bytes: tx_len bytes
//
// Typed batches include a dummy context as the first context
// where the timestamp is 0. The blocknumber is interpreted
Expand Down Expand Up @@ -288,13 +288,13 @@ func (p *AppendSequencerBatchParams) Serialize(
// stream does not terminate cleanly with an EOF while reading a tx_len, this
// method will return an error. Otherwise, the stream will be parsed according
// to the following format:
// - should_start_at_element: 5 bytes
// - total_elements_to_append: 3 bytes
// - num_contexts: 3 bytes
// - num_contexts * batch_context: num_contexts * 16 bytes
// - [num txs omitted]
// - tx_len: 3 bytes
// - tx_bytes: tx_len bytes
// - should_start_at_element: 5 bytes
// - total_elements_to_append: 3 bytes
// - num_contexts: 3 bytes
// - num_contexts * batch_context: num_contexts * 16 bytes
// - [num txs omitted]
// - tx_len: 3 bytes
// - tx_bytes: tx_len bytes
func (p *AppendSequencerBatchParams) Read(r io.Reader) error {
if err := readUint64(r, &p.ShouldStartAtElement, 5); err != nil {
return err
Expand Down
Loading